HomLift #
Given a functor p : ๐ณ โฅค ๐ฎ
, this file provides API for expressing the fact that p(ฯ) = f
for given morphisms ฯ
and f
. The reason this API is needed is because, in general, p.map ฯ = f
does not make sense when the domain and/or codomain of ฯ
and f
are not definitionally equal.
Main definition #
Given morphism ฯ : a โถ b
in ๐ณ
and f : R โถ S
in ๐ฎ
, p.IsHomLift f ฯ
is a class, defined
using the auxiliary inductive type IsHomLiftAux
which expresses the fact that f = p(ฯ)
.
We also define a macro subst_hom_lift p f ฯ
which can be used to substitute f
with p(ฯ)
in a
goal, this tactic is just short for obtain โจโฉ := Functor.IsHomLift.cond (p:=p) (f:=f) (ฯ:=ฯ)
, and
it is used to make the code more readable.
Helper-type for defining IsHomLift
.
- map {๐ฎ : Type uโ} {๐ณ : Type uโ} [CategoryTheory.Category.{vโ, uโ} ๐ณ] [CategoryTheory.Category.{vโ, uโ} ๐ฎ] {p : CategoryTheory.Functor ๐ณ ๐ฎ} {a b : ๐ณ} (ฯ : a โถ b) : CategoryTheory.IsHomLiftAux p (p.map ฯ) ฯ
Instances For
Given a functor p : ๐ณ โฅค ๐ฎ
, an arrow ฯ : a โถ b
in ๐ณ
and an arrow f : R โถ S
in ๐ฎ
,
p.IsHomLift f ฯ
expresses the fact that ฯ
lifts f
through p
.
This is often drawn as:
a --ฯ--> b
- -
| |
v v
R --f--> S
- cond : CategoryTheory.IsHomLiftAux p f ฯ
Instances
subst_hom_lift p f ฯ
tries to substitute f
with p(ฯ)
by using p.IsHomLift f ฯ
Equations
- One or more equations did not get rendered due to their size.
Instances For
For any arrow ฯ : a โถ b
in ๐ณ
, ฯ
lifts the arrow p.map ฯ
in the base ๐ฎ
If ฯ : a โถ b
and ฯ : b โถ c
lift ๐ R
, then so does ฯ โซ ฯ
If ฯ : a โถ b
lifts f
and ฯ : b โถ c
lifts ๐ T
, then ฯ โซ ฯ
lifts f
If ฯ : a โถ b
lifts ๐ T
and ฯ : b โถ c
lifts f
, then ฯ โซ ฯ
lifts f
Given a morphism f : R โถ S
, and an isomorphism ฯ : a โ
b
lifting f
, isoOfIsoLift f ฯ
is
the isomorphism ฮฆ : R โ
S
with ฮฆ.hom = f
induced from ฯ
Equations
- One or more equations did not get rendered due to their size.
Instances For
If ฯ : a โถ b
lifts f : R โถ S
and ฯ
is an isomorphism, then so is f
.
Given ฯ : a โ
b
and f : R โ
S
, such that ฯ.hom
lifts f.hom
, then ฯ.inv
lifts
f.inv
.
Given ฯ : a โ
b
and f : R โถ S
, such that ฯ.hom
lifts f
, then ฯ.inv
lifts the
inverse of f
given by isoOfIsoLift
.
If ฯ : a โถ b
lifts f : R โถ S
and both are isomorphisms, then ฯโปยน
lifts fโปยน
.
If ฯ : a โ
b
is an isomorphism lifting ๐ S
for some S : ๐ฎ
, then ฯโปยน
also
lifts ๐ S
.