Step * of Lemma rounding-div-property

[a:ℤ]. ∀[n:ℕ+].  ((2 |(n [a ÷ n]) a|) ≤ n)
BY
(Auto
   THEN Unfold `rounding-div` 0
   THEN RepeatFor ((CallByValueReduce THENA Auto))
   THEN ((RWO "divrem-sq" THENA Auto) THEN Reduce 0)
   THEN (InstLemma `div_rem_sum` [⌜a⌝;⌜n⌝]⋅ THENA Auto)
   THEN MoveToConcl (-1)
   THEN (GenConcl ⌜(a ÷ n) q ∈ ℤ⌝⋅ THENA Auto)
   THEN (InstLemma `rem_bounds_absval` [⌜n⌝;⌜a⌝]⋅ THENA Auto)
   THEN MoveToConcl (-1)
   THEN (GenConcl ⌜(a rem n) r ∈ ℤ⌝⋅ THENA Auto)
   THEN (CallByValueReduce THENA Auto)
   THEN RepeatFor ((D THENA Auto))
   THEN HypSubst' (-1) 0
   THEN (Subst' |n| -2 THENA Auto)
   THEN (RWO "absval_strict_ubound" (-2) THENA Auto)) }

1
1. : ℤ
2. : ℕ+
3. : ℤ
4. (a ÷ n) q ∈ ℤ
5. : ℤ
6. (a rem n) r ∈ ℤ
7. -n < r ∧ r < n
8. ((q n) r) ∈ ℤ
⊢ (2 |(n if (2 r) < (n)  then if (-n) < (2 r)  then q  else (q 1)  else (q 1)) (q n) r|) ≤ n


Latex:


Latex:
\mforall{}[a:\mBbbZ{}].  \mforall{}[n:\mBbbN{}\msupplus{}].    ((2  *  |(n  *  [a  \mdiv{}  n])  -  a|)  \mleq{}  n)


By


Latex:
(Auto
  THEN  Unfold  `rounding-div`  0
  THEN  RepeatFor  2  ((CallByValueReduce  0  THENA  Auto))
  THEN  ((RWO  "divrem-sq"  0  THENA  Auto)  THEN  Reduce  0)
  THEN  (InstLemma  `div\_rem\_sum`  [\mkleeneopen{}a\mkleeneclose{};\mkleeneopen{}n\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  MoveToConcl  (-1)
  THEN  (GenConcl  \mkleeneopen{}(a  \mdiv{}  n)  =  q\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  (InstLemma  `rem\_bounds\_absval`  [\mkleeneopen{}n\mkleeneclose{};\mkleeneopen{}a\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  MoveToConcl  (-1)
  THEN  (GenConcl  \mkleeneopen{}(a  rem  n)  =  r\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  (CallByValueReduce  0  THENA  Auto)
  THEN  RepeatFor  2  ((D  0  THENA  Auto))
  THEN  HypSubst'  (-1)  0
  THEN  (Subst'  |n|  \msim{}  n  -2  THENA  Auto)
  THEN  (RWO  "absval\_strict\_ubound"  (-2)  THENA  Auto))




Home Index