]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/basic_2/rt_computation/lfpxs.ma
long awaited update in basic_2
[helm.git] / matita / matita / contribs / lambdadelta / basic_2 / rt_computation / lfpxs.ma
index 7e1b3291553ecfa0b71d127650980a3967f70f5f..fc6ad071e992f58ac0fb599fda13798619b255bb 100644 (file)
 (**************************************************************************)
 
 include "basic_2/notation/relations/predtysnstar_5.ma".
+include "basic_2/i_static/tc_lfxs.ma".
 include "basic_2/rt_transition/lfpx.ma".
 
 (* UNCOUNTED PARALLEL RT-COMPUTATION FOR LOCAL ENV.S ON REFERRED ENTRIES ****)
 
 definition lfpxs: ∀h. relation4 genv term lenv lenv ≝
-                  λh,G,T. TC … (lfpx h G T).
+                  λh,G. tc_lfxs (cpx h G).
 
 interpretation
    "uncounted parallel rt-computation on referred entries (local environment)"
@@ -30,25 +31,26 @@ interpretation
 lemma lfpx_lfpxs: ∀h,G,T,L1,L2. ⦃G, L1⦄ ⊢ ⬈[h, T] L2 → ⦃G, L1⦄ ⊢ ⬈*[h, T] L2.
 /2 width=1 by inj/ qed.
 
-(* Basic_2A1: was just: lpxs_strap1 *)
-lemma lfpxs_strap1: ∀h,G,T,L1,L,L2. ⦃G, L1⦄ ⊢ ⬈*[h, T] L → ⦃G, L⦄ ⊢ ⬈[h, T] L2 → ⦃G, L1⦄ ⊢ ⬈*[h, T] L2.
-/2 width=3 by step/ qed.
+lemma lfpxs_step_dx: ∀h,G,T,L1,L,L2. ⦃G, L1⦄ ⊢ ⬈*[h, T] L → ⦃G, L⦄ ⊢ ⬈[h, T] L2 → ⦃G, L1⦄ ⊢ ⬈*[h, T] L2.
+/2 width=3 by tc_lfxs_step_dx/ qed.
 
-(* Basic_2A1: was just: lpxs_strap2 *)
-lemma lfpxs_strap2: ∀h,G,T,L1,L,L2. ⦃G, L1⦄ ⊢ ⬈[h, T] L → ⦃G, L⦄ ⊢ ⬈*[h, T] L2 → ⦃G, L1⦄ ⊢ ⬈*[h, T] L2.
-/2 width=3 by TC_strap/ qed.
-(*
-(* Basic_2A1: was just: lpxs_pair_refl *)
-lemma lfpxs_pair_refl: ∀h,G,T,L1,L2. ⦃G, L1⦄ ⊢ ⬈*[h, T] L2 → ∀I,V. ⦃G, L1.ⓑ{I}V⦄ ⊢ ⬈*[h, T] L2.ⓑ{I}V.
-/2 width=1 by TC_lpx_sn_pair_refl/ qed.
+lemma lfpxs_step_sn: ∀h,G,T,L1,L,L2. ⦃G, L1⦄ ⊢ ⬈[h, T] L → ⦃G, L⦄ ⊢ ⬈*[h, T] L2 → ⦃G, L1⦄ ⊢ ⬈*[h, T] L2.
+/2 width=3 by tc_lfxs_step_sn/ qed.
 
 (* Basic inversion lemmas ***************************************************)
 
-(* Basic_2A1: was just: lpxs_inv_atom1 *)
-lemma lfpxs_inv_atom1: ∀h,G,L2.T. ⦃G, ⋆⦄ ⊢ ⬈*[h, T] L2 → L2 = ⋆.
-/2 width=2 by TC_lpx_sn_inv_atom1/ qed-.
+(* Basic_2A1: uses: lpxs_inv_atom1 *)
+lemma lfpxs_inv_atom1: ∀h,I,G,L2. ⦃G, ⋆⦄ ⊢ ⬈*[h, ⓪{I}] L2 → L2 = ⋆.
+/2 width=3 by tc_lfxs_inv_atom_sn/ qed-.
 
-(* Basic_2A1: was just: lpxs_inv_atom2 *)
-lemma lfpxs_inv_atom2: ∀h,G,L1,T. ⦃G, L1⦄ ⊢ ⬈*[h, T] ⋆ → L1 = ⋆.
-/2 width=2 by TC_lpx_sn_inv_atom2/ qed-.
-*)
\ No newline at end of file
+(* Basic_2A1: uses: lpxs_inv_atom2 *)
+lemma lfpxs_inv_atom2: ∀h,I,G,L1. ⦃G, L1⦄ ⊢ ⬈*[h, ⓪{I}] ⋆ → L1 = ⋆.
+/2 width=3 by tc_lfxs_inv_atom_dx/ qed-.
+
+(* Basic forward lemmas *****************************************************)
+
+lemma lfpxs_fwd_pair_sn: ∀h,I,G,L1,L2,V,T. ⦃G, L1⦄ ⊢ ⬈*[h, ②{I}V.T] L2 → ⦃G, L1⦄ ⊢ ⬈*[h, V] L2.
+/2 width=3 by tc_lfxs_fwd_pair_sn/ qed-.
+
+lemma lfpxs_fwd_flat_dx: ∀h,I,G,L1,L2,V,T. ⦃G, L1⦄ ⊢ ⬈*[h, ⓕ{I}V.T] L2 → ⦃G, L1⦄ ⊢ ⬈*[h, T] L2.
+/2 width=3 by tc_lfxs_fwd_flat_dx/ qed-.