Step
*
1
of Lemma
divisor-test_wf
.....assertion..... 
∀d,n:ℕ. ∀i:ℕ+. ∀j:ℤ.
  (((j - i) ≤ d) 
⇒ j < n 
⇒ (i ≤ j) 
⇒ (divisor-test(n;i;j) ∈ {n1:ℤ| n1 < n ∧ (2 ≤ n1) ∧ (n1 | n)}  ∨ (gcd(n;iseg_produ\000Cct(i;j)) = 1 ∈ ℤ)))
BY
{ (CompleteInductionOnNat
   THEN Auto
   THEN RecUnfold `divisor-test` 0
   THEN (CallByValueReduce 0 THENA Auto)⋅
   THEN Subst' better-gcd(n;iseg_product_rem(i;j;n)) = better-gcd(n;iseg_product(i;j)) ∈ ℤ 0) }
1
.....equality..... 
1. d : ℕ
2. ∀d:ℕd. ∀n:ℕ. ∀i:ℕ+. ∀j:ℤ.
     (((j - i) ≤ d) 
⇒ j < n 
⇒ (i ≤ j) 
⇒ (divisor-test(n;i;j) ∈ {n1:ℤ| n1 < n ∧ (2 ≤ n1) ∧ (n1 | n)}  ∨ (gcd(n;iseg_pr\000Coduct(i;j)) = 1 ∈ ℤ)))
3. n : ℕ
4. i : ℕ+
5. j : ℤ
6. (j - i) ≤ d
7. j < n
8. i ≤ j
⊢ better-gcd(n;iseg_product_rem(i;j;n)) = better-gcd(n;iseg_product(i;j)) ∈ ℤ
2
1. d : ℕ
2. ∀d:ℕd. ∀n:ℕ. ∀i:ℕ+. ∀j:ℤ.
     (((j - i) ≤ d) 
⇒ j < n 
⇒ (i ≤ j) 
⇒ (divisor-test(n;i;j) ∈ {n1:ℤ| n1 < n ∧ (2 ≤ n1) ∧ (n1 | n)}  ∨ (gcd(n;iseg_pr\000Coduct(i;j)) = 1 ∈ ℤ)))
3. n : ℕ
4. i : ℕ+
5. j : ℤ
6. (j - i) ≤ d
7. j < n
8. i ≤ j
⊢ eval g = better-gcd(n;iseg_product(i;j)) in
  if 1 <z g
  then if g <z n
       then inl g
       else eval k = i + ((j - i) ÷ 2) in
            case divisor-test(n;i;k) of inl(x) => inl x | inr(x) => eval k' = k + 1 in divisor-test(n;k';j)
       fi 
  else inr ⋅ 
  fi  ∈ {n1:ℤ| n1 < n ∧ (2 ≤ n1) ∧ (n1 | n)}  ∨ (gcd(n;iseg_product(i;j)) = 1 ∈ ℤ)
Latex:
Latex:
.....assertion..... 
\mforall{}d,n:\mBbbN{}.  \mforall{}i:\mBbbN{}\msupplus{}.  \mforall{}j:\mBbbZ{}.
    (((j  -  i)  \mleq{}  d)
    {}\mRightarrow{}  j  <  n
    {}\mRightarrow{}  (i  \mleq{}  j)
    {}\mRightarrow{}  (divisor-test(n;i;j)  \mmember{}  \{n1:\mBbbZ{}|  n1  <  n  \mwedge{}  (2  \mleq{}  n1)  \mwedge{}  (n1  |  n)\}    \mvee{}  (gcd(n;iseg\_product(i;j))  =  1)))
By
Latex:
(CompleteInductionOnNat
  THEN  Auto
  THEN  RecUnfold  `divisor-test`  0
  THEN  (CallByValueReduce  0  THENA  Auto)\mcdot{}
  THEN  Subst'  better-gcd(n;iseg\_product\_rem(i;j;n))  =  better-gcd(n;iseg\_product(i;j))  0)
Home
Index