Nuprl Definition : mrecind
mrecind(L;x.P[x]) ==
  ∀k:mKinds. ∀lbl:{lbl:Atom| 0 < ||mrec-spec(L;lbl;k)||} . ∀t:tuple-type(prec-arg-types(lbl,p.mrec-spec(L;lbl;p);k;lbl))\000C.
    ((∀j:ℕ||mrec-spec(L;lbl;k)||
        case mrec-spec(L;lbl;k)[j] of inl(y) => case y of inl(p) => P[<p, t.j>] | inr(p) => (∀u∈t.j.P[<p, u>]) | inr(_) \000C=> True)
    ⇒ P[<k, mk-prec(lbl;t)>])
Definitions occuring in Statement : 
mkinds: mKinds, 
mrec-spec: mrec-spec(L;lbl;p), 
mk-prec: mk-prec(lbl;x), 
prec-arg-types: prec-arg-types(lbl,p.a[lbl; p];i;lbl), 
select-tuple: x.n, 
tuple-type: tuple-type(L), 
l_all: (∀x∈L.P[x]), 
select: L[n], 
length: ||as||, 
int_seg: {i..j-}, 
less_than: a < b, 
all: ∀x:A. B[x], 
implies: P ⇒ Q, 
true: True, 
set: {x:A| B[x]} , 
pair: <a, b>, 
decide: case b of inl(x) => s[x] | inr(y) => t[y], 
natural_number: $n, 
atom: Atom
Definitions occuring in definition : 
mkinds: mKinds, 
set: {x:A| B[x]} , 
atom: Atom, 
less_than: a < b, 
tuple-type: tuple-type(L), 
prec-arg-types: prec-arg-types(lbl,p.a[lbl; p];i;lbl), 
implies: P ⇒ Q, 
all: ∀x:A. B[x], 
int_seg: {i..j-}, 
natural_number: $n, 
select: L[n], 
decide: case b of inl(x) => s[x] | inr(y) => t[y], 
l_all: (∀x∈L.P[x]), 
select-tuple: x.n, 
length: ||as||, 
mrec-spec: mrec-spec(L;lbl;p), 
true: True, 
pair: <a, b>, 
mk-prec: mk-prec(lbl;x)
FDL editor aliases : 
mrecind
Latex:
mrecind(L;x.P[x])  ==
    \mforall{}k:mKinds.  \mforall{}lbl:\{lbl:Atom|  0  <  ||mrec-spec(L;lbl;k)||\}  .
    \mforall{}t:tuple-type(prec-arg-types(lbl,p.mrec-spec(L;lbl;p);k;lbl)).
        ((\mforall{}j:\mBbbN{}||mrec-spec(L;lbl;k)||
                case  mrec-spec(L;lbl;k)[j]
                  of  inl(y)  =>
                  case  y  of  inl(p)  =>  P[<p,  t.j>]  |  inr(p)  =>  (\mforall{}u\mmember{}t.j.P[<p,  u>])
                  |  inr($_{}$)  =>
                  True)
        {}\mRightarrow{}  P[<k,  mk-prec(lbl;t)>])
Date html generated:
2019_06_20-PM-02_15_54
Last ObjectModification:
2019_02_28-PM-04_51_59
Theory : tuples
Home
Index