Math 2.0

Computer science Semantics and logic in computer science Concept

Separation logic

Builds on Hoare logic

Summary

Separation logic is an extension of Hoare logic for reasoning about programs that use pointers and mutable memory. It was developed around 2000 by John C. Reynolds, Peter O'Hearn, Samin Ishtiaq and Hongseok Yang. Its key connective is the separating conjunction P∗QP * Q, which says that memory splits into two disjoint parts, one satisfying PP and the other QQ. The frame rule then extends a proof about the memory that a command touches to any larger memory. This makes proofs local and scalable.

Reading path

To understand this page from the ground up, read these 13 pages in order. The foundations come first.

Show the path as a graph
Each page uses the pages above it. The colour of the bar on a box shows how strong the evidence is, and the box also gives it as text. The list has the same pages.
  • no evidence level
  1. Binary relation concept
  2. Proposition concept
  3. Operational semantics concept
  4. Conjunction definition
  5. Disjunction definition
  6. Implication definition
  7. Negation definition
  8. Predicate definition
  9. Biconditional definition
  10. Propositional logic concept
  11. Predicate logic concept
  12. Hoare logic concept
  13. Separation logic concept

Further reading

  1. Web https://en.wikipedia.org/wiki/Separation_logic
About this page
TagCF5Y39BPB0
URIm2://CF5Y39BPB0
Kindconcept
WritingW0 stub
MSC68Q60, 03B70, 03B47
UsesHoare logic
Same as
Changed3 November 2026

Markdown · JSON · Edit on GitHub

What this page needs for W1

  • a source with a locator (0 of 1)

The writing levels say how complete the text of a page is. They do not measure its truth.

What links here

Definitions