ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- SetTheory.PGame.neg_star
@[simp]
theorem neg_star : -star = star 
Goal: -SetTheory.PGame.star = SetTheory.PGame.star
-- SetTheory.PGame.zero_lt_one
@[simp]
protected theorem zero_lt_one : (0 : PGame) < 1 
Goal: 0 < 1
-- SetTheory.PGame.zero_lf_one
@[simp]
theorem zero_lf_one : (0 : PGame) ⧏ 1 
Goal: SetTheory.PGame.LF 0 1
-- catalan_zero
@[simp]
theorem catalan_zero : catalan 0 = 1 
Goal: catalan 0 = 1
-- catalan_succ
theorem catalan_succ (n : ℕ) : catalan (n + 1) = ∑ i : Fin n.succ, catalan i * catalan (n - i) 
Arguments: (n : ℕ)
Goal: catalan (n + 1) = ∑ i : Fin n.succ, catalan ↑i * catalan (n - ↑i)
-- catalan_succ'
theorem catalan_succ' (n : ℕ) :
    catalan (n + 1) = ∑ ij ∈ antidiagonal n, catalan ij.1 * catalan ij.2 
Arguments: (n : ℕ)
Goal: catalan (n + 1) = ∑ ij ∈ Finset.antidiagonal n, catalan ij.1 * catalan ij.2
-- catalan_one
@[simp]
theorem catalan_one : catalan 1 = 1 
Goal: catalan 1 = 1
-- _private.Mathlib.Combinatorics.Enumerative.Catalan.0.gosper_trick
private theorem gosper_trick {n i : ℕ} (h : i ≤ n) :
    gosperCatalan (n + 1) (i + 1) - gosperCatalan (n + 1) i =
      Nat.centralBinom i / (i + 1) * Nat.centralBinom (n - i) / (n - i + 1) 
Arguments: {n i : ℕ} (h : i ≤ n)
Goal: gosperCatalan (n + 1) (i + 1) - gosperCatalan (n + 1) i =
  ↑i.centralBinom / (↑i + 1) * ↑(n - i).centralBinom / (↑n - ↑i + 1)
-- _private.Mathlib.Combinatorics.Enumerative.Catalan.0.gosper_catalan_sub_eq_central_binom_div
private theorem gosper_catalan_sub_eq_central_binom_div (n : ℕ) : gosperCatalan (n + 1) (n + 1) -
    gosperCatalan (n + 1) 0 = Nat.centralBinom (n + 1) / (n + 2) 
Arguments: (n : ℕ)
Goal: gosperCatalan (n + 1) (n + 1) - gosperCatalan (n + 1) 0 = ↑(n + 1).centralBinom / (↑n + 2)
-- catalan_eq_centralBinom_div
theorem catalan_eq_centralBinom_div (n : ℕ) : catalan n = n.centralBinom / (n + 1) 
Arguments: (n : ℕ)
Goal: catalan n = n.centralBinom / (n + 1)
-- succ_mul_catalan_eq_centralBinom
theorem succ_mul_catalan_eq_centralBinom (n : ℕ) : (n + 1) * catalan n = n.centralBinom 
Arguments: (n : ℕ)
Goal: (n + 1) * catalan n = n.centralBinom
-- catalan_two
theorem catalan_two : catalan 2 = 2 
Goal: catalan 2 = 2
-- catalan_three
theorem catalan_three : catalan 3 = 5 
Goal: catalan 3 = 5
-- Tree.treesOfNumNodesEq_zero
@[simp]
theorem treesOfNumNodesEq_zero : treesOfNumNodesEq 0 = {nil} 
Goal: Tree.treesOfNumNodesEq 0 = {Tree.nil}
-- Tree.treesOfNumNodesEq_succ
theorem treesOfNumNodesEq_succ (n : ℕ) :
    treesOfNumNodesEq (n + 1) =
      (antidiagonal n).biUnion fun ij =>
        pairwiseNode (treesOfNumNodesEq ij.1) (treesOfNumNodesEq ij.2) 
Arguments: (n : ℕ)
Goal: Tree.treesOfNumNodesEq (n + 1) =
  (Finset.antidiagonal n).biUnion fun ij =>
    Tree.pairwiseNode (Tree.treesOfNumNodesEq ij.1) (Tree.treesOfNumNodesEq ij.2)
-- Tree.mem_treesOfNumNodesEq
@[simp]
theorem mem_treesOfNumNodesEq {x : Tree Unit} {n : ℕ} :
    x ∈ treesOfNumNodesEq n ↔ x.numNodes = n 
Arguments: {x : Tree Unit} {n : ℕ}
Goal: x ∈ Tree.treesOfNumNodesEq n ↔ x.numNodes = n
-- Tree.mem_treesOfNumNodesEq_numNodes
theorem mem_treesOfNumNodesEq_numNodes (x : Tree Unit) : x ∈ treesOfNumNodesEq x.numNodes 
Arguments: (x : Tree Unit)
Goal: x ∈ Tree.treesOfNumNodesEq x.numNodes
-- Tree.coe_treesOfNumNodesEq
@[simp, norm_cast]
theorem coe_treesOfNumNodesEq (n : ℕ) :
    ↑(treesOfNumNodesEq n) = { x : Tree Unit | x.numNodes = n } 
Arguments: (n : ℕ)
Goal: ↑(Tree.treesOfNumNodesEq n) = {x | x.numNodes = n}
-- Tree.treesOfNumNodesEq_card_eq_catalan
theorem treesOfNumNodesEq_card_eq_catalan (n : ℕ) : (treesOfNumNodesEq n).card = catalan n 
Arguments: (n : ℕ)
Goal: (Tree.treesOfNumNodesEq n).card = catalan n
-- SimpleGraph.symm
@[ext, aesop safe constructors (rule_sets := [SimpleGraph])]
structure SimpleGraph (V : Type u) where
    Adj : V → V → Prop
  symm : Symmetric Adj := by aesop_graph
  loopless : Irreflexive Adj := by aesop_graph
Arguments: {V : Type u} (self : SimpleGraph V)
Goal: Symmetric self.Adj
-- SimpleGraph.loopless
@[ext, aesop safe constructors (rule_sets := [SimpleGraph])]
structure SimpleGraph (V : Type u) where
    Adj : V → V → Prop
  symm : Symmetric Adj := by aesop_graph
  loopless : Irreflexive Adj := by aesop_graph
Arguments: {V : Type u} (self : SimpleGraph V)
Goal: Irreflexive self.Adj
-- SimpleGraph.mk'_apply_adj
@[simps]
def SimpleGraph.mk' {V : Type u} :
    {adj : V → V → Bool // (∀ x y, adj x y = adj y x) ∧ (∀ x, ¬ adj x x)} ↪ SimpleGraph V 
Arguments: {V : Type u} (x : { adj // (∀ (x y : V), adj x y = adj y x) ∧ ∀ (x : V), ¬adj x x = true }) (v w : V)
Goal: (SimpleGraph.mk' x).Adj v w = (↑x v w = true)
-- SimpleGraph.fromRel_adj
@[simp]
theorem SimpleGraph.fromRel_adj {V : Type u} (r : V → V → Prop) (v w : V) :
    (SimpleGraph.fromRel r).Adj v w ↔ v ≠ w ∧ (r v w ∨ r w v) 
Arguments: {V : Type u} (r : V → V → Prop) (v w : V)
Goal: (SimpleGraph.fromRel r).Adj v w ↔ v ≠ w ∧ (r v w ∨ r w v)
-- completeBipartiteGraph_adj
@[simps]
def completeBipartiteGraph (V W : Type*) : SimpleGraph (V ⊕ W) 
Arguments: (V : Type u_1) (W : Type u_2) (v w : V ⊕ W)
Goal: (completeBipartiteGraph V W).Adj v w = (v.isLeft = true ∧ w.isRight = true ∨ v.isRight = true ∧ w.isLeft = true)
-- SimpleGraph.irrefl
@[simp]
protected theorem irrefl {v : V} : ¬G.Adj v v 
Arguments: {V : Type u} (G : SimpleGraph V) {v : V}
Goal: ¬G.Adj v v
-- SimpleGraph.adj_comm
theorem adj_comm (u v : V) : G.Adj u v ↔ G.Adj v u 
Arguments: {V : Type u} (G : SimpleGraph V) (u v : V)
Goal: G.Adj u v ↔ G.Adj v u
-- SimpleGraph.adj_symm
@[symm]
theorem adj_symm (h : G.Adj u v) : G.Adj v u 
Arguments: {V : Type u} (G : SimpleGraph V) {u v : V} (h : G.Adj u v)
Goal: G.Adj v u
-- SimpleGraph.Adj.symm
theorem Adj.symm {G : SimpleGraph V} {u v : V} (h : G.Adj u v) : G.Adj v u 
Arguments: {V : Type u} {G : SimpleGraph V} {u v : V} (h : G.Adj u v)
Goal: G.Adj v u
-- SimpleGraph.ne_of_adj
theorem ne_of_adj (h : G.Adj a b) : a ≠ b 
Arguments: {V : Type u} (G : SimpleGraph V) {a b : V} (h : G.Adj a b)
Goal: a ≠ b
-- SimpleGraph.Adj.ne
protected theorem Adj.ne {G : SimpleGraph V} {a b : V} (h : G.Adj a b) : a ≠ b 
Arguments: {V : Type u} {G : SimpleGraph V} {a b : V} (h : G.Adj a b)
Goal: a ≠ b
-- SimpleGraph.Adj.ne'
protected theorem Adj.ne' {G : SimpleGraph V} {a b : V} (h : G.Adj a b) : b ≠ a 
Arguments: {V : Type u} {G : SimpleGraph V} {a b : V} (h : G.Adj a b)
Goal: b ≠ a
-- SimpleGraph.ne_of_adj_of_not_adj
theorem ne_of_adj_of_not_adj {v w x : V} (h : G.Adj v x) (hn : ¬G.Adj w x) : v ≠ w 
Arguments: {V : Type u} (G : SimpleGraph V) {v w x : V} (h : G.Adj v x) (hn : ¬G.Adj w x)
Goal: v ≠ w
-- SimpleGraph.adj_injective
theorem adj_injective : Injective (Adj : SimpleGraph V → V → V → Prop) 
Arguments: {V : Type u}
Goal: Function.Injective SimpleGraph.Adj
-- SimpleGraph.adj_inj
@[simp]
theorem adj_inj {G H : SimpleGraph V} : G.Adj = H.Adj ↔ G = H 
Arguments: {V : Type u} {G H : SimpleGraph V}
Goal: G.Adj = H.Adj ↔ G = H
-- SimpleGraph.isSubgraph_eq_le
@[simp]
theorem isSubgraph_eq_le : (IsSubgraph : SimpleGraph V → SimpleGraph V → Prop) = (· ≤ ·) 
Arguments: {V : Type u}
Goal: SimpleGraph.IsSubgraph = fun x x_1 => x ≤ x_1
-- SimpleGraph.sup_adj
@[simp]
theorem sup_adj (x y : SimpleGraph V) (v w : V) : (x ⊔ y).Adj v w ↔ x.Adj v w ∨ y.Adj v w 
Arguments: {V : Type u} (x y : SimpleGraph V) (v w : V)
Goal: (x ⊔ y).Adj v w ↔ x.Adj v w ∨ y.Adj v w
-- SimpleGraph.inf_adj
@[simp]
theorem inf_adj (x y : SimpleGraph V) (v w : V) : (x ⊓ y).Adj v w ↔ x.Adj v w ∧ y.Adj v w 
Arguments: {V : Type u} (x y : SimpleGraph V) (v w : V)
Goal: (x ⊓ y).Adj v w ↔ x.Adj v w ∧ y.Adj v w
-- SimpleGraph.compl_adj
@[simp]
theorem compl_adj (G : SimpleGraph V) (v w : V) : Gᶜ.Adj v w ↔ v ≠ w ∧ ¬G.Adj v w 
Arguments: {V : Type u} (G : SimpleGraph V) (v w : V)
Goal: Gᶜ.Adj v w ↔ v ≠ w ∧ ¬G.Adj v w
-- SimpleGraph.sdiff_adj
@[simp]
theorem sdiff_adj (x y : SimpleGraph V) (v w : V) : (x \ y).Adj v w ↔ x.Adj v w ∧ ¬y.Adj v w 
Arguments: {V : Type u} (x y : SimpleGraph V) (v w : V)
Goal: (x \ y).Adj v w ↔ x.Adj v w ∧ ¬y.Adj v w
-- SimpleGraph.sSup_adj
@[simp]
theorem sSup_adj {s : Set (SimpleGraph V)} {a b : V} : (sSup s).Adj a b ↔ ∃ G ∈ s, Adj G a b 
Arguments: {V : Type u} {s : Set (SimpleGraph V)} {a b : V}
Goal: (sSup s).Adj a b ↔ ∃ G ∈ s, G.Adj a b
-- SimpleGraph.sInf_adj
@[simp]
theorem sInf_adj {s : Set (SimpleGraph V)} : (sInf s).Adj a b ↔ (∀ G ∈ s, Adj G a b) ∧ a ≠ b 
Arguments: {V : Type u} {a b : V} {s : Set (SimpleGraph V)}
Goal: (sInf s).Adj a b ↔ (∀ G ∈ s, G.Adj a b) ∧ a ≠ b
-- SimpleGraph.iSup_adj
@[simp]
theorem iSup_adj {f : ι → SimpleGraph V} : (⨆ i, f i).Adj a b ↔ ∃ i, (f i).Adj a b 
Arguments: {ι : Sort u_1} {V : Type u} {a b : V} {f : ι → SimpleGraph V}
Goal: (⨆ i, f i).Adj a b ↔ ∃ i, (f i).Adj a b
-- SimpleGraph.iInf_adj
@[simp]
theorem iInf_adj {f : ι → SimpleGraph V} : (⨅ i, f i).Adj a b ↔ (∀ i, (f i).Adj a b) ∧ a ≠ b 
Arguments: {ι : Sort u_1} {V : Type u} {a b : V} {f : ι → SimpleGraph V}
Goal: (⨅ i, f i).Adj a b ↔ (∀ (i : ι), (f i).Adj a b) ∧ a ≠ b
-- SimpleGraph.sInf_adj_of_nonempty
theorem sInf_adj_of_nonempty {s : Set (SimpleGraph V)} (hs : s.Nonempty) :
    (sInf s).Adj a b ↔ ∀ G ∈ s, Adj G a b 
Arguments: {V : Type u} {a b : V} {s : Set (SimpleGraph V)} (hs : s.Nonempty)
Goal: (sInf s).Adj a b ↔ ∀ G ∈ s, G.Adj a b
-- SimpleGraph.iInf_adj_of_nonempty
theorem iInf_adj_of_nonempty [Nonempty ι] {f : ι → SimpleGraph V} :
    (⨅ i, f i).Adj a b ↔ ∀ i, (f i).Adj a b 
Arguments: {ι : Sort u_1} {V : Type u} {a b : V} [Nonempty ι] {f : ι → SimpleGraph V}
Goal: (⨅ i, f i).Adj a b ↔ ∀ (i : ι), (f i).Adj a b
-- SimpleGraph.top_adj
@[simp]
theorem top_adj (v w : V) : (⊤ : SimpleGraph V).Adj v w ↔ v ≠ w 
Arguments: {V : Type u} (v w : V)
Goal: ⊤.Adj v w ↔ v ≠ w
-- SimpleGraph.bot_adj
@[simp]
theorem bot_adj (v w : V) : (⊥ : SimpleGraph V).Adj v w ↔ False 
Arguments: {V : Type u} (v w : V)
Goal: ⊥.Adj v w ↔ False
-- SimpleGraph.completeGraph_eq_top
@[simp]
theorem completeGraph_eq_top (V : Type u) : completeGraph V = ⊤ 
Arguments: (V : Type u)
Goal: completeGraph V = ⊤
-- SimpleGraph.emptyGraph_eq_bot
@[simp]
theorem emptyGraph_eq_bot (V : Type u) : emptyGraph V = ⊥ 
Arguments: (V : Type u)
Goal: emptyGraph V = ⊥
-- SimpleGraph.instInhabited_default
@[simps]
instance (V : Type u) : Inhabited (SimpleGraph V) 
Arguments: (V : Type u)
Goal: default = ⊥
-- SimpleGraph.mem_support
theorem mem_support {v : V} : v ∈ G.support ↔ ∃ w, G.Adj v w 
Arguments: {V : Type u} (G : SimpleGraph V) {v : V}
Goal: v ∈ G.support ↔ ∃ w, G.Adj v w
-- SimpleGraph.support_mono
theorem support_mono {G G' : SimpleGraph V} (h : G ≤ G') : G.support ⊆ G'.support 
Arguments: {V : Type u} {G G' : SimpleGraph V} (h : G ≤ G')
Goal: G.support ⊆ G'.support
-- SimpleGraph.mem_edgeSet
@[simp]
theorem mem_edgeSet : s(v, w) ∈ G.edgeSet ↔ G.Adj v w 
Arguments: {V : Type u} (G : SimpleGraph V) {v w : V}
Goal: s(v, w) ∈ G.edgeSet ↔ G.Adj v w
-- SimpleGraph.not_isDiag_of_mem_edgeSet
theorem not_isDiag_of_mem_edgeSet : e ∈ edgeSet G → ¬e.IsDiag 
Arguments: {V : Type u} (G : SimpleGraph V) {e : Sym2 V}
Goal: e ∈ G.edgeSet → ¬e.IsDiag
-- SimpleGraph.edgeSet_inj
theorem edgeSet_inj : G₁.edgeSet = G₂.edgeSet ↔ G₁ = G₂ 
Arguments: {V : Type u} {G₁ G₂ : SimpleGraph V}
Goal: G₁.edgeSet = G₂.edgeSet ↔ G₁ = G₂
-- SimpleGraph.edgeSet_subset_edgeSet
@[simp]
theorem edgeSet_subset_edgeSet : edgeSet G₁ ⊆ edgeSet G₂ ↔ G₁ ≤ G₂ 
Arguments: {V : Type u} {G₁ G₂ : SimpleGraph V}
Goal: G₁.edgeSet ⊆ G₂.edgeSet ↔ G₁ ≤ G₂
-- SimpleGraph.edgeSet_ssubset_edgeSet
@[simp]
theorem edgeSet_ssubset_edgeSet : edgeSet G₁ ⊂ edgeSet G₂ ↔ G₁ < G₂ 
Arguments: {V : Type u} {G₁ G₂ : SimpleGraph V}
Goal: G₁.edgeSet ⊂ G₂.edgeSet ↔ G₁ < G₂
-- SimpleGraph.edgeSet_injective
theorem edgeSet_injective : Injective (edgeSet : SimpleGraph V → Set (Sym2 V)) 
Arguments: {V : Type u}
Goal: Function.Injective SimpleGraph.edgeSet
-- SimpleGraph.edgeSet_bot
@[simp]
theorem edgeSet_bot : (⊥ : SimpleGraph V).edgeSet = ∅ 
Arguments: {V : Type u}
Goal: ⊥.edgeSet = ∅
-- SimpleGraph.edgeSet_top
@[simp]
theorem edgeSet_top : (⊤ : SimpleGraph V).edgeSet = {e | ¬e.IsDiag} 
Arguments: {V : Type u}
Goal: ⊤.edgeSet = {e | ¬e.IsDiag}
-- SimpleGraph.edgeSet_subset_setOf_not_isDiag
@[simp]
theorem edgeSet_subset_setOf_not_isDiag : G.edgeSet ⊆ {e | ¬e.IsDiag} 
Arguments: {V : Type u} (G : SimpleGraph V)
Goal: G.edgeSet ⊆ {e | ¬e.IsDiag}
-- SimpleGraph.edgeSet_sup
@[simp]
theorem edgeSet_sup : (G₁ ⊔ G₂).edgeSet = G₁.edgeSet ∪ G₂.edgeSet 
Arguments: {V : Type u} (G₁ G₂ : SimpleGraph V)
Goal: (G₁ ⊔ G₂).edgeSet = G₁.edgeSet ∪ G₂.edgeSet
-- SimpleGraph.edgeSet_inf
@[simp]
theorem edgeSet_inf : (G₁ ⊓ G₂).edgeSet = G₁.edgeSet ∩ G₂.edgeSet 
Arguments: {V : Type u} (G₁ G₂ : SimpleGraph V)
Goal: (G₁ ⊓ G₂).edgeSet = G₁.edgeSet ∩ G₂.edgeSet
-- SimpleGraph.edgeSet_sdiff
@[simp]
theorem edgeSet_sdiff : (G₁ \ G₂).edgeSet = G₁.edgeSet \ G₂.edgeSet 
Arguments: {V : Type u} (G₁ G₂ : SimpleGraph V)
Goal: (G₁ \ G₂).edgeSet = G₁.edgeSet \ G₂.edgeSet
-- SimpleGraph.disjoint_edgeSet
@[simp] lemma disjoint_edgeSet : Disjoint G₁.edgeSet G₂.edgeSet ↔ Disjoint G₁ G₂ 
Arguments: {V : Type u} {G₁ G₂ : SimpleGraph V}
Goal: Disjoint G₁.edgeSet G₂.edgeSet ↔ Disjoint G₁ G₂
-- SimpleGraph.edgeSet_eq_empty
@[simp] lemma edgeSet_eq_empty : G.edgeSet = ∅ ↔ G = ⊥ 
Arguments: {V : Type u} {G : SimpleGraph V}
Goal: G.edgeSet = ∅ ↔ G = ⊥
-- SimpleGraph.edgeSet_nonempty
@[simp] lemma edgeSet_nonempty : G.edgeSet.Nonempty ↔ G ≠ ⊥ 
Arguments: {V : Type u} {G : SimpleGraph V}
Goal: G.edgeSet.Nonempty ↔ G ≠ ⊥
-- SimpleGraph.edgeSet_sdiff_sdiff_isDiag
@[simp]
theorem edgeSet_sdiff_sdiff_isDiag (G : SimpleGraph V) (s : Set (Sym2 V)) :
    G.edgeSet \ (s \ { e | e.IsDiag }) = G.edgeSet \ s 
Arguments: {V : Type u} (G : SimpleGraph V) (s : Set (Sym2 V))
Goal: G.edgeSet \ (s \ {e | e.IsDiag}) = G.edgeSet \ s
-- SimpleGraph.adj_iff_exists_edge
theorem adj_iff_exists_edge {v w : V} : G.Adj v w ↔ v ≠ w ∧ ∃ e ∈ G.edgeSet, v ∈ e ∧ w ∈ e 
Arguments: {V : Type u} {G : SimpleGraph V} {v w : V}
Goal: G.Adj v w ↔ v ≠ w ∧ ∃ e ∈ G.edgeSet, v ∈ e ∧ w ∈ e
-- SimpleGraph.adj_iff_exists_edge_coe
theorem adj_iff_exists_edge_coe : G.Adj a b ↔ ∃ e : G.edgeSet, e.val = s(a, b) 
Arguments: {V : Type u} {G : SimpleGraph V} {a b : V}
Goal: G.Adj a b ↔ ∃ e, ↑e = s(a, b)
-- SimpleGraph.edge_other_ne
theorem edge_other_ne {e : Sym2 V} (he : e ∈ G.edgeSet) {v : V} (h : v ∈ e) :
    Sym2.Mem.other h ≠ v 
Arguments: {V : Type u} (G : SimpleGraph V) {e : Sym2 V} (he : e ∈ G.edgeSet) {v : V} (h : v ∈ e)
Goal: Sym2.Mem.other h ≠ v
-- SimpleGraph.fromEdgeSet_adj
@[simp]
theorem fromEdgeSet_adj : (fromEdgeSet s).Adj v w ↔ s(v, w) ∈ s ∧ v ≠ w 
Arguments: {V : Type u} {v w : V} (s : Set (Sym2 V))
Goal: (SimpleGraph.fromEdgeSet s).Adj v w ↔ s(v, w) ∈ s ∧ v ≠ w
-- SimpleGraph.edgeSet_fromEdgeSet
@[simp]
theorem edgeSet_fromEdgeSet : (fromEdgeSet s).edgeSet = s \ { e | e.IsDiag } 
Arguments: {V : Type u} (s : Set (Sym2 V))
Goal: (SimpleGraph.fromEdgeSet s).edgeSet = s \ {e | e.IsDiag}
-- SimpleGraph.fromEdgeSet_edgeSet
@[simp]
theorem fromEdgeSet_edgeSet : fromEdgeSet G.edgeSet = G 
Arguments: {V : Type u} (G : SimpleGraph V)
Goal: SimpleGraph.fromEdgeSet G.edgeSet = G
-- SimpleGraph.fromEdgeSet_empty
@[simp]
theorem fromEdgeSet_empty : fromEdgeSet (∅ : Set (Sym2 V)) = ⊥ 
Arguments: {V : Type u}
Goal: SimpleGraph.fromEdgeSet ∅ = ⊥
-- SimpleGraph.fromEdgeSet_univ
@[simp]
theorem fromEdgeSet_univ : fromEdgeSet (Set.univ : Set (Sym2 V)) = ⊤ 
Arguments: {V : Type u}
Goal: SimpleGraph.fromEdgeSet Set.univ = ⊤
-- SimpleGraph.fromEdgeSet_inter
@[simp]
theorem fromEdgeSet_inter (s t : Set (Sym2 V)) :
    fromEdgeSet (s ∩ t) = fromEdgeSet s ⊓ fromEdgeSet t 
Arguments: {V : Type u} (s t : Set (Sym2 V))
Goal: SimpleGraph.fromEdgeSet (s ∩ t) = SimpleGraph.fromEdgeSet s ⊓ SimpleGraph.fromEdgeSet t
-- SimpleGraph.fromEdgeSet_union
@[simp]
theorem fromEdgeSet_union (s t : Set (Sym2 V)) :
    fromEdgeSet (s ∪ t) = fromEdgeSet s ⊔ fromEdgeSet t 
Arguments: {V : Type u} (s t : Set (Sym2 V))
Goal: SimpleGraph.fromEdgeSet (s ∪ t) = SimpleGraph.fromEdgeSet s ⊔ SimpleGraph.fromEdgeSet t
-- SimpleGraph.fromEdgeSet_sdiff
@[simp]
theorem fromEdgeSet_sdiff (s t : Set (Sym2 V)) :
    fromEdgeSet (s \ t) = fromEdgeSet s \ fromEdgeSet t 
Arguments: {V : Type u} (s t : Set (Sym2 V))
Goal: SimpleGraph.fromEdgeSet (s \ t) = SimpleGraph.fromEdgeSet s \ SimpleGraph.fromEdgeSet t
-- SimpleGraph.fromEdgeSet_mono
@[mono]
theorem fromEdgeSet_mono {s t : Set (Sym2 V)} (h : s ⊆ t) : fromEdgeSet s ≤ fromEdgeSet t 
Arguments: {V : Type u} {s t : Set (Sym2 V)} (h : s ⊆ t)
Goal: SimpleGraph.fromEdgeSet s ≤ SimpleGraph.fromEdgeSet t
-- SimpleGraph.disjoint_fromEdgeSet
@[simp] lemma disjoint_fromEdgeSet : Disjoint G (fromEdgeSet s) ↔ Disjoint G.edgeSet s 
Arguments: {V : Type u} (G : SimpleGraph V) (s : Set (Sym2 V))
Goal: Disjoint G (SimpleGraph.fromEdgeSet s) ↔ Disjoint G.edgeSet s
-- SimpleGraph.fromEdgeSet_disjoint
@[simp] lemma fromEdgeSet_disjoint : Disjoint (fromEdgeSet s) G ↔ Disjoint s G.edgeSet 
Arguments: {V : Type u} (G : SimpleGraph V) (s : Set (Sym2 V))
Goal: Disjoint (SimpleGraph.fromEdgeSet s) G ↔ Disjoint s G.edgeSet
-- SimpleGraph.incidenceSet_subset
theorem incidenceSet_subset (v : V) : G.incidenceSet v ⊆ G.edgeSet 
Arguments: {V : Type u} (G : SimpleGraph V) (v : V)
Goal: G.incidenceSet v ⊆ G.edgeSet
-- SimpleGraph.mk'_mem_incidenceSet_iff
theorem mk'_mem_incidenceSet_iff : s(b, c) ∈ G.incidenceSet a ↔ G.Adj b c ∧ (a = b ∨ a = c) 
Arguments: {V : Type u} (G : SimpleGraph V) {a b c : V}
Goal: s(b, c) ∈ G.incidenceSet a ↔ G.Adj b c ∧ (a = b ∨ a = c)
-- SimpleGraph.mk'_mem_incidenceSet_left_iff
theorem mk'_mem_incidenceSet_left_iff : s(a, b) ∈ G.incidenceSet a ↔ G.Adj a b 
Arguments: {V : Type u} (G : SimpleGraph V) {a b : V}
Goal: s(a, b) ∈ G.incidenceSet a ↔ G.Adj a b
-- SimpleGraph.mk'_mem_incidenceSet_right_iff
theorem mk'_mem_incidenceSet_right_iff : s(a, b) ∈ G.incidenceSet b ↔ G.Adj a b 
Arguments: {V : Type u} (G : SimpleGraph V) {a b : V}
Goal: s(a, b) ∈ G.incidenceSet b ↔ G.Adj a b
-- SimpleGraph.edge_mem_incidenceSet_iff
theorem edge_mem_incidenceSet_iff {e : G.edgeSet} : ↑e ∈ G.incidenceSet a ↔ a ∈ (e : Sym2 V) 
Arguments: {V : Type u} (G : SimpleGraph V) {a : V} {e : ↑G.edgeSet}
Goal: ↑e ∈ G.incidenceSet a ↔ a ∈ ↑e
-- SimpleGraph.incidenceSet_inter_incidenceSet_subset
theorem incidenceSet_inter_incidenceSet_subset (h : a ≠ b) :
    G.incidenceSet a ∩ G.incidenceSet b ⊆ {s(a, b)} 
Arguments: {V : Type u} (G : SimpleGraph V) {a b : V} (h : a ≠ b)
Goal: G.incidenceSet a ∩ G.incidenceSet b ⊆ {s(a, b)}
-- SimpleGraph.incidenceSet_inter_incidenceSet_of_adj
theorem incidenceSet_inter_incidenceSet_of_adj (h : G.Adj a b) :
    G.incidenceSet a ∩ G.incidenceSet b = {s(a, b)} 
Arguments: {V : Type u} (G : SimpleGraph V) {a b : V} (h : G.Adj a b)
Goal: G.incidenceSet a ∩ G.incidenceSet b = {s(a, b)}
-- SimpleGraph.adj_of_mem_incidenceSet
theorem adj_of_mem_incidenceSet (h : a ≠ b) (ha : e ∈ G.incidenceSet a)
    (hb : e ∈ G.incidenceSet b) : G.Adj a b 
Arguments: {V : Type u} (G : SimpleGraph V) {a b : V} {e : Sym2 V} (h : a ≠ b) (ha : e ∈ G.incidenceSet a) (hb : e ∈ G.incidenceSet b)
Goal: G.Adj a b
-- SimpleGraph.incidenceSet_inter_incidenceSet_of_not_adj
theorem incidenceSet_inter_incidenceSet_of_not_adj (h : ¬G.Adj a b) (hn : a ≠ b) :
    G.incidenceSet a ∩ G.incidenceSet b = ∅ 
Arguments: {V : Type u} (G : SimpleGraph V) {a b : V} (h : ¬G.Adj a b) (hn : a ≠ b)
Goal: G.incidenceSet a ∩ G.incidenceSet b = ∅
-- SimpleGraph.mem_neighborSet
@[simp]
theorem mem_neighborSet (v w : V) : w ∈ G.neighborSet v ↔ G.Adj v w 
Arguments: {V : Type u} (G : SimpleGraph V) (v w : V)
Goal: w ∈ G.neighborSet v ↔ G.Adj v w
-- SimpleGraph.not_mem_neighborSet_self
lemma not_mem_neighborSet_self : a ∉ G.neighborSet a 
Arguments: {V : Type u} (G : SimpleGraph V) {a : V}
Goal: a ∉ G.neighborSet a
-- SimpleGraph.mem_incidenceSet
@[simp]
theorem mem_incidenceSet (v w : V) : s(v, w) ∈ G.incidenceSet v ↔ G.Adj v w 
Arguments: {V : Type u} (G : SimpleGraph V) (v w : V)
Goal: s(v, w) ∈ G.incidenceSet v ↔ G.Adj v w
-- SimpleGraph.mem_incidence_iff_neighbor
theorem mem_incidence_iff_neighbor {v w : V} :
    s(v, w) ∈ G.incidenceSet v ↔ w ∈ G.neighborSet v 
Arguments: {V : Type u} (G : SimpleGraph V) {v w : V}
Goal: s(v, w) ∈ G.incidenceSet v ↔ w ∈ G.neighborSet v
-- SimpleGraph.adj_incidenceSet_inter
theorem adj_incidenceSet_inter {v : V} {e : Sym2 V} (he : e ∈ G.edgeSet) (h : v ∈ e) :
    G.incidenceSet v ∩ G.incidenceSet (Sym2.Mem.other h) = {e} 
Arguments: {V : Type u} (G : SimpleGraph V) {v : V} {e : Sym2 V} (he : e ∈ G.edgeSet) (h : v ∈ e)
Goal: G.incidenceSet v ∩ G.incidenceSet (Sym2.Mem.other h) = {e}
-- SimpleGraph.compl_neighborSet_disjoint
theorem compl_neighborSet_disjoint (G : SimpleGraph V) (v : V) :
    Disjoint (G.neighborSet v) (Gᶜ.neighborSet v) 
Arguments: {V : Type u} (G : SimpleGraph V) (v : V)
Goal: Disjoint (G.neighborSet v) (Gᶜ.neighborSet v)
-- SimpleGraph.neighborSet_union_compl_neighborSet_eq
theorem neighborSet_union_compl_neighborSet_eq (G : SimpleGraph V) (v : V) :
    G.neighborSet v ∪ Gᶜ.neighborSet v = {v}ᶜ 
Arguments: {V : Type u} (G : SimpleGraph V) (v : V)
Goal: G.neighborSet v ∪ Gᶜ.neighborSet v = {v}ᶜ
-- SimpleGraph.card_neighborSet_union_compl_neighborSet
theorem card_neighborSet_union_compl_neighborSet [Fintype V] (G : SimpleGraph V) (v : V)
    [Fintype (G.neighborSet v ∪ Gᶜ.neighborSet v : Set V)] :
    (Set.toFinset (G.neighborSet v ∪ Gᶜ.neighborSet v)).card = Fintype.card V - 1 
Arguments: {V : Type u} [Fintype V] (G : SimpleGraph V) (v : V) [Fintype ↑(G.neighborSet v ∪ Gᶜ.neighborSet v)]
Goal: (G.neighborSet v ∪ Gᶜ.neighborSet v).toFinset.card = Fintype.card V - 1
-- SimpleGraph.neighborSet_compl
theorem neighborSet_compl (G : SimpleGraph V) (v : V) :
    Gᶜ.neighborSet v = (G.neighborSet v)ᶜ \ {v} 
Arguments: {V : Type u} (G : SimpleGraph V) (v : V)
Goal: Gᶜ.neighborSet v = (G.neighborSet v)ᶜ \ {v}
-- SimpleGraph.commonNeighbors_eq
theorem commonNeighbors_eq (v w : V) : G.commonNeighbors v w = G.neighborSet v ∩ G.neighborSet w 
Arguments: {V : Type u} (G : SimpleGraph V) (v w : V)
Goal: G.commonNeighbors v w = G.neighborSet v ∩ G.neighborSet w
-- SimpleGraph.mem_commonNeighbors
theorem mem_commonNeighbors {u v w : V} : u ∈ G.commonNeighbors v w ↔ G.Adj v u ∧ G.Adj w u 
Arguments: {V : Type u} (G : SimpleGraph V) {u v w : V}
Goal: u ∈ G.commonNeighbors v w ↔ G.Adj v u ∧ G.Adj w u
-- SimpleGraph.commonNeighbors_symm
theorem commonNeighbors_symm (v w : V) : G.commonNeighbors v w = G.commonNeighbors w v 
Arguments: {V : Type u} (G : SimpleGraph V) (v w : V)
Goal: G.commonNeighbors v w = G.commonNeighbors w v
-- SimpleGraph.not_mem_commonNeighbors_left
theorem not_mem_commonNeighbors_left (v w : V) : v ∉ G.commonNeighbors v w 
Arguments: {V : Type u} (G : SimpleGraph V) (v w : V)
Goal: v ∉ G.commonNeighbors v w
-- SimpleGraph.not_mem_commonNeighbors_right
theorem not_mem_commonNeighbors_right (v w : V) : w ∉ G.commonNeighbors v w 
Arguments: {V : Type u} (G : SimpleGraph V) (v w : V)
Goal: w ∉ G.commonNeighbors v w
-- SimpleGraph.commonNeighbors_subset_neighborSet_left
theorem commonNeighbors_subset_neighborSet_left (v w : V) :
    G.commonNeighbors v w ⊆ G.neighborSet v 
Arguments: {V : Type u} (G : SimpleGraph V) (v w : V)
Goal: G.commonNeighbors v w ⊆ G.neighborSet v
-- SimpleGraph.commonNeighbors_subset_neighborSet_right
theorem commonNeighbors_subset_neighborSet_right (v w : V) :
    G.commonNeighbors v w ⊆ G.neighborSet w 
Arguments: {V : Type u} (G : SimpleGraph V) (v w : V)
Goal: G.commonNeighbors v w ⊆ G.neighborSet w
-- SimpleGraph.commonNeighbors_top_eq
theorem commonNeighbors_top_eq {v w : V} :
    (⊤ : SimpleGraph V).commonNeighbors v w = Set.univ \ {v, w} 
Arguments: {V : Type u} {v w : V}
Goal: ⊤.commonNeighbors v w = Set.univ \ {v, w}
-- SimpleGraph.edge_other_incident_set
theorem edge_other_incident_set {v : V} {e : Sym2 V} (h : e ∈ G.incidenceSet v) :
    e ∈ G.incidenceSet (G.otherVertexOfIncident h) 
Arguments: {V : Type u} (G : SimpleGraph V) [DecidableEq V] {v : V} {e : Sym2 V} (h : e ∈ G.incidenceSet v)
Goal: e ∈ G.incidenceSet (G.otherVertexOfIncident h)
-- SimpleGraph.incidence_other_prop
theorem incidence_other_prop {v : V} {e : Sym2 V} (h : e ∈ G.incidenceSet v) :
    G.otherVertexOfIncident h ∈ G.neighborSet v 
Arguments: {V : Type u} (G : SimpleGraph V) [DecidableEq V] {v : V} {e : Sym2 V} (h : e ∈ G.incidenceSet v)
Goal: G.otherVertexOfIncident h ∈ G.neighborSet v