Package net.sf.tweety.arg.delp.syntax
Class StrictRule
- java.lang.Object
-
- net.sf.tweety.logics.commons.syntax.RelationalFormula
-
- net.sf.tweety.arg.delp.syntax.DelpRule
-
- net.sf.tweety.arg.delp.syntax.StrictRule
-
- All Implemented Interfaces:
Formula
,Rule<FolFormula,FolFormula>
,ClassicalFormula
,ComplexLogicalFormula
,Conjunctable
,Disjunctable
,Invertable
,LogicStructure
,ProbabilityAware
,QuantifiedFormula
,SimpleLogicalFormula
public class StrictRule extends DelpRule
This class models a strict rule in defeasible logic programming.- Author:
- Matthias Thimm
-
-
Constructor Summary
Constructors Constructor Description StrictRule(FolFormula head, java.util.Set<FolFormula> body)
Default constructor; initializes head and body of the strict rule
-
Method Summary
Modifier and Type Method Description RelationalFormula
clone()
Creates a deep copy of this formulaRelationalFormula
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 net.sf.tweety.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 net.sf.tweety.logics.commons.syntax.RelationalFormula
allGroundInstances, allSubstitutions, containsTermsOfType, exchange, getFormula, getPredicateCls, getSatisfactionRatio, isWellFormed, substitute
-
-
-
-
Constructor Detail
-
StrictRule
public StrictRule(FolFormula head, java.util.Set<FolFormula> body)
Default constructor; initializes head and body of the strict rule- Parameters:
head
- a literalbody
- a set of literals
-
-
Method Detail
-
substitute
public RelationalFormula substitute(Term<?> v, Term<?> t) throws java.lang.IllegalArgumentException
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:
java.lang.IllegalArgumentException
- if "v" and "t" are of different sorts (NOTE: this exception is only thrown when "v" actually appears in this formula).
-
clone
public RelationalFormula 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
-
-