「‍」 Lingenic

Owicki-Gries Logic

(⤓.md ◇.md); γ ≜ [2026-07-17T120407.600, 2026-07-17T135416.643] ∧ |γ| = 3

Owicki-Gries Logic

Origin. Owicki and Gries developed method (1976). Extends Hoare logic to parallel programs. Auxiliary variables for coordination. Non-interference: parallel threads don't invalidate each other's proofs. Foundation for concurrent verification.

Models. Parallel Hoare logic. Sequential Hoare: {P} C {Q}. Parallel: {P₁} C₁ {Q₁} ∥ {P₂} C₂ {Q₂}. Non-interference: C₁'s actions preserve C₂'s proof (and vice versa). Auxiliary variables: ghost state for proof only.

Formalism.

Parallel rule: {P₁} C₁ {Q₁} {P₂} C₂ {Q₂} non-interference ───────────────────────────────────────────────── {P₁ ∧ P₂} C₁ ∥ C₂ {Q₁ ∧ Q₂}

Non-interference: Every atomic action a of C₁ must preserve validity of {pre(C₂)} C₂ {post(C₂)}. Formally: {Q ∧ pre(a)} a {Q} for each assertion Q in C₂'s proof.

Auxiliary variables: Variables in assertions but not affecting control flow. Used to relate values across threads. Must be eliminable: program correct without them.

Example (mutual exclusion): {¬in1 ∧ ¬in2} [in1 := true; CS1; in1 := false] ∥ [in2 := true; CS2; in2 := false] {¬in1 ∧ ¬in2}

Invariant: ¬(in1 ∧ in2) Requires atomic actions preserve invariant.

Atomicity: Assumes atomic actions (no interleaving within action). await b then S end: atomic conditional.

Limitations addressed: Rely-guarantee: more compositional. CSL: separating conjunction.

Symbols.

SymbolUnicodeNameMeaning
U+2225ParallelParallel composition
{P} C {Q}Hoare triplePartial correctness
awaitAwaitAtomic conditional
in₁, in₂AuxiliaryGhost variables
InvInvariantGlobal property
⟨S⟩AtomicAtomic block

Metatheory. Sound for interleaving semantics. Complete relative to sequential. Non-interference: quadratic checking. Auxiliary variables: add expressive power. Superseded by rely-guarantee, CSL for modularity.

Applies to. Concurrent algorithm verification. Mutual exclusion. Producer-consumer. Readers-writers. Classic synchronization. Educational foundation.

Limitations. Non-interference not compositional. Requires global reasoning. Auxiliary variables must be tracked. Doesn't scale to large programs. Modern methods (CSL, rely-guarantee) preferred.

© 2026 Lingenic LLC