Nuprl Theory j_class

(only non hidden objects are presented)

DISPj_class_dfJ( < f:f:* > ; < s:spec:* > ; < t:jtype:* > )== J( < t > ) J( < t:jtype:* > )== J( < t > )
ABSj_classJ(t) == @t
THMj_class_wff:Atom . s:Spec. t:Type. J(t)
DISPj_nil_obj_df < t:jtype:* > == < t >
ABSj_nil_objt == (t)
THMj_nil_obj_wff:Atom . t:Type. s:Spec. t J(t)
DISPj_c_update_df[cor( < x:jobj:* > ):= < c:jcor:* > @ < y:jobj:* > ]== [cor( < x > ):= < c > @ < y > ]
ABSj_c_update[cor(x):=c@y] == [cor(x):=c@y]
THMj_c_update_wff:Atom . s:Spec. t,r:Type. x:J(t). c:JCor(t). y:J(r). [cor(x):=c@y] J(r)
DISPj_r_update_df[ < x:jobj:* > . < i:jidx:* > := < z:jobj:* > @ < y:jobj:* > ]== [ < x > . < i > := < z > @ < y > ]
ABSj_r_update[x.i:=z@y] == [x.i:=z@y]
THMj_r_update_wff:Atom . s:Spec. t,r:Type. x:J(t). i:JIdx(t). z:J(Jfld(t.i)). y:J(r). [x.i:=z@y] J(r)
DISPj_cor_const_dfJCorConst( < c:jcor:* > ; < t:jtype:* > )== JCorConst( < c > ; < t > )
ABSj_cor_constJCorConst(c;t) == [cor(t):=c@t]
THMj_cor_const_wff:Atom . s:Spec. t:Type. c:JCor(t). JCorConst(c;t) J(t)
DISPj_const_dfJConst( < c:c:* > ; < t:t:* > )== JConst( < c > ; < t > )
ABSj_constJConst(c;t) == JCorConst(Jac(c);t)
THMj_const_wff:Atom . s:Spec. t:Type. c:JActCor(t). JConst(c;t) J(t)
DISPj_cor_oper2_dfj_cor_oper2( < u:var > , < v:var > . < op:op:* > ; < x:x:* > ; < y:y:* > ) == j_cor_oper2( < u > , < v > . < op > ; < x > ; < y > )
ABSj_cor_oper2j_cor_oper2(u,v.op[u; v];x;y) == case x of Jc - > Jc | Jac(ax) - > case y of Jc - > Jc | Jac(ay) - > Jac(op[ax; ay])
THMj_cor_oper2_wff:Atom . t:Type. op:JActCor(t) JActCor(t) JActCor(t). x,y:JCor(t). j_cor_oper2(u,v.op[u;v];x;y) JCor(t)
DISPget_j_cor_dfget_j_cor( < x:x:* > ; < f:f:* > ; < s:s:* > )== get_j_cor( < x > ; < f > ; < s > )
ABSget_j_corget_j_cor(x;f;s) == cor(x)
THMget_j_cor_wff:Atom . s:Spec. t:Type. o:J(t). get_j_cor(o;f;s) JCor(t)
DISPsimple_obj_oper2_dfsimple_obj_oper2( < u:var > , < v:var > . < op:op:* > ; < x:x:* > ; < y:y:* > ; < f:f:* > ; < s:s:* > ; < t:t:* > ) == simple_obj_oper2( < u > , < v > . < op > ; < x > ; < y > ; < f > ; < s > ; < t > )
ABSsimple_obj_oper2simple_obj_oper2(u,v.op[u; v];x;y;f;s;t) == JCorConst(j_cor_oper2(u,v.op[u; v];get_j_cor(x;f;s);get_j_cor(x;f;s) );t)
THMsimple_obj_oper2_wff:Atom . s:Spec. t:Type. x,y:J(t). op:JActCor(t) JActCor(t) JActCor(t). simple_obj_oper2(u,v.op[u;v];x;y;f;s;t) J(t)
DISPget_type_dfget_type( < x:x:* > )== get_type( < x > )
ABSget_typeget_type(x) == nam(x)
THMget_type_wff:Atom . s:Spec. t:Type. x:J(t). get_type(x) Type
MLget_type_evallet get_type_of_j_c_updateC = MacroC `get_type_of_j_c_updateC` (UnfoldsC ``get_type j_c_update`` ANDTHENC AbRedexC ANDTHENC FoldC `get_type`) get_type([cor(x):=t@y]) IdC get_type(y) ;; let get_type_of_j_r_updateC = MacroC `get_type_of_j_r_updateC` (UnfoldsC ``get_type j_r_update`` ANDTHENC AbRedexC ANDTHENC FoldC `get_type`) get_type([x.i:=z@y]) IdC get_type(y) ;; let get_type_of_j_nil_objC = MacroC `get_type_of_j_nil_objC` (UnfoldsC ``get_type j_nil_obj`` ANDTHENC AbRedexC) get_type(t) IdC t ;; let get_type_of_j_constC = MacroC `get_type_of_j_constC` (UnfoldC `j_const` ANDTHENC UnfoldC `j_cor_const` ANDTHENC get_type_of_j_c_updateC ANDTHENC get_type_of_j_nil_objC) get_type(JConst(c;t)) IdC t ;; let get_typeC = get_type_of_j_c_updateC ORELSEC get_type_of_j_r_updateC ORELSEC get_type_of_j_nil_objC ORELSEC get_type_of_j_constC ;; add_AbReduce_conv `get_type` get_typeC;;
THMget_type_soundf:Atom . s:Spec. t:Type. x:J(t). get_type(x) = t
THMget_type_sound_memf:Atom . s:Spec. t:Type. x:J(t). x J(get_type(x))
DISPget_j_ref_df( < x:jobj:* > . < i:i:* > wrt < f:f:* > ; < s:spec:* > )== ( < x > . < i > ) ( < x:jobj:* > . < i:i:* > )== ( < x > . < i > )
ABSget_j_ref(x.i) == get_ref(x;i;JSign(f;s))
THMget_j_ref_wff:Atom . s:Spec. t:Type. x:J(t). i:JIdx(t). (x.i) J(Jfld(t.i))
DISPeq_j_dfeq_j( < x:x:* > ; < y:y:* > ; < f:f:* > ; < s:s:* > )== eq_j( < x > ; < y > ; < f > ; < s > )
ABSeq_jeq_j(x;y;f;s) == (x=y)
THMeq_j_wff:Atom . s:Spec. t,r:Type. x:J(t). y:J(r). eq_j(x;y;f;s)

the other theories