Class DefeasibleRule
java.lang.Object
org.tweetyproject.logics.commons.syntax.RelationalFormula
org.tweetyproject.arg.delp.syntax.DelpRule
org.tweetyproject.arg.delp.syntax.DefeasibleRule
- All Implemented Interfaces:
Formula
,Rule<FolFormula,
,FolFormula> ClassicalFormula
,ComplexLogicalFormula
,Conjunctable
,Disjunctable
,Invertable
,LogicStructure
,ProbabilityAware
,QuantifiedFormula
,SimpleLogicalFormula
This class models a defeasible rule in defeasible logic programming.
- Author:
- Matthias Thimm
-
Constructor Summary
ConstructorDescriptionDefeasibleRule
(FolFormula head, Set<FolFormula> body) Initializes the defeasible rule with the given parameters -
Method Summary
Modifier and TypeMethodDescriptionclone()
Creates a deep copy of this formulasubstitute
(Term<?> v, Term<?> t) Substitutes all occurrences of term "v" in this formula by term "t" and returns the new formula.returns the translation of this rule as a strict ruleMethods inherited from class org.tweetyproject.arg.delp.syntax.DelpRule
addPremise, addPremises, combineWithAnd, combineWithOr, complement, containsQuantifier, equals, getAtoms, getConclusion, getFunctors, getPredicates, getPremise, getQuantifierVariables, getSignature, getTerms, getTerms, getUnboundVariables, getUniformProbability, hashCode, isApplicable, isClosed, isClosed, isConstraint, isFact, isGround, isLiteral, isWellBound, isWellBound, setConclusion, toString
Methods inherited from class org.tweetyproject.logics.commons.syntax.RelationalFormula
allGroundInstances, allSubstitutions, containsTermsOfType, exchange, getFormula, getPredicateCls, getSatisfactionRatio, isWellFormed, substitute
-
Constructor Details
-
DefeasibleRule
Initializes the defeasible rule with the given parameters- Parameters:
head
- a literalbody
- a set of literals
-
-
Method Details
-
toStrictRule
returns the translation of this rule as a strict rule- Returns:
- the translation of this rule as a strict rule
-
substitute
Description copied from class:RelationalFormula
Substitutes all occurrences of term "v" in this formula by term "t" and returns the new formula. NOTE: if "v" is a variable and bound to a quantifier then "v" is not substituted in that quantifiers inner formula.- Specified by:
substitute
in interfaceComplexLogicalFormula
- Specified by:
substitute
in classDelpRule
- 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 (NOTE: this exception is only thrown when "v" actually appears in this formula).
-
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 classRelationalFormula
- Returns:
- the cloned formula
-