tamarin-prover-term-1.2.2: Term manipulation library for the tamarin prover.

Copyright(c) 2010-2012 Benedikt Schmidt
LicenseGPL v3 (see LICENSE)
MaintainerBenedikt Schmidt <beschmi@gmail.com>
Safe HaskellNone
LanguageHaskell98

Term.Maude.Signature

Contents

Description

Equational signatures for Maude.

Synopsis

Maude signatures

data MaudeSig #

The required information to define a Maude functional module.

Instances

Eq MaudeSig # 
Ord MaudeSig # 
Show MaudeSig # 
Generic MaudeSig # 

Associated Types

type Rep MaudeSig :: * -> * #

Methods

from :: MaudeSig -> Rep MaudeSig x #

to :: Rep MaudeSig x -> MaudeSig #

Monoid MaudeSig #

A monoid instance to combine maude signatures.

Binary MaudeSig # 

Methods

put :: MaudeSig -> Put #

get :: Get MaudeSig #

putList :: [MaudeSig] -> Put #

NFData MaudeSig # 

Methods

rnf :: MaudeSig -> () #

type Rep MaudeSig # 

stFunSyms :: MaudeSig -> Set NoEqSym #

function signature for subterm theory

stRules :: MaudeSig -> Set CtxtStRule #

rewriting rules for subterm theory

funSyms :: MaudeSig -> FunSig #

function signature including the function symbols for DH, BP, and Multiset can be computed from enableX and stFunSyms

irreducibleFunSyms :: MaudeSig -> FunSig #

irreducible function symbols (can be computed)

rrulesForMaudeSig :: MaudeSig -> Set (RRule LNTerm) #

Returns all rewriting rules including the rules for DH, BP, and multiset.

noEqFunSyms :: MaudeSig -> NoEqFunSig #

Non-AC function symbols.

predefined maude signatures

dhMaudeSig :: MaudeSig #

Maude signatures for the AC symbols.

pairMaudeSig :: MaudeSig #

Maude signatures for the default subterm symbols. pairMaudeSig :: Bool -> MaudeSig pairMaudeSig flag = maudeSig $ mempty {stFunSyms=pairFunSig,stRules=pairRules,enableDiff=flag}

asymEncMaudeSig :: MaudeSig #

Maude signatures for the default subterm symbols. pairMaudeSig :: Bool -> MaudeSig pairMaudeSig flag = maudeSig $ mempty {stFunSyms=pairFunSig,stRules=pairRules,enableDiff=flag}

symEncMaudeSig :: MaudeSig #

Maude signatures for the default subterm symbols. pairMaudeSig :: Bool -> MaudeSig pairMaudeSig flag = maudeSig $ mempty {stFunSyms=pairFunSig,stRules=pairRules,enableDiff=flag}

signatureMaudeSig :: MaudeSig #

Maude signatures for the default subterm symbols. pairMaudeSig :: Bool -> MaudeSig pairMaudeSig flag = maudeSig $ mempty {stFunSyms=pairFunSig,stRules=pairRules,enableDiff=flag}

hashMaudeSig :: MaudeSig #

Maude signatures for the default subterm symbols. pairMaudeSig :: Bool -> MaudeSig pairMaudeSig flag = maudeSig $ mempty {stFunSyms=pairFunSig,stRules=pairRules,enableDiff=flag}

msetMaudeSig :: MaudeSig #

Maude signatures for the AC symbols.

bpMaudeSig :: MaudeSig #

Maude signatures for the AC symbols.

minimalMaudeSig :: Bool -> MaudeSig #

The minimal maude signature.

enableDiffMaudeSig :: MaudeSig #

Signature with enableDiff set to True

extend maude signatures

addFunSym :: NoEqSym -> MaudeSig -> MaudeSig #

Add function symbol to given maude signature.

addCtxtStRule :: CtxtStRule -> MaudeSig -> MaudeSig #

Add subterm rule to given maude signature.

pretty printing