Skip to content

refactor(monad): settle morphism hierarchy #118

Description

@quangvdao

Problem

The monad morphism and equivalence modules contain source TODOs about finer homomorphism structures and matching type classes. The intended relationship with Mathlib's existing abstractions is not yet settled.

Proposed work

Review NatHom, MonadHom, NatEquiv, and MonadEquiv against the current Mathlib API. Decide whether PolyFun should add smaller Pure, Bind, and monad layers, upstream the missing generality, or reduce the local surface by reusing upstream definitions.

Locations

  • PolyFun/Control/Monad/Hom.lean
  • PolyFun/Control/Monad/Equiv.lean

Acceptance criteria

  • The hierarchy has one documented canonical design.
  • Type classes are added only where type class search should use them.
  • Existing downstream uses continue to compile or receive a documented migration.
  • The source TODOs are removed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions