]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/contribs/lambdadelta/ground/relocation/rtmap_basic_at.ma
propagating the arithmetics library, partial commit
[helm.git] / matita / matita / contribs / lambdadelta / ground / relocation / rtmap_basic_at.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 "ground/arith/nat_plus_rplus.ma".
16 include "ground/relocation/rtmap_basic_nat.ma".
17
18 (* RELOCATION MAP ***********************************************************)
19
20 (* Prioerties with application **********************************************)
21
22 lemma at_basic_lt (m) (n) (i):
23       ninj i ≤ m → @❪i, 𝐁❨m,n❩❫ ≘ i.
24 #m #n #i >(npsucc_pred i) #Hmi
25 /2 width=1 by rm_nat_basic_lt/
26 qed.
27
28 lemma at_basic_ge (m) (n) (i):
29       m < ninj i → @❪i, 𝐁❨m,n❩❫ ≘ i+n.
30 #m #n #i >(npsucc_pred i) #Hmi <nrplus_npsucc_sn
31 /3 width=1 by rm_nat_basic_ge, nlt_inv_succ_dx/
32 qed.
33
34 (* Inversion lemmas with application ****************************************)
35
36 lemma at_basic_inv_lt (m) (n) (i) (j):
37       ninj i ≤ m → @❪i, 𝐁❨m,n❩❫ ≘ j → i = j.
38 /3 width=4 by at_basic_lt, at_mono/ qed-.
39
40 lemma at_basic_inv_ge (m) (n) (i) (j):
41       m < ninj i → @❪i, 𝐁❨m,n❩❫ ≘ j → i+n = j.
42 /3 width=4 by at_basic_ge, at_mono/ qed-.