Nikolaj Bjorner
6df8b39718
Update seq_rewriter.cpp
2025-08-14 14:40:26 -07:00
Nikolaj Bjorner
237891c901
updates to euf completion
2025-08-13 10:24:46 -07:00
Nikolaj Bjorner
fcd3a70c92
remove theory_str and classes that are only used by it
2025-08-07 21:05:12 -07:00
Nikolaj Bjorner
d4a4dd6cc7
add arithemtic saturation
2025-08-06 21:11:54 -07:00
Nikolaj Bjorner
b9b3e0d337
Update euf_completion.cpp
...
try out restricting scope of equalities added by instantation
2025-08-03 14:17:00 -07:00
Nikolaj Bjorner
d8fafd8731
Update euf_ac_plugin.cpp
...
include reduction rules in forward simplification
2025-08-03 14:17:00 -07:00
Nikolaj Bjorner
f77123c13c
enable passive, add check for bloom up-to-date
2025-07-27 17:18:23 -07:00
Nikolaj Bjorner
67695b4cd6
updates to ac-plugin
...
fix incrementality bugs by allowing destructive updates during saturation at the cost of redoing saturation after a pop.
2025-07-27 13:38:37 -07:00
Nikolaj Bjorner
e3139d4e03
#7750
...
add pre-processing simplification
2025-07-27 13:38:36 -07:00
Nikolaj Bjorner
ad2934f8cf
fix unsound len(substr) axiom
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-07-26 15:38:25 -07:00
Nikolaj Bjorner
1f8b08108c
#7739 optimization
...
add simplification rule for at(x, offset) = ""
Introducing j just postpones some rewrites that prevent useful simplifications. Z3 already uses common sub-expressions.
The example highlights some opportunities for simplification, noteworthy at(..) = "".
The example is solved in both versions after adding this simplification.
2025-07-26 14:02:34 -07:00
Nikolaj Bjorner
8e1a528796
ensure atomic constraints are processed by arithmetic solver
2025-07-26 12:52:48 -07:00
Nikolaj Bjorner
0528c86905
fix #7745
...
axioms for len(substr(...)) escaped due to nested rewriting
2025-07-26 12:30:42 -07:00
Nikolaj Bjorner
95be0cf9ba
remove verbose output
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-07-25 20:22:52 -07:00
Nikolaj Bjorner
e54928679f
add option to selectively disable variable solving for only ground expressions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-07-25 19:15:20 -07:00
Nikolaj Bjorner
01633f7ce2
respect smt configuration parameter in elim_unconstrained simplifier
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-07-24 16:22:08 -07:00
Nikolaj Bjorner
a6c51df144
ensure solve_eqs is fully disabled when smt.solve_eqs=false, #7743
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-07-24 14:54:15 -07:00
Nikolaj Bjorner
a2f17420ff
moving to active/passive division
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-07-23 15:22:16 -07:00
Nikolaj Bjorner
fc51067207
compile warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-07-21 16:20:08 -07:00
Nikolaj Bjorner
1d1a01c6cc
update logging
2025-07-21 16:14:14 -07:00
Nikolaj Bjorner
dbcbc6c3ac
revamp ac plugin and plugin propagation
2025-07-21 07:35:06 -07:00
Nikolaj Bjorner
b983524afc
add diagnostics instrumentation to mam
2025-07-12 17:52:06 -07:00
Nikolaj Bjorner
383f4db14c
update pretty printer to show lambdas
2025-07-12 17:51:37 -07:00
Nikolaj Bjorner
47a2376172
bugfix to ac-plugin
...
use list for "shared" should be indices into an array of shared expressions, not the monomial index.
2025-07-12 17:51:19 -07:00
Nikolaj Bjorner
0995928f6e
wip - throttle AC completion, enable congruences over bound bodies
...
- AC completion which is exposed as an option to the new congruence closure core used roots of E-Graph which gets ordering of monomials out of sync.
- Added injective function handling to AC completion
- Move to model where all equations, also unit to unit are in completion
- throw in first level bound bodies into the E-graph to enable canonization on them.
2025-07-11 12:48:27 +02:00
Nikolaj Bjorner
35b1d09425
working on ho-matcher
2025-07-08 04:50:43 +02:00
Nikolaj Bjorner
195f3c9110
update build dependencies
2025-07-07 16:50:35 +02:00
Nikolaj Bjorner
0c5b0c3724
turn on ho-matcher for completion
2025-07-07 14:08:51 +02:00
Nikolaj Bjorner
1b3c3c2716
initial pattern abstraction and move matching to src
2025-07-06 00:53:46 -07:00
Nikolaj Bjorner
2d1a42d53f
fixes to ho-matcher
2025-07-05 16:24:45 -07:00
Nikolaj Bjorner
bb100a40d5
c is non-null
2025-07-02 10:57:54 -07:00
Copilot
75678fc2c2
Fix O(n²) performance issue in CLI datatype declaration processing ( #7712 )
...
* Initial plan
* Implement batch initialization fix for O(n²) datatype performance issue
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Fix the real O(n²) bottleneck with lazy hash table for constructor name lookups
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Optimize get_constructor_by_name: use func_decl* parameter, add linear search optimization for small datatypes, and ensure non-null postcondition
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2025-07-02 09:54:36 -07:00
Nikolaj Bjorner
8de80e666b
#7710
...
partial fix
2025-07-01 14:23:23 -07:00
Nikolaj Bjorner
a73e244db4
nits
2025-06-30 08:37:39 -07:00
Nikolaj Bjorner
98043873d0
add -> as another array sort constructor
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-06-22 21:35:23 -07:00
Nikolaj Bjorner
b2f01706be
euf_completion with AC: add first cut of AC matching for top-level, add plugins and fix shared expression rewriting in ac-plugin
2025-06-16 11:46:03 -07:00
Nikolaj Bjorner
bc312768c8
remove dependency on pattern inference
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-06-15 14:07:50 -07:00
Nikolaj Bjorner
cb22cdc98f
remove dependency on pattern inference
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-06-15 14:00:19 -07:00
Nikolaj Bjorner
20ddfc7795
sketch possible AC functionality
2025-06-15 13:49:19 -07:00
Nikolaj Bjorner
f932d480a0
use propagation queues and hash-tables to schedule bindings
2025-06-15 13:49:18 -07:00
Nikolaj Bjorner
93d5e3f28e
use mk_ite utility instead of custom local function
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-06-12 16:10:08 -07:00
Nikolaj Bjorner
a2ad90cba1
Update bit_blaster_tpl_def.h
2025-06-12 16:07:28 -07:00
Nikolaj Bjorner
a15e4ad1e3
#7673
...
perf fix
2025-06-12 15:16:28 -07:00
Nikolaj Bjorner
e018b024c5
adding proofs to euf-completion
2025-06-12 11:31:55 -07:00
Nikolaj Bjorner
423930dbad
missing files
2025-06-10 16:31:13 -07:00
Nikolaj Bjorner
b665c99d06
add missing dependencies
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-06-09 13:05:09 -07:00
Nikolaj Bjorner
c387b20ac6
move smt params to params directory, update release.yml
2025-06-09 10:47:22 -07:00
Nikolaj Bjorner
9d35a8c702
updates to euf-completion to
2025-06-07 15:39:31 -07:00
Nikolaj Bjorner
1cd162203d
make rule processing fully incremental
2025-06-06 20:45:54 +02:00
Nikolaj Bjorner
d33d6ebe83
handle build warnings
2025-06-06 15:13:31 +02:00