Proving Hybrid Systems Andr e Platzer aplatzer@cs.cmu.edu - - PowerPoint PPT Presentation

proving hybrid systems
SMART_READER_LITE
LIVE PREVIEW

Proving Hybrid Systems Andr e Platzer aplatzer@cs.cmu.edu - - PowerPoint PPT Presentation

Proving Hybrid Systems Andr e Platzer aplatzer@cs.cmu.edu Computer Science Department Carnegie Mellon University, Pittsburgh, PA 0.5 0.4 0.3 0.2 1.0 0.1 0.8 0.6 0.4 0.2 Andr e Platzer (CMU) Proving Hybrid Systems FMCAD 1 / 40


slide-1
SLIDE 1

Proving Hybrid Systems

Andr´ e Platzer

aplatzer@cs.cmu.edu Computer Science Department Carnegie Mellon University, Pittsburgh, PA

0.2 0.4 0.6 0.8 1.0

0.1 0.2 0.3 0.4 0.5

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 1 / 40

slide-2
SLIDE 2

Outline

1

CPS are Multi-Dynamical Systems Hybrid Systems Hybrid Games

2

Dynamic Logic of Dynamical Systems Syntax Semantics Example: Car Control Design

3

Proofs for CPS Compositional Proof Calculus Example: Safe Car Control

4

Theory of CPS Soundness and Completeness Differential Invariants Example: Elementary Differential Invariants Differential Axioms

5

Applications

6

Summary

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 1 / 40

slide-3
SLIDE 3

Outline

1

CPS are Multi-Dynamical Systems Hybrid Systems Hybrid Games

2

Dynamic Logic of Dynamical Systems Syntax Semantics Example: Car Control Design

3

Proofs for CPS Compositional Proof Calculus Example: Safe Car Control

4

Theory of CPS Soundness and Completeness Differential Invariants Example: Elementary Differential Invariants Differential Axioms

5

Applications

6

Summary

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 1 / 40

slide-4
SLIDE 4

CPSs Promise Transformative Impact!

Prospects: Safe & Efficient

Driver assistance Autonomous cars Pilot decision support Autopilots / UAVs Train protection Robots help people

Prerequisite: CPS need to be safe

How do we make sure CPS make the world a better place?

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 2 / 40

slide-5
SLIDE 5

Can you trust a computer to control physics?

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 3 / 40

slide-6
SLIDE 6

Can you trust a computer to control physics?

Rationale

1 Safety guarantees require analytic foundations. 2 Foundations revolutionized digital computer science & our society. 3 Need even stronger foundations when software reaches out into our

physical world.

Cyber-physical Systems

CPS combine cyber capabilities with physical capabilities to solve problems that neither part could solve alone. How can we provide people with cyber-physical systems they can bet their lives on? — Jeannette Wing

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 3 / 40

slide-7
SLIDE 7

CPSs are Multi-Dynamical Systems

d i s c r e t e c

  • n

t i n u

  • u

s nondet stochastic a d v e r s a r i a l

CPS Dynamics

CPS are characterized by multiple facets of dynamical systems.

CPS Compositions

CPS combine multiple simple dynamical effects.

Tame Parts

Exploiting compositionality tames CPS complexity.

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 4 / 40

slide-8
SLIDE 8

CPS Analysis

Challenge (Hybrid Systems)

Fixed rule describing state evolution with both Discrete dynamics (control decisions) Continuous dynamics (differential equations)

1 2 3 4 5 6 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5

2 4 6 8 10 t 0.8 0.6 0.4 0.2 0.2

a

2 4 6 8 10 t 0.2 0.4 0.6 0.8 1.0v 2 4 6 8 10 t 2 4 6 8

p

px py Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 5 / 40

slide-9
SLIDE 9

CPS Analysis

Challenge (Hybrid Systems)

Fixed rule describing state evolution with both Discrete dynamics (control decisions) Continuous dynamics (differential equations)

1 2 3 4 5 6 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5

2 4 6 8 10 t 0.8 0.6 0.4 0.2 0.2

a

2 4 6 8 10 t 1.0 0.5 0.5

2 4 6 8 10 t 0.5 0.5 1.0

d

dx dy Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 5 / 40

slide-10
SLIDE 10

CPS Analysis

Challenge (Hybrid Systems)

Fixed rule describing state evolution with both Discrete dynamics (control decisions) Continuous dynamics (differential equations)

1 2 3 4 5 6 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5

2 4 6 8 10 t 4 3 2 1

a

2 4 6 8 10 t 0.2 0.4 0.6 0.8 1.0v 2 4 6 8 10 t 1 2 3 4

p

px py Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 6 / 40

slide-11
SLIDE 11

CPS Analysis

Challenge (Hybrid Systems)

Fixed rule describing state evolution with both Discrete dynamics (control decisions) Continuous dynamics (differential equations)

1 2 3 4 5 6 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5

2 4 6 8 10 t 4 3 2 1

a

2 4 6 8 10 t 1.0 0.5 0.5

2 4 6 8 10 t 0.5 0.5 1.0

d

dx dy Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 6 / 40

slide-12
SLIDE 12

CPS Analysis: Other Agents

Challenge (Hybrid Games)

Game rules describing play choices with Discrete dynamics (control decisions) Continuous dynamics (differential equations) Adversarial dynamics (Angel ⋄ vs. Demon ⋄ )

2 4 6 8 10 t 0.6 0.4 0.2 0.2 0.4

a

2 4 6 8 10 t 0.2 0.4 0.6 0.8 1.0 1.2v 2 4 6 8 10 t 1 2 3 4 5 6 7p

px py Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 7 / 40

slide-13
SLIDE 13

CPS Analysis: Other Agents

Challenge (Hybrid Games)

Game rules describing play choices with Discrete dynamics (control decisions) Continuous dynamics (differential equations) Adversarial dynamics (Angel ⋄ vs. Demon ⋄ )

2 4 6 8 10 t 0.6 0.4 0.2 0.2 0.4

a

2 4 6 8 10 t 1.0 0.5 0.5

2 4 6 8 10 t 0.5 0.5 1.0

d

dx dy Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 7 / 40

slide-14
SLIDE 14

CPSs are Multi-Dynamical Systems

d i s c r e t e c

  • n

t i n u

  • u

s nondet stochastic a d v e r s a r i a l

hybrid systems

HS = discrete + ODE

stochastic hybrid sys.

SHS = HS + stochastics

5 10 15 20 0.3 0.2 0.1 0.1 0.2 0.3

hybrid games

HG = HS + adversary

distributed hybrid sys.

DHS = HS + distributed

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 8 / 40

slide-15
SLIDE 15

Dynamic Logics for Dynamical Systems

d i s c r e t e c

  • n

t i n u

  • u

s nondet stochastic a d v e r s a r i a l

differential dynamic logic

dL = DL + HP [α]φ φ α

stochastic differential DL

SdL = DL + SHP αφ φ

differential game logic

dGL = GL + HG αφ φ

quantified differential DL

QdL = FOL + DL + QHP

JAR’08,CADE’11,LMCS’12,LICS’12 LICS’12,CADE’15,TOCL’15 Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 9 / 40

slide-16
SLIDE 16

Outline

1

CPS are Multi-Dynamical Systems Hybrid Systems Hybrid Games

2

Dynamic Logic of Dynamical Systems Syntax Semantics Example: Car Control Design

3

Proofs for CPS Compositional Proof Calculus Example: Safe Car Control

4

Theory of CPS Soundness and Completeness Differential Invariants Example: Elementary Differential Invariants Differential Axioms

5

Applications

6

Summary

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 9 / 40

slide-17
SLIDE 17

Outline

1

CPS are Multi-Dynamical Systems Hybrid Systems Hybrid Games

2

Dynamic Logic of Dynamical Systems Syntax Semantics Example: Car Control Design

3

Proofs for CPS Compositional Proof Calculus Example: Safe Car Control

4

Theory of CPS Soundness and Completeness Differential Invariants Example: Elementary Differential Invariants Differential Axioms

5

Applications

6

Summary

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 9 / 40

slide-18
SLIDE 18

CPS Analysis

Concept (Differential Dynamic Logic) (JAR’08,LICS’12)

1 2 3 4 5 6 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5

1 2 3 4 5 6 7 t 2.5 2.0 1.5 1.0 0.5 0.0 0.5a 1 2 3 4 5 6 7 t 2 2 4 6v

m

1 2 3 4 5 6 7 t 2 2 4 6 8 10

x

[α]φ φ α

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 10 / 40

slide-19
SLIDE 19

CPS Analysis

Concept (Differential Dynamic Logic) (JAR’08,LICS’12)

x = m

1 2 3 4 5 6 7 t 2.5 2.0 1.5 1.0 0.5 0.0 0.5a 1 2 3 4 5 6 7 t 2 2 4 6v

m

1 2 3 4 5 6 7 t 2 2 4 6 8 10

x

[α]φ φ α

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 10 / 40

slide-20
SLIDE 20

CPS Analysis

Concept (Differential Dynamic Logic) (JAR’08,LICS’12)

x = m x = m x = m x = m

1 2 3 4 5 6 7 t 2.5 2.0 1.5 1.0 0.5 0.0 0.5a 1 2 3 4 5 6 7 t 2 2 4 6v

m

1 2 3 4 5 6 7 t 2 2 4 6 8 10

x

[α]φ φ α

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 10 / 40

slide-21
SLIDE 21

CPS Analysis

Concept (Differential Dynamic Logic) (JAR’08,LICS’12)

[ ]x = m x = m x = m x = m

1 2 3 4 5 6 7 t 2.5 2.0 1.5 1.0 0.5 0.0 0.5a 1 2 3 4 5 6 7 t 2 2 4 6v

m

1 2 3 4 5 6 7 t 2 2 4 6 8 10

x

[α]φ φ α

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 10 / 40

slide-22
SLIDE 22

CPS Analysis

Concept (Differential Dynamic Logic) (JAR’08,LICS’12)

[ ]x = m x = m x = m x = m x′ = v, v′ = a

1 2 3 4 5 6 7 t 2.5 2.0 1.5 1.0 0.5 0.0 0.5a 1 2 3 4 5 6 7 t 2 2 4 6v

m

1 2 3 4 5 6 7 t 2 2 4 6 8 10

x

ODE [α]φ φ α

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 10 / 40

slide-23
SLIDE 23

CPS Analysis

Concept (Differential Dynamic Logic) (JAR’08,LICS’12)

[ ]x = m x = m x = m x = m a := −b x′ = v, v′ = a

1 2 3 4 5 6 7 t 2.5 2.0 1.5 1.0 0.5 0.0 0.5a 1 2 3 4 5 6 7 t 2 2 4 6v

m

1 2 3 4 5 6 7 t 2 2 4 6 8 10

x

ODE assign [α]φ φ α

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 10 / 40

slide-24
SLIDE 24

CPS Analysis

Concept (Differential Dynamic Logic) (JAR’08,LICS’12)

[ ]x = m x = m x = m x = m (if(SB(x, m)) a := −b) x′ = v, v′ = a

1 2 3 4 5 6 7 t 2.5 2.0 1.5 1.0 0.5 0.0 0.5a 1 2 3 4 5 6 7 t 2 2 4 6v

m

1 2 3 4 5 6 7 t 2 2 4 6 8 10

x

ODE assign test [α]φ φ α

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 10 / 40

slide-25
SLIDE 25

CPS Analysis

Concept (Differential Dynamic Logic) (JAR’08,LICS’12)

(if(SB(x, m)) a := −b) ; x′ = v, v′ = a

1 2 3 4 5 6 7 t 2.5 2.0 1.5 1.0 0.5 0.0 0.5a 1 2 3 4 5 6 7 t 2 2 4 6v

m

1 2 3 4 5 6 7 t 2 2 4 6 8 10

x

ODE assign test seq. compose [α]φ φ α

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 10 / 40

slide-26
SLIDE 26

CPS Analysis

Concept (Differential Dynamic Logic) (JAR’08,LICS’12)

  • (if(SB(x, m)) a := −b) ; x′ = v, v′ = a

1 2 3 4 5 6 7 t 2.5 2.0 1.5 1.0 0.5 0.0 0.5a 1 2 3 4 5 6 7 t 2 2 4 6v

m

1 2 3 4 5 6 7 t 2 2 4 6 8 10

x

ODE assign test seq. compose nondet. repeat [α]φ φ α

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 10 / 40

slide-27
SLIDE 27

CPS Analysis

Concept (Differential Dynamic Logic) (JAR’08,LICS’12)

[ ]x = m x = m x = m x = m

  • (if(SB(x, m)) a := −b) ; x′ = v, v′ = a

∗ x = m

post

1 2 3 4 5 6 7 t 2.5 2.0 1.5 1.0 0.5 0.0 0.5a 1 2 3 4 5 6 7 t 2 2 4 6v

m

1 2 3 4 5 6 7 t 2 2 4 6 8 10

x

all runs [α]φ φ α

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 10 / 40

slide-28
SLIDE 28

CPS Analysis

Concept (Differential Dynamic Logic) (JAR’08,LICS’12)

[ ]x = m x = m x = m x = m x = m ∧ b > 0

  • init

  • (if(SB(x, m)) a := −b) ; x′ = v, v′ = a

∗ x = m

post

1 2 3 4 5 6 7 t 2.5 2.0 1.5 1.0 0.5 0.0 0.5a 1 2 3 4 5 6 7 t 2 2 4 6v

m

1 2 3 4 5 6 7 t 2 2 4 6 8 10

x

[α]φ φ α

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 10 / 40

slide-29
SLIDE 29

CPS Analysis

Concept (Differential Dynamic Logic) (JAR’08,LICS’12)

[ ]x = m x = m x = m x = m x = m ∧ b > 0

  • init

  • (?¬SB(x, m) ∪a := −b) ; x′ = v, v′ = a

∗ x = m

post

1 2 3 4 5 6 7 t 2.5 2.0 1.5 1.0 0.5 0.0 0.5a 1 2 3 4 5 6 7 t 2 2 4 6v

m

1 2 3 4 5 6 7 t 2 2 4 6 8 10

x

nondet. choice [α]φ φ α

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 10 / 40

slide-30
SLIDE 30

CPS Analysis

Concept (Differential Dynamic Logic) (JAR’08,LICS’12)

[ ]x = m x = m x = m x = m x = m ∧ b > 0

  • init

  • (?¬SB(x, m) ∪a := −b) ; x′ = v, v′ = a

∗ x = m

post

1 2 3 4 5 6 7 t 2.5 2.0 1.5 1.0 0.5 0.0 0.5a 1 2 3 4 5 6 7 t 2 2 4 6v

m

1 2 3 4 5 6 7 t 2 2 4 6 8 10

x

nondet. choice test [α]φ φ α

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 10 / 40

slide-31
SLIDE 31

Hybrid Programs vs. Hybrid Automata

Want: Compositional verification far cls brk fsa x = m far ≡ x′ = v, v′ = A & ¬SB(x, m) brk ≡ x′ = v, v′ = −b & SB(x, m) ∨ true cls ≡ x′ = v, v′ = . . . & . . . fsa ≡ x′ = 0, v′ = 0 & v = 0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 11 / 40

slide-32
SLIDE 32

Hybrid Programs vs. Hybrid Automata

Want: Compositional verification far cls brk fsa cls x = m far ≡ x′ = v, v′ = A & ¬SB(x, m) brk ≡ x′ = v, v′ = −b & SB(x, m) ∨ true cls ≡ x′ = v, v′ = . . . & . . . fsa ≡ x′ = 0, v′ = 0 & v = 0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 11 / 40

slide-33
SLIDE 33

Hybrid Programs vs. Hybrid Automata

Want: Compositional verification far cls brk fsa cls x = m far ≡ x′ = v, v′ = A & ¬SB(x, m) brk ≡ x′ = v, v′ = −b & SB(x, m) ∨ true cls ≡ x′ = v, v′ = . . . & . . . fsa ≡ x′ = 0, v′ = 0 & v = 0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 11 / 40

slide-34
SLIDE 34

Hybrid Programs vs. Hybrid Automata

Want: Compositional verification far cls brk fsa cls x = m Not Compositional far ≡ x′ = v, v′ = A & ¬SB(x, m) brk ≡ x′ = v, v′ = −b & SB(x, m) ∨ true cls ≡ x′ = v, v′ = . . . & . . . fsa ≡ x′ = 0, v′ = 0 & v = 0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 11 / 40

slide-35
SLIDE 35

Differential Dynamic Logic dL: Syntax

Definition (Hybrid program a)

x := f (x) | ?Q | x′ = f (x) & Q | a ∪ b | a; b | a∗

Definition (dL Formula P)

e1 ≥ e2 | ¬P | P ∧ Q | ∀x P | ∃x P | [a]P | aP

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 12 / 40

slide-36
SLIDE 36

Differential Dynamic Logic dL: Syntax

Definition (Hybrid program a)

x := f (x) | ?Q | x′ = f (x) & Q | a ∪ b | a; b | a∗

Definition (dL Formula P)

e1 ≥ e2 | ¬P | P ∧ Q | ∀x P | ∃x P | [a]P | aP Discrete Assign Test Condition Differential Equation Nondet. Choice Seq. Compose Nondet. Repeat All Reals Some Reals All Runs Some Runs

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 12 / 40

slide-37
SLIDE 37

Differential Dynamic Logic dL: Semantics

Definition (Hybrid program semantics) ([ [·] ] : HP → ℘(S × S))

[ [x := f (x)] ] = {(v, w) : w = v except [ [x] ]w = [ [f (x)] ]v} [ [?Q] ] = {(v, v) : v ∈ [ [Q] ]} [ [x′ = f (x)] ] = {(ϕ(0), ϕ(r)) : ϕ | = x′ = f (x) for some duration r} [ [a ∪ b] ] = [ [a] ] ∪ [ [b] ] [ [a; b] ] = [ [a] ] ◦ [ [b] ] [ [a∗] ] =

  • n∈N

[ [an] ]

Definition (dL semantics) ([ [·] ] : Fml → ℘(S))

[ [e1 ≥ e2] ] = {v : [ [e1] ]v ≥ [ [e2] ]v} [ [¬P] ] = ([ [P] ])∁ [ [P ∧ Q] ] = [ [P] ] ∩ [ [Q] ] [ [aP] ] = [ [a] ] ◦ [ [P] ] = {v : w ∈ [ [P] ] for some w (v, w) ∈ [ [a] ]} [ [[a]P] ] = [ [¬a¬P] ] = {v : w ∈ [ [P] ] for all w (v, w) ∈ [ [a] ]} [ [∃x P] ] = {v : vr

x ∈ [

[P] ] for some r ∈ R}

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 13 / 40

slide-38
SLIDE 38

Differential Dynamic Logic dL: Transition Semantics

v w x := f (x) t x v w if w(x) = [ [f (x)] ]v and w(z) = v(z) for z = x v w x′ = f (x) & Q t x Q w v ϕ(t) r x′ = f (x) & Q v ?Q if v ∈ [ [Q] ] t x v no change if v ∈ [ [Q] ]

  • therwise no transition

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 14 / 40

slide-39
SLIDE 39

Differential Dynamic Logic dL: Transition Semantics

v w1 w2 a b a ∪ b t x v w1 w2 v s w a ; b a b t x s v w v v1 v2 w a∗ a a a t x v w

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 14 / 40

slide-40
SLIDE 40

Differential Dynamic Logic dL: Transition Semantics

v w1 w2 a b a ∪ b t x v w1 w2 v s w a ; b a b t x s v w v v1 v2 w a∗ a a a t x v w

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 14 / 40

slide-41
SLIDE 41

Differential Dynamic Logic dL: Transition Semantics

v w1 w2 a b a ∪ b t x v w1 w2 v s w a ; b a b t x s v w v v1 v2 w (a; b)∗ a b a b a b t x v w

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 14 / 40

slide-42
SLIDE 42

Differential Dynamic Logic dL: Semantics

Definition (dL Formulas)

v [a]P P P P

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 15 / 40

slide-43
SLIDE 43

Differential Dynamic Logic dL: Semantics

Definition (dL Formulas)

v aP P

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 15 / 40

slide-44
SLIDE 44

Differential Dynamic Logic dL: Semantics

Definition (dL Formulas)

v a-span [a]P

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 15 / 40

slide-45
SLIDE 45

Differential Dynamic Logic dL: Semantics

Definition (dL Formulas)

v a-span [a]P bP b-span

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 15 / 40

slide-46
SLIDE 46

Differential Dynamic Logic dL: Semantics

Definition (dL Formulas)

v a-span [a]P bP b-span b[a]-span

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 15 / 40

slide-47
SLIDE 47

Differential Dynamic Logic dL: Semantics

Definition (dL Formulas)

v a-span [a]P bP b-span b[a]-span compositional semantics ⇒ compositional proofs!

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 15 / 40

slide-48
SLIDE 48

Ex: Car Control

Accelerate condition ?H

Example ( Single car cars)

  • ((?H; a := A) ∪ a := −b); x′ = v, v′ = a & v ≥ 0

1 2 3 4 5 6 7 t 2.5 2.0 1.5 1.0 0.5 0.0 0.5a 1 2 3 4 5 6 7 t 2 2 4 6v

m

1 2 3 4 5 6 7 t 2 2 4 6 8 10

x

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 16 / 40

slide-49
SLIDE 49

Ex: Car Control Properties time-triggered

H ≡ 2b(m − x) ≥ v2 +

  • A + b
  • Aε2 + 2εv
  • Example (Single car carε time-triggered)
  • ((?H; a := A) ∪ a := −b); t := 0; x′ = v, v′ = a, t′ = 1 & v ≥ 0 ∧ t ≤ ε

Example ( Safely stays before traffic light m)

v2 ≤ 2b(m − x) ∧ A ≥ 0 ∧ b > 0 → [carε]x ≤ m

1 2 3 4 5 6 7 t 2.5 2.0 1.5 1.0 0.5 0.0 0.5a 1 2 3 4 5 6 7 t 2 2 4 6v

m

1 2 3 4 5 6 7 t 2 2 4 6 8 10

x

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 17 / 40

slide-50
SLIDE 50

Ex: Car Control Properties time-triggered

H ≡ 2b(m − x) ≥ v2 +

  • A + b
  • Aε2 + 2εv
  • Example (Single car carε time-triggered)
  • ((?H; a := A) ∪ a := −b); t := 0; x′ = v, v′ = a, t′ = 1 & v ≥ 0 ∧ t ≤ ε

Example ( Live, can move everywhere)

ε > 0 ∧ A > 0 ∧ b > 0 → ∀p ∃m carε x ≥ p

1 2 3 4 5 6 7 t 2.5 2.0 1.5 1.0 0.5 0.0 0.5a 1 2 3 4 5 6 7 t 2 2 4 6v

m

1 2 3 4 5 6 7 t 2 2 4 6 8 10

x

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 17 / 40

slide-51
SLIDE 51

Outline

1

CPS are Multi-Dynamical Systems Hybrid Systems Hybrid Games

2

Dynamic Logic of Dynamical Systems Syntax Semantics Example: Car Control Design

3

Proofs for CPS Compositional Proof Calculus Example: Safe Car Control

4

Theory of CPS Soundness and Completeness Differential Invariants Example: Elementary Differential Invariants Differential Axioms

5

Applications

6

Summary

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 17 / 40

slide-52
SLIDE 52

Differential Dynamic Logic: Axioms

[:=] [x := f ]p(x) ↔ p(f ) [?] [?q]p ↔ (q → p) [∪] [a ∪ b]p(x) ↔ [a]p(x) ∧ [b]p(x) [;] [a; b]p(x) ↔ [a][b]p(x) [∗] [a∗]p(x) ↔ p(x) ∧ [a][a∗]p(x) K [a](p(x) → q(x)) → ([a]p(x) → [a]q(x)) I [a∗](p(x) → [a]p(x)) → (p(x) → [a∗]p(x)) V p → [a]p DS [x′ = f ]p(x) ↔ ∀t≥0 [x := x + ft]p(x) LICS’12,CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 18 / 40

slide-53
SLIDE 53

Proofs for Hybrid Systems

compositional semantics ⇒ compositional rules!

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 19 / 40

slide-54
SLIDE 54

Proofs for Hybrid Systems

[a]p(x) ∧ [b]p(x) [a ∪ b]p(x) v w1 w2 a p(x) b p(x) a ∪ b

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 19 / 40

slide-55
SLIDE 55

Proofs for Hybrid Systems

[a]p(x) ∧ [b]p(x) [a ∪ b]p(x) v w1 w2 a p(x) b p(x) a ∪ b [a][b]p(x) [a; b]p(x) v s w a; b [a][b]p(x) a [b]p(x) b p(x)

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 19 / 40

slide-56
SLIDE 56

Proofs for Hybrid Systems

[a]p(x) ∧ [b]p(x) [a ∪ b]p(x) v w1 w2 a p(x) b p(x) a ∪ b [a][b]p(x) [a; b]p(x) v s w a; b [a][b]p(x) a [b]p(x) b p(x) p(x) p(x) → [a]p(x) [a∗]p(x) v w a∗ p(x) a p(x) → [a]p(x) a a p(x)

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 19 / 40

slide-57
SLIDE 57

Example Proof: Safe Driving

J(x, v) ≡ x ≤ m

[;] J(x, v) →[a := −b; (x′ = v, v′ = a)]J(x, v)

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-58
SLIDE 58

Example Proof: Safe Driving

J(x, v) ≡ x ≤ m

[:=]J(x, v) →[a := −b][x′ = v, v′ = a]J(x, v) [;] J(x, v) →[a := −b; (x′ = v, v′ = a)]J(x, v)

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-59
SLIDE 59

Example Proof: Safe Driving

J(x, v) ≡ x ≤ m

[′] J(x, v) →[x′ = v, v′ = −b]J(x, v) [:=]J(x, v) →[a := −b][x′ = v, v′ = a]J(x, v) [;] J(x, v) →[a := −b; (x′ = v, v′ = a)]J(x, v)

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-60
SLIDE 60

Example Proof: Safe Driving

J(x, v) ≡ x ≤ m

[:=]J(x, v) →∀t≥0 [x := − b 2t2 + vt + x]J(x, v) [′] J(x, v) →[x′ = v, v′ = −b]J(x, v) [:=]J(x, v) →[a := −b][x′ = v, v′ = a]J(x, v) [;] J(x, v) →[a := −b; (x′ = v, v′ = a)]J(x, v)

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-61
SLIDE 61

Example Proof: Safe Driving

J(x, v) ≡ x ≤ m

QEJ(x, v) →∀t≥0 (− b 2t2 + vt + x ≤ m) [:=]J(x, v) →∀t≥0 [x := − b 2t2 + vt + x]J(x, v) [′] J(x, v) →[x′ = v, v′ = −b]J(x, v) [:=]J(x, v) →[a := −b][x′ = v, v′ = a]J(x, v) [;] J(x, v) →[a := −b; (x′ = v, v′ = a)]J(x, v)

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-62
SLIDE 62

Example Proof: Safe Driving

J(x, v) ≡ x ≤ m J(x, v) →v2 ≤ 2b(m − x)

QEJ(x, v) →∀t≥0 (− b 2t2 + vt + x ≤ m) [:=]J(x, v) →∀t≥0 [x := − b 2t2 + vt + x]J(x, v) [′] J(x, v) →[x′ = v, v′ = −b]J(x, v) [:=]J(x, v) →[a := −b][x′ = v, v′ = a]J(x, v) [;] J(x, v) →[a := −b; (x′ = v, v′ = a)]J(x, v)

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-63
SLIDE 63

Example Proof: Safe Driving

x v m J(x, v) ≡ v2 ≤ 2b(m − x) J(x, v) →v2 ≤ 2b(m − x)

QEJ(x, v) →∀t≥0 (− b 2t2 + vt + x ≤ m) [:=]J(x, v) →∀t≥0 [x := − b 2t2 + vt + x]J(x, v) [′] J(x, v) →[x′ = v, v′ = −b]J(x, v) [:=]J(x, v) →[a := −b][x′ = v, v′ = a]J(x, v) [;] J(x, v) →[a := −b; (x′ = v, v′ = a)]J(x, v)

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-64
SLIDE 64

Example Proof: Safe Driving

x v m J(x, v) ≡ v2 ≤ 2b(m − x)

[;] J(x, v) →[?¬SB; a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v)

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-65
SLIDE 65

Example Proof: Safe Driving

x v m J(x, v) ≡ v2 ≤ 2b(m − x)

[?] J(x, v) →[?¬SB][a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v) [;] J(x, v) →[?¬SB; a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v)

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-66
SLIDE 66

Example Proof: Safe Driving

x v m J(x, v) ≡ v2 ≤ 2b(m − x)

[;] J(x, v) →¬SB → [a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v) [?] J(x, v) →[?¬SB][a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v) [;] J(x, v) →[?¬SB; a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v)

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-67
SLIDE 67

Example Proof: Safe Driving

x v m J(x, v) ≡ v2 ≤ 2b(m − x)

[:=]J(x, v) →¬SB → [a := A][x′ = v, v′ = a, t′ = 1 & t ≤ ε]J(x, v) [;] J(x, v) →¬SB → [a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v) [?] J(x, v) →[?¬SB][a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v) [;] J(x, v) →[?¬SB; a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v)

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-68
SLIDE 68

Example Proof: Safe Driving

x v m J(x, v) ≡ v2 ≤ 2b(m − x)

[′] J(x, v) →¬SB → [x′ = v, v′ = A, t′ = 1 & t ≤ ε]J(x, v) [:=]J(x, v) →¬SB → [a := A][x′ = v, v′ = a, t′ = 1 & t ≤ ε]J(x, v) [;] J(x, v) →¬SB → [a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v) [?] J(x, v) →[?¬SB][a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v) [;] J(x, v) →[?¬SB; a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v)

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-69
SLIDE 69

Example Proof: Safe Driving

x v m J(x, v) ≡ v2 ≤ 2b(m − x)

[:=]J(x, v) →¬SB → ∀t≥0 (t ≤ ε → [x := A 2 t2 + vt + x]J(x, v)) [′] J(x, v) →¬SB → [x′ = v, v′ = A, t′ = 1 & t ≤ ε]J(x, v) [:=]J(x, v) →¬SB → [a := A][x′ = v, v′ = a, t′ = 1 & t ≤ ε]J(x, v) [;] J(x, v) →¬SB → [a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v) [?] J(x, v) →[?¬SB][a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v) [;] J(x, v) →[?¬SB; a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v)

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-70
SLIDE 70

Example Proof: Safe Driving

x v m J(x, v) ≡ v2 ≤ 2b(m − x) J(x, v) →¬SB → ∀t≥0 (t ≤ ε → J( A

2 t2 + vt + x, At + v)) [:=]J(x, v) →¬SB → ∀t≥0 (t ≤ ε → [x := A 2 t2 + vt + x]J(x, v)) [′] J(x, v) →¬SB → [x′ = v, v′ = A, t′ = 1 & t ≤ ε]J(x, v) [:=]J(x, v) →¬SB → [a := A][x′ = v, v′ = a, t′ = 1 & t ≤ ε]J(x, v) [;] J(x, v) →¬SB → [a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v) [?] J(x, v) →[?¬SB][a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v) [;] J(x, v) →[?¬SB; a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v)

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-71
SLIDE 71

Example Proof: Safe Driving

x v m J(x, v) ≡ v2 ≤ 2b(m − x)

QEJ(x, v) →¬SB → ∀t≥0 (t ≤ ε → (At + v)2 ≤ 2b(m − A 2 t2 − vt − x))

J(x, v) →¬SB → ∀t≥0 (t ≤ ε → J( A

2 t2 + vt + x, At + v)) [:=]J(x, v) →¬SB → ∀t≥0 (t ≤ ε → [x := A 2 t2 + vt + x]J(x, v)) [′] J(x, v) →¬SB → [x′ = v, v′ = A, t′ = 1 & t ≤ ε]J(x, v) [:=]J(x, v) →¬SB → [a := A][x′ = v, v′ = a, t′ = 1 & t ≤ ε]J(x, v) [;] J(x, v) →¬SB → [a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v) [?] J(x, v) →[?¬SB][a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v) [;] J(x, v) →[?¬SB; a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v)

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-72
SLIDE 72

Example Proof: Safe Driving

x v m J(x, v) ≡ v2 ≤ 2b(m − x) J(x, v) →¬SB → (Aε + v)2 ≤ 2b(m − A

2 ε2 − vε − x) QEJ(x, v) →¬SB → ∀t≥0 (t ≤ ε → (At + v)2 ≤ 2b(m − A 2 t2 − vt − x))

J(x, v) →¬SB → ∀t≥0 (t ≤ ε → J( A

2 t2 + vt + x, At + v)) [:=]J(x, v) →¬SB → ∀t≥0 (t ≤ ε → [x := A 2 t2 + vt + x]J(x, v)) [′] J(x, v) →¬SB → [x′ = v, v′ = A, t′ = 1 & t ≤ ε]J(x, v) [:=]J(x, v) →¬SB → [a := A][x′ = v, v′ = a, t′ = 1 & t ≤ ε]J(x, v) [;] J(x, v) →¬SB → [a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v) [?] J(x, v) →[?¬SB][a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v) [;] J(x, v) →[?¬SB; a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v)

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-73
SLIDE 73

Example Proof: Safe Driving

x v m J(x, v) ≡ v2 ≤ 2b(m − x) SB ≡ 2b(m −x) < v2 +(A+b)(Aε2 +2εv) J(x, v) →¬SB → (Aε + v)2 ≤ 2b(m − A

2 ε2 − vε − x) QEJ(x, v) →¬SB → ∀t≥0 (t ≤ ε → (At + v)2 ≤ 2b(m − A 2 t2 − vt − x))

J(x, v) →¬SB → ∀t≥0 (t ≤ ε → J( A

2 t2 + vt + x, At + v)) [:=]J(x, v) →¬SB → ∀t≥0 (t ≤ ε → [x := A 2 t2 + vt + x]J(x, v)) [′] J(x, v) →¬SB → [x′ = v, v′ = A, t′ = 1 & t ≤ ε]J(x, v) [:=]J(x, v) →¬SB → [a := A][x′ = v, v′ = a, t′ = 1 & t ≤ ε]J(x, v) [;] J(x, v) →¬SB → [a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v) [?] J(x, v) →[?¬SB][a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v) [;] J(x, v) →[?¬SB; a := A; (x′ = v, v′ = a, t′ = 1 & t ≤ ε)]J(x, v)

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-74
SLIDE 74

Example Proof: Safe Driving

x v m J(x, v) ≡ v2 ≤ 2b(m − x) SB ≡ 2b(m −x) < v2 +(A+b)(Aε2 +2εv)

indJ(x, v) →[

  • (a := −b ∪ ?¬SB; a := A); x′′ = a, t′ = 1 & t ≤ ε

∗]J(x, v) CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-75
SLIDE 75

Example Proof: Safe Driving

x v m J(x, v) ≡ v2 ≤ 2b(m − x) SB ≡ 2b(m −x) < v2 +(A+b)(Aε2 +2εv)

[;] J(x, v) →[(a := −b ∪ ?¬SB; a := A); x′′ = a, t′ = 1 & t ≤ ε]J(x, v) indJ(x, v) →[

  • (a := −b ∪ ?¬SB; a := A); x′′ = a, t′ = 1 & t ≤ ε

∗]J(x, v) CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-76
SLIDE 76

Example Proof: Safe Driving

x v m J(x, v) ≡ v2 ≤ 2b(m − x) SB ≡ 2b(m −x) < v2 +(A+b)(Aε2 +2εv)

[∪]J(x, v) →[a := −b ∪ ?¬SB; a := A][x′′ = a, t′ = 1 & t ≤ ε]J(x, v) [;] J(x, v) →[(a := −b ∪ ?¬SB; a := A); x′′ = a, t′ = 1 & t ≤ ε]J(x, v) indJ(x, v) →[

  • (a := −b ∪ ?¬SB; a := A); x′′ = a, t′ = 1 & t ≤ ε

∗]J(x, v) CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-77
SLIDE 77

Example Proof: Safe Driving

x v m J(x, v) ≡ v2 ≤ 2b(m − x) SB ≡ 2b(m −x) < v2 +(A+b)(Aε2 +2εv) J(x, v) →[a := −b][x′′ = a . .]J(x, v) ∧ [?¬SB; a := A][x′′ = a . .]J(x, v)

[∪]J(x, v) →[a := −b ∪ ?¬SB; a := A][x′′ = a, t′ = 1 & t ≤ ε]J(x, v) [;] J(x, v) →[(a := −b ∪ ?¬SB; a := A); x′′ = a, t′ = 1 & t ≤ ε]J(x, v) indJ(x, v) →[

  • (a := −b ∪ ?¬SB; a := A); x′′ = a, t′ = 1 & t ≤ ε

∗]J(x, v) CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-78
SLIDE 78

Example Proof: Safe Driving

x v m J(x, v) ≡ v2 ≤ 2b(m − x) SB ≡ 2b(m −x) < v2 +(A+b)(Aε2 +2εv) previous proofs for braking and acceleration J(x, v) →[a := −b][x′′ = a . .]J(x, v) ∧ [?¬SB; a := A][x′′ = a . .]J(x, v)

[∪]J(x, v) →[a := −b ∪ ?¬SB; a := A][x′′ = a, t′ = 1 & t ≤ ε]J(x, v) [;] J(x, v) →[(a := −b ∪ ?¬SB; a := A); x′′ = a, t′ = 1 & t ≤ ε]J(x, v) indJ(x, v) →[

  • (a := −b ∪ ?¬SB; a := A); x′′ = a, t′ = 1 & t ≤ ε

∗]J(x, v) CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-79
SLIDE 79

Example Proof: Safe Driving

x v m J(x, v) ≡ v2 ≤ 2b(m − x) SB ≡ 2b(m −x) < v2 +(A+b)(Aε2 +2εv) previous proofs for braking and acceleration J(x, v) →[a := −b][x′′ = a . .]J(x, v) ∧ [?¬SB; a := A][x′′ = a . .]J(x, v)

[∪]J(x, v) →[a := −b ∪ ?¬SB; a := A][x′′ = a, t′ = 1 & t ≤ ε]J(x, v) [;] J(x, v) →[(a := −b ∪ ?¬SB; a := A); x′′ = a, t′ = 1 & t ≤ ε]J(x, v) indJ(x, v) →[

  • (a := −b ∪ ?¬SB; a := A); x′′ = a, t′ = 1 & t ≤ ε

∗]J(x, v)

1 Proof is essentially deterministic “follow your nose” 2 Synthesize invariant J(, ) and parameter constraint SB 3 J(x, v) is a predicate symbol to prove only once and instantiate later

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-80
SLIDE 80

Outline

1

CPS are Multi-Dynamical Systems Hybrid Systems Hybrid Games

2

Dynamic Logic of Dynamical Systems Syntax Semantics Example: Car Control Design

3

Proofs for CPS Compositional Proof Calculus Example: Safe Car Control

4

Theory of CPS Soundness and Completeness Differential Invariants Example: Elementary Differential Invariants Differential Axioms

5

Applications

6

Summary

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 20 / 40

slide-81
SLIDE 81

Complete Proof Theory of Hybrid Systems

Theorem (Sound & Complete) (J.Autom.Reas. 2008, LICS’12)

dL calculus is a sound & complete axiomatization of hybrid systems relative to either differential equations or discrete dynamics.

Proof 25pp

Corollary (Complete Proof-theoretical Alignment & Bridging)

proving continuous = proving hybrid = proving discrete JAutomReas’08,LICS’12

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 21 / 40

slide-82
SLIDE 82

Complete Proof Theory of Hybrid Systems

Theorem (Sound & Complete) (J.Autom.Reas. 2008, LICS’12)

dL calculus is a sound & complete axiomatization of hybrid systems relative to either differential equations or discrete dynamics.

Proof 25pp

Corollary (Complete Proof-theoretical Alignment & Bridging)

proving continuous = proving hybrid = proving discrete

System Continuous Discrete Hybrid

JAutomReas’08,LICS’12

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 21 / 40

slide-83
SLIDE 83

Complete Proof Theory of Hybrid Systems

Theorem (Sound & Complete) (J.Autom.Reas. 2008, LICS’12)

dL calculus is a sound & complete axiomatization of hybrid systems relative to either differential equations or discrete dynamics.

Proof 25pp

Corollary (Complete Proof-theoretical Alignment & Bridging)

proving continuous = proving hybrid = proving discrete

System Continuous Discrete Hybrid Hybrid Theory Discrete Theory Contin. Theory

JAutomReas’08,LICS’12

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 21 / 40

slide-84
SLIDE 84

Differential Invariants for Differential Equations

Differential Invariant Differential Cut Differential Ghost

t x x′ = f (x)

DI= DI=,∧,∨ DI> DI>,∧,∨ DI≥ DI≥,∧,∨ DI DI≥,=,∧,∨ DI>,=,∧,∨

Logic

Provability theory

Math

Character- istic PDE JLogComput’10,CAV’08,FMSD’09,LMCS’12,ITP’12

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 22 / 40

slide-85
SLIDE 85

Differential Invariants for Differential Equations

Differential Invariant Differential Cut Differential Ghost

t x x′ = f (x)

DI= DI=,∧,∨ DI> DI>,∧,∨ DI≥ DI≥,∧,∨ DI DI≥,=,∧,∨ DI>,=,∧,∨

Logic

Provability theory

Math

Character- istic PDE JLogComput’10,CAV’08,FMSD’09,LMCS’12,ITP’12

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 22 / 40

slide-86
SLIDE 86

Differential Invariants for Differential Equations

Differential Invariant Differential Cut Differential Ghost

t x x′ = f (x)

DI= DI=,∧,∨ DI> DI>,∧,∨ DI≥ DI≥,∧,∨ DI DI≥,=,∧,∨ DI>,=,∧,∨

Logic

Provability theory

Math

Character- istic PDE JLogComput’10,CAV’08,FMSD’09,LMCS’12,ITP’12

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 22 / 40

slide-87
SLIDE 87

Differential Invariants for Differential Equations

Differential Invariant Differential Cut Differential Ghost

t x x′ = f (x)

DI= DI=,∧,∨ DI> DI>,∧,∨ DI≥ DI≥,∧,∨ DI DI≥,=,∧,∨ DI>,=,∧,∨

Logic

Provability theory

Math

Character- istic PDE JLogComput’10,CAV’08,FMSD’09,LMCS’12,ITP’12

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 22 / 40

slide-88
SLIDE 88

Differential Invariants for Differential Equations

Differential Invariant Differential Cut Differential Ghost

t x x′ = f (x)

DI= DI=,∧,∨ DI> DI>,∧,∨ DI≥ DI≥,∧,∨ DI DI≥,=,∧,∨ DI>,=,∧,∨

Logic

Provability theory

Math

Character- istic PDE JLogComput’10,CAV’08,FMSD’09,LMCS’12,ITP’12

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 22 / 40

slide-89
SLIDE 89

Differential Invariants for Differential Equations

Differential Invariant Differential Cut Differential Ghost

t x x′ = f (x)

DI= DI=,∧,∨ DI> DI>,∧,∨ DI≥ DI≥,∧,∨ DI DI≥,=,∧,∨ DI>,=,∧,∨

Logic

Provability theory

Math

Character- istic PDE JLogComput’10,CAV’08,FMSD’09,LMCS’12,ITP’12

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 22 / 40

slide-90
SLIDE 90

Differential Invariants for Differential Equations

Differential Invariant Differential Cut Differential Ghost

t x x′ = f (x)

DI= DI=,∧,∨ DI> DI>,∧,∨ DI≥ DI≥,∧,∨ DI DI≥,=,∧,∨ DI>,=,∧,∨

Logic

Provability theory

Math

Character- istic PDE JLogComput’10,CAV’08,FMSD’09,LMCS’12,ITP’12

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 22 / 40

slide-91
SLIDE 91

Differential Invariants for Differential Equations

Differential Invariant Differential Cut Differential Ghost

t x x′ = f (x)

DI= DI=,∧,∨ DI> DI>,∧,∨ DI≥ DI≥,∧,∨ DI DI≥,=,∧,∨ DI>,=,∧,∨

Logic

Provability theory

Math

Character- istic PDE JLogComput’10,CAV’08,FMSD’09,LMCS’12,ITP’12

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 22 / 40

slide-92
SLIDE 92

Differential Invariants for Differential Equations

Differential Invariant Differential Cut Differential Ghost

t x x′ = f (x) y′ = g(x, y)

DI= DI=,∧,∨ DI> DI>,∧,∨ DI≥ DI≥,∧,∨ DI DI≥,=,∧,∨ DI>,=,∧,∨

Logic

Provability theory

Math

Character- istic PDE JLogComput’10,CAV’08,FMSD’09,LMCS’12,ITP’12

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 22 / 40

slide-93
SLIDE 93

Differential Invariants for Differential Equations

Differential Invariant Differential Cut Differential Ghost

t x x′ = f (x) y′ = g(x, y) inv

DI= DI=,∧,∨ DI> DI>,∧,∨ DI≥ DI≥,∧,∨ DI DI≥,=,∧,∨ DI>,=,∧,∨

Logic

Provability theory

Math

Character- istic PDE JLogComput’10,CAV’08,FMSD’09,LMCS’12,ITP’12

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 22 / 40

slide-94
SLIDE 94

Differential Invariants for Differential Equations

Differential Invariant H → [x′ := f (x)]F ′ F→[x′ = f (x) & H]F Differential Cut F→[x′ = f (x)]C F→[x′ = f (x) & C]F F→[x′ = f (x)]F Differential Ghost F ↔ ∃y G G→[x′ = f (x), y′ = g(x, y) & H]G F→[x′ = f (x) & H]F

t x x′ = f(x) y′ = g(x, y) inv

if new y′ = g(x, y) has a global solution

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 23 / 40

slide-95
SLIDE 95

Differential Invariants for Differential Equations

Differential Invariant H → [x′ := f (x)]F ′ F→[x′ = f (x) & H]F Differential Cut F→[x′ = f (x) & H]C F→[x′ = f (x) & H ∧ C]F F→[x′ = f (x) & H]F Differential Ghost F ↔ ∃y G G→[x′ = f (x), y′ = g(x, y) & H]G F→[x′ = f (x) & H]F

t x x′ = f(x) y′ = g(x, y) inv

if new y′ = g(x, y) has a global solution

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 23 / 40

slide-96
SLIDE 96

Differential Invariants for Differential Equations

ω2x2+y2≤c2 →[x′ = y, y′ = −ω2x − 2dωy & (ω≥0 ∧ d≥0)] ω2x2+y2≤c2

x y

1 2 3 4 5 6 1.5 1.0 0.5 0.5 1.0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 24 / 40

slide-97
SLIDE 97

Differential Invariants for Differential Equations

ω≥ 0 ∧ d≥0 →[x′ := y][y′ := −ω2x − 2dωy]2ω2xx′ + 2yy′ ≤ 0 ω2x2+y2≤c2 →[x′ = y, y′ = −ω2x − 2dωy & (ω≥0 ∧ d≥0)] ω2x2+y2≤c2

x y

1 2 3 4 5 6 1.5 1.0 0.5 0.5 1.0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 24 / 40

slide-98
SLIDE 98

Differential Invariants for Differential Equations

ω≥0 ∧ d≥0 →2ω2xy + 2y(−ω2x − 2dωy) ≤ 0 ω≥ 0 ∧ d≥0 →[x′ := y][y′ := −ω2x − 2dωy]2ω2xx′ + 2yy′ ≤ 0 ω2x2+y2≤c2 →[x′ = y, y′ = −ω2x − 2dωy & (ω≥0 ∧ d≥0)] ω2x2+y2≤c2

x y

1 2 3 4 5 6 1.5 1.0 0.5 0.5 1.0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 24 / 40

slide-99
SLIDE 99

Differential Invariants for Differential Equations

∗ ω≥0 ∧ d≥0 →2ω2xy + 2y(−ω2x − 2dωy) ≤ 0 ω≥ 0 ∧ d≥0 →[x′ := y][y′ := −ω2x − 2dωy]2ω2xx′ + 2yy′ ≤ 0 ω2x2+y2≤c2 →[x′ = y, y′ = −ω2x − 2dωy & (ω≥0 ∧ d≥0)] ω2x2+y2≤c2

x y

1 2 3 4 5 6 1.5 1.0 0.5 0.5 1.0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 24 / 40

slide-100
SLIDE 100

Differential Invariants for Differential Equations

∗ ω≥0 ∧ d≥0 →2ω2xy + 2y(−ω2x − 2dωy) ≤ 0 ω≥ 0 ∧ d≥0 →[x′ := y][y′ := −ω2x − 2dωy]2ω2xx′ + 2yy′ ≤ 0 ω2x2+y2≤c2 →[x′ = y, y′ = −ω2x − 2dωy & (ω≥0 ∧ d≥0)] ω2x2+y2≤c2

x y

1 2 3 4 5 6 1.5 1.0 0.5 0.5 1.0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 24 / 40

slide-101
SLIDE 101

Differential Invariants for Differential Equations

x2 + x3 − y2 − c = 0 → [x′ = −2y, y′ = −2x − 3x2] x2 + x3 − y2 − c = 0 SAS’14

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 25 / 40

slide-102
SLIDE 102

Differential Invariants for Differential Equations

[x′ = 2x4y+4x2y3−6x2y, y′ = −4x3y2−2xy4+6xy2]x4y2+x2y4−3x2y2≤c SAS’14

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 26 / 40

slide-103
SLIDE 103

Assuming Differential Invariance ¬ ¬F

F F

¬ ¬F

F F

H → [x′ := f (x)]F ′ F→[x′ = f (x) & H]F F ∧ H → [x′ := f (x)]F ′ F→[x′ = θ & H]F

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 27 / 40

slide-104
SLIDE 104

Assuming Differential Invariance ¬ ¬F

F F

¬ ¬F

F F

H → [x′ := f (x)]F ′ F→[x′ = f (x) & H]F F ∧ H → [x′ := f (x)]F ′ F→[x′ = θ & H]F

Example (Restrictions)

d2 − 2d + 1 = 0 →[d′ = e, e′ = −d]d2 − 2d + 1 = 0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 27 / 40

slide-105
SLIDE 105

Assuming Differential Invariance ¬ ¬F

F F

¬ ¬F

F F

H → [x′ := f (x)]F ′ F→[x′ = f (x) & H]F F ∧ H → [x′ := f (x)]F ′ F→[x′ = θ & H]F

Example (Restrictions)

d2 − 2d + 1 = 0 →[d′ := e][e′ := −d]2dd′ − 2d′ = 0 d2 − 2d + 1 = 0 →[d′ = e, e′ = −d]d2 − 2d + 1 = 0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 27 / 40

slide-106
SLIDE 106

Assuming Differential Invariance ¬ ¬F

F F

¬ ¬F

F F

H → [x′ := f (x)]F ′ F→[x′ = f (x) & H]F F ∧ H → [x′ := f (x)]F ′ F→[x′ = θ & H]F

Example (Restrictions)

d2 − 2d + 1 = 0 →2de − 2e = 0 d2 − 2d + 1 = 0 →[d′ := e][e′ := −d]2dd′ − 2d′ = 0 d2 − 2d + 1 = 0 →[d′ = e, e′ = −d]d2 − 2d + 1 = 0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 27 / 40

slide-107
SLIDE 107

Assuming Differential Invariance ¬ ¬F

F F

¬ ¬F

F F

H → [x′ := f (x)]F ′ F→[x′ = f (x) & H]F F ∧ H → [x′ := f (x)]F ′ F→[x′ = θ & H]F

Example (Restrictions are unsound!)

(unsound) d2 − 2d + 1 = 0 →2de − 2e = 0 d2 − 2d + 1 = 0 →[d′ := e][e′ := −d]2dd′ − 2d′ = 0 d2 − 2d + 1 = 0 →[d′ = e, e′ = −d]d2 − 2d + 1 = 0 y x

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 27 / 40

slide-108
SLIDE 108

Differential Invariants for Differential Equations

Differential Invariant Differential Cut Differential Ghost

t x x′ = f (x)

DI= DI=,∧,∨ DI> DI>,∧,∨ DI≥ DI≥,∧,∨ DI DI≥,=,∧,∨ DI>,=,∧,∨

Logic

Provability theory

Math

Character- istic PDE JLogComput’10,CAV’08,FMSD’09,LMCS’12,ITP’12

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 28 / 40

slide-109
SLIDE 109

Differential Invariants for Differential Equations

Differential Invariant Differential Cut Differential Ghost

t x x′ = f (x)

DI= DI=,∧,∨ DI> DI>,∧,∨ DI≥ DI≥,∧,∨ DI DI≥,=,∧,∨ DI>,=,∧,∨

Logic

Provability theory

Math

Character- istic PDE JLogComput’10,CAV’08,FMSD’09,LMCS’12,ITP’12

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 28 / 40

slide-110
SLIDE 110

Ex: Differential Cuts

DCx3 ≥ −1 ∧ y5 ≥ 0 →[x′ = (x − 2)4 + y5, y′ = y2]x3 ≥ −1

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 29 / 40

slide-111
SLIDE 111

Ex: Differential Cuts

DCx3 ≥ −1 ∧ y5 ≥ 0 →[x′ = (x − 2)4 + y5, y′ = y2]x3 ≥ −1 DIy5 ≥ 0 →[x′ = (x − 2)4 + y5, y′ = y2]y5 ≥ 0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 29 / 40

slide-112
SLIDE 112

Ex: Differential Cuts

DCx3 ≥ −1 ∧ y5 ≥ 0 →[x′ = (x − 2)4 + y5, y′ = y2]x3 ≥ −1

[x′ := (x − 2)4 + y5][y′ := y2]5y4y′ ≥ 0

DIy5 ≥ 0 →[x′ = (x − 2)4 + y5, y′ = y2]y5 ≥ 0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 29 / 40

slide-113
SLIDE 113

Ex: Differential Cuts

DCx3 ≥ −1 ∧ y5 ≥ 0 →[x′ = (x − 2)4 + y5, y′ = y2]x3 ≥ −1 QE

5y4y2 ≥ 0 [x′ := (x − 2)4 + y5][y′ := y2]5y4y′ ≥ 0

DIy5 ≥ 0 →[x′ = (x − 2)4 + y5, y′ = y2]y5 ≥ 0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 29 / 40

slide-114
SLIDE 114

Ex: Differential Cuts

DCx3 ≥ −1 ∧ y5 ≥ 0 →[x′ = (x − 2)4 + y5, y′ = y2]x3 ≥ −1

QE

5y4y2 ≥ 0 [x′ := (x − 2)4 + y5][y′ := y2]5y4y′ ≥ 0

DIy5 ≥ 0 →[x′ = (x − 2)4 + y5, y′ = y2]y5 ≥ 0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 29 / 40

slide-115
SLIDE 115

Ex: Differential Cuts

DI

x3 ≥ −1 →[x′ = (x − 2)4 + y5, y′ = y2 & y5 ≥ 0]x3 ≥ −1 ⊲

DCx3 ≥ −1 ∧ y5 ≥ 0 →[x′ = (x − 2)4 + y5, y′ = y2]x3 ≥ −1

QE

5y4y2 ≥ 0 [x′ := (x − 2)4 + y5][y′ := y2]5y4y′ ≥ 0

DIy5 ≥ 0 →[x′ = (x − 2)4 + y5, y′ = y2]y5 ≥ 0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 29 / 40

slide-116
SLIDE 116

Ex: Differential Cuts

y5 ≥ 0 →[x′ := (x − 2)4 + y5][y′ := y2]2x2x′ ≥ 0

DI

x3 ≥ −1 →[x′ = (x − 2)4 + y5, y′ = y2 & y5 ≥ 0]x3 ≥ −1 ⊲

DCx3 ≥ −1 ∧ y5 ≥ 0 →[x′ = (x − 2)4 + y5, y′ = y2]x3 ≥ −1

QE

5y4y2 ≥ 0 [x′ := (x − 2)4 + y5][y′ := y2]5y4y′ ≥ 0

DIy5 ≥ 0 →[x′ = (x − 2)4 + y5, y′ = y2]y5 ≥ 0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 29 / 40

slide-117
SLIDE 117

Ex: Differential Cuts

QE

y5 ≥ 0 →2x2((x − 2)4 + y5) ≥ 0 y5 ≥ 0 →[x′ := (x − 2)4 + y5][y′ := y2]2x2x′ ≥ 0

DI

x3 ≥ −1 →[x′ = (x − 2)4 + y5, y′ = y2 & y5 ≥ 0]x3 ≥ −1 ⊲

DCx3 ≥ −1 ∧ y5 ≥ 0 →[x′ = (x − 2)4 + y5, y′ = y2]x3 ≥ −1

QE

5y4y2 ≥ 0 [x′ := (x − 2)4 + y5][y′ := y2]5y4y′ ≥ 0

DIy5 ≥ 0 →[x′ = (x − 2)4 + y5, y′ = y2]y5 ≥ 0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 29 / 40

slide-118
SLIDE 118

Ex: Differential Cuts

QE

y5 ≥ 0 →2x2((x − 2)4 + y5) ≥ 0 y5 ≥ 0 →[x′ := (x − 2)4 + y5][y′ := y2]2x2x′ ≥ 0

DI

x3 ≥ −1 →[x′ = (x − 2)4 + y5, y′ = y2 & y5 ≥ 0]x3 ≥ −1 ⊲

DCx3 ≥ −1 ∧ y5 ≥ 0 →[x′ = (x − 2)4 + y5, y′ = y2]x3 ≥ −1

QE

5y4y2 ≥ 0 [x′ := (x − 2)4 + y5][y′ := y2]5y4y′ ≥ 0

DIy5 ≥ 0 →[x′ = (x − 2)4 + y5, y′ = y2]y5 ≥ 0

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 29 / 40

slide-119
SLIDE 119

Differential Cuts

Differential Cut F→[x′ = f (x) & H]C F→[x′ = f (x) & H ∧ C]F F→[x′ = f (x) & H]F

Theorem (Gentzen’s Cut Elimination)

A→B ∨ C A ∧ C→B A→B cut can be eliminated

Theorem (No Differential Cut Elimination) (LMCS 2012)

Deductive power with differential cut exceeds deductive power without. DCI > DI JLogComput’10,LMCS’12

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 30 / 40

slide-120
SLIDE 120

Differential Equation Axioms & Differential Axioms

DW [x′ = f (x) & q(x)]q(x) DC

  • [x′ = f (x) & q(x)]p(x) ↔ [x′ = f (x) & q(x)∧r(x)]p(x)
  • ← [x′ = f (x) & q(x)]r(x)

DE [x′ = f (x) & q(x)]p(x, x′) ↔ [x′ = f (x) & q(x)][x′ := f (x)]p(x, x′) DI [x′ = f (x) & q(x)]p(x) ←

  • q(x) → p(x) ∧ [x′ = f (x) & q(x)](p(x))′

DG [x′ = f (x) & q(x)]p(x) ↔ ∃y [x′ = f (x), y′ = a(x)y + b(x) & q(x)]p(x) DS [x′ = f & q(x)]p(x) ↔ ∀t≥0

  • (∀0≤s≤t q(x + fs)) → [x := x + ft]p(x)
  • [′:=] [x′ := f ]p(x′) ↔ p(f )

+′ (f (¯ x) + g(¯ x))′ = (f (¯ x))′ + (g(¯ x))′ ·′ (f (¯ x) · g(¯ x))′ = (f (¯ x))′ · g(¯ x) + f (¯ x) · (g(¯ x))′

  • ′ [y := g(x)][y′ := 1]
  • (f (g(x)))′ = (f (y))′ · (g(x))′

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 31 / 40

slide-121
SLIDE 121

Differential Equation Axioms

Axiom (Differential Weakening) (CADE’15)

(DW) [x′ = f (x) & q(x)]q(x) t x q(x) w u r x′ = f (x) & q(x) ¬q(x) Differential equations cannot leave their evolution domains. Implies: [x′ = f (x) & q(x)]p(x) ↔ [x′ = f (x) & q(x)]

  • q(x) → p(x)
  • Andr´

e Platzer (CMU) Proving Hybrid Systems FMCAD 32 / 40

slide-122
SLIDE 122

Differential Equation Axioms

Axiom (Differential Cut) (CADE’15)

(DC)

  • [x′ = f (x) & q(x)]p(x) ↔ [x′ = f (x) & q(x)∧r(x)]p(x)
  • ← [x′ = f (x) & q(x)]r(x)

t x q(x) w u r x′ = f (x) & q(x) DC is a cut for differential equations. DC is a differential modal modus ponens K. Can’t leave r(x), then might as well restrict state space to r(x).

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 32 / 40

slide-123
SLIDE 123

Differential Equation Axioms

Axiom (Differential Cut) (CADE’15)

(DC)

  • [x′ = f (x) & q(x)]p(x) ↔ [x′ = f (x) & q(x)∧r(x)]p(x)
  • ← [x′ = f (x) & q(x)]r(x)

t x q(x) w u r x′ = f (x) & q(x) w q(x) DC is a cut for differential equations. DC is a differential modal modus ponens K. Can’t leave r(x), then might as well restrict state space to r(x).

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 32 / 40

slide-124
SLIDE 124

Differential Equation Axioms

Axiom (Differential Cut) (CADE’15)

(DC)

  • [x′ = f (x) & q(x)]p(x) ↔ [x′ = f (x) & q(x)∧r(x)]p(x)
  • ← [x′ = f (x) & q(x)]r(x)

t x q(x) w u r x′ = f (x) & q(x) w DC is a cut for differential equations. DC is a differential modal modus ponens K. Can’t leave r(x), then might as well restrict state space to r(x).

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 32 / 40

slide-125
SLIDE 125

Differential Equation Axioms

Axiom (Differential Cut) (CADE’15)

(DC)

  • [x′ = f (x) & q(x)]p(x) ↔ [x′ = f (x) & q(x)∧r(x)]p(x)
  • ← [x′ = f (x) & q(x)]r(x)

t x q(x) w u r x′ = f (x) & q(x) w DC is a cut for differential equations. DC is a differential modal modus ponens K. Can’t leave r(x), then might as well restrict state space to r(x).

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 32 / 40

slide-126
SLIDE 126

Differential Equation Axioms

Axiom (Differential Cut) (CADE’15)

(DC)

  • [x′ = f (x) & q(x)]p(x) ↔ [x′ = f (x) & q(x)∧r(x)]p(x)
  • ← [x′ = f (x) & q(x)]r(x)

t x q(x) w u r x′ = f (x) & q(x) DC is a cut for differential equations. DC is a differential modal modus ponens K. Can’t leave r(x), then might as well restrict state space to r(x).

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 32 / 40

slide-127
SLIDE 127

Differential Equation Axioms

Axiom (Differential Cut) (CADE’15)

(DC)

  • [x′ = f (x) & q(x)]p(x) ↔ [x′ = f (x) & q(x)∧r(x)]p(x)
  • ← [x′ = f (x) & q(x)]r(x)

t x q(x) w u r x′ = f (x) & q(x) w DC is a cut for differential equations. DC is a differential modal modus ponens K. Can’t leave r(x), then might as well restrict state space to r(x).

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 32 / 40

slide-128
SLIDE 128

Differential Equation Axioms

Axiom (Differential Cut) (CADE’15)

(DC)

  • [x′ = f (x) & q(x)]p(x) ↔ [x′ = f (x) & q(x)∧r(x)]p(x)
  • ← [x′ = f (x) & q(x)]r(x)

t x q(x) w u r x′ = f (x) & q(x) w DC is a cut for differential equations. DC is a differential modal modus ponens K. Can’t leave r(x), then might as well restrict state space to r(x).

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 32 / 40

slide-129
SLIDE 129

Differential Equation Axioms

Axiom (Differential Cut) (CADE’15)

(DC)

  • [x′ = f (x) & q(x)]p(x) ↔ [x′ = f (x) & q(x)∧r(x)]p(x)
  • ← [x′ = f (x) & q(x)]r(x)

t x q(x) w u r x′ = f (x) & q(x) w DC is a cut for differential equations. DC is a differential modal modus ponens K. Can’t leave r(x), then might as well restrict state space to r(x).

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 32 / 40

slide-130
SLIDE 130

Differential Equation Axioms

Axiom (Differential Cut) (CADE’15)

(DC)

  • [x′ = f (x) & q(x)]p(x) ↔ [x′ = f (x) & q(x)∧r(x)]p(x)
  • ← [x′ = f (x) & q(x)]r(x)

t x q(x) w u r x′ = f (x) & q(x) w DC is a cut for differential equations. DC is a differential modal modus ponens K. Can’t leave r(x), then might as well restrict state space to r(x).

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 32 / 40

slide-131
SLIDE 131

Differential Equation Axioms

Axiom (Differential Invariant) (CADE’15)

(DI) [x′ = f (x) & q(x)]p(x) ←

  • q(x) → p(x) ∧ [x′ = f (x) & q(x)](p(x))′

t x q(x) w u r x′ = f (x) & q(x)

¬ ¬F

F F

Differential invariant: p(x) true now and its differential (p(x))′ true always What’s the differential of a formula??? What’s the meaning of a differential term . . . in a state???

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 32 / 40

slide-132
SLIDE 132

Differential Equation Axioms

Axiom (Differential Effect) (CADE’15)

(DE) [x′ = f (x) & q(x)]p(x, x′) ↔ [x′ = f (x) & q(x)][x′ := f (x)]p(x, x′) t x q(x) w u r x′ = f (x) & q(x) x′ f (x) Effect of differential equation on differential symbol x′ [x′ := f (x)] instantly mimics continuous effect [x′ = f (x)] on x′ [x′ := f (x)] selects vector field x′ = f (x) for subsequent differentials

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 32 / 40

slide-133
SLIDE 133

Differential Equation Axioms

Axiom (Differential Ghost) (CADE’15)

(DG) [x′ = f (x) & q(x)]p(x) ↔ ∃y [x′ = f (x), y′ = a(x)y + b(x) & q(x)]p(x) t x q(x) w u r x′ = f (x) & q(x) y′ = a(x)y + b(x) Differential ghost/auxiliaries: extra differential equations that exist Can cause new invariants “Dark matter” counterweight to balance conserved quantities

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 32 / 40

slide-134
SLIDE 134

Differential Equation Axioms

Axiom (Differential Solution) (CADE’15)

(DS) [x′ = f & q(x)]p(x) ↔ ∀t≥0

  • (∀0≤s≤t q(x+fs)) → [x := x + ft]p(x)
  • t

x q(x) w u r x′ = f (x) & q(x) t x q(x) u w r x′ = f & q(x) Differential solutions: solve differential equations with DG,DC and inverse companions

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 32 / 40

slide-135
SLIDE 135

Example: Differential Invariants Don’t Solve. Prove!

1 DI proves a property of an ODE inductively by its differentials 2 DE exports vector field, possibly after DW exports evolution domain 3 CE+CQ reason efficiently in Equivalence or eQuational context 4 G isolates postcondition 5 [′:=] differential substitution uses vector field 6 ·′ differential computations are axiomatic (US)

QE x3·x + x·x3 ≥ 0 [′:=] [x′ := x3]x′·x + x·x′ ≥ 0 G

[x′ = x3][x′ := x3]x′·x+x·x′≥0 ∗

·′ (f (¯

x)·g(¯ x))′ = (f (¯ x))′·g(¯ x)+f (¯ x)·(g(¯ x))′

US

(x·x)′ = (x)′·x + x·(x)′ (x·x)′ = x′·x + x·x′

CQ

(x·x)′ ≥ 0 ↔ x′·x + x·x′ ≥ 0 (x·x ≥ 1)′ ↔ x′·x + x·x′ ≥ 0

CE

[x′ = x3][x′ := x3](x·x ≥ 1)′

DE

[x′ = x3](x·x ≥ 1)′

DI

x·x ≥ 1 →[x′ = x3]x·x ≥ 1

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 33 / 40

slide-136
SLIDE 136

The Meaning of Primes

[ [(θ)′] ]u = ??? [ [(x2)′] ]u

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 34 / 40

slide-137
SLIDE 137

The Meaning of Primes

[ [(θ)′] ]u = ??? [ [(x2)′] ]u = [ [2x] ]u ?

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 34 / 40

slide-138
SLIDE 138

The Meaning of Primes

[ [(θ)′] ]u = ??? [ [(x2)′] ]u = [ [2x] ]u ? depends on the differential equation . . .

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 34 / 40

slide-139
SLIDE 139

The Meaning of Primes

[ [(θ)′] ]u = ??? [ [(x2)′] ]u = [ [2x] ]u ? depends on the differential equation . . . well-defined locally in an isolated state at all?

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 34 / 40

slide-140
SLIDE 140

The Meaning of Primes Differential Forms

[ [(θ)′] ]u = ??? [ [(x2)′] ]u = [ [2x] ]u ? depends on the differential equation . . . well-defined locally in an isolated state at all? [ [(θ)′] ]u =

  • x

u(x′)∂[ [θ] ]I ∂x (u) =

  • x

u(x′)∂[ [θ] ]uX

x

∂X [ [(θ)′] ] = d[ [θ] ] =

n

  • i=1

∂[ [θ] ] ∂xi dxi depends on state u tangent space basis cotangent space basis depends on u(x′

i ) = dxi

→ R

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 34 / 40

slide-141
SLIDE 141

The Meaning of Primes Differential Forms

[ [(θ)′] ]u = ??? [ [(x2)′] ]u = [ [2x] ]u ? depends on the differential equation . . . well-defined locally in an isolated state at all? [ [(θ)′] ]u =

  • x

u(x′)∂[ [θ] ]I ∂x (u) =

  • x

u(x′)∂[ [θ] ]uX

x

∂X [ [(θ)′] ] = d[ [θ] ] =

n

  • i=1

∂[ [θ] ] ∂xi dxi u(x′) is the local shadow of dx dt if that existed (θ)′ represents how θ changes locally, depending on x′ → R

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 34 / 40

slide-142
SLIDE 142

Differential Substitution Lemmas

Lemma (Differential lemma)

If ϕ | = x′ = f (x) ∧ Q for duration r > 0, then for all 0 ≤ ζ ≤ r: Syntactic [ [(η)′] ]ϕ(ζ) = d[ [η] ]ϕ(t) dt (ζ) Analytic

Lemma (Differential assignment)

If ϕ | = x′ = f (x) ∧ Q then ϕ | = φ ↔ [x′ := f (x)]φ

Lemma (Derivations)

(θ + η)′ = (θ)′ + (η)′ (θ · η)′ = (θ)′ · η + θ · (η)′ [y := θ][y′ := 1]

  • (f (θ))′ = (f (y))′ · (θ)′

for y, y′ ∈ θ (f )′ = 0 for arity 0 functions/numbers f

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 35 / 40

slide-143
SLIDE 143

Outline

1

CPS are Multi-Dynamical Systems Hybrid Systems Hybrid Games

2

Dynamic Logic of Dynamical Systems Syntax Semantics Example: Car Control Design

3

Proofs for CPS Compositional Proof Calculus Example: Safe Car Control

4

Theory of CPS Soundness and Completeness Differential Invariants Example: Elementary Differential Invariants Differential Axioms

5

Applications

6

Summary

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 35 / 40

slide-144
SLIDE 144

Verified CPS Applications

  • x

y c

 

c

  • x

e n t r y e x i t

  • y

c

  • c
  • x
  • y
  • z

xi xj p xk xl xm

ICFEM’09,JAIS’14,TACAS’15,CAV’08,FM’09,HSCC’11,HSCC’13, TACAS’14

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 36 / 40

slide-145
SLIDE 145

Verified CPS Applications

ey fy xb (lx, ly) ex fx (rx, ry) (vx, vy)

FM’11,LMCS’12,ICCPS’12,ITSC’11,ITSC’13,IJCAR’12

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 36 / 40

slide-146
SLIDE 146

Verified CPS Applications

1 2 3 4 5 6 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 1 2 3 4 5 6 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5

1 2 3 4 5 6 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 1 2 3 4 5 6 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 1 2 3 4 5 6 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5

5 10 15 20 0.3 0.2 0.1 0.1 0.2 0.3 0.3 0.2 0.1 0.0 0.1 0.2 0.3 0.3 0.2 0.1 0.0 0.1 0.2 0.3

0.2 0.4 0.6 0.8 1.0 1 1

  • HSCC’13,RSS’13,CADE’12

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 36 / 40

slide-147
SLIDE 147

Verified CPS Applications By Undergrads

1 2 3 4 5 6 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 1 2 3 4 5 6 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5

1 2 3 4 0.0 0.5 1.0 1.5 2.0 2.5

1 2 3 4 5 6 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 1 2 3 4 5 6 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 1 2 3 4 5 6 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5

15-424/624 Foundations of Cyber-Physical Systems students

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 36 / 40

slide-148
SLIDE 148

Outline

1

CPS are Multi-Dynamical Systems Hybrid Systems Hybrid Games

2

Dynamic Logic of Dynamical Systems Syntax Semantics Example: Car Control Design

3

Proofs for CPS Compositional Proof Calculus Example: Safe Car Control

4

Theory of CPS Soundness and Completeness Differential Invariants Example: Elementary Differential Invariants Differential Axioms

5

Applications

6

Summary

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 36 / 40

slide-149
SLIDE 149

KeYmaera X Kernel: Qualifies as a Microkernel

≈LOC KeYmaera X 1 682 KeYmaera 65 989 KeY 51 328 HOL Light 396 Isabelle/Pure 8 113 Nuprl 15 000 + 50 000 Coq 20 000 HSolver 20 000 Flow∗ 25 000 PHAVer 30 000 dReal 50 000 + millions SpaceEx 100 000 HyCreate2 6 081 + user model analysis

Disclaimer: These self-reported estimates of the soundness-critical lines of code + rules are to be taken with a grain of salt. Different languages, capabilities, styles . . .

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 37 / 40

slide-150
SLIDE 150

Proving Hybrid Systems

differential dynamic logic

dL = DL + HP [α]φ φ α Multi-dynamical systems Combine simple dynamics Tame complexity Logic & proofs for CPS Theory of CPS Applications KeYmaera Prover

d i s c r e t e c

  • n

t i n u

  • u

s nondet stochastic a d v e r s a r i a l

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 38 / 40

slide-151
SLIDE 151

Proving Hybrid Systems

differential dynamic logic

dL = DL + HP [α]φ φ α Multi-dynamical systems Combine simple dynamics Tame complexity Logic & proofs for CPS Theory of CPS Applications KeYmaera X

d i s c r e t e c

  • n

t i n u

  • u

s nondet stochastic a d v e r s a r i a l

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 38 / 40

slide-152
SLIDE 152

Acknowledgments

Students and postdocs of the Logical Systems Lab at Carnegie Mellon Nathan Fulton, David Henriques, Sarah Loos, Jo˜ ao Martins, Erik Zawadzki Khalil Ghorbal, Jean-Baptiste Jeannin, Stefan Mitsch

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 39 / 40

slide-153
SLIDE 153

How to trust a computer to control physics

Recipe

1 CPS promise a transformative impact 2 CPS have to be safe to make the world a better place 3 Safety needs a safety analysis 4 Analytic tools for CPS have to be sound 5 Sound analysis needs sound and strong foundations 6 Foundations themselves have to be challenged, e.g., by applications 7 Logic has a lot to offer for CPS 8 CPS bring excitement and new challenges to logic Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 40 / 40

slide-154
SLIDE 154

Logical Foundations

  • f

Cyber-Physical Systems

Logic

Theorem Proving Proof Theory Modal Logic Model Checking

Algebra

Computer Algebra R Algebraic Geometry Differential Algebra Lie Algebra

Analysis

Differential Equations Carath´ edory Solutions Viscosity PDE Solutions Dynamical Systems

Stochastics

Doob’s Super- martingales Dynkin’s Infinitesimal Generators Differential Generators Stochastic Differential Equations

Numerics

Hermite Interpolation Weierstraß Approx- imation Error Analysis Numerical Integration

Algorithms

Decision Procedures Proof Search Procedures Fixpoints & Lattices Closure Ordinals

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 1 / 9

slide-155
SLIDE 155

Logical Foundations

  • f

Cyber-Physical Systems

Logic

Theorem Proving Proof Theory Modal Logic Model Checking

Algebra

Computer Algebra R Algebraic Geometry Differential Algebra Lie Algebra

Analysis

Differential Equations Carath´ edory Solutions Viscosity PDE Solutions Dynamical Systems

Stochastics

Doob’s Super- martingales Dynkin’s Infinitesimal Generators Differential Generators Stochastic Differential Equations

Numerics

Hermite Interpolation Weierstraß Approx- imation Error Analysis Numerical Integration

Algorithms

Decision Procedures Proof Search Procedures Fixpoints & Lattices Closure Ordinals

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 1 / 9

slide-156
SLIDE 156

Differential Dynamic Logic: Axioms

([:=]) [x := f ]p(x) ↔ p(f ) ([?]) [?q]p ↔ (q → p) ([∪]) [a ∪ b]p(¯ x) ↔ [a]p(¯ x) ∧ [b]p(¯ x) ([;]) [a; b]p(¯ x) ↔ [a][b]p(¯ x) ([∗]) [a∗]p(¯ x) ↔ p(¯ x) ∧ [a][a∗]p(¯ x) (K) [a](p(¯ x) → q(¯ x)) → ([a]p(¯ x) → [a]q(¯ x)) (I) [a∗](p(¯ x) → [a]p(¯ x)) → (p(¯ x) → [a∗]p(¯ x)) (V) p → [a]p (DS) [x′ = f ]p(x) ↔ ∀t≥0 [x := x + ft]p(x) LICS’12,CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 2 / 9

slide-157
SLIDE 157

Differential Dynamic Logic: Axioms

(G) p(¯ x) [a]p(¯ x) (∀) p(x) ∀x p(x) (MP) p → q p q (CT) f (¯ x) = g(¯ x) c(f (¯ x)) = c(g(¯ x)) (CQ) f (¯ x) = g(¯ x) p(f (¯ x)) ↔ p(g(¯ x)) (CE) p(¯ x) ↔ q(¯ x) C(p(¯ x)) ↔ C(q(¯ x)) LICS’12,CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 2 / 9

slide-158
SLIDE 158

Differential Equation Axioms & Differential Axioms

(DW) [x′ = f (x) & q(x)]q(x) (DC)

  • [x′ = f (x) & q(x)]p(x) ↔ [x′ = f (x) & q(x)∧r(x)]p(x)
  • ← [x′ = f (x) & q(x)]r(x)

(DE) [x′ = f (x) & q(x)]p(x, x′) ↔ [x′ = f (x) & q(x)][x′ := f (x)]p(x, x′) (DI) [x′ = f (x) & q(x)]p(x) ←

  • q(x) → p(x) ∧ [x′ = f (x) & q(x)](p(x))′

(DG) [x′ = f (x) & q(x)]p(x) ↔ ∃y [x′ = f (x), y′ = a(x)y + b(x) & q(x)]p(x (DS) [x′ = f & q(x)]p(x) ↔ ∀t≥0

  • (∀0≤s≤t q(x + fs)) → [x := x + ft]p(x)

([′:=]) [x′ := f ]p(x′) ↔ p(f ) (+′) (f (¯ x) + g(¯ x))′ = (f (¯ x))′ + (g(¯ x))′ (·′) (f (¯ x) · g(¯ x))′ = (f (¯ x))′ · g(¯ x) + f (¯ x) · (g(¯ x))′ (◦′) [y := g(x)][y′ := 1]

  • (f (g(x)))′ = (f (y))′ · (g(x))′

CADE’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 3 / 9

slide-159
SLIDE 159

Andr´ e Platzer. Logics of dynamical systems. In LICS [17], pages 13–24. doi:10.1109/LICS.2012.13. Andr´ e Platzer. Foundations of cyber-physical systems. Lecture Notes 15-424/624, Carnegie Mellon University, 2014. URL: http: //www.cs.cmu.edu/~aplatzer/course/fcps14/fcps14.pdf. Andr´ e Platzer. Logical Analysis of Hybrid Systems: Proving Theorems for Complex Dynamics. Springer, Heidelberg, 2010. doi:10.1007/978-3-642-14509-4. Andr´ e Platzer. Differential dynamic logic for hybrid systems.

  • J. Autom. Reas., 41(2):143–189, 2008.

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 3 / 9

slide-160
SLIDE 160

doi:10.1007/s10817-008-9103-8. Andr´ e Platzer. A uniform substitution calculus for differential dynamic logic. In Amy Felty and Aart Middeldorp, editors, CADE, volume 9195 of LNCS, pages 467–481. Springer, 2015. doi:10.1007/978-3-319-21401-6_32. Andr´ e Platzer. Differential game logic. ACM Trans. Comput. Log., 2015. To appear. Preprint at arXiv 1408.1980. doi:10.1145/2817824. Andr´ e Platzer. The complete proof theory of hybrid systems. In LICS [17], pages 541–550. doi:10.1109/LICS.2012.64. Andr´ e Platzer.

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 3 / 9

slide-161
SLIDE 161

A complete axiomatization of quantified differential dynamic logic for distributed hybrid systems.

  • Log. Meth. Comput. Sci., 8(4):1–44, 2012.

Special issue for selected papers from CSL’10. doi:10.2168/LMCS-8(4:17)2012. Andr´ e Platzer. Stochastic differential dynamic logic for stochastic hybrid programs. In Nikolaj Bjørner and Viorica Sofronie-Stokkermans, editors, CADE, volume 6803 of LNCS, pages 431–445. Springer, 2011. doi:10.1007/978-3-642-22438-6_34. Andr´ e Platzer. Differential-algebraic dynamic logic for differential-algebraic programs.

  • J. Log. Comput., 20(1):309–352, 2010.

doi:10.1093/logcom/exn070. Andr´ e Platzer and Edmund M. Clarke. Computing differential invariants of hybrid systems as fixedpoints. In Aarti Gupta and Sharad Malik, editors, CAV, volume 5123 of LNCS, pages 176–189. Springer, 2008.

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 3 / 9

slide-162
SLIDE 162

doi:10.1007/978-3-540-70545-1_17. Andr´ e Platzer and Edmund M. Clarke. Computing differential invariants of hybrid systems as fixedpoints.

  • Form. Methods Syst. Des., 35(1):98–120, 2009.

Special issue for selected papers from CAV’08. doi:10.1007/s10703-009-0079-8. Andr´ e Platzer. The structure of differential invariants and differential cut elimination.

  • Log. Meth. Comput. Sci., 8(4):1–38, 2012.

doi:10.2168/LMCS-8(4:16)2012. Andr´ e Platzer. A differential operator approach to equational differential invariants. In Lennart Beringer and Amy Felty, editors, ITP, volume 7406 of LNCS, pages 28–48. Springer, 2012. doi:10.1007/978-3-642-32347-8_3. Khalil Ghorbal, Andrew Sogokon, and Andr´ e Platzer.

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 3 / 9

slide-163
SLIDE 163

Invariance of conjunctions of polynomial equalities for algebraic differential equations. In Markus M¨ uller-Olm and Helmut Seidl, editors, SAS, volume 8723 of LNCS, pages 151–167. Springer, 2014. doi:10.1007/978-3-319-10936-7_10. Khalil Ghorbal and Andr´ e Platzer. Characterizing algebraic invariants by differential radical invariants. In Erika ´ Abrah´ am and Klaus Havelund, editors, TACAS, volume 8413

  • f LNCS, pages 279–294. Springer, 2014.

doi:10.1007/978-3-642-54862-8_19. Proceedings of the 27th Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2012, Dubrovnik, Croatia, June 25–28, 2012. IEEE, 2012.

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 3 / 9

slide-164
SLIDE 164

Outline

7

Differential Radical Invariants Differential Radical Invariants

8

ACAS X

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 3 / 9

slide-165
SLIDE 165

Differential Radical Invariants

Theorem (Differential radical invariant characterization)

h = 0 →

N−1

  • i=0

(h(i))

p x′ = 0

h = 0 → [x′ = p]h = 0 characterizes all algebraic invariants, where N = ord

  • (h), i.e.

(h(N))

p x′ = N−1

  • i=0

gi(h(i))

p x′

(gi ∈ R[x])

Corollary (Algebraic Invariants Decidable)

Algebraic invariants of algebraic differential equations are decidable. with Khalil Ghorbal TACAS’14

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 4 / 9

slide-166
SLIDE 166

Case Study: Longitudinal Dynamics of an Airplane

Study (6th Order Longitudinal Flight Equations)

u′ = X

m − g sin(θ) − qw

axial velocity w′ = Z

m + g cos(θ) + qu

vertical velocity x′ = cos(θ)u + sin(θ)w range z′ = − sin(θ)u + cos(θ)w altitude θ′ = q pitch angle q′ = M

Iyy

pitch rate

2 4 6 8 10 12 14 x 2 4 6 8 10 12 z

X : thrust along u Z : thrust along w M : thrust moment for w g : gravity m : mass Iyy : inertia second diagonal with Khalil Ghorbal TACAS’14

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 5 / 9

slide-167
SLIDE 167

Case Study: Longitudinal Dynamics of an Airplane

Result (DRI Automatically Generates Invariant Functions)

Mz Iyy + gθ + X m − qw

  • cos(θ) +

Z m + qu

  • sin(θ)

Mx Iyy − Z m + qu

  • cos(θ) +

X m − qw

  • sin(θ)

− q2 + 2Mθ Iyy with Khalil Ghorbal TACAS’14

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 6 / 9

slide-168
SLIDE 168

Case Study: Dubins Dynamics of 2 Airplanes

Result (DRI Automatically Generates Invariants)

ω1 = 0∧ω2 = 0 → v2 sin ϑx = (v2 cos ϑ − v1)y > p(v1 + v2) ω1 = 0∨ω2 = 0 → −ω1ω2(x2 + y2) + 2v2ω1 sin ϑx + 2(v1ω2 − v2ω1 cos ϑ)y + 2v1v2 cos ϑ > 2v1v2 + 2p(v2|ω1| + v1|ω2|) + p2|ω1ω2|

  • JAIS’14

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 7 / 9

slide-169
SLIDE 169

Outline

7

Differential Radical Invariants Differential Radical Invariants

8

ACAS X

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 7 / 9

slide-170
SLIDE 170

Airborne Collision Avoidance System ACAS X: Verify

Developed by the FAA to replace current TCAS in aircraft Approximately optimizes Markov Decision Process on a grid Advisory from lookup tables with numerous 5D interpolation regions

1 Identified safe region for each advisory symbolically 2 Proved safety for hybrid systems flight model in KeYmaera

TACAS’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 8 / 9

slide-171
SLIDE 171

Airborne Collision Avoidance System ACAS X: Compare

ACAS X table comparison shows safe advisory in 97.7% of the 648,591,384,375 states compared (15,160,434,734 counterexamples). ACAS X issues DNC advisory, which induces collision unless corrected TACAS’15

Andr´ e Platzer (CMU) Proving Hybrid Systems FMCAD 9 / 9