]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/contribs/lambdadelta/ground/lib/subset_ext_equivalence.ma
update in ground
[helm.git] / matita / matita / contribs / lambdadelta / ground / lib / subset_ext_equivalence.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/lib/subset_ext_inclusion.ma".
16 include "ground/lib/subset_equivalence.ma".
17
18 (* EXTENSIONS FOR SUBSETS ***************************************************)
19
20 (* Constructions with subset_equivalence ************************************)
21
22 lemma subset_equivalence_ext_f1_exteq (A1) (A0) (f1) (f2) (u):
23       f1 ⊜ f2 → subset_ext_f1 A1 A0 f1 u ⇔ subset_ext_f1 A1 A0 f2 u.
24 /3 width=3 by subset_inclusion_ext_f1_exteq, conj/
25 qed.
26
27 lemma subset_equivalence_ext_f1_bi (A1) (A0) (f) (u1) (v1):
28       u1 ⇔ v1 → subset_ext_f1 A1 A0 f u1 ⇔ subset_ext_f1 A1 A0 f v1.
29 #A1 #A0 #f #u1 #v1 * #Huv1 #Hvu1
30 /3 width=3 by subset_inclusion_ext_f1_bi, conj/
31 qed.
32
33 lemma subset_equivalence_ext_f1_1_bi (A11) (A21) (A0) (f1) (f2) (u11) (u21) (v11) (v21):
34       u11 ⇔ v11 → u21 ⇔ v21 →
35       subset_ext_f1_1 A11 A21 A0 f1 f2 u11 u21 ⇔ subset_ext_f1_1 A11 A21 A0 f1 f2 v11 v21.
36 #A11 #A21 #A0 #f1 #f2 #u11 #u21 #v11 #v21 * #Huv11 #Hvu11 * #Huv21 #Hvu21
37 /3 width=5 by subset_inclusion_ext_f1_1_bi, conj/
38 qed.
39
40 lemma subset_inclusion_ext_f1_compose (A0) (A1) (A2) (f1) (f2) (u):
41       subset_ext_f1 A1 A2 f2 (subset_ext_f1 A0 A1 f1 u) ⇔ subset_ext_f1 A0 A2 (f2∘f1) u.
42 /3 width=1 by subset_inclusion_ext_f1_compose_dx, subset_inclusion_ext_f1_compose_sn, conj/
43 qed.