Skip to content
Snippets Groups Projects
Commit d4b1567a authored by Jonas Kastberg's avatar Jonas Kastberg
Browse files

Added adequacy proof for ring leader election

parent 2177ce6f
No related branches found
No related tags found
1 merge request!39Multiparty synchronous
From multi_actris.channel Require Import proofmode. From iris.heap_lang Require Import adequacy.
From iris.heap_lang.lib Require Import assert. From iris.heap_lang.lib Require Import assert.
From multi_actris.channel Require Import proofmode.
(** Inspired by https://en.wikipedia.org/wiki/Chang_and_Roberts_algorithm *) (** Inspired by https://en.wikipedia.org/wiki/Chang_and_Roberts_algorithm *)
...@@ -195,3 +196,11 @@ Section ring_leader_election_example. ...@@ -195,3 +196,11 @@ Section ring_leader_election_example.
Qed. Qed.
End ring_leader_election_example. End ring_leader_election_example.
Lemma program_spec_adequate :
adequate NotStuck (program #()) ({|heap := ; used_proph_id := ∅|})
(λ _ _, True).
Proof.
apply (heap_adequacy #[heapΣ; chanΣ]).
iIntros (Σ) "H". by iApply program_spec.
Qed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment