Documentation

Matroid.Graph.Subgraph.Compatible

@[simp]
theorem Option.elim_eq_const_of_isEmpty {β : Type u_2} {α : Type u_5} [ : IsEmpty α] (f : αβ) (b : β) :
(fun (x : Option α) => x.elim b f) = fun (x : Option α) => b

Strongly disjointness #

structure Graph.StronglyDisjoint {α : Type u_1} {β : Type u_2} [CompleteLattice α] (G H : Graph α β) :

Two graphs are strongly disjoint if their edge sets and vertex sets are disjoint. This is a stronger notion of disjointness than Disjoint, see disjoint_iff_vertexSet_disjoint.

Instances For
    theorem Graph.StronglyDisjoint.symm {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} (h : G.StronglyDisjoint H) :
    theorem Graph.StronglyDisjoint_iff_of_le_le {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H₁ H₂ : Graph α β} (h₁ : H₁ G) (h₂ : H₂ G) :
    theorem Graph.StronglyDisjoint.disjoint {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} (h : G.StronglyDisjoint H) :

    Compatibility #

    def Graph.CompatibleAt {α : Type u_1} {β : Type u_2} [CompleteLattice α] (e : β) (G H : Graph α β) :
    Equations
    Instances For
      theorem Graph.compatibleAt_def {α : Type u_1} {β : Type u_2} [CompleteLattice α] {e : β} {G H : Graph α β} :
      CompatibleAt e G H e G.edgeSete H.edgeSet∀ (x y : α), G.IsLink e x y H.IsLink e x y
      theorem Graph.CompatibleAt.symm {α : Type u_1} {β : Type u_2} [CompleteLattice α] {e : β} {G H : Graph α β} (h : CompatibleAt e G H) :
      theorem Graph.CompatibleAt.comm {α : Type u_1} {β : Type u_2} [CompleteLattice α] {e : β} {G H : Graph α β} :
      theorem Graph.compatibleAt_self {α : Type u_1} {β : Type u_2} [CompleteLattice α] {e : β} {G : Graph α β} :
      instance Graph.instIsReflCompatibleAt {α : Type u_1} {β : Type u_2} [CompleteLattice α] {e : β} :
      instance Graph.instIsSymmCompatibleAt {α : Type u_1} {β : Type u_2} [CompleteLattice α] {e : β} :
      theorem Graph.compatibleAt_symmetric {α : Type u_1} {β : Type u_2} [CompleteLattice α] {e : β} :
      theorem Graph.compatibleAt_of_notMem_left {α : Type u_1} {β : Type u_2} [CompleteLattice α] {e : β} {G H : Graph α β} (he : eG.edgeSet) :
      theorem Graph.compatibleAt_of_notMem_right {α : Type u_1} {β : Type u_2} [CompleteLattice α] {e : β} {G H : Graph α β} (he : eH.edgeSet) :
      theorem Graph.IsLink.compatibleAt_iff_left {α : Type u_1} {β : Type u_2} [CompleteLattice α] {x y : α} {e : β} {G H : Graph α β} (hIsLink : G.IsLink e x y) :
      CompatibleAt e G H e H.edgeSetH.IsLink e x y
      theorem Graph.IsLink.compatibleAt_iff_right {α : Type u_1} {β : Type u_2} [CompleteLattice α] {x y : α} {e : β} {G H : Graph α β} (h : H.IsLink e x y) :
      CompatibleAt e G H e G.edgeSetG.IsLink e x y
      theorem Graph.IsLink.of_compatibleAt {α : Type u_1} {β : Type u_2} [CompleteLattice α] {x y : α} {e : β} {G H : Graph α β} (he : G.IsLink e x y) (h : CompatibleAt e G H) (heH : e H.edgeSet) :
      H.IsLink e x y
      theorem Graph.CompatibleAt.mono_left {α : Type u_1} {β : Type u_2} [CompleteLattice α] {e : β} {G H G₀ : Graph α β} (h : CompatibleAt e G H) (hle : G₀ G) :
      CompatibleAt e G₀ H
      theorem Graph.CompatibleAt.mono_right {α : Type u_1} {β : Type u_2} [CompleteLattice α] {e : β} {G H H₀ : Graph α β} (h : CompatibleAt e G H) (hH₀ : H₀ H) :
      CompatibleAt e G H₀
      theorem Graph.CompatibleAt.mono {α : Type u_1} {β : Type u_2} [CompleteLattice α] {e : β} {G H G₀ H₀ : Graph α β} (h : CompatibleAt e G H) (hG : G₀ G) (hH : H₀ H) :
      CompatibleAt e G₀ H₀
      theorem Graph.CompatibleAt.induce_left {α : Type u_1} {β : Type u_2} [CompleteLattice α] {e : β} {G H : Graph α β} (h : CompatibleAt e G H) (X : Set α) :
      theorem Graph.CompatibleAt.induce_right {α : Type u_1} {β : Type u_2} [CompleteLattice α] {e : β} {G H : Graph α β} (h : CompatibleAt e G H) (X : Set α) :
      theorem Graph.CompatibleAt.induce {α : Type u_1} {β : Type u_2} [CompleteLattice α] {e : β} {G H : Graph α β} (h : CompatibleAt e G H) (X : Set α) :
      def Graph.Compatible {α : Type u_1} {β : Type u_2} [CompleteLattice α] (G H : Graph α β) :

      Two graphs are Compatible if the edges in their intersection agree on their ends

      Equations
      Instances For
        theorem Graph.Compatible.compatibleAt {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} (h : G.Compatible H) (e : β) :
        theorem Graph.Compatible.symm {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} (h : G.Compatible H) :
        instance Graph.instIsSymmCompatible {α : Type u_1} {β : Type u_2} [CompleteLattice α] :
        theorem Graph.compatible_comm {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} :
        theorem Graph.compatible_of_le_le {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H₁ H₂ : Graph α β} (h₁ : H₁ G) (h₂ : H₂ G) :
        H₁.Compatible H₂

        Two subgraphs of the same graph are compatible.

        theorem Graph.compatible_of_forall_map_le {α : Type u_1} {β : Type u_2} {ι : Type u_3} [CompleteLattice α] {G : Graph α β} { : ιGraph α β} (h : ∀ (i : ι), i G) :
        theorem Graph.compatible_of_forall_mem_le {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G : Graph α β} {s : Set (Graph α β)} (h : ∀ ⦃H : Graph α β⦄, H sH G) :
        theorem Graph.compatible_of_le {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} (h : H G) :
        theorem Graph.IsLink.of_compatible {α : Type u_1} {β : Type u_2} [CompleteLattice α] {x y : α} {e : β} {G H : Graph α β} (h : G.IsLink e x y) (hGH : G.Compatible H) (heH : e H.edgeSet) :
        H.IsLink e x y
        theorem Graph.Inc.of_compatible {α : Type u_1} {β : Type u_2} [CompleteLattice α] {x : α} {e : β} {G H : Graph α β} (h : G.Inc e x) (hGH : G.Compatible H) (heH : e H.edgeSet) :
        H.Inc e x
        theorem Graph.IsLoopAt.of_compatible {α : Type u_1} {β : Type u_2} [CompleteLattice α] {x : α} {e : β} {G H : Graph α β} (h : G.IsLoopAt e x) (hGH : G.Compatible H) (heH : e H.edgeSet) :
        H.IsLoopAt e x
        theorem Graph.IsNonloopAt.of_compatible {α : Type u_1} {β : Type u_2} [CompleteLattice α] {x : α} {e : β} {G H : Graph α β} (h : G.IsNonloopAt e x) (hGH : G.Compatible H) (heH : e H.edgeSet) :
        @[simp]
        theorem Graph.compatible_self {α : Type u_1} {β : Type u_2} [CompleteLattice α] (G : Graph α β) :
        instance Graph.instIsReflCompatible {α : Type u_1} {β : Type u_2} [CompleteLattice α] :
        theorem Graph.Compatible.of_disjoint_edgeSet {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} (h : Disjoint G.edgeSet H.edgeSet) :
        @[simp]
        theorem Graph.compatible_edgeDelete_right {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} :
        theorem Graph.Compatible.pair {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} (h : G.Compatible H) :
        @[simp]

        Used to simplify the definition of the union of a pair.

        theorem Graph.Compatible.mono_left {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H G₀ : Graph α β} (h : G.Compatible H) (hG₀ : G₀ G) :
        G₀.Compatible H
        theorem Graph.Compatible.mono_right {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H H₀ : Graph α β} (h : G.Compatible H) (hH₀ : H₀ H) :
        G.Compatible H₀
        theorem Graph.Compatible.mono {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H G₀ H₀ : Graph α β} (h : G.Compatible H) (hG : G₀ G) (hH : H₀ H) :
        G₀.Compatible H₀
        theorem Graph.Compatible.induce_left {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} (h : G.Compatible H) (X : Set α) :
        theorem Graph.Compatible.induce_right {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} (h : G.Compatible H) (X : Set α) :
        theorem Graph.Compatible.induce {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} {X : Set α} (h : G.Compatible H) :
        theorem Graph.Compatible.vertexDelete {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} {X : Set α} (h : G.Compatible H) :
        (G - X).Compatible H - X
        theorem Graph.Compatible.edgeDelete {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} {F : Set β} (h : G.Compatible H) :
        theorem Graph.Compatible.edgeRestrict {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} {F : Set β} (h : G.Compatible H) :
        @[simp]
        theorem Graph.Compatible.induce_induce {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G : Graph α β} {X Y : Set α} :
        theorem Graph.StronglyDisjoint.compatible {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} (h : G.StronglyDisjoint H) :
        @[deprecated "Pairwise.const_of_refl" (since := "2025-07-30")]
        theorem Graph.pairwise_compatible_const {α : Type u_1} {β : Type u_2} {ι : Type u_3} [CompleteLattice α] (G : Graph α β) :
        Pairwise (Function.onFun Compatible fun (x : ι) => G)
        @[deprecated "Pairwise.onFun_comp_of_refl" (since := "2025-07-30")]
        theorem Graph.pairwise_compatible_comp {α : Type u_1} {β : Type u_2} [CompleteLattice α] {ι : Type u_5} {ι' : Type u_6} {G : ιGraph α β} (hG : Pairwise (Function.onFun Compatible G)) (f : ι'ι) :
        def Graph.Dup_agree {α : Type u_1} {β : Type u_2} [CompleteLattice α] (G H : Graph α β) :
        Equations
        Instances For
          theorem Graph.Dup_agree.mem_iff_subset {α : Type u_1} {β : Type u_2} [CompleteLattice α] {x : α} {G H : Graph α β} (h : G.Dup_agree H) (hxG : x G.vertexSet) :
          @[simp]
          theorem Graph.dup_agree_rfl {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G : Graph α β} :
          instance Graph.instIsReflDup_agree {α : Type u_1} {β : Type u_2} [CompleteLattice α] :
          theorem Graph.Dup_agree.symm {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} (h : G.Dup_agree H) :
          instance Graph.instIsSymmDup_agree {α : Type u_1} {β : Type u_2} [CompleteLattice α] :
          @[simp]
          theorem Graph.Dup_agree_comm {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} :
          @[deprecated "Pairwise.onFun_comp_of_refl" (since := "2025-07-30")]
          theorem Graph.pairwise_dup_agree_comp {α : Type u_1} {β : Type u_2} [CompleteLattice α] {ι : Type u_5} {ι' : Type u_6} {G : ιGraph α β} (hG : Pairwise (Function.onFun Dup_agree G)) (f : ι'ι) :
          theorem Graph.Dup_agree.mono_left {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H G₀ : Graph α β} (h : G.Dup_agree H) (hG₀ : G₀ G) :
          G₀.Dup_agree H
          theorem Graph.Dup_agree.mono_right {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H H₀ : Graph α β} (h : G.Dup_agree H) (hH₀ : H₀ H) :
          G.Dup_agree H₀
          theorem Graph.Dup_agree.mono {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H G₀ H₀ : Graph α β} (h : G.Dup_agree H) (hG : G₀ G) (hH : H₀ H) :
          G₀.Dup_agree H₀
          theorem Graph.dup_agree_of_le_le {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H₁ H₂ : Graph α β} (h₁ : H₁ G) (h₂ : H₂ G) :
          H₁.Dup_agree H₂
          theorem Graph.dup_agree_of_forall_map_le {α : Type u_1} {β : Type u_2} {ι : Type u_3} [CompleteLattice α] {G : Graph α β} { : ιGraph α β} (h : ∀ (i : ι), i G) :
          theorem Graph.dup_agree_of_forall_mem_le {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G : Graph α β} {s : Set (Graph α β)} (h : ∀ ⦃H : Graph α β⦄, H sH G) :
          theorem Graph.dup_agree_of_le {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} (h : H G) :
          theorem Graph.Dup_agree.pair {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} (h : G.Dup_agree H) :
          theorem Graph.Dup_agree.pair_edgeDelete {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} (h : G.Dup_agree H) :

          Used to simplify the definition of the union of a pair.

          @[simp]
          theorem Graph.Dup_agree.induce {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} (X : Set α) (h : G.Dup_agree H) :
          theorem Graph.Dup_agree.vertexDelete {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} (X : Set α) (h : G.Dup_agree H) :
          (G - X).Dup_agree H - X
          theorem Graph.Dup_agree.edgeDelete {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} (F : Set β) (h : G.Dup_agree H) :
          theorem Graph.Dup_agree.edgeRestrict {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} (F : Set β) (h : G.Dup_agree H) :
          @[simp]
          theorem Graph.pairwise_dup_agree_edgeDelete {α : Type u_1} {β : Type u_2} [CompleteLattice α] {G H : Graph α β} (hG' : G.Dup_agree H) :
          theorem Graph.Pairwise.induce_dup_agree {α : Type u_1} {β : Type u_2} {ι : Type u_3} [CompleteLattice α] {G : ιGraph α β} (h : Pairwise (Function.onFun Dup_agree G)) (P : Set α) :
          Pairwise (Function.onFun Dup_agree fun (i : ι) => (G i)[P])
          theorem Graph.Pairwise.vertexDelete_dup_agree {α : Type u_1} {β : Type u_2} {ι : Type u_3} [CompleteLattice α] {G : ιGraph α β} (h : Pairwise (Function.onFun Dup_agree G)) (X : Set α) :
          Pairwise (Function.onFun Dup_agree fun (i : ι) => (G i) - X)
          theorem Graph.Pairwise.edgeDelete_dup_agree {α : Type u_1} {β : Type u_2} {ι : Type u_3} [CompleteLattice α] {G : ιGraph α β} (h : Pairwise (Function.onFun Dup_agree G)) (F : Set β) :
          Pairwise (Function.onFun Dup_agree fun (i : ι) => (G i).edgeDelete F)
          theorem Graph.Pairwise.edgeRestrict_dup_agree {α : Type u_1} {β : Type u_2} {ι : Type u_3} [CompleteLattice α] {G : ιGraph α β} (h : Pairwise (Function.onFun Dup_agree G)) (F : Set β) :
          Pairwise (Function.onFun Dup_agree fun (i : ι) => (G i).edgeRestrict F)
          theorem Graph.Set.Pairwise.induce_dup_agree {α : Type u_1} {β : Type u_2} [CompleteLattice α] {S : Set (Graph α β)} (h : S.Pairwise Dup_agree) (P : Set α) :
          ((fun (x : Graph α β) => x[P]) '' S).Pairwise Dup_agree
          theorem Graph.Set.Pairwise.vertexDelete_dup_agree {α : Type u_1} {β : Type u_2} [CompleteLattice α] {S : Set (Graph α β)} (h : S.Pairwise Dup_agree) (X : Set α) :
          ((fun (x : Graph α β) => x - X) '' S).Pairwise Dup_agree
          theorem Graph.Set.Pairwise.edgeDelete_dup_agree {α : Type u_1} {β : Type u_2} [CompleteLattice α] {S : Set (Graph α β)} (h : S.Pairwise Dup_agree) (F : Set β) :
          ((fun (x : Graph α β) => x.edgeDelete F) '' S).Pairwise Dup_agree
          theorem Graph.Set.Pairwise.edgeRestrict_dup_agree {α : Type u_1} {β : Type u_2} [CompleteLattice α] {S : Set (Graph α β)} (h : S.Pairwise Dup_agree) (F : Set β) :
          ((fun (x : Graph α β) => x.edgeRestrict F) '' S).Pairwise Dup_agree