src/HOL/MicroJava/BV/Effect.thy
changeset 30235 58d147683393
parent 25362 8d06e11a01d1
child 32443 16464c3f86bd
equal deleted inserted replaced
30224:79136ce06bdb 30235:58d147683393
   103   "xcpt_eff i G pc s et == 
   103   "xcpt_eff i G pc s et == 
   104    map (\<lambda>C. (the (match_exception_table G C pc et), case s of None \<Rightarrow> None | Some s' \<Rightarrow> Some ([Class C], snd s'))) 
   104    map (\<lambda>C. (the (match_exception_table G C pc et), case s of None \<Rightarrow> None | Some s' \<Rightarrow> Some ([Class C], snd s'))) 
   105        (xcpt_names (i,G,pc,et))"
   105        (xcpt_names (i,G,pc,et))"
   106 
   106 
   107   norm_eff :: "instr \<Rightarrow> jvm_prog \<Rightarrow> state_type option \<Rightarrow> state_type option"
   107   norm_eff :: "instr \<Rightarrow> jvm_prog \<Rightarrow> state_type option \<Rightarrow> state_type option"
   108   "norm_eff i G == option_map (\<lambda>s. eff' (i,G,s))"
   108   "norm_eff i G == Option.map (\<lambda>s. eff' (i,G,s))"
   109 
   109 
   110   eff :: "instr \<Rightarrow> jvm_prog \<Rightarrow> p_count \<Rightarrow> exception_table \<Rightarrow> state_type option \<Rightarrow> succ_type"
   110   eff :: "instr \<Rightarrow> jvm_prog \<Rightarrow> p_count \<Rightarrow> exception_table \<Rightarrow> state_type option \<Rightarrow> succ_type"
   111   "eff i G pc et s == (map (\<lambda>pc'. (pc',norm_eff i G s)) (succs i pc)) @ (xcpt_eff i G pc s et)"
   111   "eff i G pc et s == (map (\<lambda>pc'. (pc',norm_eff i G s)) (succs i pc)) @ (xcpt_eff i G pc s et)"
   112 
   112 
   113 constdefs
   113 constdefs