src/HOL/Bali/AxSem.thy
changeset 13384 a34e38154413
parent 13337 f75dfc606ac7
child 13585 db4005b40cc6
equal deleted inserted replaced
13383:041d78bf9403 13384:a34e38154413
   481 ML_setup {*
   481 ML_setup {*
   482 simpset_ref() := simpset() delloop "split_all_tac";
   482 simpset_ref() := simpset() delloop "split_all_tac";
   483 claset_ref () := claset () delSWrapper "split_all_tac"
   483 claset_ref () := claset () delSWrapper "split_all_tac"
   484 *}
   484 *}
   485 
   485 
   486 
       
   487 inductive "ax_derivs G" intros
   486 inductive "ax_derivs G" intros
   488 
   487 
   489   empty: " G,A|\<turnstile>{}"
   488   empty: " G,A|\<turnstile>{}"
   490   insert:"\<lbrakk>G,A\<turnstile>t; G,A|\<turnstile>ts\<rbrakk> \<Longrightarrow>
   489   insert:"\<lbrakk>G,A\<turnstile>t; G,A|\<turnstile>ts\<rbrakk> \<Longrightarrow>
   491           G,A|\<turnstile>insert t ts"
   490           G,A|\<turnstile>insert t ts"
   540           \<Longrightarrow>
   539           \<Longrightarrow>
   541           G,A\<turnstile>{Normal P} UnOp unop e-\<succ> {Q}"
   540           G,A\<turnstile>{Normal P} UnOp unop e-\<succ> {Q}"
   542 
   541 
   543   BinOp:
   542   BinOp:
   544    "\<lbrakk>G,A\<turnstile>{Normal P} e1-\<succ> {Q};
   543    "\<lbrakk>G,A\<turnstile>{Normal P} e1-\<succ> {Q};
   545      \<forall>v1. G,A\<turnstile>{Q\<leftarrow>Val v1} e2-\<succ> {\<lambda>Val:v2:. R\<leftarrow>Val (eval_binop binop v1 v2)}\<rbrakk>
   544      \<forall>v1. G,A\<turnstile>{Q\<leftarrow>Val v1} 
       
   545                (if need_second_arg binop v1 then (In1l e2) else (In1r Skip))\<succ>
       
   546                {\<lambda>Val:v2:. R\<leftarrow>Val (eval_binop binop v1 v2)}\<rbrakk>
   546     \<Longrightarrow>
   547     \<Longrightarrow>
   547     G,A\<turnstile>{Normal P} BinOp binop e1 e2-\<succ> {R}" 
   548     G,A\<turnstile>{Normal P} BinOp binop e1 e2-\<succ> {R}" 
   548 
   549 
   549   Super:" G,A\<turnstile>{Normal (\<lambda>s.. P\<leftarrow>Val (val_this s))} Super-\<succ> {P}"
   550   Super:" G,A\<turnstile>{Normal (\<lambda>s.. P\<leftarrow>Val (val_this s))} Super-\<succ> {P}"
   550 
   551