A Practical Approach to Partial Functions in CVC Lite
Author(s) -
Sergey Berezin,
Clark Barrett,
Igor Shikanian,
Marsha Chećhik,
Arie Gurfinkel,
David L. Dill
Publication year - 2005
Publication title -
electronic notes in theoretical computer science
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.242
H-Index - 60
ISSN - 1571-0661
DOI - 10.1016/j.entcs.2004.06.064
Subject(s) - computer science , surprise , partial function , formalism (music) , programming language , classical logic , theoretical computer science , partial evaluation , semantics (computer science) , model checking , algorithm , mathematics , algebra over a field , discrete mathematics , pure mathematics , musical , art , visual arts , psychology , social psychology
Most verification approaches assume a mathematical formalism in which functions are total, even though partial functions occur naturally in many applications. Furthermore, although there have been various proposals for logics of partial functions, there is no consensus on which is “the right” logic to use for verification applications. In this paper, we propose using a three-valued Kleene logic, where partial functions return the “undefined” value when applied outside of their domains. The particular semantics are chosen according to the principle of least surprise to the user; if there is disagreement among the various approaches on what the value of the formula should be, its evaluation is undefined. We show that the problem of checking validity in the three-valued logic can be reduced to checking validity in a standard two-valued logic, and describe how this approach has been successfully implemented in our tool, CVC Lite
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom