Example (21.1)

 前回のroot4をexpを用いて証明してみます.

g`!x. &0 <= x ==> root 4 x = sqrt( sqrt x )`;;
e(SIMP_TAC[REAL_LE_LT] THEN REPEAT STRIP_TAC);;
e(ASM_SIMP_TAC[sqrt; ARITH_RULE`4 = SUC 3 /\ 2 = SUC 1`; ROOT_LN; REAL_EXP_POS_LT; REAL_EXP_INJ]);;
e(ASM_SIMP_TAC[ARITH_RULE`SUC 3 = 4 /\ SUC 1 = 2`; REAL_ARITH`x / &4 = y / &2 <=> x = &2 * y`; REAL_EXP_POS_LT; GSYM LN_POW]);;
e(ASM_SIMP_TAC[TWO; ROOT_LT_LEMMA;]);;
e(FIRST_ASSUM (MP_TAC o GSYM) THEN SIMP_TAC[ARITH_RULE`4 = SUC 3`; ROOT_0; SQRT_0]);;
let root4 = top_thm();;

 &0 = x のときの処理は,相等の対称律を知っているMESONに任せて

e(ASM_MESON_TAC[ARITH_RULE`4 = SUC 3`; ROOT_0; SQRT_0]);;

でもよいのですが,やはりsearchが掛かるので避けました.