Nuprl Theory exp

(only non hidden objects are presented)

DISPexp_value_dfExpValue( < t:jtype:* > ; < f:f:* > ; < s:spec:* > )== ExpValue( < t > ) ExpValue( < t:jtype:* > )== ExpValue( < t > )
ABSexp_valueExpValue(t) == Env (J(Exception) + J(t))
THMexp_value_wff:Atom . s:Spec. t:Type. ExpValue(t)
THMexp_value_totalf:Atom . s:Spec. t:Type. ExpValue(t) total
DISPexp_value_exc_dfExpValueExc( < en:env:* > ; < ex:exc:* > )== ExpValueExc( < en > ; < ex > )
ABSexp_value_excExpValueExc(en;ex) == < en, inl ex >
THMexp_value_exc_wff:Atom . s:Spec. t:Type. en:Env. ex:J(Exception). ExpValueExc(en;ex) ExpValue(t)
DISPexp_value_make_dfExpValueMake( < en:en:* > ; < x:x:* > )== ExpValueMake( < en > ; < x > )
ABSexp_value_makeExpValueMake(en;x) == < en, inr x >
THMexp_value_make_wff:Atom . s:Spec. en:Env. t:Type. x:J(t). ExpValueMake(en;x) ExpValue(t)
THMexp_value_make_injf:Atom . s:Spec. en1,en2:Env. t:Type. o1,o2:J(t). ExpValueMake(en1;o1) = ExpValueMake(en2;o2) en1 = en2
DISPexp_value_cases_df{[SOFT}{- > 0}case < ev:ev:* > {\\}of Exc( < en1:en-var > , < ex:ex-var > ) - > < exc:term:* > {\\} | Make( < en2:en-var > , < x:obj-var > ) - > < mk:term:* > {\\} { < -}{]} == case < ev > of Exc( < en1 > , < ex > ) - > < exc > | Make( < en2 > , < x > ) - > < mk >
ABSexp_value_casescase ev of Exc(en1,ex) - > exc[en1; ex] | Make(en2,x) - > mk[en2; x] == let < en,et > = ev in case et of inl(ex) = > exc[en; ex] | inr(x) = > mk[en; x]
THMexp_value_cases_wff:Atom . s:Spec. t:Type. T:. exc:Env J(Exception) T. mk:Env J(t) T. ev:ExpValue(t). case ev of Exc(en,ex) - > exc[en;ex] | Make(en,x) - > mk[en;x] T
THMexp_value_cases_wf_barf:Atom . s:Spec. t,t':Type. exc:Env J(Exception) bar(ExpValue(t')). mk:Env J(t) bar(ExpValue(t')). ev:bar(ExpValue(t)). case ev of Exc(en,ex) - > exc[en;ex] | Make(en,x) - > mk[en;x] bar(ExpValue(t'))
THMexp_value_cases_wf_bar2f:Atom . s:Spec. t:Type. exc:Env J(Exception) bar(StmtValue(f;s)). mk:Env J(t) bar(StmtValue(f;s)). ev:bar(ExpValue(t)). case ev of Exc(en,ex) - > exc[en;ex] | Make(en,x) - > mk[en;x] bar(StmtValue(f;s))
MLexp_value_cases_evallet exp_value_cases_makeC = SimpleMacroC `exp_value_cases_make` case ExpValueMake(en;o) of Exc(en',ex') - > E[en'; ex'] | Make(en'',o'') - > M[en''; o''] M[en; o] ``exp_value_cases exp_value_make``;; let exp_value_cases_excC = SimpleMacroC `exp_value_cases_exc` case ExpValueExc(en;ex) of Exc(en',ex') - > E[en'; ex'] | Make(en'',o'') - > M[en''; o''] E[en; ex] ``exp_value_cases exp_value_exc``;; let exp_value_casesC = FirstC [exp_value_cases_makeC; exp_value_cases_excC] ;; add_AbReduce_conv `exp_value_cases` exp_value_casesC;;
DISPexp_dfExp( < t:jtype:* > ; < f:f:* > ; < s:spec:* > )== Exp( < t > ) Exp( < t:jtype:* > )== Exp( < t > )
ABSexpExp(t) == Env bar(ExpValue(t))
MLexp_softadd_soft_abs ``exp``;;
DISPinit_dfinit < t:jtype:* > == init < t >
ABSinitinit t == en.ExpValueMake(en;t)
THMinit_wff:Atom . s:Spec. t:Type. init t Exp(t)
COMinit_com " init " is similar too " new " constructor but it returns the same object each time when it applied.
DISPconst_exp_dfconst_exp( < c:c:* > ; < t:t:* > )== const_exp( < c > ; < t > )
ABSconst_expconst_exp(c;t) == en.ExpValueMake(en;JConst(c;t))
THMconst_exp_wff:Atom . s:Spec. t:Type. c:JActCor(t). const_exp(c;t) Exp(t)
DISPint_const_df( < z:int:* > )== ( < z > )
ABSint_const(z) == const_exp(z;int)
THMint_const_wff:Atom . s:Spec. z:. (z) Exp(int)
DISPbool_const_df( < b:bool:* > )== ( < b > )
ABSbool_const(b) == const_exp(b;boolean)
THMbool_const_wff:Atom . s:Spec. b:. (b) Exp(boolean)
DISPexc_const_df( < a:atom:* > )== ( < a > )
ABSexc_const(a) == const_exp(a;Exception)
THMexc_const_wff:Atom . s:Spec. a:Atom. (a) Exp(Exception)
DISPsimple_exp2_dfsimple_exp2( < u:var > , < v:var > . < op:op:* > ; < x:x:* > ; < y:y:* > ; < f:f:* > ; < s:s:* > ; < t:t:* > ) == simple_exp2( < u > , < v > . < op > ; < x > ; < y > ; < f > ; < s > ; < t > )
ABSsimple_exp2simple_exp2(u,v.op[u; v];x;y;f;s;t) == en.case x en of Exc(en',ex) - > ExpValueExc(en';ex) | Make(en',vx) - > case y en' of Exc(en'',ex) - > ExpValueExc(en'';ex) | Make(en'',vy) - > ExpValueMake(en'';simple_ obj_oper2(u,v.op[u; v];vx;vy;f;s;t))
THMsimple_exp2_wff:Atom . s:Spec. t:Type. op:JActCor(t) JActCor(t) JActCor(t). x,y:Exp(t). simple_exp2(u,v.op[u;v];x;y;f;s;t) Exp(t)
DISPadd_exp_df( < x:exp:* > + < y:exp:* > wrt < f:f:* > ; < s:s:* > )== ( < x > + < y > ) ( < x:exp:* > + < y:exp:* > )== ( < x > + < y > )
ABSadd_exp(x + y) == simple_exp2(u,v.u + v;x;y;f;s;int)
THMadd_exp_wff:Atom . s:Spec. x,y:Exp(int). (x + y) Exp(int)
DISPsub_exp_df( < x:x:* > - < y:y:* > wrt < f:f:* > ; < s:s:* > )== ( < x > - < y > ) ( < x:x:* > - < y:y:* > )== ( < x > - < y > )
ABSsub_exp(x - y) == simple_exp2(u,v.u - v;x;y;f;s;int)
THMsub_exp_wff:Atom . s:Spec. x,y:Exp(int). (x - y) Exp(int)
DISPmul_exp_df( < x:x:* > < y:y:* > wrt < f:f:* > ; < s:s:* > )== ( < x > < y > ) ( < x:x:* > < y:y:* > )== ( < x > < y > )
ABSmul_exp(x y) == simple_exp2(u,v.u * v;x;y;f;s;int)
THMmul_exp_wff:Atom . s:Spec. x,y:Exp(int). (x y) Exp(int)
DISPand_exp_df( < x:x:* > & < y:y:* > wrt < f:f:* > ; < s:s:* > )== ( < x > & < y > ) ( < x:x:* > & < y:y:* > )== ( < x > & < y > )
ABSand_exp(x & y) == simple_exp2(u,v.u v;x;y;f;s;boolean)
THMand_exp_wff:Atom . s:Spec. x,y:Exp(boolean). (x & y) Exp(boolean)
DISPref_exp_df( < x:exp:* > . < i:i:* > wrt < f:f:* > ; < s:spec:* > )== ( < x > . < i > ) ( < x:exp:* > . < i:i:* > )== ( < x > . < i > )
ABSref_exp(x.i) == en.case x en of Exc(en',ex) - > ExpValueExc(en';ex) | Make(en',vx) - > ExpValueMake(en';(vx.i))
THMref_exp_wff:Atom . s:Spec. t:Type. x:Exp(t). i:JIdx(t). (x.i) Exp(Jfld(t.i))
DISPvar_exp_df( < v:atom:* > : < t:jtype:* > )== ( < v > : < t > )
ABSvar_exp(v:t) == en.ExpValueMake(en;en v t)
THMvar_exp_wff:Atom . s:Spec. t:Type. v:Atom. (v:t) Exp(t)

the other theories