### Nuprl Lemma : identity-record+-update

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

Proof

Definitions occuring in Statement :  record-update: `r[x := v]` record-select: `r.x` record+: record+ record: `record(x.T[x])` uall: `∀[x:A]. B[x]` so_apply: `x[s]` function: `x:A ⟶ B[x]` atom: `Atom` universe: `Type` equal: `s = t ∈ T`
Definitions unfolded in proof :  uall: `∀[x:A]. B[x]` record+: record+ so_lambda: `λ2x.t[x]` member: `t ∈ T` 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 ` sq_type: `SQType(T)` guard: `{T}` record-update: `r[x := v]` bfalse: `ff` exists: `∃x:A. B[x]` subtype_rel: `A ⊆r B` or: `P ∨ Q` bnot: `¬bb` assert: `↑b` false: `False` squash: `↓T` label: `...\$L... t` top: `Top` true: `True` iff: `P `⇐⇒` Q` rev_implies: `P `` Q` record-select: `r.x` nequal: `a ≠ b ∈ T ` not: `¬A` prop: `ℙ` istype: `istype(T)`
Lemmas referenced :  identity-record-update eq_atom_wf eqtt_to_assert assert_of_eq_atom subtype_base_sq atom_subtype_base eqff_to_assert bool_cases_sqequal bool_subtype_base assert-bnot neg_assert_of_eq_atom equal_wf istype-universe top_wf istype-void iff_weakening_equal record+_wf istype-atom record_wf bool_wf eq_atom-reflexive subtype_rel-equal subtype_rel_wf squash_wf true_wf record-update_wf record-select_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt dependentIntersection_memberEquality cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin sqequalRule lambdaEquality_alt applyEquality hypothesisEquality inhabitedIsType dependentIntersectionElimination equalityTransitivity hypothesis equalitySymmetry functionExtensionality_alt lambdaFormation_alt unionElimination equalityElimination productElimination independent_isectElimination instantiate because_Cache dependent_functionElimination independent_functionElimination dependent_pairFormation_alt equalityIsType4 baseApply closedConclusion baseClosed promote_hyp voidElimination imageElimination universeIsType isect_memberEquality_alt natural_numberEquality imageMemberEquality equalityIsType1 functionIsType universeEquality cumulativity atomEquality

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]].  \mforall{}[x:Atom].
(r[x  :=  r.x]  =  r)

Date html generated: 2019_10_15-AM-11_29_14
Last ObjectModification: 2018_10_16-PM-02_35_29

Theory : general

Home Index