Refactor interfaces for E-matching (#8665)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Fri, 29 Apr 2022 15:43:55 +0000 (10:43 -0500)
committerGitHub <noreply@github.com>
Fri, 29 Apr 2022 15:43:55 +0000 (15:43 +0000)
commit25be5c6148c0e0d9ab4666062c0666fb085eee8a
treed2e6b9a62db436b87c05ce2e4b17255f7df7021a
parent5bfb18e0b31584a50ea0386ce3d43855ee2061d4
Refactor interfaces for E-matching (#8665)

InstMatch objects are now fully owned by Triggers. They are passed by reference to InstMatchGenerators.

This also simplifies the interfaces by not passing the quantified formulas.

This is in preparation for making InstMatch objects carry entailment test information.
18 files changed:
src/theory/quantifiers/ematching/im_generator.cpp
src/theory/quantifiers/ematching/im_generator.h
src/theory/quantifiers/ematching/inst_match_generator.cpp
src/theory/quantifiers/ematching/inst_match_generator.h
src/theory/quantifiers/ematching/inst_match_generator_multi.cpp
src/theory/quantifiers/ematching/inst_match_generator_multi.h
src/theory/quantifiers/ematching/inst_match_generator_multi_linear.cpp
src/theory/quantifiers/ematching/inst_match_generator_multi_linear.h
src/theory/quantifiers/ematching/inst_match_generator_simple.cpp
src/theory/quantifiers/ematching/inst_match_generator_simple.h
src/theory/quantifiers/ematching/relational_match_generator.cpp
src/theory/quantifiers/ematching/relational_match_generator.h
src/theory/quantifiers/ematching/trigger.cpp
src/theory/quantifiers/ematching/trigger.h
src/theory/quantifiers/ematching/var_match_generator.cpp
src/theory/quantifiers/ematching/var_match_generator.h
src/theory/quantifiers/inst_match.cpp
src/theory/quantifiers/inst_match.h