Loogle!
Result
Found 917 declarations mentioning SimpleGraph.Walk. Of these, only the first 200 are shown.
- SimpleGraph.Walk ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} (G : SimpleGraph V) : V โ V โ Type u - SimpleGraph.Walk.nil ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u : V} : G.Walk u u - SimpleGraph.Walk.nil' ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} (u : V) : G.Walk u u - SimpleGraph.Walk.instInhabited ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} (G : SimpleGraph V) (v : V) : Inhabited (G.Walk v v) - SimpleGraph.Walk.Nil ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {v w : V} : G.Walk v w โ Prop - SimpleGraph.Walk.length ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} : G.Walk u v โ โ - SimpleGraph.Walk.support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} : G.Walk u v โ List V - SimpleGraph.instDecidableEqWalk ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{Vโ : Type u_1} {Gโ : SimpleGraph Vโ} {aโ aโยน : Vโ} [DecidableEq Vโ] : DecidableEq (Gโ.Walk aโ aโยน) - SimpleGraph.Walk.edgeSet ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : Set (Sym2 V) - SimpleGraph.Walk.edges ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : List (Sym2 V) - SimpleGraph.Walk.darts ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} : G.Walk u v โ List G.Dart - SimpleGraph.Adj.toWalk ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (h : G.Adj u v) : G.Walk u v - SimpleGraph.Walk.instDecidableNil ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {v w : V} (p : G.Walk v w) : Decidable p.Nil - SimpleGraph.Walk.nil_of_subsingleton ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {v w : V} [Subsingleton V] (p : G.Walk v w) : p.Nil - SimpleGraph.Walk.edges_injective ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} : Function.Injective SimpleGraph.Walk.edges - SimpleGraph.Walk.darts_injective ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} : Function.Injective SimpleGraph.Walk.darts - SimpleGraph.Walk.Nil.eq ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} : p.Nil โ v = w - SimpleGraph.Walk.cons ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v w : V} (h : G.Adj u v) (p : G.Walk v w) : G.Walk u w - SimpleGraph.Walk.cons' ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} (u v w : V) (h : G.Adj u v) (p : G.Walk v w) : G.Walk u w - SimpleGraph.Walk.isChain_adj_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : List.IsChain G.Adj p.support - SimpleGraph.Walk.not_nil_of_ne ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} : v โ w โ ยฌp.Nil - SimpleGraph.Walk.support_ne_nil ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : p.support โ [] - SimpleGraph.Walk.end_mem_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : v โ p.support - SimpleGraph.Walk.isChain_dartAdj_darts ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : List.IsChain G.DartAdj p.darts - SimpleGraph.Walk.start_mem_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : u โ p.support - SimpleGraph.Walk.default_def ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} (G : SimpleGraph V) (v : V) : default = SimpleGraph.Walk.nil - SimpleGraph.instDecidableEqWalk.decEq ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{Vโ : Type u_1} {Gโ : SimpleGraph Vโ} {aโ aโยน : Vโ} [DecidableEq Vโ] (xโ xโยน : Gโ.Walk aโ aโยน) : Decidable (xโ = xโยน) - SimpleGraph.Walk.Nil.eq_nil ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {v : V} {p : G.Walk v v} : p.Nil โ p = SimpleGraph.Walk.nil - SimpleGraph.Walk.eq_nil_iff_nil ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {v : V} {p : G.Walk v v} : p = SimpleGraph.Walk.nil โ p.Nil - SimpleGraph.Walk.eq_of_length_eq_zero ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} : p.length = 0 โ u = v - SimpleGraph.Walk.exists_nil_iff ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} : (โ p, p.Nil) โ u = v - SimpleGraph.Walk.getLast_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {a b : V} (p : G.Walk a b) : p.support.getLast โฏ = b - SimpleGraph.Walk.head_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {a b : V} (p : G.Walk a b) : p.support.head โฏ = a - SimpleGraph.Walk.length_edges ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : p.edges.length = p.length - SimpleGraph.Walk.nil_iff_eq_nil ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {v : V} {p : G.Walk v v} : p.Nil โ p = SimpleGraph.Walk.nil - SimpleGraph.Walk.adj_of_length_eq_one ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} : p.length = 1 โ G.Adj u v - SimpleGraph.Walk.darts_nodup_of_support_nodup ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} (h : p.support.Nodup) : p.darts.Nodup - SimpleGraph.Walk.length_darts ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : p.darts.length = p.length - SimpleGraph.Walk.ofSupport ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} (l : List V) (hne : l โ []) (hchain : List.IsChain G.Adj l) : G.Walk (l.head hne) (l.getLast hne) - SimpleGraph.Walk.support_nonempty ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : {w | w โ p.support}.Nonempty - SimpleGraph.Walk.end_mem_tail_support_of_ne ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (h : u โ v) (p : G.Walk u v) : v โ p.support.tail - SimpleGraph.Walk.Nil.length_eq_zero ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} : p.Nil โ p.length = 0 - SimpleGraph.Walk.cons_tail_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : u :: p.support.tail = p.support - SimpleGraph.Walk.edges_eq_nil ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} : p.edges = [] โ p.Nil - SimpleGraph.Walk.isChain_adj_cons_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v w : V} (h : G.Adj u v) (p : G.Walk v w) : List.IsChain G.Adj (u :: p.support) - SimpleGraph.Walk.length_eq_zero_iff ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} : p.length = 0 โ p.Nil - SimpleGraph.Walk.nil_iff_length_eq ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} : p.Nil โ p.length = 0 - SimpleGraph.Walk.not_nil_cons ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v w : V} {h : G.Adj u v} {p : G.Walk v w} : ยฌ(SimpleGraph.Walk.cons h p).Nil - SimpleGraph.Walk.support_eq_cons ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : p.support = u :: p.support.tail - SimpleGraph.Walk.nil_iff_support_eq ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} : p.Nil โ p.support = [v] - SimpleGraph.Walk.darts_eq_nil ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} : p.darts = [] โ p.Nil - SimpleGraph.Walk.end_mem_tail_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} (h : ยฌp.Nil) : v โ p.support.tail - SimpleGraph.Walk.not_nil_iff_lt_length ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} : ยฌp.Nil โ 0 < p.length - SimpleGraph.Walk.edgeSet_eq_empty ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} : p.edgeSet = โ โ p.Nil - SimpleGraph.Walk.exists_length_eq_zero_iff ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} : (โ p, p.length = 0) โ u = v - SimpleGraph.Walk.nil_of_isIsolated_of_mem_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v w : V} {p : G.Walk u v} (hw : G.IsIsolated w) (hwp : w โ p.support) : p.Nil - SimpleGraph.Walk.edges_eq_map_darts ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : p.edges = List.map SimpleGraph.Dart.edge p.darts - SimpleGraph.Walk.exists_length_eq_one_iff ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} : (โ p, p.length = 1) โ G.Adj u v - SimpleGraph.Walk.adj_of_mem_edges ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v x y : V} (p : G.Walk u v) (h : s(x, y) โ p.edges) : G.Adj x y - SimpleGraph.Walk.support_suffix_support_cons ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v w : V} (p : G.Walk v w) (hadj : G.Adj u v) : p.support <:+ (SimpleGraph.Walk.cons hadj p).support - SimpleGraph.Walk.length_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : p.support.length = p.length + 1 - SimpleGraph.Walk.support_subset_support_cons ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v w : V} (p : G.Walk v w) (hadj : G.Adj u v) : p.support โ (SimpleGraph.Walk.cons hadj p).support - SimpleGraph.Walk.edges_subset_edgeSet ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) โฆe : Sym2 Vโฆ : e โ p.edges โ e โ G.edgeSet - SimpleGraph.Walk.isChain_dartAdj_cons_darts ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {d : G.Dart} {v w : V} (h : d.toProd.2 = v) (p : G.Walk v w) : List.IsChain G.DartAdj (d :: p.darts) - SimpleGraph.Walk.support_cons ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v w : V} (h : G.Adj u v) (p : G.Walk v w) : (SimpleGraph.Walk.cons h p).support = u :: p.support - SimpleGraph.Walk.map_fst_darts ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : List.map (fun x => x.toProd.1) p.darts = p.support.dropLast - SimpleGraph.Walk.map_snd_darts ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : List.map (fun x => x.toProd.2) p.darts = p.support.tail - SimpleGraph.Walk.cons_map_snd_darts ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : u :: List.map (fun x => x.toProd.2) p.darts = p.support - SimpleGraph.Walk.edges_eq_zipWith_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} : p.edges = List.zipWith (fun x1 x2 => s(x1, x2)) p.support p.support.tail - SimpleGraph.Walk.mem_edgeSet ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} {e : Sym2 V} : e โ p.edgeSet โ e โ p.edges - SimpleGraph.Walk.mem_support_iff ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v w : V} (p : G.Walk u v) : w โ p.support โ w = u โจ w โ p.support.tail - SimpleGraph.Walk.edges_cons ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v w : V} (h : G.Adj u v) (p : G.Walk v w) : (SimpleGraph.Walk.cons h p).edges = s(u, v) :: p.edges - SimpleGraph.Walk.support_getElem_zero ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : p.support[0] = u - SimpleGraph.Walk.support_getElem_length ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : p.support[p.length] = v - SimpleGraph.Walk.coe_edges_toFinset ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} [DecidableEq V] {u v : V} (p : G.Walk u v) : โp.edges.toFinset = p.edgeSet - SimpleGraph.Walk.length_cons ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v w : V} (h : G.Adj u v) (p : G.Walk v w) : (SimpleGraph.Walk.cons h p).length = p.length + 1 - SimpleGraph.Walk.coe_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : โp.support = {u} + โp.support.tail - SimpleGraph.Walk.dart_fst_mem_support_of_mem_darts ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) {d : G.Dart} : d โ p.darts โ d.toProd.1 โ p.support - SimpleGraph.Walk.eq_of_length_le_one ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} {p q : G.Walk u v} (hp : p.length โค 1) (hq : q.length โค 1) : p = q - SimpleGraph.Walk.edgeSet_cons ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v w : V} (h : G.Adj u v) (p : G.Walk v w) : (SimpleGraph.Walk.cons h p).edgeSet = insert s(u, v) p.edgeSet - SimpleGraph.Walk.ofDarts ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} (l : List G.Dart) (hne : l โ []) (hchain : List.IsChain G.DartAdj l) : G.Walk (l.head hne).toProd.1 (l.getLast hne).toProd.2 - SimpleGraph.Walk.darts_cons ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v w : V} (h : G.Adj u v) (p : G.Walk v w) : (SimpleGraph.Walk.cons h p).darts = { fst := u, snd := v, adj := h } :: p.darts - SimpleGraph.Walk.exists_eq_cons_of_ne ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (hne : u โ v) (p : G.Walk u v) : โ w, โ (h : G.Adj u w), โ p', p = SimpleGraph.Walk.cons h p' - SimpleGraph.Walk.ofSupport_singleton ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} (G : SimpleGraph V) (v : V) : SimpleGraph.Walk.ofSupport [v] โฏ โฏ = SimpleGraph.Walk.nil - SimpleGraph.Walk.map_fst_darts_append ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : List.map (fun x => x.toProd.1) p.darts ++ [v] = p.support - SimpleGraph.Walk.not_nil_iff ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} : ยฌp.Nil โ โ u, โ (h : G.Adj v u), โ q, p = SimpleGraph.Walk.cons h q - SimpleGraph.Walk.mem_darts_iff_fst_snd_infix_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} {d : G.Dart} : d โ p.darts โ [d.toProd.1, d.toProd.2] <:+: p.support - SimpleGraph.Walk.mem_darts_iff_infix_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v u' v' : V} {p : G.Walk u v} (h : G.Adj u' v') : { fst := u', snd := v', adj := h } โ p.darts โ [u', v'] <:+: p.support - SimpleGraph.Walk.mem_support_iff_exists_mem_edges ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v w : V} {p : G.Walk u v} : w โ p.support โ w = v โจ โ e โ p.edges, w โ e - SimpleGraph.Walk.mem_support_iff_exists_mem_edges_of_not_nil ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v w : V} {p : G.Walk u v} (hnil : ยฌp.Nil) : w โ p.support โ โ e โ p.edges, w โ e - SimpleGraph.Walk.notNilRec ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u w : V} {motive : {u w : V} โ (p : G.Walk u w) โ ยฌp.Nil โ Sort u_1} (cons : {u v w : V} โ (h : G.Adj u v) โ (q : G.Walk v w) โ motive (SimpleGraph.Walk.cons h q) โฏ) (p : G.Walk u w) (hp : ยฌp.Nil) : motive p hp - SimpleGraph.Walk.exists_boundary_dart ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) (S : Set V) (uS : u โ S) (vS : v โ S) : โ d โ p.darts, d.toProd.1 โ S โง d.toProd.2 โ S - SimpleGraph.Walk.ofDarts_singleton' ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} (d : G.Dart) : SimpleGraph.Walk.ofDarts [d] โฏ โฏ = โฏ.toWalk - SimpleGraph.Walk.fst_darts_getElem ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} {i : โ} (hi : i < p.darts.length) : p.darts[i].toProd.1 = p.support.dropLast[i] - SimpleGraph.Walk.getElem_edges_eq_edge_getElem_darts ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} {i : โ} (h : i < p.edges.length) : p.edges[i] = p.darts[i].edge - SimpleGraph.Walk.snd_darts_getElem ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} {i : โ} (hi : i < p.darts.length) : p.darts[i].toProd.2 = p.support.tail[i] - SimpleGraph.Walk.edge_getElem_darts ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} {i : โ} (h : i < p.darts.length) : p.darts[i].edge = p.edges[i] - SimpleGraph.Walk.notNilRec_cons ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v w : V} {motive : {u w : V} โ (p : G.Walk u w) โ ยฌp.Nil โ Sort u_1} (cons : {u v w : V} โ (h : G.Adj u v) โ (q : G.Walk v w) โ motive (SimpleGraph.Walk.cons h q) โฏ) (h' : G.Adj u v) (q' : G.Walk v w) : SimpleGraph.Walk.notNilRec (fun {u v w} => cons) (SimpleGraph.Walk.cons h' q') โฏ = cons h' q' - SimpleGraph.Walk.ofSupport_cons_cons ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {u v : V} {l : List V} (hchain : List.IsChain G.Adj (u :: v :: l)) : SimpleGraph.Walk.ofSupport (u :: v :: l) โฏ hchain = SimpleGraph.Walk.cons โฏ (SimpleGraph.Walk.ofSupport (v :: l) โฏ โฏ) - SimpleGraph.Walk.ofDarts_singleton ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} (d : G.Dart) : SimpleGraph.Walk.ofDarts [d] โฏ โฏ = SimpleGraph.Walk.cons โฏ SimpleGraph.Walk.nil - SimpleGraph.Walk.ofDarts_cons_cons ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Basic
{V : Type u} {G : SimpleGraph V} {dโ dโ : G.Dart} {l : List G.Dart} (hchain : List.IsChain G.DartAdj (dโ :: dโ :: l)) : SimpleGraph.Walk.ofDarts (dโ :: dโ :: l) โฏ hchain = SimpleGraph.Walk.cons โฏ (SimpleGraph.Walk.ofDarts (dโ :: l) โฏ โฏ) - SimpleGraph.Walk.penultimate ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : V - SimpleGraph.Walk.snd ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : V - SimpleGraph.Walk.getVert ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} : G.Walk u v โ โ โ V - SimpleGraph.Walk.firstDart ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} (p : G.Walk v w) (hp : ยฌp.Nil) : G.Dart - SimpleGraph.Walk.lastDart ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} (p : G.Walk v w) (hp : ยฌp.Nil) : G.Dart - SimpleGraph.Walk.getVert_zero ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} (w : G.Walk u v) : w.getVert 0 = u - SimpleGraph.Walk.getVert_length ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} (w : G.Walk u v) : w.getVert w.length = v - SimpleGraph.Walk.adj_penultimate ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} (hp : ยฌp.Nil) : G.Adj p.penultimate w - SimpleGraph.Walk.adj_snd ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} (hp : ยฌp.Nil) : G.Adj v p.snd - SimpleGraph.Walk.getVert_eq_getD_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) (n : โ) : p.getVert n = p.support.getD n v - SimpleGraph.Walk.getVert_mem_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) (i : โ) : p.getVert i โ p.support - SimpleGraph.Walk.getVert_of_length_le ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} (w : G.Walk u v) {i : โ} (hi : w.length โค i) : w.getVert i = v - SimpleGraph.Walk.snd_cons ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v w : V} (q : G.Walk v w) (hadj : G.Adj u v) : (SimpleGraph.Walk.cons hadj q).snd = v - SimpleGraph.Walk.adj_of_infix_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v u' v' : V} {p : G.Walk u v} (h : [u', v'] <:+: p.support) : G.Adj u' v' - SimpleGraph.Walk.penultimate_mem_dropLast_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} (h : ยฌp.Nil) : p.penultimate โ p.support.dropLast - SimpleGraph.Walk.snd_mem_tail_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} (h : ยฌp.Nil) : p.snd โ p.support.tail - SimpleGraph.Walk.edge_firstDart ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} (p : G.Walk v w) (hp : ยฌp.Nil) : (p.firstDart hp).edge = s(v, p.snd) - SimpleGraph.Walk.edge_lastDart ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} (p : G.Walk v w) (hp : ยฌp.Nil) : (p.lastDart hp).edge = s(p.penultimate, w) - SimpleGraph.Walk.firstDart_toProd ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} (p : G.Walk v w) (hp : ยฌp.Nil) : (p.firstDart hp).toProd = (v, p.snd) - SimpleGraph.Walk.lastDart_toProd ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} (p : G.Walk v w) (hp : ยฌp.Nil) : (p.lastDart hp).toProd = (p.penultimate, w) - SimpleGraph.Walk.mk_penultimate_end_mem_edges ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} (hnil : ยฌp.Nil) : s(p.penultimate, w) โ p.edges - SimpleGraph.Walk.mk_start_snd_mem_edges ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} (hnil : ยฌp.Nil) : s(v, p.snd) โ p.edges - SimpleGraph.Walk.range_getVert_eq_range_support_getElem ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : Set.range p.getVert = Set.range p.support.get - SimpleGraph.Walk.firstDart_mem_darts ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} (hnil : ยฌp.Nil) : p.firstDart hnil โ p.darts - SimpleGraph.Walk.lastDart_mem_darts ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} (hnil : ยฌp.Nil) : p.lastDart hnil โ p.darts - SimpleGraph.Walk.penultimate_cons_of_not_nil ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v w : V} (h : G.Adj u v) (p : G.Walk v w) (hp : ยฌp.Nil) : (SimpleGraph.Walk.cons h p).penultimate = p.penultimate - SimpleGraph.Walk.getLast_edges_eq_mk_penultimate_end ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} (hp : p.edges โ []) : p.edges.getLast hp = s(p.penultimate, w) - SimpleGraph.Walk.head_edges_eq_mk_start_snd ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} (hp : p.edges โ []) : p.edges.head hp = s(v, p.snd) - SimpleGraph.Walk.getVert_support_idxOf ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v w : V} [DecidableEq V] (p : G.Walk u v) (h : w โ p.support) : p.getVert (List.idxOf w p.support) = w - SimpleGraph.Walk.adj_getVert_succ ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} (w : G.Walk u v) {i : โ} (hi : i < w.length) : G.Adj (w.getVert i) (w.getVert (i + 1)) - SimpleGraph.Walk.getVert_cons_succ ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v w : V} {n : โ} (p : G.Walk v w) (h : G.Adj u v) : (SimpleGraph.Walk.cons h p).getVert (n + 1) = p.getVert n - SimpleGraph.Walk.getVert_comp_val_eq_get_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : p.getVert โ Fin.val = p.support.get - SimpleGraph.Walk.getVert_eq_support_getElem? ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} {n : โ} (p : G.Walk u v) (h : n โค p.length) : some (p.getVert n) = p.support[n]? - SimpleGraph.Walk.penultimate_cons_cons ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v w w' : V} (h : G.Adj u v) (hโ : G.Adj v w) (p : G.Walk w w') : (SimpleGraph.Walk.cons h (SimpleGraph.Walk.cons hโ p)).penultimate = (SimpleGraph.Walk.cons hโ p).penultimate - SimpleGraph.Walk.support_getElem_eq_getVert ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} {n : โ} (p : G.Walk u v) (h : n < p.support.length) : p.support[n] = p.getVert n - SimpleGraph.Walk.getVert_cons ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v w : V} {n : โ} (p : G.Walk v w) (h : G.Adj u v) (hn : n โ 0) : (SimpleGraph.Walk.cons h p).getVert n = p.getVert (n - 1) - SimpleGraph.Walk.snd_eq_support_getElem_one ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} (hnil : ยฌp.Nil) : p.snd = p.support[1] - SimpleGraph.Walk.support_getElem_one ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} (hp : 1 < p.support.length) : p.support[1] = p.snd - SimpleGraph.Walk.support_getElem_length_sub_one_eq_penultimate ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} : p.support[p.length - 1] = p.penultimate - SimpleGraph.Walk.mk_mem_edges_iff_exists ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v u' v' : V} (p : G.Walk u v) : s(u', v') โ p.edges โ โ i < p.length, s(p.getVert i, p.getVert (i + 1)) = s(u', v') - SimpleGraph.Walk.firstDart_eq ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} (hโ : ยฌp.Nil) (hโ : 0 < p.darts.length) : p.firstDart hโ = p.darts[0] - SimpleGraph.Walk.getElem_edges ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} {i : โ} (h : i < p.edges.length) : p.edges[i] = s(p.getVert i, p.getVert (i + 1)) - SimpleGraph.Walk.mk_penultimate_end_eq_getLast_edges ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} (hnil : ยฌp.Nil) : s(p.penultimate, w) = p.edges.getLast โฏ - SimpleGraph.Walk.mk_start_snd_eq_head_edges ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} (hnil : ยฌp.Nil) : s(v, p.snd) = p.edges.head โฏ - SimpleGraph.Walk.firstDart_eq_head_darts ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} (hnil : ยฌp.Nil) : p.firstDart hnil = p.darts.head โฏ - SimpleGraph.Walk.lastDart_eq_getLast_darts ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} (hnil : ยฌp.Nil) : p.lastDart hnil = p.darts.getLast โฏ - SimpleGraph.Walk.getLast_darts_eq_lastDart ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} (hnil : p.darts โ []) : p.darts.getLast hnil = p.lastDart โฏ - SimpleGraph.Walk.head_darts_eq_firstDart ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} (hnil : p.darts โ []) : p.darts.head hnil = p.firstDart โฏ - SimpleGraph.Walk.lastDart_eq ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} (hโ : ยฌp.Nil) (hโ : 0 < p.darts.length) : p.lastDart hโ = p.darts[p.darts.length - 1] - SimpleGraph.Walk.darts_getElem_eq_getVert ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} (n : โ) (h : n < p.darts.length) : p.darts[n] = { fst := p.getVert n, snd := p.getVert (n + 1), adj := โฏ } - SimpleGraph.Walk.getVert_eq_support_getElem ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Traversal
{V : Type u} {G : SimpleGraph V} {u v : V} {n : โ} (p : G.Walk u v) (h : n โค p.length) : p.getVert n = p.support[n] - SimpleGraph.Walk.reverse ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (w : G.Walk u v) : G.Walk v u - SimpleGraph.Walk.support_injective ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} : Function.Injective SimpleGraph.Walk.support - SimpleGraph.Walk.dropLast ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : G.Walk u p.penultimate - SimpleGraph.Walk.tail ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : G.Walk p.snd v - SimpleGraph.Walk.append ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v w : V} : G.Walk u v โ G.Walk v w โ G.Walk u w - SimpleGraph.Walk.concat ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v w : V} (p : G.Walk u v) (h : G.Adj v w) : G.Walk u w - SimpleGraph.Walk.reverseAux ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v w : V} : G.Walk u v โ G.Walk u w โ G.Walk v w - SimpleGraph.Walk.reverse_bijective ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} : Function.Bijective SimpleGraph.Walk.reverse - SimpleGraph.Walk.reverse_injective ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} : Function.Injective SimpleGraph.Walk.reverse - SimpleGraph.Walk.reverse_surjective ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} : Function.Surjective SimpleGraph.Walk.reverse - SimpleGraph.Walk.drop ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) (n : โ) : G.Walk (p.getVert n) v - SimpleGraph.Walk.take ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) (n : โ) : G.Walk u (p.getVert n) - SimpleGraph.Walk.reverse_nil ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u : V} : SimpleGraph.Walk.nil.reverse = SimpleGraph.Walk.nil - SimpleGraph.Walk.copy ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v u' v' : V} (p : G.Walk u v) (hu : u = u') (hv : v = v') : G.Walk u' v' - SimpleGraph.Walk.edges_nodup_of_support_nodup ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} (h : p.support.Nodup) : p.edges.Nodup - SimpleGraph.Walk.tail_support_perm_dropLast_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u : V} (p : G.Walk u u) : p.support.tail.Perm p.support.dropLast - SimpleGraph.Walk.append_nil ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : p.append SimpleGraph.Walk.nil = p - SimpleGraph.Walk.nil_append ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : SimpleGraph.Walk.nil.append p = p - SimpleGraph.Walk.nil_reverse ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} : p.reverse.Nil โ p.Nil - SimpleGraph.Walk.reverse_reverse ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : p.reverse.reverse = p - SimpleGraph.Walk.length_reverse ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : p.reverse.length = p.length - SimpleGraph.Walk.penultimate_reverse ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : p.reverse.penultimate = p.snd - SimpleGraph.Walk.snd_reverse ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : p.reverse.snd = p.penultimate - SimpleGraph.Walk.support_eq_concat ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : p.support = p.support.dropLast.concat v - SimpleGraph.Walk.copy_rfl_rfl ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : p.copy โฏ โฏ = p - SimpleGraph.Walk.dropLast_nil ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {v : V} : SimpleGraph.Walk.nil.dropLast = SimpleGraph.Walk.nil - SimpleGraph.Walk.edgeSet_reverse ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : p.reverse.edgeSet = p.edgeSet - SimpleGraph.Walk.copy_nil ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u u' : V} (hu : u = u') : SimpleGraph.Walk.nil.copy hu hu = SimpleGraph.Walk.nil - SimpleGraph.Walk.penultimate_concat ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {t u v : V} (p : G.Walk u v) (h : G.Adj v t) : (p.concat h).penultimate = v - SimpleGraph.Walk.support_reverse ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : p.reverse.support = p.support.reverse - SimpleGraph.Walk.Nil.dropLast ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} (hp : p.Nil) : p.dropLast.Nil - SimpleGraph.Walk.Nil.tail ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} (hp : p.Nil) : p.tail.Nil - SimpleGraph.Walk.concat_ne_nil ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) (h : G.Adj v u) : p.concat h โ SimpleGraph.Walk.nil - SimpleGraph.Walk.edges_reverse ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : p.reverse.edges = p.edges.reverse - SimpleGraph.Walk.not_nil_of_tail_not_nil ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {v w : V} {p : G.Walk v w} (hp : ยฌp.tail.Nil) : ยฌp.Nil - SimpleGraph.Walk.nodup_tail_support_reverse ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u : V} {p : G.Walk u u} : p.reverse.support.tail.Nodup โ p.support.tail.Nodup - SimpleGraph.Walk.support_prefix_support_append ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v w : V} (p : G.Walk u v) (q : G.Walk v w) : p.support <+: (p.append q).support - SimpleGraph.Walk.support_prefix_support_concat ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v w : V} (p : G.Walk u v) (hadj : G.Adj v w) : p.support <+: (p.concat hadj).support - SimpleGraph.Walk.support_suffix_support_append ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v w : V} (p : G.Walk u v) (q : G.Walk v w) : q.support <:+ (p.append q).support - SimpleGraph.Walk.concat_nil ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (h : G.Adj u v) : SimpleGraph.Walk.nil.concat h = SimpleGraph.Walk.cons h SimpleGraph.Walk.nil - SimpleGraph.Walk.ext_support ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} {p q : G.Walk u v} (h : p.support = q.support) : p = q - SimpleGraph.Walk.reverse_toWalk ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (h : G.Adj u v) : h.toWalk.reverse = โฏ.toWalk - SimpleGraph.Walk.edges_dropLast ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} : p.dropLast.edges = p.edges.dropLast - SimpleGraph.Walk.edges_tail ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} {p : G.Walk u v} : p.tail.edges = p.edges.tail - SimpleGraph.Walk.nil_drop_of_length_le ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} {n : โ} {p : G.Walk u v} (h : p.length โค n) : (p.drop n).Nil - SimpleGraph.Walk.tail_nil ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {v : V} : SimpleGraph.Walk.nil.tail = SimpleGraph.Walk.nil - SimpleGraph.Walk.ext_getVert ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} {p q : G.Walk u v} (h : โ (k : โ), p.getVert k = q.getVert k) : p = q - SimpleGraph.Walk.nil_drop_iff ๐ Mathlib.Combinatorics.SimpleGraph.Walk.Operations
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) (n : โ) : (p.drop n).Nil โ p.length โค n
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 ce5dd8c