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

Safe HaskellNone
LanguageHaskell98

Data.Logic.Types.Harrison.FOL

Synopsis

Documentation

data TermType Source

Constructors

Var String 
Fn Function [TermType] 

Instances

Eq TermType 
Ord TermType 
Show TermType 
Pretty TermType 
Atom FOLEQ TermType String 
Term TermType String Function 
Apply FOL String TermType 
Apply FOLEQ PredName TermType

Using PredName for the predicate type is not quite appropriate here, but we need to implement this instance so we can use it as a superclass of AtomEq below.

AtomEq FOLEQ PredName TermType 

data Function Source

The Harrison book uses String for atomic function, but we need something a little more type safe because of our Skolem class.

Constructors

FName String 
Skolem String