src/HOL/MicroJava/BV/LBVComplete.thy
changeset 29235 2d62b637fa80
parent 27681 8cedebf55539
equal deleted inserted replaced
29234:60f7fb56f8cd 29235:2d62b637fa80
   195   have stepA: "snd`set ?step \<subseteq> A" by (rule pres_typeD2) 
   195   have stepA: "snd`set ?step \<subseteq> A" by (rule pres_typeD2) 
   196   ultimately
   196   ultimately
   197   have "merge c pc ?step (c!Suc pc) =
   197   have "merge c pc ?step (c!Suc pc) =
   198     (if \<forall>(pc',s')\<in>set ?step. pc'\<noteq>pc+1 \<longrightarrow> s' <=_r c!pc'
   198     (if \<forall>(pc',s')\<in>set ?step. pc'\<noteq>pc+1 \<longrightarrow> s' <=_r c!pc'
   199     then map snd [(p',t') \<leftarrow> ?step.p'=pc+1] ++_f c!Suc pc
   199     then map snd [(p',t') \<leftarrow> ?step.p'=pc+1] ++_f c!Suc pc
   200     else \<top>)" unfolding merge_def by (rule lbv.merge_def [OF lbvc.axioms(1), OF lbvc_axioms])
   200     else \<top>)" unfolding mrg_def by (rule lbv.merge_def [OF lbvc.axioms(1), OF lbvc_axioms])
   201   moreover {
   201   moreover {
   202     fix pc' s' assume s': "(pc', s') \<in> set ?step" and suc_pc: "pc' \<noteq> pc+1"
   202     fix pc' s' assume s': "(pc', s') \<in> set ?step" and suc_pc: "pc' \<noteq> pc+1"
   203     with less have "s' <=_r \<phi>!pc'" by auto
   203     with less have "s' <=_r \<phi>!pc'" by auto
   204     also 
   204     also 
   205     from bounded pc s' have "pc' < length \<phi>" by (rule boundedD)
   205     from bounded pc s' have "pc' < length \<phi>" by (rule boundedD)