aboutsummaryrefslogtreecommitdiff
path: root/src/Util
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2018-10-29 16:45:10 -0400
committerGravatar Jason Gross <jgross@mit.edu>2018-10-29 16:45:10 -0400
commit063c874f4bd87911cff3466542d599b579f2ff2d (patch)
tree11971998bd4a6c124584728ad0ba657eec6c127d /src/Util
parentc706f79e31c362c282c7ba991bb364853f06e94b (diff)
Add some lemmas about ex, and, eq
Diffstat (limited to 'src/Util')
-rw-r--r--src/Util/Logic/ExistsEqAnd.v26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/Util/Logic/ExistsEqAnd.v b/src/Util/Logic/ExistsEqAnd.v
new file mode 100644
index 000000000..27f08eb89
--- /dev/null
+++ b/src/Util/Logic/ExistsEqAnd.v
@@ -0,0 +1,26 @@
+Require Import Crypto.Util.FixCoqMistakes.
+Require Import Crypto.Util.Tactics.DestructHead.
+
+Local Ltac t :=
+ repeat first [ progress destruct_head'_ex
+ | progress destruct_head'_and
+ | progress intros
+ | progress subst
+ | assumption
+ | progress repeat esplit ].
+
+Lemma ex_and_eq_l_iff {A P x}
+ : (exists y : A, y = x /\ P y) <-> P x.
+Proof. t. Qed.
+
+Lemma ex_and_eq_r_iff {A P x}
+ : (exists y : A, x = y /\ P y) <-> P x.
+Proof. t. Qed.
+
+Lemma ex_eq_and_l_iff {A P x}
+ : (exists y : A, P y /\ y = x) <-> P x.
+Proof. t. Qed.
+
+Lemma ex_eq_and_r_iff {A P x}
+ : (exists y : A, P y /\ x = y) <-> P x.
+Proof. t. Qed.