Origin Definitions Sections EventSystems Doc
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html
mb_event_system_1
Nuprl Section: mb_event_system_1

Selected Objects
THMequal_functionality_wrt_subtype_rel x,y:A. (A B x = y  x = y  B
THMsubtype_rel_function (C A (B D ((ABr (CD))
THMsubtype_rel_dep_function B:(AType), C:Type, D:(CType).
(C A (a:CB(aD(a))  ((a:AB(a)) r (c:CD(c)))
THMsubtype_rel_product B:(AType), C:Type, D:(CType).
(A C (a:AB(aD(a))  ((a:AB(a)) r (c:CD(c)))
THMsubtype_rel_list (A B ((A List) r (B List))
THMsubtype_rel_transitivity (A B (B C (A C)
defstrong-subtype strong-subtype(A;B)
== (A B)
== & ({b:Ba:Ab = a  B } A)
== & (a1,a2:Aa1 = a2  B  a1 = a2)
THMstrong-subtype-self strong-subtype(A;A)
THMstrong-subtype_transitivity strong-subtype(A;B strong-subtype(B;C strong-subtype(A;C)
THMsubtype_rel_self A A
THMstrong-subtype-set strong-subtype(A;B)

(P:(AProp), Q:(BProp).
((x:AP(x Q(x))  strong-subtype({x:AP(x) };{x:BQ(x) }))
THMstrong-subtype-set2 P:(AProp). strong-subtype({x:AP(x) };A)
THMstrong-subtype-set3 P:(AProp). strong-subtype(A;B strong-subtype({x:AP(x) };B)
THMstrong-subtype-l_member-type strong-subtype(A;B (L:A List, x:B. (x  L x  A)
THMstrong-subtype-l_member strong-subtype(A;B (L:A List, x:B. (x  L (x  L))
THMsq_stable__subtype_rel SqStable(A B)
THMfun_exp_add_sq n,m:f,i:Top. (f^n+m(i)) ~ (f^n(f^m(i)))
THMmaximal-in-list f:(A), L:A List. 0<||L||  (aL.(xL.f(x)f(a)))
THMl_member_subtype L:A List, x:A. (A B (x  L (x  L)
defl_interval l_interval(l;j;i) == mklist(i-j;x.l[(j+x)])
THMlength_l_interval l:T List, i:||l||, j:(i+1). ||l_interval(l;j;i)|| = i-j  
THMselect_l_interval l:T List, i:||l||, j:(i+1), x:(i-j). l_interval(l;j;i)[x] = l[(j+x)]
THMhd_l_interval l:T List, i:||l||, j:i. hd(l_interval(l;j;i)) = l[j]
THMlast_l_interval l:T List, i:||l||, j:i. last(l_interval(l;j;i)) = l[(i-1)]
defpairwise (x,yL.P(x;y)) == i:||L||, j:iP(L[j];L[i])
THMpairwise-cons T:Type{i}, x:TL:T List, P:(TTProp{i'}).
(x,y[x / L].P(x,y))  (x,yL.P(x,y)) & (yL.P(x,y))
THMlist-set-type L:T List. L  {x:T| (x  L) } List
THMlist-set-type2 L:T List, P:(TProp). (xL.P(x))  L  {x:TP(x) } List
THMappend_assoc_sq as,bs,cs:Top List. ((as @ bs) @ cs) ~ (as @ bs @ cs)
THMinl_eq_inr x:Ay:B. inl(x) = inr(y A+B  False
deffinite-type finite-type(T) == n:f:(nT). Surj(nTf)
THMfinite-type-iff-list finite-type(T (L:T List. x:T. (x  L))
THMfinite-set-type P:(TProp). 
(x:T. SqStable(P(x)))

(finite-type({x:TP(x) })  (L:T List. x:TP(x (x  L)))
THMfinite-decidable-set P:(TProp). 
(x:T. Dec(P(x)))

(finite-type({x:TP(x) })  (L:T List. x:TP(x (x  L)))
THMmap-map as:Top List, f,g:Top. map(g;map(f;as)) ~ map(g o f;as)
THMmap_is_nil f:(AB), l:A List. map(f;l) = nil  l = nil
THMmap-id L:Top List. map(x.x;L) ~ L
THMlength-map f:Top, T:Type, L:T List. ||map(f;L)|| ~ ||L||
THMselect-map f:Top, T:Type, L:T List, i:||L||. map(f;L)[i] ~ (f(L[i]))
THMgeneral_length_nth_tl r:L:Top List. ||nth_tl(r;L)|| = if r<||L|| ||L||-r else 0 fi
defmu mu(f) == if f(0) 0 else mu(x.f(x+1))+1 fi  (recursive)
THMmu-property f:(). (n:f(n))  f(mu(f)) & (i:i<mu(f f(i))
defupto upto(n) == if n=0 nil else upto(n-1) @ [(n-1)] fi  (recursive)
THMlength_upto n:. ||upto(n)|| ~ n
THMupto_decomp m:n:(m+1). upto(m) ~ (upto(n) @ map(x.x+n;upto(m-n)))
THMupto_iseg i,j:ij  upto(i upto(j)
THMselect_upto m:n:m. upto(m)[n] = n
THMmember_upto n,i:. (i  upto(n))  i<n
THMmember_upto2 n,i:i<n  (i  upto(n))
THMbefore-upto n:x,y:nx before y  upto(n x<y
THMlist-eq-set-type P:(TProp), A,B:T List.
A = B  (i:||A||. P(A[i]))  A = B  {x:TP(x) } List
THMbefore-map f:(TT'), L:T List, x',y':T'.
x' before y'  map(f;L (x,y:Tx before y  L & f(x) = x' & f(y) = y')
THMfilter_append_sq P:(T), A:T List, B:Top. filter(P;A @ B) ~ (filter(P;A) @ filter(P;B))
THMfilter_map_upto i,j:.
i<j

(f:(T), P:(T).
(P(f(i))  ||filter(P;map(f;upto(i)))||<||filter(P;map(f;upto(j)))||)
THMfilter_map_upto2 t',m:T:Type, f:(T), P:(T).
m+1||filter(P;map(f;upto(t')))||

(t:P(f(t)) & ||filter(P;map(f;upto(t)))|| = m  )
THMfirst0 L:Top List. firstn(0;L) ~ nil
THMfirstn_append L1,L2:Top List, n:(||L1||+1). firstn(n;L1 @ L2) ~ firstn(n;L1)
THMfirstn_all L:Top List, n:. ||L||n  (firstn(n;L) ~ L)
THMfirstn_map f:(TopTop), n:l:Top List. firstn(n;map(f;l)) ~ map(f;firstn(n;l))
THMfirstn_upto n,m:. firstn(n;upto(m)) ~ if nm upto(n) else upto(m) fi
defconcat concat(ll) == reduce(l,l'l @ l';nil;ll)
THMconcat_append ll1,ll2:(Top List) List. concat(ll1 @ ll2) ~ (concat(ll1) @ concat(ll2))
THMconcat-cons l:Top List, ll:(Top List) List. concat([l / ll]) ~ (l @ concat(ll))
THMselect_concat ll:(T List) List, n:||concat(ll)||.
m:||ll||. 
||concat(firstn(m;ll))||n
n-||concat(firstn(m;ll))||<||ll[m]||
& concat(ll)[n] = ll[m][(n-||concat(firstn(m;ll))||)]
THMmember-concat ll:(T List) List, x:T. (x  concat(ll))  (l:T List. (l  ll) & (x  l))
THMl_member_decomp l:T List, x:T. (x  l (l1,l2:T List. l = (l1 @ [x] @ l2))
THMconcat_iseg ll1,ll2:(T List) List. ll1  ll2  concat(ll1 concat(ll2)
THMconcat_map_upto f:((T List)), t,t':.
t<t'  concat(map(f;upto(t))) @ (f(t))  concat(map(f;upto(t')))
defId Id == Atom
THMId_sq SQType(Id)
defmkid x_n == <x,n>
defIdLnk IdLnk == IdId
THMIdLnk_sq SQType(IdLnk)
deflnk-inv lnk-inv(l) == <1of(2of(l)),1of(l),2of(2of(l))>
THMlnk-inv-inv l:IdLnk. lnk-inv(lnk-inv(l)) = l  IdLnk
defMsg Msg(M) == l:IdLnkt:IdM(l,t)
COMmsg msg(l;t;v) == <l,t,v>
defmlnk mlnk(m) == 1of(m)
defmtag mtag(m) == 1of(2of(m))
defhaslink haslink(lm) == mlnk(m) = l
defMsg_sub Msg_sub(lM) == {m:Msg(M)| haslink(lm) }
defKnd Knd == (IdLnkId)+Id
THMKnd_sq SQType(Knd)
defisrcv isrcv(k) == isl(k)
defislocal islocal(k) == isl(k)
THMislocal-not-isrcv k:Knd. islocal(k) ~ isrcv(k)
defrcv rcv(ltg) == inl(<l,tg>)
deflocl locl(a) == inr(a)
THMlocl_one_one a,b:Id. locl(a) = locl(b a = b
THMnot_rcv_locl a:Id, l:IdLnk, tg:Id. rcv(ltg) = locl(a False
THMnot_locl_rcv a:Id, l:IdLnk, tg:Id. locl(a) = rcv(ltg False
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html

Origin Definitions Sections EventSystems Doc