X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fgrammar%2Fitem.ma;h=ab861be57187a8405c5fcad6e59ff7cecf6112f2;hb=064980eacc2efe70ffee96134d75dfa37506fc36;hp=99260ba797a31f4337c78d4782a4aeb490a76621;hpb=67c5cf7ae14c745a94defbe645c5406ccbcf514d;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 99260ba79..ab861be57 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/grammar/item.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/grammar/item.ma @@ -42,12 +42,18 @@ inductive item2: Type[0] ≝ | Flat2: flat2 → item2 (* non-binding item *) . +(* Basic inversion lemmas ***************************************************) + +fact destruct_sort_sort_aux: ∀s1,s2. Sort s1 = Sort s2 → s1 = s2. +#s1 #s2 #H destruct // +qed-. + (* Basic properties *********************************************************) 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/ +[2: elim (eq_nat_dec i1 i2) |1,3: 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 *) @@ -64,9 +70,9 @@ qed-. (* Basic_1: was: kind_dec *) lemma eq_item2_dec: ∀I1,I2:item2. Decidable (I1 = I2). -* [ #a1 ] #I1 * [1,3: #a2 ] #I2 +* [ #p1 ] #I1 * [1,3: #p2 ] #I2 [2,3: @or_intror #H destruct -| elim (eq_bool_dec a1 a2) #Ha +| elim (eq_bool_dec p1 p2) #Hp [ 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