Step
*
1
2
1
of Lemma
divisor-test_wf
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
9. 1 < gcd(n;iseg_product(i;j))
⊢ if gcd(n;iseg_product(i;j)) <z n
  then inl gcd(n;iseg_product(i;j))
  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  ∈ {n1:ℤ| n1 < n ∧ (2 ≤ n1) ∧ (n1 | n)}  ∨ (gcd(n;iseg_product(i;j)) = 1 ∈ ℤ)
BY
{ xxx(Unfold `or` 0 THEN OldAutoSplit)xxx }
1
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
9. 1 < gcd(n;iseg_product(i;j))
10. n ≤ gcd(n;iseg_product(i;j))
⊢ 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)
  ∈ {n1:ℤ| n1 < n ∧ (2 ≤ n1) ∧ (n1 | n)}  + (gcd(n;iseg_product(i;j)) = 1 ∈ ℤ)
Latex:
Latex:
1.  d  :  \mBbbN{}
2.  \mforall{}d:\mBbbN{}d.  \mforall{}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\000C)))
3.  n  :  \mBbbN{}
4.  i  :  \mBbbN{}\msupplus{}
5.  j  :  \mBbbZ{}
6.  (j  -  i)  \mleq{}  d
7.  j  <  n
8.  i  \mleq{}  j
9.  1  <  gcd(n;iseg\_product(i;j))
\mvdash{}  if  gcd(n;iseg\_product(i;j))  <z  n
    then  inl  gcd(n;iseg\_product(i;j))
    else  eval  k  =  i  +  ((j  -  i)  \mdiv{}  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    \mmember{}  \{n1:\mBbbZ{}|  n1  <  n  \mwedge{}  (2  \mleq{}  n1)  \mwedge{}  (n1  |  n)\}    \mvee{}  (gcd(n;iseg\_product(i;j))  =  1)
By
Latex:
xxx(Unfold  `or`  0  THEN  OldAutoSplit)xxx
Home
Index