const char* ctx,
bool reqGen)
{
- if (!options::proof())
+ if (!options::produceProofs())
{
// proofs not enabled, do not do check
return;
help = "Block models based on the concrete model values for the free variables."
[[option]]
- name = "proof"
+ name = "produceProofs"
category = "regular"
- long = "proof"
+ long = "produce-proofs"
type = "bool"
default = "false"
help = "produce proofs, support check-proofs and get-proof"
imap[assertions->size()] = newSkolems[j];
assertions->pushBackTrusted(newAsserts[j]);
// new assertions have a dependence on the node (old pf architecture)
- if (options::unsatCores() && !options::proof())
+ if (options::unsatCores() && !options::produceProofs())
{
ProofManager::currentPM()->addDependence(newAsserts[j].getProven(),
assertion);
for( int i=0; i<(int)assertions.size(); i++ ){
Trace("macros-debug") << " process assertion " << assertions[i] << std::endl;
if( processAssertion( assertions[i] ) ){
- if (options::unsatCores() && !options::proof()
+ if (options::unsatCores() && !options::produceProofs()
&& std::find(macro_assertions.begin(),
macro_assertions.end(),
assertions[i])
// is an over-approximation. a more fine-grained unsat core
// computation would require caching dependencies for each subterm of
// the formula, which is expensive.
- if (options::unsatCores() && !options::proof())
+ if (options::unsatCores() && !options::produceProofs())
{
ProofManager::currentPM()->addDependence(curr, assertions[i]);
for (unsigned j = 0; j < macro_assertions.size(); j++)
*/
bool assertionLevelOnly()
{
- return (options::proof() || options::unsatCores())
+ return (options::produceProofs() || options::unsatCores())
&& options::incrementalSolving();
}
}
d_minisat->addClause(minisat_clause, removable, clause_id);
// FIXME: to be deleted when we kill old proof code for unsat cores
- Assert(!options::unsatCores() || options::proof()
+ Assert(!options::unsatCores() || options::produceProofs()
|| clause_id != ClauseIdError);
return clause_id;
}
theory::TrustNode tte = d_theoryEngine->getExplanation(lNode);
Node theoryExplanation = tte.getNode();
- if (CVC4::options::proof())
+ if (CVC4::options::produceProofs())
{
d_propEngine->getProofCnfStream()->convertPropagation(tte);
}
if (options::checkProofs() || options::checkUnsatCoresNew())
{
Notice() << "SmtEngine: setting proof" << std::endl;
- options::proof.set(true);
+ options::produceProofs.set(true);
}
if (options::bitvectorAigSimplifications.wasSetByUser())
{
|| options::produceInterpols() != options::ProduceInterpols::NONE
|| options::modelCoresMode() != options::ModelCoresMode::NONE
|| options::blockModelsMode() != options::BlockModelsMode::NONE
- || options::proof())
+ || options::produceProofs())
&& !options::produceAssertions())
{
Notice() << "SmtEngine: turning on produce-assertions to support "
d_optm->finishInit(d_env->d_logic, d_isInternalSubsolver);
ProofNodeManager* pnm = nullptr;
- if (options::proof())
+ if (options::produceProofs())
{
// ensure bound variable uses canonical bound variables
getNodeManager()->getBoundVarManager()->enableKeepCacheValues();
// d_proofManager is always created when proofs are enabled at configure
// time. Because of this, this code should not be wrapped in PROOF() which
- // additionally checks flags such as options::proof().
+ // additionally checks flags such as options::produceProofs().
//
// Note: the proof manager must be destroyed before the theory engine.
// Because the destruction of the proofs depends on contexts owned be the
if (r.asSatisfiabilityResult().isSat() == Result::UNSAT)
{
if ((options::checkProofs() || options::proofEagerChecking())
- && !options::proof())
+ && !options::produceProofs())
{
throw ModalException(
"Cannot check-proofs because proofs were disabled.");
void SmtEngine::checkProof()
{
- Assert(options::proof());
+ Assert(options::produceProofs());
// internal check the proof
PropEngine* pe = getPropEngine();
Assert(pe != nullptr);
initializeSubsolver(coreChecker);
coreChecker->getOptions().set(options::checkUnsatCores, false);
// disable all proof options
- coreChecker->getOptions().set(options::proof, false);
+ coreChecker->getOptions().set(options::produceProofs, false);
coreChecker->getOptions().set(options::checkUnsatCoresNew, false);
-
// set up separation logic heap if necessary
TypeNode sepLocType, sepDataType;
if (getSepHeapTypes(sepLocType, sepDataType))
getPrinter().toStreamCmdGetProof(getOutputManager().getDumpOut());
}
#if IS_PROOFS_BUILD
- if (!options::proof())
+ if (!options::produceProofs())
{
throw ModalException("Cannot get a proof when proof option is off.");
}
{
SmtScope smts(this);
finishInit();
- if (options::proof() && getSmtMode() == SmtMode::UNSAT)
+ if (options::produceProofs() && getSmtMode() == SmtMode::UNSAT)
{
// minimize instantiations based on proof manager
getRelevantInstantiationTermVectors(insts);
#include "options/smt_options.h"
#define ARITH_PROOF(x) \
- if (CVC4::options::proof()) \
+ if (CVC4::options::produceProofs()) \
{ \
x; \
}
-#define ARITH_NULLPROOF(x) (CVC4::options::proof()) ? x : NULL
-#define ARITH_PROOF_ON() CVC4::options::proof()
+#define ARITH_NULLPROOF(x) (CVC4::options::produceProofs()) ? x : NULL
+#define ARITH_PROOF_ON() CVC4::options::produceProofs()
#endif // CVC4__THEORY__ARITH__PROOF_MACROS_H
; EXPECT: success
; EXPECT: success
; EXPECT: success
-; EXPECT: unsupported
+; EXPECT: success
; EXPECT: success
; EXPECT: success
; EXPECT: success
-; COMMAND-LINE: --incremental --no-proof
+; COMMAND-LINE: --incremental --no-produce-proofs
; EXPECT: sat
; EXPECT: sat
; EXPECT: sat
-; COMMAND-LINE: --incremental --no-proof
+; COMMAND-LINE: --incremental --no-produce-proofs
; EXPECT: sat
; EXPECT: sat
; EXPECT: unsat
-; COMMAND-LINE: --incremental --no-proof
+; COMMAND-LINE: --incremental --no-produce-proofs
; EXPECT: sat
; EXPECT: sat
; EXPECT: sat
-; COMMAND-LINE: --incremental --no-proof
+; COMMAND-LINE: --incremental --no-produce-proofs
; EXPECT: sat
; EXPECT: sat
; EXPECT: unsat
-; COMMAND-LINE: --incremental --no-proof
+; COMMAND-LINE: --incremental --no-produce-proofs
; EXPECT: sat
; EXPECT: sat
; EXPECT: sat
-; COMMAND-LINE: --no-check-unsat-cores --no-proof
+; COMMAND-LINE: --no-check-unsat-cores --no-produce-proofs
(set-logic AUFLIRA)
(set-info :source | Example extracted from Peter Baumgartner's talk at CADE-21: Logical Engineering with Instance-Based Methods.
-; COMMAND-LINE: --strings-exp --no-proof
+; COMMAND-LINE: --strings-exp --no-produce-proofs
; EXPECT: sat
(set-info :smt-lib-version 2.6)
(set-logic ALL)
-; COMMAND-LINE: --no-proof
+; COMMAND-LINE: --no-produce-proofs
(set-option :incremental false)
(set-info :status unsat)
(set-logic QF_UF)