x64 refine: RAB_FN (needed for x64 crefine)
This commit is contained in:
parent
1e73cba198
commit
99f2868803
|
@ -33,7 +33,7 @@ abbreviation (input)
|
|||
|
||||
function
|
||||
resolveAddressBitsFn ::
|
||||
"capability \<Rightarrow> cptr \<Rightarrow> nat \<Rightarrow> (word32 \<Rightarrow> capability option)
|
||||
"capability \<Rightarrow> cptr \<Rightarrow> nat \<Rightarrow> (machine_word \<Rightarrow> capability option)
|
||||
\<Rightarrow> (lookup_failure + (machine_word * nat))"
|
||||
where
|
||||
"resolveAddressBitsFn a b c =
|
||||
|
@ -92,8 +92,6 @@ lemma resolveAddressBitsFn_eq:
|
|||
(is "monadic_rewrite F E (?P cap) (?f cap bits) (?g cap capptr bits)")
|
||||
proof (induct cap capptr bits rule: resolveAddressBits.induct)
|
||||
case (1 cap cref depth)
|
||||
note resolveAddressBits.simps[simp del] resolveAddressBitsFn.simps[simp del]
|
||||
|
||||
show ?case
|
||||
apply (subst resolveAddressBits.simps, subst resolveAddressBitsFn.simps)
|
||||
apply (simp only: Let_def haskell_assertE_def K_bind_def)
|
||||
|
@ -142,7 +140,7 @@ proof (induct cap capptr bits rule: resolveAddressBits.induct)
|
|||
apply (clarsimp simp: isCap_simps)
|
||||
apply (frule(1) cte_wp_at_valid_objs_valid_cap')
|
||||
apply (clarsimp simp: cte_level_bits_def valid_cap_simps'
|
||||
real_cte_at' isCap_simps)
|
||||
real_cte_at' isCap_simps cteSizeBits_def objBits_simps)
|
||||
apply (clarsimp simp: cte_wp_at_ctes_of only_cnode_caps_def ball_Un
|
||||
cnode_caps_gsCNodes_def ran_map_option o_def)
|
||||
apply (drule bspec, rule IntI, erule ranI, simp add: isCap_simps)
|
||||
|
|
Loading…
Reference in New Issue