From: Drup <drupyog+caml@zoho.com>
To: Kenneth Adam Miller <kennethadammiller@gmail.com>, caml-list@inria.fr
Subject: Re: [Caml-list] Mathematical Expression Library
Date: Fri, 03 Apr 2015 00:18:37 +0200 [thread overview]
Message-ID: <551DC03D.7050905@zoho.com> (raw)
In-Reply-To: <CAK7rcp_CT-meuKnqmgeNE-Gj6t4iR+_N829TZibHm7DbX6sh_A@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1525 bytes --]
> Can you also explain in more depth your justification of Z3 doing
> expression simplification on my behalf for anything submitted? That
> was also my guess, but I didn't have that substantiated before my
> colleagues, so I wanted to be thorough.
Knowledge of Z3, I guess ? It calls the simplification function (which
is exposed as Z3.Expr.simplify in the ml-ng bindings) before solving.
It's a bit more complicated when in the so-called "interactive" mode but
still doing it. Note that the function is still useful when printing the
formula for debugging purposes.
>
> Shape?? I don't know what you mean.
>
I mean that, for a solver like Z3, two encodings of the same problem can
result in different results (between UNSAT and UNKNOWN, in particular)
and can result, and that's more sneaky, in completely different
performance profiles. Solvers (and Z3 in particular) uses heuristics to
know which branches to solve first so it's rather guess-y.
You mostly notice that when trying them though, it's rather pointless to
try to guess in advance, since it's very implementation-sensible.
>
> In any case, my plan was to use OCamlgraph and some hash-consing
> to construct correspondingly equivalent semantics, then reason
> about it in a distributed fashion.
>
If you are looking to encode an SSA control flow graph in Z3's SMT, I
have the code to do that. I could extract it and get it into shape. It's
based on llvm's IR, but It should be fairly reusable. Tell me if you are
interested.
[-- Attachment #2: Type: text/html, Size: 2945 bytes --]
next prev parent reply other threads:[~2015-04-02 22:18 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-02 17:16 Kenneth Adam Miller
2015-04-02 19:36 ` Ashish Agarwal
2015-04-02 19:47 ` Kenneth Adam Miller
2015-04-02 19:57 ` Ashish Agarwal
2015-04-02 20:05 ` Kenneth Adam Miller
2015-04-02 20:14 ` Ashish Agarwal
2015-04-02 20:19 ` Ivan Gotovchits
2015-04-02 20:21 ` Kenneth Adam Miller
2015-04-02 21:41 ` Drup
[not found] ` <CAK7rcp_yb_gb4uziNkDHMBZFSCt_om85JWZ8p_bi94eDpB1AgA@mail.gmail.com>
[not found] ` <CAK7rcp_CT-meuKnqmgeNE-Gj6t4iR+_N829TZibHm7DbX6sh_A@mail.gmail.com>
2015-04-02 22:18 ` Drup [this message]
2015-04-07 6:37 ` Markus Weißmann
2015-04-07 14:16 ` Kenneth Adam Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=551DC03D.7050905@zoho.com \
--to=drupyog+caml@zoho.com \
--cc=caml-list@inria.fr \
--cc=kennethadammiller@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox