Arie Gurfinkel
e7815c703c
Fix a typo
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
68518b0e32
propagate weakness from pob down to all related checks
...
If a pob was discharged with a weak solver, propagate the level of
weakness to inductive generalization and to lemma propagation.
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
b8b3703511
improved implementation of is_qblocked()
...
Disabled by default. Has no effect if ran with the default set of
options where qlemmas=true and instantiate=true
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
371ba4fbc0
added parameters that seem to work well with quantifiers and arith
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
27d8fa4a34
hard-code quantifier weight to 15
...
With default settings, the eager threshold is 10 and lazy is 20. 15
puts us in the middle ensuring that lemmas are instantiated when UNSAT
and otherwise delayed.
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
135a4a765f
Adding grounding of the current lemma
...
In addition to adding the necessary instance of a quantified lemma,
add its grounding over the global set of skolems.
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
e8befc072c
cleaned up lemma instantiation code
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
6917aa3eb9
debug print
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
1d478bd8d3
using sk_lt_proc order instead of ast_lt_proc when creating a lemma
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
9f0eb367b1
ground lemmas during propagation when qlemmas are disabled
...
When asserting quantified lemmas are disabled, ground a lemma
explicitly during propagate to make sure that it is ground using our
local set of skolem constants.
2018-06-14 16:08:47 -07:00
Arie Gurfinkel
5da0753269
(spacer) add instances even when a q-lemma already exists
...
It is possible that a new instance of a quantified lemma is discovered
even though a quantified lemma it already known. In this case, the
instance should be added to a corresponding context, even though the
lemma is not new.
2018-06-14 16:08:47 -07:00
Nikolaj Bjorner
c513f3ca09
merge with master
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-25 14:57:01 -07:00
Bruce Mitchener
76eb7b9ede
Use nullptr.
2018-02-12 14:05:55 +07:00
Bruce Mitchener
177414c0ee
Use const refs to reduce copying.
...
These are things that have been found by `clang-tidy`.
2018-01-30 21:43:56 +07:00
Nikolaj Bjorner
2f218b0bdc
remove also cores as arguments to tactics
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-19 12:18:50 -08:00
Nikolaj Bjorner
4bbece6616
re-organize proof and model converters to be associated with goals instead of external
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-18 16:33:54 -08:00
Nikolaj Bjorner
df6b1a707e
remove proof_converter from tactic application, removing nlsat_tactic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-17 23:32:29 -08:00
Nikolaj Bjorner
d67f3c1466
create proofs folder, move proof-post-order utility to proofs directory, fix regression with proofs
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-24 03:08:56 -07:00
Nikolaj Bjorner
f63439603d
streamlining proof generation (initial step of removing ast-manager dependency). Detect error in model creation when declaring constant with non-zero arity. See #1223
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-23 21:16:46 -07:00
Arie Gurfinkel
88a35119b9
moved obj_equiv_class to ast
2017-08-01 19:24:50 -04:00
Nikolaj Bjorner
c506f3ddc9
fix build errors
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-31 18:39:35 -07:00
Arie Gurfinkel
ffff16632d
updating includes
2017-07-31 17:30:11 -04:00
Arie Gurfinkel
5b9bf74787
Spacer engine for HORN logic
...
The algorithms implemented in the engine are described in the following papers
Anvesh Komuravelli, Nikolaj Bjørner, Arie Gurfinkel, Kenneth L. McMillan:
Compositional Verification of Procedural Programs using Horn Clauses over Integers and Arrays. FMCAD 2015: 89-96
Nikolaj Bjørner, Arie Gurfinkel:
Property Directed Polyhedral Abstraction. VMCAI 2015: 263-281
Anvesh Komuravelli, Arie Gurfinkel, Sagar Chaki:
SMT-Based Model Checking for Recursive Programs. CAV 2014: 17-34
2017-07-31 17:02:29 -04:00