Step
*
of Lemma
decidable__cmp-le
∀[T:Type]. ∀cmp:comparison(T). ∀x,y:cmp-type(T;cmp).  Dec(cmp-le(cmp;x;y))
BY
{ ((Auto THEN UseWitness ⌜if 0 ≤z cmp x y then inl <λx.x, Ax, Ax> else inr (λx.Ax)  fi ⌝⋅)
   THEN OnVar `x' QuotientElimForEquality 
   THEN OnVar `y' QuotientElimForEquality 
   THEN Subst' cmp x1 y1 ~ cmp x y 0) }
1
.....equality..... 
1. T : Type
2. cmp : comparison(T)@i
3. x : Base
4. x1 : Base
5. x = x1 ∈ pertype(λx,y. ((x ∈ T) ∧ (y ∈ T) ∧ ((cmp x y) = 0 ∈ ℤ)))
6. x ∈ T
7. x1 ∈ T
8. (cmp x x1) = 0 ∈ ℤ
9. y : Base
10. y1 : Base
11. y = y1 ∈ pertype(λx,y. ((x ∈ T) ∧ (y ∈ T) ∧ ((cmp x y) = 0 ∈ ℤ)))
12. y ∈ T
13. y1 ∈ T
14. (cmp y y1) = 0 ∈ ℤ
⊢ cmp x1 y1 ~ cmp x y
2
1. T : Type
2. cmp : comparison(T)@i
3. x : Base
4. x1 : Base
5. x = x1 ∈ pertype(λx,y. ((x ∈ T) ∧ (y ∈ T) ∧ ((cmp x y) = 0 ∈ ℤ)))
6. x ∈ T
7. x1 ∈ T
8. (cmp x x1) = 0 ∈ ℤ
9. y : Base
10. y1 : Base
11. y = y1 ∈ pertype(λx,y. ((x ∈ T) ∧ (y ∈ T) ∧ ((cmp x y) = 0 ∈ ℤ)))
12. y ∈ T
13. y1 ∈ T
14. (cmp y y1) = 0 ∈ ℤ
⊢ if 0 ≤z cmp x y then inl <λx.x, Ax, Ax> else inr (λx.Ax)  fi 
= if 0 ≤z cmp x y then inl <λx.x, Ax, Ax> else inr (λx.Ax)  fi 
∈ Dec(cmp-le(cmp;x;y))
Latex:
Latex:
\mforall{}[T:Type].  \mforall{}cmp:comparison(T).  \mforall{}x,y:cmp-type(T;cmp).    Dec(cmp-le(cmp;x;y))
By
Latex:
((Auto  THEN  UseWitness  \mkleeneopen{}if  0  \mleq{}z  cmp  x  y  then  inl  <\mlambda{}x.x,  Ax,  Ax>  else  inr  (\mlambda{}x.Ax)    fi  \mkleeneclose{}\mcdot{})
  THEN  OnVar  `x'  QuotientElimForEquality 
  THEN  OnVar  `y'  QuotientElimForEquality 
  THEN  Subst'  cmp  x1  y1  \msim{}  cmp  x  y  0)
Home
Index