Step * 1 1 of Lemma per-union-elim


1. Type
2. Type
3. per-union(A;B)
⊢ λx@0.if x@0 Ax then inl outl(x) otherwise inr outr(x)  ∈ per-function(per-value();a.Type)
BY
((Assert per-function(per-value();a.Type) ∈ 𝕌BY
          (BLemma `per-function_wf_type` THEN Auto))
   THEN (DupHyp (-1) THEN Unfold `per-function` -1)
   THEN (PointwiseFunctionalityForEquality' THENW Auto)
   THEN ((Unfold `per-function` THEN PerEqCD_member) THENW Auto)
   THEN Reduce 0
   THEN 0
   THEN Reduce 0
   THEN Auto) }

1
1. Type
2. Type
3. Base
4. x1 Base
5. x1 ∈ per-union(A;B)
6. per-function(per-value();a.Type) ∈ 𝕌'
7. pertype(λf,g. function-eq(per-value();a.Type;f;g)) ∈ 𝕌'
8. Base
9. Base
10. b ∈ per-value()
⊢ if Ax then inl outl(x) otherwise inr outr(x) 
if Ax then x1 inl outl(x1) otherwise x1 inr outr(x1) 
∈ Type


Latex:


Latex:

1.  A  :  Type
2.  B  :  Type
3.  x  :  per-union(A;B)
\mvdash{}  \mlambda{}x@0.if  x@0  =  Ax  then  x  \msim{}  inl  outl(x)  otherwise  x  \msim{}  inr  outr(x) 
    \mmember{}  per-function(per-value();a.Type)


By


Latex:
((Assert  per-function(per-value();a.Type)  \mmember{}  \mBbbU{}'  BY
                (BLemma  `per-function\_wf\_type`  THEN  Auto))
  THEN  (DupHyp  (-1)  THEN  Unfold  `per-function`  -1)
  THEN  (PointwiseFunctionalityForEquality'  3  THENW  Auto)
  THEN  ((Unfold  `per-function`  0  THEN  PerEqCD\_member)  THENW  Auto)
  THEN  Reduce  0
  THEN  D  0
  THEN  Reduce  0
  THEN  Auto)




Home Index