scispace - formally typeset
Open Access

Logics of Programs.

Dexter Kozen, +1 more
- pp 789-840
TLDR
In this paper, the authors present an introduction to some of the basic issues in the study of program logics and discuss their syntax, semantics, proof theory, and expressiveness.
Abstract
Publisher Summary This chapter presents an introduction to some of the basic issues in the study of program logics. The chapter describes various forms of first-order Dynamic Logic and discusses their syntax, semantics, proof theory, and expressiveness. The chapter discusses the power of auxiliary data structures such as arrays and stacks, and a powerful assignment statement called the nondeterministic assignment. Program logics differ from classical logics in that truth is dynamic rather than static. In classical predicate logic, the truth value of a formula is determined by a valuation of its free variables over some structure. The valuation and the truth value of the formula it induces are regarded as immutable. In program logics, there are explicit syntactic constructs called programs to change the values of variables, thereby changing the truth values of formulas. There are two main approaches to modal logics of programs: (1) the exogenous approach, exemplified by Dynamic Logic and its precursor, the Partial Correctness Assertions Method; and (2) the endogenous approach, exemplified by Temporal Logic and its precursor, the Inductive Assertions Method.

read more

Citations
More filters
Book ChapterDOI

An automata-theoretic approach to infinite-state systems

TL;DR: An automata-theoretic framework for reasoning about infinite-state sequential systems based on the observation that states of such systems can be viewed as nodes in an infinite tree, and transitions between states can be simulated by finite-state automata.
Journal ArticleDOI

Tableaux for constructive concurrent dynamic logic

TL;DR: This first paper on constructive concurrent dynamic logic (CCDL) gives a satisfactory treatment of what statements are forced to be true by partial information about the underlying computer, and develops a constructive logic programming tool for specification and modular verification of programs in any imperative concurrent language.
Book ChapterDOI

A state/event temporal deontic logic

TL;DR: This paper studies a logic that combines deontic and temporal aspects and defines a specific operator to express this notion of obligation with deadline and presents some logical properties.
Book ChapterDOI

Ten years of saturation: a petri net perspective

TL;DR: This survey considers how symbolic methods based on the use of decision diagrams can greatly increase the size of Petri nets that an ordinary computer can reasonably tackle, and introduces along the way the most appropriate classes of decision diagram to answer important Petri net questions.
Proceedings ArticleDOI

Description logics: foundations for class-based knowledge representation

TL;DR: An overview of the research carried out in the last years in description logics is presented, with the main goal of illustrating how these logics provide the foundations for class-based knowledge representation formalisms.
References
More filters
Proceedings ArticleDOI

The temporal logic of programs

Amir Pnueli
TL;DR: A unified approach to program verification is suggested, which applies to both sequential and parallel programs, and the main proof method is that of temporal reasoning in which the time dependence of events is the basic concept.
Book ChapterDOI

Temporal and modal logic

TL;DR: In this article, a multiaxis classification of temporal and modal logic is presented, and the formal syntax and semantics for two representative systems of propositional branching-time temporal logics are described.
Journal ArticleDOI

An axiomatic basis for computer programming

TL;DR: An attempt is made to explore the logical foundations of computer programming by use of techniques which were first applied in the study of geometry and have later been extended to other branches of mathematics.
Journal ArticleDOI

Propositional dynamic logic of regular programs

TL;DR: A formal syntax and semantics for the propositional dynamic logic of regular programs is defined and principal conclusions are that deciding satisfiability of length n formulas requires time d n /log n for some d > 1, and that satisfiability can be decided in nondeterministic time cn for some c.