Theory Review_RAut
theory Review_RAut
imports "../Observation_Setup" Review_Value_Setup "Bounded_Deducibility_Security.Compositional_Reasoning"
begin
subsection ‹Confidentiality protection from users who are not the review's author›
text ‹We verify the following property:
\ \\
A group UIDs of users learn nothing
about the various updates of the N'th review of a paper PID
except for the last edited version before discussion and all the later versions
unless a user in UIDs is that review's author.
\ \\
›
type_synonym "value" = "phase * rcontent"
fun f :: "(state,act,out) trans ⇒ value" where
"f (Trans s (Uact (uReview cid uid p pid n rc)) _ _) = (phase s cid, rc)"
|
"f (Trans s (UUact (uuReview cid uid p pid n rc)) _ _) = (phase s cid, rc)"
fun T :: "(state,act,out) trans ⇒ bool" where
"T (Trans _ _ ou s') =
(∃ uid ∈ UIDs. isREVNth s' uid PID N)"
declare T.simps [simp del]
definition B :: "value list ⇒ value list ⇒ bool" where
"B vl vl1 ≡
∃ ul ul1 wl.
vl = (map (Pair revPH) ul) @ (map (Pair disPH) wl) ∧
vl1 = (map (Pair revPH) ul1) @ (map (Pair disPH) wl) ∧
ul ≠ [] ∧ ul1 ≠ [] ∧ last ul = last ul1"