scyther-proof-0.3.0: Automatic generation of Isabelle/HOL correctness proofs for security protocols.

Scyther.Theory.Pretty

Description

Pretty printing a security protocol theory.

Synopsis

Documentation

newtype TaggedIdentityT t m a Source

Constructors

TaggedIdentityT 

Fields

unTaggedIdentityT :: m a
 

data SlimOutput Source

Phantom type marking slim output.

Constructors

SlimOutput 

Instances

MarkupMonad m => PrettyMonad (TaggedIdentityT SlimOutput m)

A slim output mode for better readability.

class (Applicative m, Monad m) => MarkupMonad m whereSource

A monad for inserting markup into output.

Methods

withGraph :: Document d => Dot a -> m d -> m dSource

withExplanation :: Document d => String -> m d -> m dSource

theoremRef :: Document d => Protocol -> String -> m dSource

theoremDef :: Document d => Theorem -> m d -> m dSource

keyword :: Document d => String -> m d -> m dSource

noteCasesSource

Arguments

:: Document d 
=> Dot a 
-> [(String, Dot b)]

named non-trivial cases

-> [(String, Dot b)]

named trivial cases

-> m d 
-> m d 

class MarkupMonad m => PrettyMonad m whereSource

A pretty printing monad allowing for economically replacing parts of the pretty printer.

Instances

MarkupMonad m => PrettyMonad (ReaderT IsarConf m)

Pretty printing as an ISAR theory file is accomplished by using a reader monad transformer with an ISAR output configuration as the environment.

MarkupMonad m => PrettyMonad (TaggedIdentityT SlimOutput m)

A slim output mode for better readability.

prettyTheory :: PrettyMonad m => Theory -> m DocSource

Pretty print a theory.

prettySoundness :: Applicative f => Theory -> f DocSource

Pretty print soundness information.