aboutsummaryrefslogtreecommitdiffstats
path: root/src/hls/Predicate.v
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2023-05-05 14:53:55 +0100
committerYann Herklotz <git@yannherklotz.com>2023-05-05 14:53:55 +0100
commit7cf1299868eb063eaeac782f9c10406059337be3 (patch)
tree73edaae68f2f6cf166038ae27cdbd5cbe1c463dc /src/hls/Predicate.v
parentf7566f5880d7b41e22468c77d61983c556014bd4 (diff)
downloadvericert-7cf1299868eb063eaeac782f9c10406059337be3.tar.gz
vericert-7cf1299868eb063eaeac782f9c10406059337be3.zip
Try and prove equivalence of predicated things
Diffstat (limited to 'src/hls/Predicate.v')
-rw-r--r--src/hls/Predicate.v8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/hls/Predicate.v b/src/hls/Predicate.v
index f99fa4f..08ce47b 100644
--- a/src/hls/Predicate.v
+++ b/src/hls/Predicate.v
@@ -737,6 +737,14 @@ Proof.
rewrite <- simplify_correct. eauto.
Qed.
+Lemma equiv_check_destr :
+ forall p1 p2 p1' p2',
+ Pand p1 p2 == Pand p1' p2' ->
+ p1 == p1' /\ p2 == p2'
+ \/ p1 == p2' /\ p2 == p1'.
+Proof.
+ induction p1. intros; cbn in *; unfold sat_equiv in *; cbn in *.
+
Opaque simplify.
Opaque simplify'.