Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- CMat_.ι.ofFin i = i
Instances For
Equations
- CMat_.ι.finEquiv = { toFun := CMat_.ι.toFin, invFun := CMat_.ι.ofFin, left_inv := ⋯, right_inv := ⋯ }
Instances For
@[implicit_reducible]
Equations
- CMat_.fintype = { elems := CMat_.fintype._aux_1, complete := ⋯ }
@[implicit_reducible]
def
CMat_.Hom.id
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
(M : CMat_ C)
:
M.Hom M
Mirrors the API of CategoryTheory.Mat_.Hom.id
Equations
- CMat_.Hom.id M i j = if h : i = j then CategoryTheory.eqToHom ⋯ else 0
Instances For
def
CMat_.Hom.comp
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
{M N K : CMat_ C}
(f : M.Hom N)
(g : N.Hom K)
:
M.Hom K
Mirrors the API of CategoryTheory.Mat_.Hom.comp
Equations
- f.comp g i k = ∑ j : N.ι, CategoryTheory.CategoryStruct.comp (f i j) (g j k)
Instances For
@[implicit_reducible]
instance
CMat_.instCategory
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
:
Equations
- CMat_.instCategory = { Hom := CMat_.Hom, id := CMat_.Hom.id, comp := fun {X Y Z : CMat_ C} (f : X.Hom Y) (g : Y.Hom Z) => f.comp g, id_comp := ⋯, comp_id := ⋯, assoc := ⋯ }
@[implicit_reducible]
instance
CMat_.instTexifyHomOfHom
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[(X Y : C) → Texify (X ⟶ Y)]
(M N : CMat_ C)
:
Equations
- One or more equations did not get rendered due to their size.
@[implicit_reducible]
instance
CMat_.instTexifyHom
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
[(X Y : C) → Texify (X ⟶ Y)]
(M N : CMat_ C)
:
Equations
- One or more equations did not get rendered due to their size.
def
CMat_.Hom.ofFin
{C : Type u_2}
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
(xs ys : List C)
(f : (i : Fin xs.length) → (j : Fin ys.length) → xs[i] ⟶ ys[j])
:
Constructor for explicit morphisms, e.g. in interactive use
Equations
- CMat_.Hom.ofFin xs ys f = f
Instances For
theorem
CMat_.hom_ext
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
{M N : CMat_ C}
(f g : M ⟶ N)
(H : ∀ (i : M.ι) (j : N.ι), f i j = g i j)
:
theorem
CMat_.hom_ext_iff
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
{M N : CMat_ C}
{f g : M ⟶ N}
:
theorem
CMat_.id_def
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
(M : CMat_ C)
:
CategoryTheory.CategoryStruct.id M = fun (i j : M.ι) => if h : i = j then CategoryTheory.eqToHom ⋯ else 0
theorem
CMat_.id_apply
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
(M : CMat_ C)
(i j : M.ι)
:
@[simp]
theorem
CMat_.id_apply_self
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
(M : CMat_ C)
(i : M.ι)
:
@[simp]
theorem
CMat_.id_apply_of_ne
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
(M : CMat_ C)
(i j : M.ι)
(h : i ≠ j)
:
theorem
CMat_.comp_def
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
{M N K : CMat_ C}
(f : M ⟶ N)
(g : N ⟶ K)
:
CategoryTheory.CategoryStruct.comp f g = fun (i : M.ι) (k : K.ι) =>
∑ j : N.ι, CategoryTheory.CategoryStruct.comp (f i j) (g j k)
@[simp]
theorem
CMat_.comp_apply
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
{M N K : CMat_ C}
(f : M ⟶ N)
(g : N ⟶ K)
(i : M.ι)
(k : K.ι)
:
CategoryTheory.CategoryStruct.comp f g i k = ∑ j : N.ι, CategoryTheory.CategoryStruct.comp (f i j) (g j k)
@[implicit_reducible]
instance
CMat_.instInhabitedHom
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
(M N : CMat_ C)
:
@[implicit_reducible]
instance
CMat_.instAddCommGroupHom
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
(M N : CMat_ C)
:
AddCommGroup (M ⟶ N)
Equations
- One or more equations did not get rendered due to their size.
@[simp]
theorem
CMat_.add_apply
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
{M N : CMat_ C}
(f g : M ⟶ N)
(i : M.ι)
(j : N.ι)
:
@[implicit_reducible]
instance
CMat_.instPreadditive
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
:
Equations
- CMat_.instPreadditive = { homGroup := inferInstance, add_comp := ⋯, comp_add := ⋯ }
Equations
Instances For
theorem
CMat_.X_symm_cbiprod_ι_equiv'_inl
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
(M N : CMat_ C)
(i : M.ι)
:
theorem
CMat_.X_symm_cbiprod_ι_equiv'_inr
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
(M N : CMat_ C)
(i : N.ι)
:
@[implicit_reducible]
instance
CMat_.instComputableBinaryBiproduct
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
:
Equations
- One or more equations did not get rendered due to their size.
def
CMat_.cbiprod_ι_equiv
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
{M N : CMat_ C}
:
Same as cbiprod_ι_equiv but expressed with proper notation and thus with types
Equations
Instances For
theorem
CMat_.hom_from_empty_eq_zero
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
(M : CMat_ C)
(h : { toList := [] } ⟶ M)
:
theorem
CMat_.hom_to_empty_eq_zero
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
(M : CMat_ C)
(h : M ⟶ { toList := [] })
:
@[implicit_reducible]
instance
CMat_.instHasExplicitZeroObject
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
:
Equations
- CMat_.instHasExplicitZeroObject = HasExplicitZeroObject.mkOfPreadditive (CMat_ C) { toList := [] } ⋯ ⋯
@[implicit_reducible]
instance
CMat_.instDecidablePredIsZero
{V : Type u_2}
[CategoryTheory.Category.{u_3, u_2} V]
[CategoryTheory.Preadditive V]
[DecidablePred CategoryTheory.Limits.IsZero]
:
Equations
- M.instDecidablePredIsZero = if h : (M.toList.all fun (x : V) => decide (CategoryTheory.Limits.IsZero x)) = true then isTrue ⋯ else isFalse ⋯
def
CMat_.toMat_
(C : Type u_2)
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
:
Equations
Instances For
instance
CMat_.instFaithfulMat_ToMat_
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
:
instance
CMat_.instFullMat_ToMat_
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
:
Given a Mat_ object M', construct the corresponding CMat_ object.
Equations
- CMat_.ofMat_ M' = { toList := List.ofFn (M'.X ∘ ⇑(Fintype.equivFin M'.ι).symm) }
Instances For
instance
CMat_.instEssSurjMat_ToMat_
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
:
instance
CMat_.instIsEquivalenceMat_ToMat_
{C : Type u_1}
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
:
(toMat_ C).IsEquivalence
@[implicit_reducible]
Equations
- CMat_.singleton_ι_unique C = { default := CMat_.singleton_ι_unique._aux_1 C, uniq := ⋯ }
def
CMat_.embedding
(C : Type u_1)
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
:
CategoryTheory.Functor C (CMat_ C)
Equations
Instances For
@[simp]
theorem
CMat_.ofList_singleton
(C : Type u_1)
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
{A : C}
:
@[simp]
theorem
CMat_.toList_embedding
(C : Type u_1)
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
{A : C}
:
theorem
CMat_.X_embedding
(C : Type u_1)
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
{A : C}
(i : ((embedding C).obj A).ι)
:
@[implicit_reducible]
instance
CMat_.instUniqueιObjEmbedding
(C : Type u_1)
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
{A : C}
:
Equations
def
CMat_.Embedding.fullyFaithful
(C : Type u_1)
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
CMat_.Embedding.instFaithfulEmbedding
(C : Type u_1)
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
:
instance
CMat_.Embedding.instFullEmbedding
(C : Type u_1)
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
:
instance
CMat_.Embedding.instAdditiveEmbedding
(C : Type u_1)
[CategoryTheory.Category.{u_2, u_1} C]
[CategoryTheory.Preadditive C]
:
def
CMat_.extend
{C : Type u_1}
[CategoryTheory.Category.{u_3, u_1} C]
[CategoryTheory.Preadditive C]
{D : Type u_2}
[CategoryTheory.Category.{u_4, u_2} D]
[CategoryTheory.Preadditive D]
[ComputableBinaryBiproduct D]
[HasExplicitZeroObject D]
(F : CategoryTheory.Functor C D)
[F.Additive]
:
CategoryTheory.Functor (CMat_ C) D
Equations
Instances For
def
CMat_.bind
{C : Type u_1}
[CategoryTheory.Category.{u_3, u_1} C]
[CategoryTheory.Preadditive C]
:
CategoryTheory.Functor (CMat_ (CMat_ C)) (CMat_ C)
Equations
Instances For
def
CMat_.mapCMat_
{C : Type u_1}
[CategoryTheory.Category.{u_3, u_1} C]
[CategoryTheory.Preadditive C]
{D : Type u_2}
[CategoryTheory.Category.{u_4, u_2} D]
[CategoryTheory.Preadditive D]
(F : CategoryTheory.Functor C D)
[F.Additive]
:
CategoryTheory.Functor (CMat_ C) (CMat_ D)
Equations
- CMat_.mapCMat_ F = CMat_.extend (F.comp (CMat_.embedding D))
Instances For
@[implicit_reducible]
instance
CMat_.instModuleDMatrix
{R : Type u_1}
[Semiring R]
(m : Type u_2)
(n : Type u_3)
(α : m → n → Type u_4)
[(i : m) → (j : n) → AddCommGroup (α i j)]
[(i : m) → (j : n) → Module R (α i j)]
:
Equations
- One or more equations did not get rendered due to their size.
@[implicit_reducible]
instance
CMat_.instLinear
{R : Type u_1}
[Semiring R]
{C : Type u_2}
[CategoryTheory.Category.{u_3, u_2} C]
[CategoryTheory.Preadditive C]
[CategoryTheory.Linear R C]
:
CategoryTheory.Linear R (CMat_ C)
Equations
- One or more equations did not get rendered due to their size.