SLIDE 1 CoSc 450: Programming Paradigms 04
A Calculational Deductive System for Linear Temporal Logic
- J. STANLEY WARFORD, Pepperdine University, USA
DAVID VEGA, The Aerospace Corporation, USA SCOTT M. STALEY, Ford Motor Company Research Labs (retired), USA
This article surveys the linear temporal logic (LTL) literature and presents all the LTL theorems from the survey, plus many new ones, in a calculational deductive system. Calculational deductive systems, devel-
- ped by Dijkstra and Scholten and extended by Gries and Schneider, are based on only four inference rules—
Substitution, Leibniz, Equanimity, and Transitivity. Inference rules in the older Hilbert-style systems, notably modus ponens, appear as theorems in this calculational deductive system. This article extends the calcula- tional deductive system of Gries and Schneider to LTL, using only the same four inference rules. Although space limitations preclude giving a proof of every theorem in this article, every theorem has been proved with calculational logic. CCS Concepts: • Theory of computation → Modal and temporal logics; Additional Key Words and Phrases: Calculational logic, equational logic, linear temporal logic ACM Reference format:
- J. Stanley Warford, David Vega, and Scott M. Staley. 2020. A Calculational Deductive System for Linear Tem-
poral Logic. ACM Comput. Surv. 53, 3, Article 53 (June 2020), 38 pages. https://doi.org/10.1145/3387109
SLIDE 2 Precedence Table
Draft (November 13, 2014) 3 linear temporal theorems described in the literature. Although space limitations preclude giving a proof of every theorem in this paper, every theorem has been proved with . Section 2 describes the deductive axioms and the proof rules for . It also defines the syntax and semantics of linear temporal logic. Section 3 presents the equational deductive system for linear temporal logic.
2 Background
The first section below summarizes the equational system from Gries and Schneider LADM [8]. The summary is minimal, and the remainder of the paper assumes familiar- ity with . The second section introduces temporal logic and assumes no prior familiarity with it. The paper can serve as an introduction to temporal logic for those familiar with .
2.1 Equational Deductive Systems
Propositional calculus Expressions are the basis of propositional calculus in the equational system. Propositional theorems are simply boolean expressions that are true in all states. The definition of an expression has four parts: A constant or variable is an expression. If is an expression, then is an expression. If is a unary prefix operator and is an expression, then is an expression with
. If is a binary infix operator and and are expressions, then is an expression with operands and . By convention, upper-case letters (e.g. , , ...) represent expressions, and lower-case letters (e.g. , , ...) represent variables. In the propositional calculus, the constants are true and false. Here is the table of precedences. [x := e] (textual substitution) Highest precedence ¬
❡
W = (conjunctional) ∨ ∧ ⇒ ⇐ ≡ (associative) Lowest precedence A Calculational Deductive System for Linear Temporal Logic
SLIDE 3
A model σ is an infinite sequence of the form σ : s0, s1, s2, . . . where s0 is the initial state and each state si, 0 ⇥ i is the state at time i. F variable whose value varies at each step of the computation. Then and
Definition of a model
A Calculational Deductive System for Linear Temporal Logic
SLIDE 4
σ s0 s1 s2 s3 s4 . . . x 8 9 10 11 12 ... x ⇤ 10 F F T T T ...
Example
A Calculational Deductive System for Linear Temporal Logic
SLIDE 5
The notation (σ, j) | = p means that the expression p holds at position j in a sequence σ. In A Calculational Deductive System for Linear Temporal Logic
SLIDE 6
The notation (σ, j) | = p means that the expression p holds at position j in a sequence σ. In
(σ, 3) | = x ⌅ 10
σ s0 s1 s2 s3 s4 ... x 8 9 10 11 12 . . . x ≥ 10 F F T T T . . .
A Calculational Deductive System for Linear Temporal Logic
SLIDE 7 The next operator The semantics of the unary prefix operator is (σ, j) | = p iff (σ, j + 1) | = p That is, p holds at position j iff p holds at position j + 1.
- A Calculational Deductive System for Linear Temporal Logic
SLIDE 8
σ s0 s1 s2 s3 s4 s5 s6 ... x 8 9 10 11 12 13 14 . . . 10 ≤ x < 13 F F T T T F F . .. e10 ≤ x < 13 F T T T F F F . ..
(σ, 1) | = e10 ≤ x < 13 because (σ, 2) | = 10 ≤ x < 13 e
A Calculational Deductive System for Linear Temporal Logic
SLIDE 9
σ s0 s1 s2 s3 s4 s5 s6 ... x 8 9 10 11 12 13 14 . . . 10 ≤ x < 13 F F T T T F F . .. e10 ≤ x < 13 F T T T F F F . ..
A Calculational Deductive System for Linear Temporal Logic
SLIDE 10
σ s0 s1 s2 s3 s4 s5 s6 ... x 8 9 10 11 12 13 14 . . . 10 ≤ x < 13 F F T T T F F . .. e10 ≤ x < 13 F T T T F F F . ..
A Calculational Deductive System for Linear Temporal Logic
SLIDE 11
σ s0 s1 s2 s3 s4 s5 s6 ... x 8 9 10 11 12 13 14 . . . 10 ≤ x < 13 F F T T T F F . .. e10 ≤ x < 13 F T T T F F F . ..
A Calculational Deductive System for Linear Temporal Logic
SLIDE 12
The until operator U The semantics of the binary infix operator U is
(σ, j) | = p U q iff
(∃k k ≥ j : (σ, k) | = q ∧ (∀i j ≤ i < k : (σ, i) | = p))
A Calculational Deductive System for Linear Temporal Logic
SLIDE 13 σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s8 ... x −1 1 2 3 4 5 6 7 8 . . . y 9 8 7 6 5 4 3 2 1 . . . 0 < x < y F F T T T F F F F F . . . 2 ≤ y < 5 F F F F F T T T F F . . . (0 < x < y) U (2 ≤ y < 5) F F T T T T T T F F . . .
(σ, j) | = p U q
A Calculational Deductive System for Linear Temporal Logic
SLIDE 14 σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s8 ... x −1 1 2 3 4 5 6 7 8 . . . y 9 8 7 6 5 4 3 2 1 . . . 0 < x < y F F T T T F F F F F . . . 2 ≤ y < 5 F F F F F T T T F F . . . (0 < x < y) U (2 ≤ y < 5) F F T T T T T T F F . . .
(σ, j) | = p U q
A Calculational Deductive System for Linear Temporal Logic
SLIDE 15 σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s8 ... x −1 1 2 3 4 5 6 7 8 . . . y 9 8 7 6 5 4 3 2 1 . . . 0 < x < y F F T T T F F F F F . . . 2 ≤ y < 5 F F F F F T T T F F . . . (0 < x < y) U (2 ≤ y < 5) F F T T T T T T F F . . .
(σ, j) | = p U q
A Calculational Deductive System for Linear Temporal Logic
SLIDE 16 σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s8 ... x −1 1 2 3 4 5 6 7 8 . . . y 9 8 7 6 5 4 3 2 1 . . . 0 < x < y F F T T T F F F F F . . . 2 ≤ y < 5 F F F F F T T T F F . . . (0 < x < y) U (2 ≤ y < 5) F F T T T T T T F F . . .
(∃k k ≥ j : (σ, k) | = q ∧ (∀i j ≤ i < k : (σ, i) | = p))
?
(σ, j) | = p U q
A Calculational Deductive System for Linear Temporal Logic
SLIDE 17 σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s8 ... x −1 1 2 3 4 5 6 7 8 . . . y 9 8 7 6 5 4 3 2 1 . . . 0 < x < y F F T T T F F F F F . . . 2 ≤ y < 5 F F F F F T T T F F . . . (0 < x < y) U (2 ≤ y < 5) F F T T T T T T F F . . .
(∃k k ≥ j : (σ, k) | = q ∧ (∀i j ≤ i < k : (σ, i) | = p))
(σ, j) | = p U q
A Calculational Deductive System for Linear Temporal Logic
SLIDE 18 σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s8 ... x −1 1 2 3 4 5 6 7 8 . . . y 9 8 7 6 5 4 3 2 1 . . . 0 < x < y F F T T T F F F F F . . . 2 ≤ y < 5 F F F F F T T T F F . . . (0 < x < y) U (2 ≤ y < 5) F F T T T T T T F F . . .
(∃k k ≥ j : (σ, k) | = q ∧ (∀i j ≤ i < k : (σ, i) | = p))
(σ, j) | = p U q
A Calculational Deductive System for Linear Temporal Logic A Calculational Deductive System for Linear Temporal Logic
SLIDE 19 σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s8 ... x −1 1 2 3 4 5 6 7 8 . . . y 9 8 7 6 5 4 3 2 1 . . . 0 < x < y F F T T T F F F F F . . . 2 ≤ y < 5 F F F F F T T T F F . . . (0 < x < y) U (2 ≤ y < 5) F F T T T T T T F F . . .
(∃k k ≥ j : (σ, k) | = q ∧ (∀i j ≤ i < k : (σ, i) | = p))
(σ, j) | = p U q
A Calculational Deductive System for Linear Temporal Logic
SLIDE 20 σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s8 ... x −1 1 2 3 4 5 6 7 8 . . . y 9 8 7 6 5 4 3 2 1 . . . 0 < x < y F F T T T F F F F F . . . 2 ≤ y < 5 F F F F F T T T F F . . . (0 < x < y) U (2 ≤ y < 5) F F T T T T T T F F . . .
(∃k k ≥ j : (σ, k) | = q ∧ (∀i j ≤ i < k : (σ, i) | = p))
(σ, j) | = p U q
A Calculational Deductive System for Linear Temporal Logic
SLIDE 21 σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s8 ... x −1 1 2 3 4 5 6 7 8 . . . y 9 8 7 6 5 4 3 2 1 . . . 0 < x < y F F T T T F F F F F . . . 2 ≤ y < 5 F F F F F T T T F F . . . (0 < x < y) U (2 ≤ y < 5) F F T T T T T T F F . . .
(∃k k ≥ j : (σ, k) | = q ∧ (∀i j ≤ i < k : (σ, i) | = p))
(σ, j) | = p U q
A Calculational Deductive System for Linear Temporal Logic
SLIDE 22 σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s8 ... x −1 1 2 3 4 5 6 7 8 . . . y 9 8 7 6 5 4 3 2 1 . . . 0 < x < y F F T T T F F F F F . . . 2 ≤ y < 5 F F F F F T T T F F . . . (0 < x < y) U (2 ≤ y < 5) F F T T T T T T F F . . .
(∃k k ≥ j : (σ, k) | = q ∧ (∀i j ≤ i < k : (σ, i) | = p))
(σ, j) | = p U q
?
A Calculational Deductive System for Linear Temporal Logic
SLIDE 23 σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s8 ... x −1 1 2 3 4 5 6 7 8 . . . y 9 8 7 6 5 4 3 2 1 . . . 0 < x < y F F T T T F F F F F . . . 2 ≤ y < 5 F F F F F T T T F F . . . (0 < x < y) U (2 ≤ y < 5) F F T T T T T T F F . . .
(∃k k ≥ j : (σ, k) | = q ∧ (∀i j ≤ i < k : (σ, i) | = p))
(σ, j) | = p U q
? What is pUq when k = j, q ≡ true, and p ≡ false?
A Calculational Deductive System for Linear Temporal Logic
SLIDE 24 σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s8 ... x −1 1 2 3 4 5 6 7 8 . . . y 9 8 7 6 5 4 3 2 1 . . . 0 < x < y F F T T T F F F F F . . . 2 ≤ y < 5 F F F F F T T T F F . . . (0 < x < y) U (2 ≤ y < 5) F F T T T T T T F F . . .
(∃k k ≥ j : (σ, k) | = q ∧ (∀i j ≤ i < k : (σ, i) | = p))
(σ, j) | = p U q
? What is pUq when k = j, q ≡ true, and p ≡ false? true
A Calculational Deductive System for Linear Temporal Logic
SLIDE 25 σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s8 ... x −1 1 2 3 4 5 6 7 8 . . . y 9 8 7 6 5 4 3 2 1 . . . 0 < x < y F F T T T F F F F F . . . 2 ≤ y < 5 F F F F F T T T F F . . . (0 < x < y) U (2 ≤ y < 5) F F T T T T T T F F . . .
(∃k k ≥ j : (σ, k) | = q ∧ (∀i j ≤ i < k : (σ, i) | = p))
(σ, j) | = p U q
? What is pUq when k = j, q ≡ true, and p ≡ false? true false
A Calculational Deductive System for Linear Temporal Logic
SLIDE 26 σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s8 ... x −1 1 2 3 4 5 6 7 8 . . . y 9 8 7 6 5 4 3 2 1 . . . 0 < x < y F F T T T F F F F F . . . 2 ≤ y < 5 F F F F F T T T F F . . . (0 < x < y) U (2 ≤ y < 5) F F T T T T T T F F . . .
(∃k k ≥ j : (σ, k) | = q ∧ (∀i j ≤ i < k : (σ, i) | = p))
(σ, j) | = p U q
? What is pUq when k = j, q ≡ true, and p ≡ false? true false false
A Calculational Deductive System for Linear Temporal Logic
SLIDE 27 σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s8 ... x −1 1 2 3 4 5 6 7 8 . . . y 9 8 7 6 5 4 3 2 1 . . . 0 < x < y F F T T T F F F F F . . . 2 ≤ y < 5 F F F F F T T T F F . . . (0 < x < y) U (2 ≤ y < 5) F F T T T T T T F F . . .
(∃k k ≥ j : (σ, k) | = q ∧ (∀i j ≤ i < k : (σ, i) | = p))
(σ, j) | = p U q
false The “empty range rule”
A Calculational Deductive System for Linear Temporal Logic
SLIDE 28 σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s8 ... x −1 1 2 3 4 5 6 7 8 . . . y 9 8 7 6 5 4 3 2 1 . . . 0 < x < y F F T T T F F F F F . . . 2 ≤ y < 5 F F F F F T T T F F . . . (0 < x < y) U (2 ≤ y < 5) F F T T T T T T F F . . .
(∃k k ≥ j : (σ, k) | = q ∧ (∀i j ≤ i < k : (σ, i) | = p))
(σ, j) | = p U q
A Calculational Deductive System for Linear Temporal Logic
SLIDE 29 σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s8 ... x −1 1 2 3 4 5 6 7 8 . . . y 9 8 7 6 5 4 3 2 1 . . . 0 < x < y F F T T T F F F F F . . . 2 ≤ y < 5 F F F F F T T T F F . . . (0 < x < y) U (2 ≤ y < 5) F F T T T T T T F F . . .
(∃k k ≥ j : (σ, k) | = q ∧ (∀i j ≤ i < k : (σ, i) | = p))
(σ, j) | = p U q
A Calculational Deductive System for Linear Temporal Logic
SLIDE 30 σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s8 ... x −1 1 2 3 4 5 6 7 8 . . . y 9 8 7 6 5 4 3 2 1 . . . 0 < x < y F F T T T F F F F F . . . 2 ≤ y < 5 F F F F F T T T F F . . . (0 < x < y) U (2 ≤ y < 5) F F T T T T T T F F . . .
(∃k k ≥ j : (σ, k) | = q ∧ (∀i j ≤ i < k : (σ, i) | = p))
(σ, j) | = p U q
A Calculational Deductive System for Linear Temporal Logic
SLIDE 31 σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s8 ... x −1 1 2 3 4 5 6 7 8 . . . y 9 8 7 6 5 4 3 2 1 . . . 0 < x < y F F T T T F F F F F . . . 2 ≤ y < 5 F F F F F T T T F F . . . (0 < x < y) U (2 ≤ y < 5) F F T T T T T T F F . . .
(∃k k ≥ j : (σ, k) | = q ∧ (∀i j ≤ i < k : (σ, i) | = p))
(σ, j) | = p U q
A Calculational Deductive System for Linear Temporal Logic
SLIDE 32 AU B
A, B time ⇥ false true
- i
- M. Ben-Ari. Principles of Concurrent and Distributed Programming, Second edition c
- M. Ben-Ari 2006
Slide 4.8
SLIDE 33
The eventually operator The semantics of the unary prefix operator is (, j) | = p iff (⇧k k ⇤ j : (, k) | = p)
σ s0 s1 s2 s3 s4 s5 s6 ... x 1 2 3 4 5 6 7 . .. 3 ⇥ x < 6 F F T T T F F ... ⇥ (3 ⇥ x < 6) T T T T T F F . .. The bottom row shows the evaluation of the expression where
A Calculational Deductive System for Linear Temporal Logic
SLIDE 34
The eventually operator The semantics of the unary prefix operator is (, j) | = p iff (⇧k k ⇤ j : (, k) | = p)
σ s0 s1 s2 s3 s4 s5 s6 ... x 1 2 3 4 5 6 7 . .. 3 ⇥ x < 6 F F T T T F F ... ⇥ (3 ⇥ x < 6) T T T T T F F . .. The bottom row shows the evaluation of the expression where
A Calculational Deductive System for Linear Temporal Logic
SLIDE 35
The eventually operator The semantics of the unary prefix operator is (, j) | = p iff (⇧k k ⇤ j : (, k) | = p)
σ s0 s1 s2 s3 s4 s5 s6 ... x 1 2 3 4 5 6 7 . .. 3 ⇥ x < 6 F F T T T F F ... ⇥ (3 ⇥ x < 6) T T T T T F F . .. The bottom row shows the evaluation of the expression where
A Calculational Deductive System for Linear Temporal Logic
SLIDE 36
The eventually operator The semantics of the unary prefix operator is (, j) | = p iff (⇧k k ⇤ j : (, k) | = p)
σ s0 s1 s2 s3 s4 s5 s6 ... x 1 2 3 4 5 6 7 . .. 3 ⇥ x < 6 F F T T T F F ... ⇥ (3 ⇥ x < 6) T T T T T F F . .. The bottom row shows the evaluation of the expression where
A Calculational Deductive System for Linear Temporal Logic
SLIDE 37
The eventually operator The semantics of the unary prefix operator is (, j) | = p iff (⇧k k ⇤ j : (, k) | = p)
σ s0 s1 s2 s3 s4 s5 s6 ... x 1 2 3 4 5 6 7 . .. 3 ⇥ x < 6 F F T T T F F ... ⇥ (3 ⇥ x < 6) T T T T T F F . .. The bottom row shows the evaluation of the expression where
A Calculational Deductive System for Linear Temporal Logic
SLIDE 38
The eventually operator The semantics of the unary prefix operator is (, j) | = p iff (⇧k k ⇤ j : (, k) | = p)
σ s0 s1 s2 s3 s4 s5 s6 ... x 1 2 3 4 5 6 7 . .. 3 ⇥ x < 6 F F T T T F F ... ⇥ (3 ⇥ x < 6) T T T T T F F . .. The bottom row shows the evaluation of the expression where
A Calculational Deductive System for Linear Temporal Logic
SLIDE 39
The eventually operator The semantics of the unary prefix operator is (, j) | = p iff (⇧k k ⇤ j : (, k) | = p)
σ s0 s1 s2 s3 s4 s5 s6 ... x 1 2 3 4 5 6 7 . .. 3 ⇥ x < 6 F F T T T F F ... ⇥ (3 ⇥ x < 6) T T T T T F F . .. The bottom row shows the evaluation of the expression where
A Calculational Deductive System for Linear Temporal Logic
SLIDE 40
The eventually operator The semantics of the unary prefix operator is (, j) | = p iff (⇧k k ⇤ j : (, k) | = p)
σ s0 s1 s2 s3 s4 s5 s6 ... x 1 2 3 4 5 6 7 . .. 3 ⇥ x < 6 F F T T T F F ... ⇥ (3 ⇥ x < 6) T T T T T F F . .. The bottom row shows the evaluation of the expression where
A Calculational Deductive System for Linear Temporal Logic
SLIDE 41
σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 . . . p F F T F F T F F F F ... q F F T T F F T T F F ... ⇥ p T T T T T T F F F F ... ⇥ q T T T T T T T T T T . ..
A Calculational Deductive System for Linear Temporal Logic
SLIDE 42
σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 . . . p F F T F F T F F F F ... q F F T T F F T T F F ... ⇥ p T T T T T T F F F F ... ⇥ q T T T T T T T T T T . ..
A Calculational Deductive System for Linear Temporal Logic
SLIDE 43
σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 . . . p F F T F F T F F F F ... q F F T T F F T T F F ... ⇥ p T T T T T T F F F F ... ⇥ q T T T T T T T T T T . ..
A Calculational Deductive System for Linear Temporal Logic
SLIDE 44 A
time ⇥ false true
A
- M. Ben-Ari. Principles of Concurrent and Distributed Programming, Second edition c
- M. Ben-Ari 2006
Slide 4.3
SLIDE 45 Algorithm 4.1: Third attempt boolean wantp ⇥ false, wantq ⇥ false p q loop forever loop forever
p1:
non-critical section
q1:
non-critical section
p2:
wantp ⇥ true
q2:
wantq ⇥ true
p3:
await wantq = false
q3:
await wantp = false
p4:
critical section
q4:
critical section
p5:
wantp ⇥ false
q5:
wantq ⇥ false
A is a liveness property. Example: p2 ⇥ p4
SLIDE 46
The always operator The semantics of the unary prefix operator is (σ, j) | = p iff (⌅k k ⇤ j : (σ, k) | = p)
σ s0 s1 s2 s3 s4 s5 s6 . . . x 1 2 3 4 5 6 7 .. . x ⇤ 4 F F F T T T T . . . (x ⇤ 4) F F F T T T T . . .
A Calculational Deductive System for Linear Temporal Logic
SLIDE 47
The always operator The semantics of the unary prefix operator is (σ, j) | = p iff (⌅k k ⇤ j : (σ, k) | = p)
σ s0 s1 s2 s3 s4 s5 s6 . . . x 1 2 3 4 5 6 7 .. . x ⇤ 4 F F F T T T T . . . (x ⇤ 4) F F F T T T T . . .
A Calculational Deductive System for Linear Temporal Logic
SLIDE 48
The always operator The semantics of the unary prefix operator is (σ, j) | = p iff (⌅k k ⇤ j : (σ, k) | = p)
σ s0 s1 s2 s3 s4 s5 s6 . . . x 1 2 3 4 5 6 7 .. . x ⇤ 4 F F F T T T T . . . (x ⇤ 4) F F F T T T T . . .
A Calculational Deductive System for Linear Temporal Logic
SLIDE 49
The always operator The semantics of the unary prefix operator is (σ, j) | = p iff (⌅k k ⇤ j : (σ, k) | = p)
σ s0 s1 s2 s3 s4 s5 s6 . . . x 1 2 3 4 5 6 7 .. . x ⇤ 4 F F F T T T T . . . (x ⇤ 4) F F F T T T T . . .
A Calculational Deductive System for Linear Temporal Logic
SLIDE 50
The always operator The semantics of the unary prefix operator is (σ, j) | = p iff (⌅k k ⇤ j : (σ, k) | = p)
σ s0 s1 s2 s3 s4 s5 s6 . . . x 1 2 3 4 5 6 7 .. . x ⇤ 4 F F F T T T T . . . (x ⇤ 4) F F F T T T T . . .
A Calculational Deductive System for Linear Temporal Logic
SLIDE 51
The always operator The semantics of the unary prefix operator is (σ, j) | = p iff (⌅k k ⇤ j : (σ, k) | = p)
σ s0 s1 s2 s3 s4 s5 s6 . . . x 1 2 3 4 5 6 7 .. . x ⇤ 4 F F F T T T T . . . (x ⇤ 4) F F F T T T T . . .
A Calculational Deductive System for Linear Temporal Logic
SLIDE 52
The always operator The semantics of the unary prefix operator is (σ, j) | = p iff (⌅k k ⇤ j : (σ, k) | = p)
σ s0 s1 s2 s3 s4 s5 s6 . . . x 1 2 3 4 5 6 7 .. . x ⇤ 4 F F F T T T T . . . (x ⇤ 4) F F F T T T T . . .
A Calculational Deductive System for Linear Temporal Logic
SLIDE 53
The always operator The semantics of the unary prefix operator is (σ, j) | = p iff (⌅k k ⇤ j : (σ, k) | = p)
σ s0 s1 s2 s3 s4 s5 s6 . . . x 1 2 3 4 5 6 7 .. . x ⇤ 4 F F F T T T T . . . (x ⇤ 4) F F F T T T T . . .
A Calculational Deductive System for Linear Temporal Logic
SLIDE 54
σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 ... p T T F T T F T T T T . .. q T T F F T T F F T T . .. p F F F F F F T T T T . .. q F F F F F F F F F F . ..
A Calculational Deductive System for Linear Temporal Logic
SLIDE 55
σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 ... p T T F T T F T T T T . .. q T T F F T T F F T T . .. p F F F F F F T T T T . .. q F F F F F F F F F F . ..
A Calculational Deductive System for Linear Temporal Logic
SLIDE 56
σ s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 ... p T T F T T F T T T T . .. q T T F F T T F F T T . .. p F F F F F F T T T T . .. q F F F F F F F F F F . ..
A Calculational Deductive System for Linear Temporal Logic
SLIDE 57 A
A time ⇥ false true
- i
- M. Ben-Ari. Principles of Concurrent and Distributed Programming, Second edition c
- M. Ben-Ari 2006
Slide 4.2
SLIDE 58 Algorithm 4.1: Third attempt boolean wantp ⇥ false, wantq ⇥ false p q loop forever loop forever
p1:
non-critical section
q1:
non-critical section
p2:
wantp ⇥ true
q2:
wantq ⇥ true
p3:
await wantq = false
q3:
await wantp = false
p4:
critical section
q4:
critical section
p5:
wantp ⇥ false
q5:
wantq ⇥ false
A is a safety property. Example: ¬(p4 ⇤ q4)
SLIDE 59 Algorithm 4.1: Third attempt boolean wantp ⇥ false, wantq ⇥ false p q loop forever loop forever
p1:
non-critical section
q1:
non-critical section
p2:
wantp ⇥ true
q2:
wantq ⇥ true
p3:
await wantq = false
q3:
await wantp = false
p4:
critical section
q4:
critical section
p5:
wantp ⇥ false
q5:
wantq ⇥ false
To show starvation-free, must prove (p2 ⇥ ⇥ p4)
SLIDE 60 True and False are constants
Draft (October 31, 2018) 12 2.2.1 Models A model is an infinite anchored sequence [23] of the form where is the initial state and each state is the state at time . For example, suppose is an integer variable whose value varies at each step of the
and the expression , known as a state expression, might evolve as follows. ... 8 9 10 11 12 ... F F T T T ... The bottom row shows the evaluation of the state expression for each state in the sequence. Temporal logic extends propositional logic by considering the evolution of expression eval- uations in time. For example, if you assume that in the above sequence keeps increasing by one you can assert informally in English, “For the sequence , eventually will always be true.” The notation means that the expression holds at position in a sequence . In the above example, . The symbol means “satisfies”, so the above expression is read as “State 3 of sequence satisfies .” Or, using “holds”, the same expression is read as, “ holds in state 3 of sequence .” The following sections use to formalize the interpretation of each temporal operator. There is a distinction between the constant true and the truth value of an expression T in a given state. The constant true is an expression that evaluates to T in every state. Similarly, there is a distinction between the constant false and the truth value of an expression F in a given state. The constant false is an expression that evaluates to F in every state. σ s0 s1 s2 s3 s4 ... true T T T T T ... false F F F F F ... The propositional logic system of LADM [12] describes a case analysis metatheorem as follows: If and are theorems, then so is . This metatheo- rem does not hold in LTL because the two cases, and , only account for two out of an infinite number of possible sequences of T’s and F’s in .
A Calculational Deductive System for Linear Temporal Logic
SLIDE 61 True and False are constants
Draft (October 31, 2018) 12 2.2.1 Models A model is an infinite anchored sequence [23] of the form where is the initial state and each state is the state at time . For example, suppose is an integer variable whose value varies at each step of the
and the expression , known as a state expression, might evolve as follows. ... 8 9 10 11 12 ... F F T T T ... The bottom row shows the evaluation of the state expression for each state in the sequence. Temporal logic extends propositional logic by considering the evolution of expression eval- uations in time. For example, if you assume that in the above sequence keeps increasing by one you can assert informally in English, “For the sequence , eventually will always be true.” The notation means that the expression holds at position in a sequence . In the above example, . The symbol means “satisfies”, so the above expression is read as “State 3 of sequence satisfies .” Or, using “holds”, the same expression is read as, “ holds in state 3 of sequence .” The following sections use to formalize the interpretation of each temporal operator. There is a distinction between the constant true and the truth value of an expression T in a given state. The constant true is an expression that evaluates to T in every state. Similarly, there is a distinction between the constant false and the truth value of an expression F in a given state. The constant false is an expression that evaluates to F in every state. σ s0 s1 s2 s3 s4 ... true T T T T T ... false F F F F F ... The propositional logic system of LADM [12] describes a case analysis metatheorem as follows: If and are theorems, then so is . This metatheo- rem does not hold in LTL because the two cases, and , only account for two out of an infinite number of possible sequences of T’s and F’s in .
The case analysis metatheorem is NOT valid in linear temporal logic!
A Calculational Deductive System for Linear Temporal Logic
SLIDE 62 Next
❡
(1) Axiom, Self-dual:
❡¬p ≡ ¬ ❡p
(2) Axiom, Distributivity of
❡ over ⇒: ❡(p ⇒ q) ≡ ❡p ⇒ ❡q
(3) Linearity:
❡p ≡ ¬ ❡¬p ❡ ❡ ❡ ❡
A Calculational Deductive System for Linear Temporal Logic
SLIDE 63 Draft (November 13, 2014) 18 Here are proofs that ❡ distributes over ∨, ∧, and ≡. (4) Distributivity of ❡ over ∨:
❡(p∨q) ≡ ❡p∨ ❡q
Proof:
❡(p∨q)
= ⟨(3.59) Implication p ⇒ q ≡ ¬p∨q⟩
❡(¬p ⇒ q)
= ⟨(2) Distributivity of ❡ over ⇒⟩
❡¬p ⇒ ❡q
= ⟨(3.59) Implication p ⇒ q ≡ ¬p∨q with p,q := ❡¬p, ❡q⟩ ¬ ❡¬p∨ ❡q = ⟨(3) Linearity⟩
❡p∨ ❡q
(5) Distributivity of ❡ over :
❡ ❡ ❡
Proof: (3.12) Double negation, , twice (3.47b) De Morgan, (1) Self-dual with ) (4) Distributivity of
with (1) Self-dual twice (3.47a) De Morgan (3.12) Double negation, (6) Distributivity of
: Proof: Exercise for the student. Hint: Start with mutual implication. Now, holds in the next state, and does not hold in the next state. Theorems (7) and (8) are unique to this system. In equational logic, is theorem (3.4) and is equivalent
A Calculational Deductive System for Linear Temporal Logic
SLIDE 64 Draft (November 13, 2014) 18 Here are proofs that ❡ distributes over ∨, ∧, and ≡. (4) Distributivity of ❡ over ∨:
❡(p∨q) ≡ ❡p∨ ❡q
Proof:
❡(p∨q)
= ⟨(3.59) Implication p ⇒ q ≡ ¬p∨q⟩
❡(¬p ⇒ q)
= ⟨(2) Distributivity of ❡ over ⇒⟩
❡¬p ⇒ ❡q
= ⟨(3.59) Implication p ⇒ q ≡ ¬p∨q with p,q := ❡¬p, ❡q⟩ ¬ ❡¬p∨ ❡q = ⟨(3) Linearity⟩
❡p∨ ❡q
(5) Distributivity of ❡ over :
❡ ❡ ❡
Proof: (3.12) Double negation, , twice (3.47b) De Morgan, (1) Self-dual with ) (4) Distributivity of
with (1) Self-dual twice (3.47a) De Morgan (3.12) Double negation, (6) Distributivity of
: Proof: Exercise for the student. Hint: Start with mutual implication. Now, holds in the next state, and does not hold in the next state. Theorems (7) and (8) are unique to this system. In equational logic, is theorem (3.4) and is equivalent
A Calculational Deductive System for Linear Temporal Logic
SLIDE 65 Draft (November 13, 2014) 18 Here are proofs that ❡ distributes over ∨, ∧, and ≡. (4) Distributivity of ❡ over ∨:
❡(p∨q) ≡ ❡p∨ ❡q
Proof:
❡(p∨q)
= ⟨(3.59) Implication p ⇒ q ≡ ¬p∨q⟩
❡(¬p ⇒ q)
= ⟨(2) Distributivity of ❡ over ⇒⟩
❡¬p ⇒ ❡q
= ⟨(3.59) Implication p ⇒ q ≡ ¬p∨q with p,q := ❡¬p, ❡q⟩ ¬ ❡¬p∨ ❡q = ⟨(3) Linearity⟩
❡p∨ ❡q
(5) Distributivity of ❡ over :
❡ ❡ ❡
Proof: (3.12) Double negation, , twice (3.47b) De Morgan, (1) Self-dual with ) (4) Distributivity of
with (1) Self-dual twice (3.47a) De Morgan (3.12) Double negation, (6) Distributivity of
: Proof: Exercise for the student. Hint: Start with mutual implication. Now, holds in the next state, and does not hold in the next state. Theorems (7) and (8) are unique to this system. In equational logic, is theorem (3.4) and is equivalent
A Calculational Deductive System for Linear Temporal Logic
SLIDE 66 Draft (November 13, 2014) 18 Here are proofs that ❡ distributes over ∨, ∧, and ≡. (4) Distributivity of ❡ over ∨:
❡(p∨q) ≡ ❡p∨ ❡q
Proof:
❡(p∨q)
= ⟨(3.59) Implication p ⇒ q ≡ ¬p∨q⟩
❡(¬p ⇒ q)
= ⟨(2) Distributivity of ❡ over ⇒⟩
❡¬p ⇒ ❡q
= ⟨(3.59) Implication p ⇒ q ≡ ¬p∨q with p,q := ❡¬p, ❡q⟩ ¬ ❡¬p∨ ❡q = ⟨(3) Linearity⟩
❡p∨ ❡q
(5) Distributivity of ❡ over :
❡ ❡ ❡
Proof: (3.12) Double negation, , twice (3.47b) De Morgan, (1) Self-dual with ) (4) Distributivity of
with (1) Self-dual twice (3.47a) De Morgan (3.12) Double negation, (6) Distributivity of
: Proof: Exercise for the student. Hint: Start with mutual implication. Now, holds in the next state, and does not hold in the next state. Theorems (7) and (8) are unique to this system. In equational logic, is theorem (3.4) and is equivalent
A Calculational Deductive System for Linear Temporal Logic
SLIDE 67 Draft (November 13, 2014) 18 Here are proofs that ❡ distributes over ∨, ∧, and ≡. (4) Distributivity of ❡ over ∨:
❡(p∨q) ≡ ❡p∨ ❡q
Proof:
❡(p∨q)
= ⟨(3.59) Implication p ⇒ q ≡ ¬p∨q⟩
❡(¬p ⇒ q)
= ⟨(2) Distributivity of ❡ over ⇒⟩
❡¬p ⇒ ❡q
= ⟨(3.59) Implication p ⇒ q ≡ ¬p∨q with p,q := ❡¬p, ❡q⟩ ¬ ❡¬p∨ ❡q = ⟨(3) Linearity⟩
❡p∨ ❡q
(5) Distributivity of ❡ over :
❡ ❡ ❡
Proof: (3.12) Double negation, , twice (3.47b) De Morgan, (1) Self-dual with ) (4) Distributivity of
with (1) Self-dual twice (3.47a) De Morgan (3.12) Double negation, (6) Distributivity of
: Proof: Exercise for the student. Hint: Start with mutual implication. Now, holds in the next state, and does not hold in the next state. Theorems (7) and (8) are unique to this system. In equational logic, is theorem (3.4) and is equivalent
A Calculational Deductive System for Linear Temporal Logic
SLIDE 68 Draft (November 13, 2014) 18 Here are proofs that ❡ distributes over ∨, ∧, and ≡. (4) Distributivity of ❡ over ∨:
❡(p∨q) ≡ ❡p∨ ❡q
Proof:
❡(p∨q)
= ⟨(3.59) Implication p ⇒ q ≡ ¬p∨q⟩
❡(¬p ⇒ q)
= ⟨(2) Distributivity of ❡ over ⇒⟩
❡¬p ⇒ ❡q
= ⟨(3.59) Implication p ⇒ q ≡ ¬p∨q with p,q := ❡¬p, ❡q⟩ ¬ ❡¬p∨ ❡q = ⟨(3) Linearity⟩
❡p∨ ❡q
(5) Distributivity of ❡ over :
❡ ❡ ❡
Proof: (3.12) Double negation, , twice (3.47b) De Morgan, (1) Self-dual with ) (4) Distributivity of
with (1) Self-dual twice (3.47a) De Morgan (3.12) Double negation, (6) Distributivity of
: Proof: Exercise for the student. Hint: Start with mutual implication. Now, holds in the next state, and does not hold in the next state. Theorems (7) and (8) are unique to this system. In equational logic, is theorem (3.4) and is equivalent
A Calculational Deductive System for Linear Temporal Logic
SLIDE 69 Draft (November 13, 2014) 18 Here are proofs that ❡ distributes over ∨, ∧, and ≡. (4) Distributivity of ❡ over ∨:
❡(p∨q) ≡ ❡p∨ ❡q
Proof:
❡(p∨q)
= ⟨(3.59) Implication p ⇒ q ≡ ¬p∨q⟩
❡(¬p ⇒ q)
= ⟨(2) Distributivity of ❡ over ⇒⟩
❡¬p ⇒ ❡q
= ⟨(3.59) Implication p ⇒ q ≡ ¬p∨q with p,q := ❡¬p, ❡q⟩ ¬ ❡¬p∨ ❡q = ⟨(3) Linearity⟩
❡p∨ ❡q
(5) Distributivity of ❡ over :
❡ ❡ ❡
Proof: (3.12) Double negation, , twice (3.47b) De Morgan, (1) Self-dual with ) (4) Distributivity of
with (1) Self-dual twice (3.47a) De Morgan (3.12) Double negation, (6) Distributivity of
: Proof: Exercise for the student. Hint: Start with mutual implication. Now, holds in the next state, and does not hold in the next state. Theorems (7) and (8) are unique to this system. In equational logic, is theorem (3.4) and is equivalent
A Calculational Deductive System for Linear Temporal Logic
SLIDE 70 Draft (November 13, 2014) 18 Here are proofs that ❡ distributes over ∨, ∧, and ≡. (4) Distributivity of ❡ over ∨:
❡(p∨q) ≡ ❡p∨ ❡q
Proof:
❡(p∨q)
= ⟨(3.59) Implication p ⇒ q ≡ ¬p∨q⟩
❡(¬p ⇒ q)
= ⟨(2) Distributivity of ❡ over ⇒⟩
❡¬p ⇒ ❡q
= ⟨(3.59) Implication p ⇒ q ≡ ¬p∨q with p,q := ❡¬p, ❡q⟩ ¬ ❡¬p∨ ❡q = ⟨(3) Linearity⟩
❡p∨ ❡q
(5) Distributivity of ❡ over :
❡ ❡ ❡
Proof: (3.12) Double negation, , twice (3.47b) De Morgan, (1) Self-dual with ) (4) Distributivity of
with (1) Self-dual twice (3.47a) De Morgan (3.12) Double negation, (6) Distributivity of
: Proof: Exercise for the student. Hint: Start with mutual implication. Now, holds in the next state, and does not hold in the next state. Theorems (7) and (8) are unique to this system. In equational logic, is theorem (3.4) and is equivalent
A Calculational Deductive System for Linear Temporal Logic
SLIDE 71 Draft (November 13, 2014) 18 Here are proofs that ❡ distributes over ∨, ∧, and ≡. (4) Distributivity of ❡ over ∨:
❡(p∨q) ≡ ❡p∨ ❡q
Proof:
❡(p∨q)
= ⟨(3.59) Implication p ⇒ q ≡ ¬p∨q⟩
❡(¬p ⇒ q)
= ⟨(2) Distributivity of ❡ over ⇒⟩
❡¬p ⇒ ❡q
= ⟨(3.59) Implication p ⇒ q ≡ ¬p∨q with p,q := ❡¬p, ❡q⟩ ¬ ❡¬p∨ ❡q = ⟨(3) Linearity⟩
❡p∨ ❡q
(5) Distributivity of ❡ over :
❡ ❡ ❡
Proof: (3.12) Double negation, , twice (3.47b) De Morgan, (1) Self-dual with ) (4) Distributivity of
with (1) Self-dual twice (3.47a) De Morgan (3.12) Double negation, (6) Distributivity of
: Proof: Exercise for the student. Hint: Start with mutual implication. Now, holds in the next state, and does not hold in the next state. Theorems (7) and (8) are unique to this system. In equational logic, is theorem (3.4) and is equivalent
A Calculational Deductive System for Linear Temporal Logic
SLIDE 72 A Calculational Deductive System for Linear Temporal Logic
ACM Computing Surveys submission (August 2019) 20 Linearity follows from self-dual. (3) Linearity: Proof: (3.11) with —(1) Self-dual The proof that distributes over uses the distributivity of
. The proofs that it also distributes over and are similar. (4) Distributivity of
: Proof: (3.59) Implication (2) Distributivity of
(3.59) Implication with (3) Linearity
❡ ∨ ❡
(5) Distributivity of ❡ over ∧:
❡(p∧q) ≡ ❡p∧ ❡q
Proof:
❡(p∧q)
= ⟨(3.12) Double negation, ¬¬p ≡ p, twice⟩
❡(¬¬p∧¬¬q)
= ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩
❡¬(¬p∨¬q)
= ⟨(1) Self-dual with p := (¬p∨¬q)⟩ ¬ ❡(¬p∨¬q) = ⟨(4) Distributivity of ❡ over ∨ with p,q := ¬p,¬q⟩ ¬( ❡¬p∨ ❡¬q) = ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩ ¬ ❡¬p∧¬ ❡¬q = ⟨(3) Linearity, twice⟩
❡p∧ ❡q
SLIDE 73 A Calculational Deductive System for Linear Temporal Logic
ACM Computing Surveys submission (August 2019) 20 Linearity follows from self-dual. (3) Linearity: Proof: (3.11) with —(1) Self-dual The proof that distributes over uses the distributivity of
. The proofs that it also distributes over and are similar. (4) Distributivity of
: Proof: (3.59) Implication (2) Distributivity of
(3.59) Implication with (3) Linearity
❡ ∨ ❡
(5) Distributivity of ❡ over ∧:
❡(p∧q) ≡ ❡p∧ ❡q
Proof:
❡(p∧q)
= ⟨(3.12) Double negation, ¬¬p ≡ p, twice⟩
❡(¬¬p∧¬¬q)
= ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩
❡¬(¬p∨¬q)
= ⟨(1) Self-dual with p := (¬p∨¬q)⟩ ¬ ❡(¬p∨¬q) = ⟨(4) Distributivity of ❡ over ∨ with p,q := ¬p,¬q⟩ ¬( ❡¬p∨ ❡¬q) = ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩ ¬ ❡¬p∧¬ ❡¬q = ⟨(3) Linearity, twice⟩
❡p∧ ❡q
SLIDE 74 A Calculational Deductive System for Linear Temporal Logic
ACM Computing Surveys submission (August 2019) 20 Linearity follows from self-dual. (3) Linearity: Proof: (3.11) with —(1) Self-dual The proof that distributes over uses the distributivity of
. The proofs that it also distributes over and are similar. (4) Distributivity of
: Proof: (3.59) Implication (2) Distributivity of
(3.59) Implication with (3) Linearity
❡ ∨ ❡
(5) Distributivity of ❡ over ∧:
❡(p∧q) ≡ ❡p∧ ❡q
Proof:
❡(p∧q)
= ⟨(3.12) Double negation, ¬¬p ≡ p, twice⟩
❡(¬¬p∧¬¬q)
= ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩
❡¬(¬p∨¬q)
= ⟨(1) Self-dual with p := (¬p∨¬q)⟩ ¬ ❡(¬p∨¬q) = ⟨(4) Distributivity of ❡ over ∨ with p,q := ¬p,¬q⟩ ¬( ❡¬p∨ ❡¬q) = ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩ ¬ ❡¬p∧¬ ❡¬q = ⟨(3) Linearity, twice⟩
❡p∧ ❡q
SLIDE 75 A Calculational Deductive System for Linear Temporal Logic
ACM Computing Surveys submission (August 2019) 20 Linearity follows from self-dual. (3) Linearity: Proof: (3.11) with —(1) Self-dual The proof that distributes over uses the distributivity of
. The proofs that it also distributes over and are similar. (4) Distributivity of
: Proof: (3.59) Implication (2) Distributivity of
(3.59) Implication with (3) Linearity
❡ ∨ ❡
(5) Distributivity of ❡ over ∧:
❡(p∧q) ≡ ❡p∧ ❡q
Proof:
❡(p∧q)
= ⟨(3.12) Double negation, ¬¬p ≡ p, twice⟩
❡(¬¬p∧¬¬q)
= ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩
❡¬(¬p∨¬q)
= ⟨(1) Self-dual with p := (¬p∨¬q)⟩ ¬ ❡(¬p∨¬q) = ⟨(4) Distributivity of ❡ over ∨ with p,q := ¬p,¬q⟩ ¬( ❡¬p∨ ❡¬q) = ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩ ¬ ❡¬p∧¬ ❡¬q = ⟨(3) Linearity, twice⟩
❡p∧ ❡q
SLIDE 76 A Calculational Deductive System for Linear Temporal Logic
ACM Computing Surveys submission (August 2019) 20 Linearity follows from self-dual. (3) Linearity: Proof: (3.11) with —(1) Self-dual The proof that distributes over uses the distributivity of
. The proofs that it also distributes over and are similar. (4) Distributivity of
: Proof: (3.59) Implication (2) Distributivity of
(3.59) Implication with (3) Linearity
❡ ∨ ❡
(5) Distributivity of ❡ over ∧:
❡(p∧q) ≡ ❡p∧ ❡q
Proof:
❡(p∧q)
= ⟨(3.12) Double negation, ¬¬p ≡ p, twice⟩
❡(¬¬p∧¬¬q)
= ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩
❡¬(¬p∨¬q)
= ⟨(1) Self-dual with p := (¬p∨¬q)⟩ ¬ ❡(¬p∨¬q) = ⟨(4) Distributivity of ❡ over ∨ with p,q := ¬p,¬q⟩ ¬( ❡¬p∨ ❡¬q) = ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩ ¬ ❡¬p∧¬ ❡¬q = ⟨(3) Linearity, twice⟩
❡p∧ ❡q
SLIDE 77 A Calculational Deductive System for Linear Temporal Logic
ACM Computing Surveys submission (August 2019) 20 Linearity follows from self-dual. (3) Linearity: Proof: (3.11) with —(1) Self-dual The proof that distributes over uses the distributivity of
. The proofs that it also distributes over and are similar. (4) Distributivity of
: Proof: (3.59) Implication (2) Distributivity of
(3.59) Implication with (3) Linearity
❡ ∨ ❡
(5) Distributivity of ❡ over ∧:
❡(p∧q) ≡ ❡p∧ ❡q
Proof:
❡(p∧q)
= ⟨(3.12) Double negation, ¬¬p ≡ p, twice⟩
❡(¬¬p∧¬¬q)
= ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩
❡¬(¬p∨¬q)
= ⟨(1) Self-dual with p := (¬p∨¬q)⟩ ¬ ❡(¬p∨¬q) = ⟨(4) Distributivity of ❡ over ∨ with p,q := ¬p,¬q⟩ ¬( ❡¬p∨ ❡¬q) = ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩ ¬ ❡¬p∧¬ ❡¬q = ⟨(3) Linearity, twice⟩
❡p∧ ❡q
SLIDE 78 A Calculational Deductive System for Linear Temporal Logic
ACM Computing Surveys submission (August 2019) 20 Linearity follows from self-dual. (3) Linearity: Proof: (3.11) with —(1) Self-dual The proof that distributes over uses the distributivity of
. The proofs that it also distributes over and are similar. (4) Distributivity of
: Proof: (3.59) Implication (2) Distributivity of
(3.59) Implication with (3) Linearity
❡ ∨ ❡
(5) Distributivity of ❡ over ∧:
❡(p∧q) ≡ ❡p∧ ❡q
Proof:
❡(p∧q)
= ⟨(3.12) Double negation, ¬¬p ≡ p, twice⟩
❡(¬¬p∧¬¬q)
= ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩
❡¬(¬p∨¬q)
= ⟨(1) Self-dual with p := (¬p∨¬q)⟩ ¬ ❡(¬p∨¬q) = ⟨(4) Distributivity of ❡ over ∨ with p,q := ¬p,¬q⟩ ¬( ❡¬p∨ ❡¬q) = ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩ ¬ ❡¬p∧¬ ❡¬q = ⟨(3) Linearity, twice⟩
❡p∧ ❡q
SLIDE 79 A Calculational Deductive System for Linear Temporal Logic
ACM Computing Surveys submission (August 2019) 20 Linearity follows from self-dual. (3) Linearity: Proof: (3.11) with —(1) Self-dual The proof that distributes over uses the distributivity of
. The proofs that it also distributes over and are similar. (4) Distributivity of
: Proof: (3.59) Implication (2) Distributivity of
(3.59) Implication with (3) Linearity
❡ ∨ ❡
(5) Distributivity of ❡ over ∧:
❡(p∧q) ≡ ❡p∧ ❡q
Proof:
❡(p∧q)
= ⟨(3.12) Double negation, ¬¬p ≡ p, twice⟩
❡(¬¬p∧¬¬q)
= ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩
❡¬(¬p∨¬q)
= ⟨(1) Self-dual with p := (¬p∨¬q)⟩ ¬ ❡(¬p∨¬q) = ⟨(4) Distributivity of ❡ over ∨ with p,q := ¬p,¬q⟩ ¬( ❡¬p∨ ❡¬q) = ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩ ¬ ❡¬p∧¬ ❡¬q = ⟨(3) Linearity, twice⟩
❡p∧ ❡q
SLIDE 80 A Calculational Deductive System for Linear Temporal Logic
ACM Computing Surveys submission (August 2019) 20 Linearity follows from self-dual. (3) Linearity: Proof: (3.11) with —(1) Self-dual The proof that distributes over uses the distributivity of
. The proofs that it also distributes over and are similar. (4) Distributivity of
: Proof: (3.59) Implication (2) Distributivity of
(3.59) Implication with (3) Linearity
❡ ∨ ❡
(5) Distributivity of ❡ over ∧:
❡(p∧q) ≡ ❡p∧ ❡q
Proof:
❡(p∧q)
= ⟨(3.12) Double negation, ¬¬p ≡ p, twice⟩
❡(¬¬p∧¬¬q)
= ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩
❡¬(¬p∨¬q)
= ⟨(1) Self-dual with p := (¬p∨¬q)⟩ ¬ ❡(¬p∨¬q) = ⟨(4) Distributivity of ❡ over ∨ with p,q := ¬p,¬q⟩ ¬( ❡¬p∨ ❡¬q) = ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩ ¬ ❡¬p∧¬ ❡¬q = ⟨(3) Linearity, twice⟩
❡p∧ ❡q
SLIDE 81 A Calculational Deductive System for Linear Temporal Logic
ACM Computing Surveys submission (August 2019) 20 Linearity follows from self-dual. (3) Linearity: Proof: (3.11) with —(1) Self-dual The proof that distributes over uses the distributivity of
. The proofs that it also distributes over and are similar. (4) Distributivity of
: Proof: (3.59) Implication (2) Distributivity of
(3.59) Implication with (3) Linearity
❡ ∨ ❡
(5) Distributivity of ❡ over ∧:
❡(p∧q) ≡ ❡p∧ ❡q
Proof:
❡(p∧q)
= ⟨(3.12) Double negation, ¬¬p ≡ p, twice⟩
❡(¬¬p∧¬¬q)
= ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩
❡¬(¬p∨¬q)
= ⟨(1) Self-dual with p := (¬p∨¬q)⟩ ¬ ❡(¬p∨¬q) = ⟨(4) Distributivity of ❡ over ∨ with p,q := ¬p,¬q⟩ ¬( ❡¬p∨ ❡¬q) = ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩ ¬ ❡¬p∧¬ ❡¬q = ⟨(3) Linearity, twice⟩
❡p∧ ❡q
SLIDE 82 A Calculational Deductive System for Linear Temporal Logic
ACM Computing Surveys submission (August 2019) 20 Linearity follows from self-dual. (3) Linearity: Proof: (3.11) with —(1) Self-dual The proof that distributes over uses the distributivity of
. The proofs that it also distributes over and are similar. (4) Distributivity of
: Proof: (3.59) Implication (2) Distributivity of
(3.59) Implication with (3) Linearity
❡ ∨ ❡
(5) Distributivity of ❡ over ∧:
❡(p∧q) ≡ ❡p∧ ❡q
Proof:
❡(p∧q)
= ⟨(3.12) Double negation, ¬¬p ≡ p, twice⟩
❡(¬¬p∧¬¬q)
= ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩
❡¬(¬p∨¬q)
= ⟨(1) Self-dual with p := (¬p∨¬q)⟩ ¬ ❡(¬p∨¬q) = ⟨(4) Distributivity of ❡ over ∨ with p,q := ¬p,¬q⟩ ¬( ❡¬p∨ ❡¬q) = ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩ ¬ ❡¬p∧¬ ❡¬q = ⟨(3) Linearity, twice⟩
❡p∧ ❡q
SLIDE 83 A Calculational Deductive System for Linear Temporal Logic
ACM Computing Surveys submission (August 2019) 20 Linearity follows from self-dual. (3) Linearity: Proof: (3.11) with —(1) Self-dual The proof that distributes over uses the distributivity of
. The proofs that it also distributes over and are similar. (4) Distributivity of
: Proof: (3.59) Implication (2) Distributivity of
(3.59) Implication with (3) Linearity
❡ ∨ ❡
(5) Distributivity of ❡ over ∧:
❡(p∧q) ≡ ❡p∧ ❡q
Proof:
❡(p∧q)
= ⟨(3.12) Double negation, ¬¬p ≡ p, twice⟩
❡(¬¬p∧¬¬q)
= ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩
❡¬(¬p∨¬q)
= ⟨(1) Self-dual with p := (¬p∨¬q)⟩ ¬ ❡(¬p∨¬q) = ⟨(4) Distributivity of ❡ over ∨ with p,q := ¬p,¬q⟩ ¬( ❡¬p∨ ❡¬q) = ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩ ¬ ❡¬p∧¬ ❡¬q = ⟨(3) Linearity, twice⟩
❡p∧ ❡q
SLIDE 84 A Calculational Deductive System for Linear Temporal Logic
ACM Computing Surveys submission (August 2019) 20 Linearity follows from self-dual. (3) Linearity: Proof: (3.11) with —(1) Self-dual The proof that distributes over uses the distributivity of
. The proofs that it also distributes over and are similar. (4) Distributivity of
: Proof: (3.59) Implication (2) Distributivity of
(3.59) Implication with (3) Linearity
❡ ∨ ❡
(5) Distributivity of ❡ over ∧:
❡(p∧q) ≡ ❡p∧ ❡q
Proof:
❡(p∧q)
= ⟨(3.12) Double negation, ¬¬p ≡ p, twice⟩
❡(¬¬p∧¬¬q)
= ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩
❡¬(¬p∨¬q)
= ⟨(1) Self-dual with p := (¬p∨¬q)⟩ ¬ ❡(¬p∨¬q) = ⟨(4) Distributivity of ❡ over ∨ with p,q := ¬p,¬q⟩ ¬( ❡¬p∨ ❡¬q) = ⟨(3.47b) De Morgan, ¬(p∨q) ≡ ¬p∧¬q⟩ ¬ ❡¬p∧¬ ❡¬q = ⟨(3) Linearity, twice⟩
❡p∧ ❡q
SLIDE 85
(6) Distributivity of over : (p q) p q Proof: Exercise for the student. Hint: Start with mutual implication.
A Calculational Deductive System for Linear Temporal Logic
SLIDE 86
e(p ⌅ ¬p) = ⇧(4) Distributivty of e over ⌅⌃ ep ⌅ e¬p = ⇧(1) Self-dual⌃ ep ⌅ ¬ ep = ⇧(3.28) Excluded middle p ⌅ ¬p with p := ep⌃ true (7) Truth of e: etrue true Proof: etrue = ⇧(3.28) Excluded middle p ⌅ ¬p⌃
A Calculational Deductive System for Linear Temporal Logic
SLIDE 87
e(p ⌅ ¬p) = ⇧(4) Distributivty of e over ⌅⌃ ep ⌅ e¬p = ⇧(1) Self-dual⌃ ep ⌅ ¬ ep = ⇧(3.28) Excluded middle p ⌅ ¬p with p := ep⌃ true (7) Truth of e: etrue true Proof: etrue = ⇧(3.28) Excluded middle p ⌅ ¬p⌃
A Calculational Deductive System for Linear Temporal Logic
SLIDE 88
e(p ⌅ ¬p) = ⇧(4) Distributivty of e over ⌅⌃ ep ⌅ e¬p = ⇧(1) Self-dual⌃ ep ⌅ ¬ ep = ⇧(3.28) Excluded middle p ⌅ ¬p with p := ep⌃ true (7) Truth of e: etrue true Proof: etrue = ⇧(3.28) Excluded middle p ⌅ ¬p⌃
A Calculational Deductive System for Linear Temporal Logic
SLIDE 89
e(p ⌅ ¬p) = ⇧(4) Distributivty of e over ⌅⌃ ep ⌅ e¬p = ⇧(1) Self-dual⌃ ep ⌅ ¬ ep = ⇧(3.28) Excluded middle p ⌅ ¬p with p := ep⌃ true (7) Truth of e: etrue true Proof: etrue = ⇧(3.28) Excluded middle p ⌅ ¬p⌃
A Calculational Deductive System for Linear Temporal Logic
SLIDE 90
e(p ⌅ ¬p) = ⇧(4) Distributivty of e over ⌅⌃ ep ⌅ e¬p = ⇧(1) Self-dual⌃ ep ⌅ ¬ ep = ⇧(3.28) Excluded middle p ⌅ ¬p with p := ep⌃ true (7) Truth of e: etrue true Proof: etrue = ⇧(3.28) Excluded middle p ⌅ ¬p⌃
A Calculational Deductive System for Linear Temporal Logic
SLIDE 91
e(p ⌅ ¬p) = ⇧(4) Distributivty of e over ⌅⌃ ep ⌅ e¬p = ⇧(1) Self-dual⌃ ep ⌅ ¬ ep = ⇧(3.28) Excluded middle p ⌅ ¬p with p := ep⌃ true (7) Truth of e: etrue true Proof: etrue = ⇧(3.28) Excluded middle p ⌅ ¬p⌃
A Calculational Deductive System for Linear Temporal Logic
SLIDE 92
e(p ⌅ ¬p) = ⇧(4) Distributivty of e over ⌅⌃ ep ⌅ e¬p = ⇧(1) Self-dual⌃ ep ⌅ ¬ ep = ⇧(3.28) Excluded middle p ⌅ ¬p with p := ep⌃ true (7) Truth of e: etrue true Proof: etrue = ⇧(3.28) Excluded middle p ⌅ ¬p⌃
A Calculational Deductive System for Linear Temporal Logic
SLIDE 93
e(p ⌅ ¬p) = ⇧(4) Distributivty of e over ⌅⌃ ep ⌅ e¬p = ⇧(1) Self-dual⌃ ep ⌅ ¬ ep = ⇧(3.28) Excluded middle p ⌅ ¬p with p := ep⌃ true (7) Truth of e: etrue true Proof: etrue = ⇧(3.28) Excluded middle p ⌅ ¬p⌃
A Calculational Deductive System for Linear Temporal Logic
SLIDE 94
e(p ⌅ ¬p) = ⇧(4) Distributivty of e over ⌅⌃ ep ⌅ e¬p = ⇧(1) Self-dual⌃ ep ⌅ ¬ ep = ⇧(3.28) Excluded middle p ⌅ ¬p with p := ep⌃ true (7) Truth of e: etrue true Proof: etrue = ⇧(3.28) Excluded middle p ⌅ ¬p⌃
A Calculational Deductive System for Linear Temporal Logic
SLIDE 95
(8) Falsehood of e: efalse false Proof: Exercise for the student.
A Calculational Deductive System for Linear Temporal Logic
SLIDE 96 Until U
(9) Axiom, Distributivity of
❡ over U : ❡(p U q) ≡ ❡p U ❡q
(10) Axiom, Expansion of U : p U q ≡ q ∨ (p ∧
❡(p U q))
(11) Axiom, Right zero of U : p U false ≡ false (12) Axiom, Left distributivity of U over ∨ : p U (q ∨ r) ≡ p U q ∨ p U r (13) Axiom, Right distributivity of U over ∨ : p U r ∨ q U r ⇒ (p ∨ q) U r (14) Axiom, Left distributivity of U over ∧ : p U (q ∧ r) ⇒ p U q ∧ p U r (15) Axiom, Right distributivity of U over ∧ : (p ∧ q) U r ≡ p U r ∧ q U r (16) Axiom, U implication ordering: p U q ∧ ¬q U r ⇒ p U r (17) Axiom, Right U ∨ ordering: p U (q U r) ⇒ (p ∨ q) U r (18) Axiom, Right ∧ U ordering: p U (q ∧ r) ⇒ (p U q) U r
A Calculational Deductive System for Linear Temporal Logic
SLIDE 97
∧ ∧ ⇒ (19) Right distributivity of U over ⇒: (p ⇒ q) U r ⇒ (p U r ⇒ q U r) (20) Right zero of U : p U true ≡ true (21) Left identity of U : false U q ≡ q (22) Idempotency of U : p U p ≡ p (23) U excluded middle: p U q ∨ p U ¬q (24) ¬p U (q U r) ∧ p U r ⇒ q U r
A Calculational Deductive System for Linear Temporal Logic
SLIDE 98 Draft (November 14, 2017) 22 with as the left argument is the basis of the definition of the eventually operator in Section 3.3. (20) Right zero of : (21) Left identity of : Theorem (22) shows that the until operator is idempotent. Theorem (23) is the until version of excluded middle. Theorem (28) is interesting because it relates the temporal expression on the left hand side to the propositional expression on the right hand side. (22) Idempotency of U : p U p ≡ p Proof: p U p = ⟨(10) Expansion of U ⟩ p∨(p∧ ❡(p U p)) = ⟨(3.43b) Absorption, p∨(p∧q) ≡ p with q := ❡(p U p)⟩ p (23) excluded middle: Proof: (Ravi Mohan) (12) Left distributivity of
(3.28) Excluded middle, (20) Right zero of (24) Proof: The proof is by (4.7.1) Truth implication. (17) Right
(3.59) Implication, (19) Right distributivity of
and (3.82a) Transitivity (3.65) Shunting,
A Calculational Deductive System for Linear Temporal Logic
SLIDE 99 Draft (November 14, 2017) 22 with as the left argument is the basis of the definition of the eventually operator in Section 3.3. (20) Right zero of : (21) Left identity of : Theorem (22) shows that the until operator is idempotent. Theorem (23) is the until version of excluded middle. Theorem (28) is interesting because it relates the temporal expression on the left hand side to the propositional expression on the right hand side. (22) Idempotency of U : p U p ≡ p Proof: p U p = ⟨(10) Expansion of U ⟩ p∨(p∧ ❡(p U p)) = ⟨(3.43b) Absorption, p∨(p∧q) ≡ p with q := ❡(p U p)⟩ p (23) excluded middle: Proof: (Ravi Mohan) (12) Left distributivity of
(3.28) Excluded middle, (20) Right zero of (24) Proof: The proof is by (4.7.1) Truth implication. (17) Right
(3.59) Implication, (19) Right distributivity of
and (3.82a) Transitivity (3.65) Shunting,
A Calculational Deductive System for Linear Temporal Logic
SLIDE 100 Draft (November 14, 2017) 22 with as the left argument is the basis of the definition of the eventually operator in Section 3.3. (20) Right zero of : (21) Left identity of : Theorem (22) shows that the until operator is idempotent. Theorem (23) is the until version of excluded middle. Theorem (28) is interesting because it relates the temporal expression on the left hand side to the propositional expression on the right hand side. (22) Idempotency of U : p U p ≡ p Proof: p U p = ⟨(10) Expansion of U ⟩ p∨(p∧ ❡(p U p)) = ⟨(3.43b) Absorption, p∨(p∧q) ≡ p with q := ❡(p U p)⟩ p (23) excluded middle: Proof: (Ravi Mohan) (12) Left distributivity of
(3.28) Excluded middle, (20) Right zero of (24) Proof: The proof is by (4.7.1) Truth implication. (17) Right
(3.59) Implication, (19) Right distributivity of
and (3.82a) Transitivity (3.65) Shunting,
A Calculational Deductive System for Linear Temporal Logic
SLIDE 101 Draft (November 14, 2017) 22 with as the left argument is the basis of the definition of the eventually operator in Section 3.3. (20) Right zero of : (21) Left identity of : Theorem (22) shows that the until operator is idempotent. Theorem (23) is the until version of excluded middle. Theorem (28) is interesting because it relates the temporal expression on the left hand side to the propositional expression on the right hand side. (22) Idempotency of U : p U p ≡ p Proof: p U p = ⟨(10) Expansion of U ⟩ p∨(p∧ ❡(p U p)) = ⟨(3.43b) Absorption, p∨(p∧q) ≡ p with q := ❡(p U p)⟩ p (23) excluded middle: Proof: (Ravi Mohan) (12) Left distributivity of
(3.28) Excluded middle, (20) Right zero of (24) Proof: The proof is by (4.7.1) Truth implication. (17) Right
(3.59) Implication, (19) Right distributivity of
and (3.82a) Transitivity (3.65) Shunting,
A Calculational Deductive System for Linear Temporal Logic
SLIDE 102 Draft (November 14, 2017) 22 with as the left argument is the basis of the definition of the eventually operator in Section 3.3. (20) Right zero of : (21) Left identity of : Theorem (22) shows that the until operator is idempotent. Theorem (23) is the until version of excluded middle. Theorem (28) is interesting because it relates the temporal expression on the left hand side to the propositional expression on the right hand side. (22) Idempotency of U : p U p ≡ p Proof: p U p = ⟨(10) Expansion of U ⟩ p∨(p∧ ❡(p U p)) = ⟨(3.43b) Absorption, p∨(p∧q) ≡ p with q := ❡(p U p)⟩ p (23) excluded middle: Proof: (Ravi Mohan) (12) Left distributivity of
(3.28) Excluded middle, (20) Right zero of (24) Proof: The proof is by (4.7.1) Truth implication. (17) Right
(3.59) Implication, (19) Right distributivity of
and (3.82a) Transitivity (3.65) Shunting,
A Calculational Deductive System for Linear Temporal Logic
SLIDE 103 Draft (November 14, 2017) 22 with as the left argument is the basis of the definition of the eventually operator in Section 3.3. (20) Right zero of : (21) Left identity of : Theorem (22) shows that the until operator is idempotent. Theorem (23) is the until version of excluded middle. Theorem (28) is interesting because it relates the temporal expression on the left hand side to the propositional expression on the right hand side. (22) Idempotency of U : p U p ≡ p Proof: p U p = ⟨(10) Expansion of U ⟩ p∨(p∧ ❡(p U p)) = ⟨(3.43b) Absorption, p∨(p∧q) ≡ p with q := ❡(p U p)⟩ p (23) excluded middle: Proof: (Ravi Mohan) (12) Left distributivity of
(3.28) Excluded middle, (20) Right zero of (24) Proof: The proof is by (4.7.1) Truth implication. (17) Right
(3.59) Implication, (19) Right distributivity of
and (3.82a) Transitivity (3.65) Shunting,
A Calculational Deductive System for Linear Temporal Logic
SLIDE 104
(25) p U (¬q U r) ∧ q U r ⇒ p U r (26) p U q ∧ ¬q U p ⇒ p (27) p ∧ ¬p U q ⇒ q (28) p U q ⇒ p ∨ q (29) U insertion: q ⇒ p U q (30) p ∧ q ⇒ p U q
A Calculational Deductive System for Linear Temporal Logic
SLIDE 105
Draft (November 14, 2017) 24 (29) U Insertion: q ⇒ p U q Proof: p U q = ⟨(10) Expansion of U ⟩ q∨(p∧ ❡(p U q)) ⇐ ⟨(3.76a) Weakening, p ⇒ p∨q⟩ q (30) Proof: (3.76b) Strengthening, (29) insertion This system has the following five absorption properties that do not seem to appear in the temporal logic literature. (31) Absorption: Proof: (10) Expansion of (3.43b) Absorption (32) Absorption: Proof: (3.57) Definition of implication, which is (29). (33) Absorption: Proof: A Calculational Deductive System for Linear Temporal Logic
SLIDE 106
Draft (November 14, 2017) 24 (29) U Insertion: q ⇒ p U q Proof: p U q = ⟨(10) Expansion of U ⟩ q∨(p∧ ❡(p U q)) ⇐ ⟨(3.76a) Weakening, p ⇒ p∨q⟩ q (30) Proof: (3.76b) Strengthening, (29) insertion This system has the following five absorption properties that do not seem to appear in the temporal logic literature. (31) Absorption: Proof: (10) Expansion of (3.43b) Absorption (32) Absorption: Proof: (3.57) Definition of implication, which is (29). (33) Absorption: Proof: A Calculational Deductive System for Linear Temporal Logic
SLIDE 107
Draft (November 14, 2017) 24 (29) U Insertion: q ⇒ p U q Proof: p U q = ⟨(10) Expansion of U ⟩ q∨(p∧ ❡(p U q)) ⇐ ⟨(3.76a) Weakening, p ⇒ p∨q⟩ q (30) Proof: (3.76b) Strengthening, (29) insertion This system has the following five absorption properties that do not seem to appear in the temporal logic literature. (31) Absorption: Proof: (10) Expansion of (3.43b) Absorption (32) Absorption: Proof: (3.57) Definition of implication, which is (29). (33) Absorption: Proof: A Calculational Deductive System for Linear Temporal Logic
SLIDE 108
Draft (November 14, 2017) 24 (29) U Insertion: q ⇒ p U q Proof: p U q = ⟨(10) Expansion of U ⟩ q∨(p∧ ❡(p U q)) ⇐ ⟨(3.76a) Weakening, p ⇒ p∨q⟩ q (30) Proof: (3.76b) Strengthening, (29) insertion This system has the following five absorption properties that do not seem to appear in the temporal logic literature. (31) Absorption: Proof: (10) Expansion of (3.43b) Absorption (32) Absorption: Proof: (3.57) Definition of implication, which is (29). (33) Absorption: Proof: A Calculational Deductive System for Linear Temporal Logic
SLIDE 109
Draft (November 14, 2017) 24 (29) U Insertion: q ⇒ p U q Proof: p U q = ⟨(10) Expansion of U ⟩ q∨(p∧ ❡(p U q)) ⇐ ⟨(3.76a) Weakening, p ⇒ p∨q⟩ q (30) Proof: (3.76b) Strengthening, (29) insertion This system has the following five absorption properties that do not seem to appear in the temporal logic literature. (31) Absorption: Proof: (10) Expansion of (3.43b) Absorption (32) Absorption: Proof: (3.57) Definition of implication, which is (29). (33) Absorption: Proof: A Calculational Deductive System for Linear Temporal Logic
SLIDE 110
Draft (November 14, 2017) 24 (29) U Insertion: q ⇒ p U q Proof: p U q = ⟨(10) Expansion of U ⟩ q∨(p∧ ❡(p U q)) ⇐ ⟨(3.76a) Weakening, p ⇒ p∨q⟩ q (30) Proof: (3.76b) Strengthening, (29) insertion This system has the following five absorption properties that do not seem to appear in the temporal logic literature. (31) Absorption: Proof: (10) Expansion of (3.43b) Absorption (32) Absorption: Proof: (3.57) Definition of implication, which is (29). (33) Absorption: Proof: A Calculational Deductive System for Linear Temporal Logic
SLIDE 111
⇒ (30) p ∧ q ⇒ p U q (31) Absorption: p ∨ p U q ≡ p ∨ q (32) Absorption: p U q ∨ q ≡ p U q (33) Absorption: p U q ∧ q ≡ q (34) Absorption: p U q ∨ (p ∧ q) ≡ p U q (35) Absorption: p U q ∧ (p ∨ q) ≡ p U q (36) Left absorption of U : p U (p U q) ≡ p U q (37) Right absorption of U : (p U q) U q ≡ p U q
A Calculational Deductive System for Linear Temporal Logic
SLIDE 112 Eventually
q ≡ true U q
A Calculational Deductive System for Linear Temporal Logic
SLIDE 113 Draft October 31, 2018 7 (25) (26) (27) (28) (29) insertion: (30) (31) Absorption: (32) Absorption: (33) Absorption: (34) Absorption: (35) Absorption: (36) Left absorption of : (37) Right absorption of :
Eventually
(38) Definition of :
(39) Absorption of into U : p U q ∧ q ≡ p U q (40) Absorption of U into : p U q ∨ q ≡ q (41) Absorption of U into : p U q ≡ q (42) Eventuality: p U q ⇒ q (43) Truth of : true ≡ true (44) Falsehood of : false ≡ false (45) Expansion of : p ≡ p ∨
❡ p
(46) Weakening of : p ⇒ p (47) Weakening of :
❡p ⇒ p
(48) Absorption of into : (49) Absorption of into : (50) Absorption of : (51) Exchange of and : (52) Distributivity of
: (53) Distributivity of
:
A Calculational Deductive System for Linear Temporal Logic
SLIDE 114 Draft (October 31, 2018) 24 (41) Absorption of into : (42) Eventuality: (43) Truth of : (44) Falsehood of : Expansion of , like expansion of , has two disjuncts. The first describes the current state and the second contains the operation in the next state. The expansion of follows directly from the expansion of . The two weakening theorems (46) and (47) follow directly from expansion of . (45) Expansion of :
(46) Weakening of : p ⇒ p Proof: p = ⟨(45) Expansion of ⟩ p∨ ❡ p ⇐ ⟨(3.76a) Weakening the consequent, p ⇒ p∨q⟩ p (47) Weakening of :
❡
The two absorption theorems (48) and (49) do not seem to appear in the temporal logic
- literature. The following four theorems (50), (51), (52), and (53) are common to all temporal
logic systems. (48) Absorption of into : (49) Absorption of into : (50) Absorption of : (51) Exchange of and : (52) Distributivity of
: (53) Distributivity of
:
A Calculational Deductive System for Linear Temporal Logic
SLIDE 115 Draft (October 31, 2018) 24 (41) Absorption of into : (42) Eventuality: (43) Truth of : (44) Falsehood of : Expansion of , like expansion of , has two disjuncts. The first describes the current state and the second contains the operation in the next state. The expansion of follows directly from the expansion of . The two weakening theorems (46) and (47) follow directly from expansion of . (45) Expansion of :
(46) Weakening of : p ⇒ p Proof: p = ⟨(45) Expansion of ⟩ p∨ ❡ p ⇐ ⟨(3.76a) Weakening the consequent, p ⇒ p∨q⟩ p (47) Weakening of :
❡
The two absorption theorems (48) and (49) do not seem to appear in the temporal logic
- literature. The following four theorems (50), (51), (52), and (53) are common to all temporal
logic systems. (48) Absorption of into : (49) Absorption of into : (50) Absorption of : (51) Exchange of and : (52) Distributivity of
: (53) Distributivity of
:
A Calculational Deductive System for Linear Temporal Logic
SLIDE 116 Draft (October 31, 2018) 24 (41) Absorption of into : (42) Eventuality: (43) Truth of : (44) Falsehood of : Expansion of , like expansion of , has two disjuncts. The first describes the current state and the second contains the operation in the next state. The expansion of follows directly from the expansion of . The two weakening theorems (46) and (47) follow directly from expansion of . (45) Expansion of :
(46) Weakening of : p ⇒ p Proof: p = ⟨(45) Expansion of ⟩ p∨ ❡ p ⇐ ⟨(3.76a) Weakening the consequent, p ⇒ p∨q⟩ p (47) Weakening of :
❡
The two absorption theorems (48) and (49) do not seem to appear in the temporal logic
- literature. The following four theorems (50), (51), (52), and (53) are common to all temporal
logic systems. (48) Absorption of into : (49) Absorption of into : (50) Absorption of : (51) Exchange of and : (52) Distributivity of
: (53) Distributivity of
:
A Calculational Deductive System for Linear Temporal Logic
SLIDE 117 Draft (October 31, 2018) 24 (41) Absorption of into : (42) Eventuality: (43) Truth of : (44) Falsehood of : Expansion of , like expansion of , has two disjuncts. The first describes the current state and the second contains the operation in the next state. The expansion of follows directly from the expansion of . The two weakening theorems (46) and (47) follow directly from expansion of . (45) Expansion of :
(46) Weakening of : p ⇒ p Proof: p = ⟨(45) Expansion of ⟩ p∨ ❡ p ⇐ ⟨(3.76a) Weakening the consequent, p ⇒ p∨q⟩ p (47) Weakening of :
❡
The two absorption theorems (48) and (49) do not seem to appear in the temporal logic
- literature. The following four theorems (50), (51), (52), and (53) are common to all temporal
logic systems. (48) Absorption of into : (49) Absorption of into : (50) Absorption of : (51) Exchange of and : (52) Distributivity of
: (53) Distributivity of
:
A Calculational Deductive System for Linear Temporal Logic
SLIDE 118 Draft (October 31, 2018) 24 (41) Absorption of into : (42) Eventuality: (43) Truth of : (44) Falsehood of : Expansion of , like expansion of , has two disjuncts. The first describes the current state and the second contains the operation in the next state. The expansion of follows directly from the expansion of . The two weakening theorems (46) and (47) follow directly from expansion of . (45) Expansion of :
(46) Weakening of : p ⇒ p Proof: p = ⟨(45) Expansion of ⟩ p∨ ❡ p ⇐ ⟨(3.76a) Weakening the consequent, p ⇒ p∨q⟩ p (47) Weakening of :
❡
The two absorption theorems (48) and (49) do not seem to appear in the temporal logic
- literature. The following four theorems (50), (51), (52), and (53) are common to all temporal
logic systems. (48) Absorption of into : (49) Absorption of into : (50) Absorption of : (51) Exchange of and : (52) Distributivity of
: (53) Distributivity of
:
A Calculational Deductive System for Linear Temporal Logic
SLIDE 119 Draft October 31, 2018 7 (25) (26) (27) (28) (29) insertion: (30) (31) Absorption: (32) Absorption: (33) Absorption: (34) Absorption: (35) Absorption: (36) Left absorption of : (37) Right absorption of :
Eventually
(38) Definition of : (39) Absorption of into : (40) Absorption of into : (41) Absorption of into : (42) Eventuality: (43) Truth of : (44) Falsehood of : (45) Expansion of : (46) Weakening of : (47) Weakening of :
❡ ⇒
(48) Absorption of ∨ into : p ∨ p ≡ p (49) Absorption of into ∧: p ∧ p ≡ p (50) Absorption of : p ≡ p (51) Exchange of
❡ and : ❡ p ≡ ❡p
(52) Distributivity of over ∨: (p ∨ q) ≡ p ∨ q (53) Distributivity of over ∧: (p ∧ q) ⇒ p ∧ q
A Calculational Deductive System for Linear Temporal Logic
SLIDE 120 Draft October 31, 2018 8
Always
Definition of : p ≡ ¬ ¬p (55) Axiom, U Induction: (p ⇒ ( ❡p ∧ q) ∨ r) ⇒ (p ⇒ q ∨ q U r) (56) Axiom, U Induction: (p ⇒
❡(p ∨ q)) ⇒ (p ⇒ p ∨ p U q)
(57) Induction:
❡
(58) Induction: (59) (60) Dual of : (61) Dual of : (62) Dual of : (63) Dual of : (64) Truth of : (65) Falsehood of : (66) Expansion of : (67) Expansion of : (68) Absorption of into : (69) Absorption of into : (70) Absorption of into : (71) Absorption of into : (72) Absorption of : (73) Exchange of and : (74) (75) (76) Strengthening of : (77) Strengthening of : (78) Strengthening of : (79) Strengthening of : (80) generalization: (81)
A Calculational Deductive System for Linear Temporal Logic
SLIDE 121 Draft October 31, 2018 8
Always
(54) Definition of : (55) Axiom, Induction: (56) Axiom, Induction:
❡
∨ ⇒ (57) Induction: (p ⇒
❡p) ⇒ (p ⇒ p)
(58) Induction: ( ❡p ⇒ p) ⇒ ( p ⇒ p) (59) p ≡ ¬ ¬p (60) Dual of : ¬ p ≡ ¬p (61) Dual of : ¬ p ≡ ¬p (62) Dual of : ¬ p ≡ ¬p (63) Dual of : ¬ p ≡ ¬p (64) Truth of : (65) Falsehood of : (66) Expansion of : (67) Expansion of : (68) Absorption of into : (69) Absorption of into : (70) Absorption of into : (71) Absorption of into : (72) Absorption of : (73) Exchange of and : (74) (75) (76) Strengthening of : (77) Strengthening of : (78) Strengthening of : (79) Strengthening of : (80) generalization: (81)
A Calculational Deductive System for Linear Temporal Logic
SLIDE 122 Duality: ¬ A
A time ⇥ false true
- i
- M. Ben-Ari. Principles of Concurrent and Distributed Programming, Second edition c
- M. Ben-Ari 2006
Slide 4.4
Draft (October 31, 2018) 25 The induction theorem (57) is common to many systems. It follows from (56) with . The negation of the dual of theorem (58) is equivalent to theorem (57). Theorem (59) expresses in terms of and is the dual of the defining equation (54). (57) Induction: (58) Induction: (59) Whereas the next operator is its own dual, the eventually operator and the always
are mutually dual, as are and . Each of the following four theorems can be proved directly without invoking (2.3) Metatheorem Duality. However, with and defined as the expressions and , the dual expressions are and . Because theorem (60) is the expression and theorem (61) is the expression , the validity of (61) can be asserted by invoking (2.3b) Metatheorem Duality with theorem (60). Similarly, the validity of (63) can be asserted by invoking duality with theorem (62). (60) Dual of : ¬ p ≡ ¬p (61) Dual of : Proof: (54) Definition of (3.12) Double negation, (62) Dual of : (63) Dual of : Theorems (64) and (65), Truth and Falsehood of , are unique to this system. (64) Truth of : (65) Falsehood of : While the expansions of and have two disjuncts, the expansion of has two con-
- juncts. As usual, the first describes the current state and the second contains the operation
in the next state. Theorem (66) is the dual of (45) which can be used in its direct proof. (66) Expansion of : (67) Expansion of :
SLIDE 123 Draft (October 31, 2018) 25 The induction theorem (57) is common to many systems. It follows from (56) with . The negation of the dual of theorem (58) is equivalent to theorem (57). Theorem (59) expresses in terms of and is the dual of the defining equation (54). (57) Induction: (58) Induction: (59) Whereas the next operator is its own dual, the eventually operator and the always
are mutually dual, as are and . Each of the following four theorems can be proved directly without invoking (2.3) Metatheorem Duality. However, with and defined as the expressions and , the dual expressions are and . Because theorem (60) is the expression and theorem (61) is the expression , the validity of (61) can be asserted by invoking (2.3b) Metatheorem Duality with theorem (60). Similarly, the validity of (63) can be asserted by invoking duality with theorem (62). (60) Dual of :
Dual of : ¬ p ≡ ¬p Proof: ¬p = ⟨(54) Definition of ⟩ ¬¬¬p = ⟨(3.12) Double negation, ¬¬p ≡ p⟩ ¬ p (62) Dual of : (63) Dual of : Theorems (64) and (65), Truth and Falsehood of , are unique to this system. (64) Truth of : (65) Falsehood of : While the expansions of and have two disjuncts, the expansion of has two con-
- juncts. As usual, the first describes the current state and the second contains the operation
in the next state. Theorem (66) is the dual of (45) which can be used in its direct proof. (66) Expansion of : (67) Expansion of :
A Calculational Deductive System for Linear Temporal Logic
SLIDE 124 Draft (October 31, 2018) 25 The induction theorem (57) is common to many systems. It follows from (56) with . The negation of the dual of theorem (58) is equivalent to theorem (57). Theorem (59) expresses in terms of and is the dual of the defining equation (54). (57) Induction: (58) Induction: (59) Whereas the next operator is its own dual, the eventually operator and the always
are mutually dual, as are and . Each of the following four theorems can be proved directly without invoking (2.3) Metatheorem Duality. However, with and defined as the expressions and , the dual expressions are and . Because theorem (60) is the expression and theorem (61) is the expression , the validity of (61) can be asserted by invoking (2.3b) Metatheorem Duality with theorem (60). Similarly, the validity of (63) can be asserted by invoking duality with theorem (62). (60) Dual of :
Dual of : ¬ p ≡ ¬p Proof: ¬p = ⟨(54) Definition of ⟩ ¬¬¬p = ⟨(3.12) Double negation, ¬¬p ≡ p⟩ ¬ p (62) Dual of : (63) Dual of : Theorems (64) and (65), Truth and Falsehood of , are unique to this system. (64) Truth of : (65) Falsehood of : While the expansions of and have two disjuncts, the expansion of has two con-
- juncts. As usual, the first describes the current state and the second contains the operation
in the next state. Theorem (66) is the dual of (45) which can be used in its direct proof. (66) Expansion of : (67) Expansion of :
A Calculational Deductive System for Linear Temporal Logic
SLIDE 125 Draft (October 31, 2018) 25 The induction theorem (57) is common to many systems. It follows from (56) with . The negation of the dual of theorem (58) is equivalent to theorem (57). Theorem (59) expresses in terms of and is the dual of the defining equation (54). (57) Induction: (58) Induction: (59) Whereas the next operator is its own dual, the eventually operator and the always
are mutually dual, as are and . Each of the following four theorems can be proved directly without invoking (2.3) Metatheorem Duality. However, with and defined as the expressions and , the dual expressions are and . Because theorem (60) is the expression and theorem (61) is the expression , the validity of (61) can be asserted by invoking (2.3b) Metatheorem Duality with theorem (60). Similarly, the validity of (63) can be asserted by invoking duality with theorem (62). (60) Dual of :
Dual of : ¬ p ≡ ¬p Proof: ¬p = ⟨(54) Definition of ⟩ ¬¬¬p = ⟨(3.12) Double negation, ¬¬p ≡ p⟩ ¬ p (62) Dual of : (63) Dual of : Theorems (64) and (65), Truth and Falsehood of , are unique to this system. (64) Truth of : (65) Falsehood of : While the expansions of and have two disjuncts, the expansion of has two con-
- juncts. As usual, the first describes the current state and the second contains the operation
in the next state. Theorem (66) is the dual of (45) which can be used in its direct proof. (66) Expansion of : (67) Expansion of :
A Calculational Deductive System for Linear Temporal Logic
SLIDE 126 Draft (October 31, 2018) 25 The induction theorem (57) is common to many systems. It follows from (56) with . The negation of the dual of theorem (58) is equivalent to theorem (57). Theorem (59) expresses in terms of and is the dual of the defining equation (54). (57) Induction: (58) Induction: (59) Whereas the next operator is its own dual, the eventually operator and the always
are mutually dual, as are and . Each of the following four theorems can be proved directly without invoking (2.3) Metatheorem Duality. However, with and defined as the expressions and , the dual expressions are and . Because theorem (60) is the expression and theorem (61) is the expression , the validity of (61) can be asserted by invoking (2.3b) Metatheorem Duality with theorem (60). Similarly, the validity of (63) can be asserted by invoking duality with theorem (62). (60) Dual of :
Dual of : ¬ p ≡ ¬p Proof: ¬p = ⟨(54) Definition of ⟩ ¬¬¬p = ⟨(3.12) Double negation, ¬¬p ≡ p⟩ ¬ p (62) Dual of : (63) Dual of : Theorems (64) and (65), Truth and Falsehood of , are unique to this system. (64) Truth of : (65) Falsehood of : While the expansions of and have two disjuncts, the expansion of has two con-
- juncts. As usual, the first describes the current state and the second contains the operation
in the next state. Theorem (66) is the dual of (45) which can be used in its direct proof. (66) Expansion of : (67) Expansion of :
A Calculational Deductive System for Linear Temporal Logic
SLIDE 127 Draft (October 31, 2018) 25 The induction theorem (57) is common to many systems. It follows from (56) with . The negation of the dual of theorem (58) is equivalent to theorem (57). Theorem (59) expresses in terms of and is the dual of the defining equation (54). (57) Induction: (58) Induction: (59) Whereas the next operator is its own dual, the eventually operator and the always
are mutually dual, as are and . Each of the following four theorems can be proved directly without invoking (2.3) Metatheorem Duality. However, with and defined as the expressions and , the dual expressions are and . Because theorem (60) is the expression and theorem (61) is the expression , the validity of (61) can be asserted by invoking (2.3b) Metatheorem Duality with theorem (60). Similarly, the validity of (63) can be asserted by invoking duality with theorem (62). (60) Dual of :
Dual of : ¬ p ≡ ¬p Proof: ¬p = ⟨(54) Definition of ⟩ ¬¬¬p = ⟨(3.12) Double negation, ¬¬p ≡ p⟩ ¬ p (62) Dual of : (63) Dual of : Theorems (64) and (65), Truth and Falsehood of , are unique to this system. (64) Truth of : (65) Falsehood of : While the expansions of and have two disjuncts, the expansion of has two con-
- juncts. As usual, the first describes the current state and the second contains the operation
in the next state. Theorem (66) is the dual of (45) which can be used in its direct proof. (66) Expansion of : (67) Expansion of :
A Calculational Deductive System for Linear Temporal Logic
SLIDE 128 Duality: ¬ A
time ⇥ false true
A
- M. Ben-Ari. Principles of Concurrent and Distributed Programming, Second edition c
- M. Ben-Ari 2006
Slide 4.5
Draft (October 31, 2018) 25 The induction theorem (57) is common to many systems. It follows from (56) with . The negation of the dual of theorem (58) is equivalent to theorem (57). Theorem (59) expresses in terms of and is the dual of the defining equation (54). (57) Induction: (58) Induction: (59) Whereas the next operator is its own dual, the eventually operator and the always
are mutually dual, as are and . Each of the following four theorems can be proved directly without invoking (2.3) Metatheorem Duality. However, with and defined as the expressions and , the dual expressions are and . Because theorem (60) is the expression and theorem (61) is the expression , the validity of (61) can be asserted by invoking (2.3b) Metatheorem Duality with theorem (60). Similarly, the validity of (63) can be asserted by invoking duality with theorem (62). (60) Dual of :
Dual of : ¬ p ≡ ¬p Proof: (54) Definition of (3.12) Double negation, (62) Dual of : (63) Dual of : Theorems (64) and (65), Truth and Falsehood of , are unique to this system. (64) Truth of : (65) Falsehood of : While the expansions of and have two disjuncts, the expansion of has two con-
- juncts. As usual, the first describes the current state and the second contains the operation
in the next state. Theorem (66) is the dual of (45) which can be used in its direct proof. (66) Expansion of : (67) Expansion of :
SLIDE 129
Draft October 31, 2018 8
Always
(54) Definition of : (55) Axiom, Induction: (56) Axiom, Induction: (57) Induction: (58) Induction: (59) (60) Dual of : (61) Dual of : (62) Dual of : (63) Dual of : ¬ ≡ ¬ (64) Truth of : true ≡ true (65) Falsehood of : false ≡ false (66) Expansion of : p ≡ p ∧
❡ p
(67) Expansion of : p ≡ p ∧
❡p ∧ ❡ p
(68) Absorption of into : (69) Absorption of into : (70) Absorption of into : (71) Absorption of into : (72) Absorption of : (73) Exchange of and : (74) (75) (76) Strengthening of : (77) Strengthening of : (78) Strengthening of : (79) Strengthening of : (80) generalization: (81)
A Calculational Deductive System for Linear Temporal Logic
SLIDE 130 Draft October 31, 2018 8
Always
(54) Definition of : (55) Axiom, Induction: (56) Axiom, Induction: (57) Induction: (58) Induction: (59) (60) Dual of : (61) Dual of : (62) Dual of : (63) Dual of : (64) Truth of : (65) Falsehood of : (66) Expansion of : (67) Expansion of :
∧
❡ ∧ ❡
(68) Absorption of ∧ into : p ∧ p ≡ p (69) Absorption of into ∨: p ∨ p ≡ p (70) Absorption of into : p ∧ p ≡ p (71) Absorption of into : p ∨ p ≡ p (72) Absorption of : p ≡ p (73) Exchange of
❡ and : ❡ p ≡ ❡p
(74) p ⇒ p ≡ p ⇒
❡ p
(75)
❡
(76) Strengthening of : (77) Strengthening of : (78) Strengthening of : (79) Strengthening of : (80) generalization: (81)
A Calculational Deductive System for Linear Temporal Logic
SLIDE 131
Draft October 31, 2018 8
Always
(54) Definition of : (55) Axiom, Induction: (56) Axiom, Induction: (57) Induction: (58) Induction: (59) (60) Dual of : (61) Dual of : (62) Dual of : (63) Dual of : (64) Truth of : (65) Falsehood of : (66) Expansion of : (67) Expansion of : (68) Absorption of into : (69) Absorption of into : (70) Absorption of into : (71) Absorption of into : (72) Absorption of : (73) Exchange of and : (74) ⇒ ≡ ⇒
❡
(75) p ∧ ¬p ⇒ (p ∧
❡¬p)
(76) Strengthening of : p ⇒ p (77) Strengthening of : p ⇒ p (78) Strengthening of : p ⇒
❡p
(79) Strengthening of : p ⇒
❡ p
(80)
❡ generalization:
p ⇒ ❡p (81) p ⇒ ¬(q U ¬p) A Calculational Deductive System for Linear Temporal Logic
SLIDE 132 Draft October 31, 2018 9
Temporal deduction
(82) Temporal deduction: To prove P1 ∧ P2 ⇒ Q, assume P1 and P2, and prove Q. You cannot use textual substitution in P1 or P2.
Always, continued
(83) Distributivity of
: (84) implication: (85) Right monotonicity of : (86) Left monotonicity of : (87) Distributivity of
: (88) Distributivity of
: (89) excluded middle: (90) excluded middle: (91) Temporal excluded middle: (92) contradiction: (93) contradiction: (94) Temporal contradiction: (95) excluded middle: (96) excluded middle: (97) contradiction: (98) contradiction: (99) Distributivity of
: (100) Distributivity of
: (101) Logical equivalence law of : (102) Logical equivalence law of : (103) Logical equivalence law of : (104) Distributivity of
: (105) Distributivity of
: (106) frame law of : (107) frame law of : (108) frame law of :
A Calculational Deductive System for Linear Temporal Logic
SLIDE 133 Draft October 31, 2018 9
Temporal deduction
(82) Temporal deduction: To prove , assume and , and prove . You cannot use textual substitution in
.
Always, continued
(83) Distributivity of ∧ over U : p ∧ q U r ⇒ (p ∧ q) U (p ∧ r) (84) U implication: p ∧ q ⇒ p U q (85) Right monotonicity of U : (p ⇒ q) ⇒ (r U p ⇒ r U q) (86) Left monotonicity of U : (p ⇒ q) ⇒ (p U r ⇒ q U r) (87) Distributivity of ¬ over : ¬p ⇒ ¬ p (88) Distributivity of over ∧: p ∧ q ⇒ (p ∧ q) (89) excluded middle: (90) excluded middle: (91) Temporal excluded middle: (92) contradiction: (93) contradiction: (94) Temporal contradiction: (95) excluded middle: (96) excluded middle: (97) contradiction: (98) contradiction: (99) Distributivity of
: (100) Distributivity of
: (101) Logical equivalence law of : (102) Logical equivalence law of : (103) Logical equivalence law of : (104) Distributivity of
: (105) Distributivity of
: (106) frame law of : (107) frame law of : (108) frame law of :
A Calculational Deductive System for Linear Temporal Logic
SLIDE 134 Draft October 31, 2018 9
Temporal deduction
(82) Temporal deduction: To prove , assume and , and prove . You cannot use textual substitution in
.
Always, continued
(83) Distributivity of
: (84) implication: (85) Right monotonicity of : (86) Left monotonicity of : (87) Distributivity of
: (88) Distributivity of over ∧:
⇒ ∧ (89) excluded middle: p ∨ ¬p (90) excluded middle: p ∨ ¬p (91) Temporal excluded middle: p ∨ ¬p (92) contradiction: p ∧ ¬p ≡ false (93) contradiction: p ∧ ¬p ≡ false (94) Temporal contradiction: p ∧ ¬p ≡ false (95) excluded middle: p ∨ ¬p (96) excluded middle: p ∨ ¬p (97) contradiction: p ∧ ¬p ≡ false (98) contradiction: p ∧ ¬p ≡ false (99) Distributivity of
: (100) Distributivity of
: (101) Logical equivalence law of : (102) Logical equivalence law of : (103) Logical equivalence law of : (104) Distributivity of
: (105) Distributivity of
: (106) frame law of : (107) frame law of : (108) frame law of :
A Calculational Deductive System for Linear Temporal Logic
SLIDE 135 Draft October 31, 2018 9
Temporal deduction
(82) Temporal deduction: To prove , assume and , and prove . You cannot use textual substitution in
.
Always, continued
(83) Distributivity of
: (84) implication: (85) Right monotonicity of : (86) Left monotonicity of : (87) Distributivity of
: (88) Distributivity of
: (89) excluded middle: (90) excluded middle: (91) Temporal excluded middle: (92) contradiction: (93) contradiction: (94) Temporal contradiction: (95) excluded middle: (96) excluded middle: (97) contradiction: (98) contradiction: ∧ ¬ ≡ (99) Distributivity of over ∧: (p ∧ q) ≡ p ∧ q (100) Distributivity of over ∨: p ∨ q ⇒ (p ∨ q) (101) Logical equivalence law of
❡:
(p ≡ q) ⇒ ( ❡p ≡
❡q)
(102) Logical equivalence law of : (p ≡ q) ⇒ ( p ≡ q) (103) Logical equivalence law of : (p ≡ q) ⇒ ( p ≡ q) (104) Distributivity of over ⇒: (p ⇒ q) ≡ ( p ⇒ q) (105) Distributivity of over ⇒: ( p ⇒ q) ⇒ (p ⇒ q) (106) frame law of
❡: ❡ ❡
(107) frame law of : (108) frame law of :
A Calculational Deductive System for Linear Temporal Logic
SLIDE 136 Draft October 31, 2018 11
Proof metatheorems
(136) Metatheorem: P is a theorem iff P is a theorem. (137) Metatheorem
❡:
If P ⇒ Q is a theorem then
❡P ⇒ ❡Q is a theorem.
(138) Metatheorem : If P ⇒ Q is a theorem then P ⇒ Q is a theorem. (139) Metatheorem : If P ⇒ Q is a theorem then P ⇒ Q is a theorem.
Always, continued
(140) implication: (141) Absorption of into : (142) Right strengthening: (143) Left strengthening: (144) Left
(145) implication: (146) excluded middle: (147) contradiction: (148) frame law of : (149) frame law of : (150) frame law of : (151) Absorption of into : (152) Absorption of into : (153) Absorption of : (154) Absorption of : (155) Absorption of into : (156) Absorption of into : (157) Monotonicity of : (158) Monotonicity of : (159) Distributivity of
: (160) Distributivity of
: (161) Distributivity of
: (162) Distributivity of
: (163) Eventual latching: (164) (165) (166) (167) (168) Progress proof rule:
A Calculational Deductive System for Linear Temporal Logic
SLIDE 137 Draft October 31, 2018 11
Proof metatheorems
(136) Metatheorem: is a theorem iff is a theorem. (137) Metatheorem : If is a theorem then is a theorem. (138) Metatheorem : If is a theorem then is a theorem. (139) Metatheorem : If is a theorem then is a theorem.
Always, continued
(140) implication: (141) Absorption of into : (142) Right strengthening: (143) Left strengthening: (144) Left
(145) implication: (146) excluded middle: (147) contradiction: (148) frame law of : (149) frame law of : (150) frame law of :
⇒ (151) Absorption of into : p ≡ p (152) Absorption of into : p ≡ p (153) Absorption of : p ≡ p (154) Absorption of : p ≡ p (155) Absorption of
❡ into : ❡
(156) Absorption of into : (157) Monotonicity of : (158) Monotonicity of : (159) Distributivity of
: (160) Distributivity of
: (161) Distributivity of
: (162) Distributivity of
: (163) Eventual latching: (164) (165) (166) (167) (168) Progress proof rule:
A Calculational Deductive System for Linear Temporal Logic
SLIDE 138 Draft October 31, 2018 11
Proof metatheorems
(136) Metatheorem: is a theorem iff is a theorem. (137) Metatheorem : If is a theorem then is a theorem. (138) Metatheorem : If is a theorem then is a theorem. (139) Metatheorem : If is a theorem then is a theorem.
Always, continued
(140) implication: (141) Absorption of into : (142) Right strengthening: (143) Left strengthening: (144) Left
(145) implication: (146) excluded middle: (147) contradiction: (148) frame law of : (149) frame law of : (150) frame law of : (151) Absorption of into : (152) Absorption of into : (153) Absorption of : (154) Absorption of : (155) Absorption of into : (156) Absorption of into : (157) Monotonicity of : (158) Monotonicity of :
⇒ ⇒ (159) Distributivity of over ∧: (p ∧ q) ⇒ p ∧ q (160) Distributivity of over ∨: p ∨ q ⇒ (p ∨ q) (161) Distributivity of over ∨: (p ∨ q) ≡ p ∨ q (162) Distributivity of over ∧: (p ∧ q) ≡ p ∧ q (163) Eventual latching: (164) (165) (166) (167) (168) Progress proof rule:
A Calculational Deductive System for Linear Temporal Logic
SLIDE 139 ⇥A
A time ⇥ false true
- i
- M. Ben-Ari. Principles of Concurrent and Distributed Programming, Second edition c
- M. Ben-Ari 2006
Slide 4.7
SLIDE 140 ⇥A1 ⇤ ⇥A2
A1,A2 time ⇥ false true
- i
- M. Ben-Ari. Principles of Concurrent and Distributed Programming, Second edition c
- M. Ben-Ari 2006
Slide 4.10
Draft October 31, 2018 11
Proof metatheorems
(136) Metatheorem: is a theorem iff is a theorem. (137) Metatheorem : If is a theorem then is a theorem. (138) Metatheorem : If is a theorem then is a theorem. (139) Metatheorem : If is a theorem then is a theorem.
Always, continued
(140) implication: (141) Absorption of into : (142) Right strengthening: (143) Left strengthening: (144) Left
(145) implication: (146) excluded middle: (147) contradiction: (148) frame law of : (149) frame law of : (150) frame law of : (151) Absorption of into : (152) Absorption of into : (153) Absorption of : (154) Absorption of : (155) Absorption of into : (156) Absorption of into : (157) Monotonicity of : (158) Monotonicity of :
⇒ ⇒ (159) Distributivity of over ∧: (p ∧ q) ⇒ p ∧ q (160) Distributivity of
: (161) Distributivity of
: (162) Distributivity of
: (163) Eventual latching: (164) (165) (166) (167) (168) Progress proof rule:
SLIDE 141 ⇥A
A time ⇥ false true
- i
- M. Ben-Ari. Principles of Concurrent and Distributed Programming, Second edition c
- M. Ben-Ari 2006
Slide 4.6
SLIDE 142 ⇥A1 ⇤ ⇥A2
A1,A2 sk2 ⇥ time ⇥ false true
sk1
- M. Ben-Ari. Principles of Concurrent and Distributed Programming, Second edition c
- M. Ben-Ari 2006
Slide 4.9
Draft October 31, 2018 11
Proof metatheorems
(136) Metatheorem: is a theorem iff is a theorem. (137) Metatheorem : If is a theorem then is a theorem. (138) Metatheorem : If is a theorem then is a theorem. (139) Metatheorem : If is a theorem then is a theorem.
Always, continued
(140) implication: (141) Absorption of into : (142) Right strengthening: (143) Left strengthening: (144) Left
(145) implication: (146) excluded middle: (147) contradiction: (148) frame law of : (149) frame law of : (150) frame law of : (151) Absorption of into : (152) Absorption of into : (153) Absorption of : (154) Absorption of : (155) Absorption of into : (156) Absorption of into : (157) Monotonicity of : (158) Monotonicity of : (159) Distributivity of
: (160) Distributivity of
: (161) Distributivity of over ∨: ∨ ≡ ∨ (162) Distributivity of over ∧: (p ∧ q) ≡ p ∧ q (163) Eventual latching: (164) (165) (166) (167) (168) Progress proof rule:
SLIDE 143 Draft October 31, 2018 11
Proof metatheorems
(136) Metatheorem: is a theorem iff is a theorem. (137) Metatheorem : If is a theorem then is a theorem. (138) Metatheorem : If is a theorem then is a theorem. (139) Metatheorem : If is a theorem then is a theorem.
Always, continued
(140) implication: (141) Absorption of into : (142) Right strengthening: (143) Left strengthening: (144) Left
(145) implication: (146) excluded middle: (147) contradiction: (148) frame law of : (149) frame law of : (150) frame law of : (151) Absorption of into : (152) Absorption of into : (153) Absorption of : (154) Absorption of : (155) Absorption of into : (156) Absorption of into : (157) Monotonicity of : (158) Monotonicity of : (159) Distributivity of
: (160) Distributivity of
: (161) Distributivity of
: (162) Distributivity of
: (163) Eventual latching: (164) (165) (166) (167)
∧ ⇒
❡
⇒ ⇒
❡
(168) Progress proof rule: p ∧ ( p ⇒ q) ⇒ q
A Calculational Deductive System for Linear Temporal Logic