java.lang.Object
org.tweetyproject.action.description.syntax.CLaw
org.tweetyproject.action.description.syntax.DynamicLaw
All Implemented Interfaces:
CausalLaw, Formula

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 Details

    • 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 formula
      ifFormula - some FOL formula
      afterFormula - some FOL formula
    • DynamicLaw

      public DynamicLaw(FolFormula headFormula, FolFormula ifFormula, FolFormula afterFormula, Set<GroundingRequirement> requirements)
      Creates a new dynamic law of the form: "caused headFormula if ifFormula after afterFormula requires requirements"
      Parameters:
      headFormula - some FOL formula
      ifFormula - some FOL formula
      afterFormula - some FOL formula
      requirements - 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 formula
      afterFormula - some FOL formula
    • DynamicLaw

      public DynamicLaw(FolFormula headFormula, FolFormula afterFormula, Set<GroundingRequirement> requirements)
      Creates a new dynamic law of the form "caused headFormula after afterFormula" requires requirements
      Parameters:
      headFormula - some FOL formula
      afterFormula - some FOL formula
      requirements - a set of requirements
  • Method Details

    • getAfterFormula

      public FolFormula getAfterFormula()
      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 class CLaw
      Returns:
      true, if this law is definite, false otherwise.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getSignature

      public Signature getSignature()
      Description copied from interface: Formula
      Returns the signature of the language of this formula.
      Specified by:
      getSignature in interface Formula
      Specified by:
      getSignature in class CLaw
      Returns:
      the signature of the language of this formula.
    • getAtoms

      public Set<FolAtom> getAtoms()
      Specified by:
      getAtoms in class CLaw
      Returns:
      the set of propositions in all formulas in this law.
    • toDefinite

      public 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 class CLaw
      Returns:
      the equivalent definite causal law if one exists.
    • getAllGrounded

      public Set<CLaw> getAllGrounded()
      Specified by:
      getAllGrounded in class CLaw
      Returns:
      the set of all grounded instances of this causal law.
    • getFormulas

      public 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 class CLaw
      Returns:
      the set of formulas contained in this causal law.