remove explicit use of corres_rv rules
This is now handled by the corres method VER-737
This commit is contained in:
parent
fb6cd81aa8
commit
8c7163457a
|
@ -1108,6 +1108,7 @@ lemma page_table_at_lift:
|
|||
lemmas checkPTAt_corres [corresK] =
|
||||
corres_stateAssert_implied_frame[OF page_table_at_lift, folded checkPTAt_def]
|
||||
|
||||
|
||||
lemma lookup_pt_slot_corres [@lift_corres_args, corres]:
|
||||
"corres (lfr \<oplus> op =)
|
||||
(pde_at (lookup_pd_slot pd vptr) and pspace_aligned and valid_vspace_objs
|
||||
|
@ -1118,7 +1119,7 @@ lemma lookup_pt_slot_corres [@lift_corres_args, corres]:
|
|||
(lookup_pt_slot pd vptr) (lookupPTSlot pd vptr)"
|
||||
unfolding lookup_pt_slot_def lookupPTSlot_def lookupPTSlotFromPT_def
|
||||
apply (corressimp simp: pde_relation_aligned_def lookup_failure_map_def
|
||||
wp: get_pde_wp_valid getPDE_wp corres_rv_defer)
|
||||
wp: get_pde_wp_valid getPDE_wp)
|
||||
by (auto simp: lookup_failure_map_def obj_at_def)
|
||||
|
||||
declare in_set_zip_refl[simp]
|
||||
|
@ -1184,7 +1185,7 @@ lemma copy_global_mappings_corres [@lift_corres_args, corres]:
|
|||
by (auto intro!: page_directory_pde_atI page_directory_pde_atI'
|
||||
simp: pde_relation_aligned_def corres_protect_def
|
||||
dest: align_entry_add_cong[of globalPD])
|
||||
apply wpsimp+
|
||||
apply corressimp+
|
||||
apply (clarsimp simp: valid_arch_state_def obj_at_def dest!:pspace_alignedD)
|
||||
by (auto intro: is_aligned_weaken[of _ 14] simp: valid_arch_state'_def)
|
||||
|
||||
|
|
|
@ -555,7 +555,6 @@ lemma getSlotCap_valid:
|
|||
apply (clarsimp simp add: valid_def)
|
||||
done
|
||||
|
||||
|
||||
lemma rab_corres':
|
||||
"\<lbrakk> cap_relation (fst a) c'; drop (32-bits) (to_bl cref') = snd a;
|
||||
bits = length (snd a) \<rbrakk> \<Longrightarrow>
|
||||
|
@ -621,7 +620,6 @@ proof (induct a arbitrary: c' cref' bits rule: resolve_address_bits'.induct)
|
|||
apply (subst cnode_cap_case_if)
|
||||
apply (corressimp search: getSlotCap_corres IH
|
||||
wp: get_cap_wp getSlotCap_valid no_fail_stateAssert
|
||||
corres_rv_defer
|
||||
simp: locateSlot_conv)
|
||||
apply (simp add: drop_postfix_eq)
|
||||
apply clarsimp
|
||||
|
@ -629,30 +627,12 @@ proof (induct a arbitrary: c' cref' bits rule: resolve_address_bits'.induct)
|
|||
apply (erule valid_CNodeCapE; fastforce)
|
||||
subgoal premises prems for s s' x
|
||||
apply (insert prems)
|
||||
apply (rule conjI)
|
||||
apply (clarsimp split: if_splits)
|
||||
apply safe[1]
|
||||
apply (clarsimp simp: valid_cap_def)
|
||||
apply (erule cap_table_at_cte_at)
|
||||
subgoal by simp
|
||||
apply (frule (1) cte_wp_valid_cap)
|
||||
subgoal for cap by (cases cap; simp)
|
||||
apply (simp add: caps lookup_failure_map_def)
|
||||
apply (frule guard_mask_shift[where guard=guard])
|
||||
apply (intro conjI)
|
||||
apply fastforce
|
||||
apply clarsimp
|
||||
apply (rule conjI)
|
||||
apply (clarsimp simp add: objBits_simps cte_level_bits_def)
|
||||
apply (erule (2) valid_CNodeCapE)
|
||||
apply (erule (3) cte_map_shift')
|
||||
subgoal by simp
|
||||
apply (clarsimp simp add: objBits_simps cte_level_bits_def)
|
||||
apply (rule conjI)
|
||||
apply (erule (1) cte_map_shift; assumption?)
|
||||
subgoal by simp
|
||||
apply (clarsimp simp: cte_level_bits_def)
|
||||
apply (intro conjI impI allI;clarsimp?)
|
||||
apply (rule context_conjI)
|
||||
apply (simp add: guard_mask_shift[OF \<open>to_bl _ = _\<close>, where guard=guard,symmetric])
|
||||
apply (simp add: caps lookup_failure_map_def)
|
||||
apply (rule conjI)
|
||||
apply (clarsimp split: if_splits)
|
||||
apply (intro conjI impI allI;clarsimp?)
|
||||
apply (subst \<open>to_bl _ = _\<close>[symmetric])
|
||||
apply (drule postfix_dropD)
|
||||
apply clarsimp
|
||||
|
@ -662,14 +642,26 @@ proof (induct a arbitrary: c' cref' bits rule: resolve_address_bits'.induct)
|
|||
apply simp
|
||||
apply (subst drop_drop [symmetric])
|
||||
subgoal by simp
|
||||
apply (erule (1) cte_map_shift; assumption?)
|
||||
apply clarsimp
|
||||
subgoal by (simp add: cte_level_bits_def)
|
||||
apply (clarsimp simp: valid_cap_def cap_table_at_gsCNodes isCap_simps)
|
||||
apply (erule (2) valid_CNodeCapE)
|
||||
apply (rule cap_table_at_cte_at[OF _ refl])
|
||||
apply (simp add: obj_at_def is_cap_table_def well_formed_cnode_n_def)
|
||||
apply (frule (2) cte_wp_valid_cap)
|
||||
apply (rule context_conjI)
|
||||
apply (intro conjI impI allI;clarsimp?)
|
||||
apply (clarsimp simp add: objBits_simps cte_level_bits_def)
|
||||
apply (erule (2) valid_CNodeCapE)
|
||||
apply (erule (3) cte_map_shift')
|
||||
apply simp
|
||||
apply (clarsimp simp add: objBits_simps cte_level_bits_def)
|
||||
apply (erule (1) cte_map_shift; assumption?)
|
||||
subgoal by simp
|
||||
apply (clarsimp simp: cte_level_bits_def)
|
||||
apply (rule conjI)
|
||||
apply (clarsimp simp: valid_cap_def cap_table_at_gsCNodes isCap_simps)
|
||||
apply (rule and_mask_less_size, simp add: word_bits_def word_size cte_level_bits_def)
|
||||
apply (clarsimp split: if_splits)
|
||||
done
|
||||
done
|
||||
apply (clarsimp split: if_splits)
|
||||
done
|
||||
done
|
||||
}
|
||||
ultimately
|
||||
show ?thesis by fast
|
||||
|
|
|
@ -1082,7 +1082,7 @@ lemma set_ep_corres [corres]:
|
|||
(set_endpoint ptr e) (setEndpoint ptr e')"
|
||||
apply (simp add: set_endpoint_def setEndpoint_def is_ep_def[symmetric])
|
||||
apply (corres_search search: set_other_obj_corres[where P="\<lambda>_. True"])
|
||||
apply (correswp wp: get_object_ret get_object_wp)+
|
||||
apply (corressimp wp: get_object_ret get_object_wp)+
|
||||
by (clarsimp simp: is_ep obj_at_simps)
|
||||
|
||||
lemma set_ntfn_corres [corres]:
|
||||
|
@ -1091,7 +1091,7 @@ lemma set_ntfn_corres [corres]:
|
|||
(set_notification ptr ae) (setNotification ptr ae')"
|
||||
apply (simp add: set_notification_def setNotification_def is_ntfn_def[symmetric])
|
||||
apply (corres_search search: set_other_obj_corres[where P="\<lambda>_. True"])
|
||||
apply (correswp wp: get_object_ret get_object_wp)+
|
||||
apply (corressimp wp: get_object_ret get_object_wp)+
|
||||
by (clarsimp simp: is_ntfn obj_at_simps)
|
||||
|
||||
lemma no_fail_getNotification [wp]:
|
||||
|
|
Loading…
Reference in New Issue