Differential Game Logic: Syntax Discrete Differential Test Choice Seq. Repeat Dual Assign Equation Game Game Game Game Game Definition (Hybrid game α ) x := f ( x ) | ? Q | x ′ = f ( x ) | α ∪ β | α ; β | α ∗ | α d Definition (dG L Formula P ) p ( e 1 , . . . , e n ) | e ≥ ˜ e | ¬ P | P ∧ Q | ∀ x P | ∃ x P | � α � P | [ α ] P All Some Angel Demon Reals Reals Wins Wins TOCL’15 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 12 / 40
Differential Game Logic: Syntax Discrete Differential Test Choice Seq. Repeat Dual Assign Equation Game Game Game Game Game Definition (Hybrid game α ) x := f ( x ) | ? Q | x ′ = f ( x ) | α ∪ β | α ; β | α ∗ | α d Definition (dG L Formula P ) p ( e 1 , . . . , e n ) | e ≥ ˜ e | ¬ P | P ∧ Q | ∀ x P | ∃ x P | � α � P | [ α ] P All Some Angel Demon Reals Reals Wins Wins “Angel has Wings � α � ” TOCL’15 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 12 / 40
Game Operators ⋄ Angel Ops d ⋄ Demon Ops ∪ choice ∩ choice ∗ × repeat repeat x ′ = f ( x ) evolve x ′ = f ( x ) d evolve d ? Q d ? Q challenge challenge Duality operator d passes control between players 8 0Z0Z0s0Z 7 o0Z0Z0j0 6 Po0o0ZpZ 5 Z0oPZ0Z0 4 0Z0Z0Znl 3 Z0Z0Z0Z0 2 0OPZ0OQZ 1 Z0Z0Z0ZB a b c d e f g h Andr´ e Platzer (CMU) Differential Game Logic MOD’17 13 / 40
Game Operators ⋄ Angel Ops d ⋄ Demon Ops ∪ choice ∩ choice ∗ × repeat repeat x ′ = f ( x ) evolve x ′ = f ( x ) d evolve d ? Q d ? Q challenge challenge Duality operator d passes control between players h g f e d c b a 1 Z0Z0Z0ZB 2 0OPZ0OQZ 3 Z0Z0Z0Z0 4 0Z0Z0Znl 5 Z0oPZ0Z0 6 Po0o0ZpZ 7 o0Z0Z0j0 8 0Z0Z0s0Z Andr´ e Platzer (CMU) Differential Game Logic MOD’17 13 / 40
Definable Game Operators ⋄ Angel Ops d ⋄ Demon Ops ∪ choice ∩ choice ∗ × repeat repeat x ′ = f ( x ) evolve x ′ = f ( x ) d evolve d ? Q d ? Q challenge challenge if ( Q ) α else β ≡ while ( Q ) α ≡ α ∩ β ≡ α × ≡ ( x ′ = f ( x ) & Q ) d x ′ = f ( x ) & Q ( x := f ( x )) d x := f ( x ) ? Q d ? Q Andr´ e Platzer (CMU) Differential Game Logic MOD’17 13 / 40
Definable Game Operators ⋄ Angel Ops d ⋄ Demon Ops ∪ choice ∩ choice ∗ × repeat repeat x ′ = f ( x ) evolve x ′ = f ( x ) d evolve d ? Q d ? Q challenge challenge if ( Q ) α else β ≡ (? Q ; α ) ∪ (? ¬ Q ; β ) while ( Q ) α ≡ (? Q ; α ) ∗ ; ? ¬ Q α ∩ β ≡ ( α d ∪ β d ) d α × ≡ (( α d ) ∗ ) d ( x ′ = f ( x ) & Q ) d �≡ x ′ = f ( x ) & Q ( x := f ( x )) d ≡ x := f ( x ) ? Q d �≡ ? Q Andr´ e Platzer (CMU) Differential Game Logic MOD’17 13 / 40
Example: Push-around Cart a d x v v ≥ 1 → �� ( d := 1 ∪ d := − 1) d ; ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } � ∗ � v ≥ 0 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 14 / 40
Example: Push-around Cart a d x v v ≥ 1 → �� ( d := 1 ∪ d := − 1) d ; ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } � ∗ � v ≥ 0 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 14 / 40
Example: Push-around Cart a d x v � v ≥ 1 → �� ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } � ∗ � v ≥ 0 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 14 / 40
Example: Push-around Cart a d x v � v ≥ 1 → d before a can compensate �� ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } � ∗ � v ≥ 0 x ≥ 0 ∧ v ≥ 0 → ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } �� � ∗ � x ≥ 0 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 14 / 40
Example: Push-around Cart a d x v � v ≥ 1 → d before a can compensate �� ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } � ∗ � v ≥ 0 � x ≥ 0 ∧ v ≥ 0 → ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } �� � ∗ � x ≥ 0 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 14 / 40
Example: Push-around Cart a d x v � v ≥ 1 → d before a can compensate �� ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } � ∗ � v ≥ 0 x ≥ 0 → ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } �� � ∗ � x ≥ 0 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 14 / 40
Example: Push-around Cart a d x v � v ≥ 1 → d before a can compensate �� ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } � ∗ � v ≥ 0 � x ≥ 0 → boring by skip ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } �� � ∗ � x ≥ 0 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 14 / 40
Example: Push-around Cart a d x v � v ≥ 1 → d before a can compensate �� ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } � ∗ � v ≥ 0 ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } �� � ∗ � x ≥ 0 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 14 / 40
Example: Push-around Cart a d x v � v ≥ 1 → d before a can compensate �� ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } � ∗ � v ≥ 0 counterstrategy d := − 1 � ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } �� � ∗ � x ≥ 0 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 14 / 40
Example: Push-around Cart a d x v � v ≥ 1 → d before a can compensate �� ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } � ∗ � v ≥ 0 counterstrategy d := − 1 � ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } �� � ∗ � x ≥ 0 �� ( d := 1 ∩ d := − 1); ( a := 2 ∪ a := − 2); { x ′ = v , v ′ = a + d } � ∗ � x ≥ 0 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 14 / 40
Example: Push-around Cart a d x v � v ≥ 1 → d before a can compensate �� ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } � ∗ � v ≥ 0 counterstrategy d := − 1 � ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } �� � ∗ � x ≥ 0 �� ( d := 1 ∩ d := − 1); ( a := 2 ∪ a := − 2); { x ′ = v , v ′ = a + d } � ∗ � � x ≥ 0 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 14 / 40
Example: Push-around Cart a d x v � v ≥ 1 → d before a can compensate �� ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } � ∗ � v ≥ 0 counterstrategy d := − 1 � ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } �� � ∗ � x ≥ 0 �� ( d := 1 ∩ d := − 1); ( a := 2 ∪ a := − 2); { x ′ = v , v ′ = a + d } � ∗ � � x ≥ 0 �� ( d := 2 ∩ d := − 2); ( a := 2 ∪ a := − 2); x 2 ≥ 100 t := 0; { x ′ = v , v ′ = a + d , t ′ = 1 & t ≤ 1 } � ∗ � Andr´ e Platzer (CMU) Differential Game Logic MOD’17 14 / 40
Example: Push-around Cart a d x v � v ≥ 1 → d before a can compensate �� ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } � ∗ � v ≥ 0 counterstrategy d := − 1 � ( d := 1 ∩ d := − 1); ( a := 1 ∪ a := − 1); { x ′ = v , v ′ = a + d } �� � ∗ � x ≥ 0 �� ( d := 1 ∩ d := − 1); ( a := 2 ∪ a := − 2); { x ′ = v , v ′ = a + d } � ∗ � � x ≥ 0 �� � ( d := 2 ∩ d := − 2); ( a := 2 ∪ a := − 2); a := d then a := 2 sign v x 2 ≥ 100 t := 0; { x ′ = v , v ′ = a + d , t ′ = 1 & t ≤ 1 } � ∗ � Andr´ e Platzer (CMU) Differential Game Logic MOD’17 14 / 40
Example: EVE and WALL · E ( w − e ) 2 ≤ 1 ∧ v = f → �� ( u := 1 ∩ u := − 1); ( g := 1 ∪ g := − 1); t := 0; ( w ′ = v , v ′ = u , e ′ = f , f ′ = g , t ′ = 1 & t ≤ 1) d ( w − e ) 2 ≤ 1 � × � EVE at e plays Angel’s part controlling g WALL · E at w plays Demon’s part controlling u Andr´ e Platzer (CMU) Differential Game Logic MOD’17 15 / 40
Example: EVE and WALL · E and the World ( w − e ) 2 ≤ 1 ∧ v = f → �� ( u := 1 ∩ u := − 1); ( g := 1 ∪ g := − 1); t := 0; ( w ′ = v , v ′ = u , e ′ = f , f ′ = g , t ′ = 1 & t ≤ 1) d ( w − e ) 2 ≤ 1 � × � EVE at e plays Angel’s part controlling g WALL · E at w plays Demon’s part controlling u EVE assigned environment’s time to WALL · E Andr´ e Platzer (CMU) Differential Game Logic MOD’17 15 / 40
Example: WALL · E and EVE ( w − e ) 2 ≤ 1 ∧ v = f → �� ( u := 1 ∩ u := − 1); ( g := 1 ∪ g := − 1); t := 0; ( w ′ = v , v ′ = u , e ′ = f , f ′ = g , t ′ = 1 & t ≤ 1) � × � ( w − e ) 2 > 1 WALL · E at w plays Demon’s part controlling u EVE at e plays Angel’s part controlling g WALL · E assigned environment’s time to EVE Andr´ e Platzer (CMU) Differential Game Logic MOD’17 16 / 40
Zeppelin Obstacle Parcours avoid obstacles changing wind local turbulence TOCL’17 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 17 / 40
Zeppelin Obstacle Parcours avoid obstacles changing wind local turbulence TOCL’17 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 17 / 40
Zeppelin Obstacle Parcours avoid obstacles changing wind local turbulence TOCL’17 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 17 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α ) [ [ · ] ] : HG → ( ℘ ( S ) → ℘ ( S )) ς x := f ( x ) ( X ) = { s ∈ S : s [ [ f ( x )] ] s ∈ X } x ς x ′ = f ( x ) ( X ) = { ϕ (0) ∈ S : ϕ ( r ) ∈ X , d ϕ ( t )( x ) ( ζ ) = [ [ f ( x )] ] ϕ ( ζ ) for all ζ } d t ς ? Q ( X ) = [ [ Q ] ] ∩ X ς α ∪ β ( X ) = ς α ( X ) ∪ ς β ( X ) ς α ; β ( X ) = ς α ( ς β ( X )) ς α ∗ ( X ) = � { Z ⊆ S : X ∪ ς α ( Z ) ⊆ Z } ς α d ( X ) = ( ς α ( X ∁ )) ∁ Definition (dG L Formula P ) [ [ · ] ] : Fml → ℘ ( S ) [ e 1 ≥ e 2 ] ] = { s ∈ S : [ ] s ≥ [ ] s } [ [ e 1 ] [ e 2 ] ]) ∁ [ [ ¬ P ] ] = ([ [ P ] [ [ P ∧ Q ] ] = [ [ P ] ] ∩ [ [ Q ] ] [ [ � α � P ] ] = ς α ([ [ P ] ]) [ [[ α ] P ] ] = δ α ([ [ P ] ]) Andr´ e Platzer (CMU) Differential Game Logic MOD’17 18 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς x := f ( x ) ( X ) = X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς x := f ( x ) ( X ) = { s ∈ S : s [ [ f ( x )] ] s ∈ X } x ς x := f ( x ) ( X ) X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς x ′ = f ( x ) ( X ) = ) x ( f = x ′ X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς x ′ = f ( x ) ( X ) = { ϕ (0) ∈ S : ϕ ( r ) ∈ X , d ϕ ( t )( x ) ( ζ ) = [ [ f ( x )] ] ϕ ( ζ ) for all ζ } d t ς x ′ = f ( x ) ( X ) ) x ( f = x ′ X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς ? Q ( X ) = [ [ Q ] ] X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς ? Q ( X ) = [ [ Q ] ] ∩ X ς ? Q ( X ) [ [ Q ] ] X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς α ∪ β ( X ) = ς α ( X ) X ) X ( ς β Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς α ∪ β ( X ) = ς α ( X ) ∪ ς β ( X ) ς α ( X ) ς α ∪ β ( X ) X ) X ( ς β Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς α ; β ( X ) = X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς α ; β ( X ) = ς α ( ς β ( X )) ς α ; β ( X ) ς α ( ς β ( X )) ς β ( X ) X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς α ∗ ( X ) = X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς α ∗ ( X ) = ς α ( X ) X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς α ∗ ( X ) = ς 2 α ( X ) ς α ( X ) X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς α ∗ ( X ) = ς 3 α ( X ) ς 2 α ( X ) ς α ( X ) X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς α ∗ ( X ) = ς ∞ α ( X ) · · · ς 3 α ( X ) ς 2 α ( X ) ς α ( X ) X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς α ∗ ( X ) = � { Z ⊆ S : X ∪ ς α ( Z ) ⊆ Z } ∅ ς α ( ς α ∗ ( X )) \ ς α ∗ ( X ) ς α ∗ ( X ) ς ∞ α ( X ) · · · ς 3 α ( X ) ς 2 α ( X ) ς α ( X ) X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς α d ( X ) = X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς α d ( X ) = X ∁ X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς α d ( X ) = X ∁ X ς α ( X ∁ ) ∁ ς α ( X ∁ ) Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Differential Game Logic: Denotational Semantics Definition (Hybrid game α : denotational semantics) ς α d ( X ) = ( ς α ( X ∁ )) ∁ ς α d ( X ) X ∁ X ς α ( X ∁ ) ∁ ς α ( X ∁ ) Andr´ e Platzer (CMU) Differential Game Logic MOD’17 19 / 40
Filibusters X repeat stop X X 0 1 repeat repeat stop stop � ( x := 0 ∩ x := 1) ∗ � x = 0 0 0 1 1 ⋄ ⋄ 0 1 0 1 repeat stop ⋄ 0 0 ⋄ 0 1 ⋄ Andr´ e Platzer (CMU) Differential Game Logic MOD’17 20 / 40
Filibusters & The Significance of Finitude X repeat stop X X 0 1 repeat repeat stop stop � ( x := 0 ∩ x := 1) ∗ � x = 0 0 0 1 1 ⋄ ⋄ wfd � false unless x = 0 0 1 0 1 repeat stop ⋄ 0 0 ⋄ 0 1 ⋄ Andr´ e Platzer (CMU) Differential Game Logic MOD’17 20 / 40
Filibusters & The Significance of Finitude X repeat stop � ( x ′ = 1 d ; x := 0) ∗ � x = 0 X X � ( x := 0; x ′ = 1 d ) ∗ � x = 0 0 1 repeat repeat stop stop � ( x := 0 ∩ x := 1) ∗ � x = 0 0 0 1 1 ⋄ ⋄ wfd � false unless x = 0 0 1 0 1 repeat stop ⋄ 0 0 ⋄ 0 1 ⋄ Andr´ e Platzer (CMU) Differential Game Logic MOD’17 20 / 40
Filibusters & The Significance of Finitude X repeat stop < ∞ � true � ( x ′ = 1 d ; x := 0) ∗ � x = 0 X X � ( x := 0; x ′ = 1 d ) ∗ � x = 0 0 1 repeat repeat stop stop � ( x := 0 ∩ x := 1) ∗ � x = 0 0 0 1 1 ⋄ ⋄ wfd � false unless x = 0 0 1 0 1 repeat stop ⋄ 0 0 ⋄ 0 1 ⋄ Andr´ e Platzer (CMU) Differential Game Logic MOD’17 20 / 40
Filibusters & The Significance of Finitude X repeat stop < ∞ � true � ( x ′ = 1 d ; x := 0) ∗ � x = 0 X X � ( x := 0; x ′ = 1 d ) ∗ � x = 0 0 1 repeat repeat stop stop � ( x := 0 ∩ x := 1) ∗ � x = 0 0 0 1 1 ⋄ ⋄ wfd � false unless x = 0 0 1 0 1 repeat stop ⋄ 0 0 Well-defined games ⋄ can’t be postponed forever 0 1 ⋄ Andr´ e Platzer (CMU) Differential Game Logic MOD’17 20 / 40
Consistency & Determinacy Theorem (Consistency & determinacy) Hybrid games are consistent and determined, i.e. � ¬� α �¬ φ ↔ [ α ] φ . Corollary (Determinacy: At least one player wins) � ¬� α �¬ φ → [ α ] φ , thus � � α �¬ φ ∨ [ α ] φ . Corollary (Consistency: At most one player wins) � [ α ] φ → ¬� α �¬ φ , thus � ¬ ([ α ] φ ∧ � α �¬ φ ) Andr´ e Platzer (CMU) Differential Game Logic MOD’17 21 / 40
Winning Region Fixpoint Iterations Definition (Hybrid game α ) ς α ∗ ( X ) = � { Z ⊆ S : X ∪ ς α ( Z ) ⊆ Z } Andr´ e Platzer (CMU) Differential Game Logic MOD’17 22 / 40
Winning Region Fixpoint Iterations Definition (Hybrid game α ) ς α ∗ ( X ) = � { Z ⊆ S : X ∪ ς α ( Z ) ⊆ Z } X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 22 / 40
Winning Region Fixpoint Iterations Definition (Hybrid game α ) ς α ∗ ( X ) = � { Z ⊆ S : X ∪ ς α ( Z ) ⊆ Z } ς α ( X ) X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 22 / 40
Winning Region Fixpoint Iterations Definition (Hybrid game α ) ς α ∗ ( X ) = � { Z ⊆ S : X ∪ ς α ( Z ) ⊆ Z } ς 2 α ( X ) ς α ( X ) X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 22 / 40
Winning Region Fixpoint Iterations Definition (Hybrid game α ) ς α ∗ ( X ) = � { Z ⊆ S : X ∪ ς α ( Z ) ⊆ Z } ς 3 α ( X ) ς 2 α ( X ) ς α ( X ) X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 22 / 40
Winning Region Fixpoint Iterations Definition (Hybrid game α ) ς α ∗ ( X ) = � { Z ⊆ S : X ∪ ς α ( Z ) ⊆ Z } = ς ∞ α ( X ) (Knaster-Tarski) · · · ς 3 α ( X ) ς 2 ς α ∗ ( X ) α ( X ) ς α ( X ) X Andr´ e Platzer (CMU) Differential Game Logic MOD’17 22 / 40
Winning Region Fixpoint Iterations Definition (Hybrid game α ) ς α ∗ ( X ) = � { Z ⊆ S : X ∪ ς α ( Z ) ⊆ Z } = ς ∞ α ( X ) (Knaster-Tarski) Alternative (Advance notice semantics) ? where α n +1 ≡ α n ; α α 0 ≡ ? true = � ς α ∗ ( X ) n <ω ς α n ( X ) 11 11 repeat stop . . . 0 1 2 3 11 11 11 11 11 11 ⋄ ⋄ 10 01 10 01 10 01 10 01 r r p e p e ⋄ p p ⋄ o o t e t e a a s s t t 10 10 01 01 00 00 10 01 00 00 10 01 ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ 00 00 10 01 00 00 00 00 00 00 10 01 repeat ⋄ stop ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ ⋄ Andr´ e Platzer (CMU) Differential Game Logic MOD’17 22 / 40 10 10
Winning Region Fixpoint Iterations Definition (Hybrid game α ) ς α ∗ ( X ) = � { Z ⊆ S : X ∪ ς α ( Z ) ⊆ Z } = ς ∞ α ( X ) (Knaster-Tarski) Alternative ( ω semantics) ? = � n <ω ς n ς α ∗ ( X ) α ( X ) α ( X ) def ς 0 = X ( X ) def ς κ +1 = X ∪ ς α ( ς κ α ( X )) α Example � ( x := 1; x ′ = 1 d ∪ x := x − 1) ∗ � (0 ≤ x < 1) Andr´ e Platzer (CMU) Differential Game Logic MOD’17 22 / 40
Winning Region Fixpoint Iterations Definition (Hybrid game α ) ς α ∗ ( X ) = � { Z ⊆ S : X ∪ ς α ( Z ) ⊆ Z } = ς ∞ α ( X ) (Knaster-Tarski) Alternative ( ω semantics) ? = � n <ω ς n ς α ∗ ( X ) α ( X ) α ( X ) def ς 0 = X ( X ) def ς κ +1 = X ∪ ς α ( ς κ α ( X )) α Example � ( x := 1; x ′ = 1 d ∪ x := x − 1) ∗ � (0 ≤ x < 1) ς n α ([0 , 1)) = [0 , n ) � = R Andr´ e Platzer (CMU) Differential Game Logic MOD’17 22 / 40
Winning Region Fixpoint Iterations Definition (Hybrid game α ) ς α ∗ ( X ) = � { Z ⊆ S : X ∪ ς α ( Z ) ⊆ Z } = ς ∞ α ( X ) (Knaster-Tarski) Alternative ( ω semantics) ? = � n <ω ς n ς α ∗ ( X ) α ( X ) α ( X ) def ς 0 = X ( X ) def ς κ +1 = X ∪ ς α ( ς κ α ( X )) α � α ( X ) def ς λ ς κ = α ( X ) λ � = 0 a limit ordinal κ<λ Example � ( x := 1; x ′ = 1 d ∪ x := x − 1) ∗ � (0 ≤ x < 1) ς n α ([0 , 1)) = [0 , n ) � = R Andr´ e Platzer (CMU) Differential Game Logic MOD’17 22 / 40
≥ ω CK Strategic Closure Ordinal 1 0 1 ω ω+1 ω+2 ω² 2 ω ω+3 · 1 ω²+2 5 ω·4 + ω+4 ² Theorem ω ω³ ω²·4 ω³+ω ω 4 Hybrid game closure ordinal ≥ ω CK 1 ω ω 3 ω²+ω ω·3 ω²·3 ω³+ω² ω³·2 ω ² + ω · 2 ω²·2 4 ω·2+3 ω·2+2 ω·2+1 ω·2 5 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 23 / 40
Outline CPS Game Motivation 1 Differential Game Logic 2 Syntax Example: Push-around Cart Example: Robot Dance Differential Hybrid Games Denotational Semantics Determinacy Strategic Closure Ordinals Axiomatization 3 Axiomatics Example: Robot Soccer Soundness and Completeness Separating Axioms Expressiveness 4 Differential Hybrid Games 5 Summary 6 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 23 / 40
Differential Game Logic: Axiomatization [ · ] [ α ] P ↔ � := � � x := f ( x ) � p ( x ) ↔ � ′ � � x ′ = f ( x ) � P ↔ � ? � � ? Q � P ↔ �∪� � α ∪ β � P ↔ � ; � � α ; β � P ↔ � ∗ � � α ∗ � P ↔ � d � � α d � P ↔ TOCL’15 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 24 / 40
Differential Game Logic: Axiomatization P → Q [ · ] [ α ] P ↔ ¬� α �¬ P M � α � P → � α � Q � := � � x := f ( x ) � p ( x ) ↔ p ( f ( x )) FP P ∨ � α � Q → Q � α ∗ � P → Q � ′ � � x ′ = f ( x ) � P ↔ ∃ t ≥ 0 � x := y ( t ) � P MP P P → Q � ? � � ? Q � P ↔ ( Q ∧ P ) Q p → Q �∪� � α ∪ β � P ↔ � α � P ∨ � β � P ∀ ( x �∈ FV( p )) p → ∀ x Q � ; � � α ; β � P ↔ � α �� β � P ϕ US ϕ ψ ( · ) � ∗ � � α ∗ � P ↔ P ∨ � α �� α ∗ � P p ( · ) � d � � α d � P ↔ ¬� α �¬ P TOCL’15 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 24 / 40
x ′ Defining Evolution Domain Constraints 0 = 1 x ′ = f ( x ) & Q x ′ = f ( x ); ?( Q ) � x t ) ( x ′ = f x Q t r Andr´ e Platzer (CMU) Differential Game Logic MOD’17 25 / 40
x ′ Defining Evolution Domain Constraints 0 = 1 x ′ = f ( x ) & Q x ′ = f ( x ); ?( Q ) � x t ) ( x Q ′ = f x Q t r Andr´ e Platzer (CMU) Differential Game Logic MOD’17 25 / 40
x ′ Defining Evolution Domain Constraints 0 = 1 x ′ = f ( x ) & Q x ′ = f ( x ); ( z := x ; z ′ = − f ( z )) d ; ?( Q ( z )) � x t revert flow, ) ( x ′ = f x Demon checks Q backwards Q z ′ = − f ( z ) t r Andr´ e Platzer (CMU) Differential Game Logic MOD’17 25 / 40
x ′ Defining Evolution Domain Constraints 0 = 1 x ′ = f ( x ) & Q x ′ = f ( x ); ( z := x ; z ′ = − f ( z )) d ; ?( Q ( z )) � x t revert flow, ) ( x ′ = f x Demon checks Q backwards Q z ′ = − f ( z ) ¬ Q t r Andr´ e Platzer (CMU) Differential Game Logic MOD’17 25 / 40
x ′ Defining Evolution Domain Constraints 0 = 1 x ′ = f ( x ) & Q ≡ t 0 := x 0 ; x ′ = f ( x ); ( z := x ; z ′ = − f ( z )) d ; ?( z 0 ≥ t 0 → Q ( z )) � x t revert flow, time x 0 ; ) ( x ′ = f x Demon checks Q backwards Q z ′ = − f ( z ) t r t 0 := x 0 Andr´ e Platzer (CMU) Differential Game Logic MOD’17 25 / 40
“There and Back Again” Game x ′ = f ( x ) & Q ≡ t 0 := x 0 ; x ′ = f ( x ); ( z := x ; z ′ = − f ( z )) d ; ?( z 0 ≥ t 0 → Q ( z )) � x t revert flow, time x 0 ; ) ( x ′ = f x Demon checks Q backwards Q z ′ = − f ( z ) t r t 0 := x 0 Lemma Evolution domains definable by games Andr´ e Platzer (CMU) Differential Game Logic MOD’17 25 / 40
Example Proof: Dual Filibuster X repeat stop X X ∗ R x = 0 → 0 = 0 ∨ 1 = 0 0 1 repeat repeat stop stop � := � x = 0 →� x := 0 � x = 0 ∨ � x := 1 � x = 0 �∪� x = 0 →� x := 0 ∪ x := 1 � x = 0 0 0 1 1 � d � x = 0 →¬� x := 0 ∩ x := 1 �¬ x = 0 ⋄ ⋄ [ · ] x = 0 → [ x := 0 ∩ x := 1] x = 0 0 1 0 1 ind x = 0 → [( x := 0 ∩ x := 1) ∗ ] x = 0 repeat stop ⋄ � d � x = 0 →� ( x := 0 ∪ x := 1) × � x = 0 0 0 ⋄ 0 1 ⋄ Andr´ e Platzer (CMU) Differential Game Logic MOD’17 26 / 40
Example: Goalie in Robot Soccer y , g g ( x , y ) x x < 0 ∧ v > 0 ∧ y = g � → ( w := + w ∩ w := − w ); ( u := + u ∪ u := − u ); { x ′ = v , y ′ = w , g ′ = u } x 2 + ( y − g ) 2 ≤ 1 � � ∗ � Andr´ e Platzer (CMU) Differential Game Logic MOD’17 27 / 40
Example: Goalie in Robot Soccer y , g ( v , + w ) g ( x , y ) x x < 0 ∧ v > 0 ∧ y = g � → ( w := + w ∩ w := − w ); ( u := + u ∪ u := − u ); { x ′ = v , y ′ = w , g ′ = u } x 2 + ( y − g ) 2 ≤ 1 � � ∗ � Andr´ e Platzer (CMU) Differential Game Logic MOD’17 27 / 40
Example: Goalie in Robot Soccer y , g ( v , + w ) g ( x , y ) x ( v , − w ) x < 0 ∧ v > 0 ∧ y = g � → ( w := + w ∩ w := − w ); ( u := + u ∪ u := − u ); { x ′ = v , y ′ = w , g ′ = u } x 2 + ( y − g ) 2 ≤ 1 � � ∗ � Andr´ e Platzer (CMU) Differential Game Logic MOD’17 27 / 40
Example: Goalie in Robot Soccer y , g ( v , + w ) + u g ( x , y ) x ( v , − w ) x < 0 ∧ v > 0 ∧ y = g � → ( w := + w ∩ w := − w ); ( u := + u ∪ u := − u ); { x ′ = v , y ′ = w , g ′ = u } x 2 + ( y − g ) 2 ≤ 1 � � ∗ � Andr´ e Platzer (CMU) Differential Game Logic MOD’17 27 / 40
Example: Goalie in Robot Soccer y , g ( v , + w ) + u g ( x , y ) x − u ( v , − w ) x < 0 ∧ v > 0 ∧ y = g � → ( w := + w ∩ w := − w ); ( u := + u ∪ u := − u ); { x ′ = v , y ′ = w , g ′ = u } x 2 + ( y − g ) 2 ≤ 1 � � ∗ � Andr´ e Platzer (CMU) Differential Game Logic MOD’17 27 / 40
Recommend
More recommend