X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fgrammar%2Fitem.ma;h=99260ba797a31f4337c78d4782a4aeb490a76621;hb=67c5cf7ae14c745a94defbe645c5406ccbcf514d;hp=df330a7df56c63dce10e67980081351afb4acee4;hpb=0c7129d74ba0bfbdf7f71ffcf46a8c8c93e7df14;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/grammar/item.ma b/matita/matita/contribs/lambdadelta/basic_2/grammar/item.ma index df330a7df..99260ba79 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/grammar/item.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/grammar/item.ma @@ -12,6 +12,7 @@ (* *) (**************************************************************************) +include "ground_2/lib/bool.ma". include "ground_2/lib/arith.ma". (* ITEMS ********************************************************************) @@ -43,16 +44,35 @@ inductive item2: Type[0] ≝ (* Basic properties *********************************************************) -axiom eq_item0_dec: ∀I1,I2:item0. Decidable (I1 = I2). +lemma eq_item0_dec: ∀I1,I2:item0. Decidable (I1 = I2). +* #i1 * #i2 [2,3,4,6,7,8: @or_intror #H destruct ] +elim (eq_nat_dec i1 i2) /2 width=1 by or_introl/ +#Hni12 @or_intror #H destruct /2 width=1 by/ +qed-. (* Basic_1: was: bind_dec *) -axiom eq_bind2_dec: ∀I1,I2:bind2. Decidable (I1 = I2). +lemma eq_bind2_dec: ∀I1,I2:bind2. Decidable (I1 = I2). +* * /2 width=1 by or_introl/ +@or_intror #H destruct +qed-. (* Basic_1: was: flat_dec *) -axiom eq_flat2_dec: ∀I1,I2:flat2. Decidable (I1 = I2). +lemma eq_flat2_dec: ∀I1,I2:flat2. Decidable (I1 = I2). +* * /2 width=1 by or_introl/ +@or_intror #H destruct +qed-. (* Basic_1: was: kind_dec *) -axiom eq_item2_dec: ∀I1,I2:item2. Decidable (I1 = I2). +lemma eq_item2_dec: ∀I1,I2:item2. Decidable (I1 = I2). +* [ #a1 ] #I1 * [1,3: #a2 ] #I2 +[2,3: @or_intror #H destruct +| elim (eq_bool_dec a1 a2) #Ha + [ elim (eq_bind2_dec I1 I2) /2 width=1 by or_introl/ #HI ] + @or_intror #H destruct /2 width=1 by/ +| elim (eq_flat2_dec I1 I2) /2 width=1 by or_introl/ #HI + @or_intror #H destruct /2 width=1 by/ +] +qed-. (* Basic_1: removed theorems 21: s_S s_plus s_plus_sym s_minus minus_s_s s_le s_lt s_inj s_inc