algebraic_topology.cech_nerve
⟷
Mathlib.AlgebraicTopology.CechNerve
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -6,7 +6,7 @@ Authors: Adam Topaz
import AlgebraicTopology.SimplicialObject
import CategoryTheory.Limits.Shapes.WidePullbacks
import CategoryTheory.Limits.Shapes.FiniteProducts
-import CategoryTheory.Arrow
+import CategoryTheory.Comma.Arrow
#align_import algebraic_topology.cech_nerve from "leanprover-community/mathlib"@"86d1873c01a723aba6788f0b9051ae3d23b4c1c3"
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -149,7 +149,7 @@ def equivalenceRightToLeft (X : SimplicialObject.Augmented C) (F : Arrow C)
right := G.right
w' := by
have := G.w
- apply_fun fun e => e.app (Opposite.op <| SimplexCategory.mk 0) at this
+ apply_fun fun e => e.app (Opposite.op <| SimplexCategory.mk 0) at this
simpa using this
#align category_theory.simplicial_object.equivalence_right_to_left CategoryTheory.SimplicialObject.equivalenceRightToLeft
-/
@@ -202,7 +202,7 @@ def cechNerveEquiv (X : SimplicialObject.Augmented C) (F : Arrow C) :
rw [← op_id]
congr 1
ext ⟨a, ha⟩
- change a < 1 at ha
+ change a < 1 at ha
change 0 = a
linarith
· rfl
@@ -215,8 +215,8 @@ def cechNerveEquiv (X : SimplicialObject.Augmented C) (F : Arrow C) :
rfl
· erw [wide_pullback.lift_base]
have := A.w
- apply_fun fun e => e.app x at this
- rw [nat_trans.comp_app] at this
+ apply_fun fun e => e.app x at this
+ rw [nat_trans.comp_app] at this
erw [this]
rfl
· rfl
@@ -343,7 +343,7 @@ def equivalenceLeftToRight (F : Arrow C) (X : CosimplicialObject.Augmented C)
right := (WidePushout.ι (fun i => F.Hom) 0 ≫ G.right.app (SimplexCategory.mk 0) : _)
w' := by
have := G.w
- apply_fun fun e => e.app (SimplexCategory.mk 0) at this
+ apply_fun fun e => e.app (SimplexCategory.mk 0) at this
simpa only [CategoryTheory.Functor.id_map, augmented.to_arrow_obj_hom,
wide_pushout.arrow_ι_assoc fun i => F.hom]
#align category_theory.cosimplicial_object.equivalence_left_to_right CategoryTheory.CosimplicialObject.equivalenceLeftToRight
@@ -365,7 +365,7 @@ def equivalenceRightToLeft (F : Arrow C) (X : CosimplicialObject.Augmented C)
rw [← arrow.w_assoc G]
have t := X.hom.naturality (x.const j)
dsimp at t ⊢
- simp only [category.id_comp] at t
+ simp only [category.id_comp] at t
rw [← t])
naturality' := by
intro x y f
@@ -401,8 +401,8 @@ def cechConerveEquiv (F : Arrow C) (X : CosimplicialObject.Augmented C) :
rfl
· erw [wide_pushout.head_desc]
have := A.w
- apply_fun fun e => e.app x at this
- rw [nat_trans.comp_app] at this
+ apply_fun fun e => e.app x at this
+ rw [nat_trans.comp_app] at this
erw [this]
rfl
right_inv := by
@@ -415,7 +415,7 @@ def cechConerveEquiv (F : Arrow C) (X : CosimplicialObject.Augmented C) :
congr 1
convert X.right.map_id _
ext ⟨a, ha⟩
- change a < 1 at ha
+ change a < 1 at ha
change 0 = a
linarith
#align category_theory.cosimplicial_object.cech_conerve_equiv CategoryTheory.CosimplicialObject.cechConerveEquiv
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,10 +3,10 @@ Copyright (c) 2021 Adam Topaz. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Adam Topaz
-/
-import Mathbin.AlgebraicTopology.SimplicialObject
-import Mathbin.CategoryTheory.Limits.Shapes.WidePullbacks
-import Mathbin.CategoryTheory.Limits.Shapes.FiniteProducts
-import Mathbin.CategoryTheory.Arrow
+import AlgebraicTopology.SimplicialObject
+import CategoryTheory.Limits.Shapes.WidePullbacks
+import CategoryTheory.Limits.Shapes.FiniteProducts
+import CategoryTheory.Arrow
#align_import algebraic_topology.cech_nerve from "leanprover-community/mathlib"@"86d1873c01a723aba6788f0b9051ae3d23b4c1c3"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,17 +2,14 @@
Copyright (c) 2021 Adam Topaz. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Adam Topaz
-
-! This file was ported from Lean 3 source module algebraic_topology.cech_nerve
-! leanprover-community/mathlib commit 86d1873c01a723aba6788f0b9051ae3d23b4c1c3
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.AlgebraicTopology.SimplicialObject
import Mathbin.CategoryTheory.Limits.Shapes.WidePullbacks
import Mathbin.CategoryTheory.Limits.Shapes.FiniteProducts
import Mathbin.CategoryTheory.Arrow
+#align_import algebraic_topology.cech_nerve from "leanprover-community/mathlib"@"86d1873c01a723aba6788f0b9051ae3d23b4c1c3"
+
/-!
# The Čech Nerve
mathlib commit https://github.com/leanprover-community/mathlib/commit/2a0ce625dbb0ffbc7d1316597de0b25c1ec75303
@@ -211,7 +211,7 @@ def cechNerveEquiv (X : SimplicialObject.Augmented C) (F : Arrow C) :
· rfl
right_inv := by
intro A
- ext (_⟨j⟩)
+ ext _ ⟨j⟩
· dsimp
simp only [arrow.cech_nerve_map, wide_pullback.lift_π, nat_trans.naturality_assoc]
erw [wide_pullback.lift_π]
@@ -396,7 +396,7 @@ def cechConerveEquiv (F : Arrow C) (X : CosimplicialObject.Augmented C) :
left_inv := by
intro A
dsimp
- ext _; · rfl; ext (_⟨⟩)
+ ext _; · rfl; ext _ ⟨⟩
-- A bug in the `ext` tactic?
· dsimp
simp only [arrow.cech_conerve_map, wide_pushout.ι_desc, category.assoc, ←
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -142,6 +142,7 @@ def augmentedCechNerve : Arrow C ⥤ SimplicialObject.Augmented C
#align category_theory.simplicial_object.augmented_cech_nerve CategoryTheory.SimplicialObject.augmentedCechNerve
-/
+#print CategoryTheory.SimplicialObject.equivalenceRightToLeft /-
/-- A helper function used in defining the Čech adjunction. -/
@[simps]
def equivalenceRightToLeft (X : SimplicialObject.Augmented C) (F : Arrow C)
@@ -154,7 +155,9 @@ def equivalenceRightToLeft (X : SimplicialObject.Augmented C) (F : Arrow C)
apply_fun fun e => e.app (Opposite.op <| SimplexCategory.mk 0) at this
simpa using this
#align category_theory.simplicial_object.equivalence_right_to_left CategoryTheory.SimplicialObject.equivalenceRightToLeft
+-/
+#print CategoryTheory.SimplicialObject.equivalenceLeftToRight /-
/-- A helper function used in defining the Čech adjunction. -/
@[simps]
def equivalenceLeftToRight (X : SimplicialObject.Augmented C) (F : Arrow C)
@@ -180,7 +183,9 @@ def equivalenceLeftToRight (X : SimplicialObject.Augmented C) (F : Arrow C)
right := G.right
w' := by ext; dsimp; simp
#align category_theory.simplicial_object.equivalence_left_to_right CategoryTheory.SimplicialObject.equivalenceLeftToRight
+-/
+#print CategoryTheory.SimplicialObject.cechNerveEquiv /-
/-- A helper function used in defining the Čech adjunction. -/
@[simps]
def cechNerveEquiv (X : SimplicialObject.Augmented C) (F : Arrow C) :
@@ -219,6 +224,7 @@ def cechNerveEquiv (X : SimplicialObject.Augmented C) (F : Arrow C) :
rfl
· rfl
#align category_theory.simplicial_object.cech_nerve_equiv CategoryTheory.SimplicialObject.cechNerveEquiv
+-/
#print CategoryTheory.SimplicialObject.cechNerveAdjunction /-
/-- The augmented Čech nerve construction is right adjoint to the `to_arrow` functor. -/
@@ -330,6 +336,7 @@ def augmentedCechConerve : Arrow C ⥤ CosimplicialObject.Augmented C
#align category_theory.cosimplicial_object.augmented_cech_conerve CategoryTheory.CosimplicialObject.augmentedCechConerve
-/
+#print CategoryTheory.CosimplicialObject.equivalenceLeftToRight /-
/-- A helper function used in defining the Čech conerve adjunction. -/
@[simps]
def equivalenceLeftToRight (F : Arrow C) (X : CosimplicialObject.Augmented C)
@@ -343,7 +350,9 @@ def equivalenceLeftToRight (F : Arrow C) (X : CosimplicialObject.Augmented C)
simpa only [CategoryTheory.Functor.id_map, augmented.to_arrow_obj_hom,
wide_pushout.arrow_ι_assoc fun i => F.hom]
#align category_theory.cosimplicial_object.equivalence_left_to_right CategoryTheory.CosimplicialObject.equivalenceLeftToRight
+-/
+#print CategoryTheory.CosimplicialObject.equivalenceRightToLeft /-
/-- A helper function used in defining the Čech conerve adjunction. -/
@[simps]
def equivalenceRightToLeft (F : Arrow C) (X : CosimplicialObject.Augmented C)
@@ -374,7 +383,9 @@ def equivalenceRightToLeft (F : Arrow C) (X : CosimplicialObject.Augmented C)
erw [category.id_comp] }
w' := by ext; simp
#align category_theory.cosimplicial_object.equivalence_right_to_left CategoryTheory.CosimplicialObject.equivalenceRightToLeft
+-/
+#print CategoryTheory.CosimplicialObject.cechConerveEquiv /-
/-- A helper function used in defining the Čech conerve adjunction. -/
@[simps]
def cechConerveEquiv (F : Arrow C) (X : CosimplicialObject.Augmented C) :
@@ -411,6 +422,7 @@ def cechConerveEquiv (F : Arrow C) (X : CosimplicialObject.Augmented C) :
change 0 = a
linarith
#align category_theory.cosimplicial_object.cech_conerve_equiv CategoryTheory.CosimplicialObject.cechConerveEquiv
+-/
#print CategoryTheory.CosimplicialObject.cechConerveAdjunction /-
/-- The augmented Čech conerve construction is left adjoint to the `to_arrow` functor. -/
@@ -456,12 +468,15 @@ def wideCospan (X : C) : WidePullbackShape ι ⥤ C :=
#align category_theory.cech_nerve_terminal_from.wide_cospan CategoryTheory.CechNerveTerminalFrom.wideCospan
-/
+#print CategoryTheory.CechNerveTerminalFrom.uniqueToWideCospanNone /-
instance uniqueToWideCospanNone (X Y : C) : Unique (Y ⟶ (wideCospan ι X).obj none) := by
unfold wide_cospan <;> dsimp <;> infer_instance
#align category_theory.cech_nerve_terminal_from.unique_to_wide_cospan_none CategoryTheory.CechNerveTerminalFrom.uniqueToWideCospanNone
+-/
variable [HasFiniteProducts C]
+#print CategoryTheory.CechNerveTerminalFrom.wideCospan.limitCone /-
/-- The product `Xᶥ` is the vertex of a limit cone on `wide_cospan ι X`. -/
def wideCospan.limitCone [Fintype ι] (X : C) : LimitCone (wideCospan ι X)
where
@@ -489,6 +504,7 @@ def wideCospan.limitCone [Fintype ι] (X : C) : LimitCone (wideCospan ι X)
ext
rfl }
#align category_theory.cech_nerve_terminal_from.wide_cospan.limit_cone CategoryTheory.CechNerveTerminalFrom.wideCospan.limitCone
+-/
#print CategoryTheory.CechNerveTerminalFrom.hasWidePullback /-
instance hasWidePullback [Finite ι] (X : C) :
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -151,7 +151,7 @@ def equivalenceRightToLeft (X : SimplicialObject.Augmented C) (F : Arrow C)
right := G.right
w' := by
have := G.w
- apply_fun fun e => e.app (Opposite.op <| SimplexCategory.mk 0) at this
+ apply_fun fun e => e.app (Opposite.op <| SimplexCategory.mk 0) at this
simpa using this
#align category_theory.simplicial_object.equivalence_right_to_left CategoryTheory.SimplicialObject.equivalenceRightToLeft
@@ -213,7 +213,7 @@ def cechNerveEquiv (X : SimplicialObject.Augmented C) (F : Arrow C) :
rfl
· erw [wide_pullback.lift_base]
have := A.w
- apply_fun fun e => e.app x at this
+ apply_fun fun e => e.app x at this
rw [nat_trans.comp_app] at this
erw [this]
rfl
@@ -339,7 +339,7 @@ def equivalenceLeftToRight (F : Arrow C) (X : CosimplicialObject.Augmented C)
right := (WidePushout.ι (fun i => F.Hom) 0 ≫ G.right.app (SimplexCategory.mk 0) : _)
w' := by
have := G.w
- apply_fun fun e => e.app (SimplexCategory.mk 0) at this
+ apply_fun fun e => e.app (SimplexCategory.mk 0) at this
simpa only [CategoryTheory.Functor.id_map, augmented.to_arrow_obj_hom,
wide_pushout.arrow_ι_assoc fun i => F.hom]
#align category_theory.cosimplicial_object.equivalence_left_to_right CategoryTheory.CosimplicialObject.equivalenceLeftToRight
@@ -393,7 +393,7 @@ def cechConerveEquiv (F : Arrow C) (X : CosimplicialObject.Augmented C) :
rfl
· erw [wide_pushout.head_desc]
have := A.w
- apply_fun fun e => e.app x at this
+ apply_fun fun e => e.app x at this
rw [nat_trans.comp_app] at this
erw [this]
rfl
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -151,7 +151,7 @@ def equivalenceRightToLeft (X : SimplicialObject.Augmented C) (F : Arrow C)
right := G.right
w' := by
have := G.w
- apply_fun fun e => e.app (Opposite.op <| SimplexCategory.mk 0) at this
+ apply_fun fun e => e.app (Opposite.op <| SimplexCategory.mk 0) at this
simpa using this
#align category_theory.simplicial_object.equivalence_right_to_left CategoryTheory.SimplicialObject.equivalenceRightToLeft
@@ -200,7 +200,7 @@ def cechNerveEquiv (X : SimplicialObject.Augmented C) (F : Arrow C) :
rw [← op_id]
congr 1
ext ⟨a, ha⟩
- change a < 1 at ha
+ change a < 1 at ha
change 0 = a
linarith
· rfl
@@ -213,8 +213,8 @@ def cechNerveEquiv (X : SimplicialObject.Augmented C) (F : Arrow C) :
rfl
· erw [wide_pullback.lift_base]
have := A.w
- apply_fun fun e => e.app x at this
- rw [nat_trans.comp_app] at this
+ apply_fun fun e => e.app x at this
+ rw [nat_trans.comp_app] at this
erw [this]
rfl
· rfl
@@ -339,7 +339,7 @@ def equivalenceLeftToRight (F : Arrow C) (X : CosimplicialObject.Augmented C)
right := (WidePushout.ι (fun i => F.Hom) 0 ≫ G.right.app (SimplexCategory.mk 0) : _)
w' := by
have := G.w
- apply_fun fun e => e.app (SimplexCategory.mk 0) at this
+ apply_fun fun e => e.app (SimplexCategory.mk 0) at this
simpa only [CategoryTheory.Functor.id_map, augmented.to_arrow_obj_hom,
wide_pushout.arrow_ι_assoc fun i => F.hom]
#align category_theory.cosimplicial_object.equivalence_left_to_right CategoryTheory.CosimplicialObject.equivalenceLeftToRight
@@ -358,8 +358,8 @@ def equivalenceRightToLeft (F : Arrow C) (X : CosimplicialObject.Augmented C)
rintro j
rw [← arrow.w_assoc G]
have t := X.hom.naturality (x.const j)
- dsimp at t⊢
- simp only [category.id_comp] at t
+ dsimp at t ⊢
+ simp only [category.id_comp] at t
rw [← t])
naturality' := by
intro x y f
@@ -393,8 +393,8 @@ def cechConerveEquiv (F : Arrow C) (X : CosimplicialObject.Augmented C) :
rfl
· erw [wide_pushout.head_desc]
have := A.w
- apply_fun fun e => e.app x at this
- rw [nat_trans.comp_app] at this
+ apply_fun fun e => e.app x at this
+ rw [nat_trans.comp_app] at this
erw [this]
rfl
right_inv := by
@@ -407,7 +407,7 @@ def cechConerveEquiv (F : Arrow C) (X : CosimplicialObject.Augmented C) :
congr 1
convert X.right.map_id _
ext ⟨a, ha⟩
- change a < 1 at ha
+ change a < 1 at ha
change 0 = a
linarith
#align category_theory.cosimplicial_object.cech_conerve_equiv CategoryTheory.CosimplicialObject.cechConerveEquiv
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -142,12 +142,6 @@ def augmentedCechNerve : Arrow C ⥤ SimplicialObject.Augmented C
#align category_theory.simplicial_object.augmented_cech_nerve CategoryTheory.SimplicialObject.augmentedCechNerve
-/
-/- warning: category_theory.simplicial_object.equivalence_right_to_left -> CategoryTheory.SimplicialObject.equivalenceRightToLeft is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePullback.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (X : CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (F : CategoryTheory.Arrow.{u1, u2} C _inst_1), (Quiver.Hom.{succ u1, max (max u1 u2) u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max (max u1 u2) u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max (max u1 u2) u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.category.{u1, u2} C _inst_1))) X (CategoryTheory.Arrow.augmentedCechNerve.{u1, u2} C _inst_1 F (CategoryTheory.SimplicialObject.equivalenceRightToLeft._proof_1.{u2, u1} C _inst_1 _inst_2 F))) -> (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1))) (CategoryTheory.Functor.obj.{u1, u1, max (max u1 u2) u2 u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.category.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1) X) F)
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePullback.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (X : CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (F : CategoryTheory.Arrow.{u1, u2} C _inst_1), (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) X (CategoryTheory.Arrow.augmentedCechNerve.{u1, u2} C _inst_1 F (fun (n : Nat) => _inst_2 n F))) -> (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1)) X) F)
-Case conversion may be inaccurate. Consider using '#align category_theory.simplicial_object.equivalence_right_to_left CategoryTheory.SimplicialObject.equivalenceRightToLeftₓ'. -/
/-- A helper function used in defining the Čech adjunction. -/
@[simps]
def equivalenceRightToLeft (X : SimplicialObject.Augmented C) (F : Arrow C)
@@ -161,12 +155,6 @@ def equivalenceRightToLeft (X : SimplicialObject.Augmented C) (F : Arrow C)
simpa using this
#align category_theory.simplicial_object.equivalence_right_to_left CategoryTheory.SimplicialObject.equivalenceRightToLeft
-/- warning: category_theory.simplicial_object.equivalence_left_to_right -> CategoryTheory.SimplicialObject.equivalenceLeftToRight is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePullback.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (X : CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (F : CategoryTheory.Arrow.{u1, u2} C _inst_1), (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1))) (CategoryTheory.Functor.obj.{u1, u1, max (max u1 u2) u2 u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.category.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1) X) F) -> (Quiver.Hom.{succ u1, max (max u1 u2) u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max (max u1 u2) u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max (max u1 u2) u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.category.{u1, u2} C _inst_1))) X (CategoryTheory.Arrow.augmentedCechNerve.{u1, u2} C _inst_1 F (CategoryTheory.SimplicialObject.equivalenceLeftToRight._proof_1.{u2, u1} C _inst_1 _inst_2 F)))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePullback.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (X : CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (F : CategoryTheory.Arrow.{u1, u2} C _inst_1), (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1)) X) F) -> (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) X (CategoryTheory.Arrow.augmentedCechNerve.{u1, u2} C _inst_1 F (fun (n : Nat) => _inst_2 n F)))
-Case conversion may be inaccurate. Consider using '#align category_theory.simplicial_object.equivalence_left_to_right CategoryTheory.SimplicialObject.equivalenceLeftToRightₓ'. -/
/-- A helper function used in defining the Čech adjunction. -/
@[simps]
def equivalenceLeftToRight (X : SimplicialObject.Augmented C) (F : Arrow C)
@@ -193,12 +181,6 @@ def equivalenceLeftToRight (X : SimplicialObject.Augmented C) (F : Arrow C)
w' := by ext; dsimp; simp
#align category_theory.simplicial_object.equivalence_left_to_right CategoryTheory.SimplicialObject.equivalenceLeftToRight
-/- warning: category_theory.simplicial_object.cech_nerve_equiv -> CategoryTheory.SimplicialObject.cechNerveEquiv is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePullback.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (X : CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (F : CategoryTheory.Arrow.{u1, u2} C _inst_1), Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1))) (CategoryTheory.Functor.obj.{u1, u1, max (max u1 u2) u2 u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.category.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1) X) F) (Quiver.Hom.{succ u1, max (max u1 u2) u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max (max u1 u2) u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max (max u1 u2) u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.category.{u1, u2} C _inst_1))) X (CategoryTheory.Arrow.augmentedCechNerve.{u1, u2} C _inst_1 F (CategoryTheory.SimplicialObject.cechNerveEquiv._proof_1.{u2, u1} C _inst_1 _inst_2 F)))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePullback.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (X : CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (F : CategoryTheory.Arrow.{u1, u2} C _inst_1), Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1)) X) F) (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) X (CategoryTheory.Arrow.augmentedCechNerve.{u1, u2} C _inst_1 F (fun (n : Nat) => _inst_2 n F)))
-Case conversion may be inaccurate. Consider using '#align category_theory.simplicial_object.cech_nerve_equiv CategoryTheory.SimplicialObject.cechNerveEquivₓ'. -/
/-- A helper function used in defining the Čech adjunction. -/
@[simps]
def cechNerveEquiv (X : SimplicialObject.Augmented C) (F : Arrow C) :
@@ -348,12 +330,6 @@ def augmentedCechConerve : Arrow C ⥤ CosimplicialObject.Augmented C
#align category_theory.cosimplicial_object.augmented_cech_conerve CategoryTheory.CosimplicialObject.augmentedCechConerve
-/
-/- warning: category_theory.cosimplicial_object.equivalence_left_to_right -> CategoryTheory.CosimplicialObject.equivalenceLeftToRight is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePushout.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (F : CategoryTheory.Arrow.{u1, u2} C _inst_1) (X : CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1), (Quiver.Hom.{succ u1, max u1 u2} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.category.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.augmentedCechConerve.{u1, u2} C _inst_1 F (CategoryTheory.CosimplicialObject.equivalenceLeftToRight._proof_1.{u2, u1} C _inst_1 _inst_2 F)) X) -> (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1))) F (CategoryTheory.Functor.obj.{u1, u1, max u1 u2, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.category.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1) X))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePushout.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (F : CategoryTheory.Arrow.{u1, u2} C _inst_1) (X : CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1), (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.augmentedCechConerve.{u1, u2} C _inst_1 F (fun (n : Nat) => _inst_2 n F)) X) -> (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) F (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1)) X))
-Case conversion may be inaccurate. Consider using '#align category_theory.cosimplicial_object.equivalence_left_to_right CategoryTheory.CosimplicialObject.equivalenceLeftToRightₓ'. -/
/-- A helper function used in defining the Čech conerve adjunction. -/
@[simps]
def equivalenceLeftToRight (F : Arrow C) (X : CosimplicialObject.Augmented C)
@@ -368,12 +344,6 @@ def equivalenceLeftToRight (F : Arrow C) (X : CosimplicialObject.Augmented C)
wide_pushout.arrow_ι_assoc fun i => F.hom]
#align category_theory.cosimplicial_object.equivalence_left_to_right CategoryTheory.CosimplicialObject.equivalenceLeftToRight
-/- warning: category_theory.cosimplicial_object.equivalence_right_to_left -> CategoryTheory.CosimplicialObject.equivalenceRightToLeft is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePushout.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (F : CategoryTheory.Arrow.{u1, u2} C _inst_1) (X : CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1), (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1))) F (CategoryTheory.Functor.obj.{u1, u1, max u1 u2, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.category.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1) X)) -> (Quiver.Hom.{succ u1, max u1 u2} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.category.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.augmentedCechConerve.{u1, u2} C _inst_1 F (CategoryTheory.CosimplicialObject.equivalenceRightToLeft._proof_1.{u2, u1} C _inst_1 _inst_2 F)) X)
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePushout.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (F : CategoryTheory.Arrow.{u1, u2} C _inst_1) (X : CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1), (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) F (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1)) X)) -> (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.augmentedCechConerve.{u1, u2} C _inst_1 F (fun (n : Nat) => _inst_2 n F)) X)
-Case conversion may be inaccurate. Consider using '#align category_theory.cosimplicial_object.equivalence_right_to_left CategoryTheory.CosimplicialObject.equivalenceRightToLeftₓ'. -/
/-- A helper function used in defining the Čech conerve adjunction. -/
@[simps]
def equivalenceRightToLeft (F : Arrow C) (X : CosimplicialObject.Augmented C)
@@ -405,12 +375,6 @@ def equivalenceRightToLeft (F : Arrow C) (X : CosimplicialObject.Augmented C)
w' := by ext; simp
#align category_theory.cosimplicial_object.equivalence_right_to_left CategoryTheory.CosimplicialObject.equivalenceRightToLeft
-/- warning: category_theory.cosimplicial_object.cech_conerve_equiv -> CategoryTheory.CosimplicialObject.cechConerveEquiv is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePushout.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (F : CategoryTheory.Arrow.{u1, u2} C _inst_1) (X : CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1), Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u1 u2} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.category.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.augmentedCechConerve.{u1, u2} C _inst_1 F (CategoryTheory.CosimplicialObject.cechConerveEquiv._proof_1.{u2, u1} C _inst_1 _inst_2 F)) X) (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1))) F (CategoryTheory.Functor.obj.{u1, u1, max u1 u2, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.category.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1) X))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePushout.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (F : CategoryTheory.Arrow.{u1, u2} C _inst_1) (X : CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1), Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.augmentedCechConerve.{u1, u2} C _inst_1 F (fun (n : Nat) => _inst_2 n F)) X) (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) F (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1)) X))
-Case conversion may be inaccurate. Consider using '#align category_theory.cosimplicial_object.cech_conerve_equiv CategoryTheory.CosimplicialObject.cechConerveEquivₓ'. -/
/-- A helper function used in defining the Čech conerve adjunction. -/
@[simps]
def cechConerveEquiv (F : Arrow C) (X : CosimplicialObject.Augmented C) :
@@ -492,24 +456,12 @@ def wideCospan (X : C) : WidePullbackShape ι ⥤ C :=
#align category_theory.cech_nerve_terminal_from.wide_cospan CategoryTheory.CechNerveTerminalFrom.wideCospan
-/
-/- warning: category_theory.cech_nerve_terminal_from.unique_to_wide_cospan_none -> CategoryTheory.CechNerveTerminalFrom.uniqueToWideCospanNone is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Limits.HasTerminal.{u1, u2} C _inst_1] (ι : Type.{u3}) (X : C) (Y : C), Unique.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Y (CategoryTheory.Functor.obj.{u3, u1, u3, u2} (CategoryTheory.Limits.WidePullbackShape.{u3} ι) (CategoryTheory.Limits.WidePullbackShape.category.{u3} ι) C _inst_1 (CategoryTheory.CechNerveTerminalFrom.wideCospan.{u1, u2, u3} C _inst_1 _inst_2 ι X) (Option.none.{u3} ι)))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Limits.HasTerminal.{u1, u2} C _inst_1] (ι : Type.{u3}) (X : C) (Y : C), Unique.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Y (Prefunctor.obj.{succ u3, succ u1, u3, u2} (CategoryTheory.Limits.WidePullbackShape.{u3} ι) (CategoryTheory.CategoryStruct.toQuiver.{u3, u3} (CategoryTheory.Limits.WidePullbackShape.{u3} ι) (CategoryTheory.Category.toCategoryStruct.{u3, u3} (CategoryTheory.Limits.WidePullbackShape.{u3} ι) (CategoryTheory.Limits.WidePullbackShape.category.{u3} ι))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u3, u2} (CategoryTheory.Limits.WidePullbackShape.{u3} ι) (CategoryTheory.Limits.WidePullbackShape.category.{u3} ι) C _inst_1 (CategoryTheory.CechNerveTerminalFrom.wideCospan.{u1, u2, u3} C _inst_1 _inst_2 ι X)) (Option.none.{u3} ι)))
-Case conversion may be inaccurate. Consider using '#align category_theory.cech_nerve_terminal_from.unique_to_wide_cospan_none CategoryTheory.CechNerveTerminalFrom.uniqueToWideCospanNoneₓ'. -/
instance uniqueToWideCospanNone (X Y : C) : Unique (Y ⟶ (wideCospan ι X).obj none) := by
unfold wide_cospan <;> dsimp <;> infer_instance
#align category_theory.cech_nerve_terminal_from.unique_to_wide_cospan_none CategoryTheory.CechNerveTerminalFrom.uniqueToWideCospanNone
variable [HasFiniteProducts C]
-/- warning: category_theory.cech_nerve_terminal_from.wide_cospan.limit_cone -> CategoryTheory.CechNerveTerminalFrom.wideCospan.limitCone is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Limits.HasTerminal.{u1, u2} C _inst_1] (ι : Type.{u3}) [_inst_3 : CategoryTheory.Limits.HasFiniteProducts.{u1, u2} C _inst_1] [_inst_4 : Fintype.{u3} ι] (X : C), CategoryTheory.Limits.LimitCone.{u3, u3, u1, u2} (CategoryTheory.Limits.WidePullbackShape.{u3} ι) (CategoryTheory.Limits.WidePullbackShape.category.{u3} ι) C _inst_1 (CategoryTheory.CechNerveTerminalFrom.wideCospan.{u1, u2, u3} C _inst_1 _inst_2 ι X)
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Limits.HasTerminal.{u1, u2} C _inst_1] (ι : Type.{u3}) [_inst_3 : CategoryTheory.Limits.HasFiniteProducts.{u1, u2} C _inst_1] [_inst_4 : Finite.{succ u3} ι] (X : C), CategoryTheory.Limits.LimitCone.{u3, u3, u1, u2} (CategoryTheory.Limits.WidePullbackShape.{u3} ι) (CategoryTheory.Limits.WidePullbackShape.category.{u3} ι) C _inst_1 (CategoryTheory.CechNerveTerminalFrom.wideCospan.{u1, u2, u3} C _inst_1 _inst_2 ι X)
-Case conversion may be inaccurate. Consider using '#align category_theory.cech_nerve_terminal_from.wide_cospan.limit_cone CategoryTheory.CechNerveTerminalFrom.wideCospan.limitConeₓ'. -/
/-- The product `Xᶥ` is the vertex of a limit cone on `wide_cospan ι X`. -/
def wideCospan.limitCone [Fintype ι] (X : C) : LimitCone (wideCospan ι X)
where
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -62,14 +62,8 @@ def cechNerve : SimplicialObject C
map m n g :=
WidePullback.lift (WidePullback.base _)
(fun i => (WidePullback.π fun i => f.Hom) <| g.unop.toOrderHom i) fun j => by simp
- map_id' x := by
- ext ⟨⟩
- · simpa
- · simp
- map_comp' x y z f g := by
- ext ⟨⟩
- · simpa
- · simp
+ map_id' x := by ext ⟨⟩; · simpa; · simp
+ map_comp' x y z f g := by ext ⟨⟩; · simpa; · simp
#align category_theory.arrow.cech_nerve CategoryTheory.Arrow.cechNerve
-/
@@ -84,10 +78,7 @@ def mapCechNerve {f g : Arrow C}
app n :=
WidePullback.lift (WidePullback.base _ ≫ F.right) (fun i => WidePullback.π _ i ≫ F.left)
fun j => by simp
- naturality' x y f := by
- ext ⟨⟩
- · simp
- · simp
+ naturality' x y f := by ext ⟨⟩; · simp; · simp
#align category_theory.arrow.map_cech_nerve CategoryTheory.Arrow.mapCechNerve
-/
@@ -100,9 +91,7 @@ def augmentedCechNerve : SimplicialObject.Augmented C
right := f.right
Hom :=
{ app := fun i => WidePullback.base _
- naturality' := fun x y f => by
- dsimp
- simp }
+ naturality' := fun x y f => by dsimp; simp }
#align category_theory.arrow.augmented_cech_nerve CategoryTheory.Arrow.augmentedCechNerve
-/
@@ -116,9 +105,7 @@ def mapAugmentedCechNerve {f g : Arrow C}
where
left := mapCechNerve F
right := F.right
- w' := by
- ext
- simp
+ w' := by ext; simp
#align category_theory.arrow.map_augmented_cech_nerve CategoryTheory.Arrow.mapAugmentedCechNerve
-/
@@ -138,14 +125,8 @@ def cechNerve : Arrow C ⥤ SimplicialObject C
where
obj f := f.cechNerve
map f g F := Arrow.mapCechNerve F
- map_id' i := by
- ext
- · simp
- · simp
- map_comp' x y z f g := by
- ext
- · simp
- · simp
+ map_id' i := by ext; · simp; · simp
+ map_comp' x y z f g := by ext; · simp; · simp
#align category_theory.simplicial_object.cech_nerve CategoryTheory.SimplicialObject.cechNerve
-/
@@ -156,16 +137,8 @@ def augmentedCechNerve : Arrow C ⥤ SimplicialObject.Augmented C
where
obj f := f.augmentedCechNerve
map f g F := Arrow.mapAugmentedCechNerve F
- map_id' x := by
- ext
- · simp
- · simp
- · rfl
- map_comp' x y z f g := by
- ext
- · simp
- · simp
- · rfl
+ map_id' x := by ext; · simp; · simp; · rfl
+ map_comp' x y z f g := by ext; · simp; · simp; · rfl
#align category_theory.simplicial_object.augmented_cech_nerve CategoryTheory.SimplicialObject.augmentedCechNerve
-/
@@ -202,9 +175,7 @@ def equivalenceLeftToRight (X : SimplicialObject.Augmented C) (F : Arrow C)
left :=
{ app := fun x =>
Limits.WidePullback.lift (X.Hom.app _ ≫ G.right)
- (fun i => X.left.map (SimplexCategory.const x.unop i).op ≫ G.left) fun i =>
- by
- dsimp
+ (fun i => X.left.map (SimplexCategory.const x.unop i).op ≫ G.left) fun i => by dsimp;
erw [category.assoc, arrow.w, augmented.to_arrow_obj_hom, nat_trans.naturality_assoc,
functor.const_obj_map, category.id_comp]
naturality' := by
@@ -219,10 +190,7 @@ def equivalenceLeftToRight (X : SimplicialObject.Augmented C) (F : Arrow C)
category.assoc]
erw [category.id_comp] }
right := G.right
- w' := by
- ext
- dsimp
- simp
+ w' := by ext; dsimp; simp
#align category_theory.simplicial_object.equivalence_left_to_right CategoryTheory.SimplicialObject.equivalenceLeftToRight
/- warning: category_theory.simplicial_object.cech_nerve_equiv -> CategoryTheory.SimplicialObject.cechNerveEquiv is a dubious translation:
@@ -275,17 +243,8 @@ def cechNerveEquiv (X : SimplicialObject.Augmented C) (F : Arrow C) :
abbrev cechNerveAdjunction : (Augmented.toArrow : _ ⥤ Arrow C) ⊣ augmentedCechNerve :=
Adjunction.mkOfHomEquiv
{ homEquiv := cechNerveEquiv
- homEquiv_naturality_left_symm := fun x y f g h =>
- by
- ext
- · simp
- · simp
- homEquiv_naturality_right := fun x y f g h =>
- by
- ext
- · simp
- · simp
- · rfl }
+ homEquiv_naturality_left_symm := fun x y f g h => by ext; · simp; · simp
+ homEquiv_naturality_right := fun x y f g h => by ext; · simp; · simp; · rfl }
#align category_theory.simplicial_object.cech_nerve_adjunction CategoryTheory.SimplicialObject.cechNerveAdjunction
-/
@@ -309,14 +268,8 @@ def cechConerve : CosimplicialObject C
WidePushout.desc (WidePushout.head _)
(fun i => (WidePushout.ι fun i => f.Hom) <| g.toOrderHom i) fun i => by
rw [wide_pushout.arrow_ι fun i => f.hom]
- map_id' x := by
- ext ⟨⟩
- · simpa
- · simp
- map_comp' x y z f g := by
- ext ⟨⟩
- · simpa
- · simp
+ map_id' x := by ext ⟨⟩; · simpa; · simp
+ map_comp' x y z f g := by ext ⟨⟩; · simpa; · simp
#align category_theory.arrow.cech_conerve CategoryTheory.Arrow.cechConerve
-/
@@ -331,10 +284,7 @@ def mapCechConerve {f g : Arrow C}
app n :=
WidePushout.desc (F.left ≫ WidePushout.head _) (fun i => F.right ≫ WidePushout.ι _ i) fun i =>
by rw [← arrow.w_assoc F, wide_pushout.arrow_ι fun i => g.hom]
- naturality' x y f := by
- ext
- · simp
- · simp
+ naturality' x y f := by ext; · simp; · simp
#align category_theory.arrow.map_cech_conerve CategoryTheory.Arrow.mapCechConerve
-/
@@ -347,9 +297,7 @@ def augmentedCechConerve : CosimplicialObject.Augmented C
right := f.cechConerve
Hom :=
{ app := fun i => WidePushout.head _
- naturality' := fun x y f => by
- dsimp
- simp }
+ naturality' := fun x y f => by dsimp; simp }
#align category_theory.arrow.augmented_cech_conerve CategoryTheory.Arrow.augmentedCechConerve
-/
@@ -363,9 +311,7 @@ def mapAugmentedCechConerve {f g : Arrow C}
where
left := F.left
right := mapCechConerve F
- w' := by
- ext
- simp
+ w' := by ext; simp
#align category_theory.arrow.map_augmented_cech_conerve CategoryTheory.Arrow.mapAugmentedCechConerve
-/
@@ -385,16 +331,8 @@ def cechConerve : Arrow C ⥤ CosimplicialObject C
where
obj f := f.cechConerve
map f g F := Arrow.mapCechConerve F
- map_id' i := by
- ext
- · dsimp
- simp
- · dsimp
- simp
- map_comp' f g h F G := by
- ext
- · simp
- · simp
+ map_id' i := by ext; · dsimp; simp; · dsimp; simp
+ map_comp' f g h F G := by ext; · simp; · simp
#align category_theory.cosimplicial_object.cech_conerve CategoryTheory.CosimplicialObject.cechConerve
-/
@@ -405,18 +343,8 @@ def augmentedCechConerve : Arrow C ⥤ CosimplicialObject.Augmented C
where
obj f := f.augmentedCechConerve
map f g F := Arrow.mapAugmentedCechConerve F
- map_id' f := by
- ext
- · rfl
- · dsimp
- simp
- · dsimp
- simp
- map_comp' f g h F G := by
- ext
- · rfl
- · simp
- · simp
+ map_id' f := by ext; · rfl; · dsimp; simp; · dsimp; simp
+ map_comp' f g h F G := by ext; · rfl; · simp; · simp
#align category_theory.cosimplicial_object.augmented_cech_conerve CategoryTheory.CosimplicialObject.augmentedCechConerve
-/
@@ -474,9 +402,7 @@ def equivalenceRightToLeft (F : Arrow C) (X : CosimplicialObject.Augmented C)
simp only [functor.const_obj_map, ← nat_trans.naturality, wide_pushout.head_desc_assoc,
wide_pushout.head_desc, category.assoc]
erw [category.id_comp] }
- w' := by
- ext
- simp
+ w' := by ext; simp
#align category_theory.cosimplicial_object.equivalence_right_to_left CategoryTheory.CosimplicialObject.equivalenceRightToLeft
/- warning: category_theory.cosimplicial_object.cech_conerve_equiv -> CategoryTheory.CosimplicialObject.cechConerveEquiv is a dubious translation:
@@ -527,17 +453,8 @@ def cechConerveEquiv (F : Arrow C) (X : CosimplicialObject.Augmented C) :
abbrev cechConerveAdjunction : augmentedCechConerve ⊣ (Augmented.toArrow : _ ⥤ Arrow C) :=
Adjunction.mkOfHomEquiv
{ homEquiv := cechConerveEquiv
- homEquiv_naturality_left_symm := fun x y f g h =>
- by
- ext
- · rfl
- · simp
- · simp
- homEquiv_naturality_right := fun x y f g h =>
- by
- ext
- · simp
- · simp }
+ homEquiv_naturality_left_symm := fun x y f g h => by ext; · rfl; · simp; · simp
+ homEquiv_naturality_right := fun x y f g h => by ext; · simp; · simp }
#align category_theory.cosimplicial_object.cech_conerve_adjunction CategoryTheory.CosimplicialObject.cechConerveAdjunction
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/52932b3a083d4142e78a15dc928084a22fea9ba0
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Adam Topaz
! This file was ported from Lean 3 source module algebraic_topology.cech_nerve
-! leanprover-community/mathlib commit 618ea3d5c99240cd7000d8376924906a148bf9ff
+! leanprover-community/mathlib commit 86d1873c01a723aba6788f0b9051ae3d23b4c1c3
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -17,6 +17,9 @@ import Mathbin.CategoryTheory.Arrow
# The Čech Nerve
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file provides a definition of the Čech nerve associated to an arrow, provided
the base category has the correct wide pullbacks.
mathlib commit https://github.com/leanprover-community/mathlib/commit/cd8fafa2fac98e1a67097e8a91ad9901cfde48af
@@ -50,6 +50,7 @@ variable (f : Arrow C)
variable [∀ n : ℕ, HasWidePullback.{0} f.right (fun i : Fin (n + 1) => f.left) fun i => f.Hom]
+#print CategoryTheory.Arrow.cechNerve /-
/-- The Čech nerve associated to an arrow. -/
@[simps]
def cechNerve : SimplicialObject C
@@ -67,7 +68,9 @@ def cechNerve : SimplicialObject C
· simpa
· simp
#align category_theory.arrow.cech_nerve CategoryTheory.Arrow.cechNerve
+-/
+#print CategoryTheory.Arrow.mapCechNerve /-
/-- The morphism between Čech nerves associated to a morphism of arrows. -/
@[simps]
def mapCechNerve {f g : Arrow C}
@@ -83,7 +86,9 @@ def mapCechNerve {f g : Arrow C}
· simp
· simp
#align category_theory.arrow.map_cech_nerve CategoryTheory.Arrow.mapCechNerve
+-/
+#print CategoryTheory.Arrow.augmentedCechNerve /-
/-- The augmented Čech nerve associated to an arrow. -/
@[simps]
def augmentedCechNerve : SimplicialObject.Augmented C
@@ -96,7 +101,9 @@ def augmentedCechNerve : SimplicialObject.Augmented C
dsimp
simp }
#align category_theory.arrow.augmented_cech_nerve CategoryTheory.Arrow.augmentedCechNerve
+-/
+#print CategoryTheory.Arrow.mapAugmentedCechNerve /-
/-- The morphism between augmented Čech nerve associated to a morphism of arrows. -/
@[simps]
def mapAugmentedCechNerve {f g : Arrow C}
@@ -110,6 +117,7 @@ def mapAugmentedCechNerve {f g : Arrow C}
ext
simp
#align category_theory.arrow.map_augmented_cech_nerve CategoryTheory.Arrow.mapAugmentedCechNerve
+-/
end CategoryTheory.Arrow
@@ -120,6 +128,7 @@ namespace SimplicialObject
variable
[∀ (n : ℕ) (f : Arrow C), HasWidePullback f.right (fun i : Fin (n + 1) => f.left) fun i => f.Hom]
+#print CategoryTheory.SimplicialObject.cechNerve /-
/-- The Čech nerve construction, as a functor from `arrow C`. -/
@[simps]
def cechNerve : Arrow C ⥤ SimplicialObject C
@@ -135,7 +144,9 @@ def cechNerve : Arrow C ⥤ SimplicialObject C
· simp
· simp
#align category_theory.simplicial_object.cech_nerve CategoryTheory.SimplicialObject.cechNerve
+-/
+#print CategoryTheory.SimplicialObject.augmentedCechNerve /-
/-- The augmented Čech nerve construction, as a functor from `arrow C`. -/
@[simps]
def augmentedCechNerve : Arrow C ⥤ SimplicialObject.Augmented C
@@ -153,7 +164,14 @@ def augmentedCechNerve : Arrow C ⥤ SimplicialObject.Augmented C
· simp
· rfl
#align category_theory.simplicial_object.augmented_cech_nerve CategoryTheory.SimplicialObject.augmentedCechNerve
+-/
+/- warning: category_theory.simplicial_object.equivalence_right_to_left -> CategoryTheory.SimplicialObject.equivalenceRightToLeft is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePullback.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (X : CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (F : CategoryTheory.Arrow.{u1, u2} C _inst_1), (Quiver.Hom.{succ u1, max (max u1 u2) u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max (max u1 u2) u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max (max u1 u2) u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.category.{u1, u2} C _inst_1))) X (CategoryTheory.Arrow.augmentedCechNerve.{u1, u2} C _inst_1 F (CategoryTheory.SimplicialObject.equivalenceRightToLeft._proof_1.{u2, u1} C _inst_1 _inst_2 F))) -> (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1))) (CategoryTheory.Functor.obj.{u1, u1, max (max u1 u2) u2 u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.category.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1) X) F)
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePullback.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (X : CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (F : CategoryTheory.Arrow.{u1, u2} C _inst_1), (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) X (CategoryTheory.Arrow.augmentedCechNerve.{u1, u2} C _inst_1 F (fun (n : Nat) => _inst_2 n F))) -> (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1)) X) F)
+Case conversion may be inaccurate. Consider using '#align category_theory.simplicial_object.equivalence_right_to_left CategoryTheory.SimplicialObject.equivalenceRightToLeftₓ'. -/
/-- A helper function used in defining the Čech adjunction. -/
@[simps]
def equivalenceRightToLeft (X : SimplicialObject.Augmented C) (F : Arrow C)
@@ -167,6 +185,12 @@ def equivalenceRightToLeft (X : SimplicialObject.Augmented C) (F : Arrow C)
simpa using this
#align category_theory.simplicial_object.equivalence_right_to_left CategoryTheory.SimplicialObject.equivalenceRightToLeft
+/- warning: category_theory.simplicial_object.equivalence_left_to_right -> CategoryTheory.SimplicialObject.equivalenceLeftToRight is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePullback.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (X : CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (F : CategoryTheory.Arrow.{u1, u2} C _inst_1), (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1))) (CategoryTheory.Functor.obj.{u1, u1, max (max u1 u2) u2 u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.category.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1) X) F) -> (Quiver.Hom.{succ u1, max (max u1 u2) u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max (max u1 u2) u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max (max u1 u2) u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.category.{u1, u2} C _inst_1))) X (CategoryTheory.Arrow.augmentedCechNerve.{u1, u2} C _inst_1 F (CategoryTheory.SimplicialObject.equivalenceLeftToRight._proof_1.{u2, u1} C _inst_1 _inst_2 F)))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePullback.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (X : CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (F : CategoryTheory.Arrow.{u1, u2} C _inst_1), (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1)) X) F) -> (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) X (CategoryTheory.Arrow.augmentedCechNerve.{u1, u2} C _inst_1 F (fun (n : Nat) => _inst_2 n F)))
+Case conversion may be inaccurate. Consider using '#align category_theory.simplicial_object.equivalence_left_to_right CategoryTheory.SimplicialObject.equivalenceLeftToRightₓ'. -/
/-- A helper function used in defining the Čech adjunction. -/
@[simps]
def equivalenceLeftToRight (X : SimplicialObject.Augmented C) (F : Arrow C)
@@ -198,6 +222,12 @@ def equivalenceLeftToRight (X : SimplicialObject.Augmented C) (F : Arrow C)
simp
#align category_theory.simplicial_object.equivalence_left_to_right CategoryTheory.SimplicialObject.equivalenceLeftToRight
+/- warning: category_theory.simplicial_object.cech_nerve_equiv -> CategoryTheory.SimplicialObject.cechNerveEquiv is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePullback.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (X : CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (F : CategoryTheory.Arrow.{u1, u2} C _inst_1), Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1))) (CategoryTheory.Functor.obj.{u1, u1, max (max u1 u2) u2 u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.category.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1) X) F) (Quiver.Hom.{succ u1, max (max u1 u2) u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max (max u1 u2) u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max (max u1 u2) u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.category.{u1, u2} C _inst_1))) X (CategoryTheory.Arrow.augmentedCechNerve.{u1, u2} C _inst_1 F (CategoryTheory.SimplicialObject.cechNerveEquiv._proof_1.{u2, u1} C _inst_1 _inst_2 F)))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePullback.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (X : CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (F : CategoryTheory.Arrow.{u1, u2} C _inst_1), Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1)) X) F) (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.SimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.SimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) X (CategoryTheory.Arrow.augmentedCechNerve.{u1, u2} C _inst_1 F (fun (n : Nat) => _inst_2 n F)))
+Case conversion may be inaccurate. Consider using '#align category_theory.simplicial_object.cech_nerve_equiv CategoryTheory.SimplicialObject.cechNerveEquivₓ'. -/
/-- A helper function used in defining the Čech adjunction. -/
@[simps]
def cechNerveEquiv (X : SimplicialObject.Augmented C) (F : Arrow C) :
@@ -237,6 +267,7 @@ def cechNerveEquiv (X : SimplicialObject.Augmented C) (F : Arrow C) :
· rfl
#align category_theory.simplicial_object.cech_nerve_equiv CategoryTheory.SimplicialObject.cechNerveEquiv
+#print CategoryTheory.SimplicialObject.cechNerveAdjunction /-
/-- The augmented Čech nerve construction is right adjoint to the `to_arrow` functor. -/
abbrev cechNerveAdjunction : (Augmented.toArrow : _ ⥤ Arrow C) ⊣ augmentedCechNerve :=
Adjunction.mkOfHomEquiv
@@ -253,6 +284,7 @@ abbrev cechNerveAdjunction : (Augmented.toArrow : _ ⥤ Arrow C) ⊣ augmentedCe
· simp
· rfl }
#align category_theory.simplicial_object.cech_nerve_adjunction CategoryTheory.SimplicialObject.cechNerveAdjunction
+-/
end SimplicialObject
@@ -264,6 +296,7 @@ variable (f : Arrow C)
variable [∀ n : ℕ, HasWidePushout f.left (fun i : Fin (n + 1) => f.right) fun i => f.Hom]
+#print CategoryTheory.Arrow.cechConerve /-
/-- The Čech conerve associated to an arrow. -/
@[simps]
def cechConerve : CosimplicialObject C
@@ -282,7 +315,9 @@ def cechConerve : CosimplicialObject C
· simpa
· simp
#align category_theory.arrow.cech_conerve CategoryTheory.Arrow.cechConerve
+-/
+#print CategoryTheory.Arrow.mapCechConerve /-
/-- The morphism between Čech conerves associated to a morphism of arrows. -/
@[simps]
def mapCechConerve {f g : Arrow C}
@@ -298,7 +333,9 @@ def mapCechConerve {f g : Arrow C}
· simp
· simp
#align category_theory.arrow.map_cech_conerve CategoryTheory.Arrow.mapCechConerve
+-/
+#print CategoryTheory.Arrow.augmentedCechConerve /-
/-- The augmented Čech conerve associated to an arrow. -/
@[simps]
def augmentedCechConerve : CosimplicialObject.Augmented C
@@ -311,7 +348,9 @@ def augmentedCechConerve : CosimplicialObject.Augmented C
dsimp
simp }
#align category_theory.arrow.augmented_cech_conerve CategoryTheory.Arrow.augmentedCechConerve
+-/
+#print CategoryTheory.Arrow.mapAugmentedCechConerve /-
/-- The morphism between augmented Čech conerves associated to a morphism of arrows. -/
@[simps]
def mapAugmentedCechConerve {f g : Arrow C}
@@ -325,6 +364,7 @@ def mapAugmentedCechConerve {f g : Arrow C}
ext
simp
#align category_theory.arrow.map_augmented_cech_conerve CategoryTheory.Arrow.mapAugmentedCechConerve
+-/
end CategoryTheory.Arrow
@@ -335,6 +375,7 @@ namespace CosimplicialObject
variable
[∀ (n : ℕ) (f : Arrow C), HasWidePushout f.left (fun i : Fin (n + 1) => f.right) fun i => f.Hom]
+#print CategoryTheory.CosimplicialObject.cechConerve /-
/-- The Čech conerve construction, as a functor from `arrow C`. -/
@[simps]
def cechConerve : Arrow C ⥤ CosimplicialObject C
@@ -352,7 +393,9 @@ def cechConerve : Arrow C ⥤ CosimplicialObject C
· simp
· simp
#align category_theory.cosimplicial_object.cech_conerve CategoryTheory.CosimplicialObject.cechConerve
+-/
+#print CategoryTheory.CosimplicialObject.augmentedCechConerve /-
/-- The augmented Čech conerve construction, as a functor from `arrow C`. -/
@[simps]
def augmentedCechConerve : Arrow C ⥤ CosimplicialObject.Augmented C
@@ -372,7 +415,14 @@ def augmentedCechConerve : Arrow C ⥤ CosimplicialObject.Augmented C
· simp
· simp
#align category_theory.cosimplicial_object.augmented_cech_conerve CategoryTheory.CosimplicialObject.augmentedCechConerve
+-/
+/- warning: category_theory.cosimplicial_object.equivalence_left_to_right -> CategoryTheory.CosimplicialObject.equivalenceLeftToRight is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePushout.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (F : CategoryTheory.Arrow.{u1, u2} C _inst_1) (X : CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1), (Quiver.Hom.{succ u1, max u1 u2} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.category.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.augmentedCechConerve.{u1, u2} C _inst_1 F (CategoryTheory.CosimplicialObject.equivalenceLeftToRight._proof_1.{u2, u1} C _inst_1 _inst_2 F)) X) -> (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1))) F (CategoryTheory.Functor.obj.{u1, u1, max u1 u2, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.category.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1) X))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePushout.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (F : CategoryTheory.Arrow.{u1, u2} C _inst_1) (X : CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1), (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.augmentedCechConerve.{u1, u2} C _inst_1 F (fun (n : Nat) => _inst_2 n F)) X) -> (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) F (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1)) X))
+Case conversion may be inaccurate. Consider using '#align category_theory.cosimplicial_object.equivalence_left_to_right CategoryTheory.CosimplicialObject.equivalenceLeftToRightₓ'. -/
/-- A helper function used in defining the Čech conerve adjunction. -/
@[simps]
def equivalenceLeftToRight (F : Arrow C) (X : CosimplicialObject.Augmented C)
@@ -387,6 +437,12 @@ def equivalenceLeftToRight (F : Arrow C) (X : CosimplicialObject.Augmented C)
wide_pushout.arrow_ι_assoc fun i => F.hom]
#align category_theory.cosimplicial_object.equivalence_left_to_right CategoryTheory.CosimplicialObject.equivalenceLeftToRight
+/- warning: category_theory.cosimplicial_object.equivalence_right_to_left -> CategoryTheory.CosimplicialObject.equivalenceRightToLeft is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePushout.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (F : CategoryTheory.Arrow.{u1, u2} C _inst_1) (X : CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1), (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1))) F (CategoryTheory.Functor.obj.{u1, u1, max u1 u2, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.category.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1) X)) -> (Quiver.Hom.{succ u1, max u1 u2} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.category.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.augmentedCechConerve.{u1, u2} C _inst_1 F (CategoryTheory.CosimplicialObject.equivalenceRightToLeft._proof_1.{u2, u1} C _inst_1 _inst_2 F)) X)
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePushout.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (F : CategoryTheory.Arrow.{u1, u2} C _inst_1) (X : CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1), (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) F (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1)) X)) -> (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.augmentedCechConerve.{u1, u2} C _inst_1 F (fun (n : Nat) => _inst_2 n F)) X)
+Case conversion may be inaccurate. Consider using '#align category_theory.cosimplicial_object.equivalence_right_to_left CategoryTheory.CosimplicialObject.equivalenceRightToLeftₓ'. -/
/-- A helper function used in defining the Čech conerve adjunction. -/
@[simps]
def equivalenceRightToLeft (F : Arrow C) (X : CosimplicialObject.Augmented C)
@@ -420,6 +476,12 @@ def equivalenceRightToLeft (F : Arrow C) (X : CosimplicialObject.Augmented C)
simp
#align category_theory.cosimplicial_object.equivalence_right_to_left CategoryTheory.CosimplicialObject.equivalenceRightToLeft
+/- warning: category_theory.cosimplicial_object.cech_conerve_equiv -> CategoryTheory.CosimplicialObject.cechConerveEquiv is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePushout.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat Nat.hasAdd) n (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne))))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (F : CategoryTheory.Arrow.{u1, u2} C _inst_1) (X : CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1), Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u1 u2} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u1 u2} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u1 u2} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.category.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.augmentedCechConerve.{u1, u2} C _inst_1 F (CategoryTheory.CosimplicialObject.cechConerveEquiv._proof_1.{u2, u1} C _inst_1 _inst_2 F)) X) (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1))) F (CategoryTheory.Functor.obj.{u1, u1, max u1 u2, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.category.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Arrow.category.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1) X))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : forall (n : Nat) (f : CategoryTheory.Arrow.{u1, u2} C _inst_1), CategoryTheory.Limits.HasWidePushout.{0, u1, u2} (Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) C _inst_1 (CategoryTheory.Comma.left.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.right.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f) (fun (i : Fin (HAdd.hAdd.{0, 0, 0} Nat Nat Nat (instHAdd.{0} Nat instAddNat) n (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1)))) => CategoryTheory.Comma.hom.{u1, u1, u1, u2, u2, u2} C _inst_1 C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.id.{u1, u2} C _inst_1) f)] (F : CategoryTheory.Arrow.{u1, u2} C _inst_1) (X : CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1), Equiv.{succ u1, succ u1} (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.augmentedCechConerve.{u1, u2} C _inst_1 F (fun (n : Nat) => _inst_2 n F)) X) (Quiver.Hom.{succ u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) F (Prefunctor.obj.{succ u1, succ u1, max u2 u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1))) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 u1, max u2 u1} (CategoryTheory.CosimplicialObject.Augmented.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.instCategoryAugmented.{u1, u2} C _inst_1) (CategoryTheory.Arrow.{u1, u2} C _inst_1) (CategoryTheory.instCategoryArrow.{u1, u2} C _inst_1) (CategoryTheory.CosimplicialObject.Augmented.toArrow.{u1, u2} C _inst_1)) X))
+Case conversion may be inaccurate. Consider using '#align category_theory.cosimplicial_object.cech_conerve_equiv CategoryTheory.CosimplicialObject.cechConerveEquivₓ'. -/
/-- A helper function used in defining the Čech conerve adjunction. -/
@[simps]
def cechConerveEquiv (F : Arrow C) (X : CosimplicialObject.Augmented C) :
@@ -457,6 +519,7 @@ def cechConerveEquiv (F : Arrow C) (X : CosimplicialObject.Augmented C) :
linarith
#align category_theory.cosimplicial_object.cech_conerve_equiv CategoryTheory.CosimplicialObject.cechConerveEquiv
+#print CategoryTheory.CosimplicialObject.cechConerveAdjunction /-
/-- The augmented Čech conerve construction is left adjoint to the `to_arrow` functor. -/
abbrev cechConerveAdjunction : augmentedCechConerve ⊣ (Augmented.toArrow : _ ⥤ Arrow C) :=
Adjunction.mkOfHomEquiv
@@ -473,11 +536,13 @@ abbrev cechConerveAdjunction : augmentedCechConerve ⊣ (Augmented.toArrow : _
· simp
· simp }
#align category_theory.cosimplicial_object.cech_conerve_adjunction CategoryTheory.CosimplicialObject.cechConerveAdjunction
+-/
end CosimplicialObject
/- ./././Mathport/Syntax/Translate/Tactic/Builtin.lean:73:14: unsupported tactic `discrete_cases #[] -/
/- ./././Mathport/Syntax/Translate/Tactic/Builtin.lean:73:14: unsupported tactic `discrete_cases #[] -/
+#print CategoryTheory.cechNerveTerminalFrom /-
/-- Given an object `X : C`, the natural simplicial object sending `[n]` to `Xⁿ⁺¹`. -/
def cechNerveTerminalFrom {C : Type u} [Category.{v} C] [HasFiniteProducts C] (X : C) :
SimplicialObject C where
@@ -494,22 +559,37 @@ def cechNerveTerminalFrom {C : Type u} [Category.{v} C] [HasFiniteProducts C] (X
"./././Mathport/Syntax/Translate/Tactic/Builtin.lean:73:14: unsupported tactic `discrete_cases #[]" <;>
simpa only [category.assoc, limit.lift_π, fan.mk_π_app]
#align category_theory.cech_nerve_terminal_from CategoryTheory.cechNerveTerminalFrom
+-/
namespace CechNerveTerminalFrom
variable [HasTerminal C] (ι : Type w)
+#print CategoryTheory.CechNerveTerminalFrom.wideCospan /-
/-- The diagram `option ι ⥤ C` sending `none` to the terminal object and `some j` to `X`. -/
def wideCospan (X : C) : WidePullbackShape ι ⥤ C :=
WidePullbackShape.wideCospan (terminal C) (fun i : ι => X) fun i => terminal.from X
-#align category_theory.cech_nerve_terminal_from.wide_cospan CategoryTheory.cechNerveTerminalFrom.wideCospan
+#align category_theory.cech_nerve_terminal_from.wide_cospan CategoryTheory.CechNerveTerminalFrom.wideCospan
+-/
+/- warning: category_theory.cech_nerve_terminal_from.unique_to_wide_cospan_none -> CategoryTheory.CechNerveTerminalFrom.uniqueToWideCospanNone is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Limits.HasTerminal.{u1, u2} C _inst_1] (ι : Type.{u3}) (X : C) (Y : C), Unique.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Y (CategoryTheory.Functor.obj.{u3, u1, u3, u2} (CategoryTheory.Limits.WidePullbackShape.{u3} ι) (CategoryTheory.Limits.WidePullbackShape.category.{u3} ι) C _inst_1 (CategoryTheory.CechNerveTerminalFrom.wideCospan.{u1, u2, u3} C _inst_1 _inst_2 ι X) (Option.none.{u3} ι)))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Limits.HasTerminal.{u1, u2} C _inst_1] (ι : Type.{u3}) (X : C) (Y : C), Unique.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Y (Prefunctor.obj.{succ u3, succ u1, u3, u2} (CategoryTheory.Limits.WidePullbackShape.{u3} ι) (CategoryTheory.CategoryStruct.toQuiver.{u3, u3} (CategoryTheory.Limits.WidePullbackShape.{u3} ι) (CategoryTheory.Category.toCategoryStruct.{u3, u3} (CategoryTheory.Limits.WidePullbackShape.{u3} ι) (CategoryTheory.Limits.WidePullbackShape.category.{u3} ι))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u3, u1, u3, u2} (CategoryTheory.Limits.WidePullbackShape.{u3} ι) (CategoryTheory.Limits.WidePullbackShape.category.{u3} ι) C _inst_1 (CategoryTheory.CechNerveTerminalFrom.wideCospan.{u1, u2, u3} C _inst_1 _inst_2 ι X)) (Option.none.{u3} ι)))
+Case conversion may be inaccurate. Consider using '#align category_theory.cech_nerve_terminal_from.unique_to_wide_cospan_none CategoryTheory.CechNerveTerminalFrom.uniqueToWideCospanNoneₓ'. -/
instance uniqueToWideCospanNone (X Y : C) : Unique (Y ⟶ (wideCospan ι X).obj none) := by
unfold wide_cospan <;> dsimp <;> infer_instance
-#align category_theory.cech_nerve_terminal_from.unique_to_wide_cospan_none CategoryTheory.cechNerveTerminalFrom.uniqueToWideCospanNone
+#align category_theory.cech_nerve_terminal_from.unique_to_wide_cospan_none CategoryTheory.CechNerveTerminalFrom.uniqueToWideCospanNone
variable [HasFiniteProducts C]
+/- warning: category_theory.cech_nerve_terminal_from.wide_cospan.limit_cone -> CategoryTheory.CechNerveTerminalFrom.wideCospan.limitCone is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Limits.HasTerminal.{u1, u2} C _inst_1] (ι : Type.{u3}) [_inst_3 : CategoryTheory.Limits.HasFiniteProducts.{u1, u2} C _inst_1] [_inst_4 : Fintype.{u3} ι] (X : C), CategoryTheory.Limits.LimitCone.{u3, u3, u1, u2} (CategoryTheory.Limits.WidePullbackShape.{u3} ι) (CategoryTheory.Limits.WidePullbackShape.category.{u3} ι) C _inst_1 (CategoryTheory.CechNerveTerminalFrom.wideCospan.{u1, u2, u3} C _inst_1 _inst_2 ι X)
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Limits.HasTerminal.{u1, u2} C _inst_1] (ι : Type.{u3}) [_inst_3 : CategoryTheory.Limits.HasFiniteProducts.{u1, u2} C _inst_1] [_inst_4 : Finite.{succ u3} ι] (X : C), CategoryTheory.Limits.LimitCone.{u3, u3, u1, u2} (CategoryTheory.Limits.WidePullbackShape.{u3} ι) (CategoryTheory.Limits.WidePullbackShape.category.{u3} ι) C _inst_1 (CategoryTheory.CechNerveTerminalFrom.wideCospan.{u1, u2, u3} C _inst_1 _inst_2 ι X)
+Case conversion may be inaccurate. Consider using '#align category_theory.cech_nerve_terminal_from.wide_cospan.limit_cone CategoryTheory.CechNerveTerminalFrom.wideCospan.limitConeₓ'. -/
/-- The product `Xᶥ` is the vertex of a limit cone on `wide_cospan ι X`. -/
def wideCospan.limitCone [Fintype ι] (X : C) : LimitCone (wideCospan ι X)
where
@@ -536,16 +616,19 @@ def wideCospan.limitCone [Fintype ι] (X : C) : LimitCone (wideCospan ι X)
congr
ext
rfl }
-#align category_theory.cech_nerve_terminal_from.wide_cospan.limit_cone CategoryTheory.cechNerveTerminalFrom.wideCospan.limitCone
+#align category_theory.cech_nerve_terminal_from.wide_cospan.limit_cone CategoryTheory.CechNerveTerminalFrom.wideCospan.limitCone
+#print CategoryTheory.CechNerveTerminalFrom.hasWidePullback /-
instance hasWidePullback [Finite ι] (X : C) :
HasWidePullback (Arrow.mk (terminal.from X)).right
(fun i : ι => (Arrow.mk (terminal.from X)).left) fun i => (Arrow.mk (terminal.from X)).Hom :=
by
cases nonempty_fintype ι
exact ⟨⟨wide_cospan.limit_cone ι X⟩⟩
-#align category_theory.cech_nerve_terminal_from.has_wide_pullback CategoryTheory.cechNerveTerminalFrom.hasWidePullback
+#align category_theory.cech_nerve_terminal_from.has_wide_pullback CategoryTheory.CechNerveTerminalFrom.hasWidePullback
+-/
+#print CategoryTheory.CechNerveTerminalFrom.iso /-
/-- Given an object `X : C`, the Čech nerve of the hom to the terminal object `X ⟶ ⊤_ C` is
naturally isomorphic to a simplicial object sending `[n]` to `Xⁿ⁺¹` (when `C` is `G-Set`, this is
`EG`, the universal cover of the classifying space of `G`. -/
@@ -567,7 +650,8 @@ def iso (X : C) : (Arrow.mk (terminal.from X)).cechNerve ≅ cechNerveTerminalFr
limit.lift_π]
rfl)
(@Subsingleton.elim _ (@Unique.subsingleton _ (Limits.uniqueToTerminal _)) _ _))
-#align category_theory.cech_nerve_terminal_from.iso CategoryTheory.cechNerveTerminalFrom.iso
+#align category_theory.cech_nerve_terminal_from.iso CategoryTheory.CechNerveTerminalFrom.iso
+-/
end CechNerveTerminalFrom
mathlib commit https://github.com/leanprover-community/mathlib/commit/4c586d291f189eecb9d00581aeb3dd998ac34442
@@ -56,8 +56,8 @@ def cechNerve : SimplicialObject C
where
obj n := widePullback.{0} f.right (fun i : Fin (n.unop.len + 1) => f.left) fun i => f.Hom
map m n g :=
- widePullback.lift (widePullback.base _)
- (fun i => (widePullback.π fun i => f.Hom) <| g.unop.toOrderHom i) fun j => by simp
+ WidePullback.lift (WidePullback.base _)
+ (fun i => (WidePullback.π fun i => f.Hom) <| g.unop.toOrderHom i) fun j => by simp
map_id' x := by
ext ⟨⟩
· simpa
@@ -76,7 +76,7 @@ def mapCechNerve {f g : Arrow C}
f.cechNerve ⟶ g.cechNerve
where
app n :=
- widePullback.lift (widePullback.base _ ≫ F.right) (fun i => widePullback.π _ i ≫ F.left)
+ WidePullback.lift (WidePullback.base _ ≫ F.right) (fun i => WidePullback.π _ i ≫ F.left)
fun j => by simp
naturality' x y f := by
ext ⟨⟩
@@ -91,7 +91,7 @@ def augmentedCechNerve : SimplicialObject.Augmented C
left := f.cechNerve
right := f.right
Hom :=
- { app := fun i => widePullback.base _
+ { app := fun i => WidePullback.base _
naturality' := fun x y f => by
dsimp
simp }
@@ -159,7 +159,7 @@ def augmentedCechNerve : Arrow C ⥤ SimplicialObject.Augmented C
def equivalenceRightToLeft (X : SimplicialObject.Augmented C) (F : Arrow C)
(G : X ⟶ F.augmentedCechNerve) : Augmented.toArrow.obj X ⟶ F
where
- left := G.left.app _ ≫ widePullback.π (fun i => F.Hom) 0
+ left := G.left.app _ ≫ WidePullback.π (fun i => F.Hom) 0
right := G.right
w' := by
have := G.w
@@ -174,7 +174,7 @@ def equivalenceLeftToRight (X : SimplicialObject.Augmented C) (F : Arrow C)
where
left :=
{ app := fun x =>
- Limits.widePullback.lift (X.Hom.app _ ≫ G.right)
+ Limits.WidePullback.lift (X.Hom.app _ ≫ G.right)
(fun i => X.left.map (SimplexCategory.const x.unop i).op ≫ G.left) fun i =>
by
dsimp
@@ -270,8 +270,8 @@ def cechConerve : CosimplicialObject C
where
obj n := widePushout f.left (fun i : Fin (n.len + 1) => f.right) fun i => f.Hom
map m n g :=
- widePushout.desc (widePushout.head _)
- (fun i => (widePushout.ι fun i => f.Hom) <| g.toOrderHom i) fun i => by
+ WidePushout.desc (WidePushout.head _)
+ (fun i => (WidePushout.ι fun i => f.Hom) <| g.toOrderHom i) fun i => by
rw [wide_pushout.arrow_ι fun i => f.hom]
map_id' x := by
ext ⟨⟩
@@ -291,7 +291,7 @@ def mapCechConerve {f g : Arrow C}
f.cechConerve ⟶ g.cechConerve
where
app n :=
- widePushout.desc (F.left ≫ widePushout.head _) (fun i => F.right ≫ widePushout.ι _ i) fun i =>
+ WidePushout.desc (F.left ≫ WidePushout.head _) (fun i => F.right ≫ WidePushout.ι _ i) fun i =>
by rw [← arrow.w_assoc F, wide_pushout.arrow_ι fun i => g.hom]
naturality' x y f := by
ext
@@ -306,7 +306,7 @@ def augmentedCechConerve : CosimplicialObject.Augmented C
left := f.left
right := f.cechConerve
Hom :=
- { app := fun i => widePushout.head _
+ { app := fun i => WidePushout.head _
naturality' := fun x y f => by
dsimp
simp }
@@ -379,7 +379,7 @@ def equivalenceLeftToRight (F : Arrow C) (X : CosimplicialObject.Augmented C)
(G : F.augmentedCechConerve ⟶ X) : F ⟶ Augmented.toArrow.obj X
where
left := G.left
- right := (widePushout.ι (fun i => F.Hom) 0 ≫ G.right.app (SimplexCategory.mk 0) : _)
+ right := (WidePushout.ι (fun i => F.Hom) 0 ≫ G.right.app (SimplexCategory.mk 0) : _)
w' := by
have := G.w
apply_fun fun e => e.app (SimplexCategory.mk 0) at this
@@ -395,7 +395,7 @@ def equivalenceRightToLeft (F : Arrow C) (X : CosimplicialObject.Augmented C)
left := G.left
right :=
{ app := fun x =>
- Limits.widePushout.desc (G.left ≫ X.Hom.app _)
+ Limits.WidePushout.desc (G.left ≫ X.Hom.app _)
(fun i => G.right ≫ X.right.map (SimplexCategory.const x i))
(by
rintro j
@@ -476,8 +476,8 @@ abbrev cechConerveAdjunction : augmentedCechConerve ⊣ (Augmented.toArrow : _
end CosimplicialObject
-/- ./././Mathport/Syntax/Translate/Tactic/Builtin.lean:76:14: unsupported tactic `discrete_cases #[] -/
-/- ./././Mathport/Syntax/Translate/Tactic/Builtin.lean:76:14: unsupported tactic `discrete_cases #[] -/
+/- ./././Mathport/Syntax/Translate/Tactic/Builtin.lean:73:14: unsupported tactic `discrete_cases #[] -/
+/- ./././Mathport/Syntax/Translate/Tactic/Builtin.lean:73:14: unsupported tactic `discrete_cases #[] -/
/-- Given an object `X : C`, the natural simplicial object sending `[n]` to `Xⁿ⁺¹`. -/
def cechNerveTerminalFrom {C : Type u} [Category.{v} C] [HasFiniteProducts C] (X : C) :
SimplicialObject C where
@@ -486,12 +486,12 @@ def cechNerveTerminalFrom {C : Type u} [Category.{v} C] [HasFiniteProducts C] (X
map_id' f :=
limit.hom_ext fun j => by
trace
- "./././Mathport/Syntax/Translate/Tactic/Builtin.lean:76:14: unsupported tactic `discrete_cases #[]" <;>
+ "./././Mathport/Syntax/Translate/Tactic/Builtin.lean:73:14: unsupported tactic `discrete_cases #[]" <;>
simpa only [limit.lift_π, category.id_comp]
map_comp' m n o f g :=
limit.hom_ext fun j => by
trace
- "./././Mathport/Syntax/Translate/Tactic/Builtin.lean:76:14: unsupported tactic `discrete_cases #[]" <;>
+ "./././Mathport/Syntax/Translate/Tactic/Builtin.lean:73:14: unsupported tactic `discrete_cases #[]" <;>
simpa only [category.assoc, limit.lift_π, fan.mk_π_app]
#align category_theory.cech_nerve_terminal_from CategoryTheory.cechNerveTerminalFrom
@@ -556,7 +556,7 @@ def iso (X : C) : (Arrow.mk (terminal.from X)).cechNerve ≅ cechNerveTerminalFr
((limit.isLimit _).conePointUniqueUpToIso
(wideCospan.limitCone (Fin (m.unop.len + 1)) X).2).symm)
fun m n f =>
- widePullback.hom_ext _ _ _
+ WidePullback.hom_ext _ _ _
(by
intro j
simp only [category.assoc]
mathlib commit https://github.com/leanprover-community/mathlib/commit/9da1b3534b65d9661eb8f42443598a92bbb49211
@@ -514,7 +514,7 @@ variable [HasFiniteProducts C]
def wideCospan.limitCone [Fintype ι] (X : C) : LimitCone (wideCospan ι X)
where
Cone :=
- { x := ∏ fun i : ι => X
+ { pt := ∏ fun i : ι => X
π :=
{ app := fun X => Option.casesOn X (terminal.from _) fun i => limit.π _ ⟨i⟩
naturality' := fun i j f => by
mathlib commit https://github.com/leanprover-community/mathlib/commit/eb0cb4511aaef0da2462207b67358a0e1fe1e2ee
@@ -526,8 +526,8 @@ def wideCospan.limitCone [Fintype ι] (X : C) : LimitCone (wideCospan ι X)
exact Subsingleton.elim _ _ } }
IsLimit :=
{ lift := fun s => Limits.Pi.lift fun j => s.π.app (some j)
- fac' := fun s j => Option.casesOn j (Subsingleton.elim _ _) fun j => limit.lift_π _ _
- uniq' := fun s f h => by
+ fac := fun s j => Option.casesOn j (Subsingleton.elim _ _) fun j => limit.lift_π _ _
+ uniq := fun s f h => by
ext j
dsimp only [limits.pi.lift]
rw [limit.lift_π]
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Empty lines were removed by executing the following Python script twice
import os
import re
# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
for filename in files:
if filename.endswith('.lean'):
file_path = os.path.join(dir_path, filename)
# Open the file and read its contents
with open(file_path, 'r') as file:
content = file.read()
# Use a regular expression to replace sequences of "variable" lines separated by empty lines
# with sequences without empty lines
modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)
# Write the modified content back to the file
with open(file_path, 'w') as file:
file.write(modified_content)
@@ -45,7 +45,6 @@ variable {C : Type u} [Category.{v} C]
namespace CategoryTheory.Arrow
variable (f : Arrow C)
-
variable [∀ n : ℕ, HasWidePullback.{0} f.right (fun _ : Fin (n + 1) => f.left) fun _ => f.hom]
/-- The Čech nerve associated to an arrow. -/
@@ -197,7 +196,6 @@ end CategoryTheory
namespace CategoryTheory.Arrow
variable (f : Arrow C)
-
variable [∀ n : ℕ, HasWidePushout f.left (fun _ : Fin (n + 1) => f.right) fun _ => f.hom]
/-- The Čech conerve associated to an arrow. -/
This PR removes the simps
attribute in the definition of the category structure on SimplexCategory
so as to prevent API leakage. Better suited simp
lemmas are added. The definition of SimplexCategory.const
is also generalized in order to describe any constant map in SimplexCategory
.
@@ -127,7 +127,7 @@ def equivalenceLeftToRight (X : SimplicialObject.Augmented C) (F : Arrow C)
left :=
{ app := fun x =>
Limits.WidePullback.lift (X.hom.app _ ≫ G.right)
- (fun i => X.left.map (SimplexCategory.const x.unop i).op ≫ G.left) fun i => by
+ (fun i => X.left.map (SimplexCategory.const _ x.unop i).op ≫ G.left) fun i => by
dsimp
erw [Category.assoc, Arrow.w, Augmented.toArrow_obj_hom, NatTrans.naturality_assoc,
Functor.const_obj_map, Category.id_comp]
@@ -284,11 +284,11 @@ def equivalenceRightToLeft (F : Arrow C) (X : CosimplicialObject.Augmented C)
right :=
{ app := fun x =>
Limits.WidePushout.desc (G.left ≫ X.hom.app _)
- (fun i => G.right ≫ X.right.map (SimplexCategory.const x i))
+ (fun i => G.right ≫ X.right.map (SimplexCategory.const _ x i))
(by
rintro j
rw [← Arrow.w_assoc G]
- have t := X.hom.naturality (x.const j)
+ have t := X.hom.naturality (SimplexCategory.const (SimplexCategory.mk 0) x j)
dsimp at t ⊢
simp only [Category.id_comp] at t
rw [← t])
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -403,24 +403,24 @@ instance hasWidePullback [Finite ι] (X : C) :
exact ⟨⟨wideCospan.limitCone ι X⟩⟩
#align category_theory.cech_nerve_terminal_from.has_wide_pullback CategoryTheory.CechNerveTerminalFrom.hasWidePullback
--- porting note: added to make the following definitions work
+-- Porting note: added to make the following definitions work
instance hasWidePullback' [Finite ι] (X : C) :
HasWidePullback (⊤_ C)
(fun _ : ι => X)
(fun _ => terminal.from X) :=
hasWidePullback _ _
--- porting note: added to make the following definitions work
+-- Porting note: added to make the following definitions work
instance hasLimit_wideCospan [Finite ι] (X : C) : HasLimit (wideCospan ι X) := hasWidePullback _ _
--- porting note: added to ease the definition of `iso`
+-- Porting note: added to ease the definition of `iso`
/-- the isomorphism to the product induced by the limit cone `wideCospan ι X` -/
def wideCospan.limitIsoPi [Finite ι] (X : C) :
limit (wideCospan ι X) ≅ ∏ fun _ : ι => X :=
(IsLimit.conePointUniqueUpToIso (limit.isLimit _)
(wideCospan.limitCone ι X).2)
--- porting note: added to ease the definition of `iso`
+-- Porting note: added to ease the definition of `iso`
@[reassoc (attr := simp)]
lemma wideCospan.limitIsoPi_inv_comp_pi [Finite ι] (X : C) (j : ι) :
(wideCospan.limitIsoPi ι X).inv ≫ WidePullback.π _ j = Pi.π _ j :=
I ran tryAtEachStep on all files under Mathlib
to find all locations where omega
succeeds. For each that was a linarith
without an only
, I tried replacing it with omega
, and I verified that elaboration time got smaller. (In almost all cases, there was a noticeable speedup.) I also replaced some slow aesop
s along the way.
@@ -162,7 +162,7 @@ def cechNerveEquiv (X : SimplicialObject.Augmented C) (F : Arrow C) :
ext ⟨a, ha⟩
change a < 1 at ha
change 0 = a
- linarith
+ omega
· rfl
right_inv := by
intro A
@@ -337,7 +337,7 @@ def cechConerveEquiv (F : Arrow C) (X : CosimplicialObject.Augmented C) :
ext ⟨a, ha⟩
change a < 1 at ha
change 0 = a
- linarith
+ omega
#align category_theory.cosimplicial_object.cech_conerve_equiv CategoryTheory.CosimplicialObject.cechConerveEquiv
/-- The augmented Čech conerve construction is left adjoint to the `toArrow` functor. -/
@@ -4,9 +4,9 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Adam Topaz
-/
import Mathlib.AlgebraicTopology.SimplicialObject
+import Mathlib.CategoryTheory.Comma.Arrow
import Mathlib.CategoryTheory.Limits.Shapes.WidePullbacks
import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts
-import Mathlib.CategoryTheory.Arrow
#align_import algebraic_topology.cech_nerve from "leanprover-community/mathlib"@"618ea3d5c99240cd7000d8376924906a148bf9ff"
@@ -180,7 +180,14 @@ abbrev cechNerveAdjunction : (Augmented.toArrow : _ ⥤ Arrow C) ⊣ augmentedCe
Adjunction.mkOfHomEquiv
{ homEquiv := cechNerveEquiv
homEquiv_naturality_left_symm := by dsimp [cechNerveEquiv]; aesop_cat
- homEquiv_naturality_right := by dsimp [cechNerveEquiv]; aesop_cat }
+ homEquiv_naturality_right := by
+ dsimp [cechNerveEquiv]
+ -- The next three lines were not needed before leanprover/lean4#2644
+ intro X Y Y' f g
+ change equivalenceLeftToRight X Y' (f ≫ g) =
+ equivalenceLeftToRight X Y f ≫ augmentedCechNerve.map g
+ aesop_cat
+ }
#align category_theory.simplicial_object.cech_nerve_adjunction CategoryTheory.SimplicialObject.cechNerveAdjunction
end SimplicialObject
@@ -180,14 +180,7 @@ abbrev cechNerveAdjunction : (Augmented.toArrow : _ ⥤ Arrow C) ⊣ augmentedCe
Adjunction.mkOfHomEquiv
{ homEquiv := cechNerveEquiv
homEquiv_naturality_left_symm := by dsimp [cechNerveEquiv]; aesop_cat
- homEquiv_naturality_right := by
- dsimp [cechNerveEquiv]
- -- The next three lines were not needed before leanprover/lean4#2644
- intro X Y Y' f g
- change equivalenceLeftToRight X Y' (f ≫ g) =
- equivalenceLeftToRight X Y f ≫ augmentedCechNerve.map g
- aesop_cat
- }
+ homEquiv_naturality_right := by dsimp [cechNerveEquiv]; aesop_cat }
#align category_theory.simplicial_object.cech_nerve_adjunction CategoryTheory.SimplicialObject.cechNerveAdjunction
end SimplicialObject
@@ -180,7 +180,14 @@ abbrev cechNerveAdjunction : (Augmented.toArrow : _ ⥤ Arrow C) ⊣ augmentedCe
Adjunction.mkOfHomEquiv
{ homEquiv := cechNerveEquiv
homEquiv_naturality_left_symm := by dsimp [cechNerveEquiv]; aesop_cat
- homEquiv_naturality_right := by dsimp [cechNerveEquiv]; aesop_cat }
+ homEquiv_naturality_right := by
+ dsimp [cechNerveEquiv]
+ -- The next three lines were not needed before leanprover/lean4#2644
+ intro X Y Y' f g
+ change equivalenceLeftToRight X Y' (f ≫ g) =
+ equivalenceLeftToRight X Y f ≫ augmentedCechNerve.map g
+ aesop_cat
+ }
#align category_theory.simplicial_object.cech_nerve_adjunction CategoryTheory.SimplicialObject.cechNerveAdjunction
end SimplicialObject
@@ -151,7 +151,6 @@ def cechNerveEquiv (X : SimplicialObject.Augmented C) (F : Arrow C) :
invFun := equivalenceRightToLeft _ _
left_inv := by
intro A
- dsimp
ext
· dsimp
erw [WidePullback.lift_π]
@@ -167,7 +166,6 @@ def cechNerveEquiv (X : SimplicialObject.Augmented C) (F : Arrow C) :
· rfl
right_inv := by
intro A
- dsimp
ext x : 2
· refine' WidePullback.hom_ext _ _ _ (fun j => _) _
· dsimp
@@ -309,7 +307,6 @@ def cechConerveEquiv (F : Arrow C) (X : CosimplicialObject.Augmented C) :
invFun := equivalenceRightToLeft _ _
left_inv := by
intro A
- dsimp
ext x : 2
· rfl
· refine' WidePushout.hom_ext _ _ _ (fun j => _) _
@@ -2,17 +2,14 @@
Copyright (c) 2021 Adam Topaz. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Adam Topaz
-
-! This file was ported from Lean 3 source module algebraic_topology.cech_nerve
-! leanprover-community/mathlib commit 618ea3d5c99240cd7000d8376924906a148bf9ff
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.AlgebraicTopology.SimplicialObject
import Mathlib.CategoryTheory.Limits.Shapes.WidePullbacks
import Mathlib.CategoryTheory.Limits.Shapes.FiniteProducts
import Mathlib.CategoryTheory.Arrow
+#align_import algebraic_topology.cech_nerve from "leanprover-community/mathlib"@"618ea3d5c99240cd7000d8376924906a148bf9ff"
+
/-!
# The Čech Nerve
This is the second half of the changes originally in #5699, removing all occurrences of ;
after a space and implementing a linter rule to enforce it.
In most cases this 2-character substring has a space after it, so the following command was run first:
find . -type f -name "*.lean" -exec sed -i -E 's/ ; /; /g' {} \;
The remaining cases were few enough in number that they were done manually.
@@ -184,8 +184,8 @@ def cechNerveEquiv (X : SimplicialObject.Augmented C) (F : Arrow C) :
abbrev cechNerveAdjunction : (Augmented.toArrow : _ ⥤ Arrow C) ⊣ augmentedCechNerve :=
Adjunction.mkOfHomEquiv
{ homEquiv := cechNerveEquiv
- homEquiv_naturality_left_symm := by dsimp [cechNerveEquiv] ; aesop_cat
- homEquiv_naturality_right := by dsimp [cechNerveEquiv] ; aesop_cat }
+ homEquiv_naturality_left_symm := by dsimp [cechNerveEquiv]; aesop_cat
+ homEquiv_naturality_right := by dsimp [cechNerveEquiv]; aesop_cat }
#align category_theory.simplicial_object.cech_nerve_adjunction CategoryTheory.SimplicialObject.cechNerveAdjunction
end SimplicialObject
@@ -270,7 +270,7 @@ def equivalenceLeftToRight (F : Arrow C) (X : CosimplicialObject.Augmented C)
w := by
dsimp
rw [@WidePushout.arrow_ι_assoc _ _ _ _ _ (fun (_ : Fin 1) => F.hom)
- (by dsimp ; infer_instance)]
+ (by dsimp; infer_instance)]
exact congr_app G.w (SimplexCategory.mk 0)
#align category_theory.cosimplicial_object.equivalence_left_to_right CategoryTheory.CosimplicialObject.equivalenceLeftToRight
This PR is the result of running
find . -type f -name "*.lean" -exec sed -i -E 's/^( +)\. /\1· /' {} \;
find . -type f -name "*.lean" -exec sed -i -E 'N;s/^( +·)\n +(.*)$/\1 \2/;P;D' {} \;
which firstly replaces .
focusing dots with ·
and secondly removes isolated instances of such dots, unifying them with the following line. A new rule is placed in the style linter to verify this.
@@ -138,10 +138,10 @@ def equivalenceLeftToRight (X : SimplicialObject.Augmented C) (F : Arrow C)
intro x y f
dsimp
ext
- . dsimp
+ · dsimp
simp only [WidePullback.lift_π, Category.assoc, ← X.left.map_comp_assoc]
rfl
- . dsimp
+ · dsimp
simp }
right := G.right
#align category_theory.simplicial_object.equivalence_left_to_right CategoryTheory.SimplicialObject.equivalenceLeftToRight
@@ -173,11 +173,11 @@ def cechNerveEquiv (X : SimplicialObject.Augmented C) (F : Arrow C) :
dsimp
ext x : 2
· refine' WidePullback.hom_ext _ _ _ (fun j => _) _
- . dsimp
+ · dsimp
simp
rfl
- . simpa using congr_app A.w.symm x
- . rfl
+ · simpa using congr_app A.w.symm x
+ · rfl
#align category_theory.simplicial_object.cech_nerve_equiv CategoryTheory.SimplicialObject.cechNerveEquiv
/-- The augmented Čech nerve construction is right adjoint to the `toArrow` functor. -/
@@ -314,14 +314,14 @@ def cechConerveEquiv (F : Arrow C) (X : CosimplicialObject.Augmented C) :
intro A
dsimp
ext x : 2
- . rfl
- . refine' WidePushout.hom_ext _ _ _ (fun j => _) _
- . dsimp
+ · rfl
+ · refine' WidePushout.hom_ext _ _ _ (fun j => _) _
+ · dsimp
simp only [Category.assoc, ← NatTrans.naturality A.right, Arrow.augmentedCechConerve_right,
SimplexCategory.len_mk, Arrow.cechConerve_map, colimit.ι_desc,
WidePushoutShape.mkCocone_ι_app, colimit.ι_desc_assoc]
rfl
- . dsimp
+ · dsimp
rw [colimit.ι_desc]
exact congr_app A.w x
right_inv := by
Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
@@ -387,7 +387,7 @@ def wideCospan.limitCone [Finite ι] (X : C) : LimitCone (wideCospan ι X) where
fac := fun s j => Option.casesOn j (Subsingleton.elim _ _) fun j => limit.lift_π _ _
uniq := fun s f h => by
dsimp
- ext ⟨j⟩
+ ext j
dsimp only [Limits.Pi.lift]
rw [limit.lift_π]
dsimp
This PR fixes two things:
align
statements for definitions and theorems and instances that are separated by two newlines from the relevant declaration (s/\n\n#align/\n#align
). This is often seen in the mathport output after ending calc
blocks.#align
statements. (This was needed for a script I wrote for #3630.)@@ -441,7 +441,6 @@ def iso (X : C) : (Arrow.mk (terminal.from X)).cechNerve ≅ cechNerveTerminalFr
erw [wideCospan.limitIsoPi_hom_comp_pi,
wideCospan.limitIsoPi_hom_comp_pi, limit.lift_π]
rfl)
-
#align category_theory.cech_nerve_terminal_from.iso CategoryTheory.CechNerveTerminalFrom.iso
end CechNerveTerminalFrom
The unported dependencies are