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 "static_2/relocation/drops_sex.ma".
17 (* GENERIC SLICING FOR LOCAL ENVIRONMENTS ***********************************)
19 (* Properties with syntactic equivalence for selected local environments ****)
21 lemma seq_co_dedropable_sn: co_dedropable_sn seq.
22 @sex_liftable_co_dedropable_sn
23 /2 width=6 by cfull_lift_sn, ceq_lift_sn/ qed-.
25 lemma seq_co_dropable_sn: co_dropable_sn seq.
26 @sex_co_dropable_sn qed-.
28 lemma seq_co_dropable_dx: co_dropable_dx seq.
29 @sex_co_dropable_dx qed-.
31 (* Basic_2A1: includes: lreq_drop_trans_be *)
32 lemma seq_drops_trans_next: ∀f2,L1,L2. L1 ≡[f2] L2 →
33 ∀b,f,I,K2. ⬇*[b,f] L2 ≘ K2.ⓘ{I} → 𝐔⦃f⦄ →
35 ∃∃K1. ⬇*[b,f] L1 ≘ K1.ⓘ{I} & K1 ≡[f1] K2.
36 #f2 #L1 #L2 #HL12 #b #f #I2 #K2 #HLK2 #Hf #f1 #Hf2
37 elim (sex_drops_trans_next … HL12 … HLK2 Hf … Hf2) -f2 -L2 -Hf
38 #I1 #K1 #HLK1 #HK12 #H <(ceq_ext_inv_eq … H) -I2
39 /2 width=3 by ex2_intro/
42 (* Basic_2A1: includes: lreq_drop_conf_be *)
43 lemma seq_drops_conf_next: ∀f2,L1,L2. L1 ≡[f2] L2 →
44 ∀b,f,I,K1. ⬇*[b,f] L1 ≘ K1.ⓘ{I} → 𝐔⦃f⦄ →
46 ∃∃K2. ⬇*[b,f] L2 ≘ K2.ⓘ{I} & K1 ≡[f1] K2.
47 #f2 #L1 #L2 #HL12 #b #f #I1 #K1 #HLK1 #Hf #f1 #Hf2
48 elim (seq_drops_trans_next … (seq_sym … HL12) … HLK1 … Hf2) // -f2 -L1 -Hf
49 /3 width=3 by seq_sym, ex2_intro/
52 lemma drops_seq_trans_next: ∀f1,K1,K2. K1 ≡[f1] K2 →
53 ∀b,f,I,L1. ⬇*[b,f] L1.ⓘ{I} ≘ K1 →
55 ∃∃L2. ⬇*[b,f] L2.ⓘ{I} ≘ K2 & L1 ≡[f2] L2 & L1.ⓘ{I} ≡[f] L2.ⓘ{I}.
56 #f1 #K1 #K2 #HK12 #b #f #I1 #L1 #HLK1 #f2 #Hf2
57 elim (drops_sex_trans_next … HK12 … HLK1 … Hf2) -f1 -K1
58 /2 width=6 by cfull_lift_sn, ceq_lift_sn/
59 #I2 #L2 #HLK2 #HL12 #H >(ceq_ext_inv_eq … H) -I1
60 /2 width=4 by ex3_intro/