Skip to content

Conversation

@CharlesCNorton
Copy link
Contributor

This PR adds helper functions and theorems for working with initial and terminal objects, as suggested by @jdchristensen in #2288.

Changes:

  • Add map_from_initial and map_to_terminal for canonical morphisms
  • Add initial_morphism_unique and terminal_morphism_unique theorems
  • Make unique tactic global by removing Local modifier

These helpers provide cleaner access to the unique morphisms from/to initial/terminal objects, which will be useful for the stable categories formalization and other category theory developments.

- Make `unique` tactic global by removing `Local` modifier
- Add `map_from_initial` and `map_to_terminal` for canonical morphisms
- Add `initial_morphism_unique` and `terminal_morphism_unique` theorems
- Proofs use existing `unique` tactic

These additions provide cleaner access to unique morphisms from/to initial/terminal objects, as suggested in PR HoTT#2288.
Add canonical morphism helpers + uniqueness lemmas to Objects.v
Copy link
Collaborator

@jdchristensen jdchristensen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, this looks good!

@jdchristensen jdchristensen merged commit aa03405 into HoTT:master Jun 24, 2025
19 of 20 checks passed
CharlesCNorton added a commit to CharlesCNorton/Coq-HoTT that referenced this pull request Jun 26, 2025
Per @jdchristensen's suggestion in HoTT#2288, this PR extracts just ZeroObjects.v for focused review and merging.

This provides the foundational infrastructure for zero objects and zero morphisms needed for stable category theory.

Changes from original PR based on review feedback:
- Uses `IsInitialObject`/`IsTerminalObject` with `::` for instances  
- Uses new `map_from_initial`/`map_to_terminal` helpers from recently merged PR HoTT#2291
- Follows HoTT style conventions (`rapply`, single-line tactics with `1:`, etc.)
- Removed lemmas that now belong in Objects.v
- Fixed all import and style issues

Some lemmas are retained for backwards compatibility.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants