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_isf_eq.ma".
16 include "ground/relocation/pr_sor_fcla.ma".
18 (* RELATIONAL UNION FOR PARTIAL RELOCATION MAPS *****************************)
20 (* Constructions with pr_isf ************************************************)
24 โf1,f2. ๐
โจf1โฉ โ ๐
โจf2โฉ โ โโf. f1 โ f2 โ f & ๐
โจfโฉ.
25 #f1 #f2 * #n1 #H1 * #n2 #H2 elim (pr_sor_fcla_bi โฆ H1 โฆ H2) -H1 -H2
26 /3 width=4 by ex2_intro, ex_intro/
29 (* Destructions with pr_isf *************************************************)
31 (*** sor_fwd_isfin_sn *)
32 lemma pr_sor_des_isf_sn:
33 โf. ๐
โจfโฉ โ โf1,f2. f1 โ f2 โ f โ ๐
โจf1โฉ.
34 #f * #n #Hf #f1 #f2 #H
35 elim (pr_sor_des_fcla_sn โฆ Hf โฆ H) -f -f2 /2 width=2 by ex_intro/
38 (*** sor_fwd_isfin_dx *)
39 lemma pr_sor_des_isf_dx:
40 โf. ๐
โจfโฉ โ โf1,f2. f1 โ f2 โ f โ ๐
โจf2โฉ.
41 #f * #n #Hf #f1 #f2 #H
42 elim (pr_sor_des_fcla_dx โฆ Hf โฆ H) -f -f1 /2 width=2 by ex_intro/
45 (* Inversions with pr_isf ***************************************************)
48 lemma pr_sor_inv_isf_bi:
49 โf1,f2. ๐
โจf1โฉ โ ๐
โจf2โฉ โ โf. f1 โ f2 โ f โ ๐
โจfโฉ.
50 #f1 #f2 #Hf1 #Hf2 #f #Hf elim (pr_sor_isf_bi โฆ Hf1 โฆ Hf2) -Hf1 -Hf2
51 /3 width=6 by pr_sor_mono, pr_isf_eq_repl_back/
54 (*** sor_inv_isfin3 *)
56 โf1,f2,f. f1 โ f2 โ f โ ๐
โจfโฉ โ
57 โงโง ๐
โจf1โฉ & ๐
โจf2โฉ.
58 /3 width=4 by pr_sor_des_isf_dx, pr_sor_des_isf_sn, conj/ qed-.