Make cardinality constraint a nullary operator (#7333)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Thu, 21 Oct 2021 14:11:57 +0000 (09:11 -0500)
committerGitHub <noreply@github.com>
Thu, 21 Oct 2021 14:11:57 +0000 (14:11 +0000)
commiteeb78c833af50c49fd581704b03fd3c500360c3d
tree4e546205fb5d7495fd45c6fa5e76adc279abaecd
parent0291f941d4a2bae49a80c3db4afe626b55636fdf
Make cardinality constraint a nullary operator (#7333)

This makes cardinality constraints nullary operators. This eliminates hacks for supporting these previously.

It also removes an unimplemented kind CARDINALITY_VALUE.

Notice that the parser and printer now do not use a common syntax for cardinality constraints, this will be resolved on followup PRs.
18 files changed:
src/api/cpp/cvc5.cpp
src/api/cpp/cvc5.h
src/api/cpp/cvc5_kind.h
src/expr/cardinality_constraint.cpp
src/expr/cardinality_constraint.h
src/parser/smt2/smt2.cpp
src/printer/smt2/smt2_printer.cpp
src/theory/term_registration_visitor.cpp
src/theory/theory_model.cpp
src/theory/uf/cardinality_extension.cpp
src/theory/uf/cardinality_extension.h
src/theory/uf/kinds
src/theory/uf/symmetry_breaker.cpp
src/theory/uf/theory_uf.cpp
src/theory/uf/theory_uf_type_rules.cpp
src/theory/uf/theory_uf_type_rules.h
test/regress/regress1/fmf/issue5738-dt-interp-finite.smt2
test/unit/api/solver_black.cpp