]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/contribs/lambdadelta/delayed_updating/etc/relocation/sbr_pap.etc
update in delayed_updating and ground
[helm.git] / matita / matita / contribs / lambdadelta / delayed_updating / etc / relocation / sbr_pap.etc
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 "ground/arith/pnat_plus.ma".
16 include "ground/relocation/tr_map.ma".
17 include "delayed_updating/notation/functions/verticalbarat_2.ma".
18
19 (* POSITIVE APPLICATION FOR STACKS OF BASIC RELOCATION MAPS *****************)
20
21 rec definition sbr_pap (i: pnat) on i: tr_map → pnat.
22 * #p #f cases i -i
23 [ @(p)
24 | #i cases p -p
25   [ lapply (sbr_pap i f) -sbr_pap -i -f
26     #i @(↑i)
27   | #p @(i+↑p)
28   ]
29 ]
30 defined.
31
32 interpretation
33   "functional positive application (stack of relocation maps)"
34   'VerticalBarAt f i = (sbr_pap i f).
35
36 (* Basic constructions ******************************************************)
37
38 lemma sbr_pap_unfold_unit (f):
39       ∀p. p = (p⨮f)❘@❨𝟏❩.
40 // qed.
41
42 lemma sbr_pap_unfold_unit_succ (f):
43       ∀i. ↑(f❘@❨i❩) = (𝟏⨮f)❘@❨↑i❩.
44 // qed.
45
46 lemma sbr_pap_unfold_succ_bi (f):
47       ∀p,i. i+↑p = (↑p⨮f)❘@❨↑i❩.
48 // qed.