public_reduct¶ Module to transform a program into its public reduct. ReplacePositiveOutputPredicates ¶ Bases: Transformer Replace all positive output predicates by their auxiliary version. __init__(outputs: set[Predicate], auxiliaries: Auxiliaries) -> None ¶ Store the output predicates and auxiliary suffix. visit_Literal(node: AST) -> AST ¶ Transform positive output literals. TransformRuleHeads ¶ Bases: Transformer Transform rule heads. empty heads: :- body. is turned into unsat :- body. literal heads: unchanged choice heads: { l' } :- body. with l output, is changed to l' :- body, l. __init__(outputs: set[Predicate], auxiliaries: Auxiliaries) -> None ¶ Store the output predicates and auxiliary names. visit_Rule(node: AST) -> AST ¶ Transform choices and constraints into basic rules.