package alg_structs

  1. Overview
  2. Docs

Law notes the laws that should be obeyed by any instantiation of Semigroup in the form of predicates that should be true for any arguments of the appropriate type.

You can use the alg_structs_qcheck package to generate property based tests of these laws for new modules satisfying the interface.

Parameters

module S : S

Signature

val associativity : S.t -> S.t -> S.t -> bool

associativity x y z is true when

S.(x * (y * z)) = S.((x * y) * z)