Source code on Github
open import Prelude.Init; open SetAsType
open import Prelude.DecEq
open import Prelude.Lists
open import BitML.BasicTypes
module BitML.Semantics.Action (⋯ : ⋯) (let open ⋯ ⋯) where
open import BitML.Contracts.Types ⋯ hiding (A; B)
data Action : Type where
♯▷_ : Ad → Action
_▷ˢ_ : Id → Ad → Action
_▷_ : Id → Branch → Action
_↔_▷⟨_,_⟩ : Id → Id → Participant → Value → Action
_▷⟨_,_,_⟩ : Id → Participant → Value → Value → Action
_▷ᵈ_ : Id → Participant → Action
_,_▷ᵈˢ_ : (xs : Ids) → Index xs → Id → Action
unquoteDecl DecEq-Action = DERIVE DecEq [ quote Action , DecEq-Action ]
Actions = List Action
variable
act act′ : Action
acts acts′ : Actions
open import Prelude.General; open MultiTest
module _ (ad : Ad) d ds (let c = d ∷ ds) (A B : Participant) where
_ = Action
∋⋮ ♯▷ ad
⋮ "x" ▷ˢ ad
⋮ "x" ▷ (c ‼ 0F)
⋮ "x" ↔ "y" ▷⟨ A , 10 ⟩
⋮ "x" ▷⟨ A , 33 , 67 ⟩
⋮ "x" ▷ᵈ B
⋮ [ "x₀" ⨾ "x₁" ] , 1F ▷ᵈˢ "y"
⋮∅