Step
*
1
2
of Lemma
factorit_wf
.....falsecase.....
1. d : ℕ
2. ∀d:ℕd
∀[x:ℕ+]. ∀[b:ℕ].
(x - b * b < d
⇒ (2 ≤ b)
⇒ (∀[tried:{L:{p:ℕ| prime(p) ∧ p < b} List| ∀p:{p:ℕ| prime(p)} . (p < b
⇒ ((p ∈ L) ∧ (¬(p | x))))} ].
∀[facs:{p:ℕ| prime(p)} List].
(factorit(x;b;tried;facs) ∈ {L:{p:ℕ| prime(p)} List|
reduce(λp,q. (p * q);1;L) = (x * reduce(λp,q. (p * q);1;facs)) ∈ ℤ} )))
3. x : ℕ+
4. b : ℕ
5. x - b * b < d
6. 2 ≤ b
7. tried : {L:{p:ℕ| prime(p) ∧ p < b} List| ∀p:{p:ℕ| prime(p)} . (p < b
⇒ ((p ∈ L) ∧ (¬(p | x))))}
8. facs : {p:ℕ| prime(p)} List
9. (b * b) ≤ x
⊢ if (∃p∈tried.(b rem p =z 0))_b then eval b' = b + 1 in factorit(x;b';tried;facs)
if (x rem b =z 0) then eval x' = x ÷ b in factorit(x';b;tried;[b / facs])
else eval b' = b + 1 in
factorit(x;b';[b / tried];facs)
fi ∈ {L:{p:ℕ| prime(p)} List| reduce(λp,q. (p * q);1;L) = (x * reduce(λp,q. (p * q);1;facs)) ∈ ℤ}
BY
{ ((Assert ∀p:{p:ℕ| prime(p)} . p ≠ 0 BY (Auto THEN RepeatFor 2 ((D (-1) THEN Auto)))) THEN AutoSplit) }
1
1. d : ℕ
2. ∀d:ℕd
∀[x:ℕ+]. ∀[b:ℕ].
(x - b * b < d
⇒ (2 ≤ b)
⇒ (∀[tried:{L:{p:ℕ| prime(p) ∧ p < b} List| ∀p:{p:ℕ| prime(p)} . (p < b
⇒ ((p ∈ L) ∧ (¬(p | x))))} ].
∀[facs:{p:ℕ| prime(p)} List].
(factorit(x;b;tried;facs) ∈ {L:{p:ℕ| prime(p)} List|
reduce(λp,q. (p * q);1;L) = (x * reduce(λp,q. (p * q);1;facs)) ∈ ℤ} )))
3. x : ℕ+
4. b : ℕ
5. x - b * b < d
6. 2 ≤ b
7. tried : {L:{p:ℕ| prime(p) ∧ p < b} List| ∀p:{p:ℕ| prime(p)} . (p < b
⇒ ((p ∈ L) ∧ (¬(p | x))))}
8. facs : {p:ℕ| prime(p)} List
9. (b * b) ≤ x
10. ∀p:{p:ℕ| prime(p)} . p ≠ 0
11. (∃p∈tried. (b rem p) = 0 ∈ ℤ)
⊢ eval b' = b + 1 in
factorit(x;b';tried;facs) ∈ {L:{p:ℕ| prime(p)} List| reduce(λp,q. (p * q);1;L) = (x * reduce(λp,q. (p * q);1;facs)) ∈\000C ℤ}
2
1. d : ℕ
2. ∀d:ℕd
∀[x:ℕ+]. ∀[b:ℕ].
(x - b * b < d
⇒ (2 ≤ b)
⇒ (∀[tried:{L:{p:ℕ| prime(p) ∧ p < b} List| ∀p:{p:ℕ| prime(p)} . (p < b
⇒ ((p ∈ L) ∧ (¬(p | x))))} ].
∀[facs:{p:ℕ| prime(p)} List].
(factorit(x;b;tried;facs) ∈ {L:{p:ℕ| prime(p)} List|
reduce(λp,q. (p * q);1;L) = (x * reduce(λp,q. (p * q);1;facs)) ∈ ℤ} )))
3. x : ℕ+
4. b : ℕ
5. x - b * b < d
6. 2 ≤ b
7. tried : {L:{p:ℕ| prime(p) ∧ p < b} List| ∀p:{p:ℕ| prime(p)} . (p < b
⇒ ((p ∈ L) ∧ (¬(p | x))))}
8. ¬(∃p∈tried. (b rem p) = 0 ∈ ℤ)
9. facs : {p:ℕ| prime(p)} List
10. (b * b) ≤ x
11. ∀p:{p:ℕ| prime(p)} . p ≠ 0
⊢ if (x rem b =z 0)
then eval x' = x ÷ b in
factorit(x';b;tried;[b / facs])
else eval b' = b + 1 in
factorit(x;b';[b / tried];facs)
fi ∈ {L:{p:ℕ| prime(p)} List| reduce(λp,q. (p * q);1;L) = (x * reduce(λp,q. (p * q);1;facs)) ∈ ℤ}
Latex:
Latex:
.....falsecase.....
1. d : \mBbbN{}
2. \mforall{}d:\mBbbN{}d
\mforall{}[x:\mBbbN{}\msupplus{}]. \mforall{}[b:\mBbbN{}].
(x - b * b < d
{}\mRightarrow{} (2 \mleq{} b)
{}\mRightarrow{} (\mforall{}[tried:\{L:\{p:\mBbbN{}| prime(p) \mwedge{} p < b\} List|
\mforall{}p:\{p:\mBbbN{}| prime(p)\} . (p < b {}\mRightarrow{} ((p \mmember{} L) \mwedge{} (\mneg{}(p | x))))\} ].
\mforall{}[facs:\{p:\mBbbN{}| prime(p)\} List].
(factorit(x;b;tried;facs) \mmember{} \{L:\{p:\mBbbN{}| prime(p)\} List|
reduce(\mlambda{}p,q. (p * q);1;L) = (x * reduce(\mlambda{}p,q. (p * q);1;fa\000Ccs))\} )))
3. x : \mBbbN{}\msupplus{}
4. b : \mBbbN{}
5. x - b * b < d
6. 2 \mleq{} b
7. tried : \{L:\{p:\mBbbN{}| prime(p) \mwedge{} p < b\} List| \mforall{}p:\{p:\mBbbN{}| prime(p)\} . (p < b {}\mRightarrow{} ((p \mmember{} L) \mwedge{} (\mneg{}(p | x))))\}\000C
8. facs : \{p:\mBbbN{}| prime(p)\} List
9. (b * b) \mleq{} x
\mvdash{} if (\mexists{}p\mmember{}tried.(b rem p =\msubz{} 0))\_b then eval b' = b + 1 in factorit(x;b';tried;facs)
if (x rem b =\msubz{} 0) then eval x' = x \mdiv{} b in factorit(x';b;tried;[b / facs])
else eval b' = b + 1 in
factorit(x;b';[b / tried];facs)
fi \mmember{} \{L:\{p:\mBbbN{}| prime(p)\} List| reduce(\mlambda{}p,q. (p * q);1;L) = (x * reduce(\mlambda{}p,q. (p * q);1;facs))\}
By
Latex:
((Assert \mforall{}p:\{p:\mBbbN{}| prime(p)\} . p \mneq{} 0 BY (Auto THEN RepeatFor 2 ((D (-1) THEN Auto)))) THEN AutoSplit)
Home
Index