--- /dev/null
+lemma pippo: ∀L1,L2,t1. ⬇*[Ⓕ, t1] L1 ≡ L2 → ∀t2. ⬇*[Ⓕ, t2] L1 ≡ L2 →
+|t1| + ∥t2∥ = ∥t1∥ + |t2|.
+#L1 #L2 #t1 #H elim H -L1 -L2 -t1
+[ #t1 #Ht1 #t2 #H elim (drops_inv_atom1 … H) -H
+ #_ #Ht2 >Ht1 -Ht1 // >Ht2 -Ht2 //
+| #I #L1 #L2 #V #t1 #_ #IH #t2 #H normalize
+
+lemma drop_conf_div: ∀I1,L,K,V1,m1. ⬇[m1] L ≡ K.ⓑ{I1}V1 →
+ ∀I2,V2,m2. ⬇[m2] L ≡ K.ⓑ{I2}V2 →
+ ∧∧ m1 = m2 & I1 = I2 & V1 = V2.
+#I1 #L #K #V1 #m1 #HLK1 #I2 #V2 #m2 #HLK2
+elim (yle_split m1 m2) #H
+elim (yle_inv_plus_sn … H) -H #m #Hm
+[ lapply (drop_conf_ge … HLK1 … HLK2 … Hm ?)
+| lapply (drop_conf_ge … HLK2 … HLK1 … Hm ?)
+] -HLK1 -HLK2 // #HK
+lapply (drop_fwd_length … HK) #H
+elim (discr_yplus_x_xy … H) -H
+[1,3: #H elim (ylt_yle_false (|K.ⓑ{I1}V1|) (∞)) // ]
+#H destruct
+lapply (drop_inv_O2 … HK) -HK #H destruct
+/2 width=1 by and3_intro/
+qed-.
+++ /dev/null
-(**************************************************************************)
-(* ___ *)
-(* ||M|| *)
-(* ||A|| A project by Andrea Asperti *)
-(* ||T|| *)
-(* ||I|| Developers: *)
-(* ||T|| The HELM team. *)
-(* ||A|| http://helm.cs.unibo.it *)
-(* \ / *)
-(* \ / This file is distributed under the terms of the *)
-(* v GNU General Public License Version 2 *)
-(* *)
-(**************************************************************************)
-
-include "basic_2/substitution/drop_drop.ma".
-include "basic_2/multiple/drops.ma".
-
-(* ITERATED LOCAL ENVIRONMENT SLICING ***************************************)
-
-(* Properties concerning basic local environment slicing ********************)
-
-lemma drops_drop_trans: ∀L1,L,cs. ⬇*[Ⓕ, cs] L1 ≡ L → ∀L2,i. ⬇[i] L ≡ L2 →
- ∃∃L0,cs0,i0. ⬇[i0] L1 ≡ L0 & ⬇*[Ⓕ, cs0] L0 ≡ L2 &
- @⦃i, cs⦄ ≡ i0 & cs ▭ i ≡ cs0.
-#L1 #L #cs #H elim H -L1 -L -cs
-[ /2 width=7 by drops_nil, minuss_nil, at_nil, ex4_3_intro/
-| #L1 #L0 #L #cs #l #m #_ #HL0 #IHL0 #L2 #i #HL2
- elim (ylt_split i l) #Hil
- [ elim (drop_trans_le … HL0 … HL2) -L /2 width=2 by ylt_fwd_le/
- #L #HL0 #HL2 elim (IHL0 … HL0) -L0 /3 width=7 by drops_cons, minuss_lt, at_lt, ex4_3_intro/
- | lapply (drop_trans_ge … HL0 … HL2 ?) -L // #HL02
- elim (IHL0 … HL02) -L0 /3 width=7 by minuss_ge, at_ge, ex4_3_intro/
- ]
-]
-qed-.
include "basic_2/notation/relations/rliftstar_3.ma".
include "basic_2/grammar/term.ma".
-(* GENERIC TERM RELOCATION **************************************************)
+(* GENERIC RELOCATION FOR TERMS *********************************************)
(* Basic_1: includes:
lift_sort lift_lref_lt lift_lref_ge lift_bind lift_flat
]
qed-.
-(* Basic_2A1: removed theorems 17:
- lifts_inv_nil lifts_inv_cons lifts_total
+(* Basic_2A1: removed theorems 14:
+ lifts_inv_nil lifts_inv_cons
lift_inv_Y1 lift_inv_Y2 lift_inv_lref_Y1 lift_inv_lref_Y2 lift_lref_Y lift_Y1
lift_lref_lt_eq lift_lref_ge_eq lift_lref_plus lift_lref_pred
- lift_lref_ge_minus lift_lref_ge_minus_eq lift_total lift_refl
+ lift_lref_ge_minus lift_lref_ge_minus_eq
*)
(* Basic_1: removed theorems 8:
lift_lref_gt
include "basic_2/relocation/lifts.ma".
-(* GENERIC RELOCATION *******************************************************)
+(* GENERIC RELOCATION FOR TERMS *********************************************)
(* Main properties **********************************************************)
include "basic_2/relocation/lifts_lifts.ma".
include "basic_2/relocation/lifts_vector.ma".
-(* GENERIC TERM VECTOR RELOCATION *******************************************)
+(* GENERIC RELOCATION FOR TERM VECTORS *************************************)
(* Main properties **********************************************************)
include "basic_2/grammar/term_simple.ma".
include "basic_2/relocation/lifts.ma".
-(* GENERIC TERM RELOCATION **************************************************)
+(* GENERIC RELOCATION FOR TERMS *********************************************)
(* Forward lemmas on simple terms *******************************************)
include "basic_2/grammar/term_vector.ma".
include "basic_2/relocation/lifts.ma".
-(* GENERIC TERM VECTOR RELOCATION *******************************************)
+(* GENERIC RELOCATION FOR TERM VECTORS *************************************)
(* Basic_2A1: includes: liftv_nil liftv_cons *)
inductive liftsv (t:trace) : relation (list term) ≝
include "basic_2/grammar/term_weight.ma".
include "basic_2/relocation/lifts.ma".
-(* GENERIC TERM RELOCATION **************************************************)
+(* GENERIC RELOCATION FOR TERMS *********************************************)
(* Forward lemmas on weight for terms ***************************************)