1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
15 include "basic_2/unfold/ltpss_sn_alt.ma".
16 include "basic_2/unfold/delift.ma".
18 (* INVERSE BASIC TERM RELOCATION *******************************************)
20 (* Properties on sn partial unfold on local environments ********************)
22 lemma delift_ltpss_sn_conf_eq: ∀L,T1,T2,d,e. L ⊢ ▼*[d, e] T1 ≡ T2 →
23 ∀K. L ⊢ ▶* [d, e] K → K ⊢ ▼*[d, e] T1 ≡ T2.
24 #L #T1 #T2 #d #e * #T #HT1 #HT2 #K #HLK
25 elim (ltpss_sn_tpss_conf … HT1 … HLK) -HT1 -HLK #T0 #HT10 #HT0
26 lapply (tpss_inv_lift1_eq … HT0 … HT2) -HT0 #H destruct /2 width=3/
29 lemma ltpss_sn_delift_trans_eq: ∀L,K,d,e. L ⊢ ▶* [d, e] K →
30 ∀T1,T2. K ⊢ ▼*[d, e] T1 ≡ T2 → L ⊢ ▼*[d, e] T1 ≡ T2.
31 #L #K #d #e #HLK #T1 #T2 * #T #HT1 #HT2
32 lapply (ltpss_sn_tpss_trans_eq … HT1 … HLK) -K /2 width=3/