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/pr_isi_uni.ma".
16 include "ground/relocation/pr_isu.ma".
18 (* UNIFORMITY CONDITION FOR PARTIAL RELOCATION MAPS *************************)
20 (* Constructions with pr_uni ************************************************)
23 lemma pr_isu_uni (n): 𝐔❨𝐮❨n❩❩.
24 #n @(nat_ind_succ … n) -n
25 /3 width=3 by pr_isu_isi, pr_isu_next/
29 lemma pr_isu_eq_repl_back:
30 pr_eq_repl_back … pr_isu.
32 [ /3 width=3 by pr_isu_isi, pr_isi_eq_repl_back/
33 | #f1 #_ #g1 * #IH #f2 #H -g1
34 elim (pr_eq_inv_next_sn … H) -H
35 /3 width=3 by pr_isu_next/
39 lemma pr_isu_eq_repl_fwd:
40 pr_eq_repl_fwd … pr_isu.
41 /3 width=3 by pr_isu_eq_repl_back, pr_eq_repl_sym/ qed-.
43 (* Inversions with pr_uni ***************************************************)
46 lemma pr_isu_inv_uni (f): 𝐔❨f❩ → ∃n. 𝐮❨n❩ ≡ f.
48 [ /3 width=2 by pr_isi_inv_uni, ex_intro/
49 | #f #_ #g #H * /3 width=6 by pr_eq_next, ex_intro/