Clingo
Loading...
Searching...
No Matches
unpool_relations.hh
1#pragma once
2
3#include <clingo/input/rewrite.hh>
4
5namespace CppClingo::Input {
6
9
11[[nodiscard]] auto negate(Lit const &lit) -> Lit;
12
14[[nodiscard]] auto unpool_relations(Lit const &lit, bool conjunctive) -> std::optional<LitArray>;
15
17[[nodiscard]] auto unpool_relations(RewriteContext &ctx, Stm const &stm) -> std::optional<StmVec>;
18
20
21} // namespace CppClingo::Input
Helper to pass arguments to rewrite functions.
Definition rewrite_context.hh:97
std::variant< LitBool, LitComparison, LitSymbolic > Lit
Variant holding the different literal types.
Definition literal.hh:129
auto unpool_relations(Lit const &lit, bool conjunctive) -> std::optional< LitArray >
Unpool non-binary relation literals.
std::variant< StmRule, StmTheory, StmOptimize, StmWeakConstraint, StmShow, StmShowNothing, StmShowSig, StmProject, StmProjectSig, StmDefined, StmExternal, StmEdge, StmHeuristic, StmScript, StmInclude, StmProgram, StmConst, StmParts, StmComment > Stm
Variant of available statements.
Definition statement.hh:828
@ negate
The unary negation sign (~).