First final draft of poster

This commit is contained in:
Guillaume Bury 2017-08-31 15:07:20 +02:00
parent e847c73cf9
commit c1d00c21ca
4 changed files with 30 additions and 30 deletions

Binary file not shown.

View file

@ -7,8 +7,10 @@
\usepackage{verbatim}
\usepackage{amsfonts, amsmath, amssymb, amsthm, dsfont}
\usepackage{listings}
\lstset{language=[Objective]Caml}
%\usepackage{listings}
%\lstset{language=[Objective]Caml}
\usepackage{minted}
\usepackage{bussproofs}
\newcommand\typ[2]{\Gamma\vdash#1:#2}
@ -77,19 +79,22 @@
\item Imperative design
\begin{itemize}[label=\checkmark]
\item 2-watch litteral
\item Generative functors
\item Backtrackable theories (less demanding than immutable theories)
\end{itemize}
\item Features
\begin{itemize}[label=\checkmark]
\item Functorized design
\item Generative functors
\item Local assumptions
\item Model output
\item Proof output (Coq, dot)
\item Model output and Proof output (Coq, dot)
\end{itemize}
\end{itemize}
}
\cblock{Solver interface}
{
\inputminted{ocaml}{solver_intf.ml}
}
\tblock{Other solvers}
{
\\
@ -119,6 +124,11 @@
\includegraphics[height=33cm]{proof}
}
\cblock{Theory interface}
{
\inputminted{ocaml}{theory_intf.ml}
}
\tblock{Proof generation}
{
\begin{itemize}[label=\checkmark]
@ -127,7 +137,7 @@
\item Minimal impact on proof search (already done to compute
unsat-core)
\item Sufficient to rebuild the whole resolution tree
\item A proof is a clause and proof nodes are lazily expanded \\
\item A proof is a clause and proof nodes are expanded on demand\\
$\rightarrow$ no memory issue
\item Enables various proof output:
\begin{itemize}[label=$\bullet$]
@ -143,23 +153,17 @@
solvers & aez & mSAT & \begin{tabular}{c}minisat\\(minisat/sattools)\end{tabular} & \begin{tabular}{c}cryptominisat\\(sattools)\end{tabular} \\ \hline
uuf100 (1000 pbs) & 0.125 & 0.012 & 0.004 & 0.006 \\ \hline
uuf125 (100 pbs) & 2.217 & 0.030 & 0.006 & 0.013 \\ \hline
uuf150 (100 pbs) & TODO & TODO & TODO & TODO \\ \hline
pigeon/hole6 & 0.120 & 0.018 & 0.006 & 0.006 \\ \hline
pigeon/hole7 & 4.257 & 0.213 & 0.015 & 0.073 \\ \hline
pigeon/hole8 & 31.450 & 0.941 & 0.096 & 2.488 \\ \hline
pigeon/hole9 & \begin{tabular}{c}timeout\\(600)\end{tabular} & 8.886 & 0.634 & 4.075 \\ \hline
pigeon/hole10 & \begin{tabular}{c}timeout\\(600)\end{tabular} & 161.478 & \begin{tabular}{c}9.579 (minisat)\\160.376 (sattools)\end{tabular} & 72.050 \\ \hline
\end{tabular}
\\
\begin{center}
Done using https://github.com/Gbury/sat-bench.
\end{center}
}
\end{multicols}
\Large \msat{} is available on \opam{} and on github: \texttt{https://github.com/Gbury/mSAT}
\end{center}
\end{document}

9
poster/solver_intf.ml Normal file
View file

@ -0,0 +1,9 @@
module Make(Th: Theory_intf)() : sig
type 'f sat_state = { eval : 'f -> bool; ... }
type ('c,'p) unsat_state =
{ conflict: unit -> 'c; proof : unit -> 'p }
type res = Sat of formula sat_state
| Unsat of (clause, proof) unsat_state
val assume : ?tag:int -> atom list list -> unit
val solve : ?assumptions:atom list -> unit -> res
end

View file

@ -1,20 +1,7 @@
type ('formula, 'proof) res =
| Sat | Unsat of 'formula list * 'proof
type ('form, 'proof) slice = {
start : int;
length : int;
get : int -> 'form;
push : 'form list -> 'proof -> unit;
}
type ('f, 'p) res = Sat | Unsat of 'f list * 'p
type 'f slice = { start:int; length:int; get:int -> 'f }
module type S = sig
val dummy : level
val backtrack : level -> unit
val current_level : unit -> level
val assume : (formula, proof) slice
-> (formula, proof) res
val if_sat : (formula, proof) slice
-> (formula, proof) res
val assume : formula slice -> (formula, proof) res
end