src/HOL/MicroJava/BV/BVSpecTypeSafe.thy
changeset 45054 73accf69135d
parent 40928 ace26e2cee91
child 45068 3cc2ac688fd9
equal deleted inserted replaced
45053:54c832311598 45054:73accf69135d
  1268 section {* Main *}
  1268 section {* Main *}
  1269 
  1269 
  1270 lemma correct_state_impl_Some_method:
  1270 lemma correct_state_impl_Some_method:
  1271   "G,phi \<turnstile>JVM (None, hp, (stk,loc,C,sig,pc)#frs)\<surd> 
  1271   "G,phi \<turnstile>JVM (None, hp, (stk,loc,C,sig,pc)#frs)\<surd> 
  1272   \<Longrightarrow> \<exists>meth. method (G,C) sig = Some(C,meth)"
  1272   \<Longrightarrow> \<exists>meth. method (G,C) sig = Some(C,meth)"
  1273 by (auto simp add: correct_state_def Let_def)
  1273 by (auto simp add: correct_state_def)
  1274 
  1274 
  1275 
  1275 
  1276 lemma BV_correct_1 [rule_format]:
  1276 lemma BV_correct_1 [rule_format]:
  1277 "\<And>state. \<lbrakk> wt_jvm_prog G phi; G,phi \<turnstile>JVM state\<surd>\<rbrakk> 
  1277 "\<And>state. \<lbrakk> wt_jvm_prog G phi; G,phi \<turnstile>JVM state\<surd>\<rbrakk> 
  1278  \<Longrightarrow> exec (G,state) = Some state' \<longrightarrow> G,phi \<turnstile>JVM state'\<surd>"
  1278  \<Longrightarrow> exec (G,state) = Some state' \<longrightarrow> G,phi \<turnstile>JVM state'\<surd>"