Class DynamicLaw
- java.lang.Object
-
- net.sf.tweety.action.description.syntax.CLaw
-
- net.sf.tweety.action.description.syntax.DynamicLaw
-
public class DynamicLaw extends CLaw
A dynamic law in C has the form caused F if G after U where F is a propositional formula over the set of fluent names (called headFormula) G is a propositional formula over the set of fluent names (called ifFormula) U is a propositional formula over the set of fluent names and the set of action names (called afterFormula)- Author:
- wutsch
-
-
Constructor Summary
Constructors Constructor Description DynamicLaw()
Constructs a new empty dynamic law.DynamicLaw(FolFormula headFormula, FolFormula afterFormula)
Creates a new dynamic law of the form caused headFormula after afterFormulaDynamicLaw(FolFormula headFormula, FolFormula afterFormula, java.util.Set<GroundingRequirement> requirements)
Creates a new dynamic law of the form caused headFormula after afterFormula requires requirementsDynamicLaw(FolFormula headFormula, FolFormula ifFormula, FolFormula afterFormula)
Creates a new dynamic law of the form: caused headFormula if ifFormula after afterFormulaDynamicLaw(FolFormula headFormula, FolFormula ifFormula, FolFormula afterFormula, java.util.Set<GroundingRequirement> requirements)
Creates a new dynamic law of the form: caused headFormula if ifFormula after afterFormula requires requirements
-
Method Summary
Modifier and Type Method Description FolFormula
getAfterFormula()
Returns the afterFormula of this causal law.java.util.Set<CLaw>
getAllGrounded()
Returns the set of all grounded instances of this causal law.java.util.Set<FolAtom>
getAtoms()
Returns the set of propositions in all formulas in this law.java.util.Set<FolFormula>
getFormulas()
Returns the set of formulas contained in this causal law, e.g.Signature
getSignature()
Returns the signature of the language of this formula.boolean
isDefinite()
Returns true iff this law is definite.java.util.Set<CLaw>
toDefinite()
Returns an equivalent definite causal law.java.lang.String
toString()
-
Methods inherited from class net.sf.tweety.action.description.syntax.CLaw
addGroundingRequirement, getHeadFormula, getIfFormula, isGround
-
-
-
-
Constructor Detail
-
DynamicLaw
public DynamicLaw()
Constructs a new empty dynamic law.
-
DynamicLaw
public DynamicLaw(FolFormula headFormula, FolFormula ifFormula, FolFormula afterFormula)
Creates a new dynamic law of the form: caused headFormula if ifFormula after afterFormula- Parameters:
headFormula
- some FOL formulaifFormula
- some FOL formulaafterFormula
- some FOL formula
-
DynamicLaw
public DynamicLaw(FolFormula headFormula, FolFormula ifFormula, FolFormula afterFormula, java.util.Set<GroundingRequirement> requirements)
Creates a new dynamic law of the form: caused headFormula if ifFormula after afterFormula requires requirements- Parameters:
headFormula
- some FOL formulaifFormula
- some FOL formulaafterFormula
- some FOL formularequirements
- a set of requirements
-
DynamicLaw
public DynamicLaw(FolFormula headFormula, FolFormula afterFormula)
Creates a new dynamic law of the form caused headFormula after afterFormula- Parameters:
headFormula
- some FOL formulaafterFormula
- some FOL formula
-
DynamicLaw
public DynamicLaw(FolFormula headFormula, FolFormula afterFormula, java.util.Set<GroundingRequirement> requirements)
Creates a new dynamic law of the form caused headFormula after afterFormula requires requirements- Parameters:
headFormula
- some FOL formulaafterFormula
- some FOL formularequirements
- a set of requirements
-
-
Method Detail
-
getAfterFormula
public FolFormula getAfterFormula()
Returns the afterFormula of this causal law.- Returns:
- the afterFormula of this causal law.
-
isDefinite
public boolean isDefinite()
Description copied from class:CLaw
Returns true iff this law is definite. A causal law is definite if it's head is a literal or a contradiction and all formulas are conjunctions of literals.- Specified by:
isDefinite
in classCLaw
- Returns:
- true, if this law is definite, false otherwise.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
getSignature
public Signature getSignature()
Description copied from interface:Formula
Returns the signature of the language of this formula.- Specified by:
getSignature
in interfaceFormula
- Specified by:
getSignature
in classCLaw
- Returns:
- the signature of the language of this formula.
-
getAtoms
public java.util.Set<FolAtom> getAtoms()
Description copied from class:CLaw
Returns the set of propositions in all formulas in this law.
-
toDefinite
public java.util.Set<CLaw> toDefinite()
Description copied from class:CLaw
Returns an equivalent definite causal law. A causal law is definite if it's head is a literal or a contradiction and all formulas are conjunctions of literals.- Specified by:
toDefinite
in classCLaw
- Returns:
- the equivalent definite causal law if one exists.
-
getAllGrounded
public java.util.Set<CLaw> getAllGrounded()
Description copied from class:CLaw
Returns the set of all grounded instances of this causal law.- Specified by:
getAllGrounded
in classCLaw
- Returns:
- the set of all grounded instances of this causal law.
-
getFormulas
public java.util.Set<FolFormula> getFormulas()
Description copied from class:CLaw
Returns the set of formulas contained in this causal law, e.g. in a static law, this contains the head formula and the if formula.- Specified by:
getFormulas
in classCLaw
- Returns:
- the set of formulas contained in this causal law.
-
-