Skip to content
Snippets Groups Projects
Commit 516090f6 authored by Ralf Jung's avatar Ralf Jung
Browse files

swap lemma directions and adjust names; add and/or versions

parent dd96c209
No related branches found
No related tags found
1 merge request!347add bool_decide_negb
Pipeline #58446 passed
...@@ -192,8 +192,6 @@ Proof. case_bool_decide; intuition discriminate. Qed. ...@@ -192,8 +192,6 @@ Proof. case_bool_decide; intuition discriminate. Qed.
Lemma bool_decide_iff (P Q : Prop) `{Decision P, Decision Q} : Lemma bool_decide_iff (P Q : Prop) `{Decision P, Decision Q} :
(P Q) bool_decide P = bool_decide Q. (P Q) bool_decide P = bool_decide Q.
Proof. repeat case_bool_decide; tauto. Qed. Proof. repeat case_bool_decide; tauto. Qed.
Lemma bool_decide_negb P `{Decision P} : negb (bool_decide P) = bool_decide (not P).
Proof. repeat case_bool_decide; intuition. Qed.
Lemma bool_decide_eq_true_1 P `{!Decision P}: bool_decide P = true P. Lemma bool_decide_eq_true_1 P `{!Decision P}: bool_decide P = true P.
Proof. apply bool_decide_eq_true. Qed. Proof. apply bool_decide_eq_true. Qed.
...@@ -205,6 +203,16 @@ Proof. apply bool_decide_eq_false. Qed. ...@@ -205,6 +203,16 @@ Proof. apply bool_decide_eq_false. Qed.
Lemma bool_decide_eq_false_2 P `{!Decision P}: ¬P bool_decide P = false. Lemma bool_decide_eq_false_2 P `{!Decision P}: ¬P bool_decide P = false.
Proof. apply bool_decide_eq_false. Qed. Proof. apply bool_decide_eq_false. Qed.
Lemma bool_decide_not P `{Decision P} :
bool_decide (¬ P) = negb (bool_decide P).
Proof. repeat case_bool_decide; intuition. Qed.
Lemma bool_decide_or P Q `{Decision P, Decision Q} :
bool_decide (P Q) = bool_decide P || bool_decide Q.
Proof. repeat case_bool_decide; intuition. Qed.
Lemma bool_decide_and P Q `{Decision P, Decision Q} :
bool_decide (P Q) = bool_decide P && bool_decide Q.
Proof. repeat case_bool_decide; intuition. Qed.
(** The tactic [compute_done] solves the following kinds of goals: (** The tactic [compute_done] solves the following kinds of goals:
- Goals [P] where [Decidable P] can be derived. - Goals [P] where [Decidable P] can be derived.
- Goals that compute to [True] or [x = x]. - Goals that compute to [True] or [x = x].
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment