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 "delayed_updating/syntax/path_structure.ma".
16 include "delayed_updating/substitution/lift_eq.ma".
18 (* LIFT FOR PATH ***********************************************************)
20 (* Constructions with structure ********************************************)
22 lemma lift_d_empty_dx (n) (p) (f):
23 (āp)āš±āØ(ā[pāš±āØnā©]f)@āØnā©ā© = ā[f](pāš±āØnā©).
25 [| * [ #m * [| #l ]] [|*: #p ] #IH ] #f
27 | <list_cons_shift <list_cons_comm <list_cons_comm //
28 | <lift_d_lcons_sn <lift_d_lcons_sn //
29 | <lift_L_sn <lift_L_sn <lift_lcons <IH //
30 | <lift_A_sn <lift_A_sn <lift_lcons <IH //
31 | <lift_S_sn <lift_S_sn <lift_lcons <IH //
35 lemma lift_L_dx (p) (f):
36 (āp)āš = ā[f](pāš).
38 [| * [ #m * [| #l ]] [|*: #p ] #IH ] #f
42 | <lift_L_sn <lift_lcons //
43 | <lift_A_sn <lift_lcons //
44 | <lift_S_sn <lift_lcons //
48 lemma lift_A_dx (p) (f):
49 (āp)āš = ā[f](pāš).
51 [| * [ #m * [| #l ]] [|*: #p ] #IH ] #f
55 | <lift_L_sn <lift_lcons //
56 | <lift_A_sn <lift_lcons //
57 | <lift_S_sn <lift_lcons //
61 lemma lift_S_dx (p) (f):
62 (āp)āš¦ = ā[f](pāš¦).
64 [| * [ #m * [| #l ]] [|*: #p ] #IH ] #f
68 | <lift_L_sn <lift_lcons //
69 | <lift_A_sn <lift_lcons //
70 | <lift_S_sn <lift_lcons //
74 lemma structure_lift (p) (f):
77 [| * [ #m * [| #l ]] [|*: #p ] #IH ] #f
81 | <lift_L_sn <lift_lcons //
82 | <lift_A_sn <lift_lcons //
83 | <lift_S_sn <lift_lcons //
87 lemma lift_structure (p) (f):
90 [| * [ #m * [| #l ]] [|*: #p ] #IH ] #f
94 | <structure_L_sn <lift_L_sn <lift_lcons //
95 | <structure_A_sn <lift_A_sn <lift_lcons //
96 | <structure_S_sn <lift_S_sn <lift_lcons //