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/relocation/gr_isi_uni.ma".
16 include "ground/relocation/gr_isu.ma".
18 (* UNIFORMITY CONDITION FOR GENERIC RELOCATION MAPS ***********************************************************)
20 (* Properties with gr_uni **************************************)
23 lemma gr_isu_uni (n): 𝐔❪𝐮❨n❩❫.
24 #n @(nat_ind_succ … n) -n
25 /3 width=3 by gr_isu_isi, gr_isu_next/
29 lemma gr_isu_eq_repl_back:
30 gr_eq_repl_back … gr_isu.
32 [ /3 width=3 by gr_isu_isi, gr_isi_eq_repl_back/
33 | #f1 #_ #g1 * #IH #f2 #H -g1
34 elim (gr_eq_inv_next_sn … H) -H
35 /3 width=3 by gr_isu_next/
39 lemma gr_isu_eq_repl_fwd:
40 gr_eq_repl_fwd … gr_isu.
41 /3 width=3 by gr_isu_eq_repl_back, gr_eq_repl_sym/ qed-.
43 (* Inversion lemmas with gr_uni ********************************)
46 lemma gr_isu_inv_uni (f): 𝐔❪f❫ → ∃n. 𝐮❨n❩ ≡ f.
48 [ /3 width=2 by gr_isi_inv_uni, ex_intro/
49 | #f #_ #g #H * /3 width=6 by gr_eq_next, ex_intro/