Nuprl Lemma : hdf-sqequal2-weak

[F,G,H:Base].
  (fix((λmk-hdf,s0. case s0 of inl(y) => inl a.let X',bs in let out ←─ G[bs] in <mk-hdf X', out>inr(z) => H[\000Cz])) 
   fix((λmk-hdf.(inl m.<mk-hdf, F[m]>)))) fix((λmk-hdf.(inl a.let out ←─ G[F[a]]
                                                                    in <mk-hdf, out>)))))


Proof




Definitions occuring in Statement :  callbyvalueall: callbyvalueall uall: [x:A]. B[x] so_apply: x[s] apply: a fix: fix(F) lambda: λx.A[x] spread: spread def pair: <a, b> decide: case of inl(x) => s[x] inr(y) => t[y] inl: inl x base: Base sqequal: t
Lemmas :  hdf-sqequal2 base_wf
\mforall{}[F,G,H:Base].
    (fix((\mlambda{}mk-hdf,s0.  case  s0
                                        of  inl(y)  =>
                                        inl  (\mlambda{}a.let  X',bs  =  y  a 
                                                        in  let  out  \mleftarrow{}{}  G[bs]
                                                              in  <mk-hdf  X',  out>)
                                        |  inr(z)  =>
                                        H[z])) 
      fix((\mlambda{}mk-hdf.(inl  (\mlambda{}m.<mk-hdf,  F[m]>))))  \msim{}  fix((\mlambda{}mk-hdf.(inl  (\mlambda{}a.let  out  \mleftarrow{}{}  G[F[a]]
                                                                                                                                        in  <mk-hdf,  out>)))))



Date html generated: 2015_07_17-AM-08_16_55
Last ObjectModification: 2015_01_27-AM-11_51_09

Home Index