symbolic
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
symbolic::DisjunctiveFormula Struct Reference

Public Types

using Conjunction = PartialState
 

Public Member Functions

 DisjunctiveFormula (std::vector< Conjunction > &&conjunctions)
 
 DisjunctiveFormula (std::initializer_list< Conjunction > l)
 
 DisjunctiveFormula (const Pddl &pddl, const Formula &formula, const std::vector< Object > &parameters, const std::vector< Object > &arguments)
 
 DisjunctiveFormula (const Pddl &pddl, const VAL::goal *symbol, const std::vector< Object > &parameters, const std::vector< Object > &arguments)
 
 DisjunctiveFormula (const Pddl &pddl, const VAL::effect_lists *symbol, const std::vector< Object > &parameters, const std::vector< Object > &arguments)
 
 DisjunctiveFormula (const Pddl &pddl, ConjunctiveFormula &&cnf)
 
bool empty () const
 

Static Public Member Functions

static std::optional< DisjunctiveFormulaCreate (const Pddl &pddl, const Formula &formula, const std::vector< Object > &parameters, const std::vector< Object > &arguments, bool apply_axioms=false)
 
static std::optional< DisjunctiveFormulaCreate (const Pddl &pddl, const VAL::goal *symbol, const std::vector< Object > &parameters, const std::vector< Object > &arguments, bool apply_axioms=false)
 
static std::optional< DisjunctiveFormulaCreate (const Pddl &pddl, const VAL::effect_lists *symbol, const std::vector< Object > &parameters, const std::vector< Object > &arguments, bool apply_axioms=false)
 
static std::optional< DisjunctiveFormulaCreate (const Pddl &pddl, ConjunctiveFormula &&cnf, bool apply_axioms=false)
 
static std::optional< std::pair< DisjunctiveFormula, DisjunctiveFormula > > NormalizeConditions (const Pddl &pddl, const std::string &action_call, bool apply_axioms=false)
 
static std::optional< DisjunctiveFormulaNormalizePreconditions (const Pddl &pddl, const std::string &action_call, bool apply_axioms=false)
 
static std::optional< DisjunctiveFormulaNormalizePostconditions (const Pddl &pddl, const std::string &action_call, bool apply_axioms=false)
 
static std::optional< DisjunctiveFormulaNormalizeGoal (const Pddl &pddl, bool apply_axioms=false)
 

Public Attributes

std::vector< Conjunctionconjunctions
 

Friends

bool operator== (const DisjunctiveFormula &lhs, const DisjunctiveFormula &rhs)
 
std::ostream & operator<< (std::ostream &os, const DisjunctiveFormula &dnf)
 

Member Function Documentation

◆ NormalizeConditions()

std::optional< std::pair< DisjunctiveFormula, DisjunctiveFormula > > symbolic::DisjunctiveFormula::NormalizeConditions ( const Pddl pddl,
const std::string &  action_call,
bool  apply_axioms = false 
)
static

Normalize the pre/post conditions of the given action.

If either of the conditions are invalid, this function will return an empty optional.

Parameters
pddlPddl object.
action_callAction call string.
apply_axiomsWhether to apply the axioms to the pre/post conditions.
Returns
Pair of normalized pre/post conditions.
See also
Python: symbolic.DisjunctiveFormula.normalize_conditions().

The documentation for this struct was generated from the following files: