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 "ground_2/relocation/rtmap_after.ma".
16 include "ground_2/relocation/rtmap_basic.ma".
18 (* RELOCATION MAP ***********************************************************)
20 (* Properties with composition **********************************************)
22 lemma after_basic_rc (m2,m1,n2,n1):
23 m1 ≤ m2 → m2 ≤ m1+n1 → 𝐁❴m2,n2❵ ⊚ 𝐁❴m1,n1❵ ≘ 𝐁❴m1,n2+n1❵.
25 [ #m1 #n2 #n1 #Hm21 #_
26 <(le_n_O_to_eq … Hm21) -m1 //
28 [ #n2 #n1 #_ < plus_O_n #H
29 elim (le_inv_S1 … H) -H #x #Hx #H destruct
31 @after_push [4:|*: // ]
32 @(IH 0 … Hx) -IH -n2 -x //
34 lapply (le_S_S_to_le … H1) -H1 #H1
35 lapply (le_S_S_to_le … H2) -H2 #H2
36 /3 width=7 by after_refl/