Skip to content

Commit

Permalink
outline scheme
Browse files Browse the repository at this point in the history
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
  • Loading branch information
NikolajBjorner committed Dec 15, 2022
1 parent f01d9d2 commit ecf25a4
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions src/ast/simplifiers/solve_eqs.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,24 @@ Module Name:
Nikolaj Bjorner (nbjorner) 2022-11-2.
Notes:
extract_subst is inefficient.
It traverses the same sub-terms many times.
Outline of a presumably better scheme:
1. maintain map FV: term -> bit-set where bitset reprsents set of free variables. Assume the number of variables is bounded.
FV is built from initial terms.
2. maintain parent: term -> term-list of parent occurrences.
3. repeat
pick x = t, such that x not in FV(t)
orient x -> t
for p in parent*(x):
FV(p) := FV(p) u FV(t)
if y = s is processed and x in FV(s) order y < x
if y = s is processed and x in FV(t) order x < y
--*/


Expand Down

0 comments on commit ecf25a4

Please sign in to comment.