Loogle!
Result
Found 109 declarations mentioning SimpleGraph.Reachable.
- SimpleGraph.Reachable π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} (G : SimpleGraph V) (u v : V) : Prop - SimpleGraph.reachable_is_equivalence π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} (G : SimpleGraph V) : Equivalence G.Reachable - SimpleGraph.reachable_top π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {u v : V} : (SimpleGraph.completeGraph V).Reachable u v - SimpleGraph.Reachable.refl π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} (u : V) : G.Reachable u u - SimpleGraph.Reachable.rfl π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u : V} : G.Reachable u u - SimpleGraph.Reachable.of_subsingleton π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} [Subsingleton V] {u v : V} : G.Reachable u v - SimpleGraph.Reachable.of_isUniversal π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u : V} (v : V) (h : G.IsUniversal u) : G.Reachable u v - SimpleGraph.reachable_eq_reflTransGen π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} : G.Reachable = Relation.ReflTransGen G.Adj - SimpleGraph.Adj.reachable π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} (h : G.Adj u v) : G.Reachable u v - SimpleGraph.Reachable.symm π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} (huv : G.Reachable u v) : G.Reachable v u - SimpleGraph.Walk.reachable π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} (p : G.Walk u v) : G.Reachable u v - SimpleGraph.connected_iff_exists_forall_reachable π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} (G : SimpleGraph V) : G.Connected β β v, β (w : V), G.Reachable v w - SimpleGraph.reachable_comm π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} : G.Reachable u v β G.Reachable v u - SimpleGraph.instCoeFunConnectedForallForallReachable π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} (G : SimpleGraph V) : CoeFun G.Connected fun x => β (u v : V), G.Reachable u v - SimpleGraph.not_reachable_iff_isEmpty_walk π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} : Β¬G.Reachable u v β IsEmpty (G.Walk u v) - SimpleGraph.reachable_fromEdgeSet_eq_reflTransGen_toRel π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {s : Set (Sym2 V)} : (SimpleGraph.fromEdgeSet s).Reachable = Relation.ReflTransGen (Sym2.ToRel s) - SimpleGraph.reachable_iff_reflTransGen π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} (u v : V) : G.Reachable u v β Relation.ReflTransGen G.Adj u v - SimpleGraph.IsBridge.of_not_reachable π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} (huv : Β¬G.Reachable u v) : G.IsBridge s(u, v) - SimpleGraph.Reachable.elim π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {p : Prop} {u v : V} (h : G.Reachable u v) (hp : β (a : G.Walk u v), p) : p - SimpleGraph.Reachable.elim_path π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {p : Prop} {u v : V} (h : G.Reachable u v) (hp : β (a : G.Path u v), p) : p - SimpleGraph.Reachable.nonempty_neighborSet_left π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} (huv : u β v) (hreach : G.Reachable u v) : (G.neighborSet u).Nonempty - SimpleGraph.Reachable.nonempty_neighborSet_right π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} (huv : u β v) (hreach : G.Reachable u v) : (G.neighborSet v).Nonempty - SimpleGraph.reachable_or_compl_adj π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} (G : SimpleGraph V) (u v : V) : G.Reachable u v β¨ GαΆ.Adj u v - SimpleGraph.Reachable.trans π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v w : V} (huv : G.Reachable u v) (hvw : G.Reachable v w) : G.Reachable u w - SimpleGraph.reachable_fromEdgeSet_fromRel_eq_reflTransGen π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {r : V β V β Prop} (sym : Std.Symm r) : (SimpleGraph.fromEdgeSet (Sym2.fromRel sym)).Reachable = Relation.ReflTransGen r - SimpleGraph.reachable_or_reachable_compl π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} (G : SimpleGraph V) (u v w : V) : G.Reachable u v β¨ GαΆ.Reachable u w - SimpleGraph.ConnectedComponent.exact π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {v w : V} : G.connectedComponentMk v = G.connectedComponentMk w β G.Reachable v w - SimpleGraph.ConnectedComponent.sound π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {v w : V} : G.Reachable v w β G.connectedComponentMk v = G.connectedComponentMk w - SimpleGraph.reachable_iff_nonempty_univ π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} : G.Reachable u v β Set.univ.Nonempty - SimpleGraph.ConnectedComponent.eq π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {v w : V} : G.connectedComponentMk v = G.connectedComponentMk w β G.Reachable v w - SimpleGraph.IsBridge.reachable_iff_adj π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} (h : G.IsBridge s(u, v)) : G.Reachable u v β G.Adj u v - SimpleGraph.mem_support_of_reachable π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} (huv : u β v) (h : G.Reachable u v) : u β G.support - SimpleGraph.Reachable.mono π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {u v : V} {G G' : SimpleGraph V} (h : G β€ G') (Guv : G.Reachable u v) : G'.Reachable u v - SimpleGraph.adj_le_reachable π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} (G : SimpleGraph V) : G.Adj β€ G.Reachable - SimpleGraph.reachable_bot π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {u v : V} : β₯.Reachable u v β u = v - SimpleGraph.not_reachable_of_neighborSet_left_eq_empty π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} (huv : u β v) (hu : G.neighborSet u = β ) : Β¬G.Reachable u v - SimpleGraph.not_reachable_of_neighborSet_right_eq_empty π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} (huv : u β v) (hv : G.neighborSet v = β ) : Β¬G.Reachable u v - SimpleGraph.IsBridge.sup_edge_of_not_reachable π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} (h : Β¬G.Reachable u v) : (G β SimpleGraph.edge u v).IsBridge s(u, v) - SimpleGraph.IsBridge.sup_fromEdgeSet_of_not_reachable π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} (h : Β¬G.Reachable u v) : (G β SimpleGraph.edge u v).IsBridge s(u, v) - SimpleGraph.Reachable.exists_isPath π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} (hr : G.Reachable u v) : β p, p.IsPath - SimpleGraph.preconnected_iff_reachable_eq_top π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} (G : SimpleGraph V) : G.Preconnected β G.Reachable = β€ - SimpleGraph.isBridge_iff π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} : G.IsBridge s(u, v) β Β¬(G.deleteEdges {s(u, v)}).Reachable u v - SimpleGraph.not_reachable_of_left_degree_zero π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} [Fintype β(G.neighborSet u)] (huv : u β v) (hu : G.degree u = 0) : Β¬G.Reachable u v - SimpleGraph.not_reachable_of_right_degree_zero π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} [Fintype β(G.neighborSet v)] (huv : u β v) (hu : G.degree v = 0) : Β¬G.Reachable u v - SimpleGraph.Reachable.degree_pos_left π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} [Fintype β(G.neighborSet u)] (huv : u β v) (hreach : G.Reachable u v) : 0 < G.degree u - SimpleGraph.Reachable.degree_pos_right π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} [Fintype β(G.neighborSet v)] (huv : u β v) (hreach : G.Reachable u v) : 0 < G.degree v - SimpleGraph.Reachable.mono' π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G G' : SimpleGraph V} (h : G β€ G') : G.Reachable β€ G'.Reachable - SimpleGraph.ConnectedComponent.reachable_of_mem_supp π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} (C : G.ConnectedComponent) {u v : V} (hu : u β C.supp) (hv : v β C.supp) : G.Reachable u v - SimpleGraph.IsBridge.sup_edge_of_not_reachable_of_isBridge π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} {e : Sym2 V} (h : Β¬G.Reachable u v) (hb : G.IsBridge e) (he : e β G.edgeSet) : (G β SimpleGraph.edge u v).IsBridge e - SimpleGraph.IsBridge.sup_fromEdgeSet_of_not_reachable_of_isBridge π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} {e : Sym2 V} (h : Β¬G.Reachable u v) (hb : G.IsBridge e) (he : e β G.edgeSet) : (G β SimpleGraph.edge u v).IsBridge e - SimpleGraph.Walk.mem_edges_of_not_reachable_deleteEdges π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} (w : G.Walk u v) {e : Sym2 V} (huv : Β¬(G.deleteEdges {e}).Reachable u v) : e β w.edges - SimpleGraph.Walk.exists_mem_edges_of_not_reachable_deleteEdges π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} (w : G.Walk u v) {s : Set (Sym2 V)} (huv : Β¬(G.deleteEdges s).Reachable u v) : β e β s, e β w.edges - SimpleGraph.reachable_deleteEdges_iff_exists_walk π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {v w v' w' : V} : (G.deleteEdges {s(v, w)}).Reachable v' w' β β p, s(v, w) β p.edges - SimpleGraph.reachable_delete_edges_iff_exists_walk π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {v w v' w' : V} : (G.deleteEdges {s(v, w)}).Reachable v' w' β β p, s(v, w) β p.edges - SimpleGraph.Reachable.mem_subgraphVerts π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v : V} {H : G.Subgraph} (hr : G.Reachable u v) (h : β v β H.verts, β (w : V), G.Adj v w β H.Adj v w) (hu : u β H.verts) : v β H.verts - SimpleGraph.Reachable.map π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {V' : Type v} {u v : V} {G : SimpleGraph V} {G' : SimpleGraph V'} (f : G βg G') (h : G.Reachable u v) : G'.Reachable (f u) (f v) - SimpleGraph.Iso.reachable_iff π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {V' : Type v} {G : SimpleGraph V} {G' : SimpleGraph V'} {Ο : G βg G'} {u v : V} : G'.Reachable (Ο u) (Ο v) β G.Reachable u v - SimpleGraph.Iso.symm_apply_reachable π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {V' : Type v} {G : SimpleGraph V} {G' : SimpleGraph V'} {Ο : G βg G'} {u : V} {v : V'} : G.Reachable (Ο.symm v) u β G'.Reachable v (Ο u) - SimpleGraph.adj_and_reachable_delete_edges_iff_exists_cycle π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {v w : V} : G.Adj v w β§ (G.deleteEdges {s(v, w)}).Reachable v w β β u p, p.IsCycle β§ s(v, w) β p.edges - SimpleGraph.Walk.IsTrail.not_mem_support_of_not_reachable π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v x y : V} {w : G.Walk u v} (hw : w.IsTrail) (huy : Β¬(G.deleteEdges {s(x, y)}).Reachable u y) (hvy : Β¬(G.deleteEdges {s(x, y)}).Reachable v y) : y β w.support - SimpleGraph.Walk.IsTrail.not_mem_edges_of_not_reachable π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} {u v x y : V} {w : G.Walk u v} (hw : w.IsTrail) (huy : Β¬(G.deleteEdges {s(x, y)}).Reachable u y) (hvy : Β¬(G.deleteEdges {s(x, y)}).Reachable v y) : s(x, y) β w.edges - SimpleGraph.ConnectedComponent.reachable_toSimpleGraph π Mathlib.Combinatorics.SimpleGraph.Connectivity.Connected
{V : Type u} {G : SimpleGraph V} (C : G.ConnectedComponent) {u v : V} (hu : u β C) (hv : v β C) : C.toSimpleGraph.Reachable β¨u, huβ© β¨v, hvβ© - SimpleGraph.Subgraph.instCoeFunConnectedForallForallReachableElemVertsCoe π Mathlib.Combinatorics.SimpleGraph.Connectivity.Subgraph
{V : Type u} {G : SimpleGraph V} {H : G.Subgraph} : CoeFun H.Connected fun x => β (u v : βH.verts), H.coe.Reachable u v - SimpleGraph.Subgraph.instCoeFunPreconnectedForallForallReachableElemVertsCoe π Mathlib.Combinatorics.SimpleGraph.Connectivity.Subgraph
{V : Type u} {G : SimpleGraph V} {H : G.Subgraph} : CoeFun H.Preconnected fun x => β (u v : βH.verts), H.coe.Reachable u v - SimpleGraph.Reachable.coe_toSubgraph π Mathlib.Combinatorics.SimpleGraph.Connectivity.Subgraph
{V : Type u} {G H : SimpleGraph V} {u v : V} (h : H β€ G) (hreachable : H.Reachable u v) : (SimpleGraph.toSubgraph H h).coe.Reachable β¨u, trivialβ© β¨v, trivialβ© - SimpleGraph.induce_connected_of_patches π Mathlib.Combinatorics.SimpleGraph.Connectivity.Subgraph
{V : Type u} {G : SimpleGraph V} {s : Set V} (u : V) (hu : u β s) (patches : β {v : V}, v β s β β s' β s, β (hu' : u β s') (hv' : v β s'), (SimpleGraph.induce s' G).Reachable β¨u, hu'β© β¨v, hv'β©) : (SimpleGraph.induce s G).Connected - SimpleGraph.Reachable.coe_coeSubgraph π Mathlib.Combinatorics.SimpleGraph.Connectivity.Subgraph
{V : Type u} {G : SimpleGraph V} {G' : G.Subgraph} (G'' : G'.coe.Subgraph) {u v : βG''.verts} (hreachable : G''.coe.Reachable u v) : (SimpleGraph.Subgraph.coeSubgraph G'').coe.Reachable ((SimpleGraph.Subgraph.coeSubgraph G'').vert ββu β―) ((SimpleGraph.Subgraph.coeSubgraph G'').vert ββv β―) - SimpleGraph.Reachable.coe_subgraphMap π Mathlib.Combinatorics.SimpleGraph.Connectivity.Subgraph
{V : Type u} {G : SimpleGraph V} {G' : G.Subgraph} {G'' : G'.coe.Subgraph} (f : G'.coe βg G) {u v : βG''.verts} (hreachable : G''.coe.Reachable u v) : (SimpleGraph.Subgraph.map f G'').coe.Reachable β¨f βu, β―β© β¨f βv, β―β© - SimpleGraph.isEdgeReachable_one π Mathlib.Combinatorics.SimpleGraph.Connectivity.EdgeConnectivity
{V : Type u_1} {G : SimpleGraph V} {u v : V} : G.IsEdgeReachable 1 u v β G.Reachable u v - SimpleGraph.IsEdgeReachable.reachable π Mathlib.Combinatorics.SimpleGraph.Connectivity.EdgeConnectivity
{V : Type u_1} {G : SimpleGraph V} {k : β} {u v : V} (hk : k β 0) (huv : G.IsEdgeReachable k u v) : G.Reachable u v - SimpleGraph.isEdgeReachable_two π Mathlib.Combinatorics.SimpleGraph.Connectivity.EdgeConnectivity
{V : Type u_1} {G : SimpleGraph V} {u v : V} : G.IsEdgeReachable 2 u v β β (e : Sym2 V), (G.deleteEdges {e}).Reachable u v - SimpleGraph.reachable_of_edist_ne_top π Mathlib.Combinatorics.SimpleGraph.Metric
{V : Type u_1} {G : SimpleGraph V} {u v : V} (h : G.edist u v β β€) : G.Reachable u v - SimpleGraph.edist_eq_top_of_not_reachable π Mathlib.Combinatorics.SimpleGraph.Metric
{V : Type u_1} {G : SimpleGraph V} {u v : V} (h : Β¬G.Reachable u v) : G.edist u v = β€ - SimpleGraph.edist_ne_top_iff_reachable π Mathlib.Combinatorics.SimpleGraph.Metric
{V : Type u_1} {G : SimpleGraph V} {u v : V} : G.edist u v β β€ β G.Reachable u v - SimpleGraph.Reachable.of_dist_ne_zero π Mathlib.Combinatorics.SimpleGraph.Metric
{V : Type u_1} {G : SimpleGraph V} {u v : V} (h : G.dist u v β 0) : G.Reachable u v - SimpleGraph.dist_eq_zero_of_not_reachable π Mathlib.Combinatorics.SimpleGraph.Metric
{V : Type u_1} {G : SimpleGraph V} {u v : V} (h : Β¬G.Reachable u v) : G.dist u v = 0 - SimpleGraph.mem_ball_top π Mathlib.Combinatorics.SimpleGraph.Metric
{V : Type u_1} {G : SimpleGraph V} {c v : V} : v β G.ball c β€ β G.Reachable v c - SimpleGraph.Reachable.coe_dist_eq_edist π Mathlib.Combinatorics.SimpleGraph.Metric
{V : Type u_1} {G : SimpleGraph V} {u v : V} (h : G.Reachable u v) : β(G.dist u v) = G.edist u v - SimpleGraph.Reachable.dist_eq_zero_iff π Mathlib.Combinatorics.SimpleGraph.Metric
{V : Type u_1} {G : SimpleGraph V} {u v : V} (hr : G.Reachable u v) : G.dist u v = 0 β u = v - SimpleGraph.Reachable.pos_dist_of_ne π Mathlib.Combinatorics.SimpleGraph.Metric
{V : Type u_1} {G : SimpleGraph V} {u v : V} (h : G.Reachable u v) (hne : u β v) : 0 < G.dist u v - SimpleGraph.dist_ne_zero_iff_ne_and_reachable π Mathlib.Combinatorics.SimpleGraph.Metric
{V : Type u_1} {G : SimpleGraph V} {u v : V} : G.dist u v β 0 β u β v β§ G.Reachable u v - SimpleGraph.dist_eq_zero_iff_eq_or_not_reachable π Mathlib.Combinatorics.SimpleGraph.Metric
{V : Type u_1} {G : SimpleGraph V} {u v : V} : G.dist u v = 0 β u = v β¨ Β¬G.Reachable u v - SimpleGraph.Reachable.dist_anti π Mathlib.Combinatorics.SimpleGraph.Metric
{V : Type u_1} {G : SimpleGraph V} {u v : V} {G' : SimpleGraph V} (h : G β€ G') (hr : G.Reachable u v) : G'.dist u v β€ G.dist u v - SimpleGraph.Reachable.one_lt_dist_of_ne_of_not_adj π Mathlib.Combinatorics.SimpleGraph.Metric
{V : Type u_1} {G : SimpleGraph V} {u v : V} (h : G.Reachable u v) (hne : u β v) (hnadj : Β¬G.Adj u v) : 1 < G.dist u v - SimpleGraph.Reachable.exists_walk_length_eq_dist π Mathlib.Combinatorics.SimpleGraph.Metric
{V : Type u_1} {G : SimpleGraph V} {u v : V} (hr : G.Reachable u v) : β p, p.length = G.dist u v - SimpleGraph.Reachable.dist_triangle_left π Mathlib.Combinatorics.SimpleGraph.Metric
{V : Type u_1} {G : SimpleGraph V} {u v : V} (h : G.Reachable u v) (w : V) : G.dist u w β€ G.dist u v + G.dist v w - SimpleGraph.Reachable.dist_triangle_right π Mathlib.Combinatorics.SimpleGraph.Metric
{V : Type u_1} {G : SimpleGraph V} {v w : V} (h : G.Reachable v w) (u : V) : G.dist u w β€ G.dist u v + G.dist v w - SimpleGraph.Reachable.exists_walk_length_eq_edist π Mathlib.Combinatorics.SimpleGraph.Metric
{V : Type u_1} {G : SimpleGraph V} {u v : V} (hr : G.Reachable u v) : β p, βp.length = G.edist u v - SimpleGraph.Reachable.exists_path_of_dist π Mathlib.Combinatorics.SimpleGraph.Metric
{V : Type u_1} {G : SimpleGraph V} {u v : V} (hr : G.Reachable u v) : β p, p.IsPath β§ p.length = G.dist u v - SimpleGraph.not_reachable_sum_inl_inr π Mathlib.Combinatorics.SimpleGraph.Sum
{V : Type u_3} {W : Type u_5} {G : SimpleGraph V} {H : SimpleGraph W} (v : V) (w : W) : Β¬(G βg H).Reachable (Sum.inl v) (Sum.inr w) - SimpleGraph.Reachable.sum_sup_edge π Mathlib.Combinatorics.SimpleGraph.Sum
{V : Type u_3} {W : Type u_5} {G : SimpleGraph V} {H : SimpleGraph W} {v v' : V} {w w' : W} (hv : G.Reachable v v') (hw : H.Reachable w w') : ((G βg H) β SimpleGraph.edge (Sum.inl v) (Sum.inr w)).Reachable (Sum.inl v') (Sum.inr w') - SimpleGraph.reachable_boxProd π Mathlib.Combinatorics.SimpleGraph.Prod
{Ξ± : Type u_1} {Ξ² : Type u_2} {G : SimpleGraph Ξ±} {H : SimpleGraph Ξ²} {x y : Ξ± Γ Ξ²} : (G β‘ H).Reachable x y β G.Reachable x.1 y.1 β§ H.Reachable x.2 y.2 - SimpleGraph.IsAcyclic.isAcyclic_sup_fromEdgeSet_of_not_reachable π Mathlib.Combinatorics.SimpleGraph.Acyclic
{V : Type u_1} {G : SimpleGraph V} {u v : V} (hnreach : Β¬G.Reachable u v) (hacyc : G.IsAcyclic) : (G β SimpleGraph.edge u v).IsAcyclic - SimpleGraph.IsAcyclic.sup_edge_of_not_reachable π Mathlib.Combinatorics.SimpleGraph.Acyclic
{V : Type u_1} {G : SimpleGraph V} {u v : V} (hnreach : Β¬G.Reachable u v) (hacyc : G.IsAcyclic) : (G β SimpleGraph.edge u v).IsAcyclic - SimpleGraph.isAcyclic_add_edge_iff_of_not_reachable π Mathlib.Combinatorics.SimpleGraph.Acyclic
{V : Type u_1} {G : SimpleGraph V} (x y : V) (hxy : Β¬G.Reachable x y) : (G β SimpleGraph.edge x y).IsAcyclic β G.IsAcyclic - SimpleGraph.exists_isAcyclic_reachable_eq_le π Mathlib.Combinatorics.SimpleGraph.Acyclic
{V : Type u_1} {G : SimpleGraph V} : β F β€ G, F.IsAcyclic β§ F.Reachable = G.Reachable - SimpleGraph.IsAcyclic.dist_ne_of_adj π Mathlib.Combinatorics.SimpleGraph.Acyclic
{V : Type u_1} {G : SimpleGraph V} (hG : G.IsAcyclic) {u v w : V} (hadj : G.Adj v w) (hreach : G.Reachable u v) : G.dist u v β G.dist u w - SimpleGraph.reachable_eq_of_maximal_isAcyclic π Mathlib.Combinatorics.SimpleGraph.Acyclic
{V : Type u_1} {G : SimpleGraph V} (F : SimpleGraph V) (h : Maximal (fun H => H β€ G β§ H.IsAcyclic) F) : F.Reachable = G.Reachable - SimpleGraph.isAcyclic_sup_fromEdgeSet_iff π Mathlib.Combinatorics.SimpleGraph.Acyclic
{V : Type u_1} {G : SimpleGraph V} {u v : V} : (G β SimpleGraph.edge u v).IsAcyclic β G.IsAcyclic β§ (G.Reachable u v β u = v β¨ G.Adj u v) - SimpleGraph.maximal_isAcyclic_iff_reachable_eq π Mathlib.Combinatorics.SimpleGraph.Acyclic
{V : Type u_1} {G F : SimpleGraph V} (hle : F β€ G) (hF : F.IsAcyclic) : Maximal (fun F => F β€ G β§ F.IsAcyclic) F β F.Reachable = G.Reachable - SimpleGraph.exists_isAcyclic_reachable_eq_le_of_le_of_isAcyclic π Mathlib.Combinatorics.SimpleGraph.Acyclic
{V : Type u_1} {G H : SimpleGraph V} (hH_le : H β€ G) (hH_isAcyclic : H.IsAcyclic) : β F, H β€ F β§ F β€ G β§ F.IsAcyclic β§ F.Reachable = G.Reachable - SimpleGraph.IsAcyclic.dist_eq_dist_add_one_of_adj_of_reachable π Mathlib.Combinatorics.SimpleGraph.Acyclic
{V : Type u_1} {G : SimpleGraph V} (hG : G.IsAcyclic) (u : V) {v w : V} (hadj : G.Adj v w) (hreach : G.Reachable u v) : G.dist u v = G.dist u w + 1 β¨ G.dist u w = G.dist u v + 1 - SimpleGraph.instDecidableRelReachable π Mathlib.Combinatorics.SimpleGraph.Connectivity.Finite
{V : Type u} (G : SimpleGraph V) [DecidableEq V] [Fintype V] [DecidableRel G.Adj] : DecidableRel G.Reachable - SimpleGraph.reachable_iff_exists_finsetWalkLength_nonempty π Mathlib.Combinatorics.SimpleGraph.Connectivity.Finite
{V : Type u} (G : SimpleGraph V) [DecidableEq V] [Fintype V] [DecidableRel G.Adj] (u v : V) : G.Reachable u v β β n, (G.finsetWalkLength (βn) u v).Nonempty - SimpleGraph.ConnectedComponent.Represents.image_out π Mathlib.Combinatorics.SimpleGraph.Connectivity.Represents
{V : Type u} {G : SimpleGraph V} (C : Set G.ConnectedComponent) : SimpleGraph.ConnectedComponent.Represents (Quot.out '' C) C - SimpleGraph.IsCycles.reachable_deleteEdges π Mathlib.Combinatorics.SimpleGraph.Matching
{V : Type u_1} {G : SimpleGraph V} {v w : V} [Finite V] (hadj : G.Adj v w) (hcyc : G.IsCycles) : (G.deleteEdges {s(v, w)}).Reachable v w - SimpleGraph.IsCycles.reachable_sdiff_toSubgraph_spanningCoe π Mathlib.Combinatorics.SimpleGraph.Matching
{V : Type u_1} {G : SimpleGraph V} [Finite V] {v w : V} (hcyc : G.IsCycles) (p : G.Walk v w) (hp : p.IsPath) : (G \ p.toSubgraph.spanningCoe).Reachable w v - SimpleGraph.lapMatrix_mulVec_eq_zero_iff_forall_reachable π Mathlib.Combinatorics.SimpleGraph.LapMatrix
{V : Type u_1} [Fintype V] (G : SimpleGraph V) [DecidableRel G.Adj] [DecidableEq V] {x : V β β} : (SimpleGraph.lapMatrix β G).mulVec x = 0 β β (i j : V), G.Reachable i j β x i = x j - SimpleGraph.lapMatrix_toLinearMapβ'_apply'_eq_zero_iff_forall_reachable π Mathlib.Combinatorics.SimpleGraph.LapMatrix
{V : Type u_1} (R : Type u_2) [Fintype V] (G : SimpleGraph V) [DecidableRel G.Adj] [DecidableEq V] [Field R] [LinearOrder R] [IsStrictOrderedRing R] (x : V β R) : (((Matrix.toLinearMapβ' R) (SimpleGraph.lapMatrix R G)) x) x = 0 β β (i j : V), G.Reachable i j β x i = x j
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