First-Order Programming Theories
sowa <sowa@turing.pacss.binghamton.edu>
Date: Sun, 4 Jul 93 18:02:29 EDT
From: sowa <sowa@turing.pacss.binghamton.edu>
Message-id: <9307042202.AA04657@turing.pacss.binghamton.edu>
To: cg@cs.umn.edu, interlingua@ISI.EDU
Subject: First-Order Programming Theories
Cc: sowa@turing.pacss.binghamton.edu
Since KIF and CGs are adopting a basically first-order semantics,
the question has come up about how far that will carry us in the
various problems that have to be addressed, in particular the
representation of procedures.
I recently came across a book that addresses some of those issues:
_First-Order Programming Theories_ by T. Gergely & L. Ury,
Springer-Verlag, 1991. Price $42.75. ISBN 3-540-54277-9.
Following is a quote from the Preface:
Many different approaches with different mathematical frameworks
have been proposed as a basis for programming theory.... Most of
[them] are related to mathematical logic and they provide their own
logic. Those logics, however, are very eclectic since they use
special entities to reflect a special world of programs, and also,
they are usually incomparable with each other. This Babel's mess
irritated us and we decided to peel off the eclectic components
and try to answer all the questions by using classical first-order
logic.... This work reflects our journey from the eclectic programming
logics to the simple classical first-order logic, which furthermore
turned out to be more powerful than the non-classical ones.
The book contains 351+ix pages in 26 chapters divided in 5 major parts:
Mathematical Background
Many-sorted first-order logic and model theory
Part I Computability
Part II Extended Dynamic Logics
Part III Temporal Characterization of Programs
Part IV Programming Logic with Explicit Time
In Part IV, the authors develop their version of "time logic", which
is a many-sorted FOL with time as one of the sorts. They show that
time logic is more general than (i.e. a refinement of) the dynamic
logics and temporal logics that they discussed in Parts II and III.
They do that by embedding both dynamic logic and temporal logic in
time logic.
The book is not easy reading. It is notationally rather dense and
rather sparse in concrete examples and applications. However, the time
logic that it develops could be mapped into KIF and/or conceptual graphs
in a very direct way. Therefore, it is worth considering as a way of
handling procedures and programs in KIF and CGs.
John Sowa