(**************************************************************************) (* ___ *) (* ||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/lift.ma". include "apps_2/models/model_lower.ma". include "apps_2/models/model_sound.ma". (* MODEL ********************************************************************) (* Forward lemmas on basic relocation ***************************************) lemma sound_fwd_lift: ∀M. sound M → extensional M → ∀sv,gv,T1,T2,l,m. ⬆[l, m] T1 ≡ T2 → ∀lv. 〚T1〛{sv, gv, ↓[l, m]⦋M⦌ lv} = 〚T2〛{sv, gv, lv}. #M #H1M #H2M #sv #gv #T1 #T2 #l #m #H elim H -T1 -T2 -l -m [ #k #l #m #lv >(m1 … H1M) >(m1 … H1M) -H1M // | #i #l #m #Hil #lv >(m2 … H1M) >(m2 … H1M) -H1M >lower_lt // | #i #l #m #Hli #lv >(m2 … H1M) >(m2 … H1M) -H1M >lower_ge // | #p #l #m #lv >(m3 … H1M) >(m3 … H1M) -H1M // | #a * #V1 #V2 #T1 #T2 #l #m #_ #_ #IHV12 #IHT12 #lv [ >(m4 … H1M) >(m4 … H1M) /3 width=1 by raise_lower_lt, sound_ti_eq_l/ | @(mx … H2M) /3 width=1 by raise_lower_lt, sound_ti_eq_l/ ] | * #V1 #V2 #T1 #T2 #l #m #_ #_ #IHV12 #IHT12 #lv [ >(m6 … H1M) >(m6 … H1M) /3 width=1 by eq_f2/ | >(m7 … H1M) >(m7 … H1M) /2 width=1 by/ ] ] qed-.