Theory Reviewer_Assignment_NCPC_Aut
theory Reviewer_Assignment_NCPC_Aut
imports "../Observation_Setup" Reviewer_Assignment_Value_Setup "Bounded_Deducibility_Security.Compositional_Reasoning"
begin
subsection ‹Confidentiality protection from users who are not PC members
or authors of the paper›
text ‹We verify the following property:
\ \\
A group of users UIDs learn
nothing about the reviewers assigned to a paper PID
except for the fact that they are PC members having no conflict with that paper
unless/until one of the following occurs:
\begin{itemize}
\item the user becomes a PC member in the paper's conference having no conflict
with that paper and the conference moves to the reviewing phase,
or
\item the user becomes an author of the paper
and the conference moves to the notification phase.
\end{itemize}
›
fun T :: "(state,act,out) trans ⇒ bool" where
"T (Trans _ _ ou s') =
(∃ uid ∈ UIDs.
(∃ cid. PID ∈∈ paperIDs s' cid ∧ isPC s' cid uid ∧ pref s' uid PID ≠ Conflict ∧ phase s' cid ≥ revPH)
∨
(∃ cid. PID ∈∈ paperIDs s' cid ∧ isAut s' cid uid PID ∧ phase s' cid ≥ notifPH)
)"
declare T.simps [simp del]
definition B :: "value list ⇒ value list ⇒ bool" where
"B vl vl1 ≡
vl ≠ [] ∧
distinct (map fst vl1) ∧ fst ` (set vl1) ⊆ snd (hd vl) ∧ snd ` (set vl1) = {snd (hd vl)}"