- EXTENSION
-
|- !s t. (s = t) = (!x. x IN s = x IN t)
- NOT_EQUAL_SETS
-
|- !s t. ~(s = t) = (?x. x IN t = ~(x IN s))
- NUM_SET_WOP
-
|- !s. (?n. n IN s) = (?n. n IN s /\ (!m. m IN s ==> n <= m))
- SET_MINIMUM
-
|- !s M. (?x. x IN s) = (?x. x IN s /\ (!y. y IN s ==> M x <= M y))
- NOT_IN_EMPTY
-
|- !x. ~(x IN EMPTY)
- MEMBER_NOT_EMPTY
-
|- !s. (?x. x IN s) = ~(s = EMPTY)
- IN_UNIV
-
|- !x. x IN UNIV
- UNIV_NOT_EMPTY
-
|- ~(UNIV = EMPTY)
- EMPTY_NOT_UNIV
-
|- ~(EMPTY = UNIV)
- EQ_UNIV
-
|- (!x. x IN s) = s = UNIV
- SUBSET_TRANS
-
|- !s t u. s SUBSET t /\ t SUBSET u ==> s SUBSET u
- SUBSET_REFL
-
|- !s. s SUBSET s
- SUBSET_ANTISYM
-
|- !s t. s SUBSET t /\ t SUBSET s ==> (s = t)
- EMPTY_SUBSET
-
|- !s. EMPTY SUBSET s
- SUBSET_EMPTY
-
|- !s. s SUBSET EMPTY = s = EMPTY
- SUBSET_UNIV
-
|- !s. s SUBSET UNIV
- UNIV_SUBSET
-
|- !s. UNIV SUBSET s = s = UNIV
- PSUBSET_TRANS
-
|- !s t u. s PSUBSET t /\ t PSUBSET u ==> s PSUBSET u
- PSUBSET_IRREFL
-
|- !s. ~(s PSUBSET s)
- NOT_PSUBSET_EMPTY
-
|- !s. ~(s PSUBSET EMPTY)
- NOT_UNIV_PSUBSET
-
|- !s. ~(UNIV PSUBSET s)
- PSUBSET_UNIV
-
|- !s. s PSUBSET UNIV = (?x. ~(x IN s))
- IN_UNION
-
|- !s t x. x IN s UNION t = x IN s \/ x IN t
- UNION_ASSOC
-
|- !s t u. (s UNION t) UNION u = s UNION t UNION u
- UNION_IDEMPOT
-
|- !s. s UNION s = s
- UNION_COMM
-
|- !s t. s UNION t = t UNION s
- SUBSET_UNION
-
|- (!s t. s SUBSET s UNION t) /\ (!s t. s SUBSET t UNION s)
- SUBSET_UNION_ABSORPTION
-
|- !s t. s SUBSET t = s UNION t = t
- UNION_EMPTY
-
|- (!s. EMPTY UNION s = s) /\ (!s. s UNION EMPTY = s)
- UNION_UNIV
-
|- (!s. UNIV UNION s = UNIV) /\ (!s. s UNION UNIV = UNIV)
- EMPTY_UNION
-
|- !s t. (s UNION t = EMPTY) = (s = EMPTY) /\ (t = EMPTY)
- IN_INTER
-
|- !s t x. x IN s INTER t = x IN s /\ x IN t
- INTER_ASSOC
-
|- !s t u. (s INTER t) INTER u = s INTER t INTER u
- INTER_IDEMPOT
-
|- !s. s INTER s = s
- INTER_COMM
-
|- !s t. s INTER t = t INTER s
- INTER_SUBSET
-
|- (!s t. s INTER t SUBSET s) /\ (!s t. t INTER s SUBSET s)
- SUBSET_INTER_ABSORPTION
-
|- !s t. s SUBSET t = s INTER t = s
- INTER_EMPTY
-
|- (!s. EMPTY INTER s = EMPTY) /\ (!s. s INTER EMPTY = EMPTY)
- INTER_UNIV
-
|- (!s. UNIV INTER s = s) /\ (!s. s INTER UNIV = s)
- UNION_OVER_INTER
-
|- !s t u. s INTER (t UNION u) = s INTER t UNION s INTER u
- INTER_OVER_UNION
-
|- !s t u. s UNION t INTER u = (s UNION t) INTER (s UNION u)
- IN_DISJOINT
-
|- !s t. DISJOINT s t = ~(?x. x IN s /\ x IN t)
- DISJOINT_SYM
-
|- !s t. DISJOINT s t = DISJOINT t s
- DISJOINT_EMPTY
-
|- !s. DISJOINT EMPTY s /\ DISJOINT s EMPTY
- DISJOINT_EMPTY_REFL
-
|- !s. (s = EMPTY) = DISJOINT s s
- DISJOINT_UNION
-
|- !s t u. DISJOINT (s UNION t) u = DISJOINT s u /\ DISJOINT t u
- IN_DIFF
-
|- !s t x. x IN s DIFF t = x IN s /\ ~(x IN t)
- DIFF_EMPTY
-
|- !s. s DIFF EMPTY = s
- EMPTY_DIFF
-
|- !s. EMPTY DIFF s = EMPTY
- DIFF_UNIV
-
|- !s. s DIFF UNIV = EMPTY
- DIFF_DIFF
-
|- !s t. (s DIFF t) DIFF t = s DIFF t
- DIFF_EQ_EMPTY
-
|- !s. s DIFF s = EMPTY
- IN_INSERT
-
|- !x y s. x IN y INSERT s = (x = y) \/ x IN s
- COMPONENT
-
|- !x s. x IN x INSERT s
- SET_CASES
-
|- !s. (s = EMPTY) \/ (?x t. (s = x INSERT t) /\ ~(x IN t))
- DECOMPOSITION
-
|- !s x. x IN s = (?t. (s = x INSERT t) /\ ~(x IN t))
- ABSORPTION
-
|- !x s. x IN s = x INSERT s = s
- INSERT_INSERT
-
|- !x s. x INSERT x INSERT s = x INSERT s
- INSERT_COMM
-
|- !x y s. x INSERT y INSERT s = y INSERT x INSERT s
- INSERT_UNIV
-
|- !x. x INSERT UNIV = UNIV
- NOT_INSERT_EMPTY
-
|- !x s. ~(x INSERT s = EMPTY)
- NOT_EMPTY_INSERT
-
|- !x s. ~(EMPTY = x INSERT s)
- INSERT_UNION
-
|- !x s t.
(x INSERT s) UNION t = ((x IN t) => (s UNION t) | (x INSERT (s UNION t)))
- INSERT_UNION_EQ
-
|- !x s t. (x INSERT s) UNION t = x INSERT (s UNION t)
- INSERT_INTER
-
|- !x s t.
(x INSERT s) INTER t = ((x IN t) => (x INSERT s INTER t) | (s INTER t))
- DISJOINT_INSERT
-
|- !x s t. DISJOINT (x INSERT s) t = DISJOINT s t /\ ~(x IN t)
- INSERT_SUBSET
-
|- !x s t. x INSERT s SUBSET t = x IN t /\ s SUBSET t
- SUBSET_INSERT
-
|- !x s. ~(x IN s) ==> (!t. s SUBSET x INSERT t = s SUBSET t)
- INSERT_DIFF
-
|- !s t x.
(x INSERT s) DIFF t = ((x IN t) => (s DIFF t) | (x INSERT (s DIFF t)))
- IN_DELETE
-
|- !s x y. x IN s DELETE y = x IN s /\ ~(x = y)
- DELETE_NON_ELEMENT
-
|- !x s. ~(x IN s) = s DELETE x = s
- IN_DELETE_EQ
-
|- !s x x'. (x IN s = x' IN s) = x IN s DELETE x' = x' IN s DELETE x
- EMPTY_DELETE
-
|- !x. EMPTY DELETE x = EMPTY
- DELETE_DELETE
-
|- !x s. (s DELETE x) DELETE x = s DELETE x
- DELETE_COMM
-
|- !x y s. (s DELETE x) DELETE y = (s DELETE y) DELETE x
- DELETE_SUBSET
-
|- !x s. s DELETE x SUBSET s
- SUBSET_DELETE
-
|- !x s t. s SUBSET t DELETE x = ~(x IN s) /\ s SUBSET t
- SUBSET_INSERT_DELETE
-
|- !x s t. s SUBSET x INSERT t = s DELETE x SUBSET t
- DIFF_INSERT
-
|- !s t x. s DIFF (x INSERT t) = (s DELETE x) DIFF t
- PSUBSET_INSERT_SUBSET
-
|- !s t. s PSUBSET t = (?x. ~(x IN s) /\ x INSERT s SUBSET t)
- PSUBSET_MEMBER
-
|- !s t. s PSUBSET t = s SUBSET t /\ (?y. y IN t /\ ~(y IN s))
- DELETE_INSERT
-
|- !x y s.
(x INSERT s) DELETE y =
((x = y) => (s DELETE y) | (x INSERT (s DELETE y)))
- INSERT_DELETE
-
|- !x s. x IN s ==> (x INSERT (s DELETE x) = s)
- DELETE_INTER
-
|- !s t x. (s DELETE x) INTER t = s INTER t DELETE x
- DISJOINT_DELETE_SYM
-
|- !s t x. DISJOINT (s DELETE x) t = DISJOINT (t DELETE x) s
- CHOICE_NOT_IN_REST
-
|- !s. ~(CHOICE s IN REST s)
- CHOICE_INSERT_REST
-
|- !s. ~(s = EMPTY) ==> (CHOICE s INSERT REST s = s)
- REST_SUBSET
-
|- !s. REST s SUBSET s
- REST_PSUBSET
-
|- !s. ~(s = EMPTY) ==> REST s PSUBSET s
- SING
-
|- !x. SING {x}
- IN_SING
-
|- !x y. x IN {y} = x = y
- NOT_SING_EMPTY
-
|- !x. ~({x} = EMPTY)
- NOT_EMPTY_SING
-
|- !x. ~(EMPTY = {x})
- EQUAL_SING
-
|- !x y. ({x} = {y}) = x = y
- DISJOINT_SING_EMPTY
-
|- !x. DISJOINT {x} EMPTY
- INSERT_SING_UNION
-
|- !s x. x INSERT s = {x} UNION s
- SING_DELETE
-
|- !x. {x} DELETE x = EMPTY
- DELETE_EQ_SING
-
|- !s x. x IN s ==> ((s DELETE x = EMPTY) = s = {x})
- CHOICE_SING
-
|- !x. CHOICE {x} = x
- REST_SING
-
|- !x. REST {x} = EMPTY
- SING_IFF_EMPTY_REST
-
|- !s. SING s = ~(s = EMPTY) /\ (REST s = EMPTY)
- IN_IMAGE
-
|- !y s f. y IN IMAGE f s = (?x. (y = f x) /\ x IN s)
- IMAGE_IN
-
|- !x s. x IN s ==> (!f. f x IN IMAGE f s)
- IMAGE_EMPTY
-
|- !f. IMAGE f EMPTY = EMPTY
- IMAGE_ID
-
|- !s. IMAGE (\x. x) s = s
- IMAGE_COMPOSE
-
|- !f g s. IMAGE (f o g) s = IMAGE f (IMAGE g s)
- IMAGE_INSERT
-
|- !f x s. IMAGE f (x INSERT s) = f x INSERT IMAGE f s
- IMAGE_EQ_EMPTY
-
|- !s f. (IMAGE f s = EMPTY) = s = EMPTY
- IMAGE_DELETE
-
|- !f x s. ~(x IN s) ==> (IMAGE f (s DELETE x) = IMAGE f s)
- IMAGE_UNION
-
|- !f s t. IMAGE f (s UNION t) = IMAGE f s UNION IMAGE f t
- IMAGE_SUBSET
-
|- !s t. s SUBSET t ==> (!f. IMAGE f s SUBSET IMAGE f t)
- IMAGE_INTER
-
|- !f s t. IMAGE f (s INTER t) SUBSET IMAGE f s INTER IMAGE f t
- INJ_ID
-
|- !s. INJ (\x. x) s s
- INJ_COMPOSE
-
|- !f g s t u. INJ f s t /\ INJ g t u ==> INJ (g o f) s u
- INJ_EMPTY
-
|- !f. (!s. INJ f EMPTY s) /\ (!s. INJ f s EMPTY = s = EMPTY)
- SURJ_ID
-
|- !s. SURJ (\x. x) s s
- SURJ_COMPOSE
-
|- !f g s t u. SURJ f s t /\ SURJ g t u ==> SURJ (g o f) s u
- SURJ_EMPTY
-
|- !f. (!s. SURJ f EMPTY s = s = EMPTY) /\ (!s. SURJ f s EMPTY = s = EMPTY)
- IMAGE_SURJ
-
|- !f s t. SURJ f s t = IMAGE f s = t
- BIJ_ID
-
|- !s. BIJ (\x. x) s s
- BIJ_EMPTY
-
|- !f. (!s. BIJ f EMPTY s = s = EMPTY) /\ (!s. BIJ f s EMPTY = s = EMPTY)
- BIJ_COMPOSE
-
|- !f g s t u. BIJ f s t /\ BIJ g t u ==> BIJ (g o f) s u
- FINITE_EMPTY
-
|- FINITE EMPTY
- FINITE_INDUCT
-
|- !P.
P EMPTY /\
(!s. FINITE s /\ P s ==> (!e. ~(e IN s) ==> P (e INSERT s))) ==>
(!s. FINITE s ==> P s)
- FINITE_INSERT
-
|- !x s. FINITE (x INSERT s) = FINITE s
- FINITE_DELETE
-
|- !x s. FINITE (s DELETE x) = FINITE s
- FINITE_UNION
-
|- !s t. FINITE (s UNION t) = FINITE s /\ FINITE t
- INTER_FINITE
-
|- !s. FINITE s ==> (!t. FINITE (s INTER t))
- SUBSET_FINITE
-
|- !s. FINITE s ==> (!t. t SUBSET s ==> FINITE t)
- PSUBSET_FINITE
-
|- !s. FINITE s ==> (!t. t PSUBSET s ==> FINITE t)
- FINITE_DIFF
-
|- !s. FINITE s ==> (!t. FINITE (s DIFF t))
- FINITE_SING
-
|- !x. FINITE {x}
- SING_FINITE
-
|- !s. SING s ==> FINITE s
- IMAGE_FINITE
-
|- !s. FINITE s ==> (!f. FINITE (IMAGE f s))
- CARD_EMPTY
-
|- CARD EMPTY = 0
- CARD_INSERT
-
|- !s.
FINITE s ==>
(!x. CARD (x INSERT s) = ((x IN s) => (CARD s) | (SUC (CARD s))))
- CARD_EQ_0
-
|- !s. FINITE s ==> ((CARD s = 0) = s = EMPTY)
- CARD_DELETE
-
|- !s.
FINITE s ==>
(!x. CARD (s DELETE x) = ((x IN s) => (CARD s - 1) | (CARD s)))
- CARD_INTER_LESS_EQ
-
|- !s. FINITE s ==> (!t. CARD (s INTER t) <= CARD s)
- CARD_UNION
-
|- !s.
FINITE s ==>
(!t.
FINITE t ==> (CARD (s UNION t) + CARD (s INTER t) = CARD s + CARD t))
- CARD_SUBSET
-
|- !s. FINITE s ==> (!t. t SUBSET s ==> CARD t <= CARD s)
- CARD_PSUBSET
-
|- !s. FINITE s ==> (!t. t PSUBSET s ==> CARD t < CARD s)
- CARD_SING
-
|- !x. CARD {x} = 1
- SING_IFF_CARD1
-
|- !s. SING s = (CARD s = 1) /\ FINITE s
- CARD_DIFF
-
|- !t.
FINITE t ==>
(!s. FINITE s ==> (CARD (s DIFF t) = CARD s - CARD (s INTER t)))
- LESS_CARD_DIFF
-
|- !t. FINITE t ==> (!s. FINITE s ==> CARD t < CARD s ==> 0 < CARD (s DIFF t))
- NOT_IN_FINITE
-
|- INFINITE UNIV = (!s. FINITE s ==> (?x. ~(x IN s)))
- IMAGE_11_INFINITE
-
|- !f.
(!x y. (f x = f y) ==> (x = y)) ==>
(!s. INFINITE s ==> INFINITE (IMAGE f s))
- INFINITE_SUBSET
-
|- !s. INFINITE s ==> (!t. s SUBSET t ==> INFINITE t)
- IN_INFINITE_NOT_FINITE
-
|- !s t. INFINITE s /\ FINITE t ==> (?x. x IN s /\ ~(x IN t))
- INFINITE_UNIV
-
|- INFINITE UNIV =
(?f. (!x y. (f x = f y) ==> (x = y)) /\ (?y. !x. ~(f x = y)))
- FINITE_PSUBSET_INFINITE
-
|- !s. INFINITE s = (!t. FINITE t ==> t SUBSET s ==> t PSUBSET s)
- FINITE_PSUBSET_UNIV
-
|- INFINITE UNIV = (!s. FINITE s ==> s PSUBSET UNIV)
- INFINITE_DIFF_FINITE
-
|- !s t. INFINITE s /\ FINITE t ==> ~(s DIFF t = EMPTY)
- FINITE_ISO_NUM
-
|- !s.
FINITE s ==>
(?f.
(!n m. n < CARD s /\ m < CARD s ==> (f n = f m) ==> (n = m)) /\
(s = {f n | n < CARD s}))