def Semigroup.assoc
import bend-lawful-stdlib@0.1.0.0/src/class.bend as Classimport Base
41def Semigroup.assoc(-A: Data, d: Semigroup<A>, x: A, y: A, z: A) -> {Semigroup.op(A, d, x, Semigroup.op(A, d, y, z)) == Semigroup.op(A, d, Semigroup.op(A, d, x, y), z) : A}:
42 match d:
43 case Semigroup{op, assoc}:
44 assoc(x, y, z)