-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Eliminate nested call to rewriter for beta reduction, generalize `Pro…
…ofRule::BETA_REDUCE` (cvc5#11329) This PR does two things: (1) For handling beta reductions for lambdas that are not already rewritten, previously we would rewrite `(APPLY_UF (lambda x P) t)` ---> `(APPLY_UF r t)` where `r` was the result of a nested call to the rewriter for `(lambda x P)`. This is required since the rewriter does not rewrite inside of operators. However this made it impossible to reconstruct proofs in general. We now rewrite `(APPLY_UF (lambda x P) t)` ---> `(HO_APPLY (lambda x P) t)` for such cases. This allows the lambda to be rewritten naturally and this step is easy to justify. The caveat now is that `HO_APPLY` may be introduced for non-HO logics. We add a case to `ppRewrite` to convert any such fully applied `HO_APPLY` term back to `APPLY_UF`. The guarding cases in the UF solver are changed to accomodate this. (2) Generalizes `ProofRule::BETA_REDUCE` to handle (single argument) beta reduction for `HO_APPLY`.
- Loading branch information
Showing
17 changed files
with
115 additions
and
58 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 change: 1 addition & 0 deletions
1
test/regress/cli/regress0/bv/holes/smod-eliminate-fewer-bitwise-ops.smt2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
; DISABLE-TESTER: alethe | ||
; EXPECT: unsat | ||
(set-logic QF_BV) | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
; DISABLE-TESTER: alethe | ||
; COMMAND-LINE: --minimal-unsat-cores | ||
; EXPECT: unsat | ||
(set-logic ALL) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
; DISABLE-TESTER: alethe | ||
; EXPECT: unsat | ||
(set-logic ALL) | ||
(declare-const _vp1-1 (_ BitVec 1)) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
; DISABLE-TESTER: alethe | ||
; EXPECT: unsat | ||
(set-logic ALL) | ||
(define-fun b ((bv (_ BitVec 4))) (_ BitVec 4) bv) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
; DISABLE-TESTER: alethe | ||
; EXPECT: unsat | ||
(set-logic ALL) | ||
(declare-const x2 Bool) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
; DISABLE-TESTER: alethe | ||
; EXPECT: unsat | ||
(set-logic QF_LIA) | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
; DISABLE-TESTER: alethe | ||
; COMMAND-LINE: --solve-bv-as-int=sum | ||
; EXPECT: unsat | ||
(set-logic ALL) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
; DISABLE-TESTER: alethe | ||
; COMMAND-LINE: --lfsc-flatten --lfsc-expand-trust | ||
; EXPECT: unsat | ||
|
||
|
1 change: 1 addition & 0 deletions
1
test/regress/cli/regress1/quantifiers/example10714-core-no-miniscope-user.smt2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
; DISABLE-TESTER: alethe | ||
; EXPECT: unsat | ||
(set-logic ALL) | ||
(declare-sort integer 0) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
; DISABLE-TESTER: alethe | ||
(set-logic ALL) | ||
(set-info :status unsat) | ||
(set-option :miniscope-quant agg) | ||
|