Step * 1 2 1 2 of Lemma rat-int-part_wf


1. z1 : ℤ
2. z2 : ℤ-o
⊢ eval z1 ÷ z2 in
  eval z1 rem z2 in
    if (b =z 0) then <a, 0>
    if 0 <z2 then if 0 ≤z1 then <a, (b/z2)> else <1, (b z2/z2)> fi 
    if 0 ≤z1 then <1, (b z2/z2)>
    else <a, (b/z2)>
    fi  ∈ {p:ℤ × {r:ℚ(0 ≤ r) ∧ r < 1} let x@0,r in (z1/z2) (x@0 r) ∈ ℚ
BY
((InstLemma `div_rem_sum` [⌜z1⌝;⌜z2⌝]⋅ THENA Auto)
   THEN xxx(MoveToConcl (-1)
            THEN (GenConclTerm ⌜z1 rem z2⌝⋅ THENA Auto)
            THEN (GenConclTerm ⌜z1 ÷ z2⌝⋅ THENA Auto)
            THEN (D THENA Auto)
            THEN RepeatFor ((CallByValueReduce THENA Auto))
            THEN AutoSplit)xxx
   )⋅ }

1
1. z1 : ℤ
2. z2 : ℤ-o
3. : ℤ
4. (z1 rem z2) v ∈ ℤ
5. v1 : ℤ
6. (z1 ÷ z2) v1 ∈ ℤ
7. z1 ((v1 z2) v) ∈ ℤ
8. 0 ∈ ℤ
⊢ <v1, 0> ∈ {p:ℤ × {r:ℚ(0 ≤ r) ∧ r < 1} let x@0,r in (z1/z2) (x@0 r) ∈ ℚ

2
1. z1 : ℤ
2. z2 : ℤ-o
3. : ℤ
4. v ≠ 0
5. (z1 rem z2) v ∈ ℤ
6. v1 : ℤ
7. (z1 ÷ z2) v1 ∈ ℤ
8. z1 ((v1 z2) v) ∈ ℤ
⊢ if 0 <z2 then if 0 ≤z1 then <v1, (v/z2)> else <v1 1, (v z2/z2)> fi 
  if 0 ≤z1 then <v1 1, (v z2/z2)>
  else <v1, (v/z2)>
  fi  ∈ {p:ℤ × {r:ℚ(0 ≤ r) ∧ r < 1} let x@0,r in (z1/z2) (x@0 r) ∈ ℚ


Latex:


Latex:

1.  z1  :  \mBbbZ{}
2.  z2  :  \mBbbZ{}\msupminus{}\msupzero{}
\mvdash{}  eval  a  =  z1  \mdiv{}  z2  in
    eval  b  =  z1  rem  z2  in
        if  (b  =\msubz{}  0)  then  <a,  0>
        if  0  <z  z2  then  if  0  \mleq{}z  z1  then  <a,  (b/z2)>  else  <a  -  1,  (b  +  z2/z2)>  fi 
        if  0  \mleq{}z  z1  then  <a  -  1,  (b  +  z2/z2)>
        else  <a,  (b/z2)>
        fi    \mmember{}  \{p:\mBbbZ{}  \mtimes{}  \{r:\mBbbQ{}|  (0  \mleq{}  r)  \mwedge{}  r  <  1\}  |  let  x@0,r  =  p  in  (z1/z2)  =  (x@0  +  r)\} 


By


Latex:
((InstLemma  `div\_rem\_sum`  [\mkleeneopen{}z1\mkleeneclose{};\mkleeneopen{}z2\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  xxx(MoveToConcl  (-1)
                    THEN  (GenConclTerm  \mkleeneopen{}z1  rem  z2\mkleeneclose{}\mcdot{}  THENA  Auto)
                    THEN  (GenConclTerm  \mkleeneopen{}z1  \mdiv{}  z2\mkleeneclose{}\mcdot{}  THENA  Auto)
                    THEN  (D  0  THENA  Auto)
                    THEN  RepeatFor  2  ((CallByValueReduce  0  THENA  Auto))
                    THEN  AutoSplit)xxx
  )\mcdot{}




Home Index