]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambda_delta/basic_2/computation/csn.ma
- we introduced the pointer_step rc in the perspective of proving
[helm.git] / matita / matita / contribs / lambda_delta / basic_2 / computation / csn.ma
index 14655cdee69972365b0c8ab50c60713a3a661f92..3ed31016442ad1c05ebf1cbdd72073e28045cf34 100644 (file)
@@ -12,7 +12,6 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "basic_2/reducibility/cpr.ma".
 include "basic_2/reducibility/cnf.ma".
 
 (* CONTEXT-SENSITIVE STRONGLY NORMALIZING TERMS *****************************)
@@ -26,11 +25,11 @@ interpretation
 (* Basic eliminators ********************************************************)
 
 lemma csn_ind: ∀L. ∀R:predicate term.
-               (â\88\80T1. L â\8a¢ â¬\87* T1 →
-                     (∀T2. L ⊢ T1 ➡ T2 → (T1 = T2 → False) → R T2) →
+               (â\88\80T1. L â\8a¢ â¬\8a* T1 →
+                     (∀T2. L ⊢ T1 ➡ T2 → (T1 = T2 → ) → R T2) →
                      R T1
                ) →
-               â\88\80T. L â\8a¢ â¬\87* T → R T.
+               â\88\80T. L â\8a¢ â¬\8a* T → R T.
 #L #R #H0 #T1 #H elim H -T1 #T1 #HT1 #IHT1
 @H0 -H0 /3 width=1/ -IHT1 /4 width=1/
 qed-.
@@ -39,16 +38,14 @@ qed-.
 
 (* Basic_1: was: sn3_pr2_intro *)
 lemma csn_intro: ∀L,T1.
-                 (∀T2. L ⊢ T1 ➡ T2 → (T1 = T2 → False) → L ⊢ ⬇* T2) → L ⊢ ⬇* T1.
-#L #T1 #H
-@(SN_intro … H)
-qed.
+                 (∀T2. L ⊢ T1 ➡ T2 → (T1 = T2 → ⊥) → L ⊢ ⬊* T2) → L ⊢ ⬊* T1.
+/4 width=1/ qed.
 
 (* Basic_1: was: sn3_nf2 *)
-lemma csn_cnf: ∀L,T. L ⊢ 𝐍[T] → L ⊢ ⬇* T.
+lemma csn_cnf: ∀L,T. L ⊢ 𝐍⦃T⦄ → L ⊢ ⬊* T.
 /2 width=1/ qed.
 
-lemma csn_cpr_trans: â\88\80L,T1. L â\8a¢ â¬\87* T1 â\86\92 â\88\80T2. L â\8a¢ T1 â\9e¡ T2 â\86\92 L â\8a¢ â¬\87* T2.
+lemma csn_cpr_trans: â\88\80L,T1. L â\8a¢ â¬\8a* T1 â\86\92 â\88\80T2. L â\8a¢ T1 â\9e¡ T2 â\86\92 L â\8a¢ â¬\8a* T2.
 #L #T1 #H elim H -T1 #T1 #HT1 #IHT1 #T2 #HLT12
 @csn_intro #T #HLT2 #HT2
 elim (term_eq_dec T1 T2) #HT12
@@ -57,7 +54,7 @@ elim (term_eq_dec T1 T2) #HT12
 qed.
 
 (* Basic_1: was: sn3_cast *)
-lemma csn_cast: â\88\80L,W. L â\8a¢ â¬\87* W â\86\92 â\88\80T. L â\8a¢ â¬\87* T â\86\92 L â\8a¢ â¬\87* â\93£W. T.
+lemma csn_cast: â\88\80L,W. L â\8a¢ â¬\8a* W â\86\92 â\88\80T. L â\8a¢ â¬\8a* T â\86\92 L â\8a¢ â¬\8a* â\93\9dW. T.
 #L #W #HW elim HW -W #W #_ #IHW #T #HT @(csn_ind … HT) -T #T #HT #IHT
 @csn_intro #X #H1 #H2
 elim (cpr_inv_cast1 … H1) -H1
@@ -72,18 +69,19 @@ qed.
 
 (* Basic forward lemmas *****************************************************)
 
-fact csn_fwd_flat_dx_aux: â\88\80L,U. L â\8a¢ â¬\87* U â\86\92 â\88\80I,V,T. U = â\93\95{I} V. T â\86\92 L â\8a¢ â¬\87* T.
+fact csn_fwd_flat_dx_aux: â\88\80L,U. L â\8a¢ â¬\8a* U â\86\92 â\88\80I,V,T. U = â\93\95{I} V. T â\86\92 L â\8a¢ â¬\8a* T.
 #L #U #H elim H -H #U0 #_ #IH #I #V #T #H destruct
 @csn_intro #T2 #HLT2 #HT2
 @(IH (ⓕ{I} V. T2)) -IH // /2 width=1/ -HLT2 #H destruct /2 width=1/
 qed.
 
 (* Basic_1: was: sn3_gen_flat *)
-lemma csn_fwd_flat_dx: â\88\80I,L,V,T. L â\8a¢ â¬\87* â\93\95{I} V. T â\86\92 L â\8a¢ â¬\87* T.
+lemma csn_fwd_flat_dx: â\88\80I,L,V,T. L â\8a¢ â¬\8a* â\93\95{I} V. T â\86\92 L â\8a¢ â¬\8a* T.
 /2 width=5/ qed-.
 
-(* Basic_1: removed theorems 10:
-            sn3_gen_cflat sn3_cflat
-           sn3_appl_cast sn3_appl_beta sn3_appl_lref sn3_appl_abbr
-           sn3_appl_appls sn3_bind sn3_appl_bind sn3_appls_bind
+(* Basic_1: removed theorems 14:
+            sn3_cdelta
+            sn3_gen_cflat sn3_cflat sn3_cpr3_trans sn3_shift sn3_change
+            sn3_appl_cast sn3_appl_beta sn3_appl_lref sn3_appl_abbr
+            sn3_appl_appls sn3_bind sn3_appl_bind sn3_appls_bind
 *)