Class SpassFolReasoner
java.lang.Object
org.tweetyproject.logics.fol.reasoner.FolReasoner
org.tweetyproject.logics.fol.reasoner.SpassFolReasoner
- All Implemented Interfaces:
QualitativeReasoner<FolBeliefSet,
,FolFormula> Reasoner<Boolean,
FolBeliefSet, FolFormula>
Invokes SPASS (http://www.mpi-inf.mpg.de/departments/automation-of-logic/software/spass-workbench/),
an automated theorem prover for first-order logic, modal logic and description logics.
- Author:
- Anna Gessler
-
Field Summary
Fields inherited from class org.tweetyproject.logics.fol.reasoner.FolReasoner
defaultReasoner
-
Constructor Summary
ConstructorDescriptionSpassFolReasoner
(String binaryLocation) Constructs a new instance pointing to a specific SPASSSpassFolReasoner
(String binaryLocation, Shell bash) Constructs a new instance pointing to a specific SPASS Prover. -
Method Summary
Modifier and TypeMethodDescriptionboolean
equivalent
(FolBeliefSet kb, FolFormula a, FolFormula b) This method determines whether two formulas are equivalent wrt.boolean
Checks whether the underlying solver or reasoning mechanism used by this reasoner is installed and available for use.query
(FolBeliefSet kb, FolFormula query) Queries the given belief base with the provided formula and returns a boolean result.queryProof
(FolBeliefSet kb, Formula query) Determines the answer wrt.void
Sets the command line options that will be used by SPASS when executing the query.Methods inherited from class org.tweetyproject.logics.fol.reasoner.FolReasoner
getDefaultReasoner, setDefaultReasoner
-
Constructor Details
-
SpassFolReasoner
-
SpassFolReasoner
Constructs a new instance pointing to a specific SPASS- Parameters:
binaryLocation
- of the SPASS executable on the hard drive
-
-
Method Details
-
setCmdOptions
Sets the command line options that will be used by SPASS when executing the query.- Parameters:
s
- a string containing the command line arguments
-
query
Description copied from interface:QualitativeReasoner
Queries the given belief base with the provided formula and returns a boolean result. The result indicates whether the formula is entailed or satisfied by the belief base according to the qualitative reasoning method implemented by the reasoner.- Specified by:
query
in interfaceQualitativeReasoner<FolBeliefSet,
FolFormula> - Specified by:
query
in interfaceReasoner<Boolean,
FolBeliefSet, FolFormula> - Specified by:
query
in classFolReasoner
- Parameters:
kb
- The belief base to be queried.query
- The formula for which the query is made.- Returns:
- `TRUE` if the formula is entailed or satisfied by the belief base, `FALSE` otherwise.
-
queryProof
Determines the answer wrt. to the given query and returns the proof (if applicable). May decrease SPASS's performance, usequery(FolBeliefSet,FolFormula)
if only a yes/no result is needed.- Parameters:
kb
- the knowledge basequery
- a formula- Returns:
- a string containing proof documentation
-
equivalent
Description copied from class:FolReasoner
This method determines whether two formulas are equivalent wrt. to the given knowledge base.- Specified by:
equivalent
in classFolReasoner
- Parameters:
kb
- the knowledge basea
- the first formula.b
- the second formula.- Returns:
- the answer to the query.
-
isInstalled
public boolean isInstalled()Description copied from interface:QualitativeReasoner
Checks whether the underlying solver or reasoning mechanism used by this reasoner is installed and available for use. This can be helpful when the reasoner depends on external tools or libraries for performing the reasoning tasks.- Returns:
- `true` if the solver is installed and available, `false` otherwise.
-