]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/basic_2/reduction/crr.ma
- commit of the "reduction" component with two additions ...
[helm.git] / matita / matita / contribs / lambdadelta / basic_2 / reduction / crr.ma
index 01ed1dbabc8b31873ef939c2cacd1c9232ebe9ef..79d9269b377dd27054c969c0a3e1f8aafc4bb9d8 100644 (file)
@@ -29,7 +29,7 @@ definition ib2: relation2 bool bind2 ≝
 (* activate genv *)
 (* reducible terms *)
 inductive crr (G:genv): relation2 lenv term ≝
-| crr_delta  : ∀L,K,V,i. ⇩[0, i] L ≡ K.ⓓV → crr G L (#i)
+| crr_delta  : ∀L,K,V,i. ⇩[i] L ≡ K.ⓓV → crr G L (#i)
 | crr_appl_sn: ∀L,V,T. crr G L V → crr G L (ⓐV.T)
 | crr_appl_dx: ∀L,V,T. crr G L T → crr G L (ⓐV.T)
 | crr_ri2    : ∀I,L,V,T. ri2 I → crr G L (②{I}V.T)
@@ -62,9 +62,9 @@ lemma crr_inv_sort: ∀G,L,k. ⦃G, L⦄ ⊢ 𝐑⦃⋆k⦄ → ⊥.
 /2 width=6 by crr_inv_sort_aux/ qed-.
 
 fact crr_inv_lref_aux: ∀G,L,T,i. ⦃G, L⦄ ⊢ 𝐑⦃T⦄ → T = #i →
-                       ∃∃K,V. ⇩[0, i] L ≡ K.ⓓV.
+                       ∃∃K,V. ⇩[i] L ≡ K.ⓓV.
 #G #L #T #j * -L -T
-[ #L #K #V #i #HLK #H destruct /2 width=3/
+[ #L #K #V #i #HLK #H destruct /2 width=3 by ex1_2_intro/
 | #L #V #T #_ #H destruct
 | #L #V #T #_ #H destruct
 | #I #L #V #T #_ #H destruct
@@ -75,7 +75,7 @@ fact crr_inv_lref_aux: ∀G,L,T,i. ⦃G, L⦄ ⊢ 𝐑⦃T⦄ → T = #i →
 ]
 qed-.
 
-lemma crr_inv_lref: ∀G,L,i. ⦃G, L⦄ ⊢ 𝐑⦃#i⦄ → ∃∃K,V. ⇩[0, i] L ≡ K.ⓓV.
+lemma crr_inv_lref: ∀G,L,i. ⦃G, L⦄ ⊢ 𝐑⦃#i⦄ → ∃∃K,V. ⇩[i] L ≡ K.ⓓV.
 /2 width=4 by crr_inv_lref_aux/ qed-.
 
 fact crr_inv_gref_aux: ∀G,L,T,p. ⦃G, L⦄ ⊢ 𝐑⦃T⦄ → T = §p → ⊥.
@@ -112,8 +112,8 @@ fact crr_inv_ib2_aux: ∀a,I,G,L,W,U,T. ib2 a I → ⦃G, L⦄ ⊢ 𝐑⦃T⦄ 
 | #I #L #V #T #H1 #H2 destruct
   elim H1 -H1 #H destruct
   elim HI -HI #H destruct
-| #a #I #L #V #T #_ #HV #H destruct /2 width=1/
-| #a #I #L #V #T #_ #HT #H destruct /2 width=1/
+| #a #I #L #V #T #_ #HV #H destruct /2 width=1 by or_introl/
+| #a #I #L #V #T #_ #HT #H destruct /2 width=1 by or_intror/
 | #a #L #V #W #T #H destruct
 | #a #L #V #W #T #H destruct
 ]
@@ -127,8 +127,8 @@ fact crr_inv_appl_aux: ∀G,L,W,U,T. ⦃G, L⦄ ⊢ 𝐑⦃T⦄ → T = ⓐW.U 
                        ∨∨ ⦃G, L⦄ ⊢ 𝐑⦃W⦄ | ⦃G, L⦄ ⊢ 𝐑⦃U⦄ | (𝐒⦃U⦄ → ⊥).
 #G #L #W0 #U #T * -L -T
 [ #L #K #V #i #_ #H destruct
-| #L #V #T #HV #H destruct /2 width=1/
-| #L #V #T #HT #H destruct /2 width=1/
+| #L #V #T #HV #H destruct /2 width=1 by or3_intro0/
+| #L #V #T #HT #H destruct /2 width=1 by or3_intro1/
 | #I #L #V #T #H1 #H2 destruct
   elim H1 -H1 #H destruct
 | #a #I #L #V #T #_ #_ #H destruct