]> matita.cs.unibo.it Git - helm.git/commitdiff
previous commit continued :)
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Sat, 7 Sep 2013 17:11:03 +0000 (17:11 +0000)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Sat, 7 Sep 2013 17:11:03 +0000 (17:11 +0000)
matita/matita/contribs/lambdadelta/basic_2/relocation/ldrop.ma
matita/matita/contribs/lambdadelta/basic_2/relocation/ldrop_ldrop.ma

index 6acb2858c46b174d964e00025c95b2201743f742..94c6b0f733c2a3037932f8fdfd2c3acc6de847a7 100644 (file)
@@ -12,6 +12,7 @@
 (*                                                                        *)
 (**************************************************************************)
 
+include "ground_2/lstar.ma".
 include "basic_2/notation/relations/rdrop_4.ma".
 include "basic_2/grammar/lenv_length.ma".
 include "basic_2/grammar/lenv_weight.ma".
@@ -234,6 +235,16 @@ lemma dropable_dx_TC: ∀R. dropable_dx R → dropable_dx (TC … R).
 ]
 qed.
 
+lemma l_deliftable_sn_llstar: ∀R. l_deliftable_sn R →
+                              ∀l. l_deliftable_sn (llstar … R l).
+#R #HR #l #L #U1 #U2 #H @(lstar_ind_r … l U2 H) -l -U2
+[ /2 width=3/
+| #l #U #U2 #_ #HU2 #IHU1 #K #d #e #HLK #T1 #HTU1
+  elim (IHU1 … HLK … HTU1) -IHU1 -U1 #T #HTU #HT1
+  elim (HR … HU2 … HLK … HTU) -HR -L -U /3 width=5/
+]
+qed.
+
 (* Basic forvard lemmas *****************************************************)
 
 (* Basic_1: was: drop_S *)
index 38688429649ba668b773f69a74e0c18e4904ce26..00691d9f365c5f86c1bbce8062339c12128711c6 100644 (file)
@@ -137,6 +137,15 @@ axiom ldrop_div: ∀e1,L1,L. ⇩[0, e1] L1 ≡ L → ∀e2,L2. ⇩[0, e2] L2 ≡
 
 (* Advanced properties ******************************************************)
 
+lemma l_liftable_llstar: ∀R. l_liftable R → ∀l. l_liftable (llstar … R l).
+#R #HR #l #K #T1 #T2 #H @(lstar_ind_r … l T2 H) -l -T2
+[ #L #d #e #_ #U1 #HTU1 #U2 #HTU2 -HR -K
+  >(lift_mono … HTU2 … HTU1) -T1 -U2 -d -e //
+| #l #T #T2 #_ #HT2 #IHT1 #L #d #e #HLK #U1 #HTU1 #U2 #HTU2
+  elim (lift_total T d e) /3 width=11 by lstar_dx/ (**) (* auto too slow without trace *)
+]
+qed.
+
 (* Basic_1: was: drop_conf_lt *)
 lemma ldrop_conf_lt: ∀d1,e1,L,L1. ⇩[d1, e1] L ≡ L1 →
                      ∀e2,K2,I,V2. ⇩[0, e2] L ≡ K2. ⓑ{I} V2 →