Define square root for `Data.Nat` (and `Data.Nat.Binary`, `Data.Word` etc.)
jamesmckinna opened this issue · comments
jamesmckinna commented
Towards eg Paul Zimmermann's analysis in terms of GMP datastructures?
Possible implementation strategy: via Data.Nat.Logarithm
?
Possible prerequisite for the latter: enriching the properties proved in Data.Nat.Logarithm
to include the 'usual' multiplicative/additive homomorphism relationship induced by log/exp, while paying attention to the many potential off-by-one errors...