]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/contribs/lambdadelta/delayed_updating/unwind0/unwind2_rmap.ma
9bb26750a31a7aa34b3cdd3ea940e04991f50f64
[helm.git] / matita / matita / contribs / lambdadelta / delayed_updating / unwind0 / unwind2_rmap.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 "delayed_updating/unwind0/unwind1_rmap.ma".
16 include "delayed_updating/notation/functions/black_righttriangle_2.ma".
17
18 (* EXTENDED UNWIND FOR RELOCATION MAP ***************************************)
19
20 definition unwind2_rmap (f) (p): tr_map ≝
21            (▶↑[f]p)∘(↑[p]f).
22
23 interpretation
24   "extended unwind (relocation map)"
25   'BlackRightTriangle f p = (unwind2_rmap f p).
26
27 (* Basic constructions ******************************************************)
28
29 lemma unwind2_rmap_unfold (f) (p):
30       (▶↑[f]p)∘(↑[p]f) = ▶[f]p.
31 // qed.
32
33 lemma unwind2_rmap_m_sn (f) (p):
34       ▶[f]p = ▶[f](𝗺◗p).
35 #f #p
36 <unwind2_rmap_unfold in ⊢ (???%);
37 <lift_rmap_m_sn <lift_path_m_sn //
38 qed.
39
40 lemma unwind2_rmap_L_sn (f) (p):
41       ▶[⫯f]p = ▶[f](𝗟◗p).
42 #f #p
43 <unwind2_rmap_unfold in ⊢ (???%);
44 <lift_rmap_L_sn <lift_path_L_sn //
45 qed.
46
47 lemma unwind2_rmap_A_sn (f) (p):
48       ▶[f]p = ▶[f](𝗔◗p).
49 #f #p
50 <unwind2_rmap_unfold in ⊢ (???%);
51 <lift_rmap_A_sn <lift_path_A_sn //
52 qed.
53
54 lemma unwind2_rmap_S_sn (f) (p):
55       ▶[f]p = ▶[f](𝗦◗p).
56 #f #p
57 <unwind2_rmap_unfold in ⊢ (???%);
58 <lift_rmap_S_sn <lift_path_S_sn //
59 qed.