Nuprl Lemma : mobj-tuple_wf

∀[S:MutualRectypeSpec]. ∀[x:mobj(S)].
  (mobj-tuple(x) ∈ tuple-type(prec-arg-types(lbl,p.mrec-spec(S;lbl;p);mobj-kind(x);mobj-label(x))))


Proof




Definitions occuring in Statement :  mobj-tuple: mobj-tuple(x),  mobj-label: mobj-label(x),  mobj-kind: mobj-kind(x),  mobj: mobj(L),  mrec-spec: mrec-spec(L;lbl;p),  mrec_spec: MutualRectypeSpec,  prec-arg-types: prec-arg-types(lbl,p.a[lbl; p];i;lbl),  tuple-type: tuple-type(L),  uall: ∀[x:A]. B[x],  member: t ∈ T
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  guard: {T},  uimplies: b supposing a,  mobj: mobj(L),  mkinds: mKinds,  subtype_rel: A ⊆r B,  mobj-tuple: mobj-tuple(x),  mobj-label: mobj-label(x),  mobj-kind: mobj-kind(x),  pi1: fst(t),  mobj-data: mobj-data(x),  pi2: snd(t),  mrec: mrec(L;i),  so_lambda: λ2x y.t[x; y],  so_apply: x[s1;s2]
Lemmas referenced :  mobj-ext,  ext-eq_inversion,  mobj_wf,  mrec_wf,  subtype_rel_weakening,  subtype_rel-equal,  mtype_wf,  mtype-sqequal,  prec-tuple_wf,  mrec-spec_wf,  mrec_spec_wf
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  Error :isect_memberFormation_alt,  introduction,  cut,  hypothesis_subsumption,  extract_by_obid,  sqequalHypSubstitution,  isectElimination,  thin,  hypothesisEquality,  hypothesis,  productEquality,  atomEquality,  independent_isectElimination,  because_Cache,  productElimination,  Error :dependent_pairEquality_alt,  setElimination,  rename,  applyEquality,  sqequalRule,  Error :universeIsType,  Error :lambdaEquality_alt,  Error :inhabitedIsType,  axiomEquality,  equalityTransitivity,  equalitySymmetry,  Error :isect_memberEquality_alt,  Error :isectIsTypeImplies

Latex:
\mforall{}[S:MutualRectypeSpec].  \mforall{}[x:mobj(S)].
    (mobj-tuple(x)  \mmember{}  tuple-type(prec-arg-types(lbl,p.mrec-spec(S;lbl;p);mobj-kind(x);mobj-label(x))))



Date html generated: 2019_06_20-PM-02_15_33
Last ObjectModification: 2019_02_28-PM-03_43_27

Theory : tuples


Home Index