vicramgon/logicus/7.0.0

NOTE: the latest version is 10.1.0

Unavailable. Nobody can download this version any more, with elm or with the Lamdera compiler: github.com/vicramgon/logicus is gone (deleted or private); Software Heritage not asked yet (this run's --swh-calls were used up); no fork with tag 7.0.0 found (12 same-name repos checked); no cached copy. Use another version.

Details

LogicUS.FOL.Herbrand

The module provides the tools for applying Herbrand works over First Order Logic

Signatures

type alias Signature =
( Set ( String, List Int )
, Dict ( String, List Int ) Int
, Dict ( String, List Int ) 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 : FormulaFOL -> Maybe Signature

It calculates the signature of an opened formula

sfolSignature : SetFOL -> Maybe Signature

It calculates the signature of a set of opened formulas

Herbrand Works

signatureHerbrandUniverse : Signature -> Int -> List Term

It generates the Herbrand Universe of n-order according to a Signature

ffolHerbrandUniverse : FormulaFOL -> Int -> Maybe (List Term)

It generates the Herbrand Universe of an opened formula

sfolHerbrandUniverse : List FormulaFOL -> Int -> Maybe (List Term)

It generates the Herbrand Universe of a set of opened formulas

signatureHerbrandBase : Signature -> Int -> List FormulaFOL

It generates a the Herbrand Base of n-order from a signature. That is, a set of opened and closed formulas where all posible substitutions with the n-order Herbrand Unviverse elements,

ffolHerbrandBase : FormulaFOL -> Int -> Maybe (List FormulaFOL)

It generates a the Herbrand Base of n-order from an opened formula. That is, a set of opened and closed formulas where all posible substitutions with the n-order Herbrand Unviverse elements,

sfolHerbrandBase : SetFOL -> Int -> Maybe (List 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 -> Int -> List (List 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 : FormulaFOL -> Int -> Maybe (List (List 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 : SetFOL -> Int -> Maybe (List (List 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 : FormulaFOL -> List FormulaFOL -> List Term -> Maybe Bool

It valuates a Formula regarding to a Herbrand Interpretation and Herbrand Universe

sfolInterpretsHerbrand : SetFOL -> List FormulaFOL -> List Term -> Maybe Bool

It valuates a set of opened formulas regarding to a Herbrand Interpretation and Herbrand Universe

ffolHerbrandModels : FormulaFOL -> Int -> Maybe ( List Term, List (List FormulaFOL) )

It searches Herbrand Models of n-order from a opened formula.

sfolHerbrandModels : SetFOL -> Int -> Maybe ( List Term, List (List FormulaFOL) )

It searches Herbrand Models of n-order from a set of opened formulas.

ffolHerbrandExtension : FormulaFOL -> Int -> Maybe (List 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 : SetFOL -> Int -> Maybe (List 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