The to_app
attribute #
Adding @[to_app]
to a lemma named F
of shape ∀ .., η = θ
, where η θ : f ⟶ g
are 2-morphisms
in some bicategory, create a new lemma named F_app
. This lemma is obtained by first specializing
the bicategory in which the equality is taking place to Cat
, then applying NatTrans.congr_app
to obtain a proof of ∀ ... (X : Cat), η.app X = θ.app X
, and finally simplifying the conclusion
using some basic lemmas in the bicategory Cat
:
Cat.whiskerLeft_app
, Cat.whiskerRight_app
, Cat.id_app
, Cat.comp_app
and Cat.eqToHom_app
So, for example, if the conclusion of F
is f ◁ η = θ
then the conclusion of F_app
will be
η.app (f.obj X) = θ.app X
.
This is useful for automatically generating lemmas that can be applied to expressions of 1-morphisms
in Cat
which contain components of 2-morphisms.
There is also a term elaborator to_app_of% t
for use within proofs.
Simplify an expression in Cat
using basic properties of NatTrans.app
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given a term of type ∀ ..., η = θ
, where η θ : f ⟶ g
are 2-morphisms in some bicategory
B
, which is bound by the ∀
binder, get the corresponding equation in the bicategory Cat
.
It is important here that the levels in the term are level metavariables, as otherwise these will
not be reassignable to the corresponding levels of Cat
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Recursive function which applies mkLambdaFVars
stepwise
(so that each step can have different binderinfos)
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given morphisms f g : C ⟶ D
in the bicategory Cat
, and an equation η = θ
between 2-morphisms
(possibly after a ∀
binder), produce the equation ∀ (X : C), f.app X = g.app X
, and simplify
it using basic lemmas about NatTrans.app
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Adding @[to_app]
to a lemma named F
of shape ∀ .., η = θ
, where η θ : f ⟶ g
are 2-morphisms
in some bicategory, create a new lemma named F_app
. This lemma is obtained by first specializing
the bicategory in which the equality is taking place to Cat
, then applying NatTrans.congr_app
to obtain a proof of ∀ ... (X : Cat), η.app X = θ.app X
, and finally simplifying the conclusion
using some basic lemmas in the bicategory Cat
:
Cat.whiskerLeft_app
, Cat.whiskerRight_app
, Cat.id_app
, Cat.comp_app
and Cat.eqToHom_app
So, for example, if the conclusion of F
is f ◁ η = θ
then the conclusion of F_app
will be
η.app (f.obj X) = θ.app X
.
This is useful for automatically generating lemmas that can be applied to expressions of 1-morphisms
in Cat
which contain components of 2-morphisms.
Note that if you want both the lemma and the new lemma to be simp
lemmas, you should tag the lemma
@[to_app (attr := simp)]
. The variant @[simp, to_app]
on a lemma F
will tag F
with
@[simp]
, but not F_app
(this is sometimes useful).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Given an equation t
of the form η = θ
between 2-morphisms f ⟶ g
with f g : C ⟶ D
in the
bicategory Cat
(possibly after a ∀
binder), to_app_of% t
produces the equation
∀ (X : C), η.app X = θ.app X
(where X
is an object in the domain of f
and g
), and simplifies
it suitably using basic lemmas about NatTrans.app
.
Equations
- One or more equations did not get rendered due to their size.