Skip to content

Preserve first-order constraints in the HOL unifier wrapper - #1030

Closed
shalashaska117 wants to merge 1 commit into
vprover:masterfrom
shalashaska117:fix-issue-938
Closed

shalashaska117 wants to merge 1 commit into
vprover:masterfrom
shalashaska117:fix-issue-938

Conversation

@shalashaska117

Copy link
Copy Markdown
Contributor

Equality resolution passes first-order abstraction constraints through HOL::AbstractingWrapper. Its higher-order search assumes applicative terms and can lose the arithmetic constraint in #938, producing a false refutation in Release and an assertion failure in Debug.

Run that search only for hol and func_ext abstraction modes. Other modes return a copy of the first-order unifier with its constraints intact. The regression checks that equality resolution retains the constraint for -(-x + -1) != x.

Closes #938.

Checks

  • Debug and Release builds; all 104 CTest suites and Release checks/sanity pass.
  • The new regression fails against the original unifier and passes with the fix. Its Valgrind run reports no access errors.
  • The original CLI input no longer produces a false refutation. Checked all three reported ALASCA modes, fixed-point iteration off/on, and SZS/SMT-COMP output in both builds. These runs remain inconclusive at the time limit.

Only run higher-order constraint search for hol and func_ext abstraction.
Other modes retain their first-order substitution and constraints, so
equality resolution cannot discard the arithmetic condition in vprover#938.

Add a regression for the satisfiable clause -(-x + -1) != x.

Closes vprover#938.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unsound unsat caused by uwa=alasca_* without -alasca on

1 participant