`∀[p,F,G,H:Top].`
`  (case let a,b = p in F[a;b] of inl(u) => G[u] | inr(v) => H[v] ~ let a,b = p `
`                                                                   in case F[a;b] of inl(u) => G[u] | inr(v) => H[v])`

Proof

Definitions occuring in Statement :  uall: `∀[x:A]. B[x]` top: `Top` so_apply: `x[s1;s2]` so_apply: `x[s]` spread: spread def decide: `case b of inl(x) => s[x] | inr(y) => t[y]` sqequal: `s ~ t`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` top: `Top` so_lambda: `so_lambda(x,y,z,w.t[x; y; z; w])` member: `t ∈ T` so_apply: `x[s1;s2;s3;s4]` so_lambda: `λ2x.t[x]` so_apply: `x[s]` uimplies: `b supposing a` strict4: `strict4(F)` and: `P ∧ Q` all: `∀x:A. B[x]` implies: `P `` Q` has-value: `(a)↓` prop: `ℙ` guard: `{T}` or: `P ∨ Q` squash: `↓T` so_lambda: `λ2x y.t[x; y]` so_apply: `x[s1;s2]`
Lemmas referenced :  lifting-strict-spread top_wf equal_wf has-value_wf_base base_wf is-exception_wf
Rules used in proof :  sqequalSubstitution sqequalRule sqequalTransitivity computationStep sqequalReflexivity cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin baseClosed isect_memberEquality voidElimination voidEquality independent_isectElimination independent_pairFormation lambdaFormation callbyvalueDecide hypothesis hypothesisEquality equalityTransitivity equalitySymmetry unionEquality unionElimination sqleReflexivity dependent_functionElimination independent_functionElimination baseApply closedConclusion decideExceptionCases inrFormation because_Cache imageMemberEquality imageElimination exceptionSqequal inlFormation isect_memberFormation sqequalAxiom isectEquality

Latex:
\mforall{}[p,F,G,H:Top].
(case  let  a,b  =  p  in  F[a;b]  of  inl(u)  =>  G[u]  |  inr(v)  =>  H[v]  \msim{}  let  a,b  =  p
in  case  F[a;b]
of  inl(u)  =>
G[u]
|  inr(v)  =>
H[v])

Date html generated: 2017_10_01-AM-08_39_26
Last ObjectModification: 2017_07_26-PM-04_27_29

Theory : untyped!computation

Home Index