Name Conclusion Link Package
ABSORPTION !x s. x IN s <=> x INSERT s = s link to proof set-thm
ABS_SIMP !t1 t2. (\x. t1) t2 = t1 link to proof bool-int
ADD1 !m. SUC m = m + 1 link to proof natural-add-thm
ADD_0 !m. m + 0 = m link to proof natural-add-thm
ADD_ASSOC !m n p. m + n + p = (m + n) + p link to proof natural-add-thm
ADD_EQ_0 !m n. m + n = 0 <=> m = 0 /\ n = 0 link to proof natural-add-thm
ADD_SUB !m n. (m + n) - n = m link to proof natural-add-sub-def
ADD_SUB2 !m n. (m + n) - m = n link to proof natural-add-sub-thm
ADD_SUC !m n. m + SUC n = SUC (m + n) link to proof natural-add-thm
ADD_SYM !m n. m + n = n + m link to proof natural-add-thm
ALL_APPEND !p l1 l2. ALL p (APPEND l1 l2) <=> ALL p l1 /\ ALL p l2 link to proof list-append-thm
ALL_CONS !p h t. ALL p (CONS h t) <=> p h /\ ALL p t link to proof list-set-def
ALL_F !l. ALL (\x. F) l <=> NULL l link to proof list-set-thm
ALL_FILTER !p q l. ALL p (FILTER q l) <=> ALL (\x. q x ==> p x) l link to proof list-filter-thm
ALL_IMP !p q l. (!x. MEM x l /\ p x ==> q x) /\ ALL p l ==> ALL q l link to proof list-set-thm
ALL_MAP !p f l. ALL p (MAP f l) <=> ALL (p o f) l link to proof list-map-thm
ALL_MEM !p l. (!x. MEM x l ==> p x) <=> ALL p l link to proof list-set-thm
ALL_MP !p q l. ALL (\x. p x ==> q x) l /\ ALL p l ==> ALL q l link to proof list-set-thm
ALL_NIL !p. ALL p [] link to proof list-set-def
ALL_SET_OF_LIST !p l. ALL p l <=> (!x. x IN set_of_list l ==> p x) link to proof list-set-thm
ALL_T !l. ALL (\x. T) l link to proof list-set-thm
AND_ALL !p q l. ALL (\x. p x /\ q x) l <=> ALL p l /\ ALL q l link to proof list-set-thm
AND_DEF (/\) = (\p q. (\f. f p q) = (\f. f T T)) link to proof bool-def
AND_FALSE_THM !t. t /\ F <=> F link to proof bool-int
AND_FORALL_THM !p q. (!x. p x) /\ (!x. q x) <=> (!x. p x /\ q x) link to proof bool-int
AND_TRUE_THM !t. t /\ T <=> t link to proof bool-int
APPEND_ASSOC !l1 l2 l3. APPEND l1 (APPEND l2 l3) = APPEND (APPEND l1 l2) l3 link to proof list-append-thm
APPEND_EQ_NIL !l1 l2. APPEND l1 l2 = [] <=> l1 = [] /\ l2 = [] link to proof list-append-thm
APPEND_EQ_REPLICATE !x n l1 l2. APPEND l1 l2 = REPLICATE x n <=> REPLICATE x (LENGTH l1) = l1 /\ REPLICATE x (LENGTH l2) = l2 /\ LENGTH l1 + LENGTH l2 = n link to proof list-replicate-thm
APPEND_LCANCEL !l l1 l2. APPEND l l1 = APPEND l l2 <=> l1 = l2 link to proof list-append-thm
APPEND_LCANCEL_IMP !l l1 l2. APPEND l l1 = APPEND l l2 ==> l1 = l2 link to proof list-append-thm
APPEND_LINJ !l1 l1' l2 l2'. LENGTH l1 = LENGTH l1' /\ APPEND l1 l2 = APPEND l1' l2' ==> l1 = l1' link to proof list-append-thm
APPEND_NIL !l. APPEND l [] = l link to proof list-append-thm
APPEND_RCANCEL !l l1 l2. APPEND l1 l = APPEND l2 l <=> l1 = l2 link to proof list-append-thm
APPEND_RCANCEL_IMP !l l1 l2. APPEND l1 l = APPEND l2 l ==> l1 = l2 link to proof list-append-thm
APPEND_RINJ !l1 l1' l2 l2'. LENGTH l2 = LENGTH l2' /\ APPEND l1 l2 = APPEND l1' l2' ==> l2 = l2' link to proof list-append-thm
APPEND_SING !h t. APPEND [h] t = CONS h t link to proof list-append-thm
BETA_THM !f y. (\x. f x) y = f y link to proof bool-int
BIJ !s t. BIJ s t = INJ s t INTER SURJ s t link to proof set-def
BIJECTIONS_CARD_EQ !s t f g. (FINITE s \/ FINITE t) /\ (!x. x IN s ==> f x IN t /\ g (f x) = x) /\ (!y. y IN t ==> g y IN s /\ f (g y) = y) ==> CARD s = CARD t link to proof set-size-thm
BIJECTIONS_HAS_SIZE !s t f g n. (!x. x IN s ==> f x IN t /\ g (f x) = x) /\ (!y. y IN t ==> g y IN s /\ f (g y) = y) /\ s HAS_SIZE n ==> t HAS_SIZE n link to proof set-size-thm
BIJECTIONS_HAS_SIZE_EQ !s t f g. (!x. x IN s ==> f x IN t /\ g (f x) = x) /\ (!y. y IN t ==> g y IN s /\ f (g y) = y) ==> (!n. s HAS_SIZE n <=> t HAS_SIZE n) link to proof set-size-thm
BIJECTIVE_LEFT_RIGHT_INVERSE !f. (!x y. f x = f y ==> x = y) /\ (!y. ?x. f x = y) <=> (?g. (!y. f (g y) = y) /\ (!x. g (f x) = x)) link to proof set-thm
BIJECTIVE_ON_LEFT_RIGHT_INVERSE !f s t. (!x. x IN s ==> f x IN t) ==> ((!x y. x IN s /\ y IN s /\ f x = f y ==> x = y) /\ (!y. y IN t ==> (?x. x IN s /\ f x = y)) <=> (?g. (!y. y IN t ==> g y IN s) /\ (!y. y IN t ==> f (g y) = y) /\ (!x. x IN s ==> g (f x) = x))) link to proof set-thm
BIT0_SUC !n. BIT0 (SUC n) = SUC (SUC (BIT0 n)) link to proof natural-numeral-def
BIT0_ZERO BIT0 0 = 0 link to proof natural-numeral-def
BIT1_DEF !n. BIT1 n = SUC (BIT0 n) link to proof natural-numeral-def
BOOL_CASES_AX !t. (t <=> T) \/ (t <=> F) link to proof bool-class
BOUNDS_DIVIDED !p. (?b. !n. p n <= b) <=> (?a b. !n. n * p n <= a * n + b) link to proof natural-mult-thm
BOUNDS_IGNORE !p q. (?b. !i. p i <= q i + b) <=> (?b n. !i. n <= i ==> p i <= q i + b) link to proof natural-add-thm
BOUNDS_LINEAR !a b c. (!n. a * n <= b * n + c) <=> a <= b link to proof natural-mult-thm
BOUNDS_LINEAR_0 !a b. (!n. a * n <= b) <=> a = 0 link to proof natural-mult-thm
BOUNDS_NOTZERO !p a b. p 0 0 = 0 /\ (!m n. p m n <= a * (m + n) + b) ==> (?c. !m n. p m n <= c * (m + n)) link to proof natural-mult-thm
CARD CARD = ITSET (\x n. SUC n) 0 link to proof set-size-def
CARD_CROSS !s t. FINITE s /\ FINITE t ==> CARD (s CROSS t) = CARD s * CARD t link to proof set-size-thm
CARD_DELETE !x s. FINITE s ==> CARD (s DELETE x) = (if x IN s then CARD s - 1 else CARD s) link to proof set-size-thm
CARD_DIFF !s t. FINITE s /\ t SUBSET s ==> CARD (s DIFF t) = CARD s - CARD t link to proof set-size-thm
CARD_EMPTY CARD {} = 0 link to proof set-size-thm
CARD_EQ_0 !s. FINITE s ==> (CARD s = 0 <=> s = {}) link to proof set-size-thm
CARD_EQ_BIJECTION !s t. FINITE s /\ FINITE t /\ CARD s = CARD t ==> (?f. (!x. x IN s ==> f x IN t) /\ (!y. y IN t ==> (?x. x IN s /\ f x = y)) /\ (!x y. x IN s /\ y IN s /\ f x = f y ==> x = y)) link to proof set-size-thm
CARD_EQ_BIJECTIONS !s t. FINITE s /\ FINITE t /\ CARD s = CARD t ==> (?f g. (!x. x IN s ==> f x IN t /\ g (f x) = x) /\ (!y. y IN t ==> g y IN s /\ f (g y) = y)) link to proof set-size-thm
CARD_FUNSPACE !d s t. FINITE s /\ FINITE t ==> CARD {f | (!x. x IN s ==> f x IN t) /\ (!x. ~(x IN s) ==> f x = d)} = CARD t EXP CARD s link to proof set-size-thm
CARD_FUNSPACE_UNIV FINITE UNIV /\ FINITE UNIV ==> CARD UNIV = CARD UNIV EXP CARD UNIV link to proof set-size-thm
CARD_IMAGE_EQ_INJ !f s. FINITE s ==> (CARD (IMAGE f s) = CARD s <=> (!x y. x IN s /\ y IN s /\ f x = f y ==> x = y)) link to proof set-size-thm
CARD_IMAGE_INJ !f s. (!x y. x IN s /\ y IN s /\ f x = f y ==> x = y) /\ FINITE s ==> CARD (IMAGE f s) = CARD s link to proof set-size-thm
CARD_IMAGE_INJ_EQ !f s t. FINITE s /\ (!x. x IN s ==> f x IN t) /\ (!y. y IN t ==> (?!x. x IN s /\ f x = y)) ==> CARD t = CARD s link to proof set-size-thm
CARD_IMAGE_LE !f s. FINITE s ==> CARD (IMAGE f s) <= CARD s link to proof set-size-thm
CARD_INSERT !x s. FINITE s ==> CARD (x INSERT s) = (if x IN s then CARD s else SUC (CARD s)) link to proof set-size-thm
CARD_LE_INJ !s t. FINITE s /\ FINITE t /\ CARD s <= CARD t ==> (?f. IMAGE f s SUBSET t /\ (!x y. x IN s /\ y IN s /\ f x = f y ==> x = y)) link to proof set-size-thm
CARD_NUMSEG_LE !n. CARD {m | m <= n} = n + 1 link to proof set-size-thm
CARD_NUMSEG_LT !n. CARD {m | m < n} = n link to proof set-size-thm
CARD_POWERSET !s. FINITE s ==> CARD {t | t SUBSET s} = 2 EXP CARD s link to proof set-size-thm
CARD_PRODUCT !s t. FINITE s /\ FINITE t ==> CARD {x,y | x IN s /\ y IN t} = CARD s * CARD t link to proof set-size-thm
CARD_PSUBSET !a b. a PSUBSET b /\ FINITE b ==> CARD a < CARD b link to proof set-size-thm
CARD_SET_OF_LIST_LE !l. CARD (set_of_list l) <= LENGTH l link to proof list-set-thm
CARD_SING !x. CARD {x} = 1 link to proof set-size-thm
CARD_SUBSET !a b. a SUBSET b /\ FINITE b ==> CARD a <= CARD b link to proof set-size-thm
CARD_SUBSET_EQ !a b. FINITE b /\ a SUBSET b /\ CARD a = CARD b ==> a = b link to proof set-size-thm
CARD_SUBSET_IMAGE !f s t. FINITE t /\ s SUBSET IMAGE f t ==> CARD s <= CARD t link to proof set-size-thm
CARD_SUBSET_LE !a b. FINITE b /\ a SUBSET b /\ CARD b <= CARD a ==> a = b link to proof set-size-thm
CARD_UNION !s t. FINITE s /\ FINITE t /\ DISJOINT s t ==> CARD (s UNION t) = CARD s + CARD t link to proof set-size-thm
CARD_UNIONS_LE !s t m n. s HAS_SIZE m /\ (!x. x IN s ==> FINITE (t x) /\ CARD (t x) <= n) ==> CARD (UNIONS {t x | x IN s}) <= m * n link to proof set-size-thm
CARD_UNION_DIFF !s t. FINITE s /\ FINITE t ==> CARD (s UNION t) = CARD s + CARD (t DIFF s) link to proof set-size-thm
CARD_UNION_EQ !s t u. FINITE u /\ DISJOINT s t /\ s UNION t = u ==> CARD s + CARD t = CARD u link to proof set-size-thm
CARD_UNION_GEN !s t. FINITE s /\ FINITE t ==> CARD (s UNION t) = (CARD s + CARD t) - CARD (s INTER t) link to proof set-size-thm
CARD_UNION_INTER !s t. FINITE s /\ FINITE t ==> CARD (s UNION t) + CARD (s INTER t) = CARD s + CARD t link to proof set-size-thm
CARD_UNION_LE !s t. FINITE s /\ FINITE t ==> CARD (s UNION t) <= CARD s + CARD t link to proof set-size-thm
CARD_UNION_OVERLAP !s t. FINITE s /\ FINITE t /\ CARD (s UNION t) < CARD s + CARD t ==> ~DISJOINT s t link to proof set-size-thm
CARD_UNION_OVERLAP_EQ !s t. FINITE s /\ FINITE t ==> (CARD (s UNION t) = CARD s + CARD t <=> DISJOINT s t) link to proof set-size-thm
CC_EQ_I !f. C (C f) = f link to proof function-thm
CHOICE !s. ~(s = {}) ==> CHOICE s IN s link to proof set-def
CHOICE_PAIRED_THM !p q. (?a b. p a b) /\ (!a b. p a b ==> q (a,b)) ==> q (@(a,b). p a b) link to proof pair-thm
CHOICE_UNPAIR_THM !p. (@(a,b). p a b) = (@x. p (FST x) (SND x)) link to proof pair-thm
CHOOSE_SUBSET !s n. FINITE s /\ n <= CARD s ==> (?t. t SUBSET s /\ t HAS_SIZE n) link to proof set-size-thm
CHOOSE_SUBSET_BETWEEN !n s u. s SUBSET u /\ FINITE s /\ CARD s <= n /\ (FINITE u ==> n <= CARD u) ==> (?t. s SUBSET t /\ t SUBSET u /\ t HAS_SIZE n) link to proof set-size-thm
CHOOSE_SUBSET_STRONG !s n. (FINITE s ==> n <= CARD s) ==> (?t. t SUBSET s /\ t HAS_SIZE n) link to proof set-size-thm
COMPONENT !x s. x IN x INSERT s link to proof set-thm
COND_ABS !b f g. (\x. if b then f x else g x) = (if b then f else g) link to proof bool-class
COND_DEF COND = (\t t1 t2. @x. ((t <=> T) ==> x = t1) /\ ((t <=> F) ==> x = t2)) link to proof bool-def
COND_ELIM_THM !p c x y. p (if c then x else y) <=> (c ==> p x) /\ (~c ==> p y) link to proof bool-class
COND_EXPAND !b t1 t2. (if b then t1 else t2) <=> (~b \/ t1) /\ (b \/ t2) link to proof bool-class
COND_FALSE !t1 t2. (if F then t1 else t2) = t2 link to proof bool-class
COND_ID !b t. (if b then t else t) = t link to proof bool-class
COND_NOT !c x y. (if ~c then x else y) = (if c then y else x) link to proof bool-class
COND_RAND !b f x y. f (if b then x else y) = (if b then f x else f y) link to proof bool-class
COND_RATOR !b f g x. (if b then f else g) x = (if b then f x else g x) link to proof bool-class
COND_TRUE !t1 t2. (if T then t1 else t2) = t1 link to proof bool-class
CONJ_ASSOC' !t1 t2 t3. (t1 /\ t2) /\ t3 <=> t1 /\ t2 /\ t3 link to proof bool-int
CONJ_REFL !t. t /\ t <=> t link to proof bool-int
CONJ_SYM !t1 t2. t1 /\ t2 <=> t2 /\ t1 link to proof bool-int
CONS_11 !h1 h2 t1 t2. CONS h1 t1 = CONS h2 t2 <=> h1 = h2 /\ t1 = t2 link to proof list-thm
CONS_APPEND !l h t. APPEND (CONS h t) l = CONS h (APPEND t l) link to proof list-append-def
CONS_HD_TL !l. ~NULL l ==> CONS (HD l) (TL l) = l link to proof list-dest-thm
CONTRAPOS_THM !t1 t2. ~t1 ==> ~t2 <=> t2 ==> t1 link to proof bool-class
CROSS !s t. s CROSS t = {x,y | x IN s /\ y IN t} link to proof set-def
CROSS_EMPTY !s. s CROSS {} = {} link to proof set-thm
CROSS_EQ_EMPTY !s t. s CROSS t = {} <=> s = {} \/ t = {} link to proof set-thm
CROSS_UNIV UNIV CROSS UNIV = UNIV link to proof set-thm
C_DEF C = (\f x y. f y x) link to proof function-def
C_THM !f x y. C f x y = f y x link to proof function-thm
DECOMPOSITION !s x. x IN s <=> (?t. s = x INSERT t /\ ~(x IN t)) link to proof set-thm
DELETE !s x. s DELETE x = {y | y IN s /\ ~(y = x)} link to proof set-def
DELETE_COMM !x y s. s DELETE x DELETE y = s DELETE y DELETE x link to proof set-thm
DELETE_DELETE !x s. s DELETE x DELETE x = s DELETE x link to proof set-thm
DELETE_DIFF_SING !x s. s DIFF {x} = s DELETE x link to proof set-thm
DELETE_INSERT !x y s. (x INSERT s) DELETE y = (if x = y then s DELETE y else x INSERT (s DELETE y)) link to proof set-thm
DELETE_INSERT_NON_ELEMENT !x s. (x INSERT s) DELETE x = s <=> ~(x IN s) link to proof set-thm
DELETE_INTER !s t x. s DELETE x INTER t = (s INTER t) DELETE x link to proof set-thm
DELETE_NON_ELEMENT !x s. s DELETE x = s <=> ~(x IN s) link to proof set-thm
DELETE_SUBSET !x s. s DELETE x SUBSET s link to proof set-thm
DIFF !s t. s DIFF t = {x | x IN s /\ ~(x IN t)} link to proof set-def
DIFF_COMM !t u s. s DIFF t DIFF u = s DIFF u DIFF t link to proof set-thm
DIFF_DIFF !s t. s DIFF t DIFF t = s DIFF t link to proof set-thm
DIFF_EMPTY !s. s DIFF {} = s link to proof set-thm
DIFF_EMPTY_SUBSET !s t. s DIFF t = {} <=> s SUBSET t link to proof set-thm
DIFF_EQ_EMPTY !s. s DIFF s = {} link to proof set-thm
DIFF_INSERT !s t x. s DIFF x INSERT t = s DELETE x DIFF t link to proof set-thm
DIFF_INTERS !u s. u DIFF INTERS s = UNIONS {u DIFF t | t IN s} link to proof set-thm
DIFF_SUBSET !s t. s DIFF t SUBSET s link to proof set-thm
DIFF_UNION !t u s. s DIFF t DIFF u = s DIFF (t UNION u) link to proof set-thm
DIFF_UNIONS !u s. u DIFF UNIONS s = u INTER INTERS {u DIFF t | t IN s} link to proof set-thm
DIFF_UNION_CANCEL !s t. s DIFF t UNION t = s UNION t link to proof set-thm
DIFF_UNION_SUBSET !s t. t DIFF s UNION s = t <=> s SUBSET t link to proof set-thm
DIFF_UNIV !s. s DIFF UNIV = {} link to proof set-thm
DISJOINT !s t. DISJOINT s t <=> s INTER t = {} link to proof set-def
DISJOINT_DELETE_SYM !s t x. DISJOINT (s DELETE x) t <=> DISJOINT (t DELETE x) s link to proof set-thm
DISJOINT_DIFF !s t. s DIFF t = s <=> DISJOINT s t link to proof set-thm
DISJOINT_DIFF1 !s t. DISJOINT (t DIFF s) s link to proof set-thm
DISJOINT_DIFF2 !s t. DISJOINT s (t DIFF s) link to proof set-thm
DISJOINT_EMPTY !s. DISJOINT s {} link to proof set-thm
DISJOINT_EMPTY_REFL !s. DISJOINT s s <=> s = {} link to proof set-thm
DISJOINT_INSERT !x s t. DISJOINT (x INSERT s) t <=> ~(x IN t) /\ DISJOINT s t link to proof set-thm
DISJOINT_SING !x s. DISJOINT s {x} <=> ~(x IN s) link to proof set-thm
DISJOINT_SYM !s t. DISJOINT s t <=> DISJOINT t s link to proof set-thm
DISJOINT_UNION !s t u. DISJOINT (s UNION t) u <=> DISJOINT s u /\ DISJOINT t u link to proof set-thm
DISJOINT_UNIONS !s t. DISJOINT s (UNIONS t) <=> (!x. x IN t ==> DISJOINT s x) link to proof set-thm
DISJ_ASSOC' !t1 t2 t3. (t1 \/ t2) \/ t3 <=> t1 \/ t2 \/ t3 link to proof bool-int
DISJ_REFL !t. t \/ t <=> t link to proof bool-int
DISJ_SYM !t1 t2. t1 \/ t2 <=> t2 \/ t1 link to proof bool-int
DIST_ADD2 !m n p q. dist (m + n) (p + q) <= dist m p + dist n q link to proof natural-distance-thm
DIST_ADD2_REV !m n p q. dist m p <= dist (m + n) (p + q) + dist n q link to proof natural-distance-thm
DIST_ADDBOUND !m n. dist m n <= m + n link to proof natural-distance-thm
DIST_CASES !m n p. dist m n = p <=> m + p = n \/ n + p = m link to proof natural-distance-thm
DIST_DIST_SUC !m n. dist (dist m n) (dist m (n + 1)) = 1 link to proof natural-distance-thm
DIST_ELIM_THM !p x y. p (dist x y) <=> (!d. (x = y + d ==> p d) /\ (y = x + d ==> p d)) link to proof natural-distance-thm
DIST_EQ_0 !m n. dist m n = 0 <=> m = n link to proof natural-distance-thm
DIST_LADD !m n p. dist (m + n) (m + p) = dist n p link to proof natural-distance-thm
DIST_LADD_0 !m n. dist (m + n) m = n link to proof natural-distance-thm
DIST_LE_CASES !m n p. dist m n <= p <=> m <= n + p /\ n <= m + p link to proof natural-distance-thm
DIST_LMUL !m n p. m * dist n p = dist (m * n) (m * p) link to proof natural-distance-thm
DIST_LZERO !n. dist 0 n = n link to proof natural-distance-thm
DIST_RADD !p m n. dist (m + p) (n + p) = dist m n link to proof natural-distance-thm
DIST_RADD_0 !m n. dist m (m + n) = n link to proof natural-distance-thm
DIST_REFL !n. dist n n = 0 link to proof natural-distance-thm
DIST_RMUL !p m n. dist m n * p = dist (m * p) (n * p) link to proof natural-distance-thm
DIST_RZERO !n. dist n 0 = n link to proof natural-distance-thm
DIST_SUC !m n. dist (SUC m) (SUC n) = dist m n link to proof natural-distance-thm
DIST_SYM !m n. dist m n = dist n m link to proof natural-distance-thm
DIST_TRIANGLE !m n p. dist m p <= dist m n + dist n p link to proof natural-distance-thm
DIST_TRIANGLES_LE !m n p q r s. dist m n <= r /\ dist p q <= s ==> dist m p <= dist n q + r + s link to proof natural-distance-thm
DIST_TRIANGLE_LE !m n p q. dist m n + dist n p <= q ==> dist m p <= q link to proof natural-distance-thm
DIVISION_DEF_DIV !m n. ~(n = 0) ==> m DIV n * n + m MOD n = m link to proof natural-div-def
DIVISION_DEF_MOD !m n. ~(n = 0) ==> m MOD n < n link to proof natural-div-def
DIV_0 !n. ~(n = 0) ==> 0 DIV n = 0 link to proof natural-div-thm
DIV_1 !n. n DIV 1 = n link to proof natural-div-thm
DIV_ADD_MOD !a b n. ~(n = 0) ==> ((a + b) MOD n = a MOD n + b MOD n <=> (a + b) DIV n = a DIV n + b DIV n) link to proof natural-div-thm
DIV_DIV !m n p. ~(n * p = 0) ==> m DIV n DIV p = m DIV (n * p) link to proof natural-div-thm
DIV_EQ_0 !m n. ~(n = 0) ==> (m DIV n = 0 <=> m < n) link to proof natural-div-thm
DIV_EQ_EXCLUSION !a b c d. b * c < (a + 1) * d /\ a * d < (c + 1) * b ==> a DIV b = c DIV d link to proof natural-div-thm
DIV_LE !m n. ~(n = 0) ==> m DIV n <= m link to proof natural-div-thm
DIV_LE_EXCLUSION !a b c d. ~(b = 0) /\ b * c < (a + 1) * d ==> c DIV d <= a DIV b link to proof natural-div-thm
DIV_LT !m n. m < n ==> m DIV n = 0 link to proof natural-div-thm
DIV_MOD !m n p. ~(n * p = 0) ==> (m DIV n) MOD p = (m MOD (n * p)) DIV n link to proof natural-div-thm
DIV_MONO !m n p. ~(p = 0) /\ m <= n ==> m DIV p <= n DIV p link to proof natural-div-thm
DIV_MONO2 !m n p. ~(p = 0) /\ p <= m ==> n DIV m <= n DIV p link to proof natural-div-thm
DIV_MONO_LT !m n p. ~(p = 0) /\ m + p <= n ==> m DIV p < n DIV p link to proof natural-div-thm
DIV_MULT !m n. ~(m = 0) ==> (m * n) DIV m = n link to proof natural-div-thm
DIV_MULT2 !m n p. ~(m * p = 0) ==> (m * n) DIV (m * p) = n DIV p link to proof natural-div-thm
DIV_MULT_ADD !a b n. ~(n = 0) ==> (a * n + b) DIV n = a + b DIV n link to proof natural-div-thm
DIV_MUL_LE !m n. n * m DIV n <= m link to proof natural-div-thm
DIV_REFL !n. ~(n = 0) ==> n DIV n = 1 link to proof natural-div-thm
DIV_UNIQ !m n q r. m = q * n + r /\ r < n ==> m DIV n = q link to proof natural-div-thm
EMPTY {} = {x | F} link to proof set-def
EMPTY_CROSS !s. {} CROSS s = {} link to proof set-thm
EMPTY_DELETE !x. {} DELETE x = {} link to proof set-thm
EMPTY_DIFF !s. {} DIFF s = {} link to proof set-thm
EMPTY_DISJOINT !s. DISJOINT {} s link to proof set-thm
EMPTY_FUNSPACE !d t. {f | (!x. x IN {} ==> f x IN t) /\ (!x. ~(x IN {}) ==> f x = d)} = {(\x. d)} link to proof set-thm
EMPTY_GSPEC GSPEC (\x. F) = {} link to proof set-thm
EMPTY_NUMSEG_LT {m | m < 0} = {} link to proof set-thm
EMPTY_POWERSET {s | s SUBSET {}} = {{}} link to proof set-thm
EMPTY_PRODUCT_DEPENDENT !t. {x,y | x IN {} /\ y IN t x} = {} link to proof set-thm
EMPTY_SUBSET !s. {} SUBSET s link to proof set-thm
EMPTY_UNION !s t. s UNION t = {} <=> s = {} /\ t = {} link to proof set-thm
EMPTY_UNIONS !s. UNIONS s = {} <=> (!t. t IN s ==> t = {}) link to proof set-thm
EQ_ADD_LCANCEL !m n p. m + n = m + p <=> n = p link to proof natural-add-thm
EQ_ADD_LCANCEL_0 !m n. m + n = m <=> n = 0 link to proof natural-add-thm
EQ_ADD_RCANCEL !p m n. m + p = n + p <=> m = n link to proof natural-add-thm
EQ_ADD_RCANCEL_0 !m n. m + n = n <=> m = 0 link to proof natural-add-thm
EQ_EXP !x m n. x EXP m = x EXP n <=> (if x = 0 then m = 0 <=> n = 0 else x = 1 \/ m = n) link to proof natural-exp-thm
EQ_EXT !f g. (!x. f x = g x) ==> f = g link to proof bool-ext
EQ_FALSE_THM !t. (t <=> F) <=> ~t link to proof bool-int
EQ_IMP !a b. (a <=> b) ==> a ==> b link to proof bool-int
EQ_IMP_LE !m n. m = n ==> m <= n link to proof natural-order-thm
EQ_MULTL !m n. m = m * n <=> m = 0 \/ n = 1 link to proof natural-mult-thm
EQ_MULTR !m n. m = n * m <=> m = 0 \/ n = 1 link to proof natural-mult-thm
EQ_MULT_LCANCEL !m n p. m * n = m * p <=> m = 0 \/ n = p link to proof natural-mult-thm
EQ_MULT_RCANCEL !m n p. m * p = n * p <=> m = n \/ p = 0 link to proof natural-mult-thm
EQ_REFL !x. x = x link to proof bool-int
EQ_SYM !x y. x = y ==> y = x link to proof bool-int
EQ_SYM_EQ !x y. x = y <=> y = x link to proof bool-int
EQ_TRANS !x y z. x = y /\ y = z ==> x = z link to proof bool-int
EQ_TRUE_THM !t. (t <=> T) <=> t link to proof bool-int
EQ_UNIV !s. (!x. x IN s) <=> s = UNIV link to proof set-thm
ETA_AX !t. (\x. t x) = t link to proof axiom-extensionality
EVEN_ADD !m n. EVEN (m + n) <=> EVEN m <=> EVEN n link to proof natural-div-thm
EVEN_AND_ODD !n. ~(EVEN n /\ ODD n) link to proof natural-div-thm
EVEN_DOUBLE !n. EVEN (2 * n) link to proof natural-div-thm
EVEN_EXISTS !n. EVEN n <=> (?m. n = 2 * m) link to proof natural-div-thm
EVEN_EXP !m n. EVEN (m EXP n) <=> EVEN m /\ ~(n = 0) link to proof natural-exp-thm
EVEN_MOD !n. EVEN n <=> n MOD 2 = 0 link to proof natural-div-thm
EVEN_MULT !m n. EVEN (m * n) <=> EVEN m \/ EVEN n link to proof natural-div-thm
EVEN_ODD_DECOMPOSITION !n. (?k m. ODD m /\ n = 2 EXP k * m) <=> ~(n = 0) link to proof natural-exp-thm
EVEN_OR_ODD !n. EVEN n \/ ODD n link to proof natural-div-thm
EVEN_SUB !m n. n <= m ==> (EVEN (m - n) <=> EVEN m <=> EVEN n) link to proof natural-div-thm
EVEN_SUC !n. EVEN (SUC n) <=> ~EVEN n link to proof natural-div-def
EVEN_ZERO EVEN 0 link to proof natural-div-def
EXCLUDED_MIDDLE !t. t \/ ~t link to proof bool-class
EXISTS_BOOL_THM !p. (?b. p b) <=> p T \/ p F link to proof bool-class
EXISTS_CURRY !p. (?f. p f) <=> (?f. p (\(a,b). f a b)) link to proof pair-thm
EXISTS_DEF (?) = (\p. !q. (!x. p x ==> q) ==> q) link to proof bool-def
EXISTS_EX !p l. (?x. EX (p x) l) <=> EX (\y. ?x. p x y) l link to proof list-set-thm
EXISTS_FINITE_SUBSET_IMAGE !p f s. (?t. FINITE t /\ t SUBSET IMAGE f s /\ p t) <=> (?t. FINITE t /\ t SUBSET s /\ p (IMAGE f t)) link to proof set-finite-thm
EXISTS_FINITE_SUBSET_IMAGE_INJ !p f s. (?t. FINITE t /\ t SUBSET IMAGE f s /\ p t) <=> (?t. FINITE t /\ t SUBSET s /\ (!x y. x IN t /\ y IN t /\ f x = f y ==> x = y) /\ p (IMAGE f t)) link to proof set-finite-thm
EXISTS_IN_GSPEC1 !p f q. (?z. z IN {f x | p x} /\ q z) <=> (?x. p x /\ q (f x)) link to proof set-thm
EXISTS_IN_GSPEC2 !p f q. (?z. z IN {f x y | p x y} /\ q z) <=> (?x y. p x y /\ q (f x y)) link to proof set-thm
EXISTS_IN_GSPEC3 !p f q. (?z. z IN {f w x y | p w x y} /\ q z) <=> (?w x y. p w x y /\ q (f w x y)) link to proof set-thm
EXISTS_IN_IMAGE !p f s. (?y. y IN IMAGE f s /\ p y) <=> (?x. x IN s /\ p (f x)) link to proof set-thm
EXISTS_IN_INSERT !p a s. (?x. x IN a INSERT s /\ p x) <=> p a \/ (?x. x IN s /\ p x) link to proof set-thm
EXISTS_IN_UNION !p s t. (?x. x IN s UNION t /\ p x) <=> (?x. x IN s /\ p x) \/ (?x. x IN t /\ p x) link to proof set-thm
EXISTS_IN_UNIONS !p s. (?x. x IN UNIONS s /\ p x) <=> (?t x. t IN s /\ x IN t /\ p x) link to proof set-thm
EXISTS_NOT_THM !p. (?x. ~p x) <=> ~(!x. p x) link to proof bool-class
EXISTS_OR_THM !p q. (?x. p x \/ q x) <=> (?x. p x) \/ (?x. q x) link to proof bool-int
EXISTS_PAIRED_THM !p. (?(a,b). p a b) <=> (?a b. p a b) link to proof pair-thm
EXISTS_PAIR_THM !p. (?x. p x) <=> (?a b. p (a,b)) link to proof pair-thm
EXISTS_REFL !a. ?x. x = a link to proof bool-int
EXISTS_SIMP !t. (?x. t) <=> t link to proof bool-int
EXISTS_SUBSET_IMAGE !p f s. (?t. t SUBSET IMAGE f s /\ p t) <=> (?t. t SUBSET s /\ p (IMAGE f t)) link to proof set-thm
EXISTS_SUBSET_IMAGE_INJ !p f s. (?t. t SUBSET IMAGE f s /\ p t) <=> (?t. t SUBSET s /\ (!x y. x IN t /\ y IN t /\ f x = f y ==> x = y) /\ p (IMAGE f t)) link to proof set-thm
EXISTS_SUBSET_INSERT !p x t. (?s. s SUBSET x INSERT t /\ p s) <=> (?s. s SUBSET t /\ (p s \/ p (x INSERT s))) link to proof set-thm
EXISTS_SUBSET_UNION !p t u. (?s. s SUBSET t UNION u /\ p s) <=> (?t' u'. t' SUBSET t /\ u' SUBSET u /\ p (t' UNION u')) link to proof set-thm
EXISTS_THM (?) = (\p. p ((@) p)) link to proof bool-class
EXISTS_TRIPLED_THM !p. (?(a,b,c). p a b c) <=> (?a b c. p a b c) link to proof pair-thm
EXISTS_UNCURRY !p. (?f. p f) <=> (?f. p (\a b. f (a,b))) link to proof pair-thm
EXISTS_UNIQUE !p. (?!x. p x) <=> (?x. p x /\ (!y. p y ==> y = x)) link to proof bool-int
EXISTS_UNIQUE_ALT !p. (?!x. p x) <=> (?x. !y. p y <=> x = y) link to proof bool-int
EXISTS_UNIQUE_DEF (?!) = (\p. (?) p /\ (!x y. p x /\ p y ==> x = y)) link to proof bool-def
EXISTS_UNIQUE_REFL !a. ?!x. x = a link to proof bool-int
EXISTS_UNIQUE_THM !p. (?!x. p x) <=> (?x. p x) /\ (!x x'. p x /\ p x' ==> x = x') link to proof bool-int
EXISTS_UNPAIR_THM !p. (?x y. p x y) <=> (?z. p (FST z) (SND z)) link to proof pair-thm
EXP_0 !m. m EXP 0 = 1 link to proof natural-exp-def
EXP_1 !n. n EXP 1 = n link to proof natural-exp-thm
EXP_2 !n. n EXP 2 = n * n link to proof natural-exp-thm
EXP_ADD !m n p. m EXP (n + p) = m EXP n * m EXP p link to proof natural-exp-thm
EXP_EQ_0 !m n. m EXP n = 0 <=> m = 0 /\ ~(n = 0) link to proof natural-exp-thm
EXP_EQ_1 !x n. x EXP n = 1 <=> x = 1 \/ n = 0 link to proof natural-exp-thm
EXP_LT_0 !n x. 0 < x EXP n <=> ~(x = 0) \/ n = 0 link to proof natural-exp-thm
EXP_MONO_EQ !x y n. x EXP n = y EXP n <=> x = y \/ n = 0 link to proof natural-exp-thm
EXP_MONO_LE !x y n. x EXP n <= y EXP n <=> x <= y \/ n = 0 link to proof natural-exp-thm
EXP_MONO_LE_IMP !x y n. x <= y ==> x EXP n <= y EXP n link to proof natural-exp-thm
EXP_MONO_LT !x y n. x EXP n < y EXP n <=> x < y /\ ~(n = 0) link to proof natural-exp-thm
EXP_MONO_LT_IMP !x y n. x < y /\ ~(n = 0) ==> x EXP n < y EXP n link to proof natural-exp-thm
EXP_MULT !m n p. m EXP (n * p) = m EXP n EXP p link to proof natural-exp-thm
EXP_ONE !n. 1 EXP n = 1 link to proof natural-exp-thm
EXP_SUC !m n. m EXP SUC n = m * m EXP n link to proof natural-exp-def
EXP_ZERO !n. 0 EXP n = (if n = 0 then 1 else 0) link to proof natural-exp-thm
EXTENSION' !s t. (!x. x IN s <=> x IN t) <=> s = t link to proof set-thm
EXTENSION_IMP !s t. (!x. x IN s <=> x IN t) ==> s = t link to proof set-def
EX_APPEND !p l1 l2. EX p (APPEND l1 l2) <=> EX p l1 \/ EX p l2 link to proof list-append-thm
EX_CONS !p h t. EX p (CONS h t) <=> p h \/ EX p t link to proof list-set-def
EX_FILTER !p q l. EX p (FILTER q l) <=> EX (\x. q x /\ p x) l link to proof list-filter-thm
EX_IMP !p q l. (!x. MEM x l /\ p x ==> q x) /\ EX p l ==> EX q l link to proof list-set-thm
EX_MAP !p f l. EX p (MAP f l) <=> EX (p o f) l link to proof list-map-thm
EX_MEM !p l. (?x. MEM x l /\ p x) <=> EX p l link to proof list-set-thm
EX_NIL !p. ~EX p [] link to proof list-set-def
EX_SET_OF_LIST !p l. EX p l <=> (?x. x IN set_of_list l /\ p x) link to proof list-set-thm
FACT_MONO !m n. m <= n ==> FACT m <= FACT n link to proof natural-factorial-thm
FACT_NZ !n. ~(FACT n = 0) link to proof natural-factorial-thm
FACT_SUC !n. FACT (SUC n) = SUC n * FACT n link to proof natural-factorial-def
FACT_ZERO FACT 0 = 1 link to proof natural-factorial-def
FALSE_AND_THM !t. F /\ t <=> F link to proof bool-int
FALSE_EQ_THM !t. (F <=> t) <=> ~t link to proof bool-int
FALSE_IMP_THM !t. F ==> t <=> T link to proof bool-int
FALSE_OR_THM !t. F \/ t <=> t link to proof bool-int
FILTER_APPEND !p l1 l2. FILTER p (APPEND l1 l2) = APPEND (FILTER p l1) (FILTER p l2) link to proof list-filter-thm
FILTER_CONS !p h t. FILTER p (CONS h t) = (if p h then CONS h (FILTER p t) else FILTER p t) link to proof list-filter-def
FILTER_MAP !p f l. FILTER p (MAP f l) = MAP f (FILTER (p o f) l) link to proof list-filter-thm
FILTER_NIL !p. FILTER p [] = [] link to proof list-filter-def
FINITE_BOOL FINITE UNIV link to proof set-finite-thm
FINITE_CASES !a. FINITE a <=> a = {} \/ (?x s. a = x INSERT s /\ FINITE s) link to proof set-finite-def
FINITE_CROSS !s t. FINITE s /\ FINITE t ==> FINITE (s CROSS t) link to proof set-finite-thm
FINITE_CROSS_EQ !s t. FINITE (s CROSS t) <=> s = {} \/ t = {} \/ FINITE s /\ FINITE t link to proof set-finite-thm
FINITE_DELETE !s x. FINITE (s DELETE x) <=> FINITE s link to proof set-finite-thm
FINITE_DELETE_IMP !s x. FINITE s ==> FINITE (s DELETE x) link to proof set-finite-thm
FINITE_DIFF !s t. FINITE s ==> FINITE (s DIFF t) link to proof set-finite-thm
FINITE_EMPTY FINITE {} link to proof set-finite-def
FINITE_FINITE_PREIMAGE !f t. FINITE t /\ (!y. y IN t ==> FINITE {x | f x = y}) ==> FINITE {x | f x IN t} link to proof set-finite-thm
FINITE_FINITE_PREIMAGE_GENERAL !f s t. FINITE t /\ (!y. y IN t ==> FINITE {x | x IN s /\ f x = y}) ==> FINITE {x | x IN s /\ f x IN t} link to proof set-finite-thm
FINITE_FINITE_UNIONS !s. FINITE s ==> (FINITE (UNIONS s) <=> (!t. t IN s ==> FINITE t)) link to proof set-finite-thm
FINITE_FUNSPACE !d s t. FINITE s /\ FINITE t ==> FINITE {f | (!x. x IN s ==> f x IN t) /\ (!x. ~(x IN s) ==> f x = d)} link to proof set-finite-thm
FINITE_FUNSPACE_UNIV FINITE UNIV /\ FINITE UNIV ==> FINITE UNIV link to proof set-size-thm
FINITE_HAS_SIZE !s. FINITE s <=> s HAS_SIZE CARD s link to proof set-size-thm
FINITE_IMAGE !f s. FINITE s ==> FINITE (IMAGE f s) link to proof set-finite-thm
FINITE_IMAGE_EXPAND !f s. FINITE s ==> FINITE {y | ?x. x IN s /\ y = f x} link to proof set-finite-thm
FINITE_IMAGE_INJ !f A. (!x y. f x = f y ==> x = y) /\ FINITE A ==> FINITE {x | f x IN A} link to proof set-finite-thm
FINITE_IMAGE_INJ_EQ !f s. (!x y. x IN s /\ y IN s /\ f x = f y ==> x = y) ==> (FINITE (IMAGE f s) <=> FINITE s) link to proof set-finite-thm
FINITE_IMAGE_INJ_GENERAL !f t s. (!x y. x IN s /\ y IN s /\ f x = f y ==> x = y) /\ FINITE t ==> FINITE {x | x IN s /\ f x IN t} link to proof set-finite-thm
FINITE_INDUCT !p. p {} /\ (!x s. p s ==> p (x INSERT s)) ==> (!a. FINITE a ==> p a) link to proof set-finite-def
FINITE_INDUCT_DELETE !p. p {} /\ (!s. FINITE s /\ ~(s = {}) ==> (?x. x IN s /\ (p (s DELETE x) ==> p s))) ==> (!s. FINITE s ==> p s) link to proof set-size-thm
FINITE_INDUCT_STRONG !p. p {} /\ (!x s. p s /\ ~(x IN s) /\ FINITE s ==> p (x INSERT s)) ==> (!s. FINITE s ==> p s) link to proof set-finite-thm
FINITE_INSERT !s x. FINITE (x INSERT s) <=> FINITE s link to proof set-finite-thm
FINITE_INSERT_IMP !x s. FINITE s ==> FINITE (x INSERT s) link to proof set-finite-def
FINITE_INTER !s t. FINITE s \/ FINITE t ==> FINITE (s INTER t) link to proof set-finite-thm
FINITE_NUMSEG_LE !n. FINITE {m | m <= n} link to proof set-finite-thm
FINITE_NUMSEG_LT !n. FINITE {m | m < n} link to proof set-finite-thm
FINITE_POWERSET !s. FINITE s ==> FINITE {t | t SUBSET s} link to proof set-finite-thm
FINITE_PRODUCT !s t. FINITE s /\ FINITE t ==> FINITE {x,y | x IN s /\ y IN t} link to proof set-finite-thm
FINITE_PRODUCT_DEPENDENT !f s t. FINITE s /\ (!x. x IN s ==> FINITE (t x)) ==> FINITE {f x y | x IN s /\ y IN t x} link to proof set-finite-thm
FINITE_RECURSION !f b. (!x y s. ~(x = y) ==> f x (f y s) = f y (f x s)) ==> ITSET f b {} = b /\ (!x s. FINITE s ==> ITSET f b (x INSERT s) = (if x IN s then ITSET f b s else f x (ITSET f b s))) link to proof set-fold-def
FINITE_RECURSION_DELETE !f b. (!x y s. ~(x = y) ==> f x (f y s) = f y (f x s)) ==> ITSET f b {} = b /\ (!x s. FINITE s ==> ITSET f b s = (if x IN s then f x (ITSET f b (s DELETE x)) else ITSET f b (s DELETE x))) link to proof set-fold-thm
FINITE_RESTRICT !s p. FINITE s ==> FINITE {x | x IN s /\ p x} link to proof set-finite-thm
FINITE_SET_OF_LIST !l. FINITE (set_of_list l) link to proof list-set-thm
FINITE_SING !a. FINITE {a} link to proof set-finite-thm
FINITE_SUBSET !s t. FINITE t /\ s SUBSET t ==> FINITE s link to proof set-finite-thm
FINITE_SUBSET_IMAGE !f s t. FINITE t /\ t SUBSET IMAGE f s <=> (?s'. FINITE s' /\ s' SUBSET s /\ t = IMAGE f s') link to proof set-finite-thm
FINITE_SUBSET_IMAGE_IMP !f s t. FINITE t /\ t SUBSET IMAGE f s ==> (?s'. FINITE s' /\ s' SUBSET s /\ t SUBSET IMAGE f s') link to proof set-finite-thm
FINITE_TRANSITIVITY_CHAIN !r s. FINITE s /\ (!x. ~r x x) /\ (!x y z. r x y /\ r y z ==> r x z) /\ (!x. x IN s ==> (?y. y IN s /\ r x y)) ==> s = {} link to proof set-finite-thm
FINITE_UNION !s t. FINITE (s UNION t) <=> FINITE s /\ FINITE t link to proof set-finite-thm
FINITE_UNIONS !s. FINITE (UNIONS s) <=> FINITE s /\ (!t. t IN s ==> FINITE t) link to proof set-finite-thm
FINITE_UNION_IMP !s t. FINITE s /\ FINITE t ==> FINITE (s UNION t) link to proof set-finite-thm
FORALL_ALL !p l. (!x. ALL (p x) l) <=> ALL (\y. !x. p x y) l link to proof list-set-thm
FORALL_AND_THM !p q. (!x. p x /\ q x) <=> (!x. p x) /\ (!x. q x) link to proof bool-int
FORALL_BOOL_THM !p. (!b. p b) <=> p T /\ p F link to proof bool-class
FORALL_CURRY !p. (!f. p f) <=> (!f. p (\(a,b). f a b)) link to proof pair-thm
FORALL_DEF (!) = (\p. p = (\x. T)) link to proof bool-def
FORALL_FINITE_SUBSET_IMAGE !p f s. (!t. FINITE t /\ t SUBSET IMAGE f s ==> p t) <=> (!t. FINITE t /\ t SUBSET s ==> p (IMAGE f t)) link to proof set-finite-thm
FORALL_FINITE_SUBSET_IMAGE_INJ !p f s. (!t. FINITE t /\ t SUBSET IMAGE f s ==> p t) <=> (!t. FINITE t /\ t SUBSET s /\ (!x y. x IN t /\ y IN t /\ f x = f y ==> x = y) ==> p (IMAGE f t)) link to proof set-finite-thm
FORALL_IN_GSPEC1 !p f q. (!z. z IN {f x | p x} ==> q z) <=> (!x. p x ==> q (f x)) link to proof set-thm
FORALL_IN_GSPEC2 !p f q. (!z. z IN {f x y | p x y} ==> q z) <=> (!x y. p x y ==> q (f x y)) link to proof set-thm
FORALL_IN_GSPEC3 !p f q. (!z. z IN {f w x y | p w x y} ==> q z) <=> (!w x y. p w x y ==> q (f w x y)) link to proof set-thm
FORALL_IN_IMAGE !p f s. (!y. y IN IMAGE f s ==> p y) <=> (!x. x IN s ==> p (f x)) link to proof set-thm
FORALL_IN_IMAGE_2 !p f s. (!x y. x IN IMAGE f s /\ y IN IMAGE f s ==> p x y) <=> (!x y. x IN s /\ y IN s ==> p (f x) (f y)) link to proof set-thm
FORALL_IN_INSERT !p a s. (!x. x IN a INSERT s ==> p x) <=> p a /\ (!x. x IN s ==> p x) link to proof set-thm
FORALL_IN_UNION !p s t. (!x. x IN s UNION t ==> p x) <=> (!x. x IN s ==> p x) /\ (!x. x IN t ==> p x) link to proof set-thm
FORALL_IN_UNIONS !p s. (!x. x IN UNIONS s ==> p x) <=> (!t x. t IN s /\ x IN t ==> p x) link to proof set-thm
FORALL_NOT_THM !p. (!x. ~p x) <=> ~(?x. p x) link to proof bool-class
FORALL_PAIRED_THM !p. (!(a,b). p a b) <=> (!a b. p a b) link to proof pair-thm
FORALL_PAIR_THM !p. (!x. p x) <=> (!a b. p (a,b)) link to proof pair-thm
FORALL_SIMP !t. (!x. t) <=> t link to proof bool-int
FORALL_SUBSET_IMAGE !p f s. (!t. t SUBSET IMAGE f s ==> p t) <=> (!t. t SUBSET s ==> p (IMAGE f t)) link to proof set-thm
FORALL_SUBSET_IMAGE_INJ !p f s. (!t. t SUBSET IMAGE f s ==> p t) <=> (!t. t SUBSET s /\ (!x y. x IN t /\ y IN t /\ f x = f y ==> x = y) ==> p (IMAGE f t)) link to proof set-thm
FORALL_SUBSET_INSERT !p x t. (!s. s SUBSET x INSERT t ==> p s) <=> (!s. s SUBSET t ==> p s /\ p (x INSERT s)) link to proof set-thm
FORALL_SUBSET_UNION !p t u. (!s. s SUBSET t UNION u ==> p s) <=> (!t' u'. t' SUBSET t /\ u' SUBSET u ==> p (t' UNION u')) link to proof set-thm
FORALL_TRIPLED_THM !p. (!(a,b,c). p a b c) <=> (!a b c. p a b c) link to proof pair-thm
FORALL_UNCURRY !p. (!f. p f) <=> (!f. p (\a b. f (a,b))) link to proof pair-thm
FORALL_UNPAIR_THM !p. (!x y. p x y) <=> (!z. p (FST z) (SND z)) link to proof pair-thm
FORALL_UNWIND_THM1 !p a. (!x. a = x ==> p x) <=> p a link to proof bool-int
FORALL_UNWIND_THM2 !p a. (!x. x = a ==> p x) <=> p a link to proof bool-int
FST !a b. FST (a,b) = a link to proof pair-def
FUNCTION_FACTORS_LEFT !f g. (!x y. g x = g y ==> f x = f y) <=> (?h. f = h o g) link to proof function-thm
FUNCTION_FACTORS_LEFT_GEN !p f g. (!x y. p x /\ p y /\ g x = g y ==> f x = f y) <=> (?h. !x. p x ==> f x = h (g x)) link to proof function-thm
FUNCTION_FACTORS_RIGHT !f g. (!x. ?y. g y = f x) <=> (?h. f = g o h) link to proof function-thm
FUNCTION_FACTORS_RIGHT_GEN !p f g. (!x. p x ==> (?y. g y = f x)) <=> (?h. !x. p x ==> f x = g (h x)) link to proof function-thm
FUN_EQ_THM' !f g. (!x. f x = g x) <=> f = g link to proof bool-ext
FUN_IN_IMAGE !f s x. x IN s ==> f x IN IMAGE f s link to proof set-thm
F_DEF F <=> (!p. p) link to proof bool-def
GE !m n. m >= n <=> n <= m link to proof natural-order-def
GT !m n. m > n <=> n < m link to proof natural-order-def
HAS_SIZE !s n. s HAS_SIZE n <=> FINITE s /\ CARD s = n link to proof set-size-def
HAS_SIZE_0 !s. s HAS_SIZE 0 <=> s = {} link to proof set-size-thm
HAS_SIZE_BOOL UNIV HAS_SIZE 2 link to proof set-size-thm
HAS_SIZE_CARD !s n. s HAS_SIZE n ==> CARD s = n link to proof set-size-thm
HAS_SIZE_CROSS !s t m n. s HAS_SIZE m /\ t HAS_SIZE n ==> s CROSS t HAS_SIZE m * n link to proof set-size-thm
HAS_SIZE_DIFF !s t m n. s HAS_SIZE m /\ t HAS_SIZE n /\ t SUBSET s ==> s DIFF t HAS_SIZE m - n link to proof set-size-thm
HAS_SIZE_FUNSPACE !d s t m n. s HAS_SIZE m /\ t HAS_SIZE n ==> {f | (!x. x IN s ==> f x IN t) /\ (!x. ~(x IN s) ==> f x = d)} HAS_SIZE n EXP m link to proof set-size-thm
HAS_SIZE_FUNSPACE_UNIV !m n. UNIV HAS_SIZE m /\ UNIV HAS_SIZE n ==> UNIV HAS_SIZE n EXP m link to proof set-size-thm
HAS_SIZE_IMAGE_INJ !f s n. (!x y. x IN s /\ y IN s /\ f x = f y ==> x = y) /\ s HAS_SIZE n ==> IMAGE f s HAS_SIZE n link to proof set-size-thm
HAS_SIZE_IMAGE_INJ_EQ !f s n. (!x y. x IN s /\ y IN s /\ f x = f y ==> x = y) ==> (IMAGE f s HAS_SIZE n <=> s HAS_SIZE n) link to proof set-size-thm
HAS_SIZE_INDEX !s n. s HAS_SIZE n ==> (?f. (!m. m < n ==> f m IN s) /\ (!x. x IN s ==> (?!m. m < n /\ f m = x))) link to proof set-size-thm
HAS_SIZE_INSERT !s n. s HAS_SIZE SUC n <=> (?a t. t HAS_SIZE n /\ ~(a IN t) /\ s = a INSERT t) link to proof set-size-thm
HAS_SIZE_NUMSEG_LE !n. {m | m <= n} HAS_SIZE n + 1 link to proof set-size-thm
HAS_SIZE_NUMSEG_LT !n. {m | m < n} HAS_SIZE n link to proof set-size-thm
HAS_SIZE_POWERSET !s n. s HAS_SIZE n ==> {t | t SUBSET s} HAS_SIZE 2 EXP n link to proof set-size-thm
HAS_SIZE_PRODUCT !s t m n. s HAS_SIZE m /\ t HAS_SIZE n ==> {x,y | x IN s /\ y IN t} HAS_SIZE m * n link to proof set-size-thm
HAS_SIZE_PRODUCT_DEPENDENT !s t m n. s HAS_SIZE m /\ (!x. x IN s ==> t x HAS_SIZE n) ==> {x,y | x IN s /\ y IN t x} HAS_SIZE m * n link to proof set-size-thm
HAS_SIZE_SING !x. {x} HAS_SIZE 1 link to proof set-size-thm
HAS_SIZE_SUC !s n. s HAS_SIZE SUC n <=> ~(s = {}) /\ (!a. a IN s ==> s DELETE a HAS_SIZE n) link to proof set-size-thm
HAS_SIZE_UNION !s t m n. s HAS_SIZE m /\ t HAS_SIZE n /\ DISJOINT s t ==> s UNION t HAS_SIZE m + n link to proof set-size-thm
HAS_SIZE_UNIONS !s t m n. s HAS_SIZE m /\ (!x. x IN s ==> t x HAS_SIZE n) /\ (!x y. x IN s /\ y IN s /\ ~(x = y) ==> DISJOINT (t x) (t y)) ==> UNIONS {t x | x IN s} HAS_SIZE m * n link to proof set-size-thm
HD !h t. HD (CONS h t) = h link to proof list-dest-def
IMAGE !f s. IMAGE f s = {y | ?x. x IN s /\ y = f x} link to proof set-def
IMAGE_CONST !s c. IMAGE (\x. c) s = (if s = {} then {} else {c}) link to proof set-thm
IMAGE_DELETE_INJ !f s a. (!x. f x = f a ==> x = a) ==> IMAGE f (s DELETE a) = IMAGE f s DELETE f a link to proof set-thm
IMAGE_DIFF_INJ !f s t. (!x y. f x = f y ==> x = y) ==> IMAGE f (s DIFF t) = IMAGE f s DIFF IMAGE f t link to proof set-thm
IMAGE_EMPTY !f. IMAGE f {} = {} link to proof set-thm
IMAGE_EQ_EMPTY !f s. IMAGE f s = {} <=> s = {} link to proof set-thm
IMAGE_I !s. IMAGE I s = s link to proof set-thm
IMAGE_ID !s. IMAGE (\x. x) s = s link to proof set-thm
IMAGE_IMP_INJECTIVE !s f. FINITE s /\ IMAGE f s = s ==> (!x y. x IN s /\ y IN s /\ f x = f y ==> x = y) link to proof set-size-thm
IMAGE_IMP_INJECTIVE_GEN !s t f. FINITE s /\ CARD s = CARD t /\ IMAGE f s = t ==> (!x y. x IN s /\ y IN s /\ f x = f y ==> x = y) link to proof set-size-thm
IMAGE_INJECTIVE_IMAGE_OF_SUBSET !f s. ?t. t SUBSET s /\ IMAGE f s = IMAGE f t /\ (!x y. x IN t /\ y IN t /\ f x = f y ==> x = y) link to proof set-thm
IMAGE_INSERT !f x s. IMAGE f (x INSERT s) = f x INSERT IMAGE f s link to proof set-thm
IMAGE_INTERS !f s. ~(s = {}) /\ (!x y. x IN UNIONS s /\ y IN UNIONS s /\ f x = f y ==> x = y) ==> IMAGE f (INTERS s) = INTERS (IMAGE (IMAGE f) s) link to proof set-thm
IMAGE_INTER_INJ !f s t. (!x y. f x = f y ==> x = y) ==> IMAGE f (s INTER t) = IMAGE f s INTER IMAGE f t link to proof set-thm
IMAGE_POWERSET !s. {t | t SUBSET s} = IMAGE (\p. {x | p x}) {p | (!x. x IN s ==> p x IN UNIV) /\ (!x. ~(x IN s) ==> (p x <=> F))} link to proof set-thm
IMAGE_SING !f x. IMAGE f {x} = {f x} link to proof set-thm
IMAGE_SUBSET !f s t. s SUBSET t ==> IMAGE f s SUBSET IMAGE f t link to proof set-thm
IMAGE_UNION !f s t. IMAGE f (s UNION t) = IMAGE f s UNION IMAGE f t link to proof set-thm
IMAGE_UNIONS !f s. IMAGE f (UNIONS s) = UNIONS (IMAGE (IMAGE f) s) link to proof set-thm
IMAGE_o !f g s. IMAGE (f o g) s = IMAGE f (IMAGE g s) link to proof set-thm
IMP_AND_DISTRIB !p q r. p ==> q /\ r <=> (p ==> q) /\ (p ==> r) link to proof bool-int
IMP_DEF (==>) = (\p q. p /\ q <=> p) link to proof bool-def
IMP_FALSE_THM !t. t ==> F <=> ~t link to proof bool-int
IMP_IMP !p q r. p ==> q ==> r <=> p /\ q ==> r link to proof bool-int
IMP_REFL !t. t ==> t link to proof bool-int
IMP_TRUE_THM !t. t ==> T <=> T link to proof bool-int
INFINITE !s. INFINITE s <=> ~FINITE s link to proof set-finite-def
INFINITE_DIFF_FINITE !s t. INFINITE s /\ FINITE t ==> INFINITE (s DIFF t) link to proof set-finite-thm
INFINITE_ENUMERATE !s. INFINITE s ==> (?r. (!m n. m < n ==> r m < r n) /\ IMAGE r UNIV = s) link to proof set-finite-thm
INFINITE_IMAGE_INJ !f s. INFINITE s /\ (!x y. x IN s /\ y IN s /\ f x = f y ==> x = y) ==> INFINITE (IMAGE f s) link to proof set-finite-thm
INFINITE_IMAGE_INJ_EQ !f. (!x y. f x = f y ==> x = y) ==> (!s. INFINITE (IMAGE f s) <=> INFINITE s) link to proof set-finite-thm
INFINITE_NONEMPTY !s. INFINITE s ==> ~(s = {}) link to proof set-finite-thm
INFINITE_SUPERSET !s t. INFINITE s /\ s SUBSET t ==> INFINITE t link to proof set-finite-thm
INFINITY_AX ?f. ONE_ONE f /\ ~ONTO f link to proof axiom-infinity
INJ !s t. INJ s t = {f | (!x. x IN s ==> f x IN t) /\ (!x y. x IN s /\ y IN s /\ f x = f y ==> x = y)} link to proof set-def
INJECTIVE_IMAGE !f. (!s t. IMAGE f s = IMAGE f t ==> s = t) <=> (!x y. f x = f y ==> x = y) link to proof set-thm
INJECTIVE_LEFT_INVERSE !f. (!x y. f x = f y ==> x = y) <=> (?g. !x. g (f x) = x) link to proof set-thm
INJECTIVE_MAP !f. (!l1 l2. MAP f l1 = MAP f l2 ==> l1 = l2) <=> (!x y. f x = f y ==> x = y) link to proof list-map-thm
INJECTIVE_ON_IMAGE !f u. (!s t. s SUBSET u /\ t SUBSET u /\ IMAGE f s = IMAGE f t ==> s = t) <=> (!x y. x IN u /\ y IN u /\ f x = f y ==> x = y) link to proof set-thm
INJECTIVE_ON_LEFT_INVERSE !f s. (!x y. x IN s /\ y IN s /\ f x = f y ==> x = y) <=> (?g. !x. x IN s ==> g (f x) = x) link to proof set-thm
INSERT !x s. x INSERT s = {y | y = x \/ y IN s} link to proof set-def
INSERT_AC !x y s. x INSERT y INSERT s = y INSERT x INSERT s /\ x INSERT x INSERT s = x INSERT s link to proof set-thm
INSERT_BOOL UNIV = {T, F} link to proof set-thm
INSERT_COMM !x y s. x INSERT y INSERT s = y INSERT x INSERT s link to proof set-thm
INSERT_DELETE !x s. x IN s ==> x INSERT (s DELETE x) = s link to proof set-thm
INSERT_DIFF !s t x. x INSERT s DIFF t = (if x IN t then s DIFF t else x INSERT (s DIFF t)) link to proof set-thm
INSERT_FUNSPACE !d a s t. {f | (!x. x IN a INSERT s ==> f x IN t) /\ (!x. ~(x IN a INSERT s) ==> f x = d)} = IMAGE (\(b,g) x. if x = a then b else g x) (t CROSS {f | (!x. x IN s ==> f x IN t) /\ (!x. ~(x IN s) ==> f x = d)}) link to proof set-thm
INSERT_INSERT !x s. x INSERT x INSERT s = x INSERT s link to proof set-thm
INSERT_INTER !x s t. x INSERT s INTER t = (if x IN t then x INSERT (s INTER t) else s INTER t) link to proof set-thm
INSERT_NUMSEG_LT !n. {m | m < SUC n} = n INSERT {m | m < n} link to proof set-thm
INSERT_NUMSEG_LT' !n. {m | m < SUC n} = 0 INSERT {SUC m | m < n} link to proof set-thm
INSERT_POWERSET !a t. {s | s SUBSET a INSERT t} = {s | s SUBSET t} UNION IMAGE (\s. a INSERT s) {s | s SUBSET t} link to proof set-thm
INSERT_PRODUCT_DEPENDENT !s t a. {x,y | x IN a INSERT s /\ y IN t x} = IMAGE ((,) a) (t a) UNION {x,y | x IN s /\ y IN t x} link to proof set-thm
INSERT_SUBSET !x s t. x INSERT s SUBSET t <=> x IN t /\ s SUBSET t link to proof set-thm
INSERT_UNION !x s t. x INSERT s UNION t = (if x IN t then s UNION t else x INSERT (s UNION t)) link to proof set-thm
INSERT_UNION_EQ !x s t. x INSERT s UNION t = x INSERT (s UNION t) link to proof set-thm
INSERT_UNION_SING !x s. {x} UNION s = x INSERT s link to proof set-thm
INSERT_UNIV !x. x INSERT UNIV = UNIV link to proof set-thm
INTER !s t. s INTER t = {x | x IN s /\ x IN t} link to proof set-def
INTERS !s. INTERS s = {x | !u. u IN s ==> x IN u} link to proof set-def
INTERS_0 INTERS {} = UNIV link to proof set-thm
INTERS_1 !s. INTERS {s} = s link to proof set-thm
INTERS_2 !s t. INTERS {s, t} = s INTER t link to proof set-thm
INTERS_GSPEC1 !p f. INTERS {f x | p x} = {a | !x. p x ==> a IN f x} link to proof set-thm
INTERS_GSPEC2 !p f. INTERS {f x y | p x y} = {a | !x y. p x y ==> a IN f x y} link to proof set-thm
INTERS_GSPEC3 !p f. INTERS {f x y z | p x y z} = {a | !x y z. p x y z ==> a IN f x y z} link to proof set-thm
INTERS_IMAGE !f s. INTERS (IMAGE f s) = {y | !x. x IN s ==> y IN f x} link to proof set-thm
INTERS_INSERT !s u. INTERS (s INSERT u) = s INTER INTERS u link to proof set-thm
INTERS_OVER_UNIONS !f s. INTERS {UNIONS (f x) | x IN s} = UNIONS {INTERS {g x | x IN s} | g | !x. x IN s ==> g x IN f x} link to proof set-thm
INTERS_SUBSET !u s. ~(u = {}) /\ (!t. t IN u ==> t SUBSET s) ==> INTERS u SUBSET s link to proof set-thm
INTERS_SUBSET_INTERS !s t. s SUBSET t ==> INTERS t SUBSET INTERS s link to proof set-thm
INTERS_UNION !s t. INTERS (s UNION t) = INTERS s INTER INTERS t link to proof set-thm
INTERS_UNIONS !s. INTERS s = UNIV DIFF UNIONS {UNIV DIFF t | t IN s} link to proof set-thm
INTER_ACI !p q r. p INTER q = q INTER p /\ (p INTER q) INTER r = p INTER q INTER r /\ p INTER q INTER r = q INTER p INTER r /\ p INTER p = p /\ p INTER p INTER q = p INTER q link to proof set-thm
INTER_ASSOC !s t u. (s INTER t) INTER u = s INTER t INTER u link to proof set-thm
INTER_COMM !s t. s INTER t = t INTER s link to proof set-thm
INTER_IDEMPOT !s. s INTER s = s link to proof set-thm
INTER_LEFT_EMPTY !s. {} INTER s = {} link to proof set-thm
INTER_LEFT_UNIV !s. UNIV INTER s = s link to proof set-thm
INTER_RIGHT_EMPTY !s. s INTER {} = {} link to proof set-thm
INTER_RIGHT_UNIV !s. s INTER UNIV = s link to proof set-thm
INTER_UNIONS !s t. t INTER UNIONS s = UNIONS {t INTER x | x IN s} link to proof set-thm
IN_CROSS !x y s t. x,y IN s CROSS t <=> x IN s /\ y IN t link to proof set-thm
IN_DELETE !s x y. x IN s DELETE y <=> x IN s /\ ~(x = y) link to proof set-thm
IN_DELETE_EQ !s x x'. (x IN s DELETE x' <=> x' IN s DELETE x) <=> x IN s <=> x' IN s link to proof set-thm
IN_DELETE_SWAP !s x x'. (x IN s <=> x' IN s) ==> (x IN s DELETE x' <=> x' IN s DELETE x) link to proof set-thm
IN_DIFF !s t x. x IN s DIFF t <=> x IN s /\ ~(x IN t) link to proof set-thm
IN_DISJOINT !s t. DISJOINT s t <=> ~(?x. x IN s /\ x IN t) link to proof set-thm
IN_ELIM !p x. x IN {y | p y} <=> p x link to proof set-thm
IN_ELIM_PAIR_THM !p a b. a,b IN {x,y | p x y} <=> p a b link to proof set-thm
IN_ELIM_THM !p x. x IN GSPEC p <=> p x link to proof set-def
IN_IMAGE !y s f. y IN IMAGE f s <=> (?x. y = f x /\ x IN s) link to proof set-thm
IN_INSERT !x y s. x IN y INSERT s <=> x = y \/ x IN s link to proof set-thm
IN_INTER !s t x. x IN s INTER t <=> x IN s /\ x IN t link to proof set-thm
IN_INTERS !s x. x IN INTERS s <=> (!t. t IN s ==> x IN t) link to proof set-thm
IN_REST !x s. x IN REST s <=> x IN s /\ ~(x = CHOICE s) link to proof set-thm
IN_SING !x y. x IN {y} <=> x = y link to proof set-thm
IN_UNION !s t x. x IN s UNION t <=> x IN s \/ x IN t link to proof set-thm
IN_UNIONS !s x. x IN UNIONS s <=> (?t. t IN s /\ x IN t) link to proof set-thm
IN_UNIV !x. x IN UNIV link to proof set-thm
ISL_INL !a. ISL (INL a) link to proof sum-def
ISL_INR !b. ~ISL (INR b) link to proof sum-def
ISL_case_sum !f g x. ISL x ==> case_sum f g x = f (OUTL x) link to proof sum-thm
ISR_INL !a. ~ISR (INL a) link to proof sum-def
ISR_INR !b. ISR (INR b) link to proof sum-def
ISR_case_sum !f g x. ISR x ==> case_sum f g x = g (OUTR x) link to proof sum-thm
ITSET_EQ !f g b s. FINITE s /\ (!x. x IN s ==> f x = g x) /\ (!x y s. ~(x = y) ==> f x (f y s) = f y (f x s)) /\ (!x y s. ~(x = y) ==> g x (g y s) = g y (g x s)) ==> ITSET f b s = ITSET g b s link to proof set-fold-thm
I_DEF I = (\x. x) link to proof function-def
I_O !f. I o f = f link to proof function-thm
I_THM !x. I x = x link to proof function-thm
K_DEF K = (\x y. x) link to proof function-def
K_THM !x y. K x y = x link to proof function-thm
LAMBDA_PAIR_THM !f. (\x. f x) = (\(a,b). f (a,b)) link to proof pair-thm
LAMBDA_UNPAIR_THM !f. (\(x,y). f x y) = (\p. f (FST p) (SND p)) link to proof pair-thm
LAST !h t. LAST (CONS h t) = (if NULL t then h else LAST t) link to proof list-last-def
LAST_MULTIPLE !x1 x2 l. LAST (CONS x1 (CONS x2 l)) = LAST (CONS x2 l) link to proof list-last-thm
LAST_SING !x. LAST [x] = x link to proof list-last-thm
LEFT_ADD_DISTRIB !m n p. m * (n + p) = m * n + m * p link to proof natural-mult-thm
LEFT_AND_DISTRIB !p q r. p \/ q /\ r <=> (p \/ q) /\ (p \/ r) link to proof bool-int
LEFT_AND_EXISTS_THM !p q. (?x. p x) /\ q <=> (?x. p x /\ q) link to proof bool-int
LEFT_AND_FORALL_THM !p q. (!x. p x) /\ q <=> (!x. p x /\ q) link to proof bool-int
LEFT_EXISTS_AND_THM !p q. (?x. p x /\ q) <=> (?x. p x) /\ q link to proof bool-int
LEFT_EXISTS_IMP_THM !p q. (?x. p x ==> q) <=> (!x. p x) ==> q link to proof bool-class
LEFT_FORALL_IMP_THM !p q. (!x. p x ==> q) <=> (?x. p x) ==> q link to proof bool-int
LEFT_FORALL_OR_THM !p q. (!x. p x \/ q) <=> (!x. p x) \/ q link to proof bool-class
LEFT_IMP_EXISTS_THM !p q. (?x. p x) ==> q <=> (!x. p x ==> q) link to proof bool-int
LEFT_IMP_FORALL_THM !p q. (!x. p x) ==> q <=> (?x. p x ==> q) link to proof bool-class
LEFT_INTER_DISTRIB !s t u. s UNION t INTER u = (s UNION t) INTER (s UNION u) link to proof set-thm
LEFT_INTER_SUBSET !s t. s INTER t SUBSET s link to proof set-thm
LEFT_OR_DISTRIB !p q r. p /\ (q \/ r) <=> p /\ q \/ p /\ r link to proof bool-int
LEFT_OR_EXISTS_THM !p q. (?x. p x) \/ q <=> (?x. p x \/ q) link to proof bool-int
LEFT_OR_FORALL_THM !p q. (!x. p x) \/ q <=> (!x. p x \/ q) link to proof bool-class
LEFT_SUB_DISTRIB !m n p. p <= n ==> m * (n - p) = m * n - m * p link to proof natural-mult-thm
LEFT_UNION_DISTRIB !s t u. s INTER (t UNION u) = s INTER t UNION s INTER u link to proof set-thm
LEFT_UNION_INTERS !s t. t UNION INTERS s = INTERS {t UNION x | x IN s} link to proof set-thm
LENGTH_APPEND !l1 l2. LENGTH (APPEND l1 l2) = LENGTH l1 + LENGTH l2 link to proof list-append-thm
LENGTH_CONS !h t. LENGTH (CONS h t) = SUC (LENGTH t) link to proof list-length-def
LENGTH_EQ_CONS !l n. LENGTH l = SUC n <=> (?h t. l = CONS h t /\ LENGTH t = n) link to proof list-length-thm
LENGTH_EQ_NIL !l. LENGTH l = 0 <=> l = [] link to proof list-length-thm
LENGTH_FILTER !p l. LENGTH (FILTER p l) <= LENGTH l link to proof list-filter-thm
LENGTH_LIST_OF_SET !s. FINITE s ==> LENGTH (list_of_set s) = CARD s link to proof list-set-thm
LENGTH_MAP !f l. LENGTH (MAP f l) = LENGTH l link to proof list-map-thm
LENGTH_NIL LENGTH [] = 0 link to proof list-length-def
LENGTH_REPLICATE !x n. LENGTH (REPLICATE x n) = n link to proof list-replicate-thm
LENGTH_REVERSE !l. LENGTH (REVERSE l) = LENGTH l link to proof list-reverse-thm
LENGTH_TL !l. ~NULL l ==> LENGTH (TL l) = LENGTH l - 1 link to proof list-length-thm
LET_ADD2 !m n p q. m <= p /\ n < q ==> m + n < p + q link to proof natural-add-thm
LET_ANTISYM !m n. ~(m <= n /\ n < m) link to proof natural-order-thm
LET_CASES !m n. m <= n \/ n < m link to proof natural-order-thm
LET_TRANS !m n p. m <= n /\ n < p ==> m < p link to proof natural-order-thm
LE_0 !n. 0 <= n link to proof natural-order-thm
LE_ADD !m n. m <= m + n link to proof natural-add-thm
LE_ADD2 !m n p q. m <= p /\ n <= q ==> m + n <= p + q link to proof natural-add-thm
LE_ADDR !m n. n <= m + n link to proof natural-add-thm
LE_ADD_LCANCEL !m n p. m + n <= m + p <=> n <= p link to proof natural-add-thm
LE_ADD_LCANCEL_0 !m n. m + n <= m <=> n = 0 link to proof natural-add-thm
LE_ADD_RCANCEL !m n p. n + m <= p + m <=> n <= p link to proof natural-add-thm
LE_ADD_RCANCEL_0 !m n. n + m <= m <=> n = 0 link to proof natural-add-thm
LE_ANTISYM !m n. m <= n /\ n <= m <=> m = n link to proof natural-order-thm
LE_CASES !m n. m <= n \/ n <= m link to proof natural-order-thm
LE_EXISTS !m n. m <= n <=> (?d. n = m + d) link to proof natural-add-thm
LE_EXP !x m n. x EXP m <= x EXP n <=> (if x = 0 then m = 0 ==> n = 0 else x = 1 \/ m <= n) link to proof natural-exp-thm
LE_INDUCT !p. (!m. p m m) /\ (!m n. m <= n /\ p m n ==> p m (SUC n)) ==> (!m n. m <= n ==> p m n) link to proof natural-add-thm
LE_LDIV !a b n. ~(a = 0) /\ b <= a * n ==> b DIV a <= n link to proof natural-div-thm
LE_LDIV_EQ !a b n. ~(a = 0) ==> (b DIV a <= n <=> b < a * (n + 1)) link to proof natural-div-thm
LE_LT !m n. m <= n <=> m < n \/ m = n link to proof natural-order-thm
LE_MAX !m n p. m <= MAX n p <=> m <= n \/ m <= p link to proof natural-order-min-max-thm
LE_MAX1 !m n. m <= MAX m n link to proof natural-order-min-max-thm
LE_MAX2 !m n. n <= MAX m n link to proof natural-order-min-max-thm
LE_MIN !m n p. m <= MIN n p <=> m <= n /\ m <= p link to proof natural-order-min-max-thm
LE_MULT2 !m n p q. m <= n /\ p <= q ==> m * p <= n * q link to proof natural-mult-thm
LE_MULT_LCANCEL !m n p. m * n <= m * p <=> m = 0 \/ n <= p link to proof natural-mult-thm
LE_MULT_RCANCEL !m n p. m * p <= n * p <=> m <= n \/ p = 0 link to proof natural-mult-thm
LE_RDIV_EQ !a b n. ~(a = 0) ==> (n <= b DIV a <=> a * n <= b) link to proof natural-div-thm
LE_REFL !n. n <= n link to proof natural-order-thm
LE_SQUARE_REFL !n. n <= n * n link to proof natural-mult-thm
LE_SUC !m n. SUC m <= SUC n <=> m <= n link to proof natural-order-thm
LE_SUC_LT !m n. SUC m <= n <=> m < n link to proof natural-order-thm
LE_TRANS !m n p. m <= n /\ n <= p ==> m <= p link to proof natural-order-thm
LE_ZERO !m. m <= 0 <=> m = 0 link to proof natural-order-def
LIST_OF_SET_PROPERTIES !s. FINITE s ==> set_of_list (list_of_set s) = s /\ LENGTH (list_of_set s) = CARD s link to proof list-set-def
LTE_ADD2 !m n p q. m < p /\ n <= q ==> m + n < p + q link to proof natural-add-thm
LTE_ANTISYM !m n. ~(m < n /\ n <= m) link to proof natural-order-thm
LTE_CASES !m n. m < n \/ n <= m link to proof natural-order-thm
LTE_TRANS !m n p. m < n /\ n <= p ==> m < p link to proof natural-order-thm
LT_0 !n. 0 < SUC n link to proof natural-order-thm
LT_ADD !m n. m < m + n <=> 0 < n link to proof natural-add-thm
LT_ADD2 !m n p q. m < p /\ n < q ==> m + n < p + q link to proof natural-add-thm
LT_ADDR !m n. n < m + n <=> 0 < m link to proof natural-add-thm
LT_ADD_LCANCEL !m n p. m + n < m + p <=> n < p link to proof natural-add-thm
LT_ADD_LCANCEL_0 !m n. ~(m + n < m) link to proof natural-add-thm
LT_ADD_RCANCEL !m n p. n + m < p + m <=> n < p link to proof natural-add-thm
LT_ADD_RCANCEL_0 !m n. ~(n + m < m) link to proof natural-add-thm
LT_ANTISYM !m n. ~(m < n /\ n < m) link to proof natural-order-thm
LT_CASES !m n. m < n \/ n < m \/ m = n link to proof natural-order-thm
LT_EXISTS !m n. m < n <=> (?d. n = m + SUC d) link to proof natural-add-thm
LT_EXP !x m n. x EXP m < x EXP n <=> 2 <= x /\ m < n \/ x = 0 /\ ~(m = 0) /\ n = 0 link to proof natural-exp-thm
LT_IMP_LE !m n. m < n ==> m <= n link to proof natural-order-thm
LT_IMP_NEQ !m n. m < n ==> ~(m = n) link to proof natural-order-thm
LT_LDIV !a b n. b < a * n ==> b DIV a < n link to proof natural-div-thm
LT_LDIV_EQ !a b n. ~(a = 0) ==> (b DIV a < n <=> b < a * n) link to proof natural-div-thm
LT_LE !m n. m < n <=> m <= n /\ ~(m = n) link to proof natural-order-thm
LT_LMULT !m n p. ~(m = 0) /\ n < p ==> m * n < m * p link to proof natural-mult-thm
LT_MAX !m n p. m < MAX n p <=> m < n \/ m < p link to proof natural-order-min-max-thm
LT_MIN !m n p. m < MIN n p <=> m < n /\ m < p link to proof natural-order-min-max-thm
LT_MULT !m n. 0 < m * n <=> 0 < m /\ 0 < n link to proof natural-mult-thm
LT_MULT2 !m n p q. m < n /\ p < q ==> m * p < n * q link to proof natural-mult-thm
LT_MULT_LCANCEL !m n p. m * n < m * p <=> ~(m = 0) /\ n < p link to proof natural-mult-thm
LT_MULT_RCANCEL !m n p. m * p < n * p <=> m < n /\ ~(p = 0) link to proof natural-mult-thm
LT_NZ !n. 0 < n <=> ~(n = 0) link to proof natural-order-thm
LT_POW2_REFL !n. n < 2 EXP n link to proof natural-exp-thm
LT_REFL !n. ~(n < n) link to proof natural-order-thm
LT_SUC !m n. SUC m < SUC n <=> m < n link to proof natural-order-thm
LT_SUC_LE !m n. m < SUC n <=> m <= n link to proof natural-order-thm
LT_TRANS !m n p. m < n /\ n < p ==> m < p link to proof natural-order-thm
LT_ZERO !m. ~(m < 0) link to proof natural-order-def
MAP_APPEND !f l1 l2. MAP f (APPEND l1 l2) = APPEND (MAP f l1) (MAP f l2) link to proof list-map-thm
MAP_CONS !f h t. MAP f (CONS h t) = CONS (f h) (MAP f t) link to proof list-map-def
MAP_EQ !f g l. ALL (\x. f x = g x) l ==> MAP f l = MAP g l link to proof list-map-thm
MAP_EQ_NIL !f l. MAP f l = [] <=> l = [] link to proof list-map-thm
MAP_I MAP I = I link to proof list-map-thm
MAP_ID !l. MAP (\x. x) l = l link to proof list-map-thm
MAP_NIL !f. MAP f [] = [] link to proof list-map-def
MAP_REPLICATE !f x n. MAP f (REPLICATE x n) = REPLICATE (f x) n link to proof list-replicate-thm
MAP_REVERSE !f l. REVERSE (MAP f l) = MAP f (REVERSE l) link to proof list-reverse-thm
MAP_o !f g l. MAP (f o g) l = MAP f (MAP g l) link to proof list-map-thm
MAP_o' !f g. MAP f o MAP g = MAP (f o g) link to proof list-map-thm
MAX !m n. MAX m n = (if m <= n then n else m) link to proof natural-order-min-max-def
MAX_ADD_LCANCEL !m n p. MAX (m + n) (m + p) = m + MAX n p link to proof natural-add-thm
MAX_ADD_RCANCEL !m n p. MAX (n + m) (p + m) = MAX n p + m link to proof natural-add-thm
MAX_COMM !m n. MAX m n = MAX n m link to proof natural-order-min-max-thm
MAX_EQ_ZERO !m n. MAX m n = 0 <=> m = 0 /\ n = 0 link to proof natural-order-min-max-thm
MAX_L0 !n. MAX 0 n = n link to proof natural-order-min-max-thm
MAX_LE !m n p. MAX n p <= m <=> n <= m /\ p <= m link to proof natural-order-min-max-thm
MAX_LT !m n p. MAX n p < m <=> n < m /\ p < m link to proof natural-order-min-max-thm
MAX_R0 !n. MAX n 0 = n link to proof natural-order-min-max-thm
MAX_REFL !n. MAX n n = n link to proof natural-order-min-max-thm
MAX_SUC !m n. MAX (SUC m) (SUC n) = SUC (MAX m n) link to proof natural-order-min-max-thm
MEASURE !m x y. MEASURE m x y <=> m x < m y link to proof relation-natural-def
MEASURE_LE !m a b. (!y. MEASURE m y a ==> MEASURE m y b) <=> m a <= m b link to proof relation-natural-thm
MEMBER_NOT_EMPTY !s. (?x. x IN s) <=> ~(s = {}) link to proof set-thm
MEM_APPEND !l1 l2 x. MEM x (APPEND l1 l2) <=> MEM x l1 \/ MEM x l2 link to proof list-append-thm
MEM_APPEND_DECOMPOSE_LEFT !x l. MEM x l <=> (?l1 l2. ~MEM x l1 /\ l = APPEND l1 (CONS x l2)) link to proof list-append-thm
MEM_CONS !x h t. MEM x (CONS h t) <=> x = h \/ MEM x t link to proof list-set-def
MEM_FILTER !p l x. MEM x (FILTER p l) <=> MEM x l /\ p x link to proof list-filter-thm
MEM_LIST_OF_SET !s. FINITE s ==> (!x. MEM x (list_of_set s) <=> x IN s) link to proof list-set-thm
MEM_MAP !f l y. MEM y (MAP f l) <=> (?x. y = f x /\ MEM x l) link to proof list-map-thm
MEM_NIL !x. ~MEM x [] link to proof list-set-def
MEM_REPLICATE !x n y. MEM y (REPLICATE x n) <=> y = x /\ ~(n = 0) link to proof list-replicate-thm
MEM_REVERSE !l x. MEM x (REVERSE l) <=> MEM x l link to proof list-reverse-thm
MEM_SET_OF_LIST !l x. MEM x l <=> x IN set_of_list l link to proof list-set-thm
MIN !m n. MIN m n = (if m <= n then m else n) link to proof natural-order-min-max-def
MINIMAL !p. (?n. p n) <=> p ((minimal) p) /\ (!m. m < (minimal) p ==> ~p m) link to proof natural-order-min-max-def
MINIMAL_EQ !p n. p n /\ (!m. m < n ==> ~p m) ==> (minimal) p = n link to proof natural-order-min-max-thm
MINIMAL_T (minimal n. T) = 0 link to proof natural-order-min-max-thm
MIN_ADD_LCANCEL !m n p. MIN (m + n) (m + p) = m + MIN n p link to proof natural-add-thm
MIN_ADD_RCANCEL !m n p. MIN (n + m) (p + m) = MIN n p + m link to proof natural-add-thm
MIN_COMM !m n. MIN m n = MIN n m link to proof natural-order-min-max-thm
MIN_L0 !n. MIN 0 n = 0 link to proof natural-order-min-max-thm
MIN_LE !m n p. MIN n p <= m <=> n <= m \/ p <= m link to proof natural-order-min-max-thm
MIN_LE1 !m n. MIN m n <= m link to proof natural-order-min-max-thm
MIN_LE2 !m n. MIN m n <= n link to proof natural-order-min-max-thm
MIN_LT !m n p. MIN n p < m <=> n < m \/ p < m link to proof natural-order-min-max-thm
MIN_R0 !n. MIN n 0 = 0 link to proof natural-order-min-max-thm
MIN_REFL !n. MIN n n = n link to proof natural-order-min-max-thm
MIN_SUC !m n. MIN (SUC m) (SUC n) = SUC (MIN m n) link to proof natural-order-min-max-thm
MOD_0 !n. ~(n = 0) ==> 0 MOD n = 0 link to proof natural-div-thm
MOD_1 !n. n MOD 1 = 0 link to proof natural-div-thm
MOD_ADD_MOD' !n a b. ~(n = 0) ==> (a MOD n + b MOD n) MOD n = (a + b) MOD n link to proof natural-div-thm
MOD_EQ !m n p q. m = n + q * p ==> m MOD p = n MOD p link to proof natural-div-thm
MOD_EQ_0 !m n. ~(n = 0) ==> (m MOD n = 0 <=> (?q. m = q * n)) link to proof natural-div-thm
MOD_EXISTS !m n. (?q. m = n * q) <=> (if n = 0 then m = 0 else m MOD n = 0) link to proof natural-div-thm
MOD_EXP_MOD' !n m p. ~(n = 0) ==> (m MOD n) EXP p MOD n = m EXP p MOD n link to proof natural-exp-thm
MOD_LE !m n. ~(n = 0) ==> m MOD n <= m link to proof natural-div-thm
MOD_LT !m n. m < n ==> m MOD n = m link to proof natural-div-thm
MOD_MOD !m n p. ~(n * p = 0) ==> m MOD (n * p) MOD n = m MOD n link to proof natural-div-thm
MOD_MOD_EXP_MIN !x p m n. ~(p = 0) ==> x MOD p EXP m MOD p EXP n = x MOD p EXP MIN m n link to proof natural-exp-thm
MOD_MOD_REFL' !n m. ~(n = 0) ==> m MOD n MOD n = m MOD n link to proof natural-div-thm
MOD_MULT !m n. ~(m = 0) ==> (m * n) MOD m = 0 link to proof natural-div-thm
MOD_MULT2 !m n p. ~(m * p = 0) ==> (m * n) MOD (m * p) = m * n MOD p link to proof natural-div-thm
MOD_MULT_ADD !m n p. (m * n + p) MOD n = p MOD n link to proof natural-div-thm
MOD_MULT_LMOD' !n m p. ~(n = 0) ==> (m MOD n * p) MOD n = (m * p) MOD n link to proof natural-div-thm
MOD_MULT_MOD2' !n m p. ~(n = 0) ==> (m MOD n * p MOD n) MOD n = (m * p) MOD n link to proof natural-div-thm
MOD_MULT_RMOD' !n m p. ~(n = 0) ==> (m * p MOD n) MOD n = (m * p) MOD n link to proof natural-div-thm
MOD_REFL !n. ~(n = 0) ==> n MOD n = 0 link to proof natural-div-thm
MOD_UNIQ !m n q r. m = q * n + r /\ r < n ==> m MOD n = r link to proof natural-div-thm
MONO_AND !p1 p2 q1 q2. (p1 ==> p2) /\ (q1 ==> q2) ==> p1 /\ q1 ==> p2 /\ q2 link to proof bool-int
MONO_COND !b p q r s. (p ==> q) /\ (r ==> s) ==> (if b then p else r) ==> (if b then q else s) link to proof bool-class
MONO_EXISTS !p q. (!x. p x ==> q x) ==> (?x. p x) ==> (?x. q x) link to proof bool-int
MONO_FORALL !p q. (!x. p x ==> q x) ==> (!x. p x) ==> (!x. q x) link to proof bool-int
MONO_IMP !p1 p2 q1 q2. (p2 ==> p1) /\ (q1 ==> q2) ==> (p1 ==> q1) ==> p2 ==> q2 link to proof bool-int
MONO_NOT !p q. (q ==> p) ==> ~p ==> ~q link to proof bool-int
MONO_OR !p1 p2 q1 q2. (p1 ==> p2) /\ (q1 ==> q2) ==> p1 \/ q1 ==> p2 \/ q2 link to proof bool-int
MULTL_EQ !m n. m * n = m <=> m = 0 \/ n = 1 link to proof natural-mult-thm
MULTR_EQ !m n. n * m = m <=> m = 0 \/ n = 1 link to proof natural-mult-thm
MULT_0 !m. m * 0 = 0 link to proof natural-mult-thm
MULT_1 !m. m * 1 = m link to proof natural-mult-thm
MULT_2 !n. 2 * n = n + n link to proof natural-mult-thm
MULT_ASSOC !m n p. m * n * p = (m * n) * p link to proof natural-mult-thm
MULT_DIV_LE !m n p. ~(p = 0) ==> m * n DIV p <= (m * n) DIV p link to proof natural-div-thm
MULT_EQ_0 !m n. m * n = 0 <=> m = 0 \/ n = 0 link to proof natural-mult-thm
MULT_EQ_1 !m n. m * n = 1 <=> m = 1 /\ n = 1 link to proof natural-mult-thm
MULT_EXP !p m n. (m * n) EXP p = m EXP p * n EXP p link to proof natural-exp-thm
MULT_LASSOC !m n p. m * n * p = n * m * p link to proof natural-mult-thm
MULT_SUC !m n. m * SUC n = m + m * n link to proof natural-mult-thm
MULT_SYM !m n. m * n = n * m link to proof natural-mult-thm
NIL_APPEND !l. APPEND [] l = l link to proof list-append-def
NOT_ALL !p l. ~ALL p l <=> EX (\x. ~p x) l link to proof list-set-thm
NOT_ALL_NOT !p l. ~ALL (\x. ~p x) l <=> EX p l link to proof list-set-thm
NOT_AND_THM !t1 t2. ~(t1 /\ t2) <=> ~t1 \/ ~t2 link to proof bool-class
NOT_CONS_NIL !h t. ~(CONS h t = []) link to proof list-thm
NOT_DEF (~) = (\p. p ==> F) link to proof bool-def
NOT_EQUAL_SETS !s t. ~(s = t) <=> (?x. x IN t <=> ~(x IN s)) link to proof set-thm
NOT_EVEN !n. ~EVEN n <=> ODD n link to proof natural-div-thm
NOT_EX !p l. ~EX p l <=> ALL (\x. ~p x) l link to proof list-set-thm
NOT_EXISTS_THM !p. ~(?x. p x) <=> (!x. ~p x) link to proof bool-class
NOT_EX_NOT !p l. ~EX (\x. ~p x) l <=> ALL p l link to proof list-set-thm
NOT_FALSE_THM ~F <=> T link to proof bool-int
NOT_FORALL_THM !p. ~(!x. p x) <=> (?x. ~p x) link to proof bool-class
NOT_IFF_THM !t1 t2. (~t1 <=> ~t2) <=> t1 <=> t2 link to proof bool-class
NOT_IMP !t1 t2. ~(t1 ==> t2) <=> t1 /\ ~t2 link to proof bool-class
NOT_INSERT_EMPTY !x s. ~(x INSERT s = {}) link to proof set-thm
NOT_IN_EMPTY !x. ~(x IN {}) link to proof set-thm
NOT_LE !m n. ~(m <= n) <=> n < m link to proof natural-order-thm
NOT_LT !m n. ~(m < n) <=> n <= m link to proof natural-order-thm
NOT_NOT_THM !t. ~ ~t <=> t link to proof bool-class
NOT_ODD !n. ~ODD n <=> EVEN n link to proof natural-div-thm
NOT_OR_THM !t1 t2. ~(t1 \/ t2) <=> ~t1 /\ ~t2 link to proof bool-class
NOT_PSUBSET_EMPTY !s. ~(s PSUBSET {}) link to proof set-thm
NOT_TRUE_THM ~T <=> F link to proof bool-int
NOT_UNIV_PSUBSET !s. ~(UNIV PSUBSET s) link to proof set-thm
NO_NAME !e f. ?!fn. fn _0 = e /\ (!n. fn (SUC n) = f (fn n) n) link to proof natural-thm
NO_NAME !p. p _0 /\ (!n. p n ==> p (SUC n)) ==> (!n. p n) link to proof natural-def
NO_NAME !m n. m < SUC n <=> m = n \/ m < n link to proof natural-order-def
NO_NAME !m n. m <= SUC n <=> m = SUC n \/ m <= n link to proof natural-order-def
NO_NAME !n. ~(SUC n = _0) link to proof natural-def
NULL_APPEND !l1 l2. NULL (APPEND l1 l2) <=> NULL l1 /\ NULL l2 link to proof list-append-thm
NULL_CONS !h t. ~NULL (CONS h t) link to proof list-dest-def
NULL_EQ_NIL !l. NULL l <=> l = [] link to proof list-dest-thm
NULL_LENGTH !l. LENGTH l = 0 <=> NULL l link to proof list-length-thm
NULL_MAP !f l. NULL (MAP f l) <=> NULL l link to proof list-map-thm
NULL_NIL NULL [] link to proof list-dest-def
NULL_REPLICATE !x n. NULL (REPLICATE x n) <=> n = 0 link to proof list-replicate-thm
NULL_SET_OF_LIST !l. set_of_list l = {} <=> NULL l link to proof list-set-thm
ODD_ADD !m n. ODD (m + n) <=> ~(ODD m <=> ODD n) link to proof natural-div-thm
ODD_DOUBLE !n. ODD (SUC (2 * n)) link to proof natural-div-thm
ODD_EXISTS !n. ODD n <=> (?m. n = SUC (2 * m)) link to proof natural-div-thm
ODD_EXP !m n. ODD (m EXP n) <=> ODD m \/ n = 0 link to proof natural-exp-thm
ODD_MOD !n. ODD n <=> n MOD 2 = 1 link to proof natural-div-thm
ODD_MULT !m n. ODD (m * n) <=> ODD m /\ ODD n link to proof natural-div-thm
ODD_SUB !m n. n <= m ==> (ODD (m - n) <=> ~(ODD m <=> ODD n)) link to proof natural-div-thm
ODD_SUC !n. ODD (SUC n) <=> ~ODD n link to proof natural-div-def
ODD_ZERO ~ODD 0 link to proof natural-div-def
ONE_MULT !m. 1 * m = m link to proof natural-mult-thm
ONE_ONE !f. ONE_ONE f <=> (!x1 x2. f x1 = f x2 ==> x1 = x2) link to proof function-def
ONTO !f. ONTO f <=> (!y. ?x. y = f x) link to proof function-def
OR_DEF (\/) = (\p q. !r. (p ==> r) ==> (q ==> r) ==> r) link to proof bool-def
OR_EXISTS_THM !p q. (?x. p x) \/ (?x. q x) <=> (?x. p x \/ q x) link to proof bool-int
OR_FALSE_THM !t. t \/ F <=> t link to proof bool-int
OR_IMP_DISTRIB !p q r. p \/ q ==> r <=> (p ==> r) /\ (q ==> r) link to proof bool-int
OR_TRUE_THM !t. t \/ T <=> T link to proof bool-int
OUTL !a. OUTL (INL a) = a link to proof sum-def
OUTR !b. OUTR (INR b) = b link to proof sum-def
O_I !f. f o I = f link to proof function-thm
PAIR !x. FST x,SND x = x link to proof pair-thm
PAIRED_ETA_THM (!f. (\(a,b). f (a,b)) = f) /\ (!f. (\(a,b,c). f (a,b,c)) = f) /\ (!f. (\(a,b,c,d). f (a,b,c,d)) = f) link to proof pair-thm
PAIR_EQ !a b a' b'. a,b = a',b' <=> a = a' /\ b = b' link to proof pair-def
PAIR_SURJECTIVE !x. ?a b. x = a,b link to proof pair-def
PRE !n. PRE (SUC n) = n link to proof natural-dest-def
PSUBSET !s t. s PSUBSET t <=> s SUBSET t /\ ~(s = t) link to proof set-def
PSUBSET_ALT !s t. s PSUBSET t <=> s SUBSET t /\ (?a. a IN t /\ ~(a IN s)) link to proof set-thm
PSUBSET_INSERT_SUBSET !s t. s PSUBSET t <=> (?x. ~(x IN s) /\ x INSERT s SUBSET t) link to proof set-thm
PSUBSET_IRREFL !s. ~(s PSUBSET s) link to proof set-thm
PSUBSET_NOT_SUBSET !s t. s PSUBSET t <=> s SUBSET t /\ ~(t SUBSET s) link to proof set-thm
PSUBSET_SUBSET !s t. s PSUBSET t ==> s SUBSET t link to proof set-thm
PSUBSET_SUBSET_TRANS !s t u. s PSUBSET t /\ t SUBSET u ==> s PSUBSET u link to proof set-thm
PSUBSET_TRANS !s t u. s PSUBSET t /\ t PSUBSET u ==> s PSUBSET u link to proof set-thm
PSUBSET_UNIV !s. s PSUBSET UNIV <=> (?x. ~(x IN s)) link to proof set-thm
REPLICATE_0 !x. REPLICATE x 0 = [] link to proof list-replicate-def
REPLICATE_ADD !x m n. REPLICATE x (m + n) = APPEND (REPLICATE x m) (REPLICATE x n) link to proof list-replicate-thm
REPLICATE_SUC !x n. REPLICATE x (SUC n) = CONS x (REPLICATE x n) link to proof list-replicate-def
REST !s. REST s = s DELETE CHOICE s link to proof set-def
REVERSE_APPEND !l1 l2. REVERSE (APPEND l1 l2) = APPEND (REVERSE l2) (REVERSE l1) link to proof list-reverse-thm
REVERSE_CONS !h t. REVERSE (CONS h t) = APPEND (REVERSE t) [h] link to proof list-reverse-def
REVERSE_NIL REVERSE [] = [] link to proof list-reverse-def
REVERSE_REVERSE !l. REVERSE (REVERSE l) = l link to proof list-reverse-thm
RIGHT_ADD_DISTRIB !m n p. (m + n) * p = m * p + n * p link to proof natural-mult-thm
RIGHT_AND_DISTRIB !p q r. p /\ q \/ r <=> (p \/ r) /\ (q \/ r) link to proof bool-int
RIGHT_AND_EXISTS_THM !p q. p /\ (?x. q x) <=> (?x. p /\ q x) link to proof bool-int
RIGHT_AND_FORALL_THM !p q. p /\ (!x. q x) <=> (!x. p /\ q x) link to proof bool-int
RIGHT_EXISTS_AND_THM !p q. (?x. p /\ q x) <=> p /\ (?x. q x) link to proof bool-int
RIGHT_EXISTS_IMP_THM !p q. (?x. p ==> q x) <=> p ==> (?x. q x) link to proof bool-class
RIGHT_FORALL_IMP_THM !p q. (!x. p ==> q x) <=> p ==> (!x. q x) link to proof bool-int
RIGHT_FORALL_OR_THM !p q. (!x. p \/ q x) <=> p \/ (!x. q x) link to proof bool-class
RIGHT_IMP_EXISTS_THM !p q. p ==> (?x. q x) <=> (?x. p ==> q x) link to proof bool-class
RIGHT_IMP_FORALL_THM !p q. p ==> (!x. q x) <=> (!x. p ==> q x) link to proof bool-int
RIGHT_INTER_DISTRIB !s t u. s INTER t UNION u = (s UNION u) INTER (t UNION u) link to proof set-thm
RIGHT_INTER_SUBSET !s t. t INTER s SUBSET s link to proof set-thm
RIGHT_OR_DISTRIB !p q r. (p \/ q) /\ r <=> p /\ r \/ q /\ r link to proof bool-int
RIGHT_OR_EXISTS_THM !p q. p \/ (?x. q x) <=> (?x. p \/ q x) link to proof bool-int
RIGHT_OR_FORALL_THM !p q. p \/ (!x. q x) <=> (!x. p \/ q x) link to proof bool-class
RIGHT_SUB_DISTRIB !m n p. n <= m ==> (m - n) * p = m * p - n * p link to proof natural-mult-thm
RIGHT_UNION_DISTRIB !s t u. (s UNION t) INTER u = s INTER u UNION t INTER u link to proof set-thm
RIGHT_UNION_INTERS !s t. INTERS s UNION t = INTERS {x UNION t | x IN s} link to proof set-thm
SELECT_AX !p x. p x ==> p ((@) p) link to proof axiom-choice
SELECT_REFL !x. (@y. y = x) = x link to proof bool-class
SELECT_UNIQUE !p x. (!y. p y <=> y = x) ==> (@) p = x link to proof bool-class
SET_CASES !s. s = {} \/ (?x t. s = x INSERT t /\ ~(x IN t)) link to proof set-thm
SET_OF_LIST_APPEND !l1 l2. set_of_list (APPEND l1 l2) = set_of_list l1 UNION set_of_list l2 link to proof list-append-thm
SET_OF_LIST_EQ_EMPTY !l. set_of_list l = {} <=> l = [] link to proof list-set-thm
SET_OF_LIST_FILTER !p l. set_of_list (FILTER p l) = set_of_list l DIFF {x | ~p x} link to proof list-filter-thm
SET_OF_LIST_MAP !f l. set_of_list (MAP f l) = IMAGE f (set_of_list l) link to proof list-map-thm
SET_OF_LIST_OF_SET !s. FINITE s ==> set_of_list (list_of_set s) = s link to proof list-set-thm
SET_OF_LIST_REPLICATE !x n. set_of_list (REPLICATE x n) = (if n = 0 then {} else {x}) link to proof list-replicate-thm
SET_OF_LIST_REVERSE !l. set_of_list (REVERSE l) = set_of_list l link to proof list-reverse-thm
SET_PAIR_THM !p. {x | p x} = {a,b | p (a,b)} link to proof set-thm
SET_PROVE_CASES !p. p {} /\ (!a s. ~(a IN s) ==> p (a INSERT s)) ==> (!s. p s) link to proof set-thm
SIMPLE_IMAGE !f s. {f x | x IN s} = IMAGE f s link to proof set-thm
SIMPLE_IMAGE_GEN !p f. {f x | p x} = IMAGE f {x | p x} link to proof set-thm
SING !s. SING s <=> (?x. s = {x}) link to proof set-def
SING_DISJOINT !x s. DISJOINT {x} s <=> ~(x IN s) link to proof set-thm
SING_GSPEC1 !a. {x | x = a} = {a} link to proof set-thm
SING_SUBSET !s x. {x} SUBSET s <=> x IN s link to proof set-thm
SKOLEM_THM !r. (!x. ?y. r x y) <=> (?f. !x. r x (f x)) link to proof bool-class
SKOLEM_THM_GEN !p r. (!x. p x ==> (?y. r x y)) <=> (?f. !x. p x ==> r x (f x)) link to proof bool-class
SKX_EQ_I !x. S K x = I link to proof function-thm
SND !a b. SND (a,b) = b link to proof pair-def
SUB1 !n. ~(n = 0) ==> PRE n = n - 1 link to proof natural-add-sub-thm
SUBSET !s t. s SUBSET t <=> (!x. x IN s ==> x IN t) link to proof set-def
SUBSET_ANTISYM !s t. s SUBSET t /\ t SUBSET s ==> s = t link to proof set-thm
SUBSET_ANTISYM_EQ !s t. s SUBSET t /\ t SUBSET s <=> s = t link to proof set-thm
SUBSET_CARD_EQ !s t. FINITE t /\ s SUBSET t ==> (CARD s = CARD t <=> s = t) link to proof set-size-thm
SUBSET_DELETE !x s t. s SUBSET t DELETE x <=> s SUBSET t /\ ~(x IN s) link to proof set-thm
SUBSET_DIFF !s t u. s SUBSET t DIFF u <=> s SUBSET t /\ DISJOINT s u link to proof set-thm
SUBSET_DIFF_UNION !s t u. s SUBSET t UNION u <=> s DIFF t SUBSET u link to proof set-thm
SUBSET_EMPTY !s. s SUBSET {} <=> s = {} link to proof set-thm
SUBSET_IMAGE !f s t. s SUBSET IMAGE f t <=> (?u. u SUBSET t /\ s = IMAGE f u) link to proof set-thm
SUBSET_IMAGE_INJ !f s t. s SUBSET IMAGE f t <=> (?u. u SUBSET t /\ (!x y. x IN u /\ y IN u /\ f x = f y ==> x = y) /\ s = IMAGE f u) link to proof set-thm
SUBSET_INSERT !x s. ~(x IN s) ==> (!t. s SUBSET x INSERT t <=> s SUBSET t) link to proof set-thm
SUBSET_INSERT_DELETE !x s t. s SUBSET x INSERT t <=> s DELETE x SUBSET t link to proof set-thm
SUBSET_INSERT_IMP !s t x. s SUBSET t ==> s SUBSET x INSERT t link to proof set-thm
SUBSET_INTER !s t u. s SUBSET t INTER u <=> s SUBSET t /\ s SUBSET u link to proof set-thm
SUBSET_INTERS !t u. t SUBSET INTERS u <=> (!s. s IN u ==> t SUBSET s) link to proof set-thm
SUBSET_INTER_ABSORPTION !s t. s SUBSET t <=> s INTER t = s link to proof set-thm
SUBSET_LEFT_UNION !s t. s SUBSET s UNION t link to proof set-thm
SUBSET_PSUBSET_TRANS !s t u. s SUBSET t /\ t PSUBSET u ==> s PSUBSET u link to proof set-thm
SUBSET_REFL !s. s SUBSET s link to proof set-thm
SUBSET_RESTRICT !s p. {x | x IN s /\ p x} SUBSET s link to proof set-thm
SUBSET_RIGHT_UNION !s t. s SUBSET t UNION s link to proof set-thm
SUBSET_SING !s x. s SUBSET {x} <=> s = {} \/ s = {x} link to proof set-thm
SUBSET_TRANS !s t u. s SUBSET t /\ t SUBSET u ==> s SUBSET u link to proof set-thm
SUBSET_UNIONS !f g. f SUBSET g ==> UNIONS f SUBSET UNIONS g link to proof set-thm
SUBSET_UNION_ABSORPTION !s t. s SUBSET t <=> s UNION t = t link to proof set-thm
SUBSET_UNION_DIFF !s t u. s SUBSET t UNION u <=> s DIFF u SUBSET t link to proof set-thm
SUBSET_UNIV !s. s SUBSET UNIV link to proof set-thm
SUB_0 !m. m - 0 = m link to proof natural-add-sub-thm
SUB_ADD !m n. n <= m ==> m - n + n = m link to proof natural-add-sub-thm
SUB_ADD2 !m n. n <= m ==> n + m - n = m link to proof natural-add-sub-thm
SUB_ADD_LCANCEL !m n p. p <= n ==> (m + n) - (m + p) = n - p link to proof natural-add-sub-thm
SUB_ADD_RCANCEL !m n p. n <= m ==> (m + p) - (n + p) = m - n link to proof natural-add-sub-thm
SUB_EQ_0 !m n. n <= m ==> (m - n = 0 <=> m = n) link to proof natural-add-sub-thm
SUB_PRESUC !m n. n <= m ==> PRE (SUC m - n) = m - n link to proof natural-add-sub-thm
SUB_REFL !n. n - n = 0 link to proof natural-add-sub-thm
SUB_SUB !m n p. n + p <= m ==> m - (n + p) = m - n - p link to proof natural-add-sub-thm
SUB_SUC !m n. n <= m ==> SUC m - SUC n = m - n link to proof natural-add-sub-thm
SUB_SUC_CANCEL !m n. n < m ==> SUC (m - SUC n) = m - n link to proof natural-add-sub-thm
SUB_SUC_PRE !m n. n < m ==> m - SUC n = PRE (m - n) link to proof natural-add-sub-thm
SUC_ADD !m n. SUC m + n = SUC (m + n) link to proof natural-add-def
SUC_INJ !m n. SUC m = SUC n <=> m = n link to proof natural-def
SUC_INJ_MOD !n a b. ~(n = 0) ==> (SUC a MOD n = SUC b MOD n <=> a MOD n = b MOD n) link to proof natural-div-thm
SUC_LE !n. n <= SUC n link to proof natural-order-thm
SUC_LT !n. n < SUC n link to proof natural-order-thm
SUC_MULT !m n. SUC m * n = m * n + n link to proof natural-mult-def
SUC_SUB !m n. n <= m ==> SUC (m - n) = SUC m - n link to proof natural-add-sub-thm
SUC_SUB1 !n. SUC n - 1 = n link to proof natural-add-sub-thm
SURJ !s t. SURJ s t = {f | (!x. x IN s ==> f x IN t) /\ (!x. x IN t ==> (?y. y IN s /\ f y = x))} link to proof set-def
SURJECTIVE_EXISTS_THM !f. (!y. ?x. f x = y) <=> (!p. (?x. p (f x)) <=> (?y. p y)) link to proof function-thm
SURJECTIVE_FORALL_THM !f. (!y. ?x. f x = y) <=> (!p. (!x. p (f x)) <=> (!y. p y)) link to proof function-thm
SURJECTIVE_IFF_INJECTIVE !s f. FINITE s /\ IMAGE f s SUBSET s ==> ((!y. y IN s ==> (?x. x IN s /\ f x = y)) <=> (!x y. x IN s /\ y IN s /\ f x = f y ==> x = y)) link to proof set-size-thm
SURJECTIVE_IFF_INJECTIVE_GEN !s t f. FINITE s /\ FINITE t /\ CARD s = CARD t /\ IMAGE f s SUBSET t ==> ((!y. y IN t ==> (?x. x IN s /\ f x = y)) <=> (!x y. x IN s /\ y IN s /\ f x = f y ==> x = y)) link to proof set-size-thm
SURJECTIVE_IMAGE !f. (!t. ?s. IMAGE f s = t) <=> (!y. ?x. f x = y) link to proof set-thm
SURJECTIVE_IMAGE_EQ !f s t. (!y. y IN t ==> (?x. f x = y)) /\ (!x. f x IN t <=> x IN s) ==> IMAGE f s = t link to proof set-thm
SURJECTIVE_IMAGE_THM !f. (!y. ?x. f x = y) <=> (!p. IMAGE f {x | p (f x)} = {x | p x}) link to proof set-thm
SURJECTIVE_MAP !f. (!ys. ?xs. MAP f xs = ys) <=> (!y. ?x. f x = y) link to proof list-map-thm
SURJECTIVE_ON_IMAGE !f u v. (!t. t SUBSET v ==> (?s. s SUBSET u /\ IMAGE f s = t)) <=> (!y. y IN v ==> (?x. x IN u /\ f x = y)) link to proof set-thm
SURJECTIVE_ON_RIGHT_INVERSE !f s t. (!y. y IN t ==> (?x. x IN s /\ f x = y)) <=> (?g. !y. y IN t ==> g y IN s /\ f (g y) = y) link to proof set-thm
SURJECTIVE_RIGHT_INVERSE !f. (!y. ?x. f x = y) <=> (?g. !y. f (g y) = y) link to proof set-thm
SWAP_EXISTS_THM !p. (?x y. p x y) <=> (?y x. p x y) link to proof bool-int
SWAP_FORALL_THM !p. (!x y. p x y) <=> (!y x. p x y) link to proof bool-int
S_DEF S = (\f g x. f x (g x)) link to proof function-def
S_THM !f g x. S f g x = f x (g x) link to proof function-thm
TL !h t. TL (CONS h t) = t link to proof list-dest-def
TRIV_AND_EXISTS_THM !p q. (?x. p) /\ (?x. q) <=> (?x. p /\ q) link to proof bool-int
TRIV_EXISTS_AND_THM !p q. (?x. p /\ q) <=> (?x. p) /\ (?x. q) link to proof bool-int
TRIV_EXISTS_IMP_THM !p q. (?x. p ==> q) <=> (!x. p) ==> (?x. q) link to proof bool-int
TRIV_FORALL_IMP_THM !p q. (!x. p ==> q) <=> (?x. p) ==> (!x. q) link to proof bool-int
TRIV_FORALL_OR_THM !p q. (!x. p \/ q) <=> (!x. p) \/ (!x. q) link to proof bool-int
TRIV_OR_FORALL_THM !p q. (!x. p) \/ (!x. q) <=> (!x. p \/ q) link to proof bool-int
TRUE_AND_THM !t. T /\ t <=> t link to proof bool-int
TRUE_EQ_THM !t. (T <=> t) <=> t link to proof bool-int
TRUE_IMP_THM !t. T ==> t <=> t link to proof bool-int
TRUE_OR_THM !t. T \/ t <=> T link to proof bool-int
TRUTH T link to proof bool-int
T_DEF T <=> (\p. p) = (\p. p) link to proof bool-def
UNION !s t. s UNION t = {x | x IN s \/ x IN t} link to proof set-def
UNIONS !s. UNIONS s = {x | ?u. u IN s /\ x IN u} link to proof set-def
UNIONS_0 UNIONS {} = {} link to proof set-thm
UNIONS_1 !s. UNIONS {s} = s link to proof set-thm
UNIONS_2 !s t. UNIONS {s, t} = s UNION t link to proof set-thm
UNIONS_DIFF !s t. UNIONS s DIFF t = UNIONS {x DIFF t | x IN s} link to proof set-thm
UNIONS_GSPEC1 !p f. UNIONS {f x | p x} = {a | ?x. p x /\ a IN f x} link to proof set-thm
UNIONS_GSPEC2 !p f. UNIONS {f x y | p x y} = {a | ?x y. p x y /\ a IN f x y} link to proof set-thm
UNIONS_GSPEC3 !p f. UNIONS {f x y z | p x y z} = {a | ?x y z. p x y z /\ a IN f x y z} link to proof set-thm
UNIONS_IMAGE !f s. UNIONS (IMAGE f s) = {y | ?x. x IN s /\ y IN f x} link to proof set-thm
UNIONS_INSERT !s u. UNIONS (s INSERT u) = s UNION UNIONS u link to proof set-thm
UNIONS_INTER !s t. UNIONS s INTER t = UNIONS {x INTER t | x IN s} link to proof set-thm
UNIONS_INTERS !s. UNIONS s = UNIV DIFF INTERS {UNIV DIFF t | t IN s} link to proof set-thm
UNIONS_MAXIMAL_SETS !f. FINITE f ==> UNIONS {t | t IN f /\ (!u. u IN f ==> ~(t PSUBSET u))} = UNIONS f link to proof set-finite-thm
UNIONS_MONO !s t. (!x. x IN s ==> (?y. y IN t /\ x SUBSET y)) ==> UNIONS s SUBSET UNIONS t link to proof set-thm
UNIONS_OVER_INTERS !f s. UNIONS {INTERS (f x) | x IN s} = INTERS {UNIONS {g x | x IN s} | g | !x. x IN s ==> g x IN f x} link to proof set-thm
UNIONS_SUBSET !f t. UNIONS f SUBSET t <=> (!s. s IN f ==> s SUBSET t) link to proof set-thm
UNIONS_UNION !s t. UNIONS (s UNION t) = UNIONS s UNION UNIONS t link to proof set-thm
UNION_ACI !p q r. p UNION q = q UNION p /\ (p UNION q) UNION r = p UNION q UNION r /\ p UNION q UNION r = q UNION p UNION r /\ p UNION p = p /\ p UNION p UNION q = p UNION q link to proof set-thm
UNION_ASSOC !s t u. (s UNION t) UNION u = s UNION t UNION u link to proof set-thm
UNION_COMM !s t. s UNION t = t UNION s link to proof set-thm
UNION_DIFF_CANCEL !s t. t UNION s DIFF t = t UNION s link to proof set-thm
UNION_DIFF_SUBSET !s t. s UNION t DIFF s = t <=> s SUBSET t link to proof set-thm
UNION_IDEMPOT !s. s UNION s = s link to proof set-thm
UNION_LEFT_EMPTY !s. {} UNION s = s link to proof set-thm
UNION_LEFT_UNIV !s. UNIV UNION s = UNIV link to proof set-thm
UNION_RIGHT_EMPTY !s. s UNION {} = s link to proof set-thm
UNION_RIGHT_UNIV !s. s UNION UNIV = UNIV link to proof set-thm
UNION_SUBSET !s t u. s UNION t SUBSET u <=> s SUBSET u /\ t SUBSET u link to proof set-thm
UNIQUE_SKOLEM_ALT !p. (!x. ?!y. p x y) <=> (?f. !x y. p x y <=> f x = y) link to proof bool-class
UNIQUE_SKOLEM_THM !p. (!x. ?!y. p x y) <=> (?!f. !x. p x (f x)) link to proof bool-class
UNIV UNIV = {x | T} link to proof set-def
UNIV_GSPEC GSPEC (\x. T) = UNIV link to proof set-thm
UNIV_INTERS !s. INTERS s = UNIV <=> (!t. t IN s ==> t = UNIV) link to proof set-thm
UNIV_NOT_EMPTY ~(UNIV = {}) link to proof set-thm
UNIV_SUBSET !s. UNIV SUBSET s <=> s = UNIV link to proof set-thm
UNWIND_THM1 !p a. (?x. a = x /\ p x) <=> p a link to proof bool-int
UNWIND_THM2 !p a. (?x. x = a /\ p x) <=> p a link to proof bool-int
WF !r. WF r <=> (!p. (?x. p x) ==> (?x. p x /\ (!y. r y x ==> ~p y))) link to proof relation-well-founded-def
WF_DCHAIN !r. WF r <=> ~(?f. !n. r (f (SUC n)) (f n)) link to proof relation-natural-thm
WF_EQ !r. WF r <=> (!p. (?x. p x) <=> (?x. p x /\ (!y. r y x ==> ~p y))) link to proof relation-well-founded-thm
WF_EREC !r. WF r ==> (!h. (!f g x. (!z. r z x ==> f z = g z) ==> h f x = h g x) ==> (?!f. !x. f x = h f x)) link to proof relation-natural-thm
WF_FINITE !r. (!x. ~r x x) /\ (!x y z. r x y /\ r y z ==> r x z) /\ (!x. FINITE {y | r y x}) ==> WF r link to proof relation-natural-thm
WF_IND !r. WF r <=> (!p. (!x. (!y. r y x ==> p y) ==> p x) ==> (!x. p x)) link to proof relation-well-founded-thm
WF_LEX !r s. WF r /\ WF s ==> WF (\(x1,y1) (x2,y2). r x1 x2 \/ x1 = x2 /\ s y1 y2) link to proof relation-well-founded-thm
WF_LEX_DEPENDENT !r s. WF r /\ (!a. WF (s a)) ==> WF (\(x1,y1) (x2,y2). r x1 x2 \/ x1 = x2 /\ s x1 y1 y2) link to proof relation-well-founded-thm
WF_MEASURE !m. WF (MEASURE m) link to proof relation-natural-thm
WF_MEASURE_GEN !r m. WF r ==> WF (\x y. r (m x) (m y)) link to proof relation-well-founded-thm
WF_POINTWISE !r s. WF r /\ WF s ==> WF (\(x1,y1) (x2,y2). r x1 x2 /\ s y1 y2) link to proof relation-well-founded-thm
WF_REC !r. WF r ==> (!h. (!f g x. (!z. r z x ==> f z = g z) ==> h f x = h g x) ==> (?f. !x. f x = h f x)) link to proof relation-natural-thm
WF_REC_INVARIANT !r. WF r ==> (!h s. (!f g x. (!z. r z x ==> f z = g z /\ s z (f z)) ==> h f x = h g x /\ s x (h f x)) ==> (?f. !x. f x = h f x)) link to proof relation-natural-thm
WF_REC_TAIL !p g h. ?f. !x. f x = (if p x then f (g x) else h x) link to proof relation-natural-thm
WF_REC_WF !r. (!h. (!f g x. (!z. r z x ==> f z = g z) ==> h f x = h g x) ==> (?f. !x. f x = h f x)) ==> WF r link to proof relation-natural-thm
WF_UREC !r. WF r ==> (!h. (!f g x. (!z. r z x ==> f z = g z) ==> h f x = h g x) ==> (!f g. (!x. f x = h f x) /\ (!x. g x = h g x) ==> f = g)) link to proof relation-natural-thm
WF_UREC_WF !r. (!h. (!f g x. (!z. r z x ==> (f z <=> g z)) ==> (h f x <=> h g x)) ==> (!f g. (!x. f x <=> h f x) /\ (!x. g x <=> h g x) ==> f = g)) ==> WF r link to proof relation-natural-thm
WF_num WF (<) link to proof relation-natural-thm
WLOG_RELATION !r p. (!x y. p x y ==> p y x) /\ (!x y. r x y \/ r y x) /\ (!x y. r x y ==> p x y) ==> (!x y. p x y) link to proof bool-int
W_DEF W = (\f x. f x x) link to proof function-def
W_THM !f x. W f x = f x x link to proof function-thm
ZERO_ADD !n. 0 + n = n link to proof natural-add-def
ZERO_MULT !n. 0 * n = 0 link to proof natural-mult-def
all_nth !p l. ALL p l <=> (!i. i < LENGTH l ==> p (nth l i)) link to proof list-nth-thm
big_interr !s x y. big_interr s x y <=> (!r. r IN s ==> r x y) link to proof relation-thm
big_interr_def !s. big_interr s = set_to_relation (INTERS (IMAGE relation_to_set s)) link to proof relation-def
big_unionr !s x y. big_unionr s x y <=> (?r. r IN s /\ r x y) link to proof relation-thm
big_unionr_def !s. big_unionr s = set_to_relation (UNIONS (IMAGE relation_to_set s)) link to proof relation-def
bool_INDUCT !p. p F /\ p T ==> (!x. p x) link to proof bool-class
bool_RECURSION !a b. ?f. f F = a /\ f T = b link to proof bool-class
case_list_cons !b f h t. case_list b f (CONS h t) = f h t link to proof list-dest-def
case_list_id !l. case_list [] CONS l = l link to proof list-dest-thm
case_list_nil !b f. case_list b f [] = b link to proof list-dest-def
case_option_id !x. case_option NONE SOME x = x link to proof option-dest-thm
case_option_none !b f. case_option b f NONE = b link to proof option-dest-def
case_option_some !b f a. case_option b f (SOME a) = f a link to proof option-dest-def
case_sum_id !x. case_sum INL INR x = x link to proof sum-thm
case_sum_left !f g a. case_sum f g (INL a) = f a link to proof sum-def
case_sum_right !f g b. case_sum f g (INR b) = g b link to proof sum-def
concat_cons !h t. concat (CONS h t) = APPEND h (concat t) link to proof list-append-def
concat_nil concat [] = [] link to proof list-append-def
dist !m n. dist m n = (if m <= n then n - m else m - n) link to proof natural-distance-def
div_induction !k p. 1 < k /\ p 0 /\ (!n. ~(n = 0) /\ p (n DIV k) ==> p n) ==> (!n. p n) link to proof natural-div-thm
drop_add !m n l. m + n <= LENGTH l ==> drop (m + n) l = drop m (drop n l) link to proof list-take-drop-thm
drop_append !l1 l2. drop (LENGTH l1) (APPEND l1 l2) = l2 link to proof list-take-drop-thm
drop_length !l. drop (LENGTH l) l = [] link to proof list-take-drop-thm
drop_replicate !m n x. m <= n ==> drop m (REPLICATE x n) = REPLICATE x (n - m) link to proof list-take-drop-thm
drop_suc !n h t. n <= LENGTH t ==> drop (SUC n) (CONS h t) = drop n t link to proof list-take-drop-def
drop_zero !l. drop 0 l = l link to proof list-take-drop-def
emptyr !x y. ~emptyr x y link to proof relation-thm
emptyr_def emptyr = set_to_relation {} link to proof relation-def
ex_nth !p l. EX p l <=> (?i. i < LENGTH l /\ p (nth l i)) link to proof list-nth-thm
exp_log_le !k n. 1 < k /\ ~(n = 0) ==> k EXP log k n <= n link to proof natural-exp-log-thm
foldl_append !f b l1 l2. foldl f b (APPEND l1 l2) = foldl f (foldl f b l1) l2 link to proof list-fold-thm
foldl_append_assoc !g f b l1 l2. (!s. g s b = s) /\ (!s1 s2 x. g s1 (f s2 x) = f (g s1 s2) x) ==> foldl f b (APPEND l1 l2) = g (foldl f b l1) (foldl f b l2) link to proof list-fold-thm
foldl_cons !f b h t. foldl f b (CONS h t) = foldl f (f b h) t link to proof list-fold-thm
foldl_def !f b l. foldl f b l = foldr (C f) b (REVERSE l) link to proof list-fold-def
foldl_nil !f b. foldl f b [] = b link to proof list-fold-thm
foldl_reverse !f b l. foldl f b (REVERSE l) = foldr (C f) b l link to proof list-fold-thm
foldl_suc !l k. foldl (\n x. SUC n) k l = LENGTH l + k link to proof list-fold-thm
foldl_with_cons !l1 l2. foldl (C CONS) l2 l1 = APPEND (REVERSE l1) l2 link to proof list-fold-thm
foldl_with_cons_nil !l. foldl (C CONS) [] l = REVERSE l link to proof list-fold-thm
foldr_append !f b l1 l2. foldr f b (APPEND l1 l2) = foldr f (foldr f b l2) l1 link to proof list-fold-thm
foldr_append_assoc !g f b l1 l2. (!s. g b s = s) /\ (!x s1 s2. g (f x s1) s2 = f x (g s1 s2)) ==> foldr f b (APPEND l1 l2) = g (foldr f b l1) (foldr f b l2) link to proof list-fold-thm
foldr_cons !f b h t. foldr f b (CONS h t) = f h (foldr f b t) link to proof list-fold-def
foldr_nil !f b. foldr f b [] = b link to proof list-fold-def
foldr_reverse !f b l. foldr f b (REVERSE l) = foldl (C f) b l link to proof list-fold-thm
foldr_suc !l k. foldr (\x n. SUC n) k l = LENGTH l + k link to proof list-fold-thm
foldr_with_cons !l1 l2. foldr CONS l2 l1 = APPEND l1 l2 link to proof list-fold-thm
foldr_with_cons_nil !l. foldr CONS [] l = l link to proof list-fold-thm
funpow_I !n. funpow I n = I link to proof natural-funpow-thm
funpow_add !f m n. funpow f (m + n) = funpow f m o funpow f n link to proof natural-funpow-thm
funpow_mult !f m n. funpow f (m * n) = funpow (funpow f m) n link to proof natural-funpow-thm
funpow_one !f. funpow f 1 = f link to proof natural-funpow-thm
funpow_suc !f n. funpow f (SUC n) = f o funpow f n link to proof natural-funpow-def
funpow_suc' !f n. funpow f (SUC n) = funpow f n o f link to proof natural-funpow-thm
funpow_suc_x !f n x. funpow f (SUC n) x = f (funpow f n x) link to proof natural-funpow-thm
funpow_suc_x' !f n x. funpow f (SUC n) x = funpow f n (f x) link to proof natural-funpow-thm
funpow_zero !f. funpow f 0 = I link to proof natural-funpow-def
inl_inj !a b. INL a = INL b <=> a = b link to proof sum-thm
inr_inj !a b. INR a = INR b <=> a = b link to proof sum-thm
interr !r s x y. interr r s x y <=> r x y /\ s x y link to proof relation-thm
interr_def !r s. interr r s = set_to_relation (relation_to_set r INTER relation_to_set s) link to proof relation-def
interval_suc !m n. interval m (SUC n) = CONS m (interval (SUC m) n) link to proof list-interval-def
interval_zero !m. interval m 0 = [] link to proof list-interval-def
irreflexive !r x. irreflexive r ==> ~r x x link to proof relation-thm
irreflexive_def !r. irreflexive r <=> (!x. ~r x x) link to proof relation-def
irreflexive_emptyr irreflexive emptyr link to proof relation-thm
irreflexive_successor irreflexive successor link to proof relation-natural-thm
is_none_none is_none NONE link to proof option-dest-def
is_none_some !a. ~is_none (SOME a) link to proof option-dest-def
is_some_none ~is_some NONE link to proof option-dest-def
is_some_some !a. is_some (SOME a) link to proof option-dest-def
large_exp !k n. 1 < k ==> (?m. n <= k EXP m) link to proof natural-exp-thm
last_nth !l. ~NULL l ==> nth l (LENGTH l - 1) = LAST l link to proof list-nth-thm
length_drop !n l. n <= LENGTH l ==> LENGTH (drop n l) = LENGTH l - n link to proof list-take-drop-thm
length_drop_add !n l. n <= LENGTH l ==> n + LENGTH (drop n l) = LENGTH l link to proof list-take-drop-thm
length_interval !m n. LENGTH (interval m n) = n link to proof list-interval-thm
length_nub !l. LENGTH (nub l) <= LENGTH l link to proof list-nub-thm
length_setify !l. LENGTH (setify l) <= LENGTH l link to proof list-nub-thm
length_take !n l. n <= LENGTH l ==> LENGTH (take n l) = n link to proof list-take-drop-thm
length_zip !l1 l2 n. LENGTH l1 = n /\ LENGTH l2 = n ==> LENGTH (zip l1 l2) = n link to proof list-zip-thm
length_zipwith !f l1 l2 n. LENGTH l1 = n /\ LENGTH l2 = n ==> LENGTH (zipwith f l1 l2) = n link to proof list-zip-thm
list_INDUCT !p. p [] /\ (!h t. p t ==> p (CONS h t)) ==> (!l. p l) link to proof list-def
list_RECURSION !b f. ?fn. fn [] = b /\ (!h t. fn (CONS h t) = f h t (fn t)) link to proof list-def
list_cases !l. l = [] \/ (?h t. l = CONS h t) link to proof list-thm
log_def !k n m. k EXP m <= n /\ n < k EXP (m + 1) ==> log k n = m link to proof natural-exp-log-def
log_eq !k n m. 1 < k /\ ~(n = 0) ==> (log k n = m <=> k EXP m <= n /\ n < k EXP (m + 1)) link to proof natural-exp-log-thm
log_eq_zero !k n. 1 < k /\ ~(n = 0) ==> (log k n = 0 <=> n < k) link to proof natural-exp-log-thm
log_eq_zero_imp !k n. 1 < k /\ ~(n = 0) /\ n < k ==> log k n = 0 link to proof natural-exp-log-thm
log_lower_bound !k m n. 1 < k /\ k EXP m <= n ==> m <= log k n link to proof natural-exp-log-thm
log_max !k m. 1 < k ==> log k (k EXP (m + 1) - 1) = m link to proof natural-exp-log-thm
log_min !k m. 1 < k ==> log k (k EXP m) = m link to proof natural-exp-log-thm
log_mono !k n1 n2. 1 < k /\ ~(n1 = 0) /\ n1 <= n2 ==> log k n1 <= log k n2 link to proof natural-exp-log-thm
log_mult_upper_bound !k n1 n2. 1 < k /\ ~(n1 = 0) /\ ~(n2 = 0) ==> log k (n1 * n2) <= log k n1 + log k n2 + 1 link to proof natural-exp-log-thm
log_one !k. 1 < k ==> log k 1 = 0 link to proof natural-exp-log-thm
log_recursion !k n. 1 < k /\ ~(n = 0) ==> log k n = (if n < k then 0 else log k (n DIV k) + 1) link to proof natural-exp-log-thm
log_upper_bound !k m n. 1 < k /\ ~(n = 0) /\ n < k EXP m ==> log k n < m link to proof natural-exp-log-thm
lt_exp_log !k n. 1 < k /\ ~(n = 0) ==> n < k EXP (log k n + 1) link to proof natural-exp-log-thm
map_option_id map_option I = I link to proof option-map-thm
map_option_none !f. map_option f NONE = NONE link to proof option-map-def
map_option_o !f g x. map_option (f o g) x = map_option f (map_option g x) link to proof option-map-thm
map_option_o' !f g. map_option f o map_option g = map_option (f o g) link to proof option-map-thm
map_option_some !f a. map_option f (SOME a) = SOME (f a) link to proof option-map-def
map_suc_interval !m n. MAP SUC (interval m n) = interval (SUC m) n link to proof list-interval-thm
mem_nth !l x. MEM x l <=> (?i. i < LENGTH l /\ x = nth l i) link to proof list-nth-thm
mem_nub !l x. MEM x (nub l) <=> MEM x l link to proof list-nub-thm
mem_setify !l x. MEM x (setify l) <=> MEM x l link to proof list-nub-thm
nth_append !l1 l2 k. k < LENGTH l1 + LENGTH l2 ==> nth (APPEND l1 l2) k = (if k < LENGTH l1 then nth l1 k else nth l2 (k - LENGTH l1)) link to proof list-nth-thm
nth_drop !n l i. n + i < LENGTH l ==> nth (drop n l) i = nth l (n + i) link to proof list-take-drop-thm
nth_eq !l1 l2. LENGTH l1 = LENGTH l2 /\ (!i. i < LENGTH l1 ==> nth l1 i = nth l2 i) ==> l1 = l2 link to proof list-nth-thm
nth_interval !m n i. i < n ==> nth (interval m n) i = m + i link to proof list-interval-thm
nth_map !f l i. i < LENGTH l ==> nth (MAP f l) i = f (nth l i) link to proof list-nth-thm
nth_replicate !x n i. i < n ==> nth (REPLICATE x n) i = x link to proof list-replicate-thm
nth_suc !h t n. n < LENGTH t ==> nth (CONS h t) (SUC n) = nth t n link to proof list-nth-def
nth_take !n l i. n <= LENGTH l /\ i < n ==> nth (take n l) i = nth l i link to proof list-take-drop-thm
nth_take_drop !n l i. n <= LENGTH l /\ i < LENGTH l ==> nth l i = (if i < n then nth (take n l) i else nth (drop n l) (i - n)) link to proof list-take-drop-thm
nth_zero !h t. nth (CONS h t) 0 = h link to proof list-nth-def
nth_zip !l1 l2 n i. LENGTH l1 = n /\ LENGTH l2 = n /\ i < n ==> nth (zip l1 l2) i = nth l1 i,nth l2 i link to proof list-zip-thm
nth_zipwith !f l1 l2 n i. LENGTH l1 = n /\ LENGTH l2 = n /\ i < n ==> nth (zipwith f l1 l2) i = f (nth l1 i) (nth l2 i) link to proof list-zip-thm
nub_def !l. nub l = REVERSE (setify (REVERSE l)) link to proof list-nub-def
nub_idempotent !l. nub (nub l) = nub l link to proof list-nub-thm
null_concat !l. NULL (concat l) <=> ALL NULL l link to proof list-append-thm
num_CASES !m. m = 0 \/ (?n. m = SUC n) link to proof natural-thm
num_FINITE !s. FINITE s <=> (?a. !x. x IN s ==> x <= a) link to proof set-finite-thm
num_FINITE_AVOID !s. FINITE s ==> (?a. ~(a IN s)) link to proof set-finite-thm
num_INFINITE INFINITE UNIV link to proof set-finite-thm
num_MAX !p. (?n. p n) /\ (?m. !n. p n ==> n <= m) <=> (?m. p m /\ (!n. p n ==> n <= m)) link to proof natural-order-thm
num_WF !p. (!n. (!m. m < n ==> p m) ==> p n) ==> (!n. p n) link to proof natural-order-thm
num_WOP !p. (?n. p n) <=> (?n. p n /\ (!m. m < n ==> ~p m)) link to proof natural-order-thm
o_ASSOC !f g h. f o g o h = (f o g) o h link to proof function-thm
o_ASSOC' !f g h. (f o g) o h = f o g o h link to proof function-thm
o_PRIM_DEF (o) = (\f g x. f (g x)) link to proof function-def
o_THM !f g x. (f o g) x = f (g x) link to proof function-thm
one !v. v = one link to proof unit-def
one_Axiom !e. ?!fn. fn one = e link to proof unit-thm
one_INDUCT !p. p one ==> (!x. p x) link to proof unit-thm
one_RECURSION !e. ?fn. fn one = e link to proof unit-thm
one_axiom !f g. f = g link to proof unit-thm
option_INDUCT !p. p NONE /\ (!a. p (SOME a)) ==> (!x. p x) link to proof option-def
option_RECURSION !b f. ?fn. fn NONE = b /\ (!a. fn (SOME a) = f a) link to proof option-def
option_cases !x. x = NONE \/ (?a. x = SOME a) link to proof option-thm
option_distinct !a. ~(SOME a = NONE) link to proof option-thm
option_inj !a b. SOME a = SOME b <=> a = b link to proof option-thm
pair_INDUCT !p. (!a b. p (a,b)) ==> (!x. p x) link to proof pair-thm
pair_RECURSION !f. ?fn. !a b. fn (a,b) = f a b link to proof pair-thm
real_abs !x. abs x = (if &0 <= x then x else --x) link to proof real-def
real_div !x y. ~(y = &0) ==> x / y = x * inv y link to proof real-def
real_ge !x y. x >= y <=> y <= x link to proof real-def
real_gt !x y. x > y <=> y < x link to proof real-def
real_lt !x y. x < y <=> ~(y <= x) link to proof real-def
real_max !m n. max m n = (if m <= n then n else m) link to proof real-def
real_min !m n. min m n = (if m <= n then m else n) link to proof real-def
real_pow_suc !x n. x pow SUC n = x * x pow n link to proof real-def
real_pow_zero !x. x pow 0 = &1 link to proof real-def
real_sub !x y. x - y = x + --y link to proof real-def
reflexive !r x. reflexive r ==> r x x link to proof relation-thm
reflexive_def !r. reflexive r <=> (!x. r x x) link to proof relation-def
reflexive_univr reflexive univr link to proof relation-thm
relation_extension_imp !r s. (!x y. r x y <=> s x y) ==> r = s link to proof relation-thm
relation_to_set !r x y. x,y IN relation_to_set r <=> r x y link to proof relation-thm
relation_to_set_def !r. relation_to_set r = {x,y | r x y} link to proof relation-def
relation_to_set_inj !r s. relation_to_set r = relation_to_set s ==> r = s link to proof relation-thm
relation_to_set_to_relation !r. set_to_relation (relation_to_set r) = r link to proof relation-thm
set_of_list_cons !h t. set_of_list (CONS h t) = h INSERT set_of_list t link to proof list-set-def
set_of_list_nil set_of_list [] = {} link to proof list-set-def
set_of_list_nth !l. set_of_list l = IMAGE (nth l) {i | i < LENGTH l} link to proof list-nth-thm
set_of_list_nub !l. set_of_list (nub l) = set_of_list l link to proof list-nub-thm
set_of_list_setify !l. set_of_list (setify l) = set_of_list l link to proof list-nub-thm
set_to_relation_def !s x y. set_to_relation s x y <=> x,y IN s link to proof relation-def
set_to_relation_to_set !s. relation_to_set (set_to_relation s) = s link to proof relation-thm
setify_cons !h t. setify (CONS h t) = (if MEM h t then setify t else CONS h (setify t)) link to proof list-nub-def
setify_idempotent !l. setify (setify l) = setify l link to proof list-nub-thm
setify_nil setify [] = [] link to proof list-nub-def
subrelation !r s. subrelation r s <=> (!x y. r x y ==> s x y) link to proof relation-thm
subrelation_antisym !r s. subrelation r s /\ subrelation s r ==> r = s link to proof relation-thm
subrelation_big_interr !r s. subrelation r (big_interr s) <=> (!t. t IN s ==> subrelation r t) link to proof relation-thm
subrelation_def !r s. subrelation r s <=> relation_to_set r SUBSET relation_to_set s link to proof relation-def
subrelation_refl !r. subrelation r r link to proof relation-thm
subrelation_successor_lt subrelation successor (<) link to proof relation-natural-thm
subrelation_trans !r s t. subrelation r s /\ subrelation s t ==> subrelation r t link to proof relation-thm
successor_def !m n. successor m n <=> SUC m = n link to proof relation-natural-def
sum_CASES !x. (?a. x = INL a) \/ (?b. x = INR b) link to proof sum-thm
sum_INDUCT !p. (!a. p (INL a)) /\ (!b. p (INR b)) ==> (!x. p x) link to proof sum-def
sum_RECURSION !f g. ?fn. (!a. fn (INL a) = f a) /\ (!b. fn (INR b) = g b) link to proof sum-def
sum_distinct !a b. ~(INL a = INR b) link to proof sum-thm
take_add !m n l. m + n <= LENGTH l ==> take (m + n) l = APPEND (take m l) (take n (drop m l)) link to proof list-take-drop-thm
take_append !l1 l2. take (LENGTH l1) (APPEND l1 l2) = l1 link to proof list-take-drop-thm
take_drop !n l. n <= LENGTH l ==> APPEND (take n l) (drop n l) = l link to proof list-take-drop-thm
take_length !l. take (LENGTH l) l = l link to proof list-take-drop-thm
take_one !h t. take 1 (CONS h t) = [h] link to proof list-take-drop-thm
take_replicate !m n x. m <= n ==> take m (REPLICATE x n) = REPLICATE x m link to proof list-take-drop-thm
take_suc !n h t. n <= LENGTH t ==> take (SUC n) (CONS h t) = CONS h (take n t) link to proof list-take-drop-def
take_zero !l. take 0 l = [] link to proof list-take-drop-def
transitive_closure_def !r. transitive_closure r = big_interr {s | subrelation r s /\ transitive s} link to proof relation-def
transitive_closure_smallest !r s. subrelation r s /\ transitive s ==> subrelation (transitive_closure r) s link to proof relation-thm
transitive_closure_subrelation !r. subrelation r (transitive_closure r) link to proof relation-thm
transitive_closure_successor_lt transitive_closure successor = (<) link to proof relation-natural-thm
transitive_closure_transitive !r. transitive (transitive_closure r) link to proof relation-thm
transitive_def !r. transitive r <=> (!x y z. r x y /\ r y z ==> r x z) link to proof relation-def
transitive_emptyr transitive emptyr link to proof relation-thm
transitive_lt transitive (<) link to proof relation-natural-thm
transitive_successor_lt !r. subrelation successor r /\ transitive r ==> subrelation (<) r link to proof relation-natural-thm
transitive_univr transitive univr link to proof relation-thm
unionr !r s x y. unionr r s x y <=> r x y \/ s x y link to proof relation-thm
unionr_def !r s. unionr r s = set_to_relation (relation_to_set r UNION relation_to_set s) link to proof relation-def
univr !x y. univr x y link to proof relation-thm
univr_def univr = set_to_relation UNIV link to proof relation-def
unzip_cons !h x y t xs ys. unzip (CONS h t) = CONS x xs,CONS y ys <=> h = x,y /\ unzip t = xs,ys link to proof list-zip-thm
unzip_def unzip = foldr (\(x,y) (xs,ys). CONS x xs,CONS y ys) ([],[]) link to proof list-zip-def
unzip_eq_nil1 !l ys. unzip l = [],ys <=> l = [] /\ ys = [] link to proof list-zip-thm
unzip_eq_nil2 !l xs. unzip l = xs,[] <=> l = [] /\ xs = [] link to proof list-zip-thm
unzip_nil unzip [] = [],[] link to proof list-zip-thm
wellfounded_emptyr WF emptyr link to proof relation-well-founded-thm
wellfounded_irreflexive !r. WF r ==> irreflexive r link to proof relation-well-founded-thm
wellfounded_subrelation !r s. subrelation r s /\ WF s ==> WF r link to proof relation-well-founded-thm
wellfounded_successor WF successor link to proof relation-natural-thm
zip_append !x1 x2 y1 y2. LENGTH x1 = LENGTH y1 /\ LENGTH x2 = LENGTH y2 ==> zip (APPEND x1 x2) (APPEND y1 y2) = APPEND (zip x1 y1) (zip x2 y2) link to proof list-zip-thm
zip_cons !x y xs ys. LENGTH xs = LENGTH ys ==> zip (CONS x xs) (CONS y ys) = CONS (x,y) (zip xs ys) link to proof list-zip-thm
zip_def !l1 l2. zip l1 l2 = zipwith (,) l1 l2 link to proof list-zip-def
zip_nil zip [] [] = [] link to proof list-zip-thm
zip_sing !x y. zip [x] [y] = [x,y] link to proof list-zip-thm
zip_unzip !l xs ys. unzip l = xs,ys <=> LENGTH xs = LENGTH ys /\ l = zip xs ys link to proof list-zip-thm
zipwith_append !f x1 x2 y1 y2. LENGTH x1 = LENGTH y1 /\ LENGTH x2 = LENGTH y2 ==> zipwith f (APPEND x1 x2) (APPEND y1 y2) = APPEND (zipwith f x1 y1) (zipwith f x2 y2) link to proof list-zip-thm
zipwith_cons !f h1 h2 t1 t2. LENGTH t1 = LENGTH t2 ==> zipwith f (CONS h1 t1) (CONS h2 t2) = CONS (f h1 h2) (zipwith f t1 t2) link to proof list-zip-def
zipwith_nil !f. zipwith f [] [] = [] link to proof list-zip-def
zipwith_sing !f x y. zipwith f [x] [y] = [f x y] link to proof list-zip-thm
Back to ProofCloud main page