Step
*
of Lemma
evalall-atom1
∀[x:Atom1]. (evalall(x) ~ x)
BY
{ (Auto
   THEN RW (AddrC [2] (RecUnfoldC `evalall`)) 0
   THEN (CallByValueReduce 0 THENA (Unfold `has-value` 0 THEN Refine_callbyvalueAtom1 THEN Auto))) }
1
1. x : Atom1
⊢ if x is a pair then let a,b = x 
                      in eval a' = evalall(a) in
                         eval b' = evalall(b) in
                           <a', b'> otherwise if x is inl then eval y = evalall(outl(x)) in
                                                               inl y
                                              else if x is inr then eval y = evalall(outr(x)) in
                                                                    inr y 
                                                   else x
= x
∈ Atom1
Latex:
Latex:
\mforall{}[x:Atom1].  (evalall(x)  \msim{}  x)
By
Latex:
(Auto
  THEN  RW  (AddrC  [2]  (RecUnfoldC  `evalall`))  0
  THEN  (CallByValueReduce  0  THENA  (Unfold  `has-value`  0  THEN  Refine\_callbyvalueAtom1  THEN  Auto)))
Home
Index