Step * 3 of Lemma comparison-seq_wf


1. Type
2. c1 T ⟶ T ⟶ ℤ
3. (∀x,y:T.  ((c1 y) (-(c1 x)) ∈ ℤ))
∧ (∀x,y:T.  (((c1 y) 0 ∈ ℤ (∀z:T. ((c1 z) (c1 z) ∈ ℤ))))
∧ (∀x,y,z:T.  ((0 ≤ (c1 y))  (0 ≤ (c1 z))  (0 ≤ (c1 z))))
4. c2 : ⋂a:T. comparison({b:T| (c1 b) 0 ∈ ℤ)
5. T
6. T
⊢ ∀z:T
    ((0 ≤ eval answer1 c1 in
          if answer1=0 then c2 else answer1)
     (0 ≤ eval answer1 c1 in
            if answer1=0 then c2 else answer1)
     (0 ≤ eval answer1 c1 in
            if answer1=0 then c2 else answer1))
BY
(SplitAndHyps
   THEN (D THENA Auto)
   THEN (CallByValueReduce THENA Auto)
   THEN (Assert (c1 x) 0 ∈ ℤ BY
               (InstHyp [⌜x⌝;⌜x⌝3⋅ THEN Auto'))
   THEN (Assert c2 ∈ comparison({b:T| (c1 b) 0 ∈ ℤBY
               Auto)
   THEN (D THENA Auto)
   THEN (Assert (c1 y) 0 ∈ ℤ BY
               (InstHyp [⌜y⌝;⌜y⌝3⋅ THEN Auto'))
   THEN (Assert c2 ∈ comparison({b:T| (c1 b) 0 ∈ ℤBY
               Auto)
   THEN (D THENA Auto)) }

1
1. Type
2. c1 T ⟶ T ⟶ ℤ
3. ∀x,y:T.  ((c1 y) (-(c1 x)) ∈ ℤ)
4. ∀x,y:T.  (((c1 y) 0 ∈ ℤ (∀z:T. ((c1 z) (c1 z) ∈ ℤ)))
5. ∀x,y,z:T.  ((0 ≤ (c1 y))  (0 ≤ (c1 z))  (0 ≤ (c1 z)))
6. c2 : ⋂a:T. comparison({b:T| (c1 b) 0 ∈ ℤ)
7. T
8. T
9. T
10. (c1 x) 0 ∈ ℤ
11. c2 ∈ comparison({b:T| (c1 b) 0 ∈ ℤ)
12. 0 ≤ if c1 y=0 then c2 else (c1 y)
13. (c1 y) 0 ∈ ℤ
14. c2 ∈ comparison({b:T| (c1 b) 0 ∈ ℤ)
15. 0 ≤ if c1 z=0 then c2 else (c1 z)
⊢ 0 ≤ if c1 z=0 then c2 else (c1 z)


Latex:


Latex:

1.  T  :  Type
2.  c1  :  T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbZ{}
3.  (\mforall{}x,y:T.    ((c1  x  y)  =  (-(c1  y  x))))
\mwedge{}  (\mforall{}x,y:T.    (((c1  x  y)  =  0)  {}\mRightarrow{}  (\mforall{}z:T.  ((c1  x  z)  =  (c1  y  z)))))
\mwedge{}  (\mforall{}x,y,z:T.    ((0  \mleq{}  (c1  x  y))  {}\mRightarrow{}  (0  \mleq{}  (c1  y  z))  {}\mRightarrow{}  (0  \mleq{}  (c1  x  z))))
4.  c2  :  \mcap{}a:T.  comparison(\{b:T|  (c1  a  b)  =  0\}  )
5.  x  :  T
6.  y  :  T
\mvdash{}  \mforall{}z:T
        ((0  \mleq{}  eval  answer1  =  c1  x  y  in
                    if  answer1=0  then  c2  x  y  else  answer1)
        {}\mRightarrow{}  (0  \mleq{}  eval  answer1  =  c1  y  z  in
                        if  answer1=0  then  c2  y  z  else  answer1)
        {}\mRightarrow{}  (0  \mleq{}  eval  answer1  =  c1  x  z  in
                        if  answer1=0  then  c2  x  z  else  answer1))


By


Latex:
(SplitAndHyps
  THEN  (D  0  THENA  Auto)
  THEN  (CallByValueReduce  0  THENA  Auto)
  THEN  (Assert  (c1  x  x)  =  0  BY
                          (InstHyp  [\mkleeneopen{}x\mkleeneclose{};\mkleeneopen{}x\mkleeneclose{}]  3\mcdot{}  THEN  Auto'))
  THEN  (Assert  c2  \mmember{}  comparison(\{b:T|  (c1  x  b)  =  0\}  )  BY
                          Auto)
  THEN  (D  0  THENA  Auto)
  THEN  (Assert  (c1  y  y)  =  0  BY
                          (InstHyp  [\mkleeneopen{}y\mkleeneclose{};\mkleeneopen{}y\mkleeneclose{}]  3\mcdot{}  THEN  Auto'))
  THEN  (Assert  c2  \mmember{}  comparison(\{b:T|  (c1  y  b)  =  0\}  )  BY
                          Auto)
  THEN  (D  0  THENA  Auto))




Home Index