Initial refactoring of conflict-based instantiation (#7380)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Wed, 26 Jan 2022 19:07:56 +0000 (13:07 -0600)
committerGitHub <noreply@github.com>
Wed, 26 Jan 2022 19:07:56 +0000 (19:07 +0000)
commit8e42644dd87d217b98ec88207c2c7f30ef54261a
treec6effa19d0dd423683265231ce87165e93338364
parent51d731ec403becd8a46e02933112ff2fc6b310e9
Initial refactoring of conflict-based instantiation (#7380)

This done an initial pass at refactoring conflict-based instantiation (the code has been largely unchanged since it was written in early 2014). This code is a bottleneck on some Facebook benchmarks and needs revisiting.

This changes the style so the parent modules are made data members instead of passed to methods. Otherwise, it changes int -> size_t wherever applicable, although int is often used to denote possibly valid indices where -1 means invalid.

It updates to use range-based for loops and mostly organizes the order of data members in classes to meet style guidelines.

Followup PRs will make more significant refactoring, e.g. to split the classes into multiple utilities.
src/theory/quantifiers/quant_conflict_find.cpp
src/theory/quantifiers/quant_conflict_find.h