Skip to content

Not completing verification of simple incorrect program in the presence of inductive axiom #56

Answered by Philipp15b
danyalette asked this question in Q&A
Discussion options

You must be logged in to vote

Hello Danya,

I think there might be a small mistake there. If you have an uninterpreted function f, some axioms, and a proc p(x) -> (y) pre a post b { body }, then the corresponding verification query is something like the following. We want to check that this statement is true:

∀f. axioms ⇒ (∀x. (pre ≤ vp[p](post)))

where vp is the verification pre-expectation transformer from our paper (think weakest pre-condition).

For the SMT solver, we ask for a counterexample to this formula. If there is no counterexample, we know the formula is a theorem.
Thus, the SMT query that we send is of the following form:

∃f. axioms && (∃x. (pre && pre > vp[p](post)))

Notice that this is just an existenti…

Replies: 4 comments

Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies
Answer selected by Philipp15b
Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants