Skip to content

Add Hillel Wayne's two-thread counter as a first refinement example. - #248

Merged
lemmy merged 1 commit into
masterfrom
mku-refinement
Oct 29, 2026
Merged

lemmy merged 1 commit into
masterfrom
mku-refinement

Conversation

@lemmy

@lemmy lemmy commented Oct 29, 2026

Copy link
Copy Markdown
Member

The refinement examples in this repository are too large to show what a refinement mapping is in a few minutes. Hillel Wayne's two-thread counter from his blog post fits on a page. TLC finds the lost update when bad.tla splits the increment into a read and a write, and verifies that good.tla, which adds a lock, refines both abstract.tla and bad.tla. good_proof.tla proves both refinements with TLAPS.

https://www.hillelwayne.com/post/refinement/

/cc @hwayne

The refinement examples in this repository are too large to show what a
refinement mapping is in a few minutes. Hillel Wayne's two-thread counter
from his blog post fits on a page. TLC finds the lost update when bad.tla
splits the increment into a read and a write, and verifies that good.tla,
which adds a lock, refines both abstract.tla and bad.tla. good_proof.tla
proves both refinements with TLAPS.

https://www.hillelwayne.com/post/refinement/

Co-authored-by: Hillel Wayne <[email protected]>
Co-authored-by: Claude Opus 5.5 <[email protected]>
Signed-off-by: Markus Alexander Kuppe <[email protected]>
@lemmy lemmy self-assigned this Oct 29, 2026
@lemmy
lemmy merged commit bce9f21 into master Oct 29, 2026
17 of 19 checks passed
@lemmy
lemmy deleted the mku-refinement branch October 29, 2026 16:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

1 participant