Description
More specifically, Algebra.Bundles.Semiring
does indeed export all of its corresponding substructures (down to setoid
derivable via Algebra.Structures
), while Algebra.Bundles.SemiringWithoutOne
appears not to. Not quite sure how to fix this, but will update if/when I do... with a minimum (non-)working example.
EDITED: See the two Test
files at Algebra.Properties.Semiring{WithoutOne}
on this branch now minimised.
UPDATE: the problem seems similar to that described/solved in issue #1159 / PR #1174, and I think I have a solution, but I'm conscious of being out of my depth as to the arcane define/public re-export structure of the Algebra.*
hierarchy, so reluctant to issue a PR about this... Which raises a separate question: how 'high' (=fewest operations, axiomatic properties) in the Structures
(and hence Properties.BundleX.OperationY
) hierarchy do we want certain things to live: eg distributivity of _*_
over sum
, defined in #1462, placed it as a property of Semiring
s; @uzytkownik 's original contribution (from a year earlier) under #1287 placed it under SemiringWithoutOne
... and AFAICT, it doesn't even need that much structure, only that of the theory pullback (which has no name) of SemiringWithoutOne
and SemiringWithoutAnnihilatingZero
. In pursuit of #1287, I'd be happy for everything to live under properties of Semiring
, and leave the appropriate weakening of structure to subsequent refactoring... but I know that there are strong views about the ambient guiding principle of 'be no less general than you absolutely can', and I thought that this was worth flagging.