Step * 1 2 1 of Lemma mobj-cases

.....assertion..... 
1. MutualRectypeSpec
2. mobj(S) ⟶ TYPE
3. mKinds
4. lbl {lbl:Atom| 0 < ||mrec-spec(S;lbl;k)||} 
5. tuple-type(prec-arg-types(lbl,p.mrec-spec(S;lbl;p);k;lbl))
⊢ <k, mk-prec(lbl;t)> ∈ mobj(S)
BY
SubsumeC ⌜i:Atom × mrec(S;i)⌝⋅ }

1
1. MutualRectypeSpec
2. mobj(S) ⟶ TYPE
3. mKinds
4. lbl {lbl:Atom| 0 < ||mrec-spec(S;lbl;k)||} 
5. tuple-type(prec-arg-types(lbl,p.mrec-spec(S;lbl;p);k;lbl))
⊢ <k, mk-prec(lbl;t)> ∈ i:Atom × mrec(S;i)

2
1. MutualRectypeSpec
2. mobj(S) ⟶ TYPE
3. mKinds
4. lbl {lbl:Atom| 0 < ||mrec-spec(S;lbl;k)||} 
5. tuple-type(prec-arg-types(lbl,p.mrec-spec(S;lbl;p);k;lbl))
6. <k, mk-prec(lbl;t)> = <k, mk-prec(lbl;t)> ∈ (i:Atom × mrec(S;i))
⊢ (i:Atom × mrec(S;i)) ⊆mobj(S)


Latex:


Latex:
.....assertion..... 
1.  S  :  MutualRectypeSpec
2.  P  :  mobj(S)  {}\mrightarrow{}  TYPE
3.  k  :  mKinds
4.  lbl  :  \{lbl:Atom|  0  <  ||mrec-spec(S;lbl;k)||\} 
5.  t  :  tuple-type(prec-arg-types(lbl,p.mrec-spec(S;lbl;p);k;lbl))
\mvdash{}  <k,  mk-prec(lbl;t)>  \mmember{}  mobj(S)


By


Latex:
SubsumeC  \mkleeneopen{}i:Atom  \mtimes{}  mrec(S;i)\mkleeneclose{}\mcdot{}




Home Index