HOME

TheInfoList



OR:

In
logic Logic is the study of correct reasoning. It includes both formal and informal logic. Formal logic is the science of deductively valid inferences or of logical truths. It is a formal science investigating how conclusions follow from prem ...
,
philosophy Philosophy (from , ) is the systematized study of general and fundamental questions, such as those about existence, reason, knowledge, values, mind, and language. Such questions are often posed as problems to be studied or resolved. ...
, and
theoretical computer science computer science (TCS) is a subset of general computer science and mathematics that focuses on mathematical aspects of computer science such as the theory of computation, lambda calculus, and type theory. It is difficult to circumscribe the ...
, dynamic logic is an extension of
modal logic Modal logic is a collection of formal systems developed to represent statements about necessity and possibility. It plays a major role in philosophy of language, epistemology, metaphysics, and natural language semantics. Modal logics extend ot ...
capable of encoding properties of
computer program A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. Computer programs are one component of software, which also includes software documentation, documentation and oth ...
s. A simple example of a statement in dynamic logic is :\text \to
text Text may refer to: Written word * Text (literary theory), any object that can be read, including: **Religious text, a writing that a religious tradition considers to be sacred **Text, a verse or passage from scripture used in expository preachin ...
\text, which states that if the ground is currently dry and it rains, then afterwards the ground will be wet. The syntax of dynamic logic contains a language of ''propositions'' (like "the ground is dry") and a language of ''actions'' (like "it rains"). The core modal constructs are , which states that after performing action ''a'' the proposition ''p'' should hold, and \langle a \rangle p, which states that after performing action ''a'' it is possible that ''p'' holds. The action language supports operations a\mathbinb (doing one action followed by another), a \cup b (doing one action or another), and iteration a (doing one action zero or more times). The proposition language supports Boolean operations (and, or, and not). The action logic is expressive enough to encode programs. For an arbitrary program P,
precondition In computer programming, a precondition is a condition or predicate that must always be true just prior to the execution of some section of code or before an operation in a formal specification. If a precondition is violated, the effect of the s ...
\varphi, and
postcondition In computer programming, a postcondition is a condition or predicate that must always be true just after the execution of some section of code or after an operation in a formal specification. Postconditions are sometimes tested using assertions wit ...
\varphi', the dynamic logic statement \varphi \to \varphi' encodes the correctness of the program, making dynamic logic more general than
Hoare logic Hoare logic (also known as Floyd–Hoare logic or Hoare rules) is a formal system with a set of logical rules for reasoning rigorously about the correctness of computer programs. It was proposed in 1969 by the British computer scientist and l ...
. Beyond its use in
formal verification In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal met ...
of programs, dynamic logic has been applied to describe complex behaviors arising in
linguistics Linguistics is the scientific study of human language. It is called a scientific study because it entails a comprehensive, systematic, objective, and precise analysis of all aspects of language, particularly its nature and structure. Ling ...
,
philosophy Philosophy (from , ) is the systematized study of general and fundamental questions, such as those about existence, reason, knowledge, values, mind, and language. Such questions are often posed as problems to be studied or resolved. ...
, AI, and other fields.


Language

Modal logic Modal logic is a collection of formal systems developed to represent statements about necessity and possibility. It plays a major role in philosophy of language, epistemology, metaphysics, and natural language semantics. Modal logics extend ot ...
is characterized by the
modal operator A modal connective (or modal operator) is a logical connective for modal logic. It is an operator which forms propositions from propositions. In general, a modal operator has the "formal" property of being non- truth-functional in the following se ...
s \Box p (box p) asserting that p\,\! is necessarily the case, and \Diamond p (diamond p) asserting that p\,\! is possibly the case. Dynamic logic extends this by associating to every action a\,\! the modal operators ,\! and \langle a \rangle\,\!, thereby making it a
multimodal logic A multimodal logic is a modal logic that has more than one primitive modal operator. They find substantial applications in theoretical computer science. Overview A modal logic with ''n'' primitive unary modal operators \Box_i, i\in \ is called an ' ...
. The meaning of \,\! is that after performing action a\,\! it is necessarily the case that p\,\! holds, that is, a\,\! must bring about p\,\!. The meaning of \langle a \rangle p\,\! is that after performing a\,\! it is possible that p\,\! holds, that is, a\,\! might bring about p\,\!. These operators dual to each other, which means they are related by \leftrightarrow \neg \langle a \rangle \neg p\,\! and \langle a \rangle p \leftrightarrow \neg \neg p\,\!, analogously to the relationship between the universal (\forall\,\!) and existential (\exists\,\!) quantifiers. Dynamic logic permits compound actions built up from smaller actions. While the basic control operators of any programming language could be used for this purpose,
Kleene Stephen Cole Kleene ( ; January 5, 1909 – January 25, 1994) was an American mathematician. One of the students of Alonzo Church, Kleene, along with Rózsa Péter, Alan Turing, Emil Post, and others, is best known as a founder of the branch of ...
's
regular expression A regular expression (shortened as regex or regexp; sometimes referred to as rational expression) is a sequence of characters that specifies a search pattern in text. Usually such patterns are used by string-searching algorithms for "find" ...
operators are a good match to modal logic. Given actions a\,\! and b\,\!, the compound action a \cup b\,\!, ''choice'', also written a+b\,\! or a, b\,\!, is performed by performing one of a\,\! or b\,\!. The compound action a\mathbinb\,\!, ''sequence'', is performed by performing first a\,\! and then b\,\!. The compound action a\,\!, ''iteration'', is performed by performing a\,\! zero or more times, sequentially. The constant action 0\,\! or BLOCK does nothing and does not terminate, whereas the constant action 1\,\! or SKIP or NOP, definable as 0\,\!, does nothing but does terminate.


Axioms

These operators can be axiomatized in dynamic logic as follows, taking as already given a suitable axiomatization of
modal logic Modal logic is a collection of formal systems developed to represent statements about necessity and possibility. It plays a major role in philosophy of language, epistemology, metaphysics, and natural language semantics. Modal logics extend ot ...
including such axioms for modal operators as the above-mentioned axiom \leftrightarrow \neg \langle a \rangle \neg p\,\! and the two inference rules ''
modus ponens In propositional logic, ''modus ponens'' (; MP), also known as ''modus ponendo ponens'' (Latin for "method of putting by placing") or implication elimination or affirming the antecedent, is a deductive argument form and rule of inference ...
'' (\vdash p and \vdash p \to q implies \vdash q\,) and ''necessitation'' (\vdash p implies \vdash \,). A1. \,\! A2. \leftrightarrow p\,\! A3. \cup b \leftrightarrow \land \,\! A4. \mathbinb \leftrightarrow \,\! A5. * \leftrightarrow p \land *\,\! A6. p \land *p \to ) \to *\,\! Axiom A1 makes the empty promise that when BLOCK terminates, p\,\! will hold, even if p\,\! is the proposition false. (Thus BLOCK abstracts the essence of the action of hell freezing over.)
A2 says that NOP acts as the identity function on propositions, that is, it transforms p\,\! into itself.
A3 says that if doing one of a\,\! or b\,\! must bring about p\,\!, then a\,\! must bring about p\,\! and likewise for b\,\!, and conversely.
A4 says that if doing a\,\! and then b\,\! must bring about p\,\!, then a\,\! must bring about a situation in which b\,\! must bring about p\,\!.
A5 is the evident result of applying A2, A3 and A4 to the equation a = 1 \cup a\mathbina\,\! of Kleene algebra.
A6 asserts that if p\,\! holds now, and no matter how often we perform a\,\! it remains the case that the truth of p\,\! after that performance entails its truth after one more performance of a\,\!, then p\,\! must remain true no matter how often we perform a\,\!. A6 is recognizable as
mathematical induction Mathematical induction is a method for proving that a statement ''P''(''n'') is true for every natural number ''n'', that is, that the infinitely many cases ''P''(0), ''P''(1), ''P''(2), ''P''(3), ...  all hold. Informal metaphors help ...
with the action n := n+1 of incrementing n generalized to arbitrary actions a\,\!.


Derivations

The modal logic axiom \leftrightarrow \neg\langle a \rangle \neg p\,\! permits the derivation of the following six theorems corresponding to the above: T1. \neg \langle 0 \rangle p\,\! T2. \langle 1 \rangle p \leftrightarrow p\,\! T3. \langle a \cup b \rangle p \leftrightarrow \langle a \rangle p \lor \langle b \rangle p\,\! T4. \langle a\mathbinb \rangle p \leftrightarrow \langle a \rangle \langle b \rangle p\,\! T5. \langle a* \rangle p \leftrightarrow p \lor \langle a \rangle \langle a* \rangle p\,\! T6. \langle a* \rangle p \to p \lor \langle a* \rangle (\neg p \land \langle a \rangle p)\,\! T1 asserts the impossibility of bringing anything about by performing BLOCK.
T2 notes again that NOP changes nothing, bearing in mind that NOP is both deterministic and terminating whence ,\! and \langle 1 \rangle\,\! have the same force.
T3 says that if the choice of a\,\! or b\,\! could bring about p\,\!, then either a\,\! or b\,\! alone could bring about p\,\!.
T4 is just like A4.
T5 is explained as for A5.
T6 asserts that if it is possible to bring about p\,\! by performing a\,\! sufficiently often, then either p\,\! is true now or it is possible to perform a\,\! repeatedly to bring about a situation where p\,\! is (still) false but one more performance of a\,\! could bring about p\,\!. Box and diamond are entirely symmetric with regard to which one takes as primitive. An alternative axiomatization would have been to take the theorems T1–T6 as axioms, from which we could then have derived A1–A6 as theorems. The difference between implication and inference is the same in dynamic logic as in any other logic: whereas the implication p \to q\,\! asserts that if p\,\! is true then so is q\,\!, the inference p \vdash q\,\! asserts that if p\,\! is valid then so is q\,\!. However the dynamic nature of dynamic logic moves this distinction out of the realm of abstract axiomatics into the common-sense experience of situations in flux. The inference rule p \vdash \,\!, for example, is sound because its premise asserts that p\,\! holds at all times, whence no matter where a\,\! might take us, p\,\! will be true there. The implication p \to \,\! is not valid, however, because the truth of p\,\! at the present moment is no guarantee of its truth after performing a\,\!. For example, p \to \,\! will be true in any situation where p\,\! is false, or in any situation where \,\! is true, but the assertion (x = 1) \to := x+1x = 1)\,\! is false in any situation where x\,\! has value 1, and therefore is not valid.


Derived rules of inference

As for modal logic, the inference rules ''modus ponens'' and ''necessitation'' suffice also for dynamic logic as the only primitive rules it needs, as noted above. However, as usual in logic, many more rules can be derived from these with the help of the axioms. An example instance of such a derived rule in dynamic logic is that if kicking a broken TV once can't possibly fix it, then repeatedly kicking it can't possibly fix it either. Writing k\,\! for the action of kicking the TV, and b\,\! for the proposition that the TV is broken, dynamic logic expresses this inference as b \to \vdash b \to *\,\!, having as premise b \to \,\! and as conclusion b \to *\,\!. The meaning of \,\! is that it is guaranteed that after kicking the TV, it is broken. Hence the premise b \to \,\! means that if the TV is broken, then after kicking it once it will still be broken. k\,\! denotes the action of kicking the TV zero or more times. Hence the conclusion b \to *\,\! means that if the TV is broken, then after kicking it zero or more times it will still be broken. For if not, then after the second-to-last kick the TV would be in a state where kicking it once more would fix it, which the premise claims can never happen under any circumstances. The inference b \to \vdash b \to *\,\! is sound. However the implication (b \to ) \to (b \to *)\,\! is not valid because we can easily find situations in which b \to \,\! holds but b \to *\,\! does not. In any such counterexample situation, b\,\! must hold but *\,\! must be false, while \,\! however must be true. But this could happen in any situation where the TV is broken but can be revived with two kicks. The implication fails (is not valid) because it only requires that b \to \,\! hold now, whereas the inference succeeds (is sound) because it requires that b \to \,\! hold in all situations, not just the present one. An example of a valid implication is the proposition (x \ge 3) \to := x+1x \ge 4)\,\!. This says that if x\,\! is greater or equal to 3, then after incrementing x\,\!, x\,\! must be greater or equal to 4. In the case of deterministic actions a\,\! that are guaranteed to terminate, such as x := x+1\,\!, ''must'' and ''might'' have the same force, that is, ,\! and \langle a \rangle\,\! have the same meaning. Hence the above proposition is equivalent to (x \ge 3) \to \langle x := x+1 \rangle (x \ge 4)\,\! asserting that if x\,\! is greater or equal to 3 then after performing x := x+1\,\!, x\,\! might be greater or equal to 4.


Assignment

The general form of an assignment statement is x := e\,\! where x\,\! is a variable and e\,\! is an expression built from constants and variables with whatever operations are provided by the language, such as addition and multiplication. The Hoare axiom for assignment is not given as a single axiom but rather as an axiom schema. A7. :=e\Phi(x) \leftrightarrow \Phi(e)\,\! This is a schema in the sense that \Phi(x)\,\! can be instantiated with any formula \Phi\,\! containing zero or more instances of a variable x\,\!. The meaning of \Phi(e)\,\! is \Phi\,\! with those occurrences of x\,\! that occur free in \Phi\,\!, i.e. not bound by some quantifier as in \forall x\,\!, replaced by e\,\!. For example, we may instantiate A7 with :=ex=y^2) \leftrightarrow e=y^2\,\!, or with :=eb=c+x) \leftrightarrow b=c+e\,\!. Such an axiom schema allows infinitely many axioms having a common form to be written as a finite expression connoting that form. The instance :=x+1x \ge 4) \leftrightarrow x+1 \ge 4\,\! of A7 allows us to calculate mechanically that the example :=x+1 \ge 4\,\! encountered a few paragraphs ago is equivalent to x+1 \ge 4\,\!, which in turn is equivalent to x \ge 3\,\! by
elementary algebra Elementary algebra encompasses the basic concepts of algebra. It is often contrasted with arithmetic: arithmetic deals with specified numbers, whilst algebra introduces variables (quantities without fixed values). This use of variables entail ...
. An example illustrating assignment in combination with *\,\! is the proposition \langle (x:=x+1)*\rangle x=7\,\!. This asserts that it is possible, by incrementing x\,\! sufficiently often, to make x\,\! equal to 7. This of course is not always true, e.g. if x\,\! is 8 to begin with, or 6.5, whence this proposition is not a theorem of dynamic logic. If x\,\! is of type integer however, then this proposition is true if and only if x\,\! is at most 7 to begin with, that is, it is just a roundabout way of saying x \le 7\,\!.
Mathematical induction Mathematical induction is a method for proving that a statement ''P''(''n'') is true for every natural number ''n'', that is, that the infinitely many cases ''P''(0), ''P''(1), ''P''(2), ''P''(3), ...  all hold. Informal metaphors help ...
can be obtained as the instance of A6 in which the proposition p\,\! is instantiated as \Phi(n)\,\!, the action a\,\! as n:=n+1\,\!, and n\,\! as 0\,\!. The first two of these three instantiations are straightforward, converting A6 to (\Phi(n) \land n:=n+1)*\Phi(n) \to :=n+1\Phi(n))) \to n:=n+1)*\Phi(n)\,\!. However, the ostensibly simple substitution of 0\,\! for n\,\! is not so simple as it brings out the so-called ''referential opacity'' of modal logic in the case when a modality can interfere with a substitution. When we substituted \Phi(n)\,\! for p\,\!, we were thinking of the proposition symbol p\,\! as a
rigid designator In modal logic and the philosophy of language, a term is said to be a rigid designator or absolute substantial term when it designates (picks out, denotes, refers to) the same thing in ''all possible worlds'' in which that thing exists. A designat ...
with respect to the modality :=n+1,\!, meaning that it is the same proposition after incrementing n\,\! as before, even though incrementing n\,\! may impact its truth. Likewise, the action a\,\! is still the same action after incrementing n\,\!, even though incrementing n\,\! will result in its executing in a different environment. However, n\,\! itself is not a rigid designator with respect to the modality :=n+1,\!; if it denotes 3 before incrementing n\,\!, it denotes 4 after. So we can't just substitute 0\,\! for n\,\! everywhere in A6. One way of dealing with the opacity of modalities is to eliminate them. To this end, expand n:=n+1)*\Phi(n)\,\! as the infinite conjunction n:=n+1)^0\Phi(n) \land n:=n+1)^1\Phi(n) \land n:=n+1)^2\Phi(n) \land \ldots\,\!, that is, the conjunction over all i\,\! of n:=n+1)^i\Phi(n)\,\!. Now apply A4 to turn n:=n+1)^i\Phi(n)\,\! into :=n+1:=n+1ldots \Phi(n)\,\!, having i\,\! modalities. Then apply Hoare's axiom i\,\! times to this to produce \Phi(n+i)\,\!, then simplify this infinite conjunction to \forall i \Phi(n+i)\,\!. This whole reduction should be applied to both instances of n:=n+1)*,\! in A6, yielding (\Phi(n) \land \forall i (\Phi(n+i) \to :=n+1\Phi(n+i))) \to \forall i \Phi(n+i)\,\!. The remaining modality can now be eliminated with one more use of Hoare's axiom to give (\Phi(n) \land \forall i (\Phi(n+i) \to \Phi(n+i+1))) \to \forall i \Phi (n+i)\,\!. With the opaque modalities now out of the way, we can safely substitute 0\,\! for n\,\! in the usual manner of
first-order logic First-order logic—also known as predicate logic, quantificational logic, and first-order predicate calculus—is a collection of formal systems used in mathematics, philosophy, linguistics, and computer science. First-order logic uses quantifie ...
to obtain
Peano Giuseppe Peano (; ; 27 August 1858 – 20 April 1932) was an Italian mathematician and glottologist. The author of over 200 books and papers, he was a founder of mathematical logic and set theory, to which he contributed much notation. The sta ...
's celebrated axiom (\Phi(0) \land \forall i (\Phi(i) \to \Phi(i+1))) \to \forall i \Phi(i)\,\!, namely mathematical induction. One subtlety we glossed over here is that \forall i\,\! should be understood as ranging over the natural numbers, where i\,\! is the superscript in the expansion of a\,\! as the union of a^i\,\! over all natural numbers i\,\!. The importance of keeping this typing information straight becomes apparent if n\,\! had been of type ''integer'', or even ''real'', for any of which A6 is perfectly valid as an axiom. As a case in point, if n\,\! is a real variable and \Phi(n)\,\! is the predicate n\,\! ''is a natural number'', then axiom A6 after the first two substitutions, that is, (\Phi(n) \land \forall i (\Phi(n+i) \to \Phi(n+i+1))) \to \forall i \Phi(n+i)\,\!, is just as valid, that is, true in every state regardless of the value of n\,\! in that state, as when n\,\! is of type ''natural number''. If in a given state n\,\! is a natural number, then the antecedent of the main implication of A6 holds, but then n+i\,\! is also a natural number so the consequent also holds. If n\,\! is not a natural number, then the antecedent is false and so A6 remains true regardless of the truth of the consequent. We could strengthen A6 to an equivalence p \land *p \to ) \leftrightarrow *\,\! without impacting any of this, the other direction being provable from A5, from which we see that if the antecedent of A6 does happen to be false somewhere, then the consequent ''must'' be false.


Test

Dynamic logic associates to every proposition p\,\! an action p?\,\! called a test. When p\,\! holds, the test p?\,\! acts as a NOP, changing nothing while allowing the action to move on. When p\,\! is false, p?\,\! acts as BLOCK. Tests can be axiomatized as follows. A8. ? \leftrightarrow (p \to q)\,\! The corresponding theorem for \langle p? \rangle\,\! is: T8. \langle p? \rangle q \leftrightarrow p \land q\,\! The construct if p then a else b is realized in dynamic logic as (p?\mathbina) \cup (\neg p?\mathbinb)\,\!. This action expresses a guarded choice: if p\,\! holds then p?\mathbina\,\! is equivalent to a\,\!, whereas \neg p?\mathbinb\,\! is equivalent to BLOCK, and a \cup 0\,\! is equivalent to a\,\!. Hence when p\,\! is true the performer of the action can only take the left branch, and when p\,\! is false the right. The construct while p do a is realized as (\mathbin\neg p?\,\!. This performs p?\mathbina\,\! zero or more times and then performs \neg p?\,\!. As long as p\,\! remains true, the \neg p?\,\! at the end blocks the performer from terminating the iteration prematurely, but as soon as it becomes false, further iterations of the body p\,\! are blocked and the performer then has no choice but to exit via the test \neg p?\,\!.


Quantification as random assignment

The random-assignment statement x\mathbin\,\! denotes the nondeterministic action of setting x\,\! to an arbitrary value. \mathbin\,\! then says that p\,\! holds no matter what you set x\,\! to, while \langle x\mathbin \rangle p\,\! says that it is possible to set x\,\! to a value that makes p\,\! true. \mathbin,\! thus has the same meaning as the universal quantifier \forall x\,\!, while \langle x\mathbin \rangle\,\! similarly corresponds to the existential quantifier \exists x\,\!. That is, first-order logic can be understood as the dynamic logic of programs of the form x:=?\,\!. Dijkstra claimed to show the impossibility of a program that sets the value of variable x to an arbitrary positive integer. However, in dynamic logic with assignment and the * operator, x can be set to an arbitrary positive integer with the dynamic logic program (x\mathbin0)\mathbin (x:= x+ 1). Hence we must either reject Dijkstra's argument or hold that the * operator is not effective.


Possible-world semantics

Modal logic is most commonly interpreted in terms of possible world semantics or Kripke structures. This semantics carries over naturally to dynamic logic by interpreting worlds as states of a computer in the application to program verification, or states of our environment in applications to linguistics, AI, etc. One role for possible world semantics is to formalize the intuitive notions of truth and validity, which in turn permit the notions of soundness and completeness to be defined for axiom systems. An inference rule is sound when validity of its premises implies validity of its conclusion. An axiom system is sound when all its axioms are valid and its inference rules are sound. An axiom system is complete when every valid formula is derivable as a theorem of that system. These concepts apply to all
systems of logic A formal system is an abstract structure used for inferring theorems from axioms according to a set of rules. These rules, which are used for carrying out the inference of theorems from axioms, are the logical calculus of the formal system. A form ...
including dynamic logic.


Propositional dynamic logic (PDL)

Ordinary or
first-order logic First-order logic—also known as predicate logic, quantificational logic, and first-order predicate calculus—is a collection of formal systems used in mathematics, philosophy, linguistics, and computer science. First-order logic uses quantifie ...
has two types of terms, respectively assertions and data. As can be seen from the examples above, dynamic logic adds a third type of term denoting actions. The dynamic logic assertion :=x+1x \ge 4)\,\! contains all three types: x\,\!, x+1\,\!, and 4\,\! are data, x:=x+1\,\! is an action, and x \ge 4\,\! and :=x+1x \ge 4)\,\! are assertions.
Propositional logic Propositional calculus is a branch of logic. It is also called propositional logic, statement logic, sentential calculus, sentential logic, or sometimes zeroth-order logic. It deals with propositions (which can be true or false) and relations b ...
is derived from first-order logic by omitting data terms and reasons only about abstract propositions, which may be simple
propositional variable In mathematical logic, a propositional variable (also called a sentential variable or sentential letter) is an input variable (that can either be true or false) of a truth function. Propositional variables are the basic building-blocks of proposit ...
s or atoms or compound propositions built with such logical connectives as ''and'', ''or'', and ''not''. Propositional dynamic logic, or PDL, was derived from dynamic logic in 1977 by
Michael J. Fischer Michael John Fischer (born 1942) is a computer scientist who works in the fields of distributed computing, parallel computing, cryptography, algorithms and data structures, and computational complexity. Career Fischer was born in 1942 in Ann Arbor ...
and Richard Ladner. PDL blends the ideas behind propositional logic and dynamic logic by adding actions while omitting data; hence the terms of PDL are actions and propositions. The TV example above is expressed in PDL whereas the next example involving x:=x+1\,\! is in first-order dynamic logic. PDL is to (first-order) dynamic logic as propositional logic is to first-order logic. Fischer and Ladner showed in their 1977 paper that PDL satisfiability was of
computational complexity In computer science, the computational complexity or simply complexity of an algorithm is the amount of resources required to run it. Particular focus is given to computation time (generally measured by the number of needed elementary operations) ...
at most nondeterministic exponential time, and at least deterministic exponential time in the worst case. This gap was closed in 1978 by
Vaughan Pratt Vaughan Pratt (born April 12, 1944) is a Professor Emeritus at Stanford University, who was an early pioneer in the field of computer science. Since 1969, Pratt has made several contributions to foundational areas such as search algorithms, sorti ...
who showed that PDL was decidable in deterministic exponential time. In 1977, Krister Segerberg proposed a complete axiomatization of PDL, namely any complete axiomatization of modal logic K together with axioms A1–A6 as given above. Completeness proofs for Segerberg's axioms were found by Gabbay (unpublished note),
Parikh Parikh is a name found among Hindus of the Bania caste and also Jains. In means ''assayer'' in the Gujarati language and has its roots in the Sanskrit word for ''examiner''. Both the Oswal and Porwal communities of India have clans called ''Pare ...
(1978), Pratt (1979), and Kozen and Parikh (1981).


History

Dynamic logic was developed by
Vaughan Pratt Vaughan Pratt (born April 12, 1944) is a Professor Emeritus at Stanford University, who was an early pioneer in the field of computer science. Since 1969, Pratt has made several contributions to foundational areas such as search algorithms, sorti ...
in 1974 in notes for a class on program verification as an approach to assigning meaning to
Hoare logic Hoare logic (also known as Floyd–Hoare logic or Hoare rules) is a formal system with a set of logical rules for reasoning rigorously about the correctness of computer programs. It was proposed in 1969 by the British computer scientist and l ...
by expressing the Hoare formula p \ q\,\! as p \to \,\!. The approach was later published in 1976 as a
logical system A formal system is an abstract structure used for inferring theorems from axioms according to a set of rules. These rules, which are used for carrying out the inference of theorems from axioms, are the logical calculus of the formal system. A for ...
in its own right. The system parallels Andrzej Salwicki's system of algorithmic logic and
Edsger Dijkstra Edsger Wybe Dijkstra ( ; ; 11 May 1930 – 6 August 2002) was a Dutch computer scientist, programmer, software engineer, systems scientist, and science essayist. He received the 1972 Turing Award for fundamental contributions to developing progra ...
's notion of weakest-precondition predicate transformer \operatorname(a,p)\,\!, with \,\! corresponding to Dijkstra's \operatorname(a,p)\,\!, weakest liberal precondition. Those logics however made no connection with either modal logic, Kripke semantics, regular expressions, or the calculus of binary relations. Dynamic logic therefore can be viewed as a refinement of algorithmic logic and predicate transformers that connects them up to the axiomatics and Kripke semantics of modal logic as well as to the calculi of binary relations and regular expressions.


The concurrency challenge

Hoare logic, algorithmic logic, weakest preconditions, and dynamic logic are all well suited to discourse and reasoning about sequential behavior. Extending these logics to concurrent behavior however has proved problematic. There are various approaches but all of them lack the elegance of the sequential case. In contrast
Amir Pnueli Amir Pnueli ( he, אמיר פנואלי; April 22, 1941 – November 2, 2009) was an Israeli computer scientist and the 1996 Turing Award recipient. Biography Pnueli was born in Nahalal, in the British Mandate of Palestine (now in Israel) and re ...
's 1977 system of
temporal logic In logic, temporal logic is any system of rules and symbolism for representing, and reasoning about, propositions qualified in terms of time (for example, "I am ''always'' hungry", "I will ''eventually'' be hungry", or "I will be hungry ''until'' I ...
, another variant of modal logic sharing many common features with dynamic logic, differs from all of the above-mentioned logics by being what Pnueli has characterized as an "endogenous" logic, the others being "exogenous" logics. By this Pnueli meant that temporal logic assertions are interpreted within a universal behavioral framework in which a single global situation changes with the passage of time, whereas the assertions of the other logics are made externally to the multiple actions about which they speak. The advantage of the endogenous approach is that it makes no fundamental assumptions about what causes what as the environment changes with time. Instead a temporal logic formula can talk about two unrelated parts of a system, which because they are unrelated tacitly evolve in parallel. In effect ordinary logical conjunction of temporal assertions is the concurrent composition operator of temporal logic. The simplicity of this approach to concurrency has resulted in temporal logic being the modal logic of choice for reasoning about concurrent systems with its aspects of synchronization, interference, independence,
deadlock In concurrent computing, deadlock is any situation in which no member of some group of entities can proceed because each waits for another member, including itself, to take action, such as sending a message or, more commonly, releasing a loc ...
,
livelock In concurrent computing, deadlock is any situation in which no member of some group of entities can proceed because each waits for another member, including itself, to take action, such as sending a message or, more commonly, releasing a loc ...
, fairness, etc.


See also

*
Hoare logic Hoare logic (also known as Floyd–Hoare logic or Hoare rules) is a formal system with a set of logical rules for reasoning rigorously about the correctness of computer programs. It was proposed in 1969 by the British computer scientist and l ...
* Kleene algebra *
Temporal logic In logic, temporal logic is any system of rules and symbolism for representing, and reasoning about, propositions qualified in terms of time (for example, "I am ''always'' hungry", "I will ''eventually'' be hungry", or "I will be hungry ''until'' I ...
*
Temporal logic in finite-state verification In computer science, model checking or property checking is a method for checking whether a finite-state model of a system meets a given specification (also known as correctness). This is typically associated with hardware or software system ...
*
Temporal logic of actions Temporal logic of actions (TLA) is a logic developed by Leslie Lamport, which combines temporal logic with a logic of actions. It is used to describe behaviours of concurrent and distributed systems. It is the logic underlying the specification ...
*
Modal μ-calculus In theoretical computer science, the modal μ-calculus (Lμ, Lμ, sometimes just μ-calculus, although this can have a more general meaning) is an extension of propositional modal logic (with many modalities) by adding the least fixed point opera ...


Further reading

*
David Harel David Harel ( he, דוד הראל; born 12 April 1950) is a computer scientist, currently serving as President of the Israel Academy of Sciences and Humanities. He has been on the faculty of the Weizmann Institute of Science in Israel since 1980, ...
, Dexter Kozen, and Jerzy Tiuryn, "Dynamic Logic". MIT Press, 2000 (450 pp). * Nicolas Troquard and Philippe Balbiani
"Propositional Dynamic Logic."
Stanford encyclopedia of philosophy The ''Stanford Encyclopedia of Philosophy'' (''SEP'') combines an online encyclopedia of philosophy with peer-reviewed publication of original papers in philosophy, freely accessible to Internet users. It is maintained by Stanford University. E ...
, 2007.


Footnotes

{{reflist


References

*
Vaughan Pratt Vaughan Pratt (born April 12, 1944) is a Professor Emeritus at Stanford University, who was an early pioneer in the field of computer science. Since 1969, Pratt has made several contributions to foundational areas such as search algorithms, sorti ...
, "Semantical Considerations on Floyd-Hoare Logic", Proc. 17th Annual IEEE
Symposium on Foundations of Computer Science The IEEE Annual Symposium on Foundations of Computer Science (FOCS) is an academic conference in the field of theoretical computer science. FOCS is sponsored by the IEEE Computer Society. As writes, FOCS and its annual Association for Computing ...
, 1976, 109-121. *
David Harel David Harel ( he, דוד הראל; born 12 April 1950) is a computer scientist, currently serving as President of the Israel Academy of Sciences and Humanities. He has been on the faculty of the Weizmann Institute of Science in Israel since 1980, ...
, "Dynamic Logic", In D. Gabbay and F. Guenthner, editors, Handbook of Philosophical Logic, volume II: Extensions of Classical Logic, chapter 10, pages 497-604. Reidel, Dordrecht, 1984. *
David Harel David Harel ( he, דוד הראל; born 12 April 1950) is a computer scientist, currently serving as President of the Israel Academy of Sciences and Humanities. He has been on the faculty of the Weizmann Institute of Science in Israel since 1980, ...
, Dexter Kozen, and Jerzy Tiuryn, "Dynamic Logic", In D. Gabbay and F. Guenthner, editors, Handbook of Philosophical Logic, volume 4: pages 99-217. Kluwer, 2nd edition, 2002.


External links


Semantical Considerations on Floyd-Hoare Logic
(original paper on dynamic logic)
Chapter 6 : Logic and Action
at ''Logic In Action'' site
Lecture Notes on Dynamic Logic
by André Platzer Modal logic Logic in computer science Non-classical logic