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