Class DefeasibleInferenceRule<T extends Invertable>
java.lang.Object
org.tweetyproject.arg.aspic.syntax.InferenceRule<T>
org.tweetyproject.arg.aspic.syntax.DefeasibleInferenceRule<T>
- Type Parameters:
T
- is the type of the language that the ASPIC theory's rules range over
- All Implemented Interfaces:
Formula
,Rule<T,
,T> ComplexLogicalFormula
,LogicStructure
,SimpleLogicalFormula
Defeasible implementation of
InferenceRule<T>
- Author:
- Nils Geilen
-
Constructor Summary
ConstructorDescriptionConstructs an empty instanceDefeasibleInferenceRule
(T conclusion, Collection<T> premise) Constructs a defeasible inference rule p => c -
Method Summary
Modifier and TypeMethodDescriptionclone()
Creates a deep copy of this formulaboolean
substitute
(Term<?> v, Term<?> t) Substitutes all occurrences of term "v" in this formula by term "t" and returns the new formula.Methods inherited from class org.tweetyproject.arg.aspic.syntax.InferenceRule
addPremise, addPremises, allGroundInstances, allSubstitutions, containsTermsOfType, equals, exchange, getAtoms, getConclusion, getIdentifier, getName, getPredicateCls, getPredicates, getPremise, getSignature, getTerms, getTerms, getUnboundVariables, hashCode, isConstraint, isFact, isGround, isLiteral, isWellFormed, setConclusion, setName, substitute, toDefeasible, toStrict, toString
-
Constructor Details
-
DefeasibleInferenceRule
public DefeasibleInferenceRule()Constructs an empty instance -
DefeasibleInferenceRule
Constructs a defeasible inference rule p => c- Parameters:
conclusion
- ^= ppremise
- ^= c
-
-
Method Details
-
isDefeasible
public boolean isDefeasible()- Specified by:
isDefeasible
in classInferenceRule<T extends Invertable>
- Returns:
- true iff this rule is defeasible
-
clone
Description copied from interface:SimpleLogicalFormula
Creates a deep copy of this formula- Specified by:
clone
in interfaceComplexLogicalFormula
- Specified by:
clone
in interfaceSimpleLogicalFormula
- Specified by:
clone
in classInferenceRule<T extends Invertable>
- Returns:
- the cloned formula
-
substitute
Description copied from interface:ComplexLogicalFormula
Substitutes all occurrences of term "v" in this formula by term "t" and returns the new formula.- Specified by:
substitute
in interfaceComplexLogicalFormula
- Specified by:
substitute
in classInferenceRule<T extends Invertable>
- 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:
IllegalArgumentException
- if "v" and "t" are of different sorts
-