Many-Valued Logic, Partiality, and Abstraction in Formal Specification Languages

The purpose of this article is to clarify the role that many-valued logic can or should play in formal specification of software systems for modeling partiality. We analyse a representative set of specification languages. Our findings suggest that many-valued logic is less useful for modeling those aspects of partiality, for which it is traditionally intended: modeling non-termination and error values. On the other hand, many-valued logic is emerging as a mainstream tool in abstraction of formal analyses of various kinds, and we suggest that specification languages feature many-valued abstraction logics. © 2005 Oxford University Press.

[1]  Melvin Fitting,et al.  Bilattices Are Nice Things , 2002 .

[2]  Reiner Hähnle,et al.  Regular Paper The KeY Tool ? Integrating Object Oriented Design and Formal Verification , 2022 .

[3]  Reiner Hähnle,et al.  Automated deduction in multiple-valued logics , 1993, International series of monographs on computer science.

[4]  William M. Farmer,et al.  A partial functions version of Church's simple theory of types , 1990, Journal of Symbolic Logic.

[5]  Reinhard Wilhelm,et al.  Parametric shape analysis via 3-valued logic , 1999, POPL '99.

[6]  Orna Grumberg,et al.  Abstract interpretation of reactive systems , 1997, TOPL.

[7]  John McCarthy,et al.  A basis for a mathematical theory of computation, preliminary report , 1899, IRE-AIEE-ACM '61 (Western).

[8]  Luisa Iturrioz Modal operators on symmetrical Heyting algebras , 1982 .

[9]  Stephen Cole Kleene,et al.  On notation for ordinal numbers , 1938, Journal of Symbolic Logic.

[10]  Viorica Sofronie-Stokkermans,et al.  Automated Theorem Proving by Resolution for Finitely-Valued Logics Based on Distributive Lattices with Operators , 2001 .

[11]  Giovanni Panti,et al.  Multi-Valued Logics , 1998 .

[12]  Merrie Bergmann,et al.  On a three-valued logical calculus and its application to the analysis of the paradoxes of the classical extended functional calculus , 1981 .

[13]  Michael Huth,et al.  Consistent Partial Model Checking , 2004, Workshop on Domains.

[14]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[15]  Cliff B. Jones,et al.  A logic covering undefinedness in program proofs , 1984, Acta Informatica.

[16]  Viorica Sofronie-Stokkermans Priestley Duality for SHn-algebras and Applications to the Study of Kripke-style Models for SHn-logics , 2000 .

[17]  Albert L. Baker,et al.  Preliminary design of JML: a behavioral interface specification language for java , 2006, SOEN.

[18]  Gary T. Leavens,et al.  Protective Interface Specifications , 1997, TAPSOFT.

[19]  Michael D. Ernst,et al.  An overview of JML tools and applications , 2003, Electron. Notes Theor. Comput. Sci..

[20]  Mark Richters,et al.  A precise approach to validating UML models and OCL constraints , 2002 .

[21]  Daniel Jackson,et al.  Micromodels of software: lightweight modelling and analysis with Alloy , 2002 .

[22]  Robert L. Constable,et al.  A programming logic: With an introduction to the PL/CV verifier , 1978 .

[23]  Rob Arthan Undefinedness in Z: Issues for Specification and Proof , 1996 .

[24]  Dag Westerstaåhl,et al.  Quantifiers in Formal and Natural Languages , 1989 .

[25]  Marsha Chechik,et al.  Model-Checking over Multi-valued Logics , 2001, FME.

[26]  Radha Jagadeesan,et al.  Model checking partial state spaces with 3-valued temporal logics , 2001 .

[27]  John Dawes,et al.  The VDM-SL Reference Guide , 1991 .

[28]  Dines Bjørner The Vienna development method (VDM): Software specification & program synthesis , 1978, Mathematical Studies of Information Processing.

[29]  Philippe Smets,et al.  Quantified Representation of Uncertainty and Imprecision , 1998 .

[30]  Fred B. Schneider,et al.  Avoiding the Undefined by Underspecification , 1995, Computer Science Today.

[31]  Yoonsik Cheon,et al.  A Runtime Assertion Checker for the Java Modeling Language (JML) , 2003, ICSE 2003.

[32]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[33]  R. Hahnle,et al.  Commodious axiomatization of quantifiers in multiple-valued logic , 1996, Proceedings of 26th IEEE International Symposium on Multiple-Valued Logic (ISMVL'96).

[34]  Stephan Merz,et al.  Model Checking , 2000 .

[35]  Cliff B. Jones,et al.  Partial Functions and Logics: A Warning , 1995, Inf. Process. Lett..

[36]  Anneke Kleppe,et al.  The Object Constraint Language: Getting Your Models Ready for MDA , 2003 .

[37]  U. Keller,et al.  Translating the Object Constraint Language into First-order Predicate Logic , 2001 .

[38]  Marsha Chechik,et al.  Implementing a Multi-valued Symbolic Model Checker , 2001, TACAS.

[39]  W. Penczek,et al.  Model checking for multi-valued computation tree logics , 2003 .

[40]  Anuj Dawar,et al.  Fixed point logics , 2002, Bull. Symb. Log..

[41]  Nuel D. Belnap,et al.  A Useful Four-Valued Logic , 1977 .

[42]  Patrice Godefroid,et al.  Model Checking with Multi-valued Logics , 2004, ICALP.

[43]  Anne Elisabeth Haxthausen,et al.  The Raise Specification Language , 1992 .

[44]  Stephen J. Garland,et al.  Larch: Languages and Tools for Formal Specification , 1993, Texts and Monographs in Computer Science.

[45]  Marsha Chechik,et al.  A framework for multi-valued reasoning over inconsistent viewpoints , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[46]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[47]  Bernhard Beckert,et al.  The KeY tool , 2005, Software & Systems Modeling.