Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

HORN Clause Z3 Documentation

Tags:

z3

I am trying to encode some imperative program using HORN logic of Z3 (set-logic HORN) but getting some difficulties of defining clause (using SMT2). Could anyone tell me where can I find a good source of documentations for this feature of Z3?

like image 536
Trúc Nguyễn Lâm Avatar asked Oct 20 '22 14:10

Trúc Nguyễn Lâm


1 Answers

Well, there's more to it when it comes to "encoding" a program in horn clauses. First you need to check an appropriate proof rule: does the program has recursive functions, should you do function summarization? and so on.

There are a few papers on the subject, but I don't think there's any tutorial on VC gen. You may also want to take a look to some benchmarks in Horn SMT format to draw inspiration: https://svn.sosy-lab.org/software/sv-benchmarks/trunk/clauses/

Feel free to ask if you have a specific question.

like image 170
Nuno Lopes Avatar answered Nov 18 '22 08:11

Nuno Lopes