1 /********************* */
4 ** Original author: Andrew Reynolds
5 ** Major contributors: Morgan Deters
6 ** Minor contributors (to current version): none
7 ** This file is part of the CVC4 project.
8 ** Copyright (c) 2009-2014 New York University and The University of Iowa
9 ** See the file COPYING in the top-level source directory for licensing
10 ** information.\endverbatim
12 ** \brief [[ Add one-line brief description here ]]
14 ** [[ Add lengthier description here ]]
15 ** \todo document this file
18 #include "cvc4_private.h"
20 #ifndef __CVC4__THEORY__QUANTIFIERS__MODES_H
21 #define __CVC4__THEORY__QUANTIFIERS__MODES_H
27 namespace quantifiers
{
30 /** Apply instantiation round before full effort (possibly at standard effort) */
32 /** Apply instantiation round at full effort or above */
34 /** Apply instantiation round at full effort, after all other theories finish, or above */
36 /** Apply instantiation round at full effort half the time, and last call always */
37 INST_WHEN_FULL_LAST_CALL
,
38 /** Apply instantiation round at last call only */
43 /** Do not consider polarity of patterns */
45 /** Consider polarity of boolean predicates only */
46 LITERAL_MATCH_PREDICATE
,
47 /** Consider polarity of boolean predicates, as well as equalities */
48 LITERAL_MATCH_EQUALITY
,
52 /** default, use all methods for axioms */
53 AXIOM_INST_MODE_DEFAULT
,
54 /** only use heuristic methods for axioms, return unknown in the case no instantiations are produced */
55 AXIOM_INST_MODE_TRUST
,
56 /** only use heuristic methods for axioms, resort to all methods when no instantiations are produced */
57 AXIOM_INST_MODE_PRIORITY
,
61 /** mbqi from CADE 24 paper */
65 /** implementation that mimics inst-gen */
67 /** default, mbqi from Section 5.4.2 of AJR thesis */
69 /** mbqi with integer intervals */
71 /** mbqi with interval abstraction of uninterpreted sorts */
73 /** abstract mbqi algorithm */
75 /** mbqi trust (produce no instantiations) */
80 /** default, apply at full effort */
81 QCF_WHEN_MODE_DEFAULT
,
82 /** apply at last call */
83 QCF_WHEN_MODE_LAST_CALL
,
84 /** apply at standard effort */
86 /** apply based on heuristics */
91 /** default, use qcf for conflicts only */
93 /** use qcf for conflicts and propagations */
95 /** use qcf for conflicts, propagations and heuristic instantiations */
97 /** use qcf for model checking */
102 /** default, use but do not trust */
103 USER_PAT_MODE_DEFAULT
,
104 /** if patterns are supplied for a quantifier, use only those */
106 /** ignore user patterns */
107 USER_PAT_MODE_IGNORE
,
110 }/* CVC4::theory::quantifiers namespace */
111 }/* CVC4::theory namespace */
113 std::ostream
& operator<<(std::ostream
& out
, theory::quantifiers::InstWhenMode mode
) CVC4_PUBLIC
;
115 }/* CVC4 namespace */
117 #endif /* __CVC4__THEORY__QUANTIFIERS__MODES_H */