The Core function for monoidal and bicategory tactics #
This file provides the function BicategoryLike.main for proving equalities in monoidal categories
and bicategories. Using main, we will define the following tactics:
monoidalatMathlib/Tactic/CategoryTheory/Monoidal/Basic.leanbicategoryatMathlib/Tactic/CategoryTheory/Bicategory/Basic.lean
The main first normalizes the both sides using eval, then compares the corresponding components.
It closes the goal at non-structural parts with rfl and the goal at structural parts by
pureCoherence.
def
Mathlib.Tactic.BicategoryLike.normalForm
(ρ : Type)
[Context ρ]
[MonadMor₁ (CoherenceM ρ)]
[MonadMor₂Iso (CoherenceM ρ)]
[MonadNormalExpr (CoherenceM ρ)]
[MkEval (CoherenceM ρ)]
[MkMor₂ (CoherenceM ρ)]
[MonadMor₂ (CoherenceM ρ)]
(nm : Lean.Name)
(mvarId : Lean.MVarId)
:
Transform an equality between 2-morphisms into the equality between their normalizations.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Mathlib.Tactic.BicategoryLike.mk_eq_of_cons
{C : Type u}
[CategoryTheory.CategoryStruct.{v, u} C]
{f₁ f₂ f₃ f₄ : C}
(α α' : f₁ ⟶ f₂)
(η η' : f₂ ⟶ f₃)
(ηs ηs' : f₃ ⟶ f₄)
(e_α : α = α')
(e_η : η = η')
(e_ηs : ηs = ηs')
:
Split the goal α ≫ η ≫ ηs = α' ≫ η' ≫ ηs' into α = α', η = η', and ηs = ηs'.
Equations
- One or more equations did not get rendered due to their size.
Instances For
List.splitEvenOdd [0, 1, 2, 3, 4] = ([0, 2, 4], [1, 3])
Equations
Instances For
def
Mathlib.Tactic.BicategoryLike.main
(ρ : Type)
[Context ρ]
[MonadMor₁ (CoherenceM ρ)]
[MonadMor₂Iso (CoherenceM ρ)]
[MonadNormalExpr (CoherenceM ρ)]
[MkEval (CoherenceM ρ)]
[MkMor₂ (CoherenceM ρ)]
[MonadMor₂ (CoherenceM ρ)]
[MonadCoherehnceHom (CoherenceM ρ)]
[MonadNormalizeNaturality (CoherenceM ρ)]
[MkEqOfNaturality (CoherenceM ρ)]
(nm : Lean.Name)
(mvarId : Lean.MVarId)
:
The core function for monoidal and bicategory tactics.
Equations
- One or more equations did not get rendered due to their size.