Cantor's Theorem Theorem: For any set (finite or otherwise), there exists an even larger set. Prove: ALL(s):[Set(s) => EXIST(s'):[Set(s') & ~EXIST(f):[ALL(a):[as => f(a)s'] & ALL(a):[as' => EXIST(b):[bs & a=f(b)]]]]] Here, a set s' is said to be larger than a set s if there can be no function mapping s onto all of s'. Prove: Set(s) => EXIST(s'):[Set(s') & ~EXIST(f):[ALL(a):[as => f(a)s'] & ALL(a):[as' => EXIST(b):[bs & a=f(b)]]]] Suppose... 1 Set(s) Premise Construct the power set of s. We will show that it must be larger than s. Applying the Power Set Axiom... 2 ALL(a):[Set(a) => EXIST(b):[Set(b) & ALL(c):[cb <=> Set(c) & ALL(d):[dc => da]]]] Power Set 3 Set(s) => EXIST(b):[Set(b) & ALL(c):[cb <=> Set(c) & ALL(d):[dc => ds]]] U Spec, 2 Applying the Detachment Rule on lines 3 and 1... 4 EXIST(b):[Set(b) & ALL(c):[cb <=> Set(c) & ALL(d):[dc => ds]]] Detach, 3, 1 Define: p, the power set of s 5 Set(p) & ALL(c):[cp <=> Set(c) & ALL(d):[dc => ds]] E Spec, 4 Splitting this definition into its component parts... 6 Set(p) Split, 5 7 ALL(c):[cp <=> Set(c) & ALL(d):[dc => ds]] Split, 5 Prove: There is no f function mapping s onto all of p, that is ~[ALL(a):[as => f(a)p] & ALL(a):[ap => EXIST(b):[bs & a=f(b)]]] Suppose to the contrary... 8 ALL(a):[as => f(a)p] & ALL(a):[ap => EXIST(b):[bs & a=f(b)]] Premise Splitting this premise... 9 ALL(a):[as => f(a)p] Split, 8 10 ALL(a):[ap => EXIST(b):[bs & a=f(b)]] Split, 8 Construct k, a subset of s to obtain a contradiction. Applying the Subset Axiom... 11 EXIST(k):[Set(k) & ALL(a):[ak <=> as & ~af(a)]] Subset, 1 Define: k, a subset of s 12 Set(k) & ALL(a):[ak <=> as & ~af(a)] E Spec, 11 Splitting this definition... 13 Set(k) Split, 12 14 ALL(a):[ak <=> as & ~af(a)] Split, 12 Prove: kp Applying the definition of p (the power set of s)... 15 kp <=> Set(k) & ALL(d):[dk => ds] U Spec, 7 Splitting this IFF-statement into it component implications... 16 [kp => Set(k) & ALL(d):[dk => ds]] & [Set(k) & ALL(d):[dk => ds] => kp] Iff-And, 15 Splitting this AND-statement into its component parts... 17 kp => Set(k) & ALL(d):[dk => ds] Split, 16 Sufficient: For kp 18 Set(k) & ALL(d):[dk => ds] => kp Split, 16 Prove: xk => xs Suppose... 19 xk Premise Applying the definition of k... 20 xk <=> xs & ~xf(x) U Spec, 14 Splitting this IFF-statement into its component parts... 21 [xk => xs & ~xf(x)] & [xs & ~xf(x) => xk] Iff-And, 20 Splitting this AND-statement into its component parts... 22 xk => xs & ~xf(x) Split, 21 23 xs & ~xf(x) => xk Split, 21 Applying the Detachment Rule on lines 22 and 19... 24 xs & ~xf(x) Detach, 22, 19 Splitting this result and deleting the second part... 25 xs Split, 24 Applying the Conclusion Rule... 26 xk => xs Conclusion, 19 Generalizing... 27 ALL(d):[dk => ds] U Gen, 26 28 Set(k) & ALL(d):[dk => ds] Join, 13, 27 As Required: 29 kp Detach, 18, 28 Obtain the pre-image of k. Applying the definition of f... 30 kp => EXIST(b):[bs & k=f(b)] U Spec, 10 Applying the Detachment Rule on lines 30 and 29... 31 EXIST(b):[bs & k=f(b)] Detach, 30, 29 Define: k', the pre-image of k under f 32 k's & k=f(k') E Spec, 31 Splitting this result... 33 k's Split, 32 34 k=f(k') Split, 32 Is k'k? Applying the definition of k... 35 k'k <=> k's & ~k'f(k') U Spec, 14 Substituting... 36 k'k <=> k's & ~k'k Substitute, 34, 35 Splitting this IFF-statement into its component parts... 37 [k'k => k's & ~k'k] & [k's & ~k'k => k'k] Iff-And, 36 Splitting this AND-statement... 38 k'k => k's & ~k'k Split, 37 39 k's & ~k'k => k'k Split, 37 Prove: ~k'k Suppose to the contrary... 40 k'k Premise From the definition of k... 41 k's & ~k'k Detach, 38, 40 Splitting this result... 42 k's Split, 41 As Required: 43 ~k'k Split, 41 We obtain the contradiction... 44 k'k & ~k'k Join, 40, 43 Applying the Conclusion Rule, by contradiction... 45 ~k'k Conclusion, 40 Joining previous results... 46 k's & ~k'k Join, 33, 45 From the definition of k, we also have... 47 k'k Detach, 39, 46 Joining results, we obtain the contradiction... 48 ~k'k & k'k Join, 45, 47 Applying the Conclusion Rule, by contradiction... 49 ~[ALL(a):[as => f(a)p] & ALL(a):[ap => EXIST(b):[bs & a=f(b)]]] Conclusion, 8 Generalizing... 50 ALL(f):~[ALL(a):[as => f(a)p] & ALL(a):[ap => EXIST(b):[bs & a=f(b)]]] U Gen, 49 Switching quantifiers... 51 ~EXIST(f):~~[ALL(a):[as => f(a)p] & ALL(a):[ap => EXIST(b):[bs & a=f(b)]]] Quant, 50 Removing the double negation... 52 ~EXIST(f):[ALL(a):[as => f(a)p] & ALL(a):[ap => EXIST(b):[bs & a=f(b)]]] Rem DNeg, 51 Joining results on lines 6 and 52... 53 Set(p) & ~EXIST(f):[ALL(a):[as => f(a)p] & ALL(a):[ap => EXIST(b):[bs & a=f(b)]]] Join, 6, 52 As Required: Generalizing, we have... 54 EXIST(s'):[Set(s') & ~EXIST(f):[ALL(a):[as => f(a)s'] & ALL(a):[as' => EXIST(b):[bs & a=f(b)]]]] E Gen, 53 Applying the Conclusion Rule... 55 Set(s) => EXIST(s'):[Set(s') & ~EXIST(f):[ALL(a):[as => f(a)s'] & ALL(a):[as' => EXIST(b):[bs & a=f(b)]]]] Conclusion, 1 As Required: Generalizing... 56 ALL(s):[Set(s) => EXIST(s'):[Set(s') & ~EXIST(f):[ALL(a):[as => f(a)s'] & ALL(a):[as' => EXIST(b):[bs & a=f(b)]]]]] U Gen, 55