-
- Type Parameters:
C
- The type of the formulas used for conclusionsP
- The type of the formulas used for the premiseT
- The type of the rules used in the program
- All Superinterfaces:
BeliefBase
- All Known Implementing Classes:
NLPProgram
,Program
public interface LogicProgram<C extends Formula,P extends Formula,T extends Rule<?,?>> extends BeliefBase
An interface for a logic program, which is a set of rules.- Author:
- Tim Janus, Matthias Thimm
-
-
Method Summary
Modifier and Type Method Description void
addFact(C fact)
Adds the given fact to the programvoid
addFacts(C... facts)
Adds the given facts to the programLogicProgram<?,?,?>
exchange(Term<?> v, Term<?> t)
Substitutes all occurrences of term "v" in this formula by term "t" and at the same time replaces all occurrences of term "t" by term "v" and eventually returns the new formula.Signature
getMinimalSignature()
Returns the signature of the language of this knowledge base.LogicProgram<?,?,?>
substitute(java.util.Map<? extends Term<?>,? extends Term<?>> map)
Substitutes all occurrences of all terms "v" in map.keyset() in this formula by map.get(v) and returns the new formula.LogicProgram<?,?,?>
substitute(Term<?> v, Term<?> t)
Substitutes all occurrences of term "v" in this formula by term "t" and returns the new formula.java.lang.String
toString()
-
-
-
Method Detail
-
addFact
void addFact(C fact)
Adds the given fact to the program- Parameters:
fact
- a fact
-
addFacts
void addFacts(C... facts)
Adds the given facts to the program- Parameters:
facts
-
-
getMinimalSignature
Signature getMinimalSignature()
Description copied from interface:BeliefBase
Returns the signature of the language of this knowledge base.- Specified by:
getMinimalSignature
in interfaceBeliefBase
- Returns:
- the signature of the language of this knowledge base.
-
substitute
LogicProgram<?,?,?> substitute(Term<?> v, Term<?> t) throws java.lang.IllegalArgumentException
Substitutes all occurrences of term "v" in this formula by term "t" and returns the new formula.- Parameters:
v
- the term to be substituted.t
- the term to substitute.- Returns:
- a formula where every occurrence of "v" is replaced by "t".
- Throws:
java.lang.IllegalArgumentException
- if "v" and "t" are of different sorts
-
substitute
LogicProgram<?,?,?> substitute(java.util.Map<? extends Term<?>,? extends Term<?>> map) throws java.lang.IllegalArgumentException
Substitutes all occurrences of all terms "v" in map.keyset() in this formula by map.get(v) and returns the new formula.- Parameters:
map
- a mapping defining which terms to be substituted.- Returns:
- a formula where every term in map.keyset() has been replaced by map.get(v).
- Throws:
java.lang.IllegalArgumentException
- if any term and its mapping are of different sorts
-
exchange
LogicProgram<?,?,?> exchange(Term<?> v, Term<?> t) throws java.lang.IllegalArgumentException
Substitutes all occurrences of term "v" in this formula by term "t" and at the same time replaces all occurrences of term "t" by term "v" and eventually returns the new formula.- Parameters:
v
- a term.t
- a term.- Returns:
- a new logical formula with both "v" and "t" exchanged.
- Throws:
java.lang.IllegalArgumentException
- if "v" and "t" are of different sorts
-
toString
java.lang.String toString()
- Specified by:
toString
in interfaceBeliefBase
- Overrides:
toString
in classjava.lang.Object
-
-