Building typing invariants for security protocol in order to enable verification in an untyped model.
Data types
A type assignment for variables of several roles.
Construction typings
mscTyping :: Protocol -> Maybe TypingSource
Compute a typing from the message sequence chart of the protocol implicitly given by the corresponding labels.
FIXME: This is quite a hack and could be done much better: do it!
Pretty Printing
isaType :: IsarConf -> Maybe Role -> Type -> DocSource
Pretty print a type in Isar syntax; paramatrized over the role of the
variable that this type describes. This role is used for abbreviating role
steps by the role_label
constant symbols defined in Isabelle.
isaOptType :: IsarConf -> Maybe Role -> Maybe Type -> DocSource
Pretty print a type that may be a weak atomicity type.
sptType :: Maybe Role -> Type -> DocSource
Pretty print a type in security protocol theory format. If the role is given then the type describes a variable of this role. The steps of this role are abbreviated accordingly.