Loogle!
Result
Found 167 declarations mentioning Quiver.Path.
- Quiver.Path π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] (a : V) : V β Type (max u v) - Quiver.Path.nil π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a : V} : Quiver.Path a a - Quiver.Path.instInhabited π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a : V} : Inhabited (Quiver.Path a a) - Quiver.Path.length π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b : V} : Quiver.Path a b β β - Quiver.Path.toList π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b : V} : Quiver.Path a b β List V - Quiver.Hom.toPath π Mathlib.Combinatorics.Quiver.Path
{V : Type u_1} [Quiver V] {a b : V} (e : a βΆ b) : Quiver.Path a b - Quiver.Path.reachable π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b : V} (p : Quiver.Path a b) : Quiver.Reachable a b - Quiver.Reachable.elim π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b : V} {p : Prop} (h : Quiver.Reachable a b) (hp : β (a : Quiver.Path a b), p) : p - Quiver.Path.comp π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b c : V} : Quiver.Path a b β Quiver.Path b c β Quiver.Path a c - Quiver.Path.cons π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b c : V} : Quiver.Path a b β (b βΆ c) β Quiver.Path a c - Quiver.Path.instDecidableEq π Mathlib.Combinatorics.Quiver.Path
{V : Type u_1} [Quiver V] [DecidableEq V] [(v w : V) β DecidableEq (v βΆ w)] (v w : V) : DecidableEq (Quiver.Path v w) - Quiver.Path.isChain_toList_nonempty π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b : V} (p : Quiver.Path a b) : List.IsChain (fun x y => Nonempty (y βΆ x)) p.toList - Quiver.Path.toList_injective π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] [β (a b : V), Subsingleton (a βΆ b)] (a b : V) : Function.Injective Quiver.Path.toList - Quiver.Path.eq_of_length_zero π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b : V} (p : Quiver.Path a b) (hzero : p.length = 0) : a = b - Quiver.Path.comp_nil π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b : V} (p : Quiver.Path a b) : p.comp Quiver.Path.nil = p - Quiver.Path.nil_comp π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b : V} (p : Quiver.Path a b) : Quiver.Path.nil.comp p = p - Quiver.Path.comp_injective_right π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b c : V} (p : Quiver.Path a b) : Function.Injective p.comp - Quiver.Path.isChain_cons_toList_nonempty π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b : V} (p : Quiver.Path a b) : List.IsChain (fun x y => Nonempty (y βΆ x)) (b :: p.toList) - Quiver.Path.cons_ne_nil π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b : V} (p : Quiver.Path a b) (e : b βΆ a) : p.cons e β Quiver.Path.nil - Quiver.Path.eq_nil_of_length_zero π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a : V} (p : Quiver.Path a a) (hzero : p.length = 0) : p = Quiver.Path.nil - Quiver.Path.nil_ne_cons π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b : V} (p : Quiver.Path a b) (e : b βΆ a) : Quiver.Path.nil β p.cons e - Prefunctor.mapPath π Mathlib.Combinatorics.Quiver.Path
{V : Type uβ} [Quiver V] {W : Type uβ} [Quiver W] (F : V β₯€q W) {a b : V} : Quiver.Path a b β Quiver.Path (F.obj a) (F.obj b) - Quiver.Path.comp_injective_left π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b c : V} (q : Quiver.Path b c) : Function.Injective fun p => p.comp q - Quiver.Path.comp_toPath_eq_cons π Mathlib.Combinatorics.Quiver.Path
{V : Type u_1} [Quiver V] {a b c : V} (p : Quiver.Path a b) (e : b βΆ c) : p.comp e.toPath = p.cons e - Prefunctor.mapPath_id π Mathlib.Combinatorics.Quiver.Path
{V : Type uβ} [Quiver V] {a b : V} (p : Quiver.Path a b) : (πq V).mapPath p = p - Quiver.Path.toList_inj π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b : V} [β (a b : V), Subsingleton (a βΆ b)] {p q : Quiver.Path a b} : p.toList = q.toList β p = q - Quiver.Path.length_cons π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] (a b c : V) (p : Quiver.Path a b) (e : b βΆ c) : (p.cons e).length = p.length + 1 - Quiver.Path.length_comp π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b : V} (p : Quiver.Path a b) {c : V} (q : Quiver.Path b c) : (p.comp q).length = p.length + q.length - Prefunctor.mapPath_nil π Mathlib.Combinatorics.Quiver.Path
{V : Type uβ} [Quiver V] {W : Type uβ} [Quiver W] (F : V β₯€q W) (a : V) : F.mapPath Quiver.Path.nil = Quiver.Path.nil - Quiver.Path.comp_inj_left π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b c : V} {pβ pβ : Quiver.Path a b} {q : Quiver.Path b c} : pβ.comp q = pβ.comp q β pβ = pβ - Quiver.Path.comp_inj_right π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b c : V} {p : Quiver.Path a b} {qβ qβ : Quiver.Path b c} : p.comp qβ = p.comp qβ β qβ = qβ - Quiver.Path.obj_eq_of_cons_eq_cons π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b c d : V} {p : Quiver.Path a b} {p' : Quiver.Path a c} {e : b βΆ d} {e' : c βΆ d} (h : p.cons e = p'.cons e') : b = c - Quiver.Path.toList_comp π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b : V} (p : Quiver.Path a b) {c : V} (q : Quiver.Path b c) : (p.comp q).toList = q.toList ++ p.toList - Quiver.Path.comp_assoc π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b c d : V} (p : Quiver.Path a b) (q : Quiver.Path b c) (r : Quiver.Path c d) : (p.comp q).comp r = p.comp (q.comp r) - Quiver.Path.comp_cons π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b c d : V} (p : Quiver.Path a b) (q : Quiver.Path b c) (e : c βΆ d) : p.comp (q.cons e) = (p.comp q).cons e - Quiver.Path.heq_of_cons_eq_cons π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b c d : V} {p : Quiver.Path a b} {p' : Quiver.Path a c} {e : b βΆ d} {e' : c βΆ d} (h : p.cons e = p'.cons e') : p β p' - Quiver.Path.hom_heq_of_cons_eq_cons π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b c d : V} {p : Quiver.Path a b} {p' : Quiver.Path a c} {e : b βΆ d} {e' : c βΆ d} (h : p.cons e = p'.cons e') : e β e' - Quiver.Path.length_ne_zero_iff_eq_cons π Mathlib.Combinatorics.Quiver.Path
{V : Type u_1} [Quiver V] {a b : V} (p : Quiver.Path a b) : p.length β 0 β β c p' e, p = p'.cons e - Prefunctor.mapPath_toPath π Mathlib.Combinatorics.Quiver.Path
{V : Type uβ} [Quiver V] {W : Type uβ} [Quiver W] (F : V β₯€q W) {a b : V} (f : a βΆ b) : F.mapPath f.toPath = (F.map f).toPath - Quiver.Path.comp_inj π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b c : V} {pβ pβ : Quiver.Path a b} {qβ qβ : Quiver.Path b c} (hq : qβ.length = qβ.length) : pβ.comp qβ = pβ.comp qβ β pβ = pβ β§ qβ = qβ - Quiver.Path.comp_inj' π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b c : V} {pβ pβ : Quiver.Path a b} {qβ qβ : Quiver.Path b c} (h : pβ.length = pβ.length) : pβ.comp qβ = pβ.comp qβ β pβ = pβ β§ qβ = qβ - Quiver.Path.eq_toPath_comp_of_length_eq_succ π Mathlib.Combinatorics.Quiver.Path
{V : Type u} [Quiver V] {a b : V} (p : Quiver.Path a b) {n : β} (hp : p.length = n + 1) : β c f q, β (_ : q.length = n), p = f.toPath.comp q - Quiver.Path.length_ne_zero_iff_eq_comp π Mathlib.Combinatorics.Quiver.Path
{V : Type u_1} [Quiver V] {a b : V} (p : Quiver.Path a b) : p.length β 0 β β c e p', p = e.toPath.comp p' β§ p.length = p'.length + 1 - Prefunctor.mapPath_comp π Mathlib.Combinatorics.Quiver.Path
{V : Type uβ} [Quiver V] {W : Type uβ} [Quiver W] (F : V β₯€q W) {a b : V} (p : Quiver.Path a b) {c : V} (q : Quiver.Path b c) : F.mapPath (p.comp q) = (F.mapPath p).comp (F.mapPath q) - Prefunctor.mapPath_cons π Mathlib.Combinatorics.Quiver.Path
{V : Type uβ} [Quiver V] {W : Type uβ} [Quiver W] (F : V β₯€q W) {a b c : V} (p : Quiver.Path a b) (e : b βΆ c) : F.mapPath (p.cons e) = (F.mapPath p).cons (F.map e) - Prefunctor.mapPath_comp_apply π Mathlib.Combinatorics.Quiver.Path
{V : Type uβ} [Quiver V] {W : Type uβ} [Quiver W] (F : V β₯€q W) {U : Type uβ} [Quiver U] (G : W β₯€q U) {a b : V} (p : Quiver.Path a b) : (F βq G).mapPath p = G.mapPath (F.mapPath p) - Quiver.Path.reverse π Mathlib.Combinatorics.Quiver.Symmetric
{V : Type u_2} [Quiver V] [Quiver.HasReverse V] {a b : V} : Quiver.Path a b β Quiver.Path b a - Quiver.Path.reverse_reverse π Mathlib.Combinatorics.Quiver.Symmetric
{V : Type u_2} [Quiver V] [h : Quiver.HasInvolutiveReverse V] {a b : V} (p : Quiver.Path a b) : p.reverse.reverse = p - Quiver.Path.reverse_toPath π Mathlib.Combinatorics.Quiver.Symmetric
{V : Type u_2} [Quiver V] [Quiver.HasReverse V] {a b : V} (f : a βΆ b) : f.toPath.reverse = (Quiver.reverse f).toPath - Quiver.Path.reverse_comp π Mathlib.Combinatorics.Quiver.Symmetric
{V : Type u_2} [Quiver V] [Quiver.HasReverse V] {a b c : V} (p : Quiver.Path a b) (q : Quiver.Path b c) : (p.comp q).reverse = q.reverse.comp p.reverse - CategoryTheory.composePath π Mathlib.CategoryTheory.PathCategory.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y : C} : Quiver.Path X Y β (X βΆ Y) - CategoryTheory.Paths.of_map π Mathlib.CategoryTheory.PathCategory.Basic
(V : Type uβ) [Quiver V] {Xβ Yβ : V} (f : Xβ βΆ Yβ) : (CategoryTheory.Paths.of V).map f = f.toPath - CategoryTheory.composePath_cons π Mathlib.CategoryTheory.PathCategory.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y Z : C} (p : Quiver.Path X Y) (e : Y βΆ Z) : CategoryTheory.composePath (p.cons e) = CategoryTheory.CategoryStruct.comp (CategoryTheory.composePath p) e - CategoryTheory.composePath_comp π Mathlib.CategoryTheory.PathCategory.Basic
{C : Type uβ} [CategoryTheory.Category.{vβ, uβ} C] {X Y Z : C} (f : Quiver.Path X Y) (g : Quiver.Path Y Z) : CategoryTheory.composePath (f.comp g) = CategoryTheory.CategoryStruct.comp (CategoryTheory.composePath f) (CategoryTheory.composePath g) - CategoryTheory.Prefunctor.mapPath_comp' π Mathlib.CategoryTheory.PathCategory.Basic
(V : Type uβ) [Quiver V] (W : Type uβ) [Quiver W] (F : V β₯€q W) {X Y Z : CategoryTheory.Paths V} (f : X βΆ Y) (g : Y βΆ Z) : F.mapPath (CategoryTheory.CategoryStruct.comp f g) = (F.mapPath f).comp (F.mapPath g) - CategoryTheory.Paths.lift_cons π Mathlib.CategoryTheory.PathCategory.Basic
{V : Type uβ} [Quiver V] {C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] (Ο : V β₯€q C) {X Y Z : V} (p : Quiver.Path X Y) (f : Y βΆ Z) : (CategoryTheory.Paths.lift Ο).map (p.cons f) = CategoryTheory.CategoryStruct.comp ((CategoryTheory.Paths.lift Ο).map p) (Ο.map f) - CategoryTheory.MorphismProperty.composePath_mem π Mathlib.CategoryTheory.PathCategory.MorphismProperty
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] (W : CategoryTheory.MorphismProperty C) [W.IsMultiplicative] {X Y : C} {p : Quiver.Path X Y} (hp : W.paths p) : W (CategoryTheory.composePath p) - CategoryTheory.MorphismProperty.composePath_mem_of_id_mem π Mathlib.CategoryTheory.PathCategory.MorphismProperty
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] (W : CategoryTheory.MorphismProperty C) [W.IsStableUnderComposition] {X Y : C} {p : Quiver.Path X Y} (hp : W.paths p) (h : W (CategoryTheory.CategoryStruct.id X)) : W (CategoryTheory.composePath p) - CategoryTheory.MorphismProperty.composePath_mem_of_length_pos π Mathlib.CategoryTheory.PathCategory.MorphismProperty
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] (W : CategoryTheory.MorphismProperty C) [W.IsStableUnderComposition] {X Y : C} {p : Quiver.Path X Y} (hp : W.paths p) (h : 0 < p.length) : W (CategoryTheory.composePath p) - CategoryTheory.MorphismProperty.cons_mem_paths π Mathlib.CategoryTheory.PathCategory.MorphismProperty
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W : CategoryTheory.MorphismProperty C} {X Y Z : C} {p : Quiver.Path X Y} {f : Y βΆ Z} (hp : W.paths p) (hf : W f) : W.paths (p.cons f) - CategoryTheory.MorphismProperty.cons_mem_paths_iff π Mathlib.CategoryTheory.PathCategory.MorphismProperty
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W : CategoryTheory.MorphismProperty C} {X Y Z : C} {p : Quiver.Path X Y} {f : Y βΆ Z} : W.paths (p.cons f) β W.paths p β§ W f - CategoryTheory.MorphismProperty.comp_mem_paths_iff π Mathlib.CategoryTheory.PathCategory.MorphismProperty
{C : Type u_1} [CategoryTheory.Category.{v_1, u_1} C] {W : CategoryTheory.MorphismProperty C} {X Y Z : C} {p : Quiver.Path X Y} {q : Quiver.Path Y Z} : W.paths (p.comp q) β W.paths p β§ W.paths q - CategoryTheory.Cat.freeMap_map π Mathlib.CategoryTheory.Category.Quiv
{V : Type u_1} {W : Type u_2} [Quiver V] [Quiver W] (F : V β₯€q W) {Xβ Yβ : CategoryTheory.Paths V} (aβ : Quiver.Path Xβ Yβ) : (CategoryTheory.Cat.freeMap F).map aβ = F.mapPath aβ - Quiver.Path.cast π Mathlib.Combinatorics.Quiver.Cast
{U : Type u_1} [Quiver U] {u v u' v' : U} (hu : u = u') (hv : v = v') (p : Quiver.Path u v) : Quiver.Path u' v' - Quiver.Path.cast_rfl_rfl π Mathlib.Combinatorics.Quiver.Cast
{U : Type u_1} [Quiver U] {u v : U} (p : Quiver.Path u v) : Quiver.Path.cast β― β― p = p - Quiver.Path.cast_nil π Mathlib.Combinatorics.Quiver.Cast
{U : Type u_1} [Quiver U] {u u' : U} (hu : u = u') : Quiver.Path.cast hu hu Quiver.Path.nil = Quiver.Path.nil - Quiver.Path.cast_heq π Mathlib.Combinatorics.Quiver.Cast
{U : Type u_1} [Quiver U] {u v u' v' : U} (hu : u = u') (hv : v = v') (p : Quiver.Path u v) : Quiver.Path.cast hu hv p β p - Quiver.eq_nil_of_length_zero π Mathlib.Combinatorics.Quiver.Cast
{U : Type u_1} [Quiver U] {u v : U} (p : Quiver.Path u v) (hzero : p.length = 0) : Quiver.Path.cast β― β― p = Quiver.Path.nil - Quiver.Path.cast_eq_iff_heq π Mathlib.Combinatorics.Quiver.Cast
{U : Type u_1} [Quiver U] {u v u' v' : U} (hu : u = u') (hv : v = v') (p : Quiver.Path u v) (p' : Quiver.Path u' v') : Quiver.Path.cast hu hv p = p' β p β p' - Quiver.Path.eq_cast_iff_heq π Mathlib.Combinatorics.Quiver.Cast
{U : Type u_1} [Quiver U] {u v u' v' : U} (hu : u = u') (hv : v = v') (p : Quiver.Path u v) (p' : Quiver.Path u' v') : p' = Quiver.Path.cast hu hv p β p' β p - Quiver.Path.cast_eq_cast π Mathlib.Combinatorics.Quiver.Cast
{U : Type u_1} [Quiver U] {u v u' v' : U} (hu : u = u') (hv : v = v') (p : Quiver.Path u v) : Quiver.Path.cast hu hv p = cast β― p - Quiver.Path.cast_cast π Mathlib.Combinatorics.Quiver.Cast
{U : Type u_1} [Quiver U] {u v u' v' u'' v'' : U} (p : Quiver.Path u v) (hu : u = u') (hv : v = v') (hu' : u' = u'') (hv' : v' = v'') : Quiver.Path.cast hu' hv' (Quiver.Path.cast hu hv p) = Quiver.Path.cast β― β― p - Quiver.cast_eq_of_cons_eq_cons π Mathlib.Combinatorics.Quiver.Cast
{U : Type u_1} [Quiver U] {u v v' w : U} {p : Quiver.Path u v} {p' : Quiver.Path u v'} {e : v βΆ w} {e' : v' βΆ w} (h : p.cons e = p'.cons e') : Quiver.Path.cast β― β― p = p' - Quiver.hom_cast_eq_of_cons_eq_cons π Mathlib.Combinatorics.Quiver.Cast
{U : Type u_1} [Quiver U] {u v v' w : U} {p : Quiver.Path u v} {p' : Quiver.Path u v'} {e : v βΆ w} {e' : v' βΆ w} (h : p.cons e = p'.cons e') : Quiver.Hom.cast β― β― e = e' - Quiver.Path.cast_cons π Mathlib.Combinatorics.Quiver.Cast
{U : Type u_1} [Quiver U] {u v w u' w' : U} (p : Quiver.Path u v) (e : v βΆ w) (hu : u = u') (hw : w = w') : Quiver.Path.cast hu hw (p.cons e) = (Quiver.Path.cast hu β― p).cons (Quiver.Hom.cast β― hw e) - Quiver.SingleObj.listToPath π Mathlib.Combinatorics.Quiver.SingleObj
{Ξ± : Type u_1} : List Ξ± β Quiver.Path (Quiver.SingleObj.star Ξ±) (Quiver.SingleObj.star Ξ±) - Quiver.SingleObj.pathEquivList π Mathlib.Combinatorics.Quiver.SingleObj
{Ξ± : Type u_1} : Quiver.Path (Quiver.SingleObj.star Ξ±) (Quiver.SingleObj.star Ξ±) β List Ξ± - Quiver.SingleObj.pathToList π Mathlib.Combinatorics.Quiver.SingleObj
{Ξ± : Type u_1} {x : Quiver.SingleObj Ξ±} : Quiver.Path (Quiver.SingleObj.star Ξ±) x β List Ξ± - Quiver.SingleObj.listToPath_pathToList π Mathlib.Combinatorics.Quiver.SingleObj
{Ξ± : Type u_1} {x : Quiver.SingleObj Ξ±} (p : Quiver.Path (Quiver.SingleObj.star Ξ±) x) : Quiver.SingleObj.listToPath (Quiver.SingleObj.pathToList p) = Quiver.Path.cast β― β― p - Quiver.SingleObj.pathEquivList_nil π Mathlib.Combinatorics.Quiver.SingleObj
{Ξ± : Type u_1} : Quiver.SingleObj.pathEquivList Quiver.Path.nil = [] - Quiver.SingleObj.pathEquivList_symm_nil π Mathlib.Combinatorics.Quiver.SingleObj
{Ξ± : Type u_1} : Quiver.SingleObj.pathEquivList.symm [] = Quiver.Path.nil - Quiver.SingleObj.pathEquivList_cons π Mathlib.Combinatorics.Quiver.SingleObj
{Ξ± : Type u_1} (p : Quiver.Path (Quiver.SingleObj.star Ξ±) (Quiver.SingleObj.star Ξ±)) (a : Quiver.SingleObj.star Ξ± βΆ Quiver.SingleObj.star Ξ±) : Quiver.SingleObj.pathEquivList (p.cons a) = a :: Quiver.SingleObj.pathToList p - Quiver.SingleObj.pathEquivList_symm_cons π Mathlib.Combinatorics.Quiver.SingleObj
{Ξ± : Type u_1} (l : List Ξ±) (a : Ξ±) : Quiver.SingleObj.pathEquivList.symm (a :: l) = (Quiver.SingleObj.pathEquivList.symm l).cons a - CategoryTheory.FreeBicategory.inclusionPathAux π Mathlib.CategoryTheory.Bicategory.Coherence
{B : Type u} [Quiver B] {a b : B} : Quiver.Path a b β CategoryTheory.FreeBicategory.Hom a b - CategoryTheory.FreeBicategory.normalizeAux π Mathlib.CategoryTheory.Bicategory.Coherence
{B : Type u} [Quiver B] {a b c : B} : Quiver.Path a b β CategoryTheory.FreeBicategory.Hom b c β Quiver.Path a c - CategoryTheory.FreeBicategory.inclusionPath π Mathlib.CategoryTheory.Bicategory.Coherence
{B : Type u} [Quiver B] (a b : B) : CategoryTheory.Functor (CategoryTheory.Discrete (Quiver.Path a b)) (CategoryTheory.FreeBicategory.Hom a b) - CategoryTheory.FreeBicategory.normalizeEquiv π Mathlib.CategoryTheory.Bicategory.Coherence
{B : Type u} [Quiver B] (a b : B) : CategoryTheory.FreeBicategory.Hom a b β CategoryTheory.Discrete (Quiver.Path a b) - CategoryTheory.FreeBicategory.normalizeAux_id π Mathlib.CategoryTheory.Bicategory.Coherence
{B : Type u} [Quiver B] {a : B} {b : CategoryTheory.FreeBicategory B} (p : Quiver.Path a b) : CategoryTheory.FreeBicategory.normalizeAux p (CategoryTheory.CategoryStruct.id b) = p - CategoryTheory.FreeBicategory.normalizeAux_congr π Mathlib.CategoryTheory.Bicategory.Coherence
{B : Type u} [Quiver B] {a b c : B} (p : Quiver.Path a b) {f g : CategoryTheory.FreeBicategory.Hom b c} (Ξ· : f βΆ g) : CategoryTheory.FreeBicategory.normalizeAux p f = CategoryTheory.FreeBicategory.normalizeAux p g - CategoryTheory.FreeBicategory.normalizeAux_nil_comp π Mathlib.CategoryTheory.Bicategory.Coherence
{B : Type u} [Quiver B] {a b c : B} (f : CategoryTheory.FreeBicategory.Hom a b) (g : CategoryTheory.FreeBicategory.Hom b c) : CategoryTheory.FreeBicategory.normalizeAux Quiver.Path.nil (f.comp g) = (CategoryTheory.FreeBicategory.normalizeAux Quiver.Path.nil f).comp (CategoryTheory.FreeBicategory.normalizeAux Quiver.Path.nil g) - CategoryTheory.FreeBicategory.normalizeAux_comp π Mathlib.CategoryTheory.Bicategory.Coherence
{B : Type u} [Quiver B] {a : B} {b c d : CategoryTheory.FreeBicategory B} (p : Quiver.Path a b) (f : b βΆ c) (g : c βΆ d) : CategoryTheory.FreeBicategory.normalizeAux p (CategoryTheory.CategoryStruct.comp f g) = CategoryTheory.FreeBicategory.normalizeAux (CategoryTheory.FreeBicategory.normalizeAux p f) g - CategoryTheory.FreeBicategory.normalizeIso π Mathlib.CategoryTheory.Bicategory.Coherence
{B : Type u} [Quiver B] {a b c : B} (p : Quiver.Path a b) (f : CategoryTheory.FreeBicategory.Hom b c) : CategoryTheory.CategoryStruct.comp ((CategoryTheory.FreeBicategory.preinclusion B).map { as := p }) f β (CategoryTheory.FreeBicategory.preinclusion B).map { as := CategoryTheory.FreeBicategory.normalizeAux p f } - CategoryTheory.FreeBicategory.normalizeIso_id π Mathlib.CategoryTheory.Bicategory.Coherence
{B : Type u} [Quiver B] {a : B} {b : CategoryTheory.FreeBicategory B} (p : Quiver.Path a b) : CategoryTheory.FreeBicategory.normalizeIso p (CategoryTheory.CategoryStruct.id b) = CategoryTheory.Bicategory.rightUnitor ((CategoryTheory.FreeBicategory.preinclusion B).map { as := p }) - CategoryTheory.FreeBicategory.inclusionMapCompAux π Mathlib.CategoryTheory.Bicategory.Coherence
{B : Type u} [Quiver B] {a b c : B} (f : Quiver.Path a b) (g : Quiver.Path b c) : (CategoryTheory.FreeBicategory.preinclusion B).map (CategoryTheory.CategoryStruct.comp { as := f } { as := g }) β CategoryTheory.CategoryStruct.comp ((CategoryTheory.FreeBicategory.preinclusion B).map { as := f }) ((CategoryTheory.FreeBicategory.preinclusion B).map { as := g }) - CategoryTheory.FreeBicategory.preinclusion_mapβ π Mathlib.CategoryTheory.Bicategory.Coherence
{B : Type u} [Quiver B] {a b : B} (f g : CategoryTheory.Discrete (Quiver.Path a b)) (Ξ· : f βΆ g) : (CategoryTheory.FreeBicategory.preinclusion B).mapβ Ξ· = CategoryTheory.eqToHom β― - CategoryTheory.FreeBicategory.normalize_naturality π Mathlib.CategoryTheory.Bicategory.Coherence
{B : Type u} [Quiver B] {a b c : B} (p : Quiver.Path a b) {f g : CategoryTheory.FreeBicategory.Hom b c} (Ξ· : f βΆ g) : CategoryTheory.CategoryStruct.comp (CategoryTheory.Bicategory.whiskerLeft ((CategoryTheory.FreeBicategory.preinclusion B).map { as := p }) Ξ·) (CategoryTheory.FreeBicategory.normalizeIso p g).hom = CategoryTheory.CategoryStruct.comp (CategoryTheory.FreeBicategory.normalizeIso p f).hom ((CategoryTheory.FreeBicategory.preinclusion B).mapβ (CategoryTheory.eqToHom β―)) - CategoryTheory.FreeBicategory.normalizeIso_comp π Mathlib.CategoryTheory.Bicategory.Coherence
{B : Type u} [Quiver B] {a : B} {b c d : CategoryTheory.FreeBicategory B} (p : Quiver.Path a b) (f : b βΆ c) (g : c βΆ d) : CategoryTheory.FreeBicategory.normalizeIso p (CategoryTheory.CategoryStruct.comp f g) = (CategoryTheory.Bicategory.associator ((CategoryTheory.FreeBicategory.preinclusion B).map { as := p }) f g).symm βͺβ« CategoryTheory.Bicategory.whiskerRightIso (CategoryTheory.FreeBicategory.normalizeIso p f) g βͺβ« CategoryTheory.FreeBicategory.normalizeIso (CategoryTheory.FreeBicategory.normalizeAux p f) g - CategoryTheory.Groupoid.vertexGroupIsomOfPath π Mathlib.CategoryTheory.Groupoid.VertexGroup
{C : Type u} [CategoryTheory.Groupoid C] {c d : C} (p : Quiver.Path c d) : (c βΆ c) β* (d βΆ d) - Quiver.shortestPath π Mathlib.Combinatorics.Quiver.Arborescence
{V : Type u} [Quiver V] (r : V) [Quiver.RootedConnected r] (b : V) : Quiver.Path r b - Quiver.Arborescence.mk π Mathlib.Combinatorics.Quiver.Arborescence
{V : Type u} [Quiver V] (root : V) (uniquePath : (b : V) β Unique (Quiver.Path root b)) : Quiver.Arborescence V - Quiver.RootedConnected.mk π Mathlib.Combinatorics.Quiver.Arborescence
{V : Type u} [Quiver V] {r : V} (nonempty_path : β (b : V), Nonempty (Quiver.Path r b)) : Quiver.RootedConnected r - Quiver.RootedConnected.nonempty_path π Mathlib.Combinatorics.Quiver.Arborescence
{V : Type u} {instβ : Quiver V} {r : V} [self : Quiver.RootedConnected r] (b : V) : Nonempty (Quiver.Path r b) - Quiver.instUniquePathRoot π Mathlib.Combinatorics.Quiver.Arborescence
{V : Type u} [Quiver V] [Quiver.Arborescence V] (b : V) : Unique (Quiver.Path (Quiver.root V) b) - Quiver.Arborescence.uniquePath π Mathlib.Combinatorics.Quiver.Arborescence
{V : Type u} {instβ : Quiver V} [self : Quiver.Arborescence V] (b : V) : Unique (Quiver.Path Quiver.Arborescence.root b) - Quiver.shortest_path_spec π Mathlib.Combinatorics.Quiver.Arborescence
{V : Type u} [Quiver V] (r : V) [Quiver.RootedConnected r] {a : V} (p : Quiver.Path r a) : (Quiver.shortestPath r a).length β€ p.length - Quiver.IsStronglyConnected.nonempty_path π Mathlib.Combinatorics.Quiver.ConnectedComponent
(V : Type u_2) [Quiver V] (h : Quiver.IsStronglyConnected V) (i j : V) : Nonempty (Quiver.Path i j) - Quiver.isStronglyConnected_iff π Mathlib.Combinatorics.Quiver.ConnectedComponent
(V : Type u_2) [Quiver V] : Quiver.IsStronglyConnected V β β (i j : V), Nonempty (Quiver.Path i j) - Quiver.WeaklyConnectedComponent.eq π Mathlib.Combinatorics.Quiver.ConnectedComponent
{V : Type u_1} [Quiver V] (a b : V) : Quiver.WeaklyConnectedComponent.mk a = Quiver.WeaklyConnectedComponent.mk b β Nonempty (Quiver.Path a b) - Quiver.stronglyConnectedComponent_eq_of_path π Mathlib.Combinatorics.Quiver.ConnectedComponent
{V : Type u_2} [Quiver V] {a b : V} (hab : Nonempty (Quiver.Path a b)) (hba : Nonempty (Quiver.Path b a)) : Quiver.StronglyConnectedComponent.mk a = Quiver.StronglyConnectedComponent.mk b - Quiver.exists_path_of_stronglyConnectedComponent_eq π Mathlib.Combinatorics.Quiver.ConnectedComponent
{V : Type u_2} [Quiver V] {a b : V} (h : Quiver.StronglyConnectedComponent.mk a = Quiver.StronglyConnectedComponent.mk b) : Nonempty (Quiver.Path a b) β§ Nonempty (Quiver.Path b a) - Quiver.StronglyConnectedComponent.eq π Mathlib.Combinatorics.Quiver.ConnectedComponent
{V : Type u_2} [Quiver V] (a b : V) : Quiver.StronglyConnectedComponent.mk a = Quiver.StronglyConnectedComponent.mk b β Nonempty (Quiver.Path a b) β§ Nonempty (Quiver.Path b a) - Quiver.StronglyConnectedComponent.mk_eq_mk π Mathlib.Combinatorics.Quiver.ConnectedComponent
{V : Type u_2} [Quiver V] {a b : V} : Quiver.StronglyConnectedComponent.mk a = Quiver.StronglyConnectedComponent.mk b β Nonempty (Quiver.Path a b) β§ Nonempty (Quiver.Path b a) - Quiver.IsSStronglyConnected.exists_pos_cycle π Mathlib.Combinatorics.Quiver.ConnectedComponent
(V : Type u_2) [Quiver V] (h : Quiver.IsSStronglyConnected V) (i : V) : β p, 0 < p.length - Quiver.StronglyConnectedComponent.IsSStronglyConnected.pos_cycle π Mathlib.Combinatorics.Quiver.ConnectedComponent
{V : Type u_2} [Quiver V] (h : Quiver.IsSStronglyConnected V) (v : V) : β p, 0 < p.length - Quiver.IsSStronglyConnected.exists_pos_path π Mathlib.Combinatorics.Quiver.ConnectedComponent
(V : Type u_2) [Quiver V] (h : Quiver.IsSStronglyConnected V) (i j : V) : β p, 0 < p.length - Quiver.isSStronglyConnected_iff π Mathlib.Combinatorics.Quiver.ConnectedComponent
(V : Type u_2) [Quiver V] : Quiver.IsSStronglyConnected V β β (i j : V), β p, 0 < p.length - Quiver.stronglyConnectedComponent_singleton_iff π Mathlib.Combinatorics.Quiver.ConnectedComponent
{V : Type u_2} [Quiver V] (v : V) : (β (w : V), Quiver.StronglyConnectedComponent.mk w = Quiver.StronglyConnectedComponent.mk v β w = v) β β (w : V), w β v β Β¬(Nonempty (Quiver.Path v w) β§ Nonempty (Quiver.Path w v)) - Quiver.PathStar.mk π Mathlib.Combinatorics.Quiver.Covering
{U : Type u_1} [Quiver U] {u v : U} (p : Quiver.Path u v) : Quiver.PathStar u - Prefunctor.pathStar_apply π Mathlib.Combinatorics.Quiver.Covering
{U : Type u_1} [Quiver U] {V : Type u_2} [Quiver V] (Ο : U β₯€q V) {u v : U} (p : Quiver.Path u v) : Ο.pathStar u (Quiver.PathStar.mk p) = Quiver.PathStar.mk (Ο.mapPath p) - Quiver.Path.exists_mem_notMem_hom_path_path_of_notMem_mem π Mathlib.Combinatorics.Quiver.Path.Decomposition
{V : Type u_1} [Quiver V] {a b : V} (p : Quiver.Path a b) (S : Set V) (ha_in_S : a β S) (hb_not_in_S : b β S) : β u β S, β v β S, β e pβ pβ, p = pβ.comp (e.toPath.comp pβ) - Quiver.Path.exists_notMem_mem_hom_path_path_of_notMem_mem π Mathlib.Combinatorics.Quiver.Path.Decomposition
{V : Type u_1} [Quiver V] {a b : V} (p : Quiver.Path a b) (S : Set V) (ha_not_in_S : a β S) (hb_in_S : b β S) : β u β S, β v β S, β e pβ pβ, p = pβ.comp (e.toPath.comp pβ) - Quiver.Path.end π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b : V} : Quiver.Path a b β V - Quiver.Path.vertices π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b : V} : Quiver.Path a b β List V - Quiver.Path.vertices_ne_nil π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b : V} (p : Quiver.Path a b) : p.vertices β [] - Quiver.Path.end_mem_vertices π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b : V} (p : Quiver.Path a b) : b β p.vertices - Quiver.Path.start_mem_vertices π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b : V} (p : Quiver.Path a b) : a β p.vertices - Quiver.Path.vertices_head? π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b : V} (p : Quiver.Path a b) : p.vertices.head? = some a - Quiver.Path.length_vertices_pos π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b : V} (p : Quiver.Path a b) : 0 < p.vertices.length - Quiver.Path.end_cons π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b c : V} (p : Quiver.Path a b) (e : b βΆ c) : (p.cons e).end = c - Quiver.Path.length_eq_zero_iff π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a : V} (p : Quiver.Path a a) : p.length = 0 β p = Quiver.Path.nil - Quiver.Path.vertices_length π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_2} [Quiver V] {a b : V} (p : Quiver.Path a b) : p.vertices.length = p.length + 1 - Quiver.Path.vertices_getLast π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b : V} (p : Quiver.Path a b) (h : p.vertices β [] := β―) : p.vertices.getLast h = b - Quiver.Path.vertices_head_eq π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b : V} (p : Quiver.Path a b) (h : p.vertices β [] := β―) : p.vertices.head h = a - Quiver.Path.vertices_cons π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b c : V} (p : Quiver.Path a b) (e : b βΆ c) : (p.cons e).vertices = p.vertices.concat c - Quiver.Path.dropLast_append_end_eq π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b : V} (p : Quiver.Path a b) : p.vertices.dropLast ++ [b] = p.vertices - Quiver.Path.nil_of_comp_eq_nil_left π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b : V} {p : Quiver.Path a b} {q : Quiver.Path b a} (h : p.comp q = Quiver.Path.nil) : p.length = 0 - Quiver.Path.nil_of_comp_eq_nil_right π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b : V} {p : Quiver.Path a b} {q : Quiver.Path b a} (h : p.comp q = Quiver.Path.nil) : q.length = 0 - Quiver.Path.getElem_vertices_zero π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b : V} (p : Quiver.Path a b) : p.vertices[0] = a - Quiver.Path.mem_vertices_cons π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b c : V} (p : Quiver.Path a b) (e : b βΆ c) {x : V} : x β (p.cons e).vertices β x β p.vertices β¨ x = c - Quiver.Path.vertices_comp π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b c : V} (p : Quiver.Path a b) (q : Quiver.Path b c) : (p.comp q).vertices = p.vertices.dropLast ++ q.vertices - Quiver.Path.comp_eq_nil_iff π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b : V} {p : Quiver.Path a b} {q : Quiver.Path b a} : p.comp q = Quiver.Path.nil β p.length = 0 β§ q.length = 0 - Quiver.Path.exists_eq_comp_of_mem_vertices π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b : V} (p : Quiver.Path a b) {v : V} (hv : v β p.vertices) : β pβ pβ, p = pβ.comp pβ - Quiver.Path.exists_eq_comp_of_le_length π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b : V} (p : Quiver.Path a b) {n : β} (hn : n β€ p.length) : β v pβ pβ, p = pβ.comp pβ β§ pβ.length = n - Quiver.Path.exists_eq_comp_and_notMem_tail_of_mem_vertices π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b : V} (p : Quiver.Path a b) {v : V} (hv : v β p.vertices) : β pβ pβ, p = pβ.comp pβ β§ v β pβ.vertices.tail - Quiver.Path.vertices_comp_get_length_eq π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b c : V} (pβ : Quiver.Path a c) (pβ : Quiver.Path c b) (h : pβ.length < (pβ.comp pβ).vertices.length := by simp) : (pβ.comp pβ).vertices.get β¨pβ.length, hβ© = c - Quiver.Path.exists_eq_comp_and_length_eq_of_lt_length π Mathlib.Combinatorics.Quiver.Path.Vertices
{V : Type u_1} [Quiver V] {a b : V} (p : Quiver.Path a b) (n : β) (hn : n < p.vertices.length) : β v pβ pβ, p = pβ.comp pβ β§ pβ.length = n β§ v = p.vertices[n] - Quiver.Path.addWeightOfEPs π Mathlib.Combinatorics.Quiver.Path.Weight
{V : Type u_1} [Quiver V] {R : Type u_2} [AddMonoid R] (w : V β V β R) {i j : V} : Quiver.Path i j β R - Quiver.Path.weightOfEPs π Mathlib.Combinatorics.Quiver.Path.Weight
{V : Type u_1} [Quiver V] {R : Type u_2} [Monoid R] (w : V β V β R) {i j : V} : Quiver.Path i j β R - Quiver.Path.addWeight π Mathlib.Combinatorics.Quiver.Path.Weight
{V : Type u_1} [Quiver V] {R : Type u_3} [AddMonoid R] (w : {i j : V} β (i βΆ j) β R) {i j : V} : Quiver.Path i j β R - Quiver.Path.weight π Mathlib.Combinatorics.Quiver.Path.Weight
{V : Type u_1} [Quiver V] {R : Type u_2} [Monoid R] (w : {i j : V} β (i βΆ j) β R) {i j : V} : Quiver.Path i j β R - Quiver.Path.addWeightOfEPs_cons π Mathlib.Combinatorics.Quiver.Path.Weight
{V : Type u_1} [Quiver V] {R : Type u_2} [AddMonoid R] (w : V β V β R) {a b c : V} (p : Quiver.Path a b) (e : b βΆ c) : Quiver.Path.addWeightOfEPs w (p.cons e) = Quiver.Path.addWeightOfEPs w p + w b c - Quiver.Path.weightOfEPs_cons π Mathlib.Combinatorics.Quiver.Path.Weight
{V : Type u_1} [Quiver V] {R : Type u_2} [Monoid R] (w : V β V β R) {a b c : V} (p : Quiver.Path a b) (e : b βΆ c) : Quiver.Path.weightOfEPs w (p.cons e) = Quiver.Path.weightOfEPs w p * w b c - Quiver.Path.addWeightOfEPs_comp π Mathlib.Combinatorics.Quiver.Path.Weight
{V : Type u_1} [Quiver V] {R : Type u_2} [AddMonoid R] (w : V β V β R) {a b c : V} (p : Quiver.Path a b) (q : Quiver.Path b c) : Quiver.Path.addWeightOfEPs w (p.comp q) = Quiver.Path.addWeightOfEPs w p + Quiver.Path.addWeightOfEPs w q - Quiver.Path.weightOfEPs_comp π Mathlib.Combinatorics.Quiver.Path.Weight
{V : Type u_1} [Quiver V] {R : Type u_2} [Monoid R] (w : V β V β R) {a b c : V} (p : Quiver.Path a b) (q : Quiver.Path b c) : Quiver.Path.weightOfEPs w (p.comp q) = Quiver.Path.weightOfEPs w p * Quiver.Path.weightOfEPs w q - Quiver.Path.addWeight_cons π Mathlib.Combinatorics.Quiver.Path.Weight
{V : Type u_1} [Quiver V] {R : Type u_2} [AddMonoid R] (w : {i j : V} β (i βΆ j) β R) {a b c : V} (p : Quiver.Path a b) (e : b βΆ c) : Quiver.Path.addWeight (fun {i j} => w) (p.cons e) = Quiver.Path.addWeight (fun {i j} => w) p + w e - Quiver.Path.weight_cons π Mathlib.Combinatorics.Quiver.Path.Weight
{V : Type u_1} [Quiver V] {R : Type u_2} [Monoid R] (w : {i j : V} β (i βΆ j) β R) {a b c : V} (p : Quiver.Path a b) (e : b βΆ c) : Quiver.Path.weight (fun {i j} => w) (p.cons e) = Quiver.Path.weight (fun {i j} => w) p * w e - Quiver.Path.addWeight_comp π Mathlib.Combinatorics.Quiver.Path.Weight
{V : Type u_1} [Quiver V] {R : Type u_2} [AddMonoid R] (w : {i j : V} β (i βΆ j) β R) {a b c : V} (p : Quiver.Path a b) (q : Quiver.Path b c) : Quiver.Path.addWeight (fun {i j} => w) (p.comp q) = Quiver.Path.addWeight (fun {i j} => w) p + Quiver.Path.addWeight (fun {i j} => w) q - Quiver.Path.weight_comp π Mathlib.Combinatorics.Quiver.Path.Weight
{V : Type u_1} [Quiver V] {R : Type u_2} [Monoid R] (w : {i j : V} β (i βΆ j) β R) {a b c : V} (p : Quiver.Path a b) (q : Quiver.Path b c) : Quiver.Path.weight (fun {i j} => w) (p.comp q) = Quiver.Path.weight (fun {i j} => w) p * Quiver.Path.weight (fun {i j} => w) q - Quiver.Path.weightOfEPs_nonneg π Mathlib.Combinatorics.Quiver.Path.Weight
{V : Type u_1} [Quiver V] {R : Type u_2} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] {w : V β V β R} (hw : β (i j : V), 0 β€ w i j) {i j : V} (p : Quiver.Path i j) : 0 β€ Quiver.Path.weightOfEPs w p - Quiver.Path.weightOfEPs_pos π Mathlib.Combinatorics.Quiver.Path.Weight
{V : Type u_1} [Quiver V] {R : Type u_2} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] {w : V β V β R} (hw : β (i j : V), 0 < w i j) {i j : V} (p : Quiver.Path i j) : 0 < Quiver.Path.weightOfEPs w p - Quiver.Path.weight_nonneg π Mathlib.Combinatorics.Quiver.Path.Weight
{V : Type u_1} [Quiver V] {R : Type u_2} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] {w : {i j : V} β (i βΆ j) β R} (hw : β {i j : V} (e : i βΆ j), 0 β€ w e) {i j : V} (p : Quiver.Path i j) : 0 β€ Quiver.Path.weight (fun {i j} => w) p - Quiver.Path.weight_pos π Mathlib.Combinatorics.Quiver.Path.Weight
{V : Type u_1} [Quiver V] {R : Type u_2} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] {w : {i j : V} β (i βΆ j) β R} (hw : β {i j : V} (e : i βΆ j), 0 < w e) {i j : V} (p : Quiver.Path i j) : 0 < Quiver.Path.weight (fun {i j} => w) p - IsFreeGroupoid.path_nonempty_of_hom π Mathlib.GroupTheory.FreeGroup.NielsenSchreier
{G : Type u} [CategoryTheory.Groupoid G] [IsFreeGroupoid G] {a b : G} : Nonempty (a βΆ b) β Nonempty (Quiver.Path (IsFreeGroupoid.symgenβ a) (IsFreeGroupoid.symgenβ b)) - IsFreeGroupoid.SpanningTree.homOfPath π Mathlib.GroupTheory.FreeGroup.NielsenSchreier
{G : Type u} [CategoryTheory.Groupoid G] [IsFreeGroupoid G] (T : WideSubquiver (Quiver.Symmetrify (IsFreeGroupoid.Generators G))) [Quiver.Arborescence (WideSubquiver.toType (Quiver.Symmetrify (IsFreeGroupoid.Generators G)) T)] {a : G} : Quiver.Path (Quiver.root (WideSubquiver.toType (Quiver.Symmetrify (IsFreeGroupoid.Generators G)) T)) a β (IsFreeGroupoid.SpanningTree.root'β T βΆ a) - IsFreeGroupoid.SpanningTree.treeHom_eq π Mathlib.GroupTheory.FreeGroup.NielsenSchreier
{G : Type u} [CategoryTheory.Groupoid G] [IsFreeGroupoid G] (T : WideSubquiver (Quiver.Symmetrify (IsFreeGroupoid.Generators G))) [Quiver.Arborescence (WideSubquiver.toType (Quiver.Symmetrify (IsFreeGroupoid.Generators G)) T)] {a : G} (p : Quiver.Path (Quiver.root (WideSubquiver.toType (Quiver.Symmetrify (IsFreeGroupoid.Generators G)) T)) a) : IsFreeGroupoid.SpanningTree.treeHom T a = IsFreeGroupoid.SpanningTree.homOfPath T p - Matrix.transposePath π Mathlib.LinearAlgebra.Matrix.Irreducible.Defs
{n : Type u_1} {R : Type u_2} [Ring R] [LinearOrder R] {A : Matrix n n R} {i j : n} (p : Quiver.Path i j) : Quiver.Path j i - Matrix.pow_apply_pos_iff_nonempty_path π Mathlib.LinearAlgebra.Matrix.Irreducible.Defs
{n : Type u_1} {R : Type u_2} [Ring R] [LinearOrder R] {A : Matrix n n R} [Fintype n] [IsOrderedRing R] [PosMulStrictMono R] [Nontrivial R] [DecidableEq n] (hA : β (i j : n), 0 β€ A i j) (k : β) (i j : n) : 0 < (A ^ k) i j β Nonempty { p // p.length = k }
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
πReal.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
π"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
π_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
πReal.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
π(?a -> ?b) -> List ?a -> List ?b
πList ?a -> (?a -> ?b) -> List ?bBy main conclusion:
π|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of allβandβ) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
π|- _ < _ β tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
β’ (_ : Type _)finds all definitions which provide data whileβ’ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
π Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ β _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision 01cceef