1 (**************************************************************************)
4 (* ||A|| A project by Andrea Asperti *)
6 (* ||I|| Developers: *)
7 (* ||T|| The HELM team. *)
8 (* ||A|| http://helm.cs.unibo.it *)
10 (* \ / This file is distributed under the terms of the *)
11 (* v GNU General Public License Version 2 *)
13 (**************************************************************************)
15 include "algebra/magmas.ma".
17 nrecord unital_magma_type : Type[1] ≝
18 { umt_magma:> magma_type;
20 umt_is_neutral_l: ∀x. op ? unit x = x;
21 umt_is_neutral_r: ∀x. op ? x unit = x
24 nrecord unital_magma (A: unital_magma_type) : Type[1] ≝
26 neutral_closed: unit A ∈ um_magma