Commit 7527bd61 authored by Robbert Krebbers's avatar Robbert Krebbers

Rename "inc" of counter into "incr".

parent 3f678b90
Pipeline #2941 passed with stage
in 9 minutes and 50 seconds
......@@ -5,12 +5,12 @@ From iris.algebra Require Import frac auth.
From iris.heap_lang Require Import proofmode notation.
Definition newcounter : val := λ: <>, ref #0.
Definition inc : val :=
rec: "inc" "l" :=
Definition incr : val :=
rec: "incr" "l" :=
let: "n" := !"l" in
if: CAS "l" "n" (#1 + "n") then #() else "inc" "l".
if: CAS "l" "n" (#1 + "n") then #() else "incr" "l".
Definition read : val := λ: "l", !"l".
Global Opaque newcounter inc get.
Global Opaque newcounter incr get.
(** Monotone counter *)
Class mcounterG Σ := MCounterG { mcounter_inG :> inG Σ (authR mnatUR) }.
......@@ -44,8 +44,8 @@ Section mono_proof.
iModIntro. iApply "HΦ". rewrite /mcounter; eauto 10.
Qed.
Lemma inc_mono_spec l n :
{{{ mcounter l n }}} inc #l {{{ RET #(); mcounter l (S n) }}}.
Lemma incr_mono_spec l n :
{{{ mcounter l n }}} incr #l {{{ RET #(); mcounter l (S n) }}}.
Proof.
iIntros (Φ) "Hl HΦ". iLöb as "IH". wp_rec.
iDestruct "Hl" as (γ) "(% & #? & #Hinv & Hγf)".
......@@ -122,8 +122,8 @@ Section contrib_spec.
iModIntro. iApply "HΦ". rewrite /ccounter_ctx /ccounter; eauto 10.
Qed.
Lemma inc_contrib_spec γ l q n :
{{{ ccounter_ctx γ l ccounter γ q n }}} inc #l
Lemma incr_contrib_spec γ l q n :
{{{ ccounter_ctx γ l ccounter γ q n }}} incr #l
{{{ RET #(); ccounter γ q (S n) }}}.
Proof.
iIntros (Φ) "(#(%&?&?) & Hγf) HΦ". iLöb as "IH". wp_rec.
......
......@@ -11,12 +11,12 @@ From iris.heap_lang Require Import proofmode notation.
Import uPred.
Definition newcounter : val := λ: <>, ref #0.
Definition inc : val :=
rec: "inc" "l" :=
Definition incr : val :=
rec: "incr" "l" :=
let: "n" := !"l" in
if: CAS "l" "n" (#1 + "n") then #() else "inc" "l".
if: CAS "l" "n" (#1 + "n") then #() else "incr" "l".
Definition read : val := λ: "l", !"l".
Global Opaque newcounter inc read.
Global Opaque newcounter incr read.
(** The CMRA we need. *)
Inductive M := Auth : nat M | Frag : nat M | Bot.
......@@ -103,8 +103,8 @@ Proof.
iModIntro. rewrite /C; eauto 10.
Qed.
Lemma inc_spec l n :
{{ C l n }} inc #l {{ v, v = #() C l (S n) }}.
Lemma incr_spec l n :
{{ C l n }} incr #l {{ v, v = #() C l (S n) }}.
Proof.
iIntros "!# Hl /=". iLöb as "IH". wp_rec.
iDestruct "Hl" as (N γ) "(% & #Hh & #Hinv & Hγf)".
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment