CoSc 450: Programming Paradigms 04 A Calculational Deductive System - - PowerPoint PPT Presentation

cosc 450 programming paradigms 04
SMART_READER_LITE
LIVE PREVIEW

CoSc 450: Programming Paradigms 04 A Calculational Deductive System - - PowerPoint PPT Presentation

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),


slide-1
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
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

  • perand

. 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 ¬

  • U

W = (conjunctional) ∨ ∧ ⇒ ⇐ ≡ (associative) Lowest precedence A Calculational Deductive System for Linear Temporal Logic

slide-3
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
SLIDE 44

A

time ⇥ false true

  • i

A

  • M. Ben-Ari. Principles of Concurrent and Distributed Programming, Second edition c
  • M. Ben-Ari 2006

Slide 4.3

slide-45
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

  • computation. Then,

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
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

  • computation. Then,

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
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
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

  • ver

with (1) Self-dual twice (3.47a) De Morgan (3.12) Double negation, (6) Distributivity of

  • ver

: 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
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

  • ver

with (1) Self-dual twice (3.47a) De Morgan (3.12) Double negation, (6) Distributivity of

  • ver

: 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
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

  • ver

with (1) Self-dual twice (3.47a) De Morgan (3.12) Double negation, (6) Distributivity of

  • ver

: 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
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

  • ver

with (1) Self-dual twice (3.47a) De Morgan (3.12) Double negation, (6) Distributivity of

  • ver

: 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
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

  • ver

with (1) Self-dual twice (3.47a) De Morgan (3.12) Double negation, (6) Distributivity of

  • ver

: 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
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

  • ver

with (1) Self-dual twice (3.47a) De Morgan (3.12) Double negation, (6) Distributivity of

  • ver

: 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
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

  • ver

with (1) Self-dual twice (3.47a) De Morgan (3.12) Double negation, (6) Distributivity of

  • ver

: 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
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

  • ver

with (1) Self-dual twice (3.47a) De Morgan (3.12) Double negation, (6) Distributivity of

  • ver

: 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
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

  • ver

with (1) Self-dual twice (3.47a) De Morgan (3.12) Double negation, (6) Distributivity of

  • ver

: 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
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

  • ver

. The proofs that it also distributes over and are similar. (4) Distributivity of

  • ver

: Proof: (3.59) Implication (2) Distributivity of

  • ver

(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
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

  • ver

. The proofs that it also distributes over and are similar. (4) Distributivity of

  • ver

: Proof: (3.59) Implication (2) Distributivity of

  • ver

(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
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

  • ver

. The proofs that it also distributes over and are similar. (4) Distributivity of

  • ver

: Proof: (3.59) Implication (2) Distributivity of

  • ver

(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
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

  • ver

. The proofs that it also distributes over and are similar. (4) Distributivity of

  • ver

: Proof: (3.59) Implication (2) Distributivity of

  • ver

(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
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

  • ver

. The proofs that it also distributes over and are similar. (4) Distributivity of

  • ver

: Proof: (3.59) Implication (2) Distributivity of

  • ver

(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
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

  • ver

. The proofs that it also distributes over and are similar. (4) Distributivity of

  • ver

: Proof: (3.59) Implication (2) Distributivity of

  • ver

(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
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

  • ver

. The proofs that it also distributes over and are similar. (4) Distributivity of

  • ver

: Proof: (3.59) Implication (2) Distributivity of

  • ver

(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
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

  • ver

. The proofs that it also distributes over and are similar. (4) Distributivity of

  • ver

: Proof: (3.59) Implication (2) Distributivity of

  • ver

(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
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

  • ver

. The proofs that it also distributes over and are similar. (4) Distributivity of

  • ver

: Proof: (3.59) Implication (2) Distributivity of

  • ver

(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
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

  • ver

. The proofs that it also distributes over and are similar. (4) Distributivity of

  • ver

: Proof: (3.59) Implication (2) Distributivity of

  • ver

(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
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

  • ver

. The proofs that it also distributes over and are similar. (4) Distributivity of

  • ver

: Proof: (3.59) Implication (2) Distributivity of

  • ver

(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
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

  • ver

. The proofs that it also distributes over and are similar. (4) Distributivity of

  • ver

: Proof: (3.59) Implication (2) Distributivity of

  • ver

(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
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

  • ver

. The proofs that it also distributes over and are similar. (4) Distributivity of

  • ver

: Proof: (3.59) Implication (2) Distributivity of

  • ver

(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
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
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
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
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
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
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
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
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
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
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
SLIDE 95

(8) Falsehood of e: efalse false Proof: Exercise for the student.

A Calculational Deductive System for Linear Temporal Logic

slide-96
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
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
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

  • ver

(3.28) Excluded middle, (20) Right zero of (24) Proof: The proof is by (4.7.1) Truth implication. (17) Right

  • rdering with

(3.59) Implication, (19) Right distributivity of

  • ver

and (3.82a) Transitivity (3.65) Shunting,

A Calculational Deductive System for Linear Temporal Logic

slide-99
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

  • ver

(3.28) Excluded middle, (20) Right zero of (24) Proof: The proof is by (4.7.1) Truth implication. (17) Right

  • rdering with

(3.59) Implication, (19) Right distributivity of

  • ver

and (3.82a) Transitivity (3.65) Shunting,

A Calculational Deductive System for Linear Temporal Logic

slide-100
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

  • ver

(3.28) Excluded middle, (20) Right zero of (24) Proof: The proof is by (4.7.1) Truth implication. (17) Right

  • rdering with

(3.59) Implication, (19) Right distributivity of

  • ver

and (3.82a) Transitivity (3.65) Shunting,

A Calculational Deductive System for Linear Temporal Logic

slide-101
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

  • ver

(3.28) Excluded middle, (20) Right zero of (24) Proof: The proof is by (4.7.1) Truth implication. (17) Right

  • rdering with

(3.59) Implication, (19) Right distributivity of

  • ver

and (3.82a) Transitivity (3.65) Shunting,

A Calculational Deductive System for Linear Temporal Logic

slide-102
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

  • ver

(3.28) Excluded middle, (20) Right zero of (24) Proof: The proof is by (4.7.1) Truth implication. (17) Right

  • rdering with

(3.59) Implication, (19) Right distributivity of

  • ver

and (3.82a) Transitivity (3.65) Shunting,

A Calculational Deductive System for Linear Temporal Logic

slide-103
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

  • ver

(3.28) Excluded middle, (20) Right zero of (24) Proof: The proof is by (4.7.1) Truth implication. (17) Right

  • rdering with

(3.59) Implication, (19) Right distributivity of

  • ver

and (3.82a) Transitivity (3.65) Shunting,

A Calculational Deductive System for Linear Temporal Logic

slide-104
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
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
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
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
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
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
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
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
SLIDE 112

Eventually

  • (38) Definition of :

q ≡ true U q

A Calculational Deductive System for Linear Temporal Logic

slide-113
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

  • ver

: (53) Distributivity of

  • ver

:

A Calculational Deductive System for Linear Temporal Logic

slide-114
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

  • ver

: (53) Distributivity of

  • ver

:

A Calculational Deductive System for Linear Temporal Logic

slide-115
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

  • ver

: (53) Distributivity of

  • ver

:

A Calculational Deductive System for Linear Temporal Logic

slide-116
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

  • ver

: (53) Distributivity of

  • ver

:

A Calculational Deductive System for Linear Temporal Logic

slide-117
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

  • ver

: (53) Distributivity of

  • ver

:

A Calculational Deductive System for Linear Temporal Logic

slide-118
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

  • ver

: (53) Distributivity of

  • ver

:

A Calculational Deductive System for Linear Temporal Logic

slide-119
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
SLIDE 120

Draft October 31, 2018 8

Always

  • (54)

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
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
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

  • perator

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
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

  • perator

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 :

  • (61)

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
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

  • perator

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 :

  • (61)

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
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

  • perator

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 :

  • (61)

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
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

  • perator

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 :

  • (61)

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
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

  • perator

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 :

  • (61)

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
SLIDE 128

Duality: ¬ A

time ⇥ false true

  • i

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

  • perator

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 :

  • (61)

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
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
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
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
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

  • ver

: (84) implication: (85) Right monotonicity of : (86) Left monotonicity of : (87) Distributivity of

  • ver

: (88) Distributivity of

  • ver

: (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

  • ver

: (100) Distributivity of

  • ver

: (101) Logical equivalence law of : (102) Logical equivalence law of : (103) Logical equivalence law of : (104) Distributivity of

  • ver

: (105) Distributivity of

  • ver

: (106) frame law of : (107) frame law of : (108) frame law of :

A Calculational Deductive System for Linear Temporal Logic

slide-133
SLIDE 133

Draft October 31, 2018 9

Temporal deduction

(82) Temporal deduction: To prove , assume and , and prove . You cannot use textual substitution in

  • r

.

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

  • ver

: (100) Distributivity of

  • ver

: (101) Logical equivalence law of : (102) Logical equivalence law of : (103) Logical equivalence law of : (104) Distributivity of

  • ver

: (105) Distributivity of

  • ver

: (106) frame law of : (107) frame law of : (108) frame law of :

A Calculational Deductive System for Linear Temporal Logic

slide-134
SLIDE 134

Draft October 31, 2018 9

Temporal deduction

(82) Temporal deduction: To prove , assume and , and prove . You cannot use textual substitution in

  • r

.

Always, continued

(83) Distributivity of

  • ver

: (84) implication: (85) Right monotonicity of : (86) Left monotonicity of : (87) Distributivity of

  • ver

: (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

  • ver

: (100) Distributivity of

  • ver

: (101) Logical equivalence law of : (102) Logical equivalence law of : (103) Logical equivalence law of : (104) Distributivity of

  • ver

: (105) Distributivity of

  • ver

: (106) frame law of : (107) frame law of : (108) frame law of :

A Calculational Deductive System for Linear Temporal Logic

slide-135
SLIDE 135

Draft October 31, 2018 9

Temporal deduction

(82) Temporal deduction: To prove , assume and , and prove . You cannot use textual substitution in

  • r

.

Always, continued

(83) Distributivity of

  • ver

: (84) implication: (85) Right monotonicity of : (86) Left monotonicity of : (87) Distributivity of

  • ver

: (88) Distributivity of

  • ver

: (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
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

  • rdering:

(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

  • ver

: (160) Distributivity of

  • ver

: (161) Distributivity of

  • ver

: (162) Distributivity of

  • ver

: (163) Eventual latching: (164) (165) (166) (167) (168) Progress proof rule:

A Calculational Deductive System for Linear Temporal Logic

slide-137
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

  • rdering:

(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

  • ver

: (160) Distributivity of

  • ver

: (161) Distributivity of

  • ver

: (162) Distributivity of

  • ver

: (163) Eventual latching: (164) (165) (166) (167) (168) Progress proof rule:

A Calculational Deductive System for Linear Temporal Logic

slide-138
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

  • rdering:

(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
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
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

  • rdering:

(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

  • ver

: (161) Distributivity of

  • ver

: (162) Distributivity of

  • ver

: (163) Eventual latching: (164) (165) (166) (167) (168) Progress proof rule:

slide-141
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
SLIDE 142

⇥A1 ⇤ ⇥A2

A1,A2 sk2 ⇥ time ⇥ false true

  • i

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

  • rdering:

(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

  • ver

: (160) Distributivity of

  • ver

: (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
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

  • rdering:

(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

  • ver

: (160) Distributivity of

  • ver

: (161) Distributivity of

  • ver

: (162) Distributivity of

  • ver

: (163) Eventual latching: (164) (165) (166) (167)

∧ ⇒

⇒ ⇒

(168) Progress proof rule: p ∧ ( p ⇒ q) ⇒ q

A Calculational Deductive System for Linear Temporal Logic