Zulip Chat Archive

Stream: maths

Topic: Bimonoids


Marcus Rossel (Dec 02 2022 at 12:42):

Does Mathlib contain something in the direction of (strong) bimonoids (as described in Section 2.1 in this paper)?
I was considering formalizing some theory of weighted tree automata, which is built upon strong bimonoids.

Eric Wieser (Dec 02 2022 at 13:48):

Sounds like a bimonoid is [monoid X] [add_monoid X]

Eric Wieser (Dec 02 2022 at 13:50):

I guess for a strong bimonoid you'd need to make a new class:

set_option old_structure_cmd true

class strong_bimonoid (X : Type*) extends add_comm_monoid_with_one X, monoid_with_zero X.

-- all semiring are strong bimonoids
instance semiring.to_strong_bimonoid (R : Type*) [semiring R] : strong_bimonoid R :=
{ ..semiring R }

(docs#add_comm_monoid_with_one, docs#monoid_with_zero)


Last updated: Dec 20 2023 at 11:08 UTC