Clingo
Loading...
Searching...
No Matches
rewrite_anonymous.hh
1#pragma once
2
3#include <clingo/input/program.hh>
4
5namespace CppClingo::Input {
6
9
11[[nodiscard]] auto rewrite_anonymous(Term const &term, NameGen &gen) -> std::optional<Term>;
12
14[[nodiscard]] auto rewrite_anonymous(TheoryTerm const &term, NameGen &gen) -> std::optional<TheoryTerm>;
15
17[[nodiscard]] auto rewrite_anonymous(Lit const &lit, NameGen &gen) -> std::optional<Lit>;
18
20[[nodiscard]] auto rewrite_anonymous(HdLit const &lit, NameGen &gen) -> std::optional<HdLit>;
21
23[[nodiscard]] auto rewrite_anonymous(BdLit const &lit, NameGen &gen) -> std::optional<BdLit>;
24
26[[nodiscard]] auto rewrite_anonymous(SymbolStore &store, Stm const &stm) -> std::optional<Stm>;
27
29
30} // namespace CppClingo::Input
Generator for auxiliary names.
Definition symbol.hh:585
A store for symbols.
Definition symbol.hh:454
std::variant< BdLitSimple, BdLitConjunction, BdLitAggregate, BdLitSetAggregate, BdLitTheoryAtom > BdLit
A body literal.
Definition body_literal.hh:116
std::variant< HdLitSimple, HdLitDisjunction, HdLitAggregate, HdLitSetAggregate, HdLitTheoryAtom > HdLit
A head literal.
Definition head_literal.hh:130
std::variant< LitBool, LitComparison, LitSymbolic > Lit
Variant holding the different literal types.
Definition literal.hh:129
auto rewrite_anonymous(Term const &term, NameGen &gen) -> std::optional< Term >
Give anonymous variables a unique name.
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
std::variant< TermVariable, TermSymbol, TermTuple, TermFunction, TermAbs, TermUnary, TermBinary > Term
Variant holding the different term types.
Definition term.hh:45
std::variant< TheoryTermSymbol, TheoryTermVariable, TheoryTermTuple, TheoryTermFunction, TheoryTermUnparsed > TheoryTerm
A variant for the different theory terms.
Definition theory.hh:22