THEOREM

*******

 

In the context of exponentiation on N, starting with exponent 0 is equivalent to starting with exponent 2.

 

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

   => [ALL(a):ALL(b):[a e n & b e n => exp(a,b+1)=exp(a,b)*a]

   => [ALL(a):[a e n => [~a=0 => exp(a,0)=1]] <=> ALL(a):[a e n => exp(a,2)=a*a]]]]

 

 

This machine-verified, formal proof was written with the aid of the author's DC Proof 2.0 freeware available http://www.dcproof.com

 

Dan Christensen

2019-10-16

 

 

AXIOMS/DEFINITIONS

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

 

Define: n, 0, 1, 2

 

1     Set(n)

      Axiom

 

2     0 e n

      Axiom

 

3     1 e n

      Axiom

 

4     2 e n

      Axiom

 

5     2=1+1

      Axiom

 

 

Properties of +

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

 

Closed on n

 

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

      Axiom

 

Adding 0

 

7     ALL(a):[a e n => a+0=a]

      Axiom

 

Commutative

 

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

      Axiom

 

 

Properties of *

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

 

Closed on n

 

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

      Axiom

 

Multplying by 0

 

10   ALL(a):[a e n => a*0=0]

      Axiom

 

Multiplying by 1

 

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

      Axiom

 

Commutative

 

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

      Axiom

 

Right cancelability of non-zero factors for *

 

13   ALL(a):ALL(b):ALL(c):[a e n & b e n & c e n => [~b=0 => [a*b=c*b => a=c]]]

      Axiom

 

   

    PROOF

    *****

   

    Suppose exp is a binary function n

 

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

            Premise

 

        

         Prove: ALL(a):ALL(b):[a e n & b e n => exp(a,b+1)=exp(a,b)*a]      

                => [ALL(a):[a e n => [~a=0 => exp(a,0)=1]] <=> ALL(a):[a e n => exp(a,2)=a*a]]

        

         Suppose...

 

            15   ALL(a):ALL(b):[a e n & b e n => exp(a,b+1)=exp(a,b)*a]

                  Premise

 

            

             '=>'

            

             Prove: ALL(a):[a e n => [~a=0 => exp(a,0)=1]] => ALL(a):[a e n => exp(a,2)=a*a]

 

                  16   ALL(a):[a e n => [~a=0 => exp(a,0)=1]]

                        Premise

 

                

                 Prove: ALL(a):[a e n => exp(a,2)=a*a]

                

                 Let x be the base

 

                        17   x e n

                              Premise

 

                 Two cases to consider:

 

                        18   x=0 | ~x=0

                              Or Not

 

                      Case 1

                     

                      Prove: x=0 => exp(x,2)=x*x

                     

                      Suppose...

 

                              19   x=0

                                    Premise

 

                     Apply definition of exp

 

                              20   ALL(b):[0 e n & b e n => exp(0,b+1)=exp(0,b)*0]

                                    U Spec, 15

 

                              21   0 e n & 0 e n => exp(0,0+1)=exp(0,0)*0

                                    U Spec, 20

 

                              22   0 e n & 0 e n

                                    Join, 2, 2

 

                              23   exp(0,0+1)=exp(0,0)*0

                                    Detach, 21, 22

 

                              24   1 e n => 1+0=1

                                    U Spec, 7

 

                              25   1+0=1

                                    Detach, 24, 3

 

                              26   1 e n => 1+0=1

                                    U Spec, 7

 

                              27   1+0=1

                                    Detach, 26, 3

 

                              28   ALL(b):[1 e n & b e n => 1+b=b+1]

                                    U Spec, 8

 

                              29   1 e n & 0 e n => 1+0=0+1

                                    U Spec, 28

 

                              30   1 e n & 0 e n

                                    Join, 3, 2

 

                              31   1+0=0+1

                                    Detach, 29, 30

 

                              32   0+1=1

                                    Substitute, 31, 27

 

                              33   exp(0,1)=exp(0,0)*0

                                    Substitute, 32, 23

 

                      Apply definition of exp

 

                              34   ALL(b):[0 e n & b e n => exp(0,b) e n]

                                    U Spec, 14

 

                              35   0 e n & 0 e n => exp(0,0) e n

                                    U Spec, 34

 

                              36   0 e n & 0 e n

                                    Join, 2, 2

 

                              37   exp(0,0) e n

                                    Detach, 35, 36

 

                      Apply definition of exp

 

                              38   exp(0,0) e n => exp(0,0)*0=0

                                    U Spec, 10, 37

 

                              39   exp(0,0)*0=0

                                    Detach, 38, 37

 

                              40   exp(0,1)=0

                                    Substitute, 39, 33

 

                      Apply defintion of exp

 

                              41   ALL(b):[0 e n & b e n => exp(0,b+1)=exp(0,b)*0]

                                    U Spec, 15

 

                              42   0 e n & 1 e n => exp(0,1+1)=exp(0,1)*0

                                    U Spec, 41

 

                              43   0 e n & 1 e n

                                    Join, 2, 3

 

                              44   exp(0,1+1)=exp(0,1)*0

                                    Detach, 42, 43

 

                              45   exp(0,2)=exp(0,1)*0

                                    Substitute, 5, 44

 

                              46   exp(0,2)=0*0

                                    Substitute, 40, 45

 

                              47   exp(x,2)=x*x

                                    Substitute, 19, 46

 

                 Case 1

                

                 As Required:

 

                        48   x=0 => exp(x,2)=x*x

                              4 Conclusion, 19

 

                     

                      Case 2

                     

                      Prove: ~x=0 => exp(x,2)=x*x

                     

                      Suppose...

 

                              49   ~x=0

                                    Premise

 

                      Apply definition of exp

 

                              50   x e n => [~x=0 => exp(x,0)=1]

                                    U Spec, 16

 

                              51   ~x=0 => exp(x,0)=1

                                    Detach, 50, 17

 

                              52   exp(x,0)=1

                                    Detach, 51, 49

 

                      Apply definition of exp

 

                              53   ALL(b):[x e n & b e n => exp(x,b+1)=exp(x,b)*x]

                                    U Spec, 15

 

                              54   x e n & 0 e n => exp(x,0+1)=exp(x,0)*x

                                    U Spec, 53

 

                              55   x e n & 0 e n

                                    Join, 17, 2

 

                              56   exp(x,0+1)=exp(x,0)*x

                                    Detach, 54, 55

 

                      Apply axiom

 

                              57   ALL(b):[0 e n & b e n => 0+b=b+0]

                                    U Spec, 8

 

                              58   0 e n & 1 e n => 0+1=1+0

                                    U Spec, 57

 

                              59   0 e n & 1 e n

                                    Join, 2, 3

 

                              60   0+1=1+0

                                    Detach, 58, 59

 

                              61   1 e n => 1+0=1

                                    U Spec, 7

 

                              62   1+0=1

                                    Detach, 61, 3

 

                              63   0+1=1

                                    Substitute, 62, 60

 

                              64   exp(x,1)=exp(x,0)*x

                                    Substitute, 63, 56

 

                              65   exp(x,1)=1*x

                                    Substitute, 52, 64

 

                      Apply axiom

 

                              66   ALL(b):[1 e n & b e n => 1*b=b*1]

                                    U Spec, 12

 

                              67   1 e n & x e n => 1*x=x*1

                                    U Spec, 66

 

                              68   1 e n & x e n

                                    Join, 3, 17

 

                              69   1*x=x*1

                                    Detach, 67, 68

 

                              70   x e n => x*1=x

                                    U Spec, 11

 

                              71   x*1=x

                                    Detach, 70, 17

 

                              72   1*x=x

                                    Substitute, 71, 69

 

                              73   exp(x,1)=x

                                    Substitute, 72, 65

 

                      Apply definition of exp

 

                              74   ALL(b):[x e n & b e n => exp(x,b+1)=exp(x,b)*x]

                                    U Spec, 15

 

                              75   x e n & 1 e n => exp(x,1+1)=exp(x,1)*x

                                    U Spec, 74

 

                              76   x e n & 1 e n

                                    Join, 17, 3

 

                              77   exp(x,1+1)=exp(x,1)*x

                                    Detach, 75, 76

 

                              78   exp(x,2)=exp(x,1)*x

                                    Substitute, 5, 77

 

                              79   exp(x,2)=x*x

                                    Substitute, 73, 78

 

                 Case 2:

                

                 As Required:

 

                        80   ~x=0 => exp(x,2)=x*x

                              4 Conclusion, 49

 

                        81   [x=0 => exp(x,2)=x*x] & [~x=0 => exp(x,2)=x*x]

                              Join, 48, 80

 

                        82   exp(x,2)=x*x

                              Cases, 18, 81

 

             As Required:

 

                  83   ALL(a):[a e n => exp(a,2)=a*a]

                        4 Conclusion, 17

 

         As Required:

 

            84   ALL(a):[a e n => [~a=0 => exp(a,0)=1]]

             => ALL(a):[a e n => exp(a,2)=a*a]

                  4 Conclusion, 16

 

            

             '<='

            

             Prove: ALL(a):[a e n => exp(a,2)=a*a]

                    => ALL(a):[a e n => [~a=0 => exp(a,0)=1]]

            

             Suppose...

 

                  85   ALL(a):[a e n => exp(a,2)=a*a]

                        Premise

 

                

                 Prove: ALL(a):[a e n => [~a=0 => exp(a,0)=1]]

                

                 Suppose...

 

                        86   x e n

                              Premise

 

                 Apply definition of exp

 

                        87   x e n => exp(x,2)=x*x

                              U Spec, 85

 

                        88   exp(x,2)=x*x

                              Detach, 87, 86

 

                     

                      Prove: ~x=0 => exp(x,0)=1

                     

                      Suppose...

 

                              89   ~x=0

                                    Premise

 

                      Apply definition of exp

 

                              90   ALL(b):[x e n & b e n => exp(x,b+1)=exp(x,b)*x]

                                    U Spec, 15

 

                              91   x e n & 1 e n => exp(x,1+1)=exp(x,1)*x

                                    U Spec, 90

 

                              92   x e n & 1 e n

                                    Join, 86, 3

 

                              93   exp(x,1+1)=exp(x,1)*x

                                    Detach, 91, 92

 

                              94   exp(x,2)=exp(x,1)*x

                                    Substitute, 5, 93

 

                              95   x*x=exp(x,1)*x

                                    Substitute, 88, 94

 

                      Apply axiom

 

                              96   ALL(b):ALL(c):[x e n & b e n & c e n => [~b=0 => [x*b=c*b => x=c]]]

                                    U Spec, 13

 

                              97   ALL(c):[x e n & x e n & c e n => [~x=0 => [x*x=c*x => x=c]]]

                                    U Spec, 96

 

                              98   ALL(b):[x e n & b e n => exp(x,b) e n]

                                    U Spec, 14

 

                              99   x e n & 1 e n => exp(x,1) e n

                                    U Spec, 98

 

                              100  x e n & 1 e n

                                    Join, 86, 3

 

                              101  exp(x,1) e n

                                    Detach, 99, 100

 

                              102  x e n & x e n & exp(x,1) e n => [~x=0 => [x*x=exp(x,1)*x => x=exp(x,1)]]

                                    U Spec, 97, 101

 

                              103  x e n & x e n

                                    Join, 86, 86

 

                              104  x e n & x e n & exp(x,1) e n

                                    Join, 103, 101

 

                              105  ~x=0 => [x*x=exp(x,1)*x => x=exp(x,1)]

                                    Detach, 102, 104

 

                              106  x*x=exp(x,1)*x => x=exp(x,1)

                                    Detach, 105, 89

 

                              107  x=exp(x,1)

                                    Detach, 106, 95

 

                              108  exp(x,1)=x

                                    Sym, 107

 

                      Apply definition of exp

 

                              109  ALL(b):[x e n & b e n => exp(x,b+1)=exp(x,b)*x]

                                    U Spec, 15

 

                              110  x e n & 0 e n => exp(x,0+1)=exp(x,0)*x

                                    U Spec, 109

 

                              111  x e n & 0 e n

                                    Join, 86, 2

 

                              112  exp(x,0+1)=exp(x,0)*x

                                    Detach, 110, 111

 

                      Apply axiom

 

                              113  ALL(b):[0 e n & b e n => 0+b=b+0]

                                    U Spec, 8

 

                              114  0 e n & 1 e n => 0+1=1+0

                                    U Spec, 113

 

                              115  0 e n & 1 e n

                                    Join, 2, 3

 

                              116  0+1=1+0

                                    Detach, 114, 115

 

                              117  1 e n => 1+0=1

                                    U Spec, 7

 

                              118  1+0=1

                                    Detach, 117, 3

 

                              119  0+1=1

                                    Substitute, 118, 116

 

                              120  exp(x,1)=exp(x,0)*x

                                    Substitute, 119, 112

 

                              121  x=exp(x,0)*x

                                    Substitute, 108, 120

 

                              122  x e n => x*1=x

                                    U Spec, 11

 

                              123  x*1=x

                                    Detach, 122, 86

 

                      Apply axiom

 

                              124  ALL(b):[x e n & b e n => x*b=b*x]

                                    U Spec, 12

 

                              125  x e n & 1 e n => x*1=1*x

                                    U Spec, 124

 

                              126  x e n & 1 e n

                                    Join, 86, 3

 

                              127  x*1=1*x

                                    Detach, 125, 126

 

                              128  1*x=x

                                    Substitute, 127, 123

 

                              129  1*x=exp(x,0)*x

                                    Substitute, 128, 121

 

                      Apply axiom

 

                              130  ALL(b):ALL(c):[1 e n & b e n & c e n => [~b=0 => [1*b=c*b => 1=c]]]

                                    U Spec, 13

 

                              131  ALL(c):[1 e n & x e n & c e n => [~x=0 => [1*x=c*x => 1=c]]]

                                    U Spec, 130

 

                              132  ALL(b):[x e n & b e n => exp(x,b) e n]

                                    U Spec, 14

 

                              133  x e n & 0 e n => exp(x,0) e n

                                    U Spec, 132

 

                              134  x e n & 0 e n

                                    Join, 86, 2

 

                              135  exp(x,0) e n

                                    Detach, 133, 134

 

                              136  1 e n & x e n & exp(x,0) e n => [~x=0 => [1*x=exp(x,0)*x => 1=exp(x,0)]]

                                    U Spec, 131, 135

 

                              137  1 e n & x e n

                                    Join, 3, 86

 

                              138  1 e n & x e n & exp(x,0) e n

                                    Join, 137, 135

 

                              139  ~x=0 => [1*x=exp(x,0)*x => 1=exp(x,0)]

                                    Detach, 136, 138

 

                              140  1*x=exp(x,0)*x => 1=exp(x,0)

                                    Detach, 139, 89

 

                              141  1=exp(x,0)

                                    Detach, 140, 129

 

                              142  exp(x,0)=1

                                    Sym, 141

 

                 As Required:

 

                        143  ~x=0 => exp(x,0)=1

                              4 Conclusion, 89

 

             As Required:

 

                  144  ALL(a):[a e n => [~a=0 => exp(a,0)=1]]

                        4 Conclusion, 86

 

         As Required:

 

            145  ALL(a):[a e n => exp(a,2)=a*a]

             => ALL(a):[a e n => [~a=0 => exp(a,0)=1]]

                  4 Conclusion, 85

 

            146  [ALL(a):[a e n => [~a=0 => exp(a,0)=1]]

             => ALL(a):[a e n => exp(a,2)=a*a]]

             & [ALL(a):[a e n => exp(a,2)=a*a]

             => ALL(a):[a e n => [~a=0 => exp(a,0)=1]]]

                  Join, 84, 145

 

            147  ALL(a):[a e n => [~a=0 => exp(a,0)=1]]

             <=> ALL(a):[a e n => exp(a,2)=a*a]

                  Iff-And, 146

 

    As Required:

 

      148  ALL(a):ALL(b):[a e n & b e n => exp(a,b+1)=exp(a,b)*a]

         => [ALL(a):[a e n => [~a=0 => exp(a,0)=1]]

         <=> ALL(a):[a e n => exp(a,2)=a*a]]

            4 Conclusion, 15

 

 

As Required:

 

149  ALL(exp):[ALL(a):ALL(b):[a e n & b e n => exp(a,b) e n]

    => [ALL(a):ALL(b):[a e n & b e n => exp(a,b+1)=exp(a,b)*a]

    => [ALL(a):[a e n => [~a=0 => exp(a,0)=1]]

    <=> ALL(a):[a e n => exp(a,2)=a*a]]]]

      4 Conclusion, 14