THEOREM

*******

 

Let x be an infinte set. There exists a subset n of x, n0 e n, n1 e n, and functions f: n --> n and g: n --> n such that (n,f,n0) satisfies each Peano axiom including induction, and (n,g,n1) satisfies each Peano axiom BUT induction.

 

In this sense, induction is independent of the other Peano axioms.

 

 

PROOF SKETCH

************

 

Apply a previous result to obtain a set n equivalent to the set of natural numbers {0, 1, 2, ...} with successor function f. Then construct the function g: n --> n such that: g(0)=0, g(1)=2, g(2)=3, g(3)=4 or equivalently, for all x in n, we have:

 

  g(x) = {0 if x=0

         {f(x) otherwise

 

Then each of the Peano axioms BUT induction will hold on n if we use 1 as the "first" element.

 

 

Lines

-----

 

3-7       Apply previous result that in any infite set x, there exists a subset n of x,
          a function f: n --> n and element x0
e n such that (n,f,x0) satisfy the Peano
          axioms (PA1-5)

8-9       Define n

10        Define x0

11        Define f: n --> n

14-21     Construct and define n2, the set of ordered pairs of n

22-25     Construct and define subset g of n2

26-42     Prove (x0,x0) e g

43-65     Prove (x,f(x)) e g for x not equal x0

66-190    Prove g is a function 

191-204   PA2: g is closed on n

205-245   Prove: g(x) = {x0 if x=x0

                        {f(x) otherwise

246-306   PA3: g is injective on n

307-336   PA4: f(x0) has no pre-image in n under g

337-338   PA1: f(x0) e n

338-410  ~PA5: Induction does not hold on n for successor function g and "first" element f(x0)

411-432   Generalizing

 

 

This formal proof with written and machine-verified with the aid of the authors DC Proof 2.0 software available at http://www.dcproof.com

 

 

PREVIOUS RESULT

***************

 

Let x be an infinte set. There exists a subset n of x, function f: n --> n and "first" element x0 that satisfies all the Peano axioms, including induction.  (Proof)

 

1     ALL(x):[Set(x) & Infinite(x)

     => EXIST(n):EXIST(f):EXIST(x0):[Set(n) & ALL(a):[a e n => a e x] & x0 e n

     & ALL(a):[a e n => f(a) e n]

     & ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

     & ALL(a):[a e n => ~f(a)=x0]

     & ALL(a):[Set(a) & ALL(b):[b e a => b e n]

     => [x0 e a & ALL(b):[b e a => f(b) e a]

     => ALL(b):[b e n => b e a]]]]]

      Axiom

 

    

     PROOF

     *****

    

     Suppose x is an infinite set

 

      2     Set(x) & Infinite(x)

            Premise

 

     Apply previous result

 

      3     Set(x) & Infinite(x)

          => EXIST(n):EXIST(f):EXIST(x0):[Set(n) & ALL(a):[a e n => a e x] & x0 e n

          & ALL(a):[a e n => f(a) e n]

          & ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

          & ALL(a):[a e n => ~f(a)=x0]

          & ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [x0 e a & ALL(b):[b e a => f(b) e a]

          => ALL(b):[b e n => b e a]]]]

            U Spec, 1

 

      4     EXIST(n):EXIST(f):EXIST(x0):[Set(n) & ALL(a):[a e n => a e x] & x0 e n

          & ALL(a):[a e n => f(a) e n]

          & ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

          & ALL(a):[a e n => ~f(a)=x0]

          & ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [x0 e a & ALL(b):[b e a => f(b) e a]

          => ALL(b):[b e n => b e a]]]]

            Detach, 3, 2

 

      5     EXIST(f):EXIST(x0):[Set(n) & ALL(a):[a e n => a e x] & x0 e n

          & ALL(a):[a e n => f(a) e n]

          & ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

          & ALL(a):[a e n => ~f(a)=x0]

          & ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [x0 e a & ALL(b):[b e a => f(b) e a]

          => ALL(b):[b e n => b e a]]]]

            E Spec, 4

 

      6     EXIST(x0):[Set(n) & ALL(a):[a e n => a e x] & x0 e n

          & ALL(a):[a e n => f(a) e n]

          & ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

          & ALL(a):[a e n => ~f(a)=x0]

          & ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [x0 e a & ALL(b):[b e a => f(b) e a]

          => ALL(b):[b e n => b e a]]]]

            E Spec, 5

 

      7     Set(n) & ALL(a):[a e n => a e x] & x0 e n

          & ALL(a):[a e n => f(a) e n]

          & ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

          & ALL(a):[a e n => ~f(a)=x0]

          & ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [x0 e a & ALL(b):[b e a => f(b) e a]

          => ALL(b):[b e n => b e a]]]

            E Spec, 6

 

    

     Define: n

 

      8     Set(n)

            Split, 7

 

      9     ALL(a):[a e n => a e x]

            Split, 7

 

    

     Define: x0

 

      10    x0 e n

            Split, 7

 

    

     Define: f

 

      11    ALL(a):[a e n => f(a) e n]

            Split, 7

 

     f is injective

 

      12    ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

            Split, 7

 

     x0 has no pre-image under f

 

      13    ALL(a):[a e n => ~f(a)=x0]

            Split, 7

 

      14    ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [x0 e a & ALL(b):[b e a => f(b) e a]

          => ALL(b):[b e n => b e a]]]

            Split, 7

 

     Construct the set n2 of ordered pairs of natural numbers.

    

     Apply the Cartesian Product Axiom

 

      15    ALL(a1):ALL(a2):[Set(a1) & Set(a2) => EXIST(b):[Set'(b)
          & ALL(c1):ALL(c2):[(c1,c2)
e b <=> c1 e a1 & c2 e a2]]]

            Cart Prod

 

      16    ALL(a2):[Set(n) & Set(a2) => EXIST(b):[Set'(b) & ALL(c1):ALL(c2):[(c1,c2) e b
          <=> c1
e n & c2 e a2]]]

            U Spec, 15

 

      17    Set(n) & Set(n) => EXIST(b):[Set'(b) & ALL(c1):ALL(c2):[(c1,c2) e b <=> c1 e n & c2 e n]]

            U Spec, 16

 

      18    Set(n) & Set(n)

            Join, 8, 8

 

      19    EXIST(b):[Set'(b) & ALL(c1):ALL(c2):[(c1,c2) e b <=> c1 e n & c2 e n]]

            Detach, 17, 18

 

      20    Set'(n2) & ALL(c1):ALL(c2):[(c1,c2) e n2 <=> c1 e n & c2 e n]

            E Spec, 19

 

    

     Define: n2

 

      21    Set'(n2)

            Split, 20

 

      22    ALL(c1):ALL(c2):[(c1,c2) e n2 <=> c1 e n & c2 e n]

            Split, 20

 

    

     The the subset g of n2

    

     Apply the Subset Axiom

 

      23    EXIST(sub):[Set'(sub) & ALL(a):ALL(b):[(a,b) e sub <=> (a,b) e n2
          & [a=
x0 & b=x0 | ~a=x0 & b=f(a)]]]

            Subset, 21

 

      24    Set'(g) & ALL(a):ALL(b):[(a,b) e g <=> (a,b) e n2 & [a=x0 & b=x0 | ~a=x0 & b=f(a)]]

            E Spec, 23

 

    

     Define: g

    

     We will show that g is a function such that: g(x) = {x0   for x = x0

                                                         {f(x) otherwise

 

      25    Set'(g)

            Split, 24

 

      26    ALL(a):ALL(b):[(a,b) e g <=> (a,b) e n2 & [a=x0 & b=x0 | ~a=x0 & b=f(a)]]

            Split, 24

 

     Prove: (x0,x0) e g

    

     Apply definition of g

 

      27    ALL(b):[(x0,b) e g <=> (x0,b) e n2 & [x0=x0 & b=x0 | ~x0=x0 & b=f(x0)]]

            U Spec, 26

 

      28    (x0,x0) e g <=> (x0,x0) e n2 & [x0=x0 & x0=x0 | ~x0=x0 & x0=f(x0)]

            U Spec, 27

 

      29    [(x0,x0) e g => (x0,x0) e n2 & [x0=x0 & x0=x0 | ~x0=x0 & x0=f(x0)]]

          & [(x0,x0) e n2 & [x0=x0 & x0=x0 | ~x0=x0 & x0=f(x0)] => (x0,x0) e g]

            Iff-And, 28

 

      30    (x0,x0) e g => (x0,x0) e n2 & [x0=x0 & x0=x0 | ~x0=x0 & x0=f(x0)]

            Split, 29

 

     Sufficient: (x0,x0) e g

 

      31    (x0,x0) e n2 & [x0=x0 & x0=x0 | ~x0=x0 & x0=f(x0)] => (x0,x0) e g

            Split, 29

 

     Apply definition of n2

 

      32    ALL(c2):[(x0,c2) e n2 <=> x0 e n & c2 e n]

            U Spec, 22

 

      33    (x0,x0) e n2 <=> x0 e n & x0 e n

            U Spec, 32

 

      34    [(x0,x0) e n2 => x0 e n & x0 e n]

          & [x0 e n & x0 e n => (x0,x0) e n2]

            Iff-And, 33

 

      35    (x0,x0) e n2 => x0 e n & x0 e n

            Split, 34

 

      36    x0 e n & x0 e n => (x0,x0) e n2

            Split, 34

 

      37    x0 e n & x0 e n

            Join, 10, 10

 

      38    (x0,x0) e n2

            Detach, 36, 37

 

      39    x0=x0

            Reflex

 

      40    x0=x0 & x0=x0

            Join, 39, 39

 

      41    x0=x0 & x0=x0 | ~x0=x0 & x0=f(x0)

            Arb Or, 40

 

      42    (x0,x0) e n2 & [x0=x0 & x0=x0 | ~x0=x0 & x0=f(x0)]

            Join, 38, 41

 

     As Required:

 

      43    (x0,x0) e g

            Detach, 31, 42

 

         

          Prove: ALL(a):[a e n & ~a=x0 => (a,f(a)) e g]

         

          Suppose...

 

            44    t e n & ~t=x0

                  Premise

 

            45    t e n

                  Split, 44

 

            46    ~t=x0

                  Split, 44

 

          Apply defintion of g

 

            47    ALL(b):[(t,b) e g <=> (t,b) e n2 & [t=x0 & b=x0 | ~t=x0 & b=f(t)]]

                  U Spec, 26

 

            48    (t,f(t)) e g <=> (t,f(t)) e n2 & [t=x0 & f(t)=x0 | ~t=x0 & f(t)=f(t)]

                  U Spec, 47

 

            49    [(t,f(t)) e g => (t,f(t)) e n2 & [t=x0 & f(t)=x0 | ~t=x0 & f(t)=f(t)]]

              & [(t,f(t)) e n2 & [t=x0 & f(t)=x0 | ~t=x0 & f(t)=f(t)] => (t,f(t)) e g]

                  Iff-And, 48

 

            50    (t,f(t)) e g => (t,f(t)) e n2 & [t=x0 & f(t)=x0 | ~t=x0 & f(t)=f(t)]

                  Split, 49

 

          Sufficient: For (t,f(t)) e g

 

            51    (t,f(t)) e n2 & [t=x0 & f(t)=x0 | ~t=x0 & f(t)=f(t)] => (t,f(t)) e g

                  Split, 49

 

          Apply definition of n2

 

            52    ALL(c2):[(t,c2) e n2 <=> t e n & c2 e n]

                  U Spec, 22

 

            53    (t,f(t)) e n2 <=> t e n & f(t) e n

                  U Spec, 52

 

            54    [(t,f(t)) e n2 => t e n & f(t) e n]

              & [t e n & f(t) e n => (t,f(t)) e n2]

                  Iff-And, 53

 

            55    (t,f(t)) e n2 => t e n & f(t) e n

                  Split, 54

 

            56    t e n & f(t) e n => (t,f(t)) e n2

                  Split, 54

 

            57    t e n => f(t) e n

                  U Spec, 11

 

            58    f(t) e n

                  Detach, 57, 45

 

            59    t e n & f(t) e n

                  Join, 45, 58

 

            60    (t,f(t)) e n2

                  Detach, 56, 59

 

            61    f(t)=f(t)

                  Reflex

 

            62    ~t=x0 & f(t)=f(t)

                  Join, 46, 61

 

            63    t=x0 & f(t)=x0 | ~t=x0 & f(t)=f(t)

                  Arb Or, 62

 

            64    (t,f(t)) e n2

              & [t=x0 & f(t)=x0 | ~t=x0 & f(t)=f(t)]

                  Join, 60, 63

 

            65    (t,f(t)) e g

                  Detach, 51, 64

 

     As Required:

 

      66    ALL(a):[a e n & ~a=x0 => (a,f(a)) e g]

            4 Conclusion, 44

 

     Prove: g is a function mapping n to itself

    

     Apply Function Axiom

 

      67    ALL(f):ALL(a):ALL(b):[ALL(c):ALL(d):[(c,d) e f => c e a & d e b]

          & ALL(c):[c e a => EXIST(d):[d e b & (c,d) e f]]

          & ALL(c):ALL(d1):ALL(d2):[(c,d1) e f & (c,d2) e f => d1=d2]

          => ALL(c):ALL(d):[d=f(c) <=> (c,d) e f]]

            Function

 

      68    ALL(a):ALL(b):[ALL(c):ALL(d):[(c,d) e g => c e a & d e b]

          & ALL(c):[c e a => EXIST(d):[d e b & (c,d) e g]]

          & ALL(c):ALL(d1):ALL(d2):[(c,d1) e g & (c,d2) e g => d1=d2]

          => ALL(c):ALL(d):[d=g(c) <=> (c,d) e g]]

            U Spec, 67

 

      69    ALL(b):[ALL(c):ALL(d):[(c,d) e g => c e n & d e b]

          & ALL(c):[c e n => EXIST(d):[d e b & (c,d) e g]]

          & ALL(c):ALL(d1):ALL(d2):[(c,d1) e g & (c,d2) e g => d1=d2]

          => ALL(c):ALL(d):[d=g(c) <=> (c,d) e g]]

            U Spec, 68

 

     Sufficient: For functionality of g

 

      70    ALL(c):ALL(d):[(c,d) e g => c e n & d e n]

          & ALL(c):[c e n => EXIST(d):[d e n & (c,d) e g]]

          & ALL(c):ALL(d1):ALL(d2):[(c,d1) e g & (c,d2) e g => d1=d2]

          => ALL(c):ALL(d):[d=g(c) <=> (c,d) e g]

            U Spec, 69

 

         

          Prove: ALL(c):ALL(d):[(c,d) e g => c e n & d e n]

         

          Suppose...

 

            71    (u,v) e g

                  Premise

 

          Apply definition of g

 

            72    ALL(b):[(u,b) e g <=> (u,b) e n2 & [u=x0 & b=x0 | ~u=x0 & b=f(u)]]

                  U Spec, 26

 

            73    (u,v) e g <=> (u,v) e n2 & [u=x0 & v=x0 | ~u=x0 & v=f(u)]

                  U Spec, 72

 

            74    [(u,v) e g => (u,v) e n2 & [u=x0 & v=x0 | ~u=x0 & v=f(u)]]

              & [(u,v) e n2 & [u=x0 & v=x0 | ~u=x0 & v=f(u)] => (u,v) e g]

                  Iff-And, 73

 

            75    (u,v) e g => (u,v) e n2 & [u=x0 & v=x0 | ~u=x0 & v=f(u)]

                  Split, 74

 

            76    (u,v) e n2 & [u=x0 & v=x0 | ~u=x0 & v=f(u)] => (u,v) e g

                  Split, 74

 

            77    (u,v) e n2 & [u=x0 & v=x0 | ~u=x0 & v=f(u)]

                  Detach, 75, 71

 

            78    (u,v) e n2

                  Split, 77

 

            79    u=x0 & v=x0 | ~u=x0 & v=f(u)

                  Split, 77

 

          Apply definition of n2

 

            80    ALL(c2):[(u,c2) e n2 <=> u e n & c2 e n]

                  U Spec, 22

 

            81    (u,v) e n2 <=> u e n & v e n

                  U Spec, 80

 

            82    [(u,v) e n2 => u e n & v e n]

              & [u e n & v e n => (u,v) e n2]

                  Iff-And, 81

 

            83    (u,v) e n2 => u e n & v e n

                  Split, 82

 

            84    u e n & v e n => (u,v) e n2

                  Split, 82

 

            85    u e n & v e n

                  Detach, 83, 78

 

     Functionality, Part 1

 

      86    ALL(c):ALL(d):[(c,d) e g => c e n & d e n]

            4 Conclusion, 71

 

         

          Prove: ALL(c):[c e n => EXIST(d):[d e n & (c,d) e g]]

         

          Suppose...

 

            87    u e n

                  Premise

 

          Two cases to consider:

 

            88    u=x0 | ~u=x0

                  Or Not

 

              Case 1

             

              Prove: u=x0 => EXIST(d):[d e n & (u,d) e g]

             

              Suppose...

 

                  89    u=x0

                        Premise

 

                  90    (u,x0) e g

                        Substitute, 89, 43

 

                  91    x0 e n & (u,x0) e g

                        Join, 10, 90

 

                  92    EXIST(d):[d e n & (u,d) e g]

                        E Gen, 91

 

          Case 1

         

          As Required:

 

            93    u=x0 => EXIST(d):[d e n & (u,d) e g]

                  4 Conclusion, 89

 

              Case 2

             

              Prove: ~u=x0 => EXIST(d):[d e n & (u,d) e g]

             

              Suppose...

 

                  94    ~u=x0

                        Premise

 

                  95    u e n & ~u=x0 => (u,f(u)) e g

                        U Spec, 66

 

                  96    u e n & ~u=x0

                        Join, 87, 94

 

                  97    (u,f(u)) e g

                        Detach, 95, 96

 

                  98    u e n => f(u) e n

                        U Spec, 11

 

                  99    f(u) e n

                        Detach, 98, 87

 

                  100  f(u) e n & (u,f(u)) e g

                        Join, 99, 97

 

                  101  EXIST(d):[d e n & (u,d) e g]

                        E Gen, 100

 

          Case 2

         

          As Required:

 

            102  ~u=x0 => EXIST(d):[d e n & (u,d) e g]

                  4 Conclusion, 94

 

            103  [u=x0 => EXIST(d):[d e n & (u,d) e g]]

              & [~u=x0 => EXIST(d):[d e n & (u,d) e g]]

                  Join, 93, 102

 

            104  EXIST(d):[d e n & (u,d) e g]

                  Cases, 88, 103

 

     Functionality, Part 2

 

      105  ALL(c):[c e n => EXIST(d):[d e n & (c,d) e g]]

            4 Conclusion, 87

 

         

          Prove: ALL(c):ALL(d1):ALL(d2):[(c,d1) e g & (c,d2) e g => d1=d2]

         

          Suppose...

 

            106  (u,v1) e g & (u,v2) e g

                  Premise

 

            107  (u,v1) e g

                  Split, 106

 

            108  (u,v2) e g

                  Split, 106

 

          Apply definition of g

 

            109  ALL(b):[(u,b) e g <=> (u,b) e n2 & [u=x0 & b=x0 | ~u=x0 & b=f(u)]]

                  U Spec, 26

 

            110  (u,v1) e g <=> (u,v1) e n2 & [u=x0 & v1=x0 | ~u=x0 & v1=f(u)]

                  U Spec, 109

 

            111  [(u,v1) e g => (u,v1) e n2 & [u=x0 & v1=x0 | ~u=x0 & v1=f(u)]]

              & [(u,v1) e n2 & [u=x0 & v1=x0 | ~u=x0 & v1=f(u)] => (u,v1) e g]

                  Iff-And, 110

 

            112  (u,v1) e g => (u,v1) e n2 & [u=x0 & v1=x0 | ~u=x0 & v1=f(u)]

                  Split, 111

 

            113  (u,v1) e n2 & [u=x0 & v1=x0 | ~u=x0 & v1=f(u)] => (u,v1) e g

                  Split, 111

 

            114  (u,v1) e n2 & [u=x0 & v1=x0 | ~u=x0 & v1=f(u)]

                  Detach, 112, 107

 

            115  (u,v1) e n2

                  Split, 114

 

            116  u=x0 & v1=x0 | ~u=x0 & v1=f(u)

                  Split, 114

 

          Apply definition of n2

 

            117  ALL(c2):[(u,c2) e n2 <=> u e n & c2 e n]

                  U Spec, 22

 

            118  (u,v1) e n2 <=> u e n & v1 e n

                  U Spec, 117

 

            119  [(u,v1) e n2 => u e n & v1 e n]

              & [u e n & v1 e n => (u,v1) e n2]

                  Iff-And, 118

 

            120  (u,v1) e n2 => u e n & v1 e n

                  Split, 119

 

            121  u e n & v1 e n => (u,v1) e n2

                  Split, 119

 

            122  u e n & v1 e n

                  Detach, 120, 115

 

            123  u e n

                  Split, 122

 

            124  v1 e n

                  Split, 122

 

          Apply definition of g

 

            125  (u,v2) e g <=> (u,v2) e n2 & [u=x0 & v2=x0 | ~u=x0 & v2=f(u)]

                  U Spec, 109

 

            126  [(u,v2) e g => (u,v2) e n2 & [u=x0 & v2=x0 | ~u=x0 & v2=f(u)]]

              & [(u,v2) e n2 & [u=x0 & v2=x0 | ~u=x0 & v2=f(u)] => (u,v2) e g]

                  Iff-And, 125

 

            127  (u,v2) e g => (u,v2) e n2 & [u=x0 & v2=x0 | ~u=x0 & v2=f(u)]

                  Split, 126

 

            128  (u,v2) e n2 & [u=x0 & v2=x0 | ~u=x0 & v2=f(u)] => (u,v2) e g

                  Split, 126

 

            129  (u,v2) e n2 & [u=x0 & v2=x0 | ~u=x0 & v2=f(u)]

                  Detach, 127, 108

 

            130  (u,v2) e n2

                  Split, 129

 

            131  u=x0 & v2=x0 | ~u=x0 & v2=f(u)

                  Split, 129

 

          Apply definition of n2

 

            132  (u,v2) e n2 <=> u e n & v2 e n

                  U Spec, 117

 

            133  [(u,v2) e n2 => u e n & v2 e n]

              & [u e n & v2 e n => (u,v2) e n2]

                  Iff-And, 132

 

            134  (u,v2) e n2 => u e n & v2 e n

                  Split, 133

 

            135  u e n & v2 e n => (u,v2) e n2

                  Split, 133

 

            136  u e n & v2 e n

                  Detach, 134, 130

 

            137  u e n

                  Split, 136

 

            138  v2 e n

                  Split, 136

 

          Two cases to consider:

 

            139  u=x0 | ~u=x0

                  Or Not

 

              Case 1

             

              Prove: u=x0 => v1=v2

             

              Suppose...

 

                  140  u=x0

                        Premise

 

                  141  ~[u=x0 & v1=x0] => ~u=x0 & v1=f(u)

                        Imply-Or, 116

 

                  142  ~[~u=x0 & v1=f(u)] => ~~[u=x0 & v1=x0]

                        Contra, 141

 

                  143  ~[~u=x0 & v1=f(u)] => u=x0 & v1=x0

                        Rem DNeg, 142

 

                  

                   Prove: ~[~u=x0 & v1=f(u)]

                  

                   Suppose to the contrary...

 

                        144  ~u=x0 & v1=f(u)

                              Premise

 

                        145  ~u=x0

                              Split, 144

 

                        146  v1=f(u)

                              Split, 144

 

                        147  u=x0 & ~u=x0

                              Join, 140, 145

 

              As Required:

 

                  148  ~[~u=x0 & v1=f(u)]

                        4 Conclusion, 144

 

                  149  u=x0 & v1=x0

                        Detach, 143, 148

 

                  150  u=x0

                        Split, 149

 

                  151  v1=x0

                        Split, 149

 

                  152  ~[u=x0 & v2=x0] => ~u=x0 & v2=f(u)

                        Imply-Or, 131

 

                  153  ~[~u=x0 & v2=f(u)] => ~~[u=x0 & v2=x0]

                        Contra, 152

 

                  154  ~[~u=x0 & v2=f(u)] => u=x0 & v2=x0

                        Rem DNeg, 153

 

                  

                   Prove: ~[~u=x0 & v2=f(u)]

                  

                   Suppose to the contrary...

 

                        155  ~u=x0 & v2=f(u)

                              Premise

 

                        156  ~u=x0

                              Split, 155

 

                        157  v2=f(u)

                              Split, 155

 

                        158  u=x0 & ~u=x0

                              Join, 140, 156

 

              As Required:

 

                  159  ~[~u=x0 & v2=f(u)]

                        4 Conclusion, 155

 

                  160  u=x0 & v2=x0

                        Detach, 154, 159

 

                  161  u=x0

                        Split, 160

 

                  162  v2=x0

                        Split, 160

 

                  163  v1=v2

                        Substitute, 162, 151

 

          Case 1

         

          As Required:

 

            164  u=x0 => v1=v2

                  4 Conclusion, 140

 

             

              Case 2

             

              Prove: ~u=x0 => v1=v2

             

              Suppose...

 

                  165  ~u=x0

                        Premise

 

                  166  ~[u=x0 & v1=x0] => ~u=x0 & v1=f(u)

                        Imply-Or, 116

 

                  

                   Prove: ~[u=x0 & v1=x0]

                  

                   Suppose to the contrary...

 

                        167  u=x0 & v1=x0

                              Premise

 

                        168  u=x0

                              Split, 167

 

                        169  v1=x0

                              Split, 167

 

                        170  u=x0 & ~u=x0

                              Join, 168, 165

 

              As Required:

 

                  171  ~[u=x0 & v1=x0]

                        4 Conclusion, 167

 

                  172  ~u=x0 & v1=f(u)

                        Detach, 166, 171

 

                  173  ~u=x0

                        Split, 172

 

                  174  v1=f(u)

                        Split, 172

 

                  175  ~[u=x0 & v2=x0] => ~u=x0 & v2=f(u)

                        Imply-Or, 131

 

                  

                   Prove: ~[u=x0 & v2=x0]

                  

                   Suppose to the contrary...

 

                        176  u=x0 & v2=x0

                              Premise

 

                        177  u=x0

                              Split, 176

 

                        178  v2=x0

                              Split, 176

 

                        179  u=x0 & ~u=x0

                              Join, 177, 165

 

              As Required:

 

                  180  ~[u=x0 & v2=x0]

                        4 Conclusion, 176

 

                  181  ~u=x0 & v2=f(u)

                        Detach, 175, 180

 

                  182  ~u=x0

                        Split, 181

 

                  183  v2=f(u)

                        Split, 181

 

                  184  v1=v2

                        Substitute, 183, 174

 

          Case 2

         

          As Required:

 

            185  ~u=x0 => v1=v2

                  4 Conclusion, 165

 

            186  [u=x0 => v1=v2] & [~u=x0 => v1=v2]

                  Join, 164, 185

 

            187  v1=v2

                  Cases, 139, 186

 

     Functionality, Part 3

 

      188  ALL(c):ALL(d1):ALL(d2):[(c,d1) e g & (c,d2) e g => d1=d2]

            4 Conclusion, 106

 

     Joining results...

 

      189  ALL(c):ALL(d):[(c,d) e g => c e n & d e n]

          & ALL(c):[c e n => EXIST(d):[d e n & (c,d) e g]]

            Join, 86, 105

 

      190  ALL(c):ALL(d):[(c,d) e g => c e n & d e n]

          & ALL(c):[c e n => EXIST(d):[d e n & (c,d) e g]]

          & ALL(c):ALL(d1):ALL(d2):[(c,d1) e g & (c,d2) e g => d1=d2]

            Join, 189, 188

 

    

     g is a function

    

     As Required:

 

      191  ALL(c):ALL(d):[d=g(c) <=> (c,d) e g]

            Detach, 70, 190

 

         

          Prove: ALL(a):[a e n => g(a) e n]  (PA2)

         

          Suppose...

 

            192  u e n

                  Premise

 

            193  u e n => EXIST(d):[d e n & (u,d) e g]

                  U Spec, 105

 

            194  EXIST(d):[d e n & (u,d) e g]

                  Detach, 193, 192

 

            195  v e n & (u,v) e g

                  E Spec, 194

 

            196  v e n

                  Split, 195

 

            197  (u,v) e g

                  Split, 195

 

            198  ALL(d):[d=g(u) <=> (u,d) e g]

                  U Spec, 191

 

            199  v=g(u) <=> (u,v) e g

                  U Spec, 198

 

            200  [v=g(u) => (u,v) e g] & [(u,v) e g => v=g(u)]

                  Iff-And, 199

 

            201  v=g(u) => (u,v) e g

                  Split, 200

 

            202  (u,v) e g => v=g(u)

                  Split, 200

 

            203  v=g(u)

                  Detach, 202, 197

 

            204  g(u) e n

                  Substitute, 203, 196

 

    

     PA2

     ***

 

      205  ALL(a):[a e n => g(a) e n]

            4 Conclusion, 192

 

         

          Prove: ALL(a):[a e n => [a=x0 => g(a)=x0] & [~a=x0 => g(a)=f(a)]]  (PA3)

         

          Suppose...

 

            206  u e n

                  Premise

 

             

              Prove: u=x0 => g(u)=x0

             

              Suppose...

 

                  207  u=x0

                        Premise

 

                  208  (u,x0) e g

                        Substitute, 207, 43

 

              Apply functionality of g

 

                  209  ALL(d):[d=g(u) <=> (u,d) e g]

                        U Spec, 191

 

                  210  x0=g(u) <=> (u,x0) e g

                        U Spec, 209

 

                  211  [x0=g(u) => (u,x0) e g] & [(u,x0) e g => x0=g(u)]

                        Iff-And, 210

 

                  212  x0=g(u) => (u,x0) e g

                        Split, 211

 

                  213  (u,x0) e g => x0=g(u)

                        Split, 211

 

                  214  x0=g(u)

                        Detach, 213, 208

 

                  215  g(u)=x0

                        Sym, 214

 

          As Required:

 

            216  u=x0 => g(u)=x0

                  4 Conclusion, 207

 

             

              Prove: ~u=x0 => g(u)=f(u)

             

              Suppose...

 

                  217  ~u=x0

                        Premise

 

              Apply definition of g

 

                  218  ALL(b):[(u,b) e g <=> (u,b) e n2 & [u=x0 & b=x0 | ~u=x0 & b=f(u)]]

                        U Spec, 26

 

                  219  (u,f(u)) e g <=> (u,f(u)) e n2 & [u=x0 & f(u)=x0 | ~u=x0 & f(u)=f(u)]

                        U Spec, 218

 

                  220  [(u,f(u)) e g => (u,f(u)) e n2 & [u=x0 & f(u)=x0 | ~u=x0 & f(u)=f(u)]]

                   & [(u,f(u)) e n2 & [u=x0 & f(u)=x0 | ~u=x0 & f(u)=f(u)] => (u,f(u)) e g]

                        Iff-And, 219

 

                  221  (u,f(u)) e g => (u,f(u)) e n2 & [u=x0 & f(u)=x0 | ~u=x0 & f(u)=f(u)]

                        Split, 220

 

                  222  (u,f(u)) e n2 & [u=x0 & f(u)=x0 | ~u=x0 & f(u)=f(u)] => (u,f(u)) e g

                        Split, 220

 

              Apply definition of n2

 

                  223  ALL(c2):[(u,c2) e n2 <=> u e n & c2 e n]

                        U Spec, 22

 

                  224  (u,f(u)) e n2 <=> u e n & f(u) e n

                        U Spec, 223

 

                  225  [(u,f(u)) e n2 => u e n & f(u) e n]

                   & [u e n & f(u) e n => (u,f(u)) e n2]

                        Iff-And, 224

 

                  226  (u,f(u)) e n2 => u e n & f(u) e n

                        Split, 225

 

                  227  u e n & f(u) e n => (u,f(u)) e n2

                        Split, 225

 

                  228  u e n => f(u) e n

                        U Spec, 11

 

                  229  f(u) e n

                        Detach, 228, 206

 

                  230  u e n & f(u) e n

                        Join, 206, 229

 

                  231  (u,f(u)) e n2

                        Detach, 227, 230

 

                  232  f(u)=f(u)

                        Reflex

 

                  233  ~u=x0 & f(u)=f(u)

                        Join, 217, 232

 

                  234  u=x0 & f(u)=x0 | ~u=x0 & f(u)=f(u)

                        Arb Or, 233

 

                  235  (u,f(u)) e n2

                   & [u=x0 & f(u)=x0 | ~u=x0 & f(u)=f(u)]

                        Join, 231, 234

 

                  236  (u,f(u)) e g

                        Detach, 222, 235

 

              Apply functionality of g

 

                  237  ALL(d):[d=g(u) <=> (u,d) e g]

                        U Spec, 191

 

                  238  f(u)=g(u) <=> (u,f(u)) e g

                        U Spec, 237

 

                  239  [f(u)=g(u) => (u,f(u)) e g]

                   & [(u,f(u)) e g => f(u)=g(u)]

                        Iff-And, 238

 

                  240  f(u)=g(u) => (u,f(u)) e g

                        Split, 239

 

                  241  (u,f(u)) e g => f(u)=g(u)

                        Split, 239

 

                  242  f(u)=g(u)

                        Detach, 241, 236

 

                  243  g(u)=f(u)

                        Sym, 242

 

          As Required:

 

            244  ~u=x0 => g(u)=f(u)

                  4 Conclusion, 217

 

            245  [u=x0 => g(u)=x0] & [~u=x0 => g(u)=f(u)]

                  Join, 216, 244

 

     As Required:

 

      246  ALL(a):[a e n => [a=x0 => g(a)=x0] & [~a=x0 => g(a)=f(a)]]

            4 Conclusion, 206

 

         

          Prove: ALL(a):ALL(b):[a e n & b e n => [g(a)=g(b) => a=b]]  (PA3)

         

          Suppose...

 

            247  u e n & v e n

                  Premise

 

            248  u e n

                  Split, 247

 

            249  v e n

                  Split, 247

 

             

              Prove: g(u)=g(v) => u=v

             

              Suppose...

 

                  250  g(u)=g(v)

                        Premise

 

              Apply previous result

 

                  251  u e n => [u=x0 => g(u)=x0] & [~u=x0 => g(u)=f(u)]

                        U Spec, 246

 

                  252  [u=x0 => g(u)=x0] & [~u=x0 => g(u)=f(u)]

                        Detach, 251, 248

 

                  253  u=x0 => g(u)=x0

                        Split, 252

 

                  254  ~u=x0 => g(u)=f(u)

                        Split, 252

 

              Apply previous result

 

                  255  v e n => [v=x0 => g(v)=x0] & [~v=x0 => g(v)=f(v)]

                        U Spec, 246

 

                  256  [v=x0 => g(v)=x0] & [~v=x0 => g(v)=f(v)]

                        Detach, 255, 249

 

                  257  v=x0 => g(v)=x0

                        Split, 256

 

                  258  ~v=x0 => g(v)=f(v)

                        Split, 256

 

              Two cases to consider:

 

                  259  u=x0 | ~u=x0

                        Or Not

 

              Two sub-cases to consider:

 

                  260  v=x0 | ~v=x0

                        Or Not

 

                   Case 1

                  

                   Prove: u=x0 => u=v

                  

                   Suppose...

 

                        261  u=x0

                              Premise

 

                        Sub-case 1

                       

                        Prove: v=x0 => u=v

                       

                        Suppose...

 

                              262  v=x0

                                    Premise

 

                              263  u=v

                                    Substitute, 262, 261

 

                   Sub-case 1

                  

                   As Required:

 

                        264  v=x0 => u=v

                              4 Conclusion, 262

 

                        Prove: v=x0

                       

                        Suppose to the contrary...

 

                              265  ~v=x0

                                    Premise

 

                              266  g(u)=x0

                                    Detach, 253, 261

 

                              267  g(v)=f(v)

                                    Detach, 258, 265

 

                              268  x0=g(v)

                                    Substitute, 266, 250

 

                              269  x0=f(v)

                                    Substitute, 267, 268

 

                              270  v e n => ~f(v)=x0

                                    U Spec, 13

 

                              271  ~f(v)=x0

                                    Detach, 270, 249

 

                              272  f(v)=x0

                                    Sym, 269

 

                              273  f(v)=x0 & ~f(v)=x0

                                    Join, 272, 271

 

                        274  ~~v=x0

                              4 Conclusion, 265

 

                   As Required:

 

                        275  v=x0

                              Rem DNeg, 274

 

                   Sub-case 2

                  

                   As Required:

 

                        276  ~v=x0 => u=v

                              Arb Cons, 275

 

                        277  [v=x0 => u=v] & [~v=x0 => u=v]

                              Join, 264, 276

 

                        278  u=v

                              Cases, 260, 277

 

              Case 1

             

              As Required:

 

                  279  u=x0 => u=v

                        4 Conclusion, 261

 

                   Case 2

                  

                   Prove: ~u=x0 => u=v

                  

                   Suppose...

 

                        280  ~u=x0

                              Premise

 

                        281  g(u)=f(u)

                              Detach, 254, 280

 

                       

                        Prove: ~v=0

                       

                        Suppose to the contrary...

 

                              282  v=x0

                                    Premise

 

                              283  g(v)=x0

                                    Detach, 257, 282

 

                              284  f(u)=g(v)

                                    Substitute, 281, 250

 

                              285  f(u)=x0

                                    Substitute, 283, 284

 

                        Apply previous result

 

                              286  u e n => ~f(u)=x0

                                    U Spec, 13

 

                              287  ~f(u)=x0

                                    Detach, 286, 248

 

                              288  f(u)=x0 & ~f(u)=x0

                                    Join, 285, 287

 

                   As Required:

 

                        289  ~v=x0

                              4 Conclusion, 282

 

                        290  ~~v=x0 => u=v

                              Arb Cons, 289

 

                   Sub-case 1

                  

                   As Required:

 

                        291  v=x0 => u=v

                              Rem DNeg, 290

 

                        Sub-case 2

                       

                        Prove: ~v=x0 => u=v

                       

                        Suppose...

 

                              292  ~v=x0

                                    Premise

 

                              293  g(v)=f(v)

                                    Detach, 258, 292

 

                              294  f(u)=g(v)

                                    Substitute, 281, 250

 

                              295  f(u)=f(v)

                                    Substitute, 293, 294

 

                        Apply injectivity of f on n

 

                              296  ALL(b):[u e n & b e n => [f(u)=f(b) => u=b]]

                                    U Spec, 12

 

                              297  u e n & v e n => [f(u)=f(v) => u=v]

                                    U Spec, 296

 

                              298  f(u)=f(v) => u=v

                                    Detach, 297, 247

 

                              299  u=v

                                    Detach, 298, 295

 

                   Sub-case 2

                  

                   As Required:

 

                        300  ~v=x0 => u=v

                              4 Conclusion, 292

 

                        301  [v=x0 => u=v] & [~v=x0 => u=v]

                              Join, 291, 300

 

                        302  u=v

                              Cases, 260, 301

 

              Case 2

             

              As Required:

 

                  303  ~u=x0 => u=v

                        4 Conclusion, 280

 

                  304  [u=x0 => u=v] & [~u=x0 => u=v]

                        Join, 279, 303

 

                  305  u=v

                        Cases, 259, 304

 

          As Required:

 

            306  g(u)=g(v) => u=v

                  4 Conclusion, 250

 

     PA3

     ***

 

      307  ALL(a):ALL(b):[a e n & b e n => [g(a)=g(b) => a=b]]

            4 Conclusion, 247

 

         

          Prove: ALL(a):[aen => ~g(a)=f(x0)]  (PA4)

         

          Suppose...

 

            308  u e n

                  Premise

 

          Apply previous result

 

            309  u e n => [u=x0 => g(u)=x0] & [~u=x0 => g(u)=f(u)]

                  U Spec, 246

 

            310  [u=x0 => g(u)=x0] & [~u=x0 => g(u)=f(u)]

                  Detach, 309, 308

 

            311  u=x0 => g(u)=x0

                  Split, 310

 

            312  ~u=x0 => g(u)=f(u)

                  Split, 310

 

          Two cases:

 

            313  u=x0 | ~u=x0

                  Or Not

 

              Case 1

             

              Prove: u=x0 => ~g(u)=f(x0)

             

              Suppose...

 

                  314  u=x0

                        Premise

 

                  315  g(u)=x0

                        Detach, 311, 314

 

                  316  x0 e n => ~f(x0)=x0

                        U Spec, 13

 

                  317  ~f(x0)=x0

                        Detach, 316, 10

 

                  318  ~f(x0)=g(u)

                        Substitute, 315, 317

 

                  319  ~g(u)=f(x0)

                        Sym, 318

 

          Case 1

         

          As Required:

 

            320  u=x0 => ~g(u)=f(x0)

                  4 Conclusion, 314

 

              Case 2

             

              Prove: ~u=x0 => ~g(u)=f(x0)

             

              Suppose...

 

                  321  ~u=x0

                        Premise

 

                  322  g(u)=f(u)

                        Detach, 312, 321

 

                  323  u e n => ~f(u)=x0

                        U Spec, 13

 

                  324  ~f(u)=x0

                        Detach, 323, 308

 

                  

                   Prove: ~g(u)=f(x0)

                  

                   Suppose to the contrary...

 

                        325  g(u)=f(x0)

                              Premise

 

                        326  f(u)=f(x0)

                              Substitute, 322, 325

 

                   Apply injectivity of f

 

                        327  ALL(b):[u e n & b e n => [f(u)=f(b) => u=b]]

                              U Spec, 12

 

                        328  u e n & x0 e n => [f(u)=f(x0) => u=x0]

                              U Spec, 327

 

                        329  u e n & x0 e n

                              Join, 308, 10

 

                        330  f(u)=f(x0) => u=x0

                              Detach, 328, 329

 

                        331  u=x0

                              Detach, 330, 326

 

                        332  u=x0 & ~u=x0

                              Join, 331, 321

 

              As Required:

 

                  333  ~g(u)=f(x0)

                        4 Conclusion, 325

 

          Case 2

         

          As Required:

 

            334  ~u=x0 => ~g(u)=f(x0)

                  4 Conclusion, 321

 

            335  [u=x0 => ~g(u)=f(x0)] & [~u=x0 => ~g(u)=f(x0)]

                  Join, 320, 334

 

            336  ~g(u)=f(x0)

                  Cases, 313, 335

 

     PA4

     ***

 

      337  ALL(a):[a e n => ~g(a)=f(x0)]

            4 Conclusion, 308

 

     Prove: f(x0) e n

 

      338  x0 e n => f(x0) e n

            U Spec, 11

 

     PA1

     ***

 

      339  f(x0) e n

            Detach, 338, 10

 

         

          Suppose to the contrary that induction holds on n with successor function g
          and "first" element f(x0)

 

            340  ALL(a):[Set(a) & ALL(b):[b e a => b e n]

              => [f(x0) e a & ALL(b):[b e a => g(b) e a]

              => ALL(b):[b e n => b e a]]]

                  Premise

 

          Prove by induction that no element of n is its own successor using g as the
          successor function. This will be contradicted by the fact that g(x0)=x0.

         

          First, construct the subset p of n

         

          Apply Subset Axiom

 

            341  EXIST(sub):[Set(sub) & ALL(a):[a e sub <=> a e n & ~g(a)=a]]

                  Subset, 8

 

            342  Set(p) & ALL(a):[a e p <=> a e n & ~g(a)=a]

                  E Spec, 341

 

          Define: p

 

            343  Set(p)

                  Split, 342

 

            344  ALL(a):[a e p <=> a e n & ~g(a)=a]

                  Split, 342

 

            345  Set(p) & ALL(b):[b e p => b e n]

              => [f(x0) e p & ALL(b):[b e p => g(b) e p]

              => ALL(b):[b e n => b e p]]

                  U Spec, 340

 

             

              Prove: ALL(b):[b e p => b e n]

             

              Suppose...

 

                  346  t e p

                        Premise

 

                  347  t e p <=> t e n & ~g(t)=t

                        U Spec, 344

 

                  348  [t e p => t e n & ~g(t)=t] & [t e n & ~g(t)=t => t e p]

                        Iff-And, 347

 

                  349  t e p => t e n & ~g(t)=t

                        Split, 348

 

                  350  t e n & ~g(t)=t => t e p

                        Split, 348

 

                  351  t e n & ~g(t)=t

                        Detach, 349, 346

 

                  352  t e n

                        Split, 351

 

          As Required:

 

            353  ALL(b):[b e p => b e n]

                  4 Conclusion, 346

 

            354  Set(p) & ALL(b):[b e p => b e n]

                  Join, 343, 353

 

          Sufficient: ALL(b):[b e n => b e p]

 

            355  f(x0) e p & ALL(b):[b e p => g(b) e p]

              => ALL(b):[b e n => b e p]

                  Detach, 345, 354

 

            356  f(x0) e p <=> f(x0) e n & ~g(f(x0))=f(x0)

                  U Spec, 344

 

            357  [f(x0) e p => f(x0) e n & ~g(f(x0))=f(x0)]

              & [f(x0) e n & ~g(f(x0))=f(x0) => f(x0) e p]

                  Iff-And, 356

 

            358  f(x0) e p => f(x0) e n & ~g(f(x0))=f(x0)

                  Split, 357

 

          Sufficient: f(x0) e p

 

            359  f(x0) e n & ~g(f(x0))=f(x0) => f(x0) e p

                  Split, 357

 

            360  f(x0) e n => ~g(f(x0))=f(x0)

                  U Spec, 337

 

            361  ~g(f(x0))=f(x0)

                  Detach, 360, 339

 

            362  f(x0) e n & ~g(f(x0))=f(x0)

                  Join, 339, 361

 

          As Required:

 

            363  f(x0) e p

                  Detach, 359, 362

 

             

              Prove: ALL(b):[b e p => g(b) e p]

             

              Suppose...

 

                  364  t e p

                        Premise

 

              Apply definition of p

 

                  365  t e p <=> t e n & ~g(t)=t

                        U Spec, 344

 

                  366  [t e p => t e n & ~g(t)=t] & [t e n & ~g(t)=t => t e p]

                        Iff-And, 365

 

                  367  t e p => t e n & ~g(t)=t

                        Split, 366

 

                  368  t e n & ~g(t)=t => t e p

                        Split, 366

 

                  369  t e n & ~g(t)=t

                        Detach, 367, 364

 

                  370  t e n

                        Split, 369

 

                  371  ~g(t)=t

                        Split, 369

 

                  372  g(t) e p <=> g(t) e n & ~g(g(t))=g(t)

                        U Spec, 344

 

                  373  [g(t) e p => g(t) e n & ~g(g(t))=g(t)]

                   & [g(t) e n & ~g(g(t))=g(t) => g(t) e p]

                        Iff-And, 372

 

                  374  g(t) e p => g(t) e n & ~g(g(t))=g(t)

                        Split, 373

 

              Sufficient: g(t) e p

 

                  375  g(t) e n & ~g(g(t))=g(t) => g(t) e p

                        Split, 373

 

                  376  t e n => g(t) e n

                        U Spec, 205

 

                  377  g(t) e n

                        Detach, 376, 370

 

                  

                   Prove: ~g(g(t))=g(t)

                  

                   Suppose to the contrary...

 

                        378  g(g(t))=g(t)

                              Premise

 

                   Apply PA3

 

                        379  ALL(b):[g(t) e n & b e n => [g(g(t))=g(b) => g(t)=b]]

                              U Spec, 307

 

                        380  g(t) e n & t e n => [g(g(t))=g(t) => g(t)=t]

                              U Spec, 379

 

                        381  g(t) e n & t e n

                              Join, 377, 370

 

                        382  g(g(t))=g(t) => g(t)=t

                              Detach, 380, 381

 

                        383  g(t)=t

                              Detach, 382, 378

 

                        384  g(t)=t & ~g(t)=t

                              Join, 383, 371

 

              As Required:

 

                  385  ~g(g(t))=g(t)

                        4 Conclusion, 378

 

                  386  g(t) e n & ~g(g(t))=g(t)

                        Join, 377, 385

 

                  387  g(t) e p

                        Detach, 375, 386

 

          As Required:

 

            388  ALL(b):[b e p => g(b) e p]

                  4 Conclusion, 364

 

            389  f(x0) e p & ALL(b):[b e p => g(b) e p]

                  Join, 363, 388

 

            390  ALL(b):[b e n => b e p]

                  Detach, 355, 389

 

             

              Prove: ALL(a):[a e n => ~g(a)=a]

             

              Suppose...

 

                  391  t e n

                        Premise

 

                  392  t e n => t e p

                        U Spec, 390

 

                  393  t e p

                        Detach, 392, 391

 

                  394  t e p <=> t e n & ~g(t)=t

                        U Spec, 344

 

                  395  [t e p => t e n & ~g(t)=t] & [t e n & ~g(t)=t => t e p]

                        Iff-And, 394

 

                  396  t e p => t e n & ~g(t)=t

                        Split, 395

 

                  397  t e n & ~g(t)=t => t e p

                        Split, 395

 

                  398  t e n & ~g(t)=t

                        Detach, 396, 393

 

                  399  t e n

                        Split, 398

 

                  400  ~g(t)=t

                        Split, 398

 

          As Required:

 

            401  ALL(a):[a e n => ~g(a)=a]

                  4 Conclusion, 391

 

            402  x0 e n => ~g(x0)=x0

                  U Spec, 401

 

            403  ~g(x0)=x0

                  Detach, 402, 10

 

            404  x0 e n => [x0=x0 => g(x0)=x0] & [~x0=x0 => g(x0)=f(x0)]

                  U Spec, 246

 

            405  [x0=x0 => g(x0)=x0] & [~x0=x0 => g(x0)=f(x0)]

                  Detach, 404, 10

 

            406  x0=x0 => g(x0)=x0

                  Split, 405

 

            407  ~x0=x0 => g(x0)=f(x0)

                  Split, 405

 

            408  x0=x0

                  Reflex

 

            409  g(x0)=x0

                  Detach, 406, 408

 

            410  g(x0)=x0 & ~g(x0)=x0

                  Join, 409, 403

 

     ~PA5

     ****

 

      411  ~ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [f(x0) e a & ALL(b):[b e a => g(b) e a]

          => ALL(b):[b e n => b e a]]]

            4 Conclusion, 340

 

      412  Set(n) & ALL(a):[a e n => a e x]

            Join, 8, 9

 

      413  Set(n) & ALL(a):[a e n => a e x] & x0 e n

            Join, 412, 10

 

      414  Set(n) & ALL(a):[a e n => a e x] & x0 e n

          & f(x0) e n

            Join, 413, 339

 

      415  Set(n) & ALL(a):[a e n => a e x] & x0 e n

          & f(x0) e n

          & ALL(a):[a e n => f(a) e n]

            Join, 414, 11

 

      416  Set(n) & ALL(a):[a e n => a e x] & x0 e n

          & f(x0) e n

          & ALL(a):[a e n => f(a) e n]

          & ALL(a):[a e n => g(a) e n]

            Join, 415, 205

 

      417  Set(n) & ALL(a):[a e n => a e x] & x0 e n

          & f(x0) e n

          & ALL(a):[a e n => f(a) e n]

          & ALL(a):[a e n => g(a) e n]

          & ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

            Join, 416, 12

 

      418  Set(n) & ALL(a):[a e n => a e x] & x0 e n

          & f(x0) e n

          & ALL(a):[a e n => f(a) e n]

          & ALL(a):[a e n => g(a) e n]

          & ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

          & ALL(a):ALL(b):[a e n & b e n => [g(a)=g(b) => a=b]]

            Join, 417, 307

 

      419  Set(n) & ALL(a):[a e n => a e x] & x0 e n

          & f(x0) e n

          & ALL(a):[a e n => f(a) e n]

          & ALL(a):[a e n => g(a) e n]

          & ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

          & ALL(a):ALL(b):[a e n & b e n => [g(a)=g(b) => a=b]]

          & ALL(a):[a e n => ~f(a)=x0]

            Join, 418, 13

 

      420  Set(n) & ALL(a):[a e n => a e x] & x0 e n

          & f(x0) e n

          & ALL(a):[a e n => f(a) e n]

          & ALL(a):[a e n => g(a) e n]

          & ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

          & ALL(a):ALL(b):[a e n & b e n => [g(a)=g(b) => a=b]]

          & ALL(a):[a e n => ~f(a)=x0]

          & ALL(a):[a e n => ~g(a)=f(x0)]

            Join, 419, 337

 

      421  Set(n) & ALL(a):[a e n => a e x] & x0 e n

          & f(x0) e n

          & ALL(a):[a e n => f(a) e n]

          & ALL(a):[a e n => g(a) e n]

          & ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

          & ALL(a):ALL(b):[a e n & b e n => [g(a)=g(b) => a=b]]

          & ALL(a):[a e n => ~f(a)=x0]

          & ALL(a):[a e n => ~g(a)=f(x0)]

          & ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [x0 e a & ALL(b):[b e a => f(b) e a]

          => ALL(b):[b e n => b e a]]]

            Join, 420, 14

 

      422  Set(n) & ALL(a):[a e n => a e x] & x0 e n

          & f(x0) e n

          & ALL(a):[a e n => f(a) e n]

          & ALL(a):[a e n => g(a) e n]

          & ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

          & ALL(a):ALL(b):[a e n & b e n => [g(a)=g(b) => a=b]]

          & ALL(a):[a e n => ~f(a)=x0]

          & ALL(a):[a e n => ~g(a)=f(x0)]

          & ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [x0 e a & ALL(b):[b e a => f(b) e a]

          => ALL(b):[b e n => b e a]]]

          & ~ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [f(x0) e a & ALL(b):[b e a => g(b) e a]

          => ALL(b):[b e n => b e a]]]

            Join, 421, 411

 

      423  f(x0)=f(x0)

            Reflex

 

      424  EXIST(x1):f(x0)=x1

            E Gen, 423

 

      425  f(x0)=x1

            E Spec, 424

 

      426  Set(n) & ALL(a):[a e n => a e x] & x0 e n

          & x1 e n

          & ALL(a):[a e n => f(a) e n]

          & ALL(a):[a e n => g(a) e n]

          & ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

          & ALL(a):ALL(b):[a e n & b e n => [g(a)=g(b) => a=b]]

          & ALL(a):[a e n => ~f(a)=x0]

          & ALL(a):[a e n => ~g(a)=x1]

          & ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [x0 e a & ALL(b):[b e a => f(b) e a]

          => ALL(b):[b e n => b e a]]]

          & ~ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [x1 e a & ALL(b):[b e a => g(b) e a]

          => ALL(b):[b e n => b e a]]]

            Substitute, 425, 422

 

      427  EXIST(g):[Set(n) & ALL(a):[a e n => a e x] & x0 e n

          & x1 e n

          & ALL(a):[a e n => f(a) e n]

          & ALL(a):[a e n => g(a) e n]

          & ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

          & ALL(a):ALL(b):[a e n & b e n => [g(a)=g(b) => a=b]]

          & ALL(a):[a e n => ~f(a)=x0]

          & ALL(a):[a e n => ~g(a)=x1]

          & ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [x0 e a & ALL(b):[b e a => f(b) e a]

          => ALL(b):[b e n => b e a]]]

          & ~ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [x1 e a & ALL(b):[b e a => g(b) e a]

          => ALL(b):[b e n => b e a]]]]

            E Gen, 426

 

      428  EXIST(f):EXIST(g):[Set(n) & ALL(a):[a e n => a e x] & x0 e n

          & x1 e n

          & ALL(a):[a e n => f(a) e n]

          & ALL(a):[a e n => g(a) e n]

          & ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

          & ALL(a):ALL(b):[a e n & b e n => [g(a)=g(b) => a=b]]

          & ALL(a):[a e n => ~f(a)=x0]

          & ALL(a):[a e n => ~g(a)=x1]

          & ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [x0 e a & ALL(b):[b e a => f(b) e a]

          => ALL(b):[b e n => b e a]]]

          & ~ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [x1 e a & ALL(b):[b e a => g(b) e a]

          => ALL(b):[b e n => b e a]]]]

            E Gen, 427

 

      429  EXIST(n1):EXIST(f):EXIST(g):[Set(n) & ALL(a):[a e n => a e x] & x0 e n

          & n1 e n

          & ALL(a):[a e n => f(a) e n]

          & ALL(a):[a e n => g(a) e n]

          & ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

          & ALL(a):ALL(b):[a e n & b e n => [g(a)=g(b) => a=b]]

          & ALL(a):[a e n => ~f(a)=x0]

          & ALL(a):[a e n => ~g(a)=n1]

          & ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [x0 e a & ALL(b):[b e a => f(b) e a]

          => ALL(b):[b e n => b e a]]]

          & ~ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [n1 e a & ALL(b):[b e a => g(b) e a]

          => ALL(b):[b e n => b e a]]]]

            E Gen, 428

 

      430  EXIST(n0):EXIST(n1):EXIST(f):EXIST(g):[Set(n) & ALL(a):[a e n => a e x] & n0 e n

          & n1 e n

          & ALL(a):[a e n => f(a) e n]

          & ALL(a):[a e n => g(a) e n]

          & ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

          & ALL(a):ALL(b):[a e n & b e n => [g(a)=g(b) => a=b]]

          & ALL(a):[a e n => ~f(a)=n0]

          & ALL(a):[a e n => ~g(a)=n1]

          & ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [n0 e a & ALL(b):[b e a => f(b) e a]

          => ALL(b):[b e n => b e a]]]

          & ~ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [n1 e a & ALL(b):[b e a => g(b) e a]

          => ALL(b):[b e n => b e a]]]]

            E Gen, 429

 

      431  EXIST(n):EXIST(n0):EXIST(n1):EXIST(f):EXIST(g):[Set(n) & ALL(a):[a e n => a e x] & n0 e n

          & n1 e n

          & ALL(a):[a e n => f(a) e n]

          & ALL(a):[a e n => g(a) e n]

          & ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

          & ALL(a):ALL(b):[a e n & b e n => [g(a)=g(b) => a=b]]

          & ALL(a):[a e n => ~f(a)=n0]

          & ALL(a):[a e n => ~g(a)=n1]

          & ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [n0 e a & ALL(b):[b e a => f(b) e a]

          => ALL(b):[b e n => b e a]]]

          & ~ALL(a):[Set(a) & ALL(b):[b e a => b e n]

          => [n1 e a & ALL(b):[b e a => g(b) e a]

          => ALL(b):[b e n => b e a]]]]

            E Gen, 430

 

 

As Required:

 

432  ALL(x):[Set(x) & Infinite(x)

     => EXIST(n):EXIST(n0):EXIST(n1):EXIST(f):EXIST(g):[Set(n) & ALL(a):[a e n => a e x] & n0 e n

     & n1 e n

     & ALL(a):[a e n => f(a) e n]

     & ALL(a):[a e n => g(a) e n]

     & ALL(a):ALL(b):[a e n & b e n => [f(a)=f(b) => a=b]]

     & ALL(a):ALL(b):[a e n & b e n => [g(a)=g(b) => a=b]]

     & ALL(a):[a e n => ~f(a)=n0]

     & ALL(a):[a e n => ~g(a)=n1]

     & ALL(a):[Set(a) & ALL(b):[b e a => b e n]

     => [n0 e a & ALL(b):[b e a => f(b) e a]

     => ALL(b):[b e n => b e a]]]

     & ~ALL(a):[Set(a) & ALL(b):[b e a => b e n]

     => [n1 e a & ALL(b):[b e a => g(b) e a]

     => ALL(b):[b e n => b e a]]]]]

      4 Conclusion, 2