### Nuprl Lemma : name_eq-normalize2

`∀[F,G,X,a,b:Top].`
`  (case name_eq(a;b) ∧b X of inl(x) => F a | inr(y) => G ~ case name_eq(a;b) ∧b X of inl(x) => F b | inr(y) => G)`

Proof

Definitions occuring in Statement :  name_eq: `name_eq(x;y)` band: `p ∧b q` uall: `∀[x:A]. B[x]` top: `Top` apply: `f a` decide: `case b of inl(x) => s[x] | inr(y) => t[y]` sqequal: `s ~ t`
Definitions unfolded in proof :  band: `p ∧b q` bfalse: `ff` uall: `∀[x:A]. B[x]` member: `t ∈ T` top: `Top` ifthenelse: `if b then t else f fi ` so_lambda: `so_lambda(x,y,z,w.t[x; y; z; w])` 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`
Lemmas referenced :  name_eq-normalize lifting-strict-decide top_wf equal_wf has-value_wf_base base_wf is-exception_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin isect_memberEquality voidElimination voidEquality hypothesisEquality sqequalRule baseClosed independent_isectElimination independent_pairFormation lambdaFormation callbyvalueDecide hypothesis equalityTransitivity equalitySymmetry unionEquality unionElimination sqleReflexivity dependent_functionElimination independent_functionElimination baseApply closedConclusion decideExceptionCases inrFormation because_Cache imageMemberEquality imageElimination exceptionSqequal inlFormation isect_memberFormation sqequalAxiom

Latex:
\mforall{}[F,G,X,a,b:Top].
(case  name\_eq(a;b)  \mwedge{}\msubb{}  X  of  inl(x)  =>  F  a  |  inr(y)  =>  G  \msim{}  case  name\_eq(a;b)  \mwedge{}\msubb{}  X
of  inl(x)  =>
F  b
|  inr(y)  =>
G)

Date html generated: 2017_04_17-AM-09_17_32
Last ObjectModification: 2017_02_27-PM-05_21_48

Theory : decidable!equality

Home Index