Step
*
1
1
of Lemma
proper-divisor-aux_wf
1. n : ℕ+
2. m : ℕ
3. n < (m * m) * m * m
4. m * m < n
5. 1 < m
6. ∀i:ℕm. ((0 ≤ (i * m)) ∧ (i * m) + m < n)
7. b : ℤ
8. 0 < b
9. ((b - 1) ≤ m)
⇒ (proper-divisor-aux(n;m;b - 1;(m * (m - b - 1)) + 1;m * ((m - b - 1) + 1)) ∈ (∃n1:ℤ [(n1 < n ∧ (2 ≤ n1) ∧ (n1 | n))])
∨ (¬(∃i:{m - b - 1..m-}. (↑isl(divisor-test(n;(i * m) + 1;(i * m) + m))))))
10. b ≤ m
11. ¬(b = 0 ∈ ℤ)
⊢ case divisor-test(n;(m * (m - b)) + 1;m * ((m - b) + 1))
of inl(x) =>
inl x
| inr(x) =>
eval j' = (m * ((m - b) + 1)) + m in
eval i' = (m * ((m - b) + 1)) + 1 in
eval b' = b - 1 in
proper-divisor-aux(n;m;b';i';j') ∈ ∃n1:ℤ [(n1 < n ∧ (2 ≤ n1) ∧ (n1 | n))] + ((∃i:{m - b..m-}
(↑isl(divisor-test(n;(i * m) + 1;(i
* m)
+ m)))) ⟶ False)
BY
{ TACTIC:(Subst' ⌜((m * ((m - b) + 1)) + m) = (m * ((m - b - 1) + 1)) ∈ ℤ⌝ 0⋅
THEN Subst' ⌜((m * ((m - b) + 1)) + 1) = ((m * (m - b - 1)) + 1) ∈ ℤ⌝ 0⋅
) }
1
1. n : ℕ+
2. m : ℕ
3. n < (m * m) * m * m
4. m * m < n
5. 1 < m
6. ∀i:ℕm. ((0 ≤ (i * m)) ∧ (i * m) + m < n)
7. b : ℤ
8. 0 < b
9. ((b - 1) ≤ m)
⇒ (proper-divisor-aux(n;m;b - 1;(m * (m - b - 1)) + 1;m * ((m - b - 1) + 1)) ∈ (∃n1:ℤ [(n1 < n ∧ (2 ≤ n1) ∧ (n1 | n))])
∨ (¬(∃i:{m - b - 1..m-}. (↑isl(divisor-test(n;(i * m) + 1;(i * m) + m))))))
10. b ≤ m
11. ¬(b = 0 ∈ ℤ)
⊢ case divisor-test(n;(m * (m - b)) + 1;m * ((m - b) + 1))
of inl(x) =>
inl x
| inr(x) =>
eval j' = m * ((m - b - 1) + 1) in
eval i' = (m * (m - b - 1)) + 1 in
eval b' = b - 1 in
proper-divisor-aux(n;m;b';i';j') ∈ ∃n1:ℤ [(n1 < n ∧ (2 ≤ n1) ∧ (n1 | n))] + ((∃i:{m - b..m-}
(↑isl(divisor-test(n;(i * m) + 1;(i
* m)
+ m)))) ⟶ False)
Latex:
Latex:
1. n : \mBbbN{}\msupplus{}
2. m : \mBbbN{}
3. n < (m * m) * m * m
4. m * m < n
5. 1 < m
6. \mforall{}i:\mBbbN{}m. ((0 \mleq{} (i * m)) \mwedge{} (i * m) + m < n)
7. b : \mBbbZ{}
8. 0 < b
9. ((b - 1) \mleq{} m)
{}\mRightarrow{} (proper-divisor-aux(n;m;b - 1;(m * (m - b - 1)) + 1;m * ((m - b - 1) + 1)) \mmember{} (\mexists{}n1:\mBbbZ{} [(n1 < n
\mwedge{} (2 \mleq{} n1)
\mwedge{} (n1 | n))])
\mvee{} (\mneg{}(\mexists{}i:\{m - b - 1..m\msupminus{}\}. (\muparrow{}isl(divisor-test(n;(i * m) + 1;(i * m) + m))))))
10. b \mleq{} m
11. \mneg{}(b = 0)
\mvdash{} case divisor-test(n;(m * (m - b)) + 1;m * ((m - b) + 1))
of inl(x) =>
inl x
| inr(x) =>
eval j' = (m * ((m - b) + 1)) + m in
eval i' = (m * ((m - b) + 1)) + 1 in
eval b' = b - 1 in
proper-divisor-aux(n;m;b';i';j')
\mmember{} \mexists{}n1:\mBbbZ{} [(n1 < n \mwedge{} (2 \mleq{} n1) \mwedge{} (n1 | n))] + ((\mexists{}i:\{m - b..m\msupminus{}\}
(\muparrow{}isl(divisor-test(n;(i * m) + 1;(i * m) + m))))
{}\mrightarrow{} False)
By
Latex:
TACTIC:(Subst' \mkleeneopen{}((m * ((m - b) + 1)) + m) = (m * ((m - b - 1) + 1))\mkleeneclose{} 0\mcdot{}
THEN Subst' \mkleeneopen{}((m * ((m - b) + 1)) + 1) = ((m * (m - b - 1)) + 1)\mkleeneclose{} 0\mcdot{}
)
Home
Index