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_id.ma".
16 include "ground/relocation/pr_pat_pat_id.ma".
18 (* IDENTITY CONDITION FOR PARTIAL RELOCATION MAPS ***************************)
20 (* Advanced constructions with pr_isi and pr_pat ****************************)
23 lemma pr_isi_pat (f): (∀i. @❨i,f❩ ≘ i) → 𝐈❨f❩.
24 /3 width=1 by pr_eq_id_isi, pr_pat_inv_id/
27 (* Inversions with pr_pat ***************************************************)
30 lemma pr_isi_inv_pat (f) (i): 𝐈❨f❩ → @❨i,f❩ ≘ i.
31 /3 width=3 by pr_isi_inv_eq_id, pr_pat_id, pr_pat_eq_repl_back/
34 (* Destructions with pr_pat *************************************************)
36 (*** isid_inv_at_mono *)
37 lemma pr_isi_pat_des (f) (i1) (i2): 𝐈❨f❩ → @❨i1,f❩ ≘ i2 → i1 = i2.
38 /4 width=3 by pr_isi_inv_eq_id, pr_pat_id_des, pr_pat_eq_repl_fwd/