DeepAI AI Chat
Log In Sign Up

Proving Program Properties as First-Order Satisfiability

by   Salvador Lucas, et al.

Program semantics can often be expressed as a (many-sorted) first-order theory S, and program properties as sentences φ which are intended to hold in the canonical model of such a theory, which is often incomputable. Recently, we have shown that properties φ expressed as the existential closure of a boolean combination of atoms can be disproved by just finding a model of S and the negation φ of φ. Furthermore, this idea works quite well in practice due to the existence of powerful tools for the automatic generation of models for (many-sorted) first-order theories. In this paper we extend our previous result to arbitrary properties, expressed as sentences without any special restriction. Consequently, one can prove a program property φ by just finding a model of an appropriate theory (including S and possibly something else) and an appropriate first-order formula related to φ. Beyond its possible theoretical interest, we show that our results can also be of practical use in several respects.


page 1

page 2

page 3

page 4


Combining Finite Combination Properties: Finite Models and Busy Beavers

This work is a part of an ongoing effort to understand the relationships...

Datalog-Expressibility for Monadic and Guarded Second-Order Logic

We characterise the sentences in Monadic Second-order Logic (MSO) that a...

First-Order Stable Model Semantics and First-Order Loop Formulas

Lin and Zhaos theorem on loop formulas states that in the propositional ...

On the Convexity of a Fragment of Pure Set Theory with Applications within a Nelson-Oppen Framework

The Satisfiability Modulo Theories (SMT) issue concerns the satisfiabili...

Politeness and Stable Infiniteness: Stronger Together

We make two contributions to the study of polite combination in satisfia...

A Semantic Approach to the Analysis of Rewriting-Based Systems

Properties expressed as the provability of a first-order sentence can be...