Theory Observation_Setup
theory Observation_Setup
imports Safety_Properties
begin
section ‹Observation setup for confidentiality properties›
text ‹The observation infrastructure, consisting of
a discriminator $\gamma$ and a selector $g$,
is the same for all our confidentiality properties.
Namely, we fix a group UIDs of users, and consider
the actions and outputs of these users.
›
consts UIDs :: "userID set"
type_synonym obs = "act * out"
fun γ :: "(state,act,out) trans ⇒ bool" where
"γ (Trans _ a _ _) = (userOfA a ∈ UIDs)"
fun g :: "(state,act,out)trans ⇒ obs" where
"g (Trans _ a ou _) = (a,ou)"
end