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.Builtin.Rules

Contents

Description

Builtin rewriting rules.

Synopsis

Rewriting rules

data RRule a #

A rewrite rule.

Constructors

RRule a a 

Instances

Functor RRule # 

Methods

fmap :: (a -> b) -> RRule a -> RRule b #

(<$) :: a -> RRule b -> RRule a #

Applicative RRule # 

Methods

pure :: a -> RRule a #

(<*>) :: RRule (a -> b) -> RRule a -> RRule b #

(*>) :: RRule a -> RRule b -> RRule b #

(<*) :: RRule a -> RRule b -> RRule a #

Foldable RRule # 

Methods

fold :: Monoid m => RRule m -> m #

foldMap :: Monoid m => (a -> m) -> RRule a -> m #

foldr :: (a -> b -> b) -> b -> RRule a -> b #

foldr' :: (a -> b -> b) -> b -> RRule a -> b #

foldl :: (b -> a -> b) -> b -> RRule a -> b #

foldl' :: (b -> a -> b) -> b -> RRule a -> b #

foldr1 :: (a -> a -> a) -> RRule a -> a #

foldl1 :: (a -> a -> a) -> RRule a -> a #

toList :: RRule a -> [a] #

null :: RRule a -> Bool #

length :: RRule a -> Int #

elem :: Eq a => a -> RRule a -> Bool #

maximum :: Ord a => RRule a -> a #

minimum :: Ord a => RRule a -> a #

sum :: Num a => RRule a -> a #

product :: Num a => RRule a -> a #

Traversable RRule # 

Methods

traverse :: Applicative f => (a -> f b) -> RRule a -> f (RRule b) #

sequenceA :: Applicative f => RRule (f a) -> f (RRule a) #

mapM :: Monad m => (a -> m b) -> RRule a -> m (RRule b) #

sequence :: Monad m => RRule (m a) -> m (RRule a) #

Eq a => Eq (RRule a) # 

Methods

(==) :: RRule a -> RRule a -> Bool #

(/=) :: RRule a -> RRule a -> Bool #

Ord a => Ord (RRule a) # 

Methods

compare :: RRule a -> RRule a -> Ordering #

(<) :: RRule a -> RRule a -> Bool #

(<=) :: RRule a -> RRule a -> Bool #

(>) :: RRule a -> RRule a -> Bool #

(>=) :: RRule a -> RRule a -> Bool #

max :: RRule a -> RRule a -> RRule a #

min :: RRule a -> RRule a -> RRule a #

Show a => Show (RRule a) # 

Methods

showsPrec :: Int -> RRule a -> ShowS #

show :: RRule a -> String #

showList :: [RRule a] -> ShowS #

Monoid a => Monoid (RRule a) # 

Methods

mempty :: RRule a #

mappend :: RRule a -> RRule a -> RRule a #

mconcat :: [RRule a] -> RRule a #

HasFrees a => HasFrees (RRule a) # 

Methods

foldFrees :: Monoid m => (LVar -> m) -> RRule a -> m #

foldFreesOcc :: Monoid m => (Occurence -> LVar -> m) -> Occurence -> RRule a -> m #

mapFrees :: Applicative f => MonotoneFunction f -> RRule a -> f (RRule a) #

dhRules :: Set (RRule LNTerm) #

The rewriting rules for Diffie-Hellman. This is a presentation due to Lankford with the finite variant property.

bpRules :: Set (RRule LNTerm) #

The rewriting rules for bilinear pairing. These rules extend the the rules for Diffie-Hellman.

msetRules :: Set (RRule LNTerm) #

The rewriting rules for multisets.

pairRules :: Set CtxtStRule #

The rewriting rules for standard subterm operators that are builtin.

symEncRules :: Set CtxtStRule #

The rewriting rules for standard subterm operators that are builtin.

asymEncRules :: Set CtxtStRule #

The rewriting rules for standard subterm operators that are builtin.

signatureRules :: Set CtxtStRule #

The rewriting rules for standard subterm operators that are builtin.

Convenience export