The module provides the tools for applying Herbrand works over First Order Logic
( Set ( String
, List Basics.Int )
, Dict ( String
, List Basics.Int ) Basics.Int
, Dict ( String
, List Basics.Int ) Basics.Int
)
A signature is a 3-tuple with the constants, the functions symbols with its arity and the predicate symbols with its arity that apears in one (or a set of) opened formula(s).
ffolSignature : LogicUS.FOL.SyntaxSemantics.FormulaFOL -> Maybe Signature
It calculates the signature of an opened formula
sfolSignature : LogicUS.FOL.SyntaxSemantics.SetFOL -> Maybe Signature
It calculates the signature of a set of opened formulas
signatureHerbrandUniverse : Signature -> Basics.Int -> List LogicUS.FOL.SyntaxSemantics.Term
It generates the Herbrand Universe of n-order according to a Signature
ffolHerbrandUniverse : LogicUS.FOL.SyntaxSemantics.FormulaFOL -> Basics.Int -> Maybe (List LogicUS.FOL.SyntaxSemantics.Term)
It generates the Herbrand Universe of an opened formula
sfolHerbrandUniverse : List LogicUS.FOL.SyntaxSemantics.FormulaFOL -> Basics.Int -> Maybe (List LogicUS.FOL.SyntaxSemantics.Term)
It generates the Herbrand Universe of a set of opened formulas
signatureHerbrandBase : Signature -> Basics.Int -> List LogicUS.FOL.SyntaxSemantics.FormulaFOL
It generates a the Herbrand Base of n-order from a signature. That is, the set of all possible atoms for a signature wich corresponds to the applicatiion of each symbol of predicate (of arity k) over each k-tuple of elements of n-order universe Herbrand
ffolHerbrandBase : LogicUS.FOL.SyntaxSemantics.FormulaFOL -> Basics.Int -> Maybe (List LogicUS.FOL.SyntaxSemantics.FormulaFOL)
It generates a the Herbrand Base of n-order from an opened formula. That is, a set of all posible atoms formed with the predicate symbosl of a formula, cosidering all the posible substitutions with the n-order Herbrand Unviverse elements.
sfolHerbrandBase : LogicUS.FOL.SyntaxSemantics.SetFOL -> Basics.Int -> Maybe (List LogicUS.FOL.SyntaxSemantics.FormulaFOL)
It generates a the Herbrand Base of n-order from a set of opened formulas. That is, a set of opened and closed formulas where all posible substitutions with the n-order Herbrand Unviverse elements.
signatureHerbrandInterpretations : Signature -> Basics.Int -> List (List LogicUS.FOL.SyntaxSemantics.FormulaFOL)
It generates all the possible Herbrand Interpretations of n-order from a signature. That is, all the possible subsets of the n-order Herbrand Basis associated to the signature.
ffolHerbrandInterpretations : LogicUS.FOL.SyntaxSemantics.FormulaFOL -> Basics.Int -> Maybe (List (List LogicUS.FOL.SyntaxSemantics.FormulaFOL))
It generates all the possible Herbrand Interpretations of n-order from a opened formula. That is, all the possible subsets of the n-order Herbrand Basis associated to the formula
sfolHerbrandInterpretations : LogicUS.FOL.SyntaxSemantics.SetFOL -> Basics.Int -> Maybe (List (List LogicUS.FOL.SyntaxSemantics.FormulaFOL))
It generates all the possible Herbrand Interpretations of n-order from a set of opened formulas. That is, all the possible subsets of the n-order Herbrand Basis associated to the formula
ffolInterpretsHerbrand : LogicUS.FOL.SyntaxSemantics.FormulaFOL -> List LogicUS.FOL.SyntaxSemantics.FormulaFOL -> List LogicUS.FOL.SyntaxSemantics.Term -> Maybe Basics.Bool
It valuates a Formula regarding to a Herbrand Interpretation and Herbrand Universe
sfolInterpretsHerbrand : LogicUS.FOL.SyntaxSemantics.SetFOL -> List LogicUS.FOL.SyntaxSemantics.FormulaFOL -> List LogicUS.FOL.SyntaxSemantics.Term -> Maybe Basics.Bool
It valuates a set of opened formulas regarding to a Herbrand Interpretation and Herbrand Universe
ffolHerbrandModels : LogicUS.FOL.SyntaxSemantics.FormulaFOL -> Basics.Int -> Maybe ( List LogicUS.FOL.SyntaxSemantics.Term, List (List LogicUS.FOL.SyntaxSemantics.FormulaFOL) )
It searches Herbrand Models of n-order from a opened formula.
sfolHerbrandModels : LogicUS.FOL.SyntaxSemantics.SetFOL -> Basics.Int -> Maybe ( List LogicUS.FOL.SyntaxSemantics.Term, List (List LogicUS.FOL.SyntaxSemantics.FormulaFOL) )
It searches Herbrand Models of n-order from a set of opened formulas.
ffolHerbrandExtension : LogicUS.FOL.SyntaxSemantics.FormulaFOL -> Basics.Int -> Maybe (List LogicUS.PL.SyntaxSemantics.FormulaPL)
It calculates the n-order Herbrand Extension vinculated to an opened formula. That is it gives a set of propositional formulas partially equiconsistent with the FOL formula
sfolHerbrandExtension : LogicUS.FOL.SyntaxSemantics.SetFOL -> Basics.Int -> Maybe (List LogicUS.PL.SyntaxSemantics.FormulaPL)
It calculates the n-order Herbrand Extension vinculated to a set of opened formulas. That is it gives a set of propositional formulas partially equiconsistent with the FOL formula