### Nuprl Lemma : record+_record

`∀[T:Atom ⟶ 𝕌']. ∀[B:record(x.T[x]) ⟶ 𝕌']. ∀[z:Atom]. ∀[r:record(x.T[x])`
`                                                           z:B[self]].`
`  (r ∈ record(x.if x =a z then B[r] else T[x] fi ))`

Proof

Definitions occuring in Statement :  record+: record+ record: `record(x.T[x])` ifthenelse: `if b then t else f fi ` eq_atom: `x =a y` uall: `∀[x:A]. B[x]` so_apply: `x[s]` member: `t ∈ T` function: `x:A ⟶ B[x]` atom: `Atom` universe: `Type`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` record+: record+ member: `t ∈ T` record: `record(x.T[x])` so_lambda: `λ2x.t[x]` so_apply: `x[s]` all: `∀x:A. B[x]` implies: `P `` Q` bool: `𝔹` unit: `Unit` it: `⋅` btrue: `tt` uiff: `uiff(P;Q)` and: `P ∧ Q` uimplies: `b supposing a` ifthenelse: `if b then t else f fi ` subtype_rel: `A ⊆r B` guard: `{T}` bfalse: `ff` exists: `∃x:A. B[x]` or: `P ∨ Q` sq_type: `SQType(T)` bnot: `¬bb` assert: `↑b` false: `False` nequal: `a ≠ b ∈ T ` not: `¬A`
Lemmas referenced :  record+_wf istype-atom record_wf istype-universe eq_atom_wf eqtt_to_assert assert_of_eq_atom subtype_rel-equal top_wf eqff_to_assert atom_subtype_base bool_subtype_base bool_cases_sqequal subtype_base_sq bool_wf assert-bnot neg_assert_of_eq_atom
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt sqequalHypSubstitution dependentIntersectionElimination universeIsType cut introduction extract_by_obid isectElimination thin because_Cache sqequalRule lambdaEquality_alt applyEquality hypothesisEquality hypothesis functionIsType instantiate universeEquality equalityTransitivity equalitySymmetry functionExtensionality_alt inhabitedIsType lambdaFormation_alt unionElimination equalityElimination productElimination independent_isectElimination cumulativity equalityIsType1 dependent_functionElimination independent_functionElimination dependent_pairFormation_alt equalityIsType4 baseApply closedConclusion baseClosed promote_hyp voidElimination

Latex:
\mforall{}[T:Atom  {}\mrightarrow{}  \mBbbU{}'].  \mforall{}[B:record(x.T[x])  {}\mrightarrow{}  \mBbbU{}'].  \mforall{}[z:Atom].  \mforall{}[r:record(x.T[x])
z:B[self]].
(r  \mmember{}  record(x.if  x  =a  z  then  B[r]  else  T[x]  fi  ))

Date html generated: 2019_10_15-AM-11_28_25
Last ObjectModification: 2018_10_16-PM-02_35_53

Theory : general

Home Index