|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
An arrow declared to be an epimorphism (π: A ↠ B). More...
An arrow declared to be an epimorphism (π: A ↠ B).
An epic arrow is surjective: for every b in B there exists a in A with e(a) == b. The user declares epicity via is_epic_arrow_v<E> = true.
An IsIsomorphism is epic for free, symmetrically to IsMonicArrow: a two-sided inverse makes it surjective. So an iso is both monic and epic without a separate opt-in, and IsBijectiveArrow (monic ∧ epic) follows from IsIsomorphism. Concept-level || (not an is_epic_arrow_v partial spec) for the same cross-module-firing reason as IsMonicArrow.