Not completing verification of simple incorrect program in the presence of inductive axiom #56
Replies: 4 comments
-
Hello Danya! Thanks for your interest and the bug report. Indeed, you raise a real issue. The whole area of reasoning with quantifiers is something we're currently working on and I hope will improve in the next couple of weeks. Let me try to sort the underlying issues. Root problem: Short-term fix: Our ideas for Caesar improvements:
Let me know if this is helpful to you. I'm also always happy to have a Zoom meeting to chat about Caesar usage (just send an email to [email protected]). |
Beta Was this translation helpful? Give feedback.
-
Hi Phillipp, Thanks so much for the detailed answer! All your suggestions are helpful. As you might imagine, I am most interested in the case in which the uninterpreted function plays a role in the program I am attempting to verify. I have not had a chance to dig into the Caesar code to see what exactly is generated as a Z3 query. However, I suppose I imagined that the declaration of an uninterpreted function f could be understood in the context of I appreciate your offer to have a Zoom. I am OK for now but I may be in touch in the future :) Best wishes, Danya |
Beta Was this translation helpful? Give feedback.
-
Hello Danya, I think there might be a small mistake there. If you have an uninterpreted function
where For the SMT solver, we ask for a counterexample to this formula. If there is no counterexample, we know the formula is a theorem.
Notice that this is just an existential query. In short:
The fact that a counterexample only requires giving one definition of Checking against all possible interpretations of All of this is done just like in other deductive verifiers such as Dafny/Boogie. Except for the quantitative I hope that helps! |
Beta Was this translation helpful? Give feedback.
-
Hi Philipp, thanks for the detailed reply! I inferred that what you described was the case; I just expected a different behaviour 😄 |
Beta Was this translation helpful? Give feedback.
-
Hi there,
I'm not sure if this is a bug or not. Perhaps someone with more knowledge about Caesar could let me know.
When I attempt to check a simple incorrect program such as
the verifier hangs if the program also includes an inductive axiom such as
I am using Caesar via the VSCode extension.
Here are the logs from checking the above program without the axioms:
Here are the logs from restarting the server and then checking with the above program with the axioms:
Beta Was this translation helpful? Give feedback.
All reactions