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>

public class SpassFolReasoner extends FolReasoner
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
  • Constructor Details

    • SpassFolReasoner

      public SpassFolReasoner(String binaryLocation, Shell bash)
      Constructs a new instance pointing to a specific SPASS Prover.
      Parameters:
      binaryLocation - of the SPASS executable on the hard drive
      bash - shell to run commands
    • SpassFolReasoner

      public SpassFolReasoner(String binaryLocation)
      Constructs a new instance pointing to a specific SPASS
      Parameters:
      binaryLocation - of the SPASS executable on the hard drive
  • Method Details

    • setCmdOptions

      public void setCmdOptions(String s)
      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

      public Boolean query(FolBeliefSet kb, FolFormula query)
      Description copied from interface: Reasoner
      Queries the given belief base for the given formula.
      Specified by:
      query in interface QualitativeReasoner<FolBeliefSet,FolFormula>
      Specified by:
      query in interface Reasoner<Boolean,FolBeliefSet,FolFormula>
      Specified by:
      query in class FolReasoner
      Parameters:
      kb - a belief base
      query - a formula
      Returns:
      the answer to the query
    • queryProof

      public String queryProof(FolBeliefSet kb, Formula query)
      Determines the answer wrt. to the given query and returns the proof (if applicable). May decrease SPASS's performance, use query(FolBeliefSet,FolFormula) if only a yes/no result is needed.
      Parameters:
      kb - the knowledge base
      query - a formula
      Returns:
      a string containing proof documentation
    • equivalent

      public boolean equivalent(FolBeliefSet kb, FolFormula a, FolFormula b)
      Description copied from class: FolReasoner
      This method determines whether two formulas are equivalent wrt. to the given knowledge base.
      Specified by:
      equivalent in class FolReasoner
      Parameters:
      kb - the knowledge base
      a - the first formula.
      b - the second formula.
      Returns:
      the answer to the query.
    • isInstalled

      public boolean isInstalled()
      Returns:
      if the solver is installed