I ported the HOL Light tutorial's proof of the irrationality of sqrt{2} 
(below).  The tactics proof of NSQRT_2 (p 75) used the theorems 
num_WF, RIGHT_IMP_FORALL_THM, EVEN_MULT, ARITH, EVEN_EXISTS, ARITH_RULE, 
LE_MULT2, MULT_EQ_0; ARITH_RULE.

My miz3 port used all these theorems except  RIGHT_IMP_FORALL_THM and ARITH.  I 
used in addition the theorems NUM_RING and LTE_CASES.  Perhaps I needed the 
last two because I didn't quite follow, or completely understand, John's 
argument.  But I have trouble seeing why I don't need NUM_RING, which I used to 
prove that  
p^2 = 2q^2 and p = 2m implies q^2 = 2m^2.

-- 
Best,
Bill 

horizon := 0;;
timeout := 50;;

let SquareRoot2 = thm `;
  thus ! p. ! q. p * p = 2 * q * q  ==>  q = 0

  proof
    consider P such that 
    P = \p. ! q. p * p = 2 * q * q  ==>  q = 0                    [Pdef];
    ! p. (! m. m < p ==> P m)  ==>  P p
    proof
      let p be num;
      assume ! m. m < p ==> P m     [pInductStep];
      ! q. p * p = 2 * q * q ==> q = 0
      proof
        let q be num;
        assume p * p = 2 * q * q     [pq2];
        EVEN p     by -, EVEN_EXISTS, EVEN_MULT;
        consider m such that 
        p = 2 * m     by -, EVEN_EXISTS;
        q * q = 2 * m * m     [qmWorks] by -,  pq2, NUM_RING;
        ! x. 2 * x <= x  ==> x = 0     [Mult2LessZero] by ARITH_RULE;
        q < p  \/  q = 0     by LTE_CASES, pq2, LE_MULT2, Mult2LessZero, 
MULT_EQ_0;
        cases by -;
        suppose q < p;
          m = 0     by -, qmWorks, pInductStep, Pdef;
        qed     by -, qmWorks, MULT_0, MULT_EQ_0;
        suppose q = 0;
        qed     by -;
      end;
    qed     by -, Pdef;
  qed by -, num_WF, Pdef;
`;;

------------------------------------------------------------------------------
Keep yourself connected to Go Parallel: 
INSIGHTS What's next for parallel hardware, programming and related areas?
Interviews and blogs by thought leaders keep you ahead of the curve.
http://goparallel.sourceforge.net
_______________________________________________
hol-info mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hol-info

Reply via email to