Step
*
1
of Lemma
isqrt_newton_wf
.....assertion.....
∀d:ℕ. ∀n,x:ℕ+.
(((((x + 1) * (x + 1)) - n) ≤ d)
⇒ n < (x + 1) * (x + 1)
⇒ (isqrt_newton(n;x) ∈ ∃r:ℕ [(((r * r) ≤ n) ∧ n < (r + 1) * (r + 1))]))
BY
{ TACTIC:((CompleteInductionOnNat THEN Auto)
THEN RecUnfold `isqrt_newton` 0
THEN (GenConclTerm ⌜x + (n ÷ x)⌝⋅ THENA Auto)
THEN (CallByValueReduce 0 THENA Auto)
THEN Mul ⌜x⌝ (-1)⋅
THEN (RW IntNormC (-1) THENA Auto)
THEN (RWO "div_rem_sum2" (-1) THENA Auto)
THEN (InstLemma `rem_bounds_1` [⌜n⌝;⌜x⌝]⋅ THENA Auto)
THEN (InstLemma `div_bounds_1` [⌜n⌝;⌜x⌝]⋅ THENA Auto)
THEN (GenConclTerm ⌜v ÷ 2⌝⋅ THENA Auto)
THEN (Mul ⌜2⌝ (-1)⋅ THENA Auto)
THEN TACTIC:(RWO "div_rem_sum2" (-1) THENA Auto)
THEN (InstLemma `rem_bounds_1` [⌜v⌝;⌜2⌝]⋅ THENA Auto)
THEN (CallByValueReduce 0 THENA Auto)
THEN ExRepD) }
1
1. d : ℕ
2. ∀d:ℕd. ∀n,x:ℕ+.
(((((x + 1) * (x + 1)) - n) ≤ d)
⇒ n < (x + 1) * (x + 1)
⇒ (isqrt_newton(n;x) ∈ ∃r:ℕ [(((r * r) ≤ n) ∧ n < (r + 1) * (r + 1))]))
3. n : ℕ+@i
4. x : ℕ+@i
5. (((x + 1) * (x + 1)) - n) ≤ d
6. n < (x + 1) * (x + 1)
7. v : ℤ@i
8. (x + (n ÷ x)) = v ∈ ℤ
9. ((n - n rem x) + (x * x)) = (v * x) ∈ ℤ
10. 0 ≤ (n rem x)
11. n rem x < x
12. 0 ≤ (n ÷ x)
13. v1 : ℤ@i
14. (v ÷ 2) = v1 ∈ ℤ
15. (v - v rem 2) = (2 * v1) ∈ ℤ
16. 0 ≤ (v rem 2)
17. v rem 2 < 2
⊢ if v1=x then v1 else if (x) < (v1) then x else isqrt_newton(n;v1) ∈ ∃r:ℕ [(((r * r) ≤ n) ∧ n < (r + 1) * (r + 1))]
Latex:
Latex:
.....assertion.....
\mforall{}d:\mBbbN{}. \mforall{}n,x:\mBbbN{}\msupplus{}.
(((((x + 1) * (x + 1)) - n) \mleq{} d)
{}\mRightarrow{} n < (x + 1) * (x + 1)
{}\mRightarrow{} (isqrt\_newton(n;x) \mmember{} \mexists{}r:\mBbbN{} [(((r * r) \mleq{} n) \mwedge{} n < (r + 1) * (r + 1))]))
By
Latex:
TACTIC:((CompleteInductionOnNat THEN Auto)
THEN RecUnfold `isqrt\_newton` 0
THEN (GenConclTerm \mkleeneopen{}x + (n \mdiv{} x)\mkleeneclose{}\mcdot{} THENA Auto)
THEN (CallByValueReduce 0 THENA Auto)
THEN Mul \mkleeneopen{}x\mkleeneclose{} (-1)\mcdot{}
THEN (RW IntNormC (-1) THENA Auto)
THEN (RWO "div\_rem\_sum2" (-1) THENA Auto)
THEN (InstLemma `rem\_bounds\_1` [\mkleeneopen{}n\mkleeneclose{};\mkleeneopen{}x\mkleeneclose{}]\mcdot{} THENA Auto)
THEN (InstLemma `div\_bounds\_1` [\mkleeneopen{}n\mkleeneclose{};\mkleeneopen{}x\mkleeneclose{}]\mcdot{} THENA Auto)
THEN (GenConclTerm \mkleeneopen{}v \mdiv{} 2\mkleeneclose{}\mcdot{} THENA Auto)
THEN (Mul \mkleeneopen{}2\mkleeneclose{} (-1)\mcdot{} THENA Auto)
THEN TACTIC:(RWO "div\_rem\_sum2" (-1) THENA Auto)
THEN (InstLemma `rem\_bounds\_1` [\mkleeneopen{}v\mkleeneclose{};\mkleeneopen{}2\mkleeneclose{}]\mcdot{} THENA Auto)
THEN (CallByValueReduce 0 THENA Auto)
THEN ExRepD)
Home
Index