Theory Review_RAut_NCPC
theory Review_RAut_NCPC
imports "../Observation_Setup" Review_Value_Setup "Bounded_Deducibility_Security.Compositional_Reasoning"
begin
subsection ‹Confidentiality protection from users who are not the review's author or a PC member›
text ‹We verify the following property:
\ \\
A group of users UIDs learn nothing
about the various updates of the N'th review of a paper PID
except for the last edited version before notification
unless/until one of the following holds:
\begin{itemize}
\item a user in UIDs is the review's author, or
\item a user in UIDs becomes a PC member in the paper's conference
having no conflict with that paper, and the conference moves to the discussion phase.
\end{itemize}
›
type_synonym "value" = rcontent
fun f :: "(state,act,out) trans ⇒ value" where
"f (Trans _ (Uact (uReview cid uid p pid n rc)) _ _) = rc"
|
"f (Trans _ (UUact (uuReview cid uid p pid n rc)) _ _) = rc"
fun T :: "(state,act,out) trans ⇒ bool" where
"T (Trans _ _ ou s') =
(∃ uid ∈ UIDs.
isREVNth s' uid PID N
∨
(∃ cid. PID ∈∈ paperIDs s' cid ∧ isPC s' cid uid ∧ pref s' uid PID ≠ Conflict ∧ phase s' cid ≥ disPH)
)"
declare T.simps [simp del]
definition B :: "value list ⇒ value list ⇒ bool" where
"B vl vl1 ≡ vl ≠ [] ∧ vl1 ≠ [] ∧ last vl = last vl1"