Documentation

Matroid.Graph.Lattice

theorem Graph.WithTop.eq_top_or_eq_some {α : Type u_5} (a' : WithTop α) :
a' = ∃ (a : α), a' = a
noncomputable def Graph.WithTop.sInter {α : Type u_1} {β : Type u_2} (s : Set (WithTop (Graph α β))) :
WithTop (Graph α β)
Equations
Instances For
    Equations
    noncomputable instance Graph.WithTop.instCompleteLatticeWithTop_matroid {α : Type u_1} {β : Type u_2} :
    Equations
    • One or more equations did not get rendered due to their size.
    @[reducible]
    def Graph.Subgraph {α : Type u_1} {β : Type u_2} (G : Graph α β) :
    Type (max 0 u_1 u_2)
    Equations
    Instances For
      instance Graph.Subgraph.instCoeOut {α : Type u_1} {β : Type u_2} {G : Graph α β} :
      Equations
      @[simp]
      theorem Graph.Subgraph.le {α : Type u_1} {β : Type u_2} {G : Graph α β} (H : G.Subgraph) :
      H G
      @[simp]
      theorem Graph.Subgraph.mk_le_iff {α : Type u_1} {β : Type u_2} {G H₁ : Graph α β} {hH₁ : H₁ G} {H : G.Subgraph} :
      H₁, hH₁ H H₁ H
      @[simp]
      theorem Graph.Subgraph.le_mk_iff {α : Type u_1} {β : Type u_2} {G H₁ : Graph α β} {hH₁ : H₁ G} {H : G.Subgraph} :
      H H₁, hH₁ H H₁
      @[simp]
      theorem Graph.Subgraph.compatible {α : Type u_1} {β : Type u_2} {G : Graph α β} (H₁ H₂ : G.Subgraph) :
      (↑H₁).Compatible H₂
      @[simp]
      theorem Graph.Subgraph.pairwise_compatible {α : Type u_1} {β : Type u_2} {ι : Type u_3} {G : Graph α β} (H : ιG.Subgraph) :
      Pairwise (Function.onFun Compatible fun (i : ι) => (H i))
      @[simp]
      theorem Graph.Subgraph.set_pairwise_compatible {α : Type u_1} {β : Type u_2} {G : Graph α β} (s : Set G.Subgraph) :
      instance Graph.Subgraph.instCompleteLattice {α : Type u_1} {β : Type u_2} {G : Graph α β} :

      The proof that the subgraphs of a graph G form a completely distributive lattice.

      Equations
      • One or more equations did not get rendered due to their size.
      @[simp]
      theorem Graph.Subgraph.coe_top {α : Type u_1} {β : Type u_2} {G : Graph α β} :
      = G
      @[simp]
      theorem Graph.Subgraph.coe_bot {α : Type u_1} {β : Type u_2} {G : Graph α β} :
      =
      theorem Graph.Subgraph.coe_iInf {α : Type u_1} {β : Type u_2} {ι : Type u_3} {G : Graph α β} (H : ιG.Subgraph) :
      (⨅ (i : ι), H i) = Graph.iInter fun (x : Option ι) => x.elim G fun (x : ι) => (H x)
      @[simp]
      theorem Graph.Subgraph.iInf_of_isEmpty {α : Type u_1} {β : Type u_2} {ι : Type u_3} {G : Graph α β} [IsEmpty ι] (H : ιG.Subgraph) :
      (⨅ (i : ι), H i) = G
      @[simp]
      theorem Graph.Subgraph.coe_iInf_of_nonempty {α : Type u_1} {β : Type u_2} {ι : Type u_3} {G : Graph α β} [Nonempty ι] (H : ιG.Subgraph) :
      (⨅ (i : ι), H i) = Graph.iInter fun (i : ι) => (H i)
      theorem Graph.Subgraph.coe_sInf {α : Type u_1} {β : Type u_2} {G : Graph α β} (s : Set G.Subgraph) :
      (sInf s) = Graph.sInter (insert G (Subtype.val '' s))
      theorem Graph.Subgraph.coe_sInf_of_nonempty {α : Type u_1} {β : Type u_2} {G : Graph α β} (s : Set G.Subgraph) (hs : s.Nonempty) :
      theorem Graph.Subgraph.coe_sInf_of_empty {α : Type u_1} {β : Type u_2} {G : Graph α β} :
      (sInf ) = G
      @[simp]
      theorem Graph.Subgraph.coe_iSup {α : Type u_1} {β : Type u_2} {ι : Type u_3} {G : Graph α β} (H : ιG.Subgraph) :
      (⨆ (i : ι), H i) = Graph.iUnion (fun (i : ι) => (H i))
      @[simp]
      theorem Graph.Subgraph.coe_sSup {α : Type u_1} {β : Type u_2} {G : Graph α β} (s : Set G.Subgraph) :
      @[simp]
      theorem Graph.Subgraph.coe_sup {α : Type u_1} {β : Type u_2} {G : Graph α β} (H₁ H₂ : G.Subgraph) :
      (H₁H₂) = H₁ H₂
      @[simp]
      theorem Graph.Subgraph.coe_sup_eq_union {α : Type u_1} {β : Type u_2} {G : Graph α β} (H₁ H₂ : G.Subgraph) :
      (H₁H₂) = H₁ H₂
      @[simp]
      theorem Graph.Subgraph.coe_inf {α : Type u_1} {β : Type u_2} {G : Graph α β} (H₁ H₂ : G.Subgraph) :
      (H₁H₂) = H₁ H₂
      @[simp]
      theorem Graph.Subgraph.range_iSup {α : Type u_1} {β : Type u_2} {ι : Type u_3} {ι' : Type u_4} {G : Graph α β} (f : ι'ι) (H : ιG.Subgraph) :
      ⨆ (i : (Set.range f)), H i = ⨆ (i : ι'), H (f i)
      @[simp]
      theorem Graph.Subgraph.range_iInf {α : Type u_1} {β : Type u_2} {ι : Type u_3} {ι' : Type u_4} {G : Graph α β} (f : ι'ι) (H : ιG.Subgraph) :
      ⨅ (i : (Set.range f)), H i = ⨅ (i : ι'), H (f i)
      theorem Graph.Subgraph.disjoint_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} (H₁ H₂ : G.Subgraph) :
      Disjoint H₁ H₂ (↑H₁).StronglyDisjoint H₂
      def Graph.Subgraph.of_le {α : Type u_1} {β : Type u_2} {G H : Graph α β} (H' : H.Subgraph) (hle : H G) :
      Equations
      Instances For
        @[simp]
        theorem Graph.Subgraph.coe_of_le {α : Type u_1} {β : Type u_2} {G H : Graph α β} (H' : H.Subgraph) (hle : H G) :
        (H'.of_le hle) = H'

        The proof that the subgraphs of a graph G form a completely distributive lattice.

        Equations
        Instances For
          @[reducible]
          def Graph.ClosedSubgraph {α : Type u_1} {β : Type u_2} (G : Graph α β) :
          Type (max 0 u_2 u_1)
          Equations
          Instances For
            def Graph.ClosedSubgraph.toSubgraph {α : Type u_1} {β : Type u_2} {G : Graph α β} :

            The order embedding from closed subgraphs to subgraphs

            Equations
            Instances For
              @[simp]
              theorem Graph.ClosedSubgraph.toSubgraph_val_eq_val {α : Type u_1} {β : Type u_2} {G : Graph α β} :
              (fun (x : G.ClosedSubgraph) => (toSubgraph x)) = Subtype.val
              @[simp]
              theorem Graph.ClosedSubgraph.coe_toSubgraph {α : Type u_1} {β : Type u_2} {G : Graph α β} (H : G.ClosedSubgraph) :
              (toSubgraph H) = H
              instance Graph.ClosedSubgraph.instCoeOut {α : Type u_1} {β : Type u_2} {G : Graph α β} :
              Equations
              @[simp]
              theorem Graph.ClosedSubgraph.mk_le_iff {α : Type u_1} {β : Type u_2} {G H₁ : Graph α β} {hH₁ : H₁.IsClosedSubgraph G} {H : G.ClosedSubgraph} :
              H₁, hH₁ H H₁ H
              @[simp]
              theorem Graph.ClosedSubgraph.le_mk_iff {α : Type u_1} {β : Type u_2} {G H₁ : Graph α β} {hH₁ : H₁.IsClosedSubgraph G} {H : G.ClosedSubgraph} :
              H H₁, hH₁ H H₁
              instance Graph.ClosedSubgraph.instLattice {α : Type u_1} {β : Type u_2} {G : Graph α β} :
              Equations
              • One or more equations did not get rendered due to their size.
              theorem Graph.ClosedSubgraph.coe_le_coe {α : Type u_1} {β : Type u_2} {G : Graph α β} {H₀ H : G.ClosedSubgraph} :
              H₀ H H₀ H
              theorem Graph.ClosedSubgraph.coe_lt_coe {α : Type u_1} {β : Type u_2} {G : Graph α β} {H₀ H : G.ClosedSubgraph} :
              H₀ < H H₀ < H
              theorem Graph.ClosedSubgraph.toSubgraph_le_toSubgraph {α : Type u_1} {β : Type u_2} {G : Graph α β} {H₁ H₂ : G.ClosedSubgraph} :
              toSubgraph H₁ toSubgraph H₂ H₁ H₂
              theorem Graph.ClosedSubgraph.toSubgraph_lt_toSubgraph {α : Type u_1} {β : Type u_2} {G : Graph α β} {H₁ H₂ : G.ClosedSubgraph} :
              toSubgraph H₁ < toSubgraph H₂ H₁ < H₂
              @[simp]
              theorem Graph.ClosedSubgraph.coe_sup {α : Type u_1} {β : Type u_2} {G : Graph α β} (H₁ H₂ : G.ClosedSubgraph) :
              (H₁H₂) = H₁ H₂
              @[simp]
              theorem Graph.ClosedSubgraph.coe_inf {α : Type u_1} {β : Type u_2} {G : Graph α β} (H₁ H₂ : G.ClosedSubgraph) :
              (H₁H₂) = H₁ H₂
              @[simp]
              theorem Graph.ClosedSubgraph.pairwise_compatible {α : Type u_1} {β : Type u_2} {ι : Type u_3} {G : Graph α β} (H : ιG.ClosedSubgraph) :
              Pairwise (Function.onFun Compatible fun (i : ι) => (H i))
              @[simp]
              theorem Graph.ClosedSubgraph.sup_vertexSet {α : Type u_1} {β : Type u_2} {G : Graph α β} (H₁ H₂ : G.ClosedSubgraph) :
              (↑(H₁H₂)).vertexSet = (↑H₁).vertexSet (↑H₂).vertexSet
              @[simp]
              theorem Graph.ClosedSubgraph.sup_edgeSet {α : Type u_1} {β : Type u_2} {G : Graph α β} (H₁ H₂ : G.ClosedSubgraph) :
              (↑(H₁H₂)).edgeSet = (↑H₁).edgeSet (↑H₂).edgeSet
              @[simp]
              theorem Graph.ClosedSubgraph.inf_vertexSet {α : Type u_1} {β : Type u_2} {G : Graph α β} (H₁ H₂ : G.ClosedSubgraph) :
              (↑(H₁H₂)).vertexSet = (↑H₁).vertexSet (↑H₂).vertexSet
              Equations
              • One or more equations did not get rendered due to their size.
              @[simp]
              theorem Graph.ClosedSubgraph.coe_top {α : Type u_1} {β : Type u_2} {G : Graph α β} :
              = G
              @[simp]
              theorem Graph.ClosedSubgraph.coe_bot {α : Type u_1} {β : Type u_2} {G : Graph α β} :
              =
              @[simp]
              theorem Graph.ClosedSubgraph.toSubgraph_sSup {α : Type u_1} {β : Type u_2} {G : Graph α β} (s : Set G.ClosedSubgraph) :
              toSubgraph (sSup s) = ⨆ (H : s), toSubgraph H
              @[simp]
              theorem Graph.ClosedSubgraph.coe_sSup {α : Type u_1} {β : Type u_2} {G : Graph α β} (s : Set G.ClosedSubgraph) :
              @[simp]
              theorem Graph.ClosedSubgraph.toSubgraph_iSup {α : Type u_1} {β : Type u_2} {ι : Type u_3} {G : Graph α β} (f : ιG.ClosedSubgraph) :
              toSubgraph (⨆ (i : ι), f i) = ⨆ (i : ι), toSubgraph (f i)
              @[simp]
              theorem Graph.ClosedSubgraph.coe_iSup {α : Type u_1} {β : Type u_2} {ι : Type u_3} {G : Graph α β} (f : ιG.ClosedSubgraph) (hf : Pairwise (Function.onFun Compatible fun (i : ι) => (f i))) :
              (⨆ (i : ι), f i) = Graph.iUnion (fun (i : ι) => (f i)) hf
              @[simp]
              theorem Graph.ClosedSubgraph.vertexSet_sSup {α : Type u_1} {β : Type u_2} {G : Graph α β} (s : Set G.ClosedSubgraph) :
              (↑(sSup s)).vertexSet = as, (↑a).vertexSet
              @[simp]
              theorem Graph.ClosedSubgraph.edgeSet_sSup {α : Type u_1} {β : Type u_2} {G : Graph α β} (s : Set G.ClosedSubgraph) :
              (↑(sSup s)).edgeSet = as, (↑a).edgeSet
              @[simp]
              theorem Graph.ClosedSubgraph.toSubgraph_iInf {α : Type u_1} {β : Type u_2} {ι : Type u_3} {G : Graph α β} (f : ιG.ClosedSubgraph) :
              toSubgraph (⨅ (i : ι), f i) = ⨅ (i : ι), toSubgraph (f i)
              @[simp]
              theorem Graph.ClosedSubgraph.coe_iInf_of_nonempty {α : Type u_1} {β : Type u_2} {ι : Type u_3} {G : Graph α β} [Nonempty ι] (f : ιG.ClosedSubgraph) :
              (⨅ (i : ι), f i) = Graph.iInter fun (i : ι) => (f i)
              @[simp]
              theorem Graph.ClosedSubgraph.coe_iInf_of_empty {α : Type u_1} {β : Type u_2} {ι : Type u_3} {G : Graph α β} [IsEmpty ι] (f : ιG.ClosedSubgraph) :
              (⨅ (i : ι), f i) = G
              @[simp]
              theorem Graph.ClosedSubgraph.toSubgraph_sInf {α : Type u_1} {β : Type u_2} {G : Graph α β} (s : Set G.ClosedSubgraph) :
              @[simp]
              theorem Graph.ClosedSubgraph.coe_sInf {α : Type u_1} {β : Type u_2} {G : Graph α β} (s : Set G.ClosedSubgraph) :
              (sInf s) = Graph.sInter (insert G (Subtype.val '' s))
              @[simp]
              theorem Graph.ClosedSubgraph.coe_sInf_of_nonempty {α : Type u_1} {β : Type u_2} {G : Graph α β} {s : Set G.ClosedSubgraph} (hs : s.Nonempty) :
              @[simp]
              theorem Graph.ClosedSubgraph.coe_sInf_of_empty {α : Type u_1} {β : Type u_2} {G : Graph α β} :
              (sInf ) = G
              theorem Graph.ClosedSubgraph.vertexSet_sInf_comm {α : Type u_1} {β : Type u_2} {G : Graph α β} (s : Set G.ClosedSubgraph) :
              (↑(sInf s)).vertexSet = G.vertexSet as, (↑a).vertexSet
              @[simp]
              theorem Graph.ClosedSubgraph.vertexSet_sInf_comm_of_nonempty {α : Type u_1} {β : Type u_2} {G : Graph α β} {s : Set G.ClosedSubgraph} (hs : s.Nonempty) :
              (↑(sInf s)).vertexSet = as, (↑a).vertexSet
              theorem Graph.ClosedSubgraph.compatible {α : Type u_1} {β : Type u_2} {G : Graph α β} (H₁ H₂ : G.ClosedSubgraph) :
              (↑H₁).Compatible H₂
              @[simp]
              theorem Graph.ClosedSubgraph.coe_eq_induce {α : Type u_1} {β : Type u_2} {G : Graph α β} (H : G.ClosedSubgraph) :
              G[(↑H).vertexSet] = H
              theorem Graph.ClosedSubgraph.ext_vertexSet {α : Type u_1} {β : Type u_2} {G : Graph α β} {H₁ H₂ : G.ClosedSubgraph} (h : (↑H₁).vertexSet = (↑H₂).vertexSet) :
              H₁ = H₂
              theorem Graph.ClosedSubgraph.vertexSet_inj {α : Type u_1} {β : Type u_2} {G : Graph α β} {H₁ H₂ : G.ClosedSubgraph} :
              H₁ = H₂ (↑H₁).vertexSet = (↑H₂).vertexSet
              theorem Graph.ClosedSubgraph.vertexSet_injective {α : Type u_1} {β : Type u_2} {G : Graph α β} :
              theorem Graph.ClosedSubgraph.vertexSet_strictMono {α : Type u_1} {β : Type u_2} (G : Graph α β) :
              StrictMono fun (x : G.ClosedSubgraph) => (↑x).vertexSet
              theorem Graph.ClosedSubgraph.disjoint_iff {α : Type u_1} {β : Type u_2} {G : Graph α β} (H₁ H₂ : G.ClosedSubgraph) :
              Disjoint H₁ H₂ (↑H₁).StronglyDisjoint H₂
              theorem Graph.ClosedSubgraph.disjoint_iff_vertexSet_disjoint {α : Type u_1} {β : Type u_2} {G : Graph α β} {H₁ H₂ : G.ClosedSubgraph} :
              Disjoint H₁ H₂ Disjoint (↑H₁).vertexSet (↑H₂).vertexSet
              theorem Graph.ClosedSubgraph.disjoint_iff_val_disjoint {α : Type u_1} {β : Type u_2} {G : Graph α β} (H₁ H₂ : G.ClosedSubgraph) :
              Disjoint H₁ H₂ Disjoint H₁ H₂
              @[simp]
              theorem Graph.ClosedSubgraph.eq_ambient_of_subset_vertexSet {α : Type u_1} {β : Type u_2} {G : Graph α β} {H : G.ClosedSubgraph} (h : G.vertexSet (↑H).vertexSet) :
              H =
              theorem Graph.ClosedSubgraph.le_iff_vertexSet_subset {α : Type u_1} {β : Type u_2} {G : Graph α β} {H₁ H₂ : G.ClosedSubgraph} :
              H₁ H₂ (↑H₁).vertexSet (↑H₂).vertexSet
              theorem Graph.ClosedSubgraph.lt_iff_vertexSet_ssubset {α : Type u_1} {β : Type u_2} {G : Graph α β} {H₁ H₂ : G.ClosedSubgraph} :
              H₁ < H₂ (↑H₁).vertexSet (↑H₂).vertexSet
              @[simp]
              theorem Graph.ClosedSubgraph.compl_vertexSet {α : Type u_1} {β : Type u_2} {G : Graph α β} (H : G.ClosedSubgraph) :
              @[simp]
              theorem Graph.ClosedSubgraph.compl_edgeSet {α : Type u_1} {β : Type u_2} {G : Graph α β} (H : G.ClosedSubgraph) :
              (↑H).edgeSet = G.edgeSet \ (↑H).edgeSet
              theorem Graph.ClosedSubgraph.compl_eq_of_stronglyDisjoint_union {α : Type u_1} {β : Type u_2} {H₁ H₂ : Graph α β} (hdisj : H₁.StronglyDisjoint H₂) :
              H₁, = H₂,
              theorem Graph.ClosedSubgraph.isAtom_iff_isCompOf {α : Type u_1} {β : Type u_2} {G : Graph α β} (H : G.ClosedSubgraph) :
              IsAtom H (↑H).IsCompOf G
              theorem Graph.IsClosedSubgraph.eq_induce {α : Type u_1} {β : Type u_2} {G H₁ : Graph α β} (hcl : H₁.IsClosedSubgraph G) :
              H₁ = G[H₁.vertexSet]
              theorem Graph.IsClosedSubgraph.vertexSet_inj {α : Type u_1} {β : Type u_2} {G H₁ H₂ : Graph α β} (hcl₁ : H₁.IsClosedSubgraph G) (hcl₂ : H₂.IsClosedSubgraph G) :
              H₁ = H₂ H₁.vertexSet = H₂.vertexSet
              theorem Graph.IsClosedSubgraph.eq_ambient_of_subset_vertexSet {α : Type u_1} {β : Type u_2} {G H : Graph α β} (hcl : H.IsClosedSubgraph G) (h : G.vertexSet H.vertexSet) :
              H = G
              theorem Graph.IsClosedSubgraph.le_iff_vertexSet_subset {α : Type u_1} {β : Type u_2} {G H₁ H₂ : Graph α β} (hcl₁ : H₁.IsClosedSubgraph G) (hcl₂ : H₂.IsClosedSubgraph G) :
              H₁ H₂ H₁.vertexSet H₂.vertexSet
              theorem Graph.IsClosedSubgraph.lt_iff_vertexSet_ssubset {α : Type u_1} {β : Type u_2} {G H₁ H₂ : Graph α β} (hcl₁ : H₁.IsClosedSubgraph G) (hcl₂ : H₂.IsClosedSubgraph G) :
              H₁ < H₂ H₁.vertexSet H₂.vertexSet
              theorem Graph.IsCompOf.stronglyDisjoint_of_ne {α : Type u_1} {β : Type u_2} {G H₁ H₂ : Graph α β} (hco₁ : H₁.IsCompOf G) (hco₂ : H₂.IsCompOf G) (hne : H₁ H₂) :

              Distinct components are vertex-disjoint.

              theorem Graph.IsCompOf.eq_of_mem_mem {α : Type u_1} {β : Type u_2} {x : α} {G H₁ H₂ : Graph α β} (hH₁ : H₁.IsCompOf G) (hH₂ : H₂.IsCompOf G) (hx₁ : x H₁.vertexSet) (hx₂ : x H₂.vertexSet) :
              H₁ = H₂