Step
*
3
of Lemma
comparison-seq_wf
1. T : Type
2. c1 : T ⟶ T ⟶ ℤ
3. (∀x,y:T.  ((c1 x y) = (-(c1 y x)) ∈ ℤ))
∧ (∀x,y:T.  (((c1 x y) = 0 ∈ ℤ) 
⇒ (∀z:T. ((c1 x z) = (c1 y z) ∈ ℤ))))
∧ (∀x,y,z:T.  ((0 ≤ (c1 x y)) 
⇒ (0 ≤ (c1 y z)) 
⇒ (0 ≤ (c1 x z))))
4. c2 : ⋂a:T. comparison({b:T| (c1 a b) = 0 ∈ ℤ} )
5. x : T
6. y : T
⊢ ∀z:T
    ((0 ≤ eval answer1 = c1 x y in
          if answer1=0 then c2 x y else answer1)
    
⇒ (0 ≤ eval answer1 = c1 y z in
            if answer1=0 then c2 y z else answer1)
    
⇒ (0 ≤ eval answer1 = c1 x z in
            if answer1=0 then c2 x z else answer1))
BY
{ (SplitAndHyps
   THEN (D 0 THENA Auto)
   THEN (CallByValueReduce 0 THENA Auto)
   THEN (Assert (c1 x x) = 0 ∈ ℤ BY
               (InstHyp [⌜x⌝;⌜x⌝] 3⋅ THEN Auto'))
   THEN (Assert c2 ∈ comparison({b:T| (c1 x b) = 0 ∈ ℤ} ) BY
               Auto)
   THEN (D 0 THENA Auto)
   THEN (Assert (c1 y y) = 0 ∈ ℤ BY
               (InstHyp [⌜y⌝;⌜y⌝] 3⋅ THEN Auto'))
   THEN (Assert c2 ∈ comparison({b:T| (c1 y b) = 0 ∈ ℤ} ) BY
               Auto)
   THEN (D 0 THENA Auto)) }
1
1. T : Type
2. c1 : T ⟶ T ⟶ ℤ
3. ∀x,y:T.  ((c1 x y) = (-(c1 y x)) ∈ ℤ)
4. ∀x,y:T.  (((c1 x y) = 0 ∈ ℤ) 
⇒ (∀z:T. ((c1 x z) = (c1 y z) ∈ ℤ)))
5. ∀x,y,z:T.  ((0 ≤ (c1 x y)) 
⇒ (0 ≤ (c1 y z)) 
⇒ (0 ≤ (c1 x z)))
6. c2 : ⋂a:T. comparison({b:T| (c1 a b) = 0 ∈ ℤ} )
7. x : T
8. y : T
9. z : T
10. (c1 x x) = 0 ∈ ℤ
11. c2 ∈ comparison({b:T| (c1 x b) = 0 ∈ ℤ} )
12. 0 ≤ if c1 x y=0 then c2 x y else (c1 x y)
13. (c1 y y) = 0 ∈ ℤ
14. c2 ∈ comparison({b:T| (c1 y b) = 0 ∈ ℤ} )
15. 0 ≤ if c1 y z=0 then c2 y z else (c1 y z)
⊢ 0 ≤ if c1 x z=0 then c2 x z else (c1 x 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