Salida de contraejemplo de Z3

When a formula in Z3 is unsat and (get-proof) is specified there is an output which I don't find any information about what it is. Where can I find any documentation about that?

Seems to me quite unreadable, is there possibly any tool that takes this as an input?

Saludos, Matt

preguntado el 02 de febrero de 12 a las 10:02

El comando (get-unsat-core) seems to be what you want. Official example: -

1 Respuestas

The "proofs" produced by Z3 are not for human consumption. An outdated version of the format is described in the paper: Proofs and Refutations, and Z3. El z3_api.h filete has a long description of each one of the proof rules. The proof rule identifiers start with Z3_OP_PR. I am aware of two applications that use the Z3 proof objects. The following papers contain a lot of examples, and describe how the proof objects can be used.

  1. Isabelle Interactive Theorem Prover: Z3 proofs are reconstructed inside of Isabelle using a trusted core. You can find several papers describing this work and the Z3 proof format at Sascha Bohme's homepage

  2. Generation of interpolants

    As pad said, unsat-cores are much simpler to use.

Respondido el 25 de Septiembre de 20 a las 22:09

Thank a lot for your links. I will take a look at both methods. So also thanks to @pad ! - MattKay

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.