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/substitution/lift_rmap_eq.ma".
16 include "delayed_updating/syntax/path_head.ma".
17 include "ground/lib/stream_eq_eq.ma".
19 (* LIFT MAP FOR PATH ********************************************************)
21 (* Constructions with path_head *********************************************)
23 lemma tls_plus_lift_rmap_closed (f) (q) (n) (m):
25 ⇂*[m]f ≗ ⇂*[n+m]↑[q]f.
28 <(eq_inv_path_empty_head … Hq) -n //
29 | #l #q #IH #n @(nat_ind_succ … n) -n //
30 #n #_ #m cases l [ #k ]
32 elim (eq_inv_list_lcons_bi ????? Hq) -Hq #_ #Hq <nrplus_inj_sn
33 @(stream_eq_trans … (tls_lift_rmap_d_dx …))
34 >nrplus_inj_dx >nrplus_inj_sn >nrplus_inj_sn <nplus_plus_comm_23
35 >nsucc_unfold /2 width=1 by/
37 elim (eq_inv_list_lcons_bi ????? Hq) -Hq #_ #Hq
38 <lift_rmap_m_dx /2 width=1 by/
40 elim (eq_inv_list_lcons_bi ????? Hq) -Hq #_ #Hq
41 <lift_rmap_L_dx <nplus_succ_sn /2 width=1 by/
43 elim (eq_inv_list_lcons_bi ????? Hq) -Hq #_ #Hq
44 <lift_rmap_A_dx /2 width=2 by/
46 elim (eq_inv_list_lcons_bi ????? Hq) -Hq #_ #Hq
47 <lift_rmap_S_dx /2 width=2 by/
52 lemma tls_lift_rmap_closed (f) (q) (n):
56 /2 width=1 by tls_plus_lift_rmap_closed/