Entry Value
Name BIJECTIONS_CARD_EQ
Conclusion !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
Constructive Proof No
Axiom
!t. t \/ ~t 
(\a. a = (\b. (\c. c) = (\c. c))) (\d. (\e. d e) = d) 
(\a. a = (\b. (\c. c) = (\c. c)))
(\d. (\e. e = (\f. (\c. c) = (\c. c)))
     (\g. (\h i.
               (\j k.
                    (\l. l j k) =
                    (\m. m ((\c. c) = (\c. c)) ((\c. c) = (\c. c))))
               h
               i <=>
               h)
          (d g)
          (d ((@) d)))) 
(\a. (\b. b = (\c. (\d. d) = (\d. d)))
     (\e. (\f g.
               (\h i.
                    (\j. j h i) =
                    (\k. k ((\d. d) = (\d. d)) ((\d. d) = (\d. d))))
               f
               g <=>
               f)
          ((\l. l = (\m. (\d. d) = (\d. d)))
          (\n. (\f g.
                    (\h i.
                         (\j. j h i) =
                         (\k. k ((\d. d) = (\d. d)) ((\d. d) = (\d. d))))
                    f
                    g <=>
                    f)
               (a n)
               e))
          e))
(\p. (\h i. (\j. j h i) = (\k. k ((\d. d) = (\d. d)) ((\d. d) = (\d. d))))
     ((\q. q = (\r. (\d. d) = (\d. d)))
     (\s. (\q. q = (\r. (\d. d) = (\d. d)))
          (\t. (\f g.
                    (\h i.
                         (\j. j h i) =
                         (\k. k ((\d. d) = (\d. d)) ((\d. d) = (\d. d))))
                    f
                    g <=>
                    f)
               (p s = p t)
               (s = t))))
     ((\u. (\f g.
                (\h i.
                     (\j. j h i) =
                     (\k. k ((\d. d) = (\d. d)) ((\d. d) = (\d. d))))
                f
                g <=>
                f)
           u
           ((\b. b = (\c. (\d. d) = (\d. d))) (\d. d)))
     ((\q. q = (\r. (\d. d) = (\d. d)))
     (\v. (\w. (\b. b = (\c. (\d. d) = (\d. d)))
               (\x. (\f g.
                         (\h i.
                              (\j. j h i) =
                              (\k. k ((\d. d) = (\d. d)) ((\d. d) = (\d. d))))
                         f
                         g <=>
                         f)
                    ((\q. q = (\r. (\d. d) = (\d. d)))
                    (\y. (\f g.
                              (\h i.
                                   (\j. j h i) =
                                   (\k. k ((\d. d) = (\d. d))
                                        ((\d. d) = (\d. d))))
                              f
                              g <=>
                              f)
                         (w y)
                         x))
                    x))
          (\z. v = p z)))))
Classical Lemmas
  • !x y s. s DELETE x DELETE y = s DELETE y DELETE x
  • !x y s. (x INSERT s) DELETE y = (if x = y then s DELETE y else x INSERT (s DELETE y))
  • !x s t. s SUBSET x INSERT t <=> s DELETE x SUBSET t
  • !x s. s DELETE x = s <=> ~(x IN s)
  • !x s. (x INSERT s) DELETE x = s <=> ~(x IN s)
  • !x s. DISJOINT s {x} <=> ~(x IN s)
  • !x s. DISJOINT {x} s <=> ~(x IN s)
  • !x s. FINITE s ==> CARD (x INSERT s) = (if x IN s then CARD s else SUC (CARD s))
  • !x s. x IN s ==> x INSERT (s DELETE x) = s
  • !t1 t2. ~(t1 /\ t2) <=> ~t1 \/ ~t2
  • !t1 t2. ~(t1 ==> t2) <=> t1 /\ ~t2
  • !t1 t2. ~(t1 \/ t2) <=> ~t1 /\ ~t2
  • !t. ~ ~t <=> t
  • !t. (t <=> T) \/ (t <=> F)
  • !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
  • !f s. FINITE s ==> FINITE {y | ?x. x IN s /\ y = f x}
  • !f s. FINITE s ==> FINITE (IMAGE f s)
  • !f s. (!x y. x IN s /\ y IN s /\ f x = f y ==> x = y) /\ FINITE s ==> CARD (IMAGE f s) = CARD s
  • !p c x y. p (if c then x else y) <=> (c ==> p x) /\ (~c ==> p y)
  • !p. (?x. ~p x) <=> ~(!x. p x)
  • !p. ~(!x. p x) <=> (?x. ~p x)
  • !p. ~(?x. p x) <=> (!x. ~p x)
  • !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)))
  • !p. p {} /\ (!x s. p s /\ ~(x IN s) /\ FINITE s ==> p (x INSERT s)) ==> (!s. FINITE s ==> p s)
  • !m n. SUC m = SUC n <=> m = n
  • !n. ~(SUC n = _0)
  • !s x. FINITE (s DELETE x) <=> FINITE s
  • !s x. FINITE (x INSERT s) <=> FINITE s
  • !s x. FINITE s ==> FINITE (s DELETE x)
  • !s t u. s SUBSET t UNION u <=> s DIFF t SUBSET u
  • !t u s. s DIFF t DIFF u = s DIFF (t UNION u)
  • !t u s. s DIFF t DIFF u = s DIFF u DIFF t
  • !s t. FINITE (s UNION t) <=> FINITE s /\ FINITE t
  • !s t. s DIFF t = s <=> DISJOINT s t
  • !s t. FINITE t /\ s SUBSET t ==> FINITE s
  • !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
  • !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)
  • CARD {} = 0
  • Constructive Lemmas
  • T
  • !x y s. x IN y INSERT s <=> x = y \/ x IN s
  • !x y s. s DELETE x DELETE y = s DELETE y DELETE x
  • !x y s. (x INSERT s) DELETE y = (if x = y then s DELETE y else x INSERT (s DELETE y))
  • !t1 t2. (if F then t1 else t2) = t2
  • !t1 t2. (if T then t1 else t2) = t1
  • !x y. x = y <=> y = x
  • !x y. x IN {y} <=> x = y
  • !x y. x = y ==> y = x
  • !x s t. s SUBSET x INSERT t <=> s DELETE x SUBSET t
  • !x s t. x INSERT s UNION t = x INSERT (s UNION t)
  • !x s. s DELETE x = s <=> ~(x IN s)
  • !x s. (x INSERT s) DELETE x = s <=> ~(x IN s)
  • !x s. DISJOINT s {x} <=> ~(x IN s)
  • !x s. DISJOINT {x} s <=> ~(x IN s)
  • !x s. x IN s <=> x INSERT s = s
  • !x s. s DIFF {x} = s DELETE x
  • !x s. x INSERT s = {y | y = x \/ y IN s}
  • !x s. {x} UNION s = x INSERT s
  • !x s. FINITE s ==> FINITE (x INSERT s)
  • !x s. FINITE s ==> CARD (x INSERT s) = (if x IN s then CARD s else SUC (CARD s))
  • !x s. x IN s ==> x INSERT (s DELETE x) = s
  • !x s. s DELETE x SUBSET s
  • !x. ~(x IN {})
  • !x. x = x
  • !x. (@y. y = x) = x
  • !y s f. y IN IMAGE f s <=> (?x. y = f x /\ x IN s)
  • !p1 p2 q1 q2. (p1 ==> p2) /\ (q1 ==> q2) ==> p1 /\ q1 ==> p2 /\ q2
  • !p1 p2 q1 q2. (p1 ==> p2) /\ (q1 ==> q2) ==> p1 \/ q1 ==> p2 \/ q2
  • !t1 t2 t3. (t1 /\ t2) /\ t3 <=> t1 /\ t2 /\ t3
  • !p q r. p ==> q ==> r <=> p /\ q ==> r
  • !t1 t2 t3. (t1 \/ t2) \/ t3 <=> t1 \/ t2 \/ t3
  • !t1 t2. ~(t1 /\ t2) <=> ~t1 \/ ~t2
  • !t1 t2. ~(t1 ==> t2) <=> t1 /\ ~t2
  • !t1 t2. ~(t1 \/ t2) <=> ~t1 /\ ~t2
  • !t1 t2. t1 /\ t2 <=> t2 /\ t1
  • !t1 t2. t1 \/ t2 <=> t2 \/ t1
  • !p q. (!x. p ==> q x) <=> p ==> (!x. q x)
  • !p q. (?x. p /\ q x) <=> p /\ (?x. q x)
  • !p q. p /\ (?x. q x) <=> (?x. p /\ q x)
  • !p q. p \/ (?x. q x) <=> (?x. p \/ q x)
  • !t. (!x. t) <=> t
  • !t. (?x. t) <=> t
  • !t. ~ ~t <=> t
  • !t. F /\ t <=> F
  • !t. T /\ t <=> t
  • !t. t /\ F <=> F
  • !t. t /\ T <=> t
  • !t. t /\ t <=> t
  • !t. (F <=> t) <=> ~t
  • !t. (T <=> t) <=> t
  • !t. (t <=> F) <=> ~t
  • !t. (t <=> T) <=> t
  • !t. F ==> t <=> T
  • !t. T ==> t <=> t
  • !t. t ==> F <=> ~t
  • !t. t ==> T <=> T
  • !t. F \/ t <=> t
  • !t. T \/ t <=> T
  • !t. t \/ F <=> t
  • !t. t \/ T <=> T
  • !t. t \/ t <=> t
  • !t. t ==> t
  • !t. (t <=> T) \/ (t <=> F)
  • !f x s. IMAGE f (x INSERT s) = f x INSERT IMAGE f s
  • !f y. (\x. f x) y = f y
  • !f g. (!x. f x = g x) <=> f = g
  • !f g. (!x. f x = g x) ==> f = g
  • !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
  • !f s. IMAGE f s = {y | ?x. x IN s /\ y = f x}
  • !f s. FINITE s ==> FINITE {y | ?x. x IN s /\ y = f x}
  • !f s. FINITE s ==> FINITE (IMAGE f s)
  • !f s. (!x y. x IN s /\ y IN s /\ f x = f y ==> x = y) /\ FINITE s ==> CARD (IMAGE f s) = CARD s
  • !f. ONE_ONE f <=> (!x1 x2. f x1 = f x2 ==> x1 = x2)
  • !f. ONTO f <=> (!y. ?x. y = f x)
  • !t. (\x. t x) = t
  • !f. IMAGE f {} = {}
  • !p a. (?x. a = x /\ p x) <=> p a
  • !p x. x IN GSPEC p <=> p x
  • !p x. x IN {y | p y} <=> p x
  • !p x. p x ==> p ((@) p)
  • !p c x y. p (if c then x else y) <=> (c ==> p x) /\ (~c ==> p y)
  • !p q. (?x. p x) ==> q <=> (!x. p x ==> q)
  • !p q. (?x. p x) \/ q <=> (?x. p x \/ q)
  • !p q. (!x. p x /\ q x) <=> (!x. p x) /\ (!x. q x)
  • !p q. (?x. p x \/ q x) <=> (?x. p x) \/ (?x. q x)
  • !p q. (?x. p x) \/ (?x. q x) <=> (?x. p x \/ q x)
  • !p q. (!x. p x ==> q x) ==> (?x. p x) ==> (?x. q x)
  • !p. (?x. ~p x) <=> ~(!x. p x)
  • !p. ~(!x. p x) <=> (?x. ~p x)
  • !p. ~(?x. p x) <=> (!x. ~p x)
  • !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)))
  • !p. (!x y. p x y) <=> (!y x. p x y)
  • !r. (!x. ?y. r x y) <=> (?f. !x. r x (f x))
  • !p. p _0 /\ (!n. p n ==> p (SUC n)) ==> (!n. p n)
  • !p. p {} /\ (!x s. p s ==> p (x INSERT s)) ==> (!a. FINITE a ==> p a)
  • !p. p {} /\ (!x s. p s /\ ~(x IN s) /\ FINITE s ==> p (x INSERT s)) ==> (!s. FINITE s ==> p s)
  • !m n. SUC m = SUC n <=> m = n
  • !n. ~(SUC n = _0)
  • !s x y. x IN s DELETE y <=> x IN s /\ ~(x = y)
  • !s x. FINITE (s DELETE x) <=> FINITE s
  • !s x. FINITE (x INSERT s) <=> FINITE s
  • !s x. s DELETE x = {y | y IN s /\ ~(y = x)}
  • !s x. FINITE s ==> FINITE (s DELETE x)
  • !s n. s HAS_SIZE n <=> FINITE s /\ CARD s = n
  • !s t x. x IN s DIFF t <=> x IN s /\ ~(x IN t)
  • !s t x. x IN s INTER t <=> x IN s /\ x IN t
  • !s t x. x IN s UNION t <=> x IN s \/ x IN t
  • !s t u. s SUBSET t UNION u <=> s DIFF t SUBSET u
  • !t u s. s DIFF t DIFF u = s DIFF (t UNION u)
  • !t u s. s DIFF t DIFF u = s DIFF u DIFF t
  • !s t u. (s UNION t) UNION u = s UNION t UNION u
  • !s t. (!x. x IN s <=> x IN t) <=> s = t
  • !s t. FINITE (s UNION t) <=> FINITE s /\ FINITE t
  • !s t. s DIFF t = s <=> DISJOINT s t
  • !s t. DISJOINT s t <=> s INTER t = {}
  • !s t. DISJOINT s t <=> DISJOINT t s
  • !s t. s SUBSET t <=> (!x. x IN s ==> x IN t)
  • !s t. s DIFF t = {x | x IN s /\ ~(x IN t)}
  • !s t. s INTER t = {x | x IN s /\ x IN t}
  • !s t. s INTER t = t INTER s
  • !s t. s UNION t = {x | x IN s \/ x IN t}
  • !s t. s UNION t = t UNION s
  • !s t. (!x. x IN s <=> x IN t) ==> s = t
  • !s t. FINITE t /\ s SUBSET t ==> FINITE s
  • !s t. FINITE s /\ FINITE t ==> FINITE (s UNION t)
  • !s t. s SUBSET t UNION s
  • !s t. s SUBSET s UNION t
  • !s t. s DIFF t SUBSET s
  • !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
  • !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)
  • !s. s SUBSET {} <=> s = {}
  • !s. {} UNION s = s
  • !s. s UNION {} = s
  • ?f. ONE_ONE f /\ ~ONTO f
  • FINITE {}
  • F <=> (!p. p)
  • T <=> (\p. p) = (\p. p)
  • ~F <=> T
  • ~T <=> F
  • (~) = (\p. p ==> F)
  • COND = (\t t1 t2. @x. ((t <=> T) ==> x = t1) /\ ((t <=> F) ==> x = t2))
  • (/\) = (\p q. (\f. f p q) = (\f. f T T))
  • (==>) = (\p q. p /\ q <=> p)
  • (\/) = (\p q. !r. (p ==> r) ==> (q ==> r) ==> r)
  • (!) = (\p. p = (\x. T))
  • (?) = (\p. !q. (!x. p x ==> q) ==> q)
  • (?) = (\p. p ((@) p))
  • (?!) = (\p. (?) p /\ (!x y. p x /\ p y ==> x = y))
  • NUMERAL = (\n. n)
  • CARD = ITSET (\x n. SUC n) 0
  • CARD {} = 0
  • {} = {x | F}
  • GSPEC (\x. F) = {}
  • Contained Package set-size-thm
    Comment Standard HOL library retrieved from OpenTheory
    Back to main package pageBack to contained package page