X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground_2%2Flib%2Fbool.ma;h=1a91e6ec477f909cd0af1b45b6b1a739bce7292b;hb=4b1dee70d9f24b47ab1f93cf1e63862b7b71a645;hp=fed25ceda5ee8ce17d1c23c3e6e76e36401b5a8a;hpb=928cfe1ebf2fbd31731c8851cdec70802596016d;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/ground_2/lib/bool.ma b/matita/matita/contribs/lambdadelta/ground_2/lib/bool.ma index fed25ceda..1a91e6ec4 100644 --- a/matita/matita/contribs/lambdadelta/ground_2/lib/bool.ma +++ b/matita/matita/contribs/lambdadelta/ground_2/lib/bool.ma @@ -13,6 +13,7 @@ (**************************************************************************) include "basics/bool.ma". +include "ground_2/lib/star.ma". include "ground_2/notation/constructors/no_0.ma". include "ground_2/notation/constructors/yes_0.ma". @@ -22,9 +23,37 @@ interpretation "boolean false" 'no = false. interpretation "boolean true" 'yes = true. -lemma orb_false_r: ∀b1,b2:bool. (b1 ∨ b2) = false → b1 = false ∧ b2 = false. -* normalize /2 width=1 by conj/ #b2 #H destruct -qed-. +(* Basic properties *********************************************************) lemma commutative_orb: commutative … orb. * * // qed. + +lemma orb_true_dx: ∀b. (b ∨ Ⓣ) = Ⓣ. +* // qed. + +lemma orb_true_sn: ∀b. (Ⓣ ∨ b) = Ⓣ. +// qed. + +lemma commutative_andb: commutative … andb. +* * // qed. + +lemma andb_false_dx: ∀b. (b ∧ Ⓕ) = Ⓕ. +* // qed. + +lemma andb_false_sn: ∀b. (Ⓕ ∧ b) = Ⓕ. +// qed. + +lemma eq_bool_dec: ∀b1,b2:bool. Decidable (b1 = b2). +* * /2 width=1 by or_introl/ +@or_intror #H destruct +qed-. + +(* Basic inversion lemmas ***************************************************) + +lemma orb_inv_false_dx: ∀b1,b2:bool. (b1 ∨ b2) = Ⓕ → b1 = Ⓕ ∧ b2 = Ⓕ. +* normalize /2 width=1 by conj/ #b2 #H destruct +qed-. + +lemma andb_inv_true_dx: ∀b1,b2:bool. (b1 ∧ b2) = Ⓣ → b1 = Ⓣ ∧ b2 = Ⓣ. +* normalize /2 width=1 by conj/ #b2 #H destruct +qed-.