]> matita.cs.unibo.it Git - helm.git/blob - matita/matita/contribs/lambdadelta/ground/lib/subset_ext_inclusion.ma
update in ground
[helm.git] / matita / matita / contribs / lambdadelta / ground / lib / subset_ext_inclusion.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_inclusion.ma".
16 include "ground/lib/subset_ext.ma".
17 include "ground/lib/exteq.ma".
18
19 (* EXTENSIONS FOR SUBSETS ***************************************************)
20
21 (* Constructions with subset_inclusion **************************************)
22
23 lemma subset_inclusion_ext_f1_exteq (A1) (A0) (f1) (f2) (u):
24       f1 ⊜ f2 → subset_ext_f1 A1 A0 f1 u ⊆ subset_ext_f1 A1 A0 f2 u.
25 #A1 #A0 #f1 #f2 #u #Hf #a0 * #a1 #Hau1 #H destruct
26 /2 width=1 by subset_in_ext_f1_dx/
27 qed.
28
29 lemma subset_inclusion_ext_f1_bi (A1) (A0) (f) (u1) (v1):
30       u1 ⊆ v1 → subset_ext_f1 A1 A0 f u1 ⊆ subset_ext_f1 A1 A0 f v1.
31 #A1 #A0 #f #u1 #v1 #Huv1 #a0 * #a1 #Hau1 #H destruct
32 /3 width=3 by subset_in_ext_f1_dx/
33 qed.
34
35 lemma subset_inclusion_ext_f1_compose_sn (A0) (A1) (A2) (f1) (f2) (u):
36       subset_ext_f1 A1 A2 f2 (subset_ext_f1 A0 A1 f1 u) ⊆ subset_ext_f1 A0 A2 (f2∘f1) u.
37 #A0 #A1 #A2 #f1 #f2 #u #a2 * #a1 * #a0 #Ha0 #H1 #H2 destruct
38 /2 width=1 by subset_in_ext_f1_dx/
39 qed.
40
41 lemma subset_inclusion_ext_f1_compose_dx (A0) (A1) (A2) (f1) (f2) (u):
42       subset_ext_f1 A0 A2 (f2∘f1) u ⊆ subset_ext_f1 A1 A2 f2 (subset_ext_f1 A0 A1 f1 u).
43 #A0 #A1 #A2 #f1 #f2 #u #a2 * #a0 #Ha0 #H0 destruct
44 /3 width=1 by subset_in_ext_f1_dx/
45 qed.
46
47 lemma subset_inclusion_ext_f1_1_bi (A11) (A21) (A0) (f1) (f2) (u11) (u21) (v11) (v21):
48       u11 ⊆ v11 → u21 ⊆ v21 →
49       subset_ext_f1_1 A11 A21 A0 f1 f2 u11 u21 ⊆ subset_ext_f1_1 A11 A21 A0 f1 f2 v11 v21.
50 #A11 #A21 #A0 #f1 #f2 #u11 #u21 #v11 #v21 #Huv11 #Huv21 #a0 *
51 /3 width=3 by subset_inclusion_ext_f1_bi, or_introl, or_intror/
52 qed.
53
54 lemma subset_inclusion_ext_p1_trans (A1) (Q) (u1) (v1):
55       u1 ⊆ v1 → subset_ext_p1 A1 Q v1 → subset_ext_p1 A1 Q u1.
56 #A1 #Q #u1 #v1 #Huv1 #Hv1
57 /3 width=1 by/
58 qed-.