package tezos-protocol-alpha

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Tezos_raw_protocol_alpha.Dependent_boolSource

Dependent booleans

Sourcetype no = private
  1. | DNo
Sourcetype yes = private
  1. | DYes
Sourcetype _ dbool =
  1. | No : no dbool
  2. | Yes : yes dbool

'b dbool is a boolean whose value depends on its type parameter 'b. yes dbool can only be Yes. no dbool can only be No.

Sourcetype ('a, 'b, 'r) dand =
  1. | NoNo : (no, no, no) dand
  2. | NoYes : (no, yes, no) dand
  3. | YesNo : (yes, no, no) dand
  4. | YesYes : (yes, yes, yes) dand

('a, 'b, 'r) dand is a witness of the logical conjunction of dependent booleans. 'r is the result of 'a and 'b.

Sourcetype ('a, 'b) ex_dand =
  1. | Ex_dand : ('a, 'b, _) dand -> ('a, 'b) ex_dand
Sourceval dand : 'a dbool -> 'b dbool -> ('a, 'b) ex_dand

Logical conjunction of dependent booleans.

Sourceval dbool_of_dand : ('a, 'b, 'r) dand -> 'r dbool

Result of the logical conjunction of dependent booleans.

Sourcetype (_, _) eq =
  1. | Eq : ('a, 'a) eq

Type equality witness.

Sourceval merge_dand : ('a, 'b, 'c1) dand -> ('a, 'b, 'c2) dand -> ('c1, 'c2) eq

merge_dand proves that the type dand represents a function, i.e. that there is a unique 'r such that ('a, 'b, 'r) dand is inhabited for a given 'a and a given 'b.

OCaml

Innovation. Community. Security.