Term.SubtermRule

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

Copyright | (c) 2011-2012 Benedikt Schmidt
License | GPL v3 (see LICENSE)
Maintainer | Benedikt Schmidt <beschmi@gmail.com>
Safe Haskell | None
Language | Haskell98

Term.SubtermRule

Contents

- Pretty Printing

Description

Context Subterm rewriting rules.

Synopsis

- data StRhs = StRhs [Position] LNTerm
- data CtxtStRule = CtxtStRule LNTerm StRhs
- rRuleToCtxtStRule :: RRule LNTerm -> Maybe CtxtStRule
- ctxtStRuleToRRule :: CtxtStRule -> RRule LNTerm
- prettyCtxtStRule :: HighlightDocument d => CtxtStRule -> d
- module Term.Rewriting.Definitions

# Documentation

data StRhs #

The righthand-side of a context subterm rewrite rule. Does not enforce that the term for RhsGround must be ground.

Constructors

StRhs [Position] LNTerm |

Instances

Eq StRhs # |
Methods (==) :: StRhs -> StRhs -> Bool # (/=) :: StRhs -> StRhs -> Bool #
Ord StRhs # |
Methods compare :: StRhs -> StRhs -> Ordering # (<) :: StRhs -> StRhs -> Bool # (<=) :: StRhs -> StRhs -> Bool # (>) :: StRhs -> StRhs -> Bool # (>=) :: StRhs -> StRhs -> Bool # max :: StRhs -> StRhs -> StRhs # min :: StRhs -> StRhs -> StRhs #
Show StRhs # |
Methods showsPrec :: Int -> StRhs -> ShowS # show :: StRhs -> String # showList :: [StRhs] -> ShowS #
Generic StRhs # |
Associated Types type Rep StRhs :: * -> * # Methods from :: StRhs -> Rep StRhs x # to :: Rep StRhs x -> StRhs #
Binary StRhs # |
Methods put :: StRhs -> Put # get :: Get StRhs # putList :: [StRhs] -> Put #
NFData StRhs # |
Methods rnf :: StRhs -> () #
type Rep StRhs # |
type Rep StRhs = D1 (MetaData "StRhs" "Term.SubtermRule" "tamarin-prover-term-1.2.2-AAX5pCkSPqj7TesI35mR1r" False) (C1 (MetaCons "StRhs" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Position])) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 LNTerm))))

data CtxtStRule #

A context subterm rewrite rule. The left hand side as a LNTerm, and a StRHS.

Constructors

CtxtStRule LNTerm StRhs |

Instances

Eq CtxtStRule # |
Methods (==) :: CtxtStRule -> CtxtStRule -> Bool # (/=) :: CtxtStRule -> CtxtStRule -> Bool #
Ord CtxtStRule # |
Methods compare :: CtxtStRule -> CtxtStRule -> Ordering # (<) :: CtxtStRule -> CtxtStRule -> Bool # (<=) :: CtxtStRule -> CtxtStRule -> Bool # (>) :: CtxtStRule -> CtxtStRule -> Bool # (>=) :: CtxtStRule -> CtxtStRule -> Bool # max :: CtxtStRule -> CtxtStRule -> CtxtStRule # min :: CtxtStRule -> CtxtStRule -> CtxtStRule #
Show CtxtStRule # |
Methods showsPrec :: Int -> CtxtStRule -> ShowS # show :: CtxtStRule -> String # showList :: [CtxtStRule] -> ShowS #
Generic CtxtStRule # |
Associated Types type Rep CtxtStRule :: * -> * # Methods from :: CtxtStRule -> Rep CtxtStRule x # to :: Rep CtxtStRule x -> CtxtStRule #
Binary CtxtStRule # |
Methods put :: CtxtStRule -> Put # get :: Get CtxtStRule # putList :: [CtxtStRule] -> Put #
NFData CtxtStRule # |
Methods rnf :: CtxtStRule -> () #
type Rep CtxtStRule # |
type Rep CtxtStRule = D1 (MetaData "CtxtStRule" "Term.SubtermRule" "tamarin-prover-term-1.2.2-AAX5pCkSPqj7TesI35mR1r" False) (C1 (MetaCons "CtxtStRule" PrefixI False) ((:*:) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 LNTerm)) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 StRhs))))

rRuleToCtxtStRule :: RRule LNTerm -> Maybe CtxtStRule #

Convert a rewrite rule to a context subterm rewrite rule if possible.

ctxtStRuleToRRule :: CtxtStRule -> RRule LNTerm #

Convert a context subterm rewrite rule to a rewrite rule.

# Pretty Printing

prettyCtxtStRule :: HighlightDocument d => CtxtStRule -> d #

Pretty print an `CtxtStRule`

module Term.Rewriting.Definitions