Introduction Undecidability Results Decidability Results Additional Remarks On Model Checking Boolean BI Heng Guo Hanpin Wang Zhongyuan Xu Yongzhi Cao School of Electronic Engineering and Computer Science Peking university CSL’09 Coimbra, 07 Sep 2009
Introduction Undecidability Results Decidability Results Additional Remarks Outline Introduction Backgrounds Semigroup Presentation Undecidability Results Propositions Infinitely related Monoid Decidability Results Finitely Generated Monoid Finitely Related Monoid Additional Remarks
Introduction Undecidability Results Decidability Results Additional Remarks Outline Introduction Backgrounds Semigroup Presentation Undecidability Results Decidability Results Additional Remarks
Introduction Undecidability Results Decidability Results Additional Remarks The logic of Bunched Implication • A substructural logic with natural resource interpretation, introduced by O’Hearn and Pym ’99. • Additive connectives ( ⊤ , ⊥ , ∧ , ∨ , → ) along with multiplicative connectives ( ⊤ ∗ , ∗ , − ∗ ). • Various semantic models: cartesian doubly closed category, preordered commutative monoid, etc. • The additives are generally interpreted in the intuitionistic way.
Introduction Undecidability Results Decidability Results Additional Remarks Boolean BI • Classical additives: Boolean BI (BBI). • A typical model: partially defined commutative monoid. • Most famous application of BBI: Separation Logic.
Introduction Undecidability Results Decidability Results Additional Remarks The semantics • Commutative monoid. ε and ◦ . • Additive connectives ( ⊤ , ¬ , ∧ ) are interpreted classically. • Multiplicative connectives: m | = ⊤ ∗ m = ε ⇔ m | = ϕ 1 ∗ ϕ 2 ⇔ ∃ m 1 , m 2 . m = m 1 ◦ m 2 s.t. m 1 | = ϕ 1 and m 2 | = ϕ 2 m | = ϕ 1 − ∗ ϕ 2 ⇔ ∀ m 1 . m 1 | = ϕ 1 . implies m ◦ m 1 | = ϕ 2
Introduction Undecidability Results Decidability Results Additional Remarks Some Notations ∗ ∃ ϕ 2 = ¬ ( ϕ 1 − ∗ ∃ ϕ 2 iff ∃ m 1 . m 1 | = ϕ 1 • ϕ 1 − ∗¬ ϕ 2 ) . Then m | = ϕ 1 − and m 1 ◦ m | = ϕ 2 . • We use ρ ( ϕ ) to denote the set on which ϕ holds. ρ ( ϕ 1 ∗ ϕ 2 ) = ρ ( ϕ 1 ) ◦ ρ ( ϕ 2 ) • ∗ ∃ ϕ 2 ) = ρ ( ϕ 2 ) : ρ ( ϕ 1 ) ρ ( ϕ 1 −
Introduction Undecidability Results Decidability Results Additional Remarks The model checking problem • To decide whether m | = ϕ in a given model. • Some related problems have been resolved: • The validity and model checking problems of separation Logic are answered by Calcagno, Yang, O’hearn ’01. • The validity of BI is decidable using Resource Tableaux. (Galmiche, M´ ery, Pym ’02)
Introduction Undecidability Results Decidability Results Additional Remarks Our Results • Generally, the model checking problem is undecidable, even in finitely generated free monoid, somehow the simplest model.
Introduction Undecidability Results Decidability Results Additional Remarks Our Results • Generally, the model checking problem is undecidable, even in finitely generated free monoid, somehow the simplest model. • Generator propositions, analogue of “ x �→ − , − ”in Separation logic.
Introduction Undecidability Results Decidability Results Additional Remarks Our Results • Generally, the model checking problem is undecidable, even in finitely generated free monoid, somehow the simplest model. • Generator propositions, analogue of “ x �→ − , − ”in Separation logic. • In this setting, we show that for infinitely related monoid, the model checking problem is undecidable, and for finitely related monoid, decidable.
Introduction Undecidability Results Decidability Results Additional Remarks Outline Introduction Backgrounds Semigroup Presentation Undecidability Results Decidability Results Additional Remarks
Introduction Undecidability Results Decidability Results Additional Remarks Semigroup Presentation • To describe monoids. • A monoid M is characterized by its generator set X , and generation relation R . ( X ; R ) is called a presentation of M . • R = ∅ : Free monoid X ∗ .
Introduction Undecidability Results Decidability Results Additional Remarks Semigroup Presentation (cont.) • Finitely generated (f.g.) monoid and finitely related (f.r.) monoid. • In the following, we only consider commutative monoid. • For a f.g. monoid M = ( X ; R ) , every element m in M is a congruence class in X ∗ , denoted as [ m ] . • A f.g. free monoid X ∗ is isomorphic to N k .
Introduction Undecidability Results Decidability Results Additional Remarks Semigroup Presentation (cont.) • Finitely generated (f.g.) monoid and finitely related (f.r.) monoid. • In the following, we only consider commutative monoid. • For a f.g. monoid M = ( X ; R ) , every element m in M is a congruence class in X ∗ , denoted as [ m ] . • A f.g. free monoid X ∗ is isomorphic to N k . Theorem (Redei’s theorem) Every finitely generated commutative monoid is finitely related.
Introduction Undecidability Results Decidability Results Additional Remarks Partially defined monoid • Partial monoid captures some essential property. Like in separation logic, not every two heaps are composable.
Introduction Undecidability Results Decidability Results Additional Remarks Partially defined monoid • Partial monoid captures some essential property. Like in separation logic, not every two heaps are composable. • Simulate partial monoid by total monoid: • m 1 ◦ m 2 = π if m 1 ◦ m 2 is undefined. • π ◦ m = π • For simplicity, we only consider total monoid.
Introduction Undecidability Results Decidability Results Additional Remarks Outline Introduction Undecidability Results Propositions Infinitely related Monoid Decidability Results Additional Remarks
Introduction Undecidability Results Decidability Results Additional Remarks The Hilbert 10th Problem Negative Solution of H10 (Matiyasevich ’70) Given a polynomial of several variables P ( x 1 . . . x k ) with integer coefficients, it is undecidable whether there is a vector ( x 1 . . . x k ) ∈ N k that P ( x 1 . . . x k ) = 0 .
Introduction Undecidability Results Decidability Results Additional Remarks Undecidability • Recursively defined propositions lead to undecidability.
Introduction Undecidability Results Decidability Results Additional Remarks Undecidability • Recursively defined propositions lead to undecidability. • In N k , for any given polynomial P ( x 1 . . . x m ) , define ρ ( p ) = { ( e 1 , . . . , e m ) | P ( e 1 . . . e m ) = 0 }
Introduction Undecidability Results Decidability Results Additional Remarks Undecidability • Recursively defined propositions lead to undecidability. • In N k , for any given polynomial P ( x 1 . . . x m ) , define ρ ( p ) = { ( e 1 , . . . , e m ) | P ( e 1 . . . e m ) = 0 } ∗ ∃ p ⇔ decide whether the equation Check ε | = ⊤− P ( x 1 . . . x m ) = 0 has solutions.
Introduction Undecidability Results Decidability Results Additional Remarks Outline Introduction Undecidability Results Propositions Infinitely related Monoid Decidability Results Additional Remarks
Introduction Undecidability Results Decidability Results Additional Remarks Generator propositions • The resource model is often discrete. • In separation logic, formulae are constructed from atomic assertions like “ x �→ − , − ”.
Introduction Undecidability Results Decidability Results Additional Remarks Generator propositions • The resource model is often discrete. • In separation logic, formulae are constructed from atomic assertions like “ x �→ − , − ”. • Given a monoid M = ( X ; R ) , define p x such that ρ ( p x ) = { x | x ∈ X } . We call these p x “generator propositions”.
Introduction Undecidability Results Decidability Results Additional Remarks Undecidability • Even restricted to generator propositions, the model checking problem in infinitely related monoid is undecidable.
Introduction Undecidability Results Decidability Results Additional Remarks Undecidability • Even restricted to generator propositions, the model checking problem in infinitely related monoid is undecidable. • In comparison, the model checking problem for quantifier-free assertion language of separation logic is decidable. The model is a partially defined infinitely related monoid.
Introduction Undecidability Results Decidability Results Additional Remarks Minsky Machine • Deterministic computation model. A series of commands and several counters. • Two types of commands: 1. Increase a counter, then jump. 2. If a counter is zero, then do nothing and jump, else decrease and jump.
Introduction Undecidability Results Decidability Results Additional Remarks Minsky Machine • Deterministic computation model. A series of commands and several counters. • Two types of commands: 1. Increase a counter, then jump. 2. If a counter is zero, then do nothing and jump, else decrease and jump. • Snapshot ( i , m , n ) : current command line i , the values of the two counters m , n .
Recommend
More recommend