Step
*
1
2
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
⊢ 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 ∈ ℤ)
BY
{ ((RWO "better-gcd-gcd" 0 THENA Auto) THEN (CallByValueReduce 0 THENA Auto) THEN OldAutoSplit)⋅ }
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))
⊢ 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 ∈ ℤ)
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
9. gcd(n;iseg_product(i;j)) ≤ 1
⊢ inr ⋅  ∈ {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
\mvdash{}  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)  \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 
    else  inr  \mcdot{} 
    fi    \mmember{}  \{n1:\mBbbZ{}|  n1  <  n  \mwedge{}  (2  \mleq{}  n1)  \mwedge{}  (n1  |  n)\}    \mvee{}  (gcd(n;iseg\_product(i;j))  =  1)
By
Latex:
((RWO  "better-gcd-gcd"  0  THENA  Auto)  THEN  (CallByValueReduce  0  THENA  Auto)  THEN  OldAutoSplit)\mcdot{}
Home
Index