Class Prolog
java.lang.Object
edu.tufts.hrilab.belief.provers.prolog.Prolog
- All Implemented Interfaces:
Prover
-
Nested Class Summary
Nested classes/interfaces inherited from interface edu.tufts.hrilab.belief.provers.Prover
Prover.Engine
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
assertBelief
(Term belief) Adds a single belief to the Belief State of the agent.void
assertBelief
(String belief) Assert belief to prover.void
assertRule
(Term head, List<Term> body) void
assertRule
(String rule) Add rule to prover.Get the theory representation in its source formatGet the theory representation as a string in target language format.void
initializeFromFiles
(List<String> filenames) initialize the knowledge base from a filequeryBelief
(Term query) Queries the Belief State about the term in the argument, and a set of bindings corresponding to all of the found answers.querySupport
(Term query) checks validity of a belief.querySupportWithExplanation
(Term query) checks validity of a belief, with an explanation from spy.void
retractBelief
(Term belief) Removes a single belief from the Belief State of the agent.void
retractBelief
(String belief) Retract belief from prover.void
retractRule
(Term head, List<Term> body) remove the specified rulevoid
retractRule
(String rule) Retract rule from prover.Convert DIARC FOL Term to appropriate prover syntax.boolean
Set the theory (aka beliefs aka assumptions).
-
Constructor Details
-
Prolog
public Prolog()
-
-
Method Details
-
querySupport
checks validity of a belief.- Specified by:
querySupport
in interfaceProver
- Parameters:
query
- The query / belief- Returns:
- whether the belief holds
-
querySupportWithExplanation
public org.apache.commons.lang3.tuple.Pair<Boolean,Map<Term, querySupportWithExplanationBoolean>> (Term query) checks validity of a belief, with an explanation from spy.- Specified by:
querySupportWithExplanation
in interfaceProver
- Parameters:
query
- The query / belief- Returns:
- whether the belief holds
-
queryBelief
Queries the Belief State about the term in the argument, and a set of bindings corresponding to all of the found answers.- Specified by:
queryBelief
in interfaceProver
- Parameters:
query
- : a query in Term format- Returns:
- an ArrayList of bindings: here represented as a HashMap from Variables to Symbols
-
assertBelief
Adds a single belief to the Belief State of the agent. Note: new beliefs are added such that they take priority in unification to old beliefs. queryBelief() will still return all asserted and inferred bindings.- Specified by:
assertBelief
in interfaceProver
-
assertBelief
Assert belief to prover.- Specified by:
assertBelief
in interfaceProver
-
retractBelief
Removes a single belief from the Belief State of the agent.- Specified by:
retractBelief
in interfaceProver
-
retractBelief
Retract belief from prover.- Specified by:
retractBelief
in interfaceProver
-
assertRule
- Specified by:
assertRule
in interfaceProver
-
assertRule
Add rule to prover.- Specified by:
assertRule
in interfaceProver
-
retractRule
remove the specified rule- Specified by:
retractRule
in interfaceProver
-
retractRule
Retract rule from prover.- Specified by:
retractRule
in interfaceProver
-
initializeFromFiles
initialize the knowledge base from a file- Specified by:
initializeFromFiles
in interfaceProver
- Throws:
IOException
-
getTheory
Get the theory representation as a string in target language format. Returned string depends on prover implementation. -
getInternalTheory
Get the theory representation in its source format- Specified by:
getInternalTheory
in interfaceProver
- Returns:
- internal theory representation
-
setTheory
Set the theory (aka beliefs aka assumptions). -
sanitize
Description copied from interface:Prover
Convert DIARC FOL Term to appropriate prover syntax. TODO: consolidate all code related to converting FOL to/from Prover and replace this method with two new methods (1) convertToProverForm and (2) convertToDiarcForm
-