mirror of
https://github.com/Z3Prover/z3
synced 2026-08-03 04:33:28 +00:00
When a term column x - y is fixed to 0 (e.g. from t <= ca and t >= ca), theory_lra previously discovered the implied equality x = y only lazily via assume_eqs() during final_check. On the FP fuel-recursive axiom in issue #10065 this discovery is starved by E-matching, which unfolds the recursion and bit-blasts an exploding FP subproblem before the branch closes. Add propagate_offset_eq() to detect a fixed 2-variable offset term with opposite unit-scaled coefficients and propagate the operand equality x = y directly to the core, so congruence closure merges dependent terms immediately. This mirrors the offset-row propagation performed by theory_arith (propagate_cheap_eq) and matches its behavior on this benchmark (timeout -> unsat 0.06s, 2 quant-instantiations). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 726c4e71-03ff-45f6-8322-5253254e1d7e |
||
|---|---|---|
| .. | ||
| dd | ||
| grobner | ||
| hilbert | ||
| interval | ||
| lp | ||
| polynomial | ||
| realclosure | ||
| simplex | ||
| subpaving | ||