Theory Strong_Security.Types
theory Types
imports Main
begin
text‹This is a collection of type synonyms. Note that not all of these type synonyms are
used within Strong-Security - some are used in WHATandWHERE-Security.›
type_synonym ('id, 'val) State = "'id ⇒ 'val"
type_synonym ('exp, 'id, 'val) Evalfunction =
"'exp ⇒ ('id, 'val) State ⇒ 'val"
type_synonym ('id, 'val, 'com) TConfig = "'com × ('id, 'val) State"
type_synonym ('id, 'val, 'com) TPConfig =
"('com list) × ('id, 'val) State"
type_synonym 'com ProgramState = "'com option"
type_synonym ('id, 'val, 'com) PSConfig =
"'com ProgramState × ('id, 'val) State"
type_synonym 'com Label = "'com list"
type_synonym ('exp, 'id, 'val, 'com) TLSteps = "
(('id, 'val, 'com) TConfig × 'com Label
× ('id, 'val, 'com) PSConfig) set"
type_synonym ('exp, 'id, 'val, 'com) TLSteps_curry =
"'com ⇒ ('id, 'val) State ⇒ 'com Label ⇒ 'com ProgramState
⇒ ('id, 'val) State ⇒ bool"
type_synonym ('exp, 'id, 'val, 'com) TPSteps = "
(('id, 'val, 'com) TPConfig × ('id, 'val, 'com) TPConfig) set"
type_synonym ('exp, 'id, 'val, 'com) TPSteps_curry =
"'com list ⇒ ('id, 'val) State ⇒ 'com list ⇒ ('id, 'val) State ⇒ bool"
type_synonym ('exp, 'id, 'val, 'com) TSteps =
"(('id, 'val, 'com) TConfig × ('id, 'val, 'com) TPConfig) set"
type_synonym ('exp, 'id, 'val, 'com) TSteps_curry =
"'com ⇒ ('id, 'val) State ⇒ 'com list ⇒ ('id, 'val) State ⇒ bool"
type_synonym ('id, 'd) DomainAssignment = "'id ⇒ 'd::order"
type_synonym 'com Bisimulation_type = "(('com list) × ('com list)) set"
type_synonym ('d, 'exp) Hatch = "'d × 'exp"
type_synonym ('d, 'exp) Hatches = "(('d, 'exp) Hatch) set"
type_synonym ('d, 'exp) lHatch = "'d × 'exp × nat"
type_synonym ('d, 'exp) lHatches = "(('d, 'exp) lHatch) set"
end