]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/contribs/lambdadelta/ground/relocation/gr_sor_isf.ma
update in ground
[helm.git] / matita / matita / contribs / lambdadelta / ground / relocation / gr_sor_isf.ma
1 (**************************************************************************)
2 (*       ___                                                              *)
3 (*      ||M||                                                             *)
4 (*      ||A||       A project by Andrea Asperti                           *)
5 (*      ||T||                                                             *)
6 (*      ||I||       Developers:                                           *)
7 (*      ||T||         The HELM team.                                      *)
8 (*      ||A||         http://helm.cs.unibo.it                             *)
9 (*      \   /                                                             *)
10 (*       \ /        This file is distributed under the terms of the       *)
11 (*        v         GNU General Public License Version 2                  *)
12 (*                                                                        *)
13 (**************************************************************************)
14
15 include "ground/relocation/gr_isf_eq.ma".
16 include "ground/relocation/gr_sor_fcla.ma".
17
18 (* RELATIONAL UNION FOR GENERIC RELOCATION MAPS *****************************)
19
20 (* Constructions with gr_isf ************************************************)
21
22 (*** sor_isfin_ex *)
23 lemma gr_sor_isf_bi:
24       โˆ€f1,f2. ๐…โชf1โซ โ†’ ๐…โชf2โซ โ†’ โˆƒโˆƒf. f1 โ‹“ f2 โ‰˜ f & ๐…โชfโซ.
25 #f1 #f2 * #n1 #H1 * #n2 #H2 elim (gr_sor_fcla_bi โ€ฆ H1 โ€ฆ H2) -H1 -H2
26 /3 width=4 by ex2_intro, ex_intro/
27 qed-.
28
29 (* Destructions with gr_isf *************************************************)
30
31 (*** sor_fwd_isfin_sn *)
32 lemma gr_sor_des_isf_sn:
33       โˆ€f. ๐…โชfโซ โ†’ โˆ€f1,f2. f1 โ‹“ f2 โ‰˜ f โ†’ ๐…โชf1โซ.
34 #f * #n #Hf #f1 #f2 #H
35 elim (gr_sor_des_fcla_sn โ€ฆ Hf โ€ฆ H) -f -f2 /2 width=2 by ex_intro/
36 qed-.
37
38 (*** sor_fwd_isfin_dx *)
39 lemma gr_sor_des_isf_dx:
40       โˆ€f. ๐…โชfโซ โ†’ โˆ€f1,f2. f1 โ‹“ f2 โ‰˜ f โ†’ ๐…โชf2โซ.
41 #f * #n #Hf #f1 #f2 #H
42 elim (gr_sor_des_fcla_dx โ€ฆ Hf โ€ฆ H) -f -f1 /2 width=2 by ex_intro/
43 qed-.
44
45 (* Inversions with gr_isf ***************************************************)
46
47 (*** sor_isfin *)
48 lemma gr_sor_inv_isf_bi:
49       โˆ€f1,f2. ๐…โชf1โซ โ†’ ๐…โชf2โซ โ†’ โˆ€f. f1 โ‹“ f2 โ‰˜ f โ†’ ๐…โชfโซ.
50 #f1 #f2 #Hf1 #Hf2 #f #Hf elim (gr_sor_isf_bi โ€ฆ Hf1 โ€ฆ Hf2) -Hf1 -Hf2
51 /3 width=6 by gr_sor_mono, gr_isf_eq_repl_back/
52 qed-.
53
54 (*** sor_inv_isfin3 *)
55 lemma gr_sor_inv_isf:
56       โˆ€f1,f2,f. f1 โ‹“ f2 โ‰˜ f โ†’ ๐…โชfโซ โ†’
57       โˆงโˆง ๐…โชf1โซ & ๐…โชf2โซ.
58 /3 width=4 by gr_sor_des_isf_dx, gr_sor_des_isf_sn, conj/ qed-.