This automatically disables the `lfsc` tester for regressions where `proof` tester is disabled.
test is not valid for builds that include CryptoMiniSat support.
To disable a specific type of test, the `DISABLE-TESTER` directive can be used.
-The following example disables the proof tester for a regression:
+The following example disables the abduct tester for a regression:
```
-; DISABLE-TESTER: proof
+; DISABLE-TESTER: abduct
```
-Multiple testers can be disabled using multiple `DISABLE-TESTER` directives.
+Multiple testers can be disabled using multiple `DISABLE-TESTER` directives. In
+general, each `DISABLE-TESTER` directive disables only the specified tester. The
+only exception to this rule is the proof tester. Disabling the proof tester,
+which directs cvc5 to check generated proofs internally, also disables testers
+that check the printed versions of those proofs (e.g., the lfsc tester).
; EXPECT: unsat
; DISABLE-TESTER: unsat-core
; DISABLE-TESTER: proof
-; DISABLE-TESTER: lfsc
(set-logic ALL)
(declare-const v (_ BitVec 2))
(declare-const x7 Bool)
; EXPECT: unsat
; DISABLE-TESTER: unsat-core
; DISABLE-TESTER: proof
-; DISABLE-TESTER: lfsc
(set-logic ALL)
(declare-sort E 0)
(declare-fun s () (Seq E))
; EXPECT: unsat
; DISABLE-TESTER: unsat-core
; DISABLE-TESTER: proof
-; DISABLE-TESTER: lfsc
(set-logic LRA)
(set-info :status unsat)
(assert (not (exists ((?X Real)) (>= (/ (- 13) 4) ?X))))
-; DISABLE-TESTER: proof
; EXPECT: unsat
(set-logic QF_ALL)
(set-info :status unsat)
-; DISABLE-TESTER: proof
; EXPECT: unsat
(set-logic ALL)
(set-option :incremental false)
; EXPECT: unsat
; DISABLE-TESTER: unsat-core
; DISABLE-TESTER: proof
-; DISABLE-TESTER: lfsc
(set-logic QF_UFNRA)
(set-option :nl-ext-purify true)
(set-option :sygus-inference true)
-; DISABLE-TESTER: proof
; REQUIRES: poly
; COMMAND-LINE: --nl-ext-tplanes
; EXPECT: unsat
; EXPECT: unsat
; DISABLE-TESTER: unsat-core
; DISABLE-TESTER: proof
-; DISABLE-TESTER: lfsc
;
;!(a,b,c).( 0<=b & 1<=c & 0<=a & 1<=c
; DISABLE-TESTER: unsat-core
; DISABLE-TESTER: proof
-; DISABLE-TESTER: lfsc
(set-logic HO_ALL)
(set-option :miniscope-quant agg)
(set-option :conjecture-gen true)
-; DISABLE-TESTER: proof
; COMMAND-LINE: --incremental
; EXPECT: sat
; EXPECT: sat
; COMMAND-LINE: --sygus-inference -q
; DISABLE-TESTER: unsat-core
; DISABLE-TESTER: proof
-; DISABLE-TESTER: lfsc
(set-logic ALL)
(declare-fun v () Bool)
(assert false)
; COMMAND-LINE: --sygus-inference --strings-exp -q
; DISABLE-TESTER: unsat-core
; DISABLE-TESTER: proof
-; DISABLE-TESTER: lfsc
(set-logic ALL)
(declare-fun a () String)
(declare-fun b () String)
; COMMAND-LINE: --sygus-inference --fmf-bound
; DISABLE-TESTER: unsat-core
; DISABLE-TESTER: proof
-; DISABLE-TESTER: lfsc
(set-logic HO_ALL)
(declare-fun a () (_ BitVec 1))
(assert (bvsgt (bvsmod a a) #b0))
; COMMAND-LINE: --sygus-inference --sygus-qe-preproc -q
; DISABLE-TESTER: unsat-core
; DISABLE-TESTER: proof
-; DISABLE-TESTER: lfsc
(set-logic ALL)
(declare-fun a () Real)
(declare-fun b () Real)
; EXPECT: unsat
; DISABLE-TESTER: unsat-core
; DISABLE-TESTER: proof
-; DISABLE-TESTER: lfsc
(set-logic ALL)
(set-option :miniscope-quant conj-and-fv)
(set-option :sygus-inference true)
; EXPECT: unsat
; DISABLE-TESTER: unsat-core
; DISABLE-TESTER: proof
-; DISABLE-TESTER: lfsc
(set-logic ALL)
(declare-fun a () Int)
(declare-fun d () Int)
; EXPECT: unsat
; DISABLE-TESTER: unsat-core
; DISABLE-TESTER: proof
-; DISABLE-TESTER: lfsc
(set-logic ALL)
(set-option :sygus-inference true)
(set-info :status unsat)
; DISABLE-TESTER: unsat-core
; DISABLE-TESTER: proof
-; DISABLE-TESTER: lfsc
; timeout with unsat cores
(set-logic ALL)
(set-info :smt-lib-version 2.6)
-; DISABLE-TESTER: lfsc
; DISABLE-TESTER: proof
(set-option :incremental false)
(set-info :status unsat)
; DISABLE-TESTER: unsat-core
; DISABLE-TESTER: proof
-; DISABLE-TESTER: lfsc
(set-logic QF_UFNIA)
(set-info :status unsat)
(declare-fun p2 (Int) Int)
return EXIT_FAILURE
if disable_tester in testers:
testers.remove(disable_tester)
+ if disable_tester == "proof" and "lfsc" in testers:
+ testers.remove("lfsc")
expected_output = expected_output.strip()
expected_error = expected_error.strip()