logic-classes-1.4.7: Framework for propositional and first order logic, theorem proving

Safe HaskellNone

Data.Logic.Classes.Variable

Synopsis

Documentation

class (Ord v, IsString v, Data v, Pretty v) => Variable v whereSource

Methods

variant :: v -> Set v -> vSource

Return a variable based on v but different from any set element. The result may be v itself if v is not a member of the set.

prefix :: String -> v -> vSource

Modify a variable by adding a prefix. This unfortunately assumes that v is string-like but at least one algorithm in Harrison currently requires this.

prettyVariable :: v -> DocSource

Pretty print a variable

Instances

variants :: Variable v => v -> [v]Source

Return an infinite list of variations on v