tpdb-2.7.3: Data Type for Rewriting Systems
Safe HaskellSafe-Inferred
LanguageHaskell2010

TPDB.Data.Term.Plain

Synopsis

Documentation

type TermC v s = () :: Constraint Source #

data Term v s Source #

we do derive Ord but it should probably not be used much

Constructors

Var v 
Node s [Term v s] 

Instances

Instances details
Functor (Term v) Source # 
Instance details

Defined in TPDB.Data.Term.Plain

Methods

fmap :: (a -> b) -> Term v a -> Term v b #

(<$) :: a -> Term v b -> Term v a #

(TermC v c, XmlContent (Term v c)) => XmlContent (Rule (Term v c)) Source # 
Instance details

Defined in TPDB.Data.Xml

Methods

toContents :: Rule (Term v c) -> [Node] Source #

parseContents :: Cursor -> [Rule (Term v c)] Source #

Generic (Term v s) Source # 
Instance details

Defined in TPDB.Data.Term.Plain

Associated Types

type Rep (Term v s) :: Type -> Type #

Methods

from :: Term v s -> Rep (Term v s) x #

to :: Rep (Term v s) x -> Term v s #

(Eq v, Eq s) => Eq (Term v s) Source # 
Instance details

Defined in TPDB.Data.Term.Plain

Methods

(==) :: Term v s -> Term v s -> Bool #

(/=) :: Term v s -> Term v s -> Bool #

(Ord v, Ord s) => Ord (Term v s) Source # 
Instance details

Defined in TPDB.Data.Term.Plain

Methods

compare :: Term v s -> Term v s -> Ordering #

(<) :: Term v s -> Term v s -> Bool #

(<=) :: Term v s -> Term v s -> Bool #

(>) :: Term v s -> Term v s -> Bool #

(>=) :: Term v s -> Term v s -> Bool #

max :: Term v s -> Term v s -> Term v s #

min :: Term v s -> Term v s -> Term v s #

(Hashable v, Hashable s) => Hashable (Term v s) Source # 
Instance details

Defined in TPDB.Data.Term.Plain

Methods

hashWithSalt :: Int -> Term v s -> Int #

hash :: Term v s -> Int #

(TermC v s, Pretty v, Pretty s) => Pretty (Term v s) Source # 
Instance details

Defined in TPDB.Plain.Write

Methods

pretty :: Term v s -> Doc ann #

prettyList :: [Term v s] -> Doc ann #

(Ord v, TermC v s) => Variables (TRS v s) Source # 
Instance details

Defined in TPDB.Data

Associated Types

type Var (TRS v s) Source #

Methods

variables :: TRS v s -> Set (Var (TRS v s)) Source #

(Ord v, TermC v c) => Variables (Term v c) Source # 
Instance details

Defined in TPDB.Data

Associated Types

type Var (Term v c) Source #

Methods

variables :: Term v c -> Set (Var (Term v c)) Source #

Reader (TRS Identifier Identifier) Source # 
Instance details

Defined in TPDB.Plain.Read

(TermC v Identifier, Reader v) => Reader (Term v Identifier) Source # 
Instance details

Defined in TPDB.Plain.Read

(TermC v s, Pretty v, Pretty s) => PrettyTerm (Term v s) Source # 
Instance details

Defined in TPDB.Plain.Write

Methods

prettyTerm :: Term v s -> Doc ann Source #

XmlContent (TRS Identifier Symbol) Source # 
Instance details

Defined in TPDB.CPF.Proof.Write

(TermC v c, Show v, XmlContent v, XmlContent c) => XmlContent (Term v c) Source # 
Instance details

Defined in TPDB.Data.Xml

Methods

toContents :: Term v c -> [Node] Source #

parseContents :: Cursor -> [Term v c] Source #

type Rep (Term v s) Source # 
Instance details

Defined in TPDB.Data.Term.Plain

type Var (TRS v s) Source # 
Instance details

Defined in TPDB.Data

type Var (TRS v s) = v
type Var (Term v c) Source # 
Instance details

Defined in TPDB.Data

type Var (Term v c) = v

tfold :: TermC v c => (v -> r) -> (c -> [r] -> r) -> Term v c -> r Source #

size :: TermC v c => Term v c -> Int Source #

depth :: TermC v c => Term v c -> Int Source #

vars :: Ord v => Term v c -> Set v Source #

syms :: Ord c => Term v c -> Set c Source #