Simon Cruanes
e94a7bd31c
refactor(preprocess): directly forward preprocess actions to solver
2022-09-08 22:05:40 -04:00
Simon Cruanes
c9138144f3
refactor(preprocess): break infinite recursion
2022-09-08 21:55:09 -04:00
Simon Cruanes
317f406620
wip: refactor(preprocess): recursive preprocess guided by theories
2022-09-07 19:35:09 -04:00
Simon Cruanes
f7daf7e45e
wip: add theory combination to Preprocess, based on claim hooks
...
theories must register hooks that specify what terms they claim for
their own, so that preprocess (which look at all terms and has the
global picture) can find where foreign terms are and give these to th
combination.
2022-09-03 14:45:09 -04:00
Simon Cruanes
16eb12fac2
wip: preprocess in its own file
2022-09-03 14:09:13 -04:00
Simon Cruanes
e74439cf2a
wip: new attempt at theory combination
2022-09-01 22:34:27 -04:00
Simon Cruanes
47a0b075f0
fix(model builder): allow multiple add
2022-09-01 22:33:59 -04:00
Simon Cruanes
d741b4160d
remove is_valid_literal concept
2022-09-01 22:33:40 -04:00
Simon Cruanes
8db63dbdc4
th-comb: remove claim-term, add claim-type
2022-09-01 22:31:50 -04:00
Simon Cruanes
4c90405391
refactor a bit
2022-08-27 23:09:29 -04:00
Simon Cruanes
5feb5d8e73
refactor: new API for combination, with theories claiming terms
...
interface variables are terms claimed by >= 2 theories. Theories now
have a unique ID attributed at their creation.
2022-08-27 22:51:16 -04:00
Simon Cruanes
ccb3753668
wip(smt): theory combination
2022-08-27 21:38:20 -04:00
Simon Cruanes
2a0feed32c
format
2022-08-27 20:48:32 -04:00
Simon Cruanes
e3aa43f817
cleanup
2022-08-27 20:39:06 -04:00
Simon Cruanes
90f100d9b1
helpers to build terms and solvers
2022-08-27 20:24:28 -04:00
Simon Cruanes
4d78be0c52
wip: model builder
2022-08-25 20:13:49 -04:00
Simon Cruanes
6ad07921c4
details
2022-08-22 22:12:27 -04:00
Simon Cruanes
dde63a9ef2
refactor: stats, small changes
2022-08-22 22:12:27 -04:00
Simon Cruanes
dff65c5d26
refactor: Term.abs takes store again, so abs false can be false,true
2022-08-22 22:12:26 -04:00
Simon Cruanes
e34f5a5c3c
cleanup
2022-08-21 13:53:48 -04:00
Simon Cruanes
007fbad243
fix some stats
2022-08-21 13:53:36 -04:00
Simon Cruanes
ca1abd8134
fix(smt): perform CC check after theory actions
2022-08-20 22:07:21 -04:00
Simon Cruanes
663f291bd5
port fix for bug introduced in 1946a5e7
2022-08-16 23:25:44 -04:00
Simon Cruanes
5b87ff3e46
feat(theory): add name accessor
2022-08-16 21:29:58 -04:00
Simon Cruanes
ba2e191882
detail
2022-08-14 14:15:45 -04:00
Simon Cruanes
517a5d2e5f
better tracing
2022-08-13 13:55:01 -04:00
Simon Cruanes
63802fe3d6
feat(stat): improve printing api
2022-08-13 13:45:31 -04:00
Simon Cruanes
fc5ce9bf87
wip: make it compile
2022-08-08 21:52:47 -04:00
Simon Cruanes
4dcc3ea4ad
small changes in smt
2022-08-07 22:41:13 -04:00
Simon Cruanes
1edf054104
refactor(proof): use a suspension but keep uniform Proof_term.data type
...
this makes proof terms uniformly printable or (de)serializable.
2022-07-31 15:01:11 -04:00
Simon Cruanes
36204c5e5e
refactor some more
2022-07-30 23:04:49 -04:00
Simon Cruanes
05faac97e7
refactor(smt): remove functor, split into modules
2022-07-30 21:18:46 -04:00
Simon Cruanes
b97582daa2
wip: refactor(smt): remove layers of functors, split into modules
2022-07-30 00:19:29 -04:00
Simon Cruanes
6e9e95c233
wip: functorize everything
2019-05-26 23:20:47 -05:00
Simon Cruanes
a35f5719b7
wip: functorize theories wrt some "env"
2019-04-02 21:30:28 -05:00
Simon Cruanes
632bec0e66
feat: embed micro theories in theories, fix th-distinct
2019-03-22 20:37:30 -05:00
Simon Cruanes
14992f07ec
fix: model evaluation must prioritize defined constants' semantics
2019-03-22 20:26:06 -05:00
Simon Cruanes
539186bfe6
feat: modular statistics aggregate
2019-03-22 20:14:28 -05:00
Simon Cruanes
fadf76d944
chore: migrate from sequence to iter
2019-03-22 19:43:05 -05:00
Simon Cruanes
d58759aa8c
fix: integrate negation into CC; map boolean subterms to literals
2019-03-22 19:41:05 -05:00
Simon Cruanes
431988d5e4
feat: more expressive theories, also plug distinct in
2019-03-09 16:15:24 -06:00
Simon Cruanes
f58bdb5f30
feat: first working version of th-distinct as a separate theory
2019-03-03 15:17:06 -06:00
Simon Cruanes
342dba4533
wip: new micro-theories in CC
2019-02-26 22:46:40 -06:00
Simon Cruanes
c79a5a4798
wip: micro theories
2019-02-22 20:57:17 -06:00
Simon Cruanes
de1cc952a5
refactor: use new msat lazy propagation
2019-02-16 19:09:43 -06:00
Simon Cruanes
3873718174
refactor: require state in Lit.atom, and in Term.abs
...
allows abs(false)=true
2019-02-16 17:43:49 -06:00
Simon Cruanes
ac030641db
refactor(ty): use Hashcons with weak table for types
2019-02-16 15:23:57 -06:00
Simon Cruanes
3b671aa7a4
refactor(term): use hashconsing with a weak table
2019-02-16 15:08:49 -06:00
Simon Cruanes
1ef0cf4183
refactor: small cleanup in terms
2019-02-16 14:58:13 -06:00
Simon Cruanes
1f68753121
refactor: remove proof printing code
2019-02-16 13:38:54 -06:00