1 (** This module (Toolbox - subsets: relations) defines:
2 - subset inclusion: [SbE] (sub or equal)
3 - subset overlap: [SOv] (subset overlap) not used in %\cite{SV}%
4 - subset equality [SEq] (subset equal)
7 - introduction and elimination rules for [SbE] and [SEq]
8 - standard properties (reflexiivity, symmetry, transitivity) for [SbE] and [SEq]
12 We require Toolbox basics and the underlying theory.
15 Require Export tbs_base.
17 Section Subset_Relations_Definitions.
19 Section subset_inclusion_overlap_equality.
21 (** Sub or equal: [(SbE S U V)] means $ U \sub_S V $. *)
22 Definition SbE: (S:Set) (S -> Set) -> (S -> Set) -> Set.
24 Exact (a:S)(Eps S a U)->(Eps S a V).
27 (** Subset overlap: [(SOv S U V)] means $ U \meet_S V $ that is $ (\lex a \in S)\ a \e U \land a \e V $. *)
28 Definition SOv: (S:Set) (S -> Set) -> (S -> Set) -> Set.
30 Exact (LEx S [a](LAnd (Eps S a U) (Eps S a V))).
33 (** Sup or equal: [(SpE S U V)] means $ U \sup_S V $. *)
34 Definition SpE: (S:Set) (S -> Set) -> (S -> Set) -> Set.
40 (** Subset equal: [(SEq S U V)] means $ U =_S V $. *)
41 Definition SEq: (S:Set) (S -> Set) -> (S -> Set) -> Set.
43 Exact (a:S)(LIff (Eps S a U) (Eps S a V)).
46 End subset_inclusion_overlap_equality.
48 Section subset_completion.
50 (** Subset complete: [(SCm S U V)] means $ (\lall a \in S)\ a \e U \lor a \e V $. *)
51 Definition SCm: (S:Set) (S -> Set) -> (S -> Set) -> Set.
53 Exact (a:S)(LOr (Eps S a U) (Eps S a V)).
56 End subset_completion.
58 End Subset_Relations_Definitions.
60 Section Subset_Relations_Results.
62 Section subset_inclusion.
64 (** Sub or equal introduction: $ ((\lall a \in S)\ a \e U \limp a \e V) \limp U \sub V $. *)
65 Theorem sbe_i: (S:Set; U,V:S-> Set) ((a:S) (Eps S a U) -> (Eps S a V)) -> (SbE S U V).
71 (** Sub or equal elimination: $ a \e U \limp U \sub V \limp a \e V $. *)
72 Theorem sbe_e: (S:Set; U,V:S -> Set; a:S) (Eps S a U) -> (SbE S U V) -> (Eps S a V).
79 Theorem sbe_i2: (S:Set; U,V:(S -> Set)) ((a:S) (U a) -> (V a)) -> (SbE S U V).
87 Theorem sbe_e2: (S:Set; U,V:(S -> Set); a:S) (U a) -> (SbE S U V) -> (V a).
94 (** Sub or equal reflexivity: $ U \sub U $. *)
95 Theorem sbe_r: (S:Set; U:S->Set) (SbE S U U).
100 (** Sub or equal transitivity: $ U \sub W \limp W \sub V \limp U \sub V $. *)
101 Theorem sbe_t: (S:Set; W,U,V:S->Set) (SbE S U W) -> (SbE S W V) -> (SbE S U V).
108 End subset_inclusion.
110 Section stop_sbot_sing_inclusion.
112 (** Subset top, sub or equal introduction: $ U \sub \stop $. *)
113 Theorem stop_sbe_i: (S:Set; U:S->Set) (SbE S U (STop S)).
119 (** Subset bottom, sub or equal introduction: $ \sbot \sub U $. *)
120 Theorem sbot_sbe_i: (S:Set; U:S->Set) (SbE S (SBot S) U).
125 MApply '(sbot_eps_e S a).
129 (** Singleton, sub or equal introduction: $ a \e U \limp \subset{a} \sub U $. *)
130 Theorem sing_sbe_i: (S:Set; a:S; U:S->Set) (Eps S a U) -> (SbE S (Sing S a) U).
135 MApply '(id_repl S a0 a).
138 (** Singleton, sub or equal elimination: $ \subset{a} \sub U \limp a \e U $. *)
139 Theorem sing_sbe_e: (S:Set; a:S; U:S->Set) (SbE S (Sing S a) U) -> (Eps S a U).
141 MApply '(sbe_e S (Sing S a)).
145 (** Singleton, sub or equal criterion: $ a \e U \liff \subset{a} \sub U $. *)
146 Theorem sing_sbe: (S:Set; a:S; U:S->Set) (LIff (Eps S a U) (SbE S (Sing S a) U)).
153 End stop_sbot_sing_inclusion.
155 Section subset_equality.
157 (** Set equal introduction: $ ((\lall a \in S)\ a \e U \limp a \e V) \limp ((\lall a \in S)\ a \e V \limp a \e U) \limp U = V $. *)
158 Theorem seq_i: (S:Set; U,V:S->Set) ((a:S) (Eps S a U) -> (Eps S a V)) -> ((a:S) (Eps S a V) -> (Eps S a U)) -> (SEq S U V).
166 (** Set equal elimination 1: $ a \e U \limp U = V \limp a \e V $. *)
167 Theorem seq_e1: (S:Set; U,V:S->Set; a:S) (Eps S a U) -> (SEq S U V) -> (Eps S a V).
170 MApply '(liff_e1 (Eps S a U)).
174 (** Set equal elimination 2: $ a \e V \limp U = V \limp a \e U $. *)
175 Theorem seq_e2: (S:Set; V,U:(S -> Set); a:S) (Eps S a V) -> (SEq S U V) -> (Eps S a U).
178 MApply '(liff_e2 (Eps S a V)).
183 Theorem seq_i2: (S:Set; U,V:(S -> Set)) ((a:S) (U a) -> (V a)) -> ((a:S) (V a) -> (U a)) -> (SEq S U V).
194 (** Set equal, sub or equal introduction: $ U \sub V \limp V \sub U \limp U = V $. *)
195 Theorem seq_sbe_i: (S:Set; U,V:S->Set) (SbE S U V) -> (SbE S V U) -> (SEq S U V).
202 (** Set equal, sub or equal elimination: $ U = V \limp U \sub V \land V \sub U $. *)
203 Theorem seq_sbe_e: (S:Set; U,V:S->Set) (SEq S U V) -> (LAnd (SbE S U V) (SbE S V U)).
207 MApply '(seq_e1 S U).
209 MApply '(seq_e2 S V).
212 (** Set equal, sub or equal criterion: $ U = V \liff U \sub V \land V \sub U $. *)
213 Theorem seq_sbe: (S:Set; U,V:S->Set) (LIff (SEq S U V) (LAnd (SbE S U V) (SbE S V U))).
218 MApply '(land_e2 (SbE S V U)).
219 MApply '(land_e1 (SbE S U V)).
222 (** Subset equal reflexivity: $ U = U $. *)
223 Theorem seq_r: (S:Set; U:S->Set) (SEq S U U).
228 (** Subset equal transitivity: $ U = W \limp W = V \limp U = V $. *)
229 Theorem seq_t: (S:Set; W,U,V:S->Set) (SEq S U W) -> (SEq S W V) -> (SEq S U V).
232 MApply '(seq_e1 S W).
233 MApply '(seq_e1 S U).
234 MApply '(seq_e2 S W).
235 MApply '(seq_e2 S V).
238 (** Subset equal symmetry: $ U = V \limp V = U $. *)
239 Theorem seq_s: (S:Set; U,V:S-> Set) (SEq S U V) -> (SEq S V U).
242 MApply '(seq_e2 S V).
243 MApply '(seq_e1 S U).
248 End Subset_Relations_Results.