Skip to content
Snippets Groups Projects
Commit 8afdb110 authored by jihgfee's avatar jihgfee
Browse files

Some updates to comments

parent 56a4744f
No related branches found
No related tags found
No related merge requests found
...@@ -9,13 +9,14 @@ determines the polarity of the endpoints. ...@@ -9,13 +9,14 @@ determines the polarity of the endpoints.
The [send] primitive takes such an endpoint abstraction and adds an element to The [send] primitive takes such an endpoint abstraction and adds an element to
the first buffer under the lock. Conversely [recv] loops until there is the first buffer under the lock. Conversely [recv] loops until there is
something in the second, locking during each peek. something in the second buffer, which it pops and returns, locking during
each peek.
The specifications are defined in terms of the logical connectives [is_chan] The specifications are defined in terms of the logical connectives [is_chan]
and [chan_own], which respectively determines the contents of a channel and and [chan_own], which respectively determines the contents of a channel using
the ownership of it. a lock over an invariant and the ownership of it using ghost fragments
over buffers.
*) *)
From iris.heap_lang Require Import proofmode notation. From iris.heap_lang Require Import proofmode notation.
From iris.heap_lang.lib Require Import spin_lock. From iris.heap_lang.lib Require Import spin_lock.
From iris.algebra Require Import excl auth list. From iris.algebra Require Import excl auth list.
......
(** This file defines the model of Dependent Separation Protocols, (** This file defines the model of Dependent Separation Protocols,
along with various operations on the connective, such as append along with various operations on the connective, such as append
and map. and map and the necessary typeclass instances.
Dependent Separation Protocols can ultimately be expressed as: Dependent Separation Protocols can ultimately be expressed as:
proto := 1 + (B * (V -> (▶ proto -> PROP) -> PROP)) proto := 1 + (B * (V -> (▶ proto -> PROP) -> PROP))
...@@ -10,9 +10,9 @@ Here the left-hand side of the sum is the terminal protocol ...@@ -10,9 +10,9 @@ Here the left-hand side of the sum is the terminal protocol
where B is the canonical representation of actions determining where B is the canonical representation of actions determining
whether the protocol sends or receives, and whether the protocol sends or receives, and
(V -> (▶ proto -> PROP) -> PROP) is a continuation that (V -> (▶ proto -> PROP) -> PROP) is a continuation that
depends on a communicated value V and the dependent tail depends on the communicated value V and the dependent tail
(▶ proto -> PROP) from protocols guarded under laters, (▶ proto -> PROP) from protocols guarded under laters to the
to the propositions of the logic. propositions of the logic.
The type is defined as a solution to a recursive domain The type is defined as a solution to a recursive domain
equation, as it is self-referential under the guard of ▶. equation, as it is self-referential under the guard of ▶.
......
(** This file implements a distributed Merge Sort, (** This file implements a distributed Merge Sort,
a specification thereof and its proofs. *) a specification thereof and its proofs, including
a variant in which the comparison function is sent
over the channel. *)
From stdpp Require Import sorting. From stdpp Require Import sorting.
From actris.channel Require Import proto_channel proofmode. From actris.channel Require Import proto_channel proofmode.
From iris.heap_lang Require Import proofmode notation. From iris.heap_lang Require Import proofmode notation.
......
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