diff --git a/proof/crefine/RISCV64/IpcCancel_C.thy b/proof/crefine/RISCV64/IpcCancel_C.thy index f26fe4cab7..dfe7e847f8 100644 --- a/proof/crefine/RISCV64/IpcCancel_C.thy +++ b/proof/crefine/RISCV64/IpcCancel_C.thy @@ -2553,8 +2553,8 @@ lemma ep_ptr_set_queue_spec: oops lemma valid_ep_blockedD: - "\ valid_ep' ep s; (isSendEP ep \ isRecvEP ep) \ - \ (epQueue ep) \ [] \ (\t\set (epQueue ep). tcb_at' t s)" + "\ valid_ep' ep s; isSendEP ep \ isRecvEP ep \ + \ epQueue ep \ [] \ (\t\set (epQueue ep). tcb_at' t s)" unfolding valid_ep'_def isSendEP_def isRecvEP_def by (clarsimp split: endpoint.splits) diff --git a/proof/crefine/RISCV64/SR_lemmas_C.thy b/proof/crefine/RISCV64/SR_lemmas_C.thy index 5d1821d3f5..54ac841e2d 100644 --- a/proof/crefine/RISCV64/SR_lemmas_C.thy +++ b/proof/crefine/RISCV64/SR_lemmas_C.thy @@ -1212,7 +1212,7 @@ lemma ntfn_blocked_in_queueD: (* MOVE *) lemma valid_ntfn_isWaitingNtfnD: "\ valid_ntfn' ntfn s; isWaitingNtfn (ntfnObj ntfn) \ - \ (ntfnQueue (ntfnObj ntfn)) \ [] \ (\t\set (ntfnQueue (ntfnObj ntfn)). tcb_at' t s)" + \ ntfnQueue (ntfnObj ntfn) \ [] \ (\t\set (ntfnQueue (ntfnObj ntfn)). tcb_at' t s)" unfolding valid_ntfn'_def isWaitingNtfn_def by (clarsimp split: Structures_H.notification.splits ntfn.splits) diff --git a/proof/invariant-abstract/IpcDet_AI.thy b/proof/invariant-abstract/IpcDet_AI.thy index 062497c7a0..f07e8d56a6 100644 --- a/proof/invariant-abstract/IpcDet_AI.thy +++ b/proof/invariant-abstract/IpcDet_AI.thy @@ -93,34 +93,6 @@ lemma sfi_tcb_at [wp]: \\_. tcb_at t\" by (wpsimp simp: send_fault_ipc_def) -(* FIXME RT: move these wp and sp rules for mapM? *) -lemma mapM_gets_the_wp: - "\\s. \vs. map (\t. f t s) ts = map Some vs \ P vs s\ - mapM (gets_the \ f) ts - \P\" -unfolding comp_def -proof (induct ts arbitrary: P) - case Nil thus ?case by (wpsimp simp: mapM_Nil) -next - case (Cons x xs) show ?case by (wpsimp simp: mapM_Cons wp: Cons) -qed - -lemma mapM_gets_the_wp': - "\\s. \vs. (\i < length vs. f (ts ! i) s = Some (vs ! i)) \ P vs s\ - mapM (gets_the \ f) ts - \P\" - apply (wpsimp wp: mapM_gets_the_wp) - by (simp add: map_equality_iff) - -lemma mapM_gets_the_sp: - "\P\ mapM (gets_the \ f) ts \\rv s. P s \ map (\t. f t s) ts = map Some rv\" - by (wpsimp wp: mapM_gets_the_wp simp: comp_def) - -lemma mapM_gets_the_sp': - "\P\ mapM (gets_the \ f) ts \\rv s. P s \ (\i < length rv. f (ts ! i) s = Some (rv ! i))\" - apply (wpsimp wp: mapM_gets_the_wp simp: comp_def) - by (simp add: map_equality_iff) - lemma distinct_map_fst_filter_zip: "distinct list \ distinct (map fst (filter f (zip list zp)))" apply (induct list rule: length_induct)