THEOREM

*******

 

Here, we construct an ordering lt (<) on the set of positive rational numbers qp

using the Cartesian product and Subset axioms, and the previously constructed set of

positive rational numbers qp, multiplication function * on n and ordering < on n.

 

Prove: EXIST(lt):ALL(a):ALL(b):[a e qp & b e qp

       => [(a,b) e lt

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

 

In subsquent proofs, we will use the infix < notation for this ordering as well. Note that the '<' to the right of the biconditional is the ordering on the set of natural numbers. The variables c, d, e, f will always be natural numbers.

 

 

This proof is was written and verified with the aid of the author's DC Proof 2.0 software

available free at http://www.dcproof.com

 

 

FROM PREVIOUS RESULTS

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

 

Define: < on n 

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

 

1     ALL(a):ALL(b):[a e n & b e n => [a<b <=> EXIST(c):[c e n & a+c=b]]]

      Axiom

 

 

Define: * on n

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

 

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

      Axiom

 

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

      Axiom

 

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

      Axiom

 

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

      Axiom

 

 

Define: qp

**********

 

6     Set(qp)

      Axiom

 

7     ALL(a):[a e qp

     <=> Set'(a)

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

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

      Axiom

 

 

PROOF

*****

 

Apply Cartesian Product axiom

 

8     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

 

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

      U Spec, 8

 

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

      U Spec, 9

 

11    Set(qp) & Set(qp)

      Join, 6, 6

 

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

      Detach, 10, 11

 

13    Set'(qp2) & ALL(c1):ALL(c2):[(c1,c2) e qp2 <=> c1 e qp & c2 e qp]

      E Spec, 12

 

 

Define: qp2

***********

 

The set of ordered pairs of positive rational numbers

 

14    Set'(qp2)

      Split, 13

 

15    ALL(c1):ALL(c2):[(c1,c2) e qp2 <=> c1 e qp & c2 e qp]

      Split, 13

 

 

Apply Subset axiom

 

16    EXIST(sub):[Set'(sub) & ALL(a):ALL(b):[(a,b) e sub <=> (a,b) e qp2 & ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e a & (e,f) e b => c*f<e*d]]]

      Subset, 14

 

17    Set'(lt) & ALL(a):ALL(b):[(a,b) e lt <=> (a,b) e qp2
     & ALL(c):ALL(d):ALL(e):ALL(f):[(c,d)
e a & (e,f) e b => c*f<e*d]]

      E Spec, 16

 

Define: lt

**********

 

18    Set'(lt)

      Split, 17

 

19    ALL(a):ALL(b):[(a,b) e lt <=> (a,b) e qp2 & ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e a
     & (e,f)
e b => c*f<e*d]]

      Split, 17

 

    

     Recast this definition without reference to qp2

    

     Prove: ALL(a):ALL(b):[a e qp & b e qp

            => [(a,b) e lt

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

    

     Suppose...

 

      20    x e qp & y e qp

            Premise

 

      21    x e qp

            Split, 20

 

      22    y e qp

            Split, 20

 

         

          '=>'

         

          Prove: (x,y) e lt

                 => ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y => c*f<e*d]

         

          Suppose...

 

            23    (x,y) e lt

                  Premise

 

          Apply original definition of lt

 

            24    ALL(b):[(x,b) e lt <=> (x,b) e qp2 & ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x
               & (e,f)
e b => c*f<e*d]]

                  U Spec, 19

 

            25    (x,y) e lt <=> (x,y) e qp2 & ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y
               => c*f<e*d]

                  U Spec, 24

 

            26    [(x,y) e lt => (x,y) e qp2 & ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y
               => c*f<e*d]]

               & [(x,y) e qp2 & ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y => c*f<e*d]
               => (
x,y) e lt]

                  Iff-And, 25

 

            27    (x,y) e lt => (x,y) e qp2 & ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y
               => c*f<e*d]

                  Split, 26

 

            28    (x,y) e qp2 & ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y => c*f<e*d]
               => (
x,y) e lt

                  Split, 26

 

            29    (x,y) e qp2 & ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y => c*f<e*d]

                  Detach, 27, 23

 

            30    (x,y) e qp2

                  Split, 29

 

            31    ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y => c*f<e*d]

                  Split, 29

 

     As Required:

 

      32    (x,y) e lt

          => ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y => c*f<e*d]

            4 Conclusion, 23

 

         

          '<='

         

          Prove: ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y => c*f<e*d]

                 => (x,y) e lt

         

          Suppose...

 

            33    ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y => c*f<e*d]

                  Premise

 

          Apply original definition of lt

 

            34    ALL(b):[(x,b) e lt <=> (x,b) e qp2 & ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x
               & (e,f)
e b => c*f<e*d]]

                  U Spec, 19

 

            35    (x,y) e lt <=> (x,y) e qp2 & ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y
               => c*f<e*d]

                  U Spec, 34

 

            36    [(x,y) e lt => (x,y) e qp2 & ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y
               => c*f<e*d]]

              & [(x,y) e qp2 & ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y => c*f<e*d]
               => (
x,y) e lt]

                  Iff-And, 35

 

            37    (x,y) e lt => (x,y) e qp2 & ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y
               => c*f<e*d]

                  Split, 36

 

          Sufficient For: (x,y) e lt

 

            38    (x,y) e qp2 & ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y => c*f<e*d]
               => (
x,y) e lt

                  Split, 36

 

            39    ALL(c2):[(x,c2) e qp2 <=> x e qp & c2 e qp]

                  U Spec, 15

 

            40    (x,y) e qp2 <=> x e qp & y e qp

                  U Spec, 39

 

            41    [(x,y) e qp2 => x e qp & y e qp]

              & [x e qp & y e qp => (x,y) e qp2]

                  Iff-And, 40

 

            42    (x,y) e qp2 => x e qp & y e qp

                  Split, 41

 

            43    x e qp & y e qp => (x,y) e qp2

                  Split, 41

 

            44    (x,y) e qp2

                  Detach, 43, 20

 

            45    (x,y) e qp2

              & ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y => c*f<e*d]

                  Join, 44, 33

 

            46    (x,y) e lt

                  Detach, 38, 45

 

     As Required:

 

      47    ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y => c*f<e*d]

          => (x,y) e lt

            4 Conclusion, 33

 

     Joining results...

 

      48    [(x,y) e lt

          => ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y => c*f<e*d]]

          & [ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y => c*f<e*d]

          => (x,y) e lt]

            Join, 32, 47

 

     Apply Iff-And rule

 

      49    (x,y) e lt

          <=> ALL(c):ALL(d):ALL(e):ALL(f):[(c,d) e x & (e,f) e y => c*f<e*d]

            Iff-And, 48

 

As Required:

 

50    ALL(a):ALL(b):[a e qp & b e qp

     => [(a,b) e lt

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

      4 Conclusion, 20

 

 

Generalizing...

 

As Required:

 

51    EXIST(lt):ALL(a):ALL(b):[a e qp & b e qp

     => [(a,b) e lt

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

      E Gen, 50