Skip to Content.
Sympa Menu

k-user - Re: [[K-user] ] Calling SMT Solver from K specification

k-user AT lists.cs.illinois.edu

Subject: K-user mailing list

List archive

Re: [[K-user] ] Calling SMT Solver from K specification


Chronological Thread 
  • From: <daparpon AT dsic.upv.es>
  • To: k-user AT lists.cs.illinois.edu,yzhng173 AT illinois.edu
  • Subject: Re: [[K-user] ] Calling SMT Solver from K specification
  • Date: Wed, 12 Apr 2017 09:07:46 -0500

What I need to do is to compare two symbolic execution states, S1 and S2,
which respectively contain the path conditions PC1 and PC2. The comparison is
simply done by checking whether the implication PC1 => PC2 holds. For
instance, this is a valid implication, where each ?vi is a symbolic value

(?v1 < ?v3 ^ ?v3 < ?v2) => (?v1 <= ?v2)

Since path conditions are logical expressions involving symbolic data, the
implication cannot be solved by means of K's boolean operators but I need to
delegate this problem to a SAT/SMT Solver.

How can I send the constraint to the SAT solver and get the solver verdict in
return?

I am still using K 3.4 since I need to read the path-condition cell during
symbolic execution, while K 4.0 does not have this capability available yet.

Thanks a lot and sorry for the inconveniencies. Best regards,
Daniel
________________________________________
From:
yzhng173 AT illinois.edu

[yzhng173 AT illinois.edu]
Sent: Tuesday, April 11, 2017 9:16 AM
To:
k-user AT lists.cs.illinois.edu
Subject: RE: [[K-user] ] Calling SMT Solver from K specification

Hi Daniel,

The current Java backend is using Z3 in the symbolic execution engine
internally and it is not exposed to the user. Could you please tell us more
specifically about your use cases?

Best,

Yi
________________________________________
From:
daparpon AT dsic.upv.es

[daparpon AT dsic.upv.es]
Sent: Tuesday, April 11, 2017 4:01 AM
To:
k-user AT lists.cs.illinois.edu
Subject: [[K-user] ] Calling SMT Solver from K specification

Hi! I am implementing a part of my K language specification which needs to
check a boolean formula for satisfiability/validity. How can I do that in K?
Are there any built-in commands or terms that allow K rules to communicate
with an SMT Solver, for instance Z3? In that case, which are they (or where
can I find more information about them)?

Thanks in advance,
Daniel



Archive powered by MHonArc 2.6.19.

Top of Page