Commit graph

32 commits

Author SHA1 Message Date
Simon Cruanes
27cbb981e7 more controled API for Res 2019-02-11 16:55:43 +01:00
Simon Cruanes
b2e646343a do not expose St in solver, but only expose a restricted API. 2019-02-11 16:55:43 +01:00
Simon Cruanes
ef7333af6d make state explicit and add type t state-wrapper in most modules 2019-02-11 16:55:43 +01:00
Simon Cruanes
eff3f8024f wip: use submodules of Solver_types to clean up code 2019-02-11 16:55:43 +01:00
Simon Cruanes
9bc85160b8 restrict what Msat core lib exposes, provide shortcuts 2019-02-11 16:55:43 +01:00
Simon Cruanes
ec7fa9e01a fix warnings 2019-02-11 16:55:43 +01:00
Simon Cruanes
768f59f88b big refactoring
- move to jbuilder
- use a functorial heap (with indices embedded in lit/var)
- update Vec with optims from mc2
- change semantics of Vec.shrink
- use new Log module
2019-02-11 16:55:43 +01:00
Simon Cruanes
48ec2d732c capitalization of files; add new Log 2019-02-11 16:55:43 +01:00
Guillaume Bury
bed469c0cf Clear unused hyps in coq proofs 2017-08-29 15:18:10 +02:00
Guillaume Bury
679d928b88 Auto re-indent 2017-08-25 19:11:58 +02:00
Guillaume Bury
631280af9a Remove use of Array.memq (absent from ocaml <4.03) 2017-08-25 19:08:52 +02:00
Guillaume Bury
8eee822ad6 Removed some unused code in coq backend 2017-08-22 14:55:21 +02:00
Guillaume Bury
887de5d0af Change coq backend requirements
Remove the automatic clausification encoding of the coq backend, which
was slow because of the 'tauto' tactic. It was particularly a problem
for long problems, since the tauto tactic would take longer each time
because of the new hypotheses. The buren is now on the hands of the
functor argument, which hopefully should be able to do it better.
2017-08-16 11:49:51 +02:00
Guillaume Bury
bd5fa2426b Use pose proof instead of assert in coq backend 2017-08-12 10:37:06 +02:00
Guillaume Bury
fa7da17cde Fix Coq backend
Uses a more complete tactic to go from or-separated clause to the
negation-implication encoding of clauses used by the coq backend.

Also uses a better suffix for temporary clauses than "_or".
2017-08-09 21:53:06 +02:00
Guillaume Bury
87f080ea47 Fix Coq backend
Fix the end of the coq proof, so as to not introduce the empty clause as
a subgoal, and instead directly prove False
2017-08-09 21:09:44 +02:00
Guillaume Bury
04eb1ec1c5 Fixes to the Coq backend
Formerly, clauses introduced by the theory were left as is, but it
should instead be 'clausified' i.e transformed into what msat expects
(which is an encoding of clauses).
2017-08-09 21:05:49 +02:00
Guillaume Bury
607ec3f043 Added Coq backend (not tested yet) 2017-08-09 09:45:18 +02:00
Guillaume Bury
daa30a2b4f Correctly print edges in dot backend
The bug was introduced when reversing the direction of edge arrow,
unfortunatley the "node <- node" syntax overlaps with the html label
syntax.
2017-07-24 17:04:12 +02:00
Guillaume Bury
0c99e6b2e7 [breaking] Better interface for the DOT backend 2017-07-20 13:55:55 +02:00
Guillaume Bury
5d4b87673d reverse arrow direction in DOT backend 2017-07-20 13:55:44 +02:00
Guillaume Bury
02aa16870c Give all label a html context in dot backend
Before, atoms printed in the dot backend could either be in a html
label, or in a simple label, which caused some problems for escaping
special characters such as newlines. This commit fixes that problem by
having all labels be html labels in the dot output.
2017-07-19 00:16:37 +02:00
Guillaume Bury
7f634da201 Rename a function to avoid (harmless) shadowing 2017-03-30 18:50:46 +02:00
Guillaume Bury
154cb373fc Add generativity of Dimacs functor
Since the dimacs functor has an internal state (relating to the output
in iCNF format), it is desirable to have a generative functor, inc as
esomeone wants to output select parts of a problem to two distinct iCNF
files).
2017-03-27 16:32:25 +02:00
Guillaume Bury
d0d47fe73f Moved Dimacs problem export in its own module 2017-03-27 15:37:41 +02:00
Guillaume Bury
9019de5a95 Add simple fonctor for dot backend 2017-02-18 15:16:53 +01:00
Guillaume Bury
a13906184c Fix warnings 2017-02-15 13:34:21 +01:00
Guillaume Bury
8076c06047 [bugfix] Eliminate duplicates in input clauses
When adding clauses that conatins duplicates, the checking
of some proof would fail because there would sometime be multiple
littrals to resolve over. This fixes that problem.
2017-02-15 13:04:54 +01:00
Guillaume Bury
fe2f92ca3c Some more doc in mlis 2016-12-01 18:05:34 +01:00
Guillaume Bury
f0056c7b79 Massive doc upgrade for .mli 2016-12-01 17:49:21 +01:00
Guillaume Bury
38b4fde5c1 Clause atoms are now in an array instead of a vec 2016-07-18 18:42:15 +02:00
Guillaume Bury
bbbc29948d Added src directory, moved some files around 2016-07-07 15:48:50 +02:00