13.07.2015 Views

MATHEMATICAL MODAL LOGIC: A VIEW OF ITS EVOLUTION

MATHEMATICAL MODAL LOGIC: A VIEW OF ITS EVOLUTION

MATHEMATICAL MODAL LOGIC: A VIEW OF ITS EVOLUTION

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Mathematical Modal Logic: A View of its Evolution 63guide to the literature.7.1 Dynamic Logic of ProgramsDynamic logic was invented by Vaughan Pratt, who described its origins in [1980a]as follows.In the spring of 1974 I was teaching a class on the semantics and axiomaticsof programming languages. At the suggestion of one of the students,R. Moore, I considered applying modal logic to a formal treatment of a constructdue to C. A. R. Hoare, “p{a}q”, which expresses the notion that if pholds before executing program a, then q holds afterwards. Although I wasskeptical at first, a weekend with Hughes and Cresswell convinced me thata most harmonious union between modal logic and programs was possible.The union promised to be of interest to computer scientists because of thepower and mathematical elegance of the treatment. It also seemed likely tointerest modal logicians because it made a well-motivated and potentiallyvery fruitful connection between modal logic and Tarski’s calculus of binaryrelations. 56Pratt’s idea was to assign a box-modality [π] to each program π, with the formula[π]α being read “after π, α”. Then Hoare’s construct 57 p{π}q can be defined asp → [π]q, but more complex assertions about program correctness and terminationcan be formalised by combining [π] with other connectives, including modalitiesfor other programs. The connective [π] is interpreted, not as an accessibilityrelation between possible worlds, but as a transition relation R π between “possibleexecution states”, with xR π y when there is an execution of π that starts in statex and terminates in state y. The dual modality 〈π〉α, definable as ¬[π]¬α, assertsthat there is an execution of π that terminates with α true. In particular, 〈π〉⊤asserts that there exists a terminating execution of program π.Pratt’s first paper [1976] describes a predicate language with modalities fora class of programs generated from basic assignments and tests by a number ofoperations, including alternation π ∪ π ′ and composition π; π ′ . The interpretingrelations for programs satisfy appropriate conditions, including R π∪π ′ = R π ∪R π ′ and R π;π ′ = R π ◦ R π ′. A complete axiomatisation was presented for thelanguage of these “loop-free” programs, and then the class of regular programswas defined by adding the iteration construct π ∗ , with interpretation R π ∗ =reflexive transitive closure of R π . The universal quantifier ∀x was identified witha modality [x ← RANDOM] corresponding to a random assignment to the variablex.The purely propositional fragment of this language was isolated by Michael Fischerand Richard Ladner [1977; 1979] who defined the system PDL of propositionaldynamic logic of regular programs. Its programs are generated from some set of56 The “weekend” reference is of course to the classic text of [Hughes and Cresswell, 1968].57 [Hoare, 1969].

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!