package rocq-runtime

  1. Overview
  2. Docs
The Rocq Prover -- Core Binaries and Tools

Install

Dune Dependency

Authors

Maintainers

Sources

rocq-9.0.0.tar.gz
md5=8d522602d23e7a665631826dab9aa92b
sha512=f4f76a6a178e421c99ee7a331a2fd97a06e9c5d0168d7e60c44e3820d8e1a124370ea104ad90c7f87a9a1e9d87b2d0d7d2d387c998feeaed4a75ed04e176a4be

doc/rocq-runtime.vernac/Attributes/Notations/index.html

Module Attributes.NotationsSource

Notations to combine attributes.

Attributes form a monad. a1 >>= f means f will be run on the flags transformed by a1 and using the value produced by a1. The trivial attribute return x does no action on the flags.

include Monad.Def with type 'a t = 'a attribute
Sourcetype 'a t = 'a attribute
Sourceval return : 'a -> 'a t
Sourceval (>>=) : 'a t -> ('a -> 'b t) -> 'b t
Sourceval (>>) : unit t -> 'a t -> 'a t
Sourceval map : ('a -> 'b) -> 'a t -> 'b t

The monadic laws must hold:

  • (x>>=f)>>=g = x>>=fun x' -> (f x'>>=g)
  • return a >>= f = f a
  • x>>=return = x

As well as the following identities:

  • x >> y = x >>= fun () -> y
  • map f x = x >>= fun x' -> f x'
Sourceval (++) : 'a attribute -> 'b attribute -> ('a * 'b) attribute

Combine 2 attributes. If any keys are in common an error will be raised.

OCaml

Innovation. Community. Security.