undecidability of propositional separation logic and its
play

Undecidability of propositional separation logic and its neighbours - PowerPoint PPT Presentation

Undecidability of propositional separation logic and its neighbours James Brotherston 1 and Max Kanovich 2 1 Imperial College London 2 Queen Mary University of London LICS-25, University of Edinburgh, 12 July 2010 Separation logic (Reynolds,


  1. Undecidability of propositional separation logic and its neighbours James Brotherston 1 and Max Kanovich 2 1 Imperial College London 2 Queen Mary University of London LICS-25, University of Edinburgh, 12 July 2010

  2. Separation logic (Reynolds, O’Hearn) • Separation logic is a formalism for reasoning about memory.

  3. Separation logic (Reynolds, O’Hearn) • Separation logic is a formalism for reasoning about memory. • Separation models are cancellative partial commutative monoids � H, ◦ , E � ( E ⊆ H is a set of units).

  4. Separation logic (Reynolds, O’Hearn) • Separation logic is a formalism for reasoning about memory. • Separation models are cancellative partial commutative monoids � H, ◦ , E � ( E ⊆ H is a set of units). • Propositional formulas combine standard Boolean connectives with “multiplicatives” ∗ , — ∗ and I.

  5. Separation logic (Reynolds, O’Hearn) • Separation logic is a formalism for reasoning about memory. • Separation models are cancellative partial commutative monoids � H, ◦ , E � ( E ⊆ H is a set of units). • Propositional formulas combine standard Boolean connectives with “multiplicatives” ∗ , — ∗ and I. • Separating conjunction F ∗ G defined by: h | = ρ F 1 ∗ F 2 ⇔ h = h 1 ◦ h 2 and h 1 | = ρ F 1 and h 2 | = ρ F 2

  6. Separation logic (Reynolds, O’Hearn) • Separation logic is a formalism for reasoning about memory. • Separation models are cancellative partial commutative monoids � H, ◦ , E � ( E ⊆ H is a set of units). • Propositional formulas combine standard Boolean connectives with “multiplicatives” ∗ , — ∗ and I. • Separating conjunction F ∗ G defined by: h | = ρ F 1 ∗ F 2 ⇔ h = h 1 ◦ h 2 and h 1 | = ρ F 1 and h 2 | = ρ F 2 • Archetypal heap models are � H, ◦ , { e }� , where H = L ⇀ fin RV is a set of heaps , e is the empty heap, and ◦ is (partial) union of disjoint heaps. (Variations: stacks-and-heaps, heaps with permissions)

  7. Validity: concrete models vs. classes of models • F is valid in � H, ◦ , E � if h | = ρ F for all h ∈ H and for all valuations ρ of propositional variables.

  8. Validity: concrete models vs. classes of models • F is valid in � H, ◦ , E � if h | = ρ F for all h ∈ H and for all valuations ρ of propositional variables. • Applications of separation logic are typically based on a fixed, heap-like model.

  9. Validity: concrete models vs. classes of models • F is valid in � H, ◦ , E � if h | = ρ F for all h ∈ H and for all valuations ρ of propositional variables. • Applications of separation logic are typically based on a fixed, heap-like model. • Validity in such a model is a subtler problem than validity in classes of models:

  10. Validity: concrete models vs. classes of models • F is valid in � H, ◦ , E � if h | = ρ F for all h ∈ H and for all valuations ρ of propositional variables. • Applications of separation logic are typically based on a fixed, heap-like model. • Validity in such a model is a subtler problem than validity in classes of models: • Normally, to show a property Q given that F is valid in a class of models C , one chooses some model M ∈ C such that ( F valid in M ) → Q ;

  11. Validity: concrete models vs. classes of models • F is valid in � H, ◦ , E � if h | = ρ F for all h ∈ H and for all valuations ρ of propositional variables. • Applications of separation logic are typically based on a fixed, heap-like model. • Validity in such a model is a subtler problem than validity in classes of models: • Normally, to show a property Q given that F is valid in a class of models C , one chooses some model M ∈ C such that ( F valid in M ) → Q ; • but, when M is given in advance , we have no such freedom!

  12. Axiomatisations of separation logic • BI, which is intuitionistic logic plus the MILL axioms and rules for I, ∗ and — ∗ ;

  13. Axiomatisations of separation logic • BI, which is intuitionistic logic plus the MILL axioms and rules for I, ∗ and — ∗ ; • BBI, which is BI plus ¬¬ A ⊢ A ;

  14. Axiomatisations of separation logic • BI, which is intuitionistic logic plus the MILL axioms and rules for I, ∗ and — ∗ ; • BBI, which is BI plus ¬¬ A ⊢ A ; • BBI+eW where eW is I ∧ ( A ∗ B ) ⊢ I ∧ A , which says “ you can’t split the empty heap into two non-empty heaps ”;

  15. Axiomatisations of separation logic • BI, which is intuitionistic logic plus the MILL axioms and rules for I, ∗ and — ∗ ; • BBI, which is BI plus ¬¬ A ⊢ A ; • BBI+eW where eW is I ∧ ( A ∗ B ) ⊢ I ∧ A , which says “ you can’t split the empty heap into two non-empty heaps ”; • BBI+W where W is A ∗ B ⊢ A . This system collapses into classical logic!

  16. Axiomatisations of separation logic • BI, which is intuitionistic logic plus the MILL axioms and rules for I, ∗ and — ∗ ; • BBI, which is BI plus ¬¬ A ⊢ A ; • BBI+eW where eW is I ∧ ( A ∗ B ) ⊢ I ∧ A , which says “ you can’t split the empty heap into two non-empty heaps ”; • BBI+W where W is A ∗ B ⊢ A . This system collapses into classical logic! NB. 1. BI ⊂ BBI ⊂ BBI+eW ⊂ BBI+W, and both BI, BBI+W are decidable;

  17. Axiomatisations of separation logic • BI, which is intuitionistic logic plus the MILL axioms and rules for I, ∗ and — ∗ ; • BBI, which is BI plus ¬¬ A ⊢ A ; • BBI+eW where eW is I ∧ ( A ∗ B ) ⊢ I ∧ A , which says “ you can’t split the empty heap into two non-empty heaps ”; • BBI+W where W is A ∗ B ⊢ A . This system collapses into classical logic! NB. 1. BI ⊂ BBI ⊂ BBI+eW ⊂ BBI+W, and both BI, BBI+W are decidable; 2. BBI, BBI+eW are (obviously) incomplete wrt. validity in particular concrete models.

  18. Undecidability machine M terminates from configuration C ( M is a non-deterministic, 2-counter Minsky machine.)

  19. Undecidability machine M terminates from configuration C Thm. 3.1 F M,C provable in Minimal BBI ( M is a non-deterministic, 2-counter Minsky machine.)

  20. Undecidability Thm. 4.2 F M,C valid in any machine M terminates chosen heap-like model from configuration C Thm. 3.1 F M,C provable in Minimal BBI ( M is a non-deterministic, 2-counter Minsky machine.)

  21. Undecidability Thm. 4.2 F M,C valid in any machine M terminates chosen heap-like model from configuration C Thm. 3.1 F M,C valid in all separation F M,C provable models with indivisible units in Minimal BBI Prop. 2.1 F M,C provable in BBI+eW Prop. 2.1 F M,C valid in all F M,C provable separation models in BBI ( M is a non-deterministic, 2-counter Minsky machine.)

  22. Undecidability Thm. 4.2 Thm. 7.1 F M,C valid in any machine M terminates F M,C valid in all CBI-models chosen heap-like model from configuration C with indivisible units Thm. 3.1 Prop. 7.1 F M,C valid in all separation F M,C provable F M,C valid in all models with indivisible units in Minimal BBI CBI-models Prop. 2.1 F M,C provable F M,C provable Prop. 7.1 in BBI+eW in CBI+eW Prop. 2.1 F M,C valid in all F M,C provable F M,C provable separation models in BBI in CBI ( M is a non-deterministic, 2-counter Minsky machine.)

  23. Finite valuations Undecidability is intimately related to infinite valuations of the propositional variables (as sets of model elements): Theorem There is a sequent F M , C such that, for any heap-like model M: • F M , C is not valid in M , but; • F M , C is valid in M under every finite valuation!

  24. Finite valuations Undecidability is intimately related to infinite valuations of the propositional variables (as sets of model elements): Theorem There is a sequent F M , C such that, for any heap-like model M: • F M , C is not valid in M , but; • F M , C is valid in M under every finite valuation! So, to obtain decidable fragments of separation logic, one could: 1. give up infinite valuations (Calcagno et al., FSTTCS’01);

  25. Finite valuations Undecidability is intimately related to infinite valuations of the propositional variables (as sets of model elements): Theorem There is a sequent F M , C such that, for any heap-like model M: • F M , C is not valid in M , but; • F M , C is valid in M under every finite valuation! So, to obtain decidable fragments of separation logic, one could: 1. give up infinite valuations (Calcagno et al., FSTTCS’01); 2. restrict the formula language (Berdine et al., FSTTCS’04).

  26. Summary For the purely propositional fragment of separation logic, we have the following new results:

  27. Summary For the purely propositional fragment of separation logic, we have the following new results: • validity in any given heap-like model is undecidable;

  28. Summary For the purely propositional fragment of separation logic, we have the following new results: • validity in any given heap-like model is undecidable; • validity in such a model cannot be approximated by finite valuations for propositional variables (which imposes restrictions on decidable fragments);

  29. Summary For the purely propositional fragment of separation logic, we have the following new results: • validity in any given heap-like model is undecidable; • validity in such a model cannot be approximated by finite valuations for propositional variables (which imposes restrictions on decidable fragments); • validity in various classes of models is undecidable;

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend