Description
Previously, on #2264 I raised the following discussion point:
we currently have the following choices for an Algebra
with a distinguished point (0#
? or ‵zero
, because it's a 'quoted' version of Agda.Builtin.Nat.zero
?)) and unary operation (suc#
, or _+1#
, or ‵suc
because it's a 'quoted' version of Agda.Builtin.Nat.suc
?):
PointedUnary
? ... the universal algebra way;may he rest in peace, I've been completely ignoring initiality...NNO
/NaturalNumber(s)Object
? ... the Lawvere/categorical way;SuccessorSet
? ... the Dedekind way
Can we agree on 'sensible' choices from this palette?
Originally posted by @jamesmckinna in #2264 (comment)
So this issue to is to offer the following specimen design/implementation, for discussion (and is tantamount to a fully articulated PR, moreover purely mechanically derivable by analogy with all the others). I'd be happy to change any of the names, in the spirit of the above original comment. Against @JacquesCarette I'd hold out for NNO
, but
I'll go for SuccessorSet
as a reasonable, if still verbose, first choice...
(deleted: previous content, invalid thanks to my stupidity...)
Activity
[-]Add `Algebra.Bundles.NNO` and related modules[/-][+]Add `Algebra.Bundles.NNO` and related records[/+]_≉_
defined both forAlgebra.Bundles.Raw.RawX
bundles, and viaSetoid
instances, forAlgebra.Bundles.X
? #2274[fix agda#2273] Add `NNO`-related modules
Algebra.Literals
#2264_× x
#2272[-]Add `Algebra.Bundles.NNO` and related records[/-][+]Add `Algebra.Bundles.SuccessorSet` and related records[/+]SuccessorSet
and associated boilerplate #2277[fixes #2273] Add `SuccessorSet` and associated boilerplate (#2277)
[fixes #2273] Add `SuccessorSet` and associated boilerplate (#2277)
Merge v2.1.1 into `master` (#2473)