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

A Temporal Logic of Nested Calls and Returns

TL;DR: This work introduces a temporal logic of calls and returns (CaRet) for specification and algorithmic verification of correctness requirements of structured programs and presents a tableau construction that reduces the model checking problem to the emptiness problem for a Buchi pushdown system.
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.
Book

Dynamic Logic

TL;DR: This book provides the first comprehensive introduction to Dynamic Logic, a system of remarkable unity that is theoretically rich as well as of practical value.
Book ChapterDOI

Automata on infinite objects

TL;DR: This chapter discusses the formulation of two interesting generalizations of Rabin's Tree Theorem and presents some remarks on the undecidable extensions of the monadic theory of the binary tree.
Book ChapterDOI

Languages, automata, and logic

TL;DR: The subject of this chapter is the study of formal languages (mostly languages recognizable by finite automata) in the framework of mathematical logic.
References
More filters
Journal ArticleDOI

Concurrent dynamic logic

TL;DR: Property of CDL are discussed, both on the propositional and first-order level, and the extension is shown to possess most of the desirable properties of DL.

Methods and Logics for Proving Programs.

TL;DR: The local verification conditions from induction principle are derived in an equivalent form using program steps and are of theoretical interest only since each local invariant is simpler than the global one.
Proceedings ArticleDOI

Nondeterministic space is closed under complementation

TL;DR: It is shown that nondeterministic space s(n) is closed under complementation for s( n) greater than or equal to log n and it immediately follows that the context-sensitive languages are closed under completion.
Proceedings ArticleDOI

Weak alternating automata give a simple explanation of why most temporal and dynamic logics are decidable in exponential time

TL;DR: The authors give a very simple uniform explanation of the persistence of exponential decidability and characterize the weak monadic theory of the tree; it turns out that weak alternating automata greatly simplify design procedures.
Journal ArticleDOI

Finiteness is Mu-ineffable

TL;DR: The "mu-calculus" is a formal system which arises fairly naturally when one tries to extend predicate logic to formalise arguments about programs.