| author | haftmann | 
| Sun, 22 Jul 2012 09:56:34 +0200 | |
| changeset 48427 | 571cb1df0768 | 
| parent 46822 | 95f1e700b712 | 
| child 76213 | e44d86131648 | 
| permissions | -rw-r--r-- | 
| 1478 | 1  | 
(* Title: ZF/Coind/Dynamic.thy  | 
2  | 
Author: Jacob Frost, Cambridge University Computer Laboratory  | 
|
| 915 | 3  | 
Copyright 1995 University of Cambridge  | 
4  | 
*)  | 
|
5  | 
||
| 16417 | 6  | 
theory Dynamic imports Values begin  | 
| 915 | 7  | 
|
8  | 
consts  | 
|
| 1401 | 9  | 
EvalRel :: i  | 
| 915 | 10  | 
inductive  | 
| 
46822
 
95f1e700b712
 mathematical symbols for Isabelle/ZF example theories
 
paulson 
parents: 
35762 
diff
changeset
 | 
11  | 
domains "EvalRel" \<subseteq> "ValEnv * Exp * Val"  | 
| 12595 | 12  | 
intros  | 
13  | 
eval_constI:  | 
|
14  | 
" [| ve \<in> ValEnv; c \<in> Const |] ==>  | 
|
| 1155 | 15  | 
<ve,e_const(c),v_const(c)>:EvalRel"  | 
| 12595 | 16  | 
eval_varI:  | 
17  | 
" [| ve \<in> ValEnv; x \<in> ExVar; x \<in> ve_dom(ve) |] ==>  | 
|
| 1155 | 18  | 
<ve,e_var(x),ve_app(ve,x)>:EvalRel"  | 
| 12595 | 19  | 
eval_fnI:  | 
20  | 
" [| ve \<in> ValEnv; x \<in> ExVar; e \<in> Exp |] ==>  | 
|
| 1155 | 21  | 
<ve,e_fn(x,e),v_clos(x,e,ve)>:EvalRel "  | 
| 12595 | 22  | 
eval_fixI:  | 
23  | 
" [| ve \<in> ValEnv; x \<in> ExVar; e \<in> Exp; f \<in> ExVar; cl \<in> Val;  | 
|
| 1155 | 24  | 
v_clos(x,e,ve_owr(ve,f,cl))=cl |] ==>  | 
25  | 
<ve,e_fix(f,x,e),cl>:EvalRel "  | 
|
| 12595 | 26  | 
eval_appI1:  | 
27  | 
" [| ve \<in> ValEnv; e1 \<in> Exp; e2 \<in> Exp; c1 \<in> Const; c2 \<in> Const;  | 
|
| 1155 | 28  | 
<ve,e1,v_const(c1)>:EvalRel;  | 
29  | 
<ve,e2,v_const(c2)>:EvalRel |] ==>  | 
|
30  | 
<ve,e_app(e1,e2),v_const(c_app(c1,c2))>:EvalRel "  | 
|
| 12595 | 31  | 
eval_appI2:  | 
32  | 
" [| ve \<in> ValEnv; vem \<in> ValEnv; e1 \<in> Exp; e2 \<in> Exp; em \<in> Exp; xm \<in> ExVar; v \<in> Val;  | 
|
| 1155 | 33  | 
<ve,e1,v_clos(xm,em,vem)>:EvalRel;  | 
34  | 
<ve,e2,v2>:EvalRel;  | 
|
35  | 
<ve_owr(vem,xm,v2),em,v>:EvalRel |] ==>  | 
|
36  | 
<ve,e_app(e1,e2),v>:EvalRel "  | 
|
| 12595 | 37  | 
type_intros c_appI ve_appI ve_empI ve_owrI Exp.intros Val_ValEnv.intros  | 
| 915 | 38  | 
|
39  | 
end  |