(only non hidden objects are presented)
| DISP | exp_value_df | ExpValue( < t:jtype:* > ; < f:f:* > ; < s:spec:* > )== ExpValue( < t > ) ExpValue( < t:jtype:* > )== ExpValue( < t > ) |
| ABS | exp_value | ExpValue(t) == Env |
| THM | exp_value_wf | |
| THM | exp_value_total | |
| DISP | exp_value_exc_df | ExpValueExc( < en:env:* > ; < ex:exc:* > )== ExpValueExc( < en > ; < ex > ) |
| ABS | exp_value_exc | ExpValueExc(en;ex) == < en, inl ex > |
| THM | exp_value_exc_wf | |
| DISP | exp_value_make_df | ExpValueMake( < en:en:* > ; < x:x:* > )== ExpValueMake( < en > ; < x > ) |
| ABS | exp_value_make | ExpValueMake(en;x) == < en, inr x > |
| THM | exp_value_make_wf | |
| THM | exp_value_make_inj | |
| DISP | exp_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 > |
| ABS | exp_value_cases | case 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] |
| THM | exp_value_cases_wf | |
| THM | exp_value_cases_wf_bar | |
| THM | exp_value_cases_wf_bar2 | |
| ML | exp_value_cases_eval | let exp_value_cases_makeC =
SimpleMacroC `exp_value_cases_make`
|
| DISP | exp_df | Exp( < t:jtype:* > ; < f:f:* > ; < s:spec:* > )== Exp( < t > ) Exp( < t:jtype:* > )== Exp( < t > ) |
| ABS | exp | Exp(t) == Env |
| ML | exp_soft | add_soft_abs ``exp``;; |
| DISP | init_df | init < t:jtype:* > == init < t > |
| ABS | init | init t == |
| THM | init_wf | |
| COM | init_com | " init " is similar too " new " constructor but it returns the same object each time when it applied. |
| DISP | const_exp_df | const_exp( < c:c:* > ; < t:t:* > )== const_exp( < c > ; < t > ) |
| ABS | const_exp | const_exp(c;t) == |
| THM | const_exp_wf | |
| DISP | int_const_df | ( < z:int:* > )== ( < z > ) |
| ABS | int_const | (z) == const_exp(z;int) |
| THM | int_const_wf | |
| DISP | bool_const_df | ( < b:bool:* > )== ( < b > ) |
| ABS | bool_const | (b) == const_exp(b;boolean) |
| THM | bool_const_wf | |
| DISP | exc_const_df | ( < a:atom:* > )== ( < a > ) |
| ABS | exc_const | (a) == const_exp(a;Exception) |
| THM | exc_const_wf | |
| DISP | simple_exp2_df | simple_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 > ) |
| ABS | simple_exp2 | simple_exp2(u,v.op[u; v];x;y;f;s;t) ==
|
| THM | simple_exp2_wf | |
| DISP | add_exp_df | ( < x:exp:* > + < y:exp:* > wrt < f:f:* > ; < s:s:* > )== ( < x > + < y > ) ( < x:exp:* > + < y:exp:* > )== ( < x > + < y > ) |
| ABS | add_exp | (x + y) == simple_exp2(u,v.u + v;x;y;f;s;int) |
| THM | add_exp_wf | |
| DISP | sub_exp_df | ( < x:x:* > - < y:y:* > wrt < f:f:* > ; < s:s:* > )== ( < x > - < y > ) ( < x:x:* > - < y:y:* > )== ( < x > - < y > ) |
| ABS | sub_exp | (x - y) == simple_exp2(u,v.u - v;x;y;f;s;int) |
| THM | sub_exp_wf | |
| DISP | mul_exp_df | ( < x:x:* > |
| ABS | mul_exp | (x |
| THM | mul_exp_wf | |
| DISP | and_exp_df | ( < x:x:* > & < y:y:* > wrt < f:f:* > ; < s:s:* > )== ( < x > & < y > ) ( < x:x:* > & < y:y:* > )== ( < x > & < y > ) |
| ABS | and_exp | (x & y) == simple_exp2(u,v.u |
| THM | and_exp_wf | |
| DISP | ref_exp_df | ( < x:exp:* > . < i:i:* > wrt < f:f:* > ; < s:spec:* > )== ( < x > . < i > ) ( < x:exp:* > . < i:i:* > )== ( < x > . < i > ) |
| ABS | ref_exp | (x.i) ==
|
| THM | ref_exp_wf | |
| DISP | var_exp_df | ( < v:atom:* > : < t:jtype:* > )== ( < v > : < t > ) |
| ABS | var_exp | (v:t) == |
| THM | var_exp_wf |