]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/contribs/lambdadelta/basic_2A/substitution/lift_lift_vector.ma
update in lambdadelta
[helm.git] / matita / matita / contribs / lambdadelta / basic_2A / substitution / lift_lift_vector.ma
1 (**************************************************************************)
2 (*       ___                                                              *)
3 (*      ||M||                                                             *)
4 (*      ||A||       A project by Andrea Asperti                           *)
5 (*      ||T||                                                             *)
6 (*      ||I||       Developers:                                           *)
7 (*      ||T||         The HELM team.                                      *)
8 (*      ||A||         http://helm.cs.unibo.it                             *)
9 (*      \   /                                                             *)
10 (*       \ /        This file is distributed under the terms of the       *)
11 (*        v         GNU General Public License Version 2                  *)
12 (*                                                                        *)
13 (**************************************************************************)
14
15 include "basic_2A/substitution/lift_lift.ma".
16 include "basic_2A/substitution/lift_vector.ma".
17
18 (* BASIC TERM VECTOR RELOCATION *********************************************)
19
20 (* Main properties ***********************************************************)
21
22 theorem liftv_mono: ∀Ts,U1s,l,m. ⬆[l,m] Ts ≡ U1s →
23                     ∀U2s:list term. ⬆[l,m] Ts ≡ U2s → U1s = U2s.
24 #Ts #U1s #l #m #H elim H -Ts -U1s
25 [ #U2s #H >(liftv_inv_nil1 … H) -H //
26 | #Ts #U1s #T #U1 #HTU1 #_ #IHTU1s #X #H destruct
27   elim (liftv_inv_cons1 … H) -H #U2 #U2s #HTU2 #HTU2s #H destruct
28   >(lift_mono … HTU1 … HTU2) -T /3 width=1 by eq_f/
29 ]
30 qed.