newground.aggregate_strategies.rewriting_count_sum module

Rewriting Count/Sum module.

class newground.aggregate_strategies.rewriting_count_sum.RewritingCountSum

Bases: object

Rewriting count/sum class.

classmethod add_count_sum_aggregate_rules(aggregate_dict, variable_dependencies, aggregate_mode, cur_variable_dependencies, guard_domain, operator_type, string_capsulation, guard_string, rule_positive_body, domain)

Add count/sum aggregate rules.

classmethod equal_operator(aggregate_dict, aggregate_mode, str_type, str_id, variable_dependencies, cur_variable_dependencies, original_rule_additional_body_literals, always_add_variable_dependencies, guard_string, skolem_constants, count, predicate_name)

How to handle equality comparisons.

classmethod monotone_antimonotone_operators(aggregate_dict, aggregate_mode, str_type, str_id, variable_dependencies, operator_type, cur_variable_dependencies, original_rule_additional_body_literals, always_add_variable_dependencies, guard_string, skolem_constants, count, predicate_name)

General method for handling monotone & anti-monotone aggregates.

classmethod not_equal_operator(aggregate_dict, aggregate_mode, str_type, str_id, variable_dependencies, guard_value, cur_variable_dependencies, original_rule_additional_body_literals, always_add_variable_dependencies, guard_string, skolem_constants, count, predicate_name)

How to handle the “!=” operator.