Typeclasses for S
-objects and S
-morphisms #
Warning: This is not usually how typeclasses should be used.
This is only a sensible approach when the morphism is considered as a structure on X
,
typically in algebraic geometry.
This is analogous to to how we view ringhoms as structures via the Algebra
typeclass.
For other applications use unbundled arrows or CategoryTheory.Over
.
Main definition #
CategoryTheory.OverClass
:OverClass X S
equipsX
with a morphism intoS
.X ↘ S : X ⟶ S
is the structure morphism.CategoryTheory.HomIsOver
:HomIsOver f S
asserts thatf
commutes with the structure morphisms.
The structure morphism X ↘ S : X ⟶ S
given OverClass X S
.
The instance argument is an optParam
instead so that it appears in the discrimination tree.
Equations
- CategoryTheory.over X S x✝ = CategoryTheory.OverClass.hom
Instances For
The structure morphism X ↘ S : X ⟶ S
given OverClass X S
.
Equations
- CategoryTheory.«term_↘_» = Lean.ParserDescr.trailingNode `CategoryTheory.«term_↘_» 90 90 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ↘ ") (Lean.ParserDescr.cat `term 90))
Instances For
See Note [custom simps projection]
Equations
- CategoryTheory.OverClass.Simps.over X S = X ↘ S
Instances For
X.CanonicallyOverClass S
is the typeclass containing the data of a
structure morphism X ↘ S : X ⟶ S
,
and that S
is (uniquely) inferrable from the structure of X
.
Instances
See Note [custom simps projection]
Equations
Instances For
Equations
- CategoryTheory.instOverClass = { hom := CategoryTheory.CategoryStruct.id X }
Equations
- CategoryTheory.instOverClassOfCanonicallyOverClass S = { hom := CategoryTheory.CategoryStruct.comp (X ↘ Y) (Y ↘ S) }
Given OverClass X S
and OverClass Y S
and f : X ⟶ Y
,
HomIsOver f S
is the typeclass asserting f
commutes with the structure morphisms.
- comp_over : CategoryTheory.CategoryStruct.comp f (Y ↘ S) = X ↘ S
Instances
Scheme.IsOverTower X Y S
is the typeclass asserting that the structure morphisms
X ↘ Y
, Y ↘ S
, and X ↘ S
commute.
Equations
- CategoryTheory.IsOverTower X Y S = CategoryTheory.HomIsOver (X ↘ Y) S
Instances For
Bundle X
with an OverClass X S
instance into Over S
.
Equations
Instances For
Bundle a morphism f : X ⟶ Y
with HomIsOver f S
into a morphism in Over S
.
Equations
Instances For
Equations
- CategoryTheory.OverClass.fromOver X = { hom := X.hom }