]> matita.cs.unibo.it Git - helm.git/commitdiff
update in delayed_updating
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Sun, 13 Feb 2022 19:16:56 +0000 (20:16 +0100)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Sun, 13 Feb 2022 19:16:56 +0000 (20:16 +0100)
+ WIP on dfr_lift_bi
+ minor corrections

matita/matita/contribs/lambdadelta/delayed_updating/reduction/dfr_ifr.ma
matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_depth.ma
matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_structure_depth.ma

index 839b4fdfad1a2d6028b644edc375af461d56fbf6..17fcd859888ef3d4413bdf10049a5a5e848e6ad7 100644 (file)
@@ -21,8 +21,11 @@ include "delayed_updating/substitution/lift_preterm_eq.ma".
 include "delayed_updating/substitution/lift_structure_depth.ma".
 include "delayed_updating/syntax/prototerm_proper_constructors.ma".
 include "delayed_updating/syntax/path_structure_depth.ma".
+include "ground/relocation/tr_uni_compose.ma".
 include "ground/relocation/tr_pap_pushs.ma".
 
+include "ground/lib/stream_eq_eq.ma".
+
 (* DELAYED FOCUSED REDUCTION ************************************************)
 
 lemma dfr_lift_bi (f) (p) (q) (t1) (t2): t1 Ļµ š“ ā†’
@@ -38,7 +41,9 @@ lemma dfr_lift_bi (f) (p) (q) (t1) (t2): t1 Ļµ š“ ā†’
 | lapply (lift_term_eq_repl_dx f ā€¦ Ht2) -Ht2 #Ht2
   @(subset_eq_trans ā€¦ Ht2) -t2
   @(subset_eq_trans ā€¦ (lift_fsubst ā€¦))
-  [ <structure_append <structure_A_sn <structure_append <structure_L_sn
+  [ <lift_rmap_append <lift_rmap_A_sn <lift_rmap_append <lift_rmap_L_sn
+    <structure_append <structure_A_sn <structure_append <structure_L_sn
+    <depth_plus <depth_L_sn <depth_structure <depth_structure
     @fsubst_eq_repl [ // ]
     @(subset_eq_trans ā€¦ (lift_iref ā€¦))
     @(subset_eq_canc_sn ā€¦ (lift_term_eq_repl_dx ā€¦))
@@ -46,6 +51,10 @@ lemma dfr_lift_bi (f) (p) (q) (t1) (t2): t1 Ļµ š“ ā†’
     @(subset_eq_trans ā€¦ (lift_term_after ā€¦))
     @(subset_eq_canc_dx ā€¦ (lift_term_after ā€¦))
     @lift_term_eq_repl_sn -t1
+    @(stream_eq_trans ā€¦ (tr_compose_uni_dx ā€¦))
+(*    
+    >nrplus_inj_dx <tr_pap_plus
+*)    
   | //
   | /2 width=2 by ex_intro/
   | //
index 1634678af36ecc77d57b90df7e0b6dddeb4fbab0..a85d74ef16e4f6b1e84a62db74e0119c0fdbd6ac 100644 (file)
@@ -13,7 +13,7 @@
 (**************************************************************************)
 
 include "delayed_updating/syntax/path.ma".
-include "ground/arith/nat_succ.ma".
+include "ground/arith/nat_plus.ma".
 include "ground/notation/functions/verticalbars_1.ma".
 
 (* DEPTH FOR PATH ***********************************************************)
@@ -40,17 +40,31 @@ interpretation
 lemma depth_empty: šŸŽ = ā˜šžā˜.
 // qed.
 
-lemma depth_d (q) (n): ā˜qā˜ = ā˜š—±nā——qā˜.
+lemma depth_d_sn (q) (n): ā˜qā˜ = ā˜š—±nā——qā˜.
 // qed.
 
-lemma depth_m (q): ā˜qā˜ = ā˜š—ŗā——qā˜.
+lemma depth_m_sn (q): ā˜qā˜ = ā˜š—ŗā——qā˜.
 // qed.
 
-lemma depth_L (q): ā†‘ā˜qā˜ = ā˜š—Ÿā——qā˜.
+lemma depth_L_sn (q): ā†‘ā˜qā˜ = ā˜š—Ÿā——qā˜.
 // qed.
 
-lemma depth_A (q): ā˜qā˜ = ā˜š—”ā——qā˜.
+lemma depth_A_sn (q): ā˜qā˜ = ā˜š—”ā——qā˜.
 // qed.
 
-lemma depth_S (q): ā˜qā˜ = ā˜š—¦ā——qā˜.
+lemma depth_S_sn (q): ā˜qā˜ = ā˜š—¦ā——qā˜.
 // qed.
+
+(* Advanced constructions with nplus ****************************************)
+
+lemma depth_plus (p1) (p2):
+      ā˜p2ā˜+ā˜p1ā˜ = ā˜p1ā—p2ā˜.
+#p1 elim p1 -p1 //
+* [ #n ] #p1 #IH #p2 <list_append_lcons_sn
+[ <depth_d_sn <depth_d_sn //
+| <depth_m_sn <depth_m_sn //
+| <depth_L_sn <depth_L_sn //
+| <depth_A_sn <depth_A_sn //
+| <depth_S_sn <depth_S_sn //
+]
+qed.
index 98583286b013534f56ffed50d27f0888767d13ab..700da6a46e26d3c6e5f8c6b4b3ac0be0425a571c 100644 (file)
@@ -23,8 +23,8 @@ lemma depth_structure (p):
       ā˜pā˜ = ā˜āŠ—pā˜.
 #p elim p -p //
 * [ #n ] #p #IH //
-[ <structure_L_sn <depth_L <depth_L //
-| <structure_A_sn <depth_A <depth_A //
-| <structure_S_sn <depth_S <depth_S //
+[ <structure_L_sn <depth_L_sn <depth_L_sn //
+| <structure_A_sn <depth_A_sn <depth_A_sn //
+| <structure_S_sn <depth_S_sn <depth_S_sn //
 ]
 qed.