Step * 2 1 2 of Lemma divisor-in-range


1. {2...}
2. [n@0] : ℕ
3. ∀[m:ℕn@0]
     ∀i:{1...}. ∀j:{i..i m-}.
       (∃m:ℤ [(m < n ∧ (2 ≤ m) ∧ (m n))]) ∨ (∃m:ℤ [((2 ≤ m) ∧ (i ≤ m) ∧ (m ≤ j) ∧ (m n))])) supposing j < n
4. {1...}
5. {i..i n@0-}
6. j < n
7. : ℤ
8. iseg_product_rem(i;j;n) ∈ ℤ
9. : ℤ
10. gcd(n;iseg_product(i;j)) ∈ ℤ
11. 1 < g
12. ¬g < n
⊢ (∃m:ℤ [(m < n ∧ (2 ≤ m) ∧ (m n))]) ∨ (∃m:ℤ [((2 ≤ m) ∧ (i ≤ m) ∧ (m ≤ j) ∧ (m n))]))
BY
TACTIC:%% In this case n, so ⌜iseg_product(i;j)⌝ and hence
            can not be prime. So we know that the first disjunct must
            be true, but we have to find the divisor, so we proceed by splitting
            the interval.⋅
         TACTIC:(Assert i < BY
                       (SupposeNot
                        THEN Assert ⌜False⌝⋅
                        THEN Auto
                        THEN ((Assert iseg_product(i;j) i ∈ ℤ BY
                                     (Unfold `iseg_product` 0
                                      THEN RepeatFor (((RWO "combinations-step" THENM (AutoSplit THEN Auto'))
                                                         THENA (Auto THEN Auto')
                                                         ))
                                      ))
                              THEN (Assert gcd(n;i) ≤ BY
                                          (BLemma `divisors_bound`
                                           THEN Auto
                                           THEN InstLemma `gcd-positive` [⌜i⌝;⌜n⌝]⋅
                                           THEN Auto
                                           THEN BLemma `gcd_is_divisor_2`
                                           THEN Auto))
                              THEN Assert ⌜g ≤ i⌝⋅
                              THEN Auto')⋅)) }

1
1. {2...}
2. [n@0] : ℕ
3. ∀[m:ℕn@0]
     ∀i:{1...}. ∀j:{i..i m-}.
       (∃m:ℤ [(m < n ∧ (2 ≤ m) ∧ (m n))]) ∨ (∃m:ℤ [((2 ≤ m) ∧ (i ≤ m) ∧ (m ≤ j) ∧ (m n))])) supposing j < n
4. {1...}
5. {i..i n@0-}
6. j < n
7. : ℤ
8. iseg_product_rem(i;j;n) ∈ ℤ
9. : ℤ
10. gcd(n;iseg_product(i;j)) ∈ ℤ
11. 1 < g
12. ¬g < n
13. i < j
⊢ (∃m:ℤ [(m < n ∧ (2 ≤ m) ∧ (m n))]) ∨ (∃m:ℤ [((2 ≤ m) ∧ (i ≤ m) ∧ (m ≤ j) ∧ (m n))]))


Latex:


Latex:

1.  n  :  \{2...\}
2.  [n@0]  :  \mBbbN{}
3.  \mforall{}[m:\mBbbN{}n@0]
          \mforall{}i:\{1...\}.  \mforall{}j:\{i..i  +  m\msupminus{}\}.
              (\mexists{}m:\mBbbZ{}  [(m  <  n  \mwedge{}  (2  \mleq{}  m)  \mwedge{}  (m  |  n))])  \mvee{}  (\mneg{}(\mexists{}m:\mBbbZ{}  [((2  \mleq{}  m)  \mwedge{}  (i  \mleq{}  m)  \mwedge{}  (m  \mleq{}  j)  \mwedge{}  (m  |  n))])) 
              supposing  j  <  n
4.  i  :  \{1...\}
5.  j  :  \{i..i  +  n@0\msupminus{}\}
6.  j  <  n
7.  p  :  \mBbbZ{}
8.  p  =  iseg\_product\_rem(i;j;n)
9.  g  :  \mBbbZ{}
10.  g  =  gcd(n;iseg\_product(i;j))
11.  1  <  g
12.  \mneg{}g  <  n
\mvdash{}  (\mexists{}m:\mBbbZ{}  [(m  <  n  \mwedge{}  (2  \mleq{}  m)  \mwedge{}  (m  |  n))])  \mvee{}  (\mneg{}(\mexists{}m:\mBbbZ{}  [((2  \mleq{}  m)  \mwedge{}  (i  \mleq{}  m)  \mwedge{}  (m  \mleq{}  j)  \mwedge{}  (m  |  n))]))


By


Latex:
TACTIC:\%\%  In  this  case  g  =  n,  so  \mkleeneopen{}n  |  iseg\_product(i;j)\mkleeneclose{}  and  hence
                    n  can  not  be  a  prime.  So  we  know  that  the  first  disjunct  must
                    be  true,  but  we  have  to  find  the  divisor,  so  we  proceed  by  splitting
                    the  interval.\mcdot{}
              TACTIC:(Assert  i  <  j  BY
                                          (SupposeNot
                                            THEN  Assert  \mkleeneopen{}False\mkleeneclose{}\mcdot{}
                                            THEN  Auto
                                            THEN  ((Assert  iseg\_product(i;j)  =  i  BY
                                                                      (Unfold  `iseg\_product`  0
                                                                        THEN  RepeatFor  2  (((RWO  "combinations-step"  0
                                                                                                              THENM  (AutoSplit  THEN  Auto')
                                                                                                              )
                                                                                                              THENA  (Auto  THEN  Auto')
                                                                                                              ))
                                                                        ))
                                                        THEN  (Assert  gcd(n;i)  \mleq{}  i  BY
                                                                                (BLemma  `divisors\_bound`
                                                                                  THEN  Auto
                                                                                  THEN  InstLemma  `gcd-positive`  [\mkleeneopen{}i\mkleeneclose{};\mkleeneopen{}n\mkleeneclose{}]\mcdot{}
                                                                                  THEN  Auto
                                                                                  THEN  BLemma  `gcd\_is\_divisor\_2`
                                                                                  THEN  Auto))
                                                        THEN  Assert  \mkleeneopen{}g  \mleq{}  i\mkleeneclose{}\mcdot{}
                                                        THEN  Auto')\mcdot{}))




Home Index