ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- SimpleGraph.Embedding.coe_comp
@[simp]
theorem coe_comp (f' : G' ↪g G'') (f : G ↪g G') : ⇑(f'.comp f) = f' ∘ f 
Arguments: {V : Type u_1} {W : Type u_2} {X : Type u_3} {G : SimpleGraph V} {G' : SimpleGraph W} {G'' : SimpleGraph X} (f' : G' ↪g G'') (f : G ↪g G')
Goal: ⇑(f'.comp f) = ⇑f' ∘ ⇑f
-- SimpleGraph.coe_induceHom
@[simp, norm_cast] lemma coe_induceHom : ⇑(induceHom φ φst) = Set.MapsTo.restrict φ s t φst 
Arguments: {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} {s : Set V} {t : Set W} (φ : G →g G') (φst : Set.MapsTo (⇑φ) s t)
Goal: ⇑(SimpleGraph.induceHom φ φst) = Set.MapsTo.restrict (⇑φ) s t φst
-- SimpleGraph.induceHom_id
@[simp] lemma induceHom_id (G : SimpleGraph V) (s) :
    induceHom (Hom.id : G →g G) (Set.mapsTo_id s) = Hom.id 
Arguments: {V : Type u_1} (G : SimpleGraph V) (s : Set V)
Goal: SimpleGraph.induceHom SimpleGraph.Hom.id ⋯ = SimpleGraph.Hom.id
-- SimpleGraph.induceHom_comp
@[simp] lemma induceHom_comp :
    (induceHom ψ ψtr).comp (induceHom φ φst) = induceHom (ψ.comp φ) (ψtr.comp φst) 
Arguments: {V : Type u_1} {W : Type u_2} {X : Type u_3} {G : SimpleGraph V} {G' : SimpleGraph W} {G'' : SimpleGraph X} {s : Set V} {t : Set W} {r : Set X} (φ : G →g G') (φst : Set.MapsTo (⇑φ) s t) (ψ : G' →g G'') (ψtr : Set.MapsTo (⇑ψ) t r)
Goal: (SimpleGraph.induceHom ψ ψtr).comp (SimpleGraph.induceHom φ φst) = SimpleGraph.induceHom (ψ.comp φ) ⋯
-- SimpleGraph.induceHom_injective
lemma induceHom_injective (hi : Set.InjOn φ s) :
    Function.Injective (induceHom φ φst) 
Arguments: {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} {s : Set V} {t : Set W} (φ : G →g G') (φst : Set.MapsTo (⇑φ) s t) (hi : Set.InjOn (⇑φ) s)
Goal: Function.Injective ⇑(SimpleGraph.induceHom φ φst)
-- SimpleGraph.induceHomOfLE_apply
@[simp] lemma induceHomOfLE_apply (v : s) : (G.induceHomOfLE h) v = Set.inclusion h v 
Arguments: {V : Type u_1} (G : SimpleGraph V) {s s' : Set V} (h : s ≤ s') (v : ↑s)
Goal: (G.induceHomOfLE h) v = Set.inclusion h v
-- SimpleGraph.induceHomOfLE_toHom
@[simp] lemma induceHomOfLE_toHom :
    (G.induceHomOfLE h).toHom = induceHom (.id : G →g G) ((Set.mapsTo_id s).mono_right h) 
Arguments: {V : Type u_1} (G : SimpleGraph V) {s s' : Set V} (h : s ≤ s')
Goal: (G.induceHomOfLE h).toHom = SimpleGraph.induceHom SimpleGraph.Hom.id ⋯
-- SimpleGraph.Iso.map_adj_iff
theorem map_adj_iff {v w : V} : G'.Adj (f v) (f w) ↔ G.Adj v w 
Arguments: {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ≃g G') {v w : V}
Goal: G'.Adj (f v) (f w) ↔ G.Adj v w
-- SimpleGraph.Iso.map_mem_edgeSet_iff
theorem map_mem_edgeSet_iff {e : Sym2 V} : e.map f ∈ G'.edgeSet ↔ e ∈ G.edgeSet 
Arguments: {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ≃g G') {e : Sym2 V}
Goal: Sym2.map (⇑f) e ∈ G'.edgeSet ↔ e ∈ G.edgeSet
-- SimpleGraph.Iso.apply_mem_neighborSet_iff
theorem apply_mem_neighborSet_iff {v w : V} : f w ∈ G'.neighborSet (f v) ↔ w ∈ G.neighborSet v 
Arguments: {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ≃g G') {v w : V}
Goal: f w ∈ G'.neighborSet (f v) ↔ w ∈ G.neighborSet v
-- SimpleGraph.Iso.mapEdgeSet_symm_apply
@[simps]
def mapEdgeSet : G.edgeSet ≃ G'.edgeSet 
Arguments: {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ≃g G') (e : ↑G'.edgeSet)
Goal: f.mapEdgeSet.symm e = SimpleGraph.Hom.mapEdgeSet (RelIso.toRelEmbedding f.symm).toRelHom e
-- SimpleGraph.Iso.mapEdgeSet_apply
@[simps]
def mapEdgeSet : G.edgeSet ≃ G'.edgeSet 
Arguments: {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ≃g G') (e : ↑G.edgeSet)
Goal: f.mapEdgeSet e = SimpleGraph.Hom.mapEdgeSet (RelIso.toRelEmbedding f).toRelHom e
-- SimpleGraph.Iso.mapNeighborSet_symm_apply_coe
@[simps]
def mapNeighborSet (v : V) : G.neighborSet v ≃ G'.neighborSet (f v) 
Arguments: {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ≃g G') (v : V) (w : ↑(G'.neighborSet (f v)))
Goal: ↑((f.mapNeighborSet v).symm w) = f.symm ↑w
-- SimpleGraph.Iso.mapNeighborSet_apply_coe
@[simps]
def mapNeighborSet (v : V) : G.neighborSet v ≃ G'.neighborSet (f v) 
Arguments: {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ≃g G') (v : V) (w : ↑(G.neighborSet v))
Goal: ↑((f.mapNeighborSet v) w) = f ↑w
-- SimpleGraph.Iso.card_eq
theorem card_eq [Fintype V] [Fintype W] : Fintype.card V = Fintype.card W 
Arguments: {V : Type u_1} {W : Type u_2} {G : SimpleGraph V} {G' : SimpleGraph W} (f : G ≃g G') [Fintype V] [Fintype W]
Goal: Fintype.card V = Fintype.card W
-- SimpleGraph.Iso.comap_apply
@[simp]
lemma comap_apply (f : V ≃ W) (G : SimpleGraph W) (v : V) :
    SimpleGraph.Iso.comap f G v = f v 
Arguments: {V : Type u_1} {W : Type u_2} (f : V ≃ W) (G : SimpleGraph W) (v : V)
Goal: (SimpleGraph.Iso.comap f G) v = f v
-- SimpleGraph.Iso.comap_symm_apply
@[simp]
lemma comap_symm_apply (f : V ≃ W) (G : SimpleGraph W) (w : W) :
    (SimpleGraph.Iso.comap f G).symm w = f.symm w 
Arguments: {V : Type u_1} {W : Type u_2} (f : V ≃ W) (G : SimpleGraph W) (w : W)
Goal: (SimpleGraph.Iso.comap f G).symm w = f.symm w
-- SimpleGraph.Iso.map_apply
@[simp]
lemma map_apply (f : V ≃ W) (G : SimpleGraph V) (v : V) :
    SimpleGraph.Iso.map f G v = f v 
Arguments: {V : Type u_1} {W : Type u_2} (f : V ≃ W) (G : SimpleGraph V) (v : V)
Goal: (SimpleGraph.Iso.map f G) v = f v
-- SimpleGraph.Iso.map_symm_apply
@[simp]
lemma map_symm_apply (f : V ≃ W) (G : SimpleGraph V) (w : W) :
    (SimpleGraph.Iso.map f G).symm w = f.symm w 
Arguments: {V : Type u_1} {W : Type u_2} (f : V ≃ W) (G : SimpleGraph V) (w : W)
Goal: (SimpleGraph.Iso.map f G).symm w = f.symm w
-- SimpleGraph.Iso.toEmbedding_completeGraph
theorem toEmbedding_completeGraph {α β : Type*} (f : α ≃ β) :
    (Iso.completeGraph f).toEmbedding = Embedding.completeGraph f.toEmbedding 
Arguments: {α : Type u_4} {β : Type u_5} (f : α ≃ β)
Goal: (SimpleGraph.Iso.completeGraph f).toEmbedding = SimpleGraph.Embedding.completeGraph f.toEmbedding
-- SimpleGraph.Iso.coe_comp
@[simp]
theorem coe_comp (f' : G' ≃g G'') (f : G ≃g G') : ⇑(f'.comp f) = f' ∘ f 
Arguments: {V : Type u_1} {W : Type u_2} {X : Type u_3} {G : SimpleGraph V} {G' : SimpleGraph W} {G'' : SimpleGraph X} (f' : G' ≃g G'') (f : G ≃g G')
Goal: ⇑(f'.comp f) = ⇑f' ∘ ⇑f
-- SimpleGraph.induceUnivIso_symm_apply_coe
@[simps!]
def induceUnivIso (G : SimpleGraph V) : G.induce Set.univ ≃g G 
Arguments: {V : Type u_1} (G : SimpleGraph V) (a : V)
Goal: ↑((RelIso.symm G.induceUnivIso) a) = a
-- SimpleGraph.induceUnivIso_apply
@[simps!]
def induceUnivIso (G : SimpleGraph V) : G.induce Set.univ ≃g G 
Arguments: {V : Type u_1} (G : SimpleGraph V) (self : { x // x ∈ Set.univ })
Goal: G.induceUnivIso self = ↑self
-- SimpleGraph.Walk.IsHamiltonian.map
lemma IsHamiltonian.map {H : SimpleGraph β} (f : G →g H) (hf : Bijective f) (hp : p.IsHamiltonian) :
    (p.map f).IsHamiltonian 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq α] [DecidableEq β] {G : SimpleGraph α} {a b : α} {p : G.Walk a b} {H : SimpleGraph β} (f : G →g H) (hf : Function.Bijective ⇑f) (hp : p.IsHamiltonian)
Goal: (SimpleGraph.Walk.map f p).IsHamiltonian
-- SimpleGraph.Walk.IsHamiltonian.mem_support
@[simp] lemma IsHamiltonian.mem_support (hp : p.IsHamiltonian) (c : α) : c ∈ p.support 
Arguments: {α : Type u_1} [DecidableEq α] {G : SimpleGraph α} {a b : α} {p : G.Walk a b} (hp : p.IsHamiltonian) (c : α)
Goal: c ∈ p.support
-- SimpleGraph.Walk.IsHamiltonian.support_toFinset
lemma IsHamiltonian.support_toFinset (hp : p.IsHamiltonian) : p.support.toFinset = Finset.univ 
Arguments: {α : Type u_1} [Fintype α] [DecidableEq α] {G : SimpleGraph α} {a b : α} {p : G.Walk a b} (hp : p.IsHamiltonian)
Goal: p.support.toFinset = Finset.univ
-- SimpleGraph.Walk.IsHamiltonian.length_eq
lemma IsHamiltonian.length_eq (hp : p.IsHamiltonian) : p.length = Fintype.card α - 1 
Arguments: {α : Type u_1} [Fintype α] [DecidableEq α] {G : SimpleGraph α} {a b : α} {p : G.Walk a b} (hp : p.IsHamiltonian)
Goal: p.length = Fintype.card α - 1
-- SimpleGraph.Walk.IsHamiltonian.isPath
lemma IsHamiltonian.isPath (hp : p.IsHamiltonian) : p.IsPath 
Arguments: {α : Type u_1} [DecidableEq α] {G : SimpleGraph α} {a b : α} {p : G.Walk a b} (hp : p.IsHamiltonian)
Goal: p.IsPath
-- SimpleGraph.Walk.IsPath.isHamiltonian_of_mem
lemma IsPath.isHamiltonian_of_mem (hp : p.IsPath) (hp' : ∀ w, w ∈ p.support) :
    p.IsHamiltonian 
Arguments: {α : Type u_1} [DecidableEq α] {G : SimpleGraph α} {a b : α} {p : G.Walk a b} (hp : p.IsPath) (hp' : ∀ (w : α), w ∈ p.support)
Goal: p.IsHamiltonian
-- SimpleGraph.Walk.IsPath.isHamiltonian_iff
lemma IsPath.isHamiltonian_iff (hp : p.IsPath) : p.IsHamiltonian ↔ ∀ w, w ∈ p.support 
Arguments: {α : Type u_1} [DecidableEq α] {G : SimpleGraph α} {a b : α} {p : G.Walk a b} (hp : p.IsPath)
Goal: p.IsHamiltonian ↔ ∀ (w : α), w ∈ p.support
-- SimpleGraph.Walk.IsHamiltonianCycle.isHamiltonian_tail
structure IsHamiltonianCycle (p : G.Walk a a) extends p.IsCycle : Prop :=
  isHamiltonian_tail : (p.tail toIsCycle.not_nil).IsHamiltonian
Arguments: {α : Type u_1} [DecidableEq α] {G : SimpleGraph α} {a : α} {p : G.Walk a a} (self : p.IsHamiltonianCycle)
Goal: (p.tail ⋯).IsHamiltonian
-- SimpleGraph.Walk.IsHamiltonianCycle.isCycle
lemma IsHamiltonianCycle.isCycle (hp : p.IsHamiltonianCycle) : p.IsCycle 
Arguments: {α : Type u_1} [DecidableEq α] {G : SimpleGraph α} {a : α} {p : G.Walk a a} (hp : p.IsHamiltonianCycle)
Goal: p.IsCycle
-- SimpleGraph.Walk.IsHamiltonianCycle.map
lemma IsHamiltonianCycle.map {H : SimpleGraph β} (f : G →g H) (hf : Bijective f)
    (hp : p.IsHamiltonianCycle) : (p.map f).IsHamiltonianCycle 
Arguments: {α : Type u_1} {β : Type u_2} [DecidableEq α] [DecidableEq β] {G : SimpleGraph α} {a : α} {p : G.Walk a a} {H : SimpleGraph β} (f : G →g H) (hf : Function.Bijective ⇑f) (hp : p.IsHamiltonianCycle)
Goal: (SimpleGraph.Walk.map f p).IsHamiltonianCycle
-- SimpleGraph.Walk.isHamiltonianCycle_isCycle_and_isHamiltonian_tail
lemma isHamiltonianCycle_isCycle_and_isHamiltonian_tail  :
    p.IsHamiltonianCycle ↔ ∃ h : p.IsCycle, (p.tail h.not_nil).IsHamiltonian 
Arguments: {α : Type u_1} [DecidableEq α] {G : SimpleGraph α} {a : α} {p : G.Walk a a}
Goal: p.IsHamiltonianCycle ↔ ∃ (h : p.IsCycle), (p.tail ⋯).IsHamiltonian
-- SimpleGraph.Walk.isHamiltonianCycle_iff_isCycle_and_support_count_tail_eq_one
lemma isHamiltonianCycle_iff_isCycle_and_support_count_tail_eq_one :
    p.IsHamiltonianCycle ↔ p.IsCycle ∧ ∀ a, (support p).tail.count a = 1 
Arguments: {α : Type u_1} [DecidableEq α] {G : SimpleGraph α} {a : α} {p : G.Walk a a}
Goal: p.IsHamiltonianCycle ↔ p.IsCycle ∧ ∀ (a_1 : α), List.count a_1 p.support.tail = 1
-- SimpleGraph.Walk.IsHamiltonianCycle.mem_support
lemma IsHamiltonianCycle.mem_support (hp : p.IsHamiltonianCycle) (b : α) :
    b ∈ p.support 
Arguments: {α : Type u_1} [DecidableEq α] {G : SimpleGraph α} {a : α} {p : G.Walk a a} (hp : p.IsHamiltonianCycle) (b : α)
Goal: b ∈ p.support
-- SimpleGraph.Walk.IsHamiltonianCycle.length_eq
lemma IsHamiltonianCycle.length_eq (hp : p.IsHamiltonianCycle) :
    p.length = Fintype.card α 
Arguments: {α : Type u_1} [Fintype α] [DecidableEq α] {G : SimpleGraph α} {a : α} {p : G.Walk a a} (hp : p.IsHamiltonianCycle)
Goal: p.length = Fintype.card α
-- SimpleGraph.Walk.IsHamiltonianCycle.count_support_self
lemma IsHamiltonianCycle.count_support_self (hp : p.IsHamiltonianCycle) :
    p.support.count a = 2 
Arguments: {α : Type u_1} [DecidableEq α] {G : SimpleGraph α} {a : α} {p : G.Walk a a} (hp : p.IsHamiltonianCycle)
Goal: List.count a p.support = 2
-- SimpleGraph.Walk.IsHamiltonianCycle.support_count_of_ne
lemma IsHamiltonianCycle.support_count_of_ne (hp : p.IsHamiltonianCycle) (h : a ≠ b) :
    p.support.count b = 1 
Arguments: {α : Type u_1} [DecidableEq α] {G : SimpleGraph α} {a b : α} {p : G.Walk a a} (hp : p.IsHamiltonianCycle) (h : a ≠ b)
Goal: List.count b p.support = 1
-- SimpleGraph.IsHamiltonian.mono
lemma IsHamiltonian.mono {H : SimpleGraph α} (hGH : G ≤ H) (hG : G.IsHamiltonian) :
    H.IsHamiltonian 
Arguments: {α : Type u_1} [Fintype α] [DecidableEq α] {G H : SimpleGraph α} (hGH : G ≤ H) (hG : G.IsHamiltonian)
Goal: H.IsHamiltonian
-- SimpleGraph.IsHamiltonian.connected
lemma IsHamiltonian.connected (hG : G.IsHamiltonian) : G.Connected 
Arguments: {α : Type u_1} [Fintype α] [DecidableEq α] {G : SimpleGraph α} (hG : G.IsHamiltonian)
Goal: G.Connected
-- _private.Mathlib.Combinatorics.SetFamily.AhlswedeZhang.0.binomial_sum_eq
private lemma binomial_sum_eq (h : n < m) :
    ∑ i ∈ range (n + 1), (n.choose i * (m - n) / ((m - i) * m.choose i) : ℚ) = 1 
Arguments: {m n : ℕ} (h : n < m)
Goal: ∑ i ∈ Finset.range (n + 1), ↑(n.choose i) * (↑m - ↑n) / ((↑m - ↑i) * ↑(m.choose i)) = 1
-- _private.Mathlib.Combinatorics.SetFamily.AhlswedeZhang.0.Fintype.sum_div_mul_card_choose_card
private lemma Fintype.sum_div_mul_card_choose_card :
    ∑ s : Finset α, (card α / ((card α - s.card) * (card α).choose s.card) : ℚ) =
      card α * ∑ k ∈ range (card α), (↑k)⁻¹ + 1 
Arguments: (α : Type u_1) [Fintype α] [Nonempty α]
Goal: ∑ s : Finset α, ↑(Fintype.card α) / ((↑(Fintype.card α) - ↑s.card) * ↑((Fintype.card α).choose s.card)) =
  ↑(Fintype.card α) * ∑ k ∈ Finset.range (Fintype.card α), (↑k)⁻¹ + 1
-- _private.Mathlib.Combinatorics.SetFamily.AhlswedeZhang.0.Finset.sup_aux
private lemma sup_aux : a ∈ lowerClosure s → (s.filter fun b ↦ a ≤ b).Nonempty 
Arguments: {α : Type u_1} [SemilatticeSup α] [DecidableRel fun x x_1 => x ≤ x_1] {s : Finset α} {a : α}
Goal: a ∈ lowerClosure ↑s → (Finset.filter (fun b => a ≤ b) s).Nonempty
-- Finset.truncatedSup_of_mem
lemma truncatedSup_of_mem (h : a ∈ lowerClosure s) :
    truncatedSup s a = (s.filter fun b ↦ a ≤ b).sup' (sup_aux h) id 
Arguments: {α : Type u_1} [SemilatticeSup α] [OrderTop α] [DecidableRel fun x x_1 => x ≤ x_1] {s : Finset α} {a : α} (h : a ∈ lowerClosure ↑s)
Goal: s.truncatedSup a = (Finset.filter (fun b => a ≤ b) s).sup' ⋯ id
-- Finset.truncatedSup_of_not_mem
lemma truncatedSup_of_not_mem (h : a ∉ lowerClosure s) : truncatedSup s a = ⊤ 
Arguments: {α : Type u_1} [SemilatticeSup α] [OrderTop α] [DecidableRel fun x x_1 => x ≤ x_1] {s : Finset α} {a : α} (h : a ∉ lowerClosure ↑s)
Goal: s.truncatedSup a = ⊤
-- Finset.truncatedSup_empty
@[simp] lemma truncatedSup_empty (a : α) : truncatedSup ∅ a = ⊤ 
Arguments: {α : Type u_1} [SemilatticeSup α] [OrderTop α] [DecidableRel fun x x_1 => x ≤ x_1] (a : α)
Goal: ∅.truncatedSup a = ⊤
-- Finset.truncatedSup_singleton
@[simp] lemma truncatedSup_singleton (b a : α) : truncatedSup {b} a = if a ≤ b then b else ⊤ 
Arguments: {α : Type u_1} [SemilatticeSup α] [OrderTop α] [DecidableRel fun x x_1 => x ≤ x_1] (b a : α)
Goal: {b}.truncatedSup a = if a ≤ b then b else ⊤
-- Finset.le_truncatedSup
lemma le_truncatedSup : a ≤ truncatedSup s a 
Arguments: {α : Type u_1} [SemilatticeSup α] [OrderTop α] [DecidableRel fun x x_1 => x ≤ x_1] {s : Finset α} {a : α}
Goal: a ≤ s.truncatedSup a
-- Finset.map_truncatedSup
lemma map_truncatedSup (e : α ≃o β) (s : Finset α) (a : α) :
    e (truncatedSup s a) = truncatedSup (s.map e.toEquiv.toEmbedding) (e a) 
Arguments: {α : Type u_1} {β : Type u_2} [SemilatticeSup α] [OrderTop α] [DecidableRel fun x x_1 => x ≤ x_1] [SemilatticeSup β] [BoundedOrder β] [DecidableRel fun x x_1 => x ≤ x_1] (e : α ≃o β) (s : Finset α) (a : α)
Goal: e (s.truncatedSup a) = (Finset.map e.toEmbedding s).truncatedSup (e a)
-- _private.Mathlib.Combinatorics.SetFamily.AhlswedeZhang.0.Finset.lower_aux
private lemma lower_aux : a ∈ lowerClosure ↑(s ∪ t) ↔ a ∈ lowerClosure s ∨ a ∈ lowerClosure t 
Arguments: {α : Type u_1} [SemilatticeSup α] {s t : Finset α} {a : α} [DecidableEq α]
Goal: a ∈ lowerClosure ↑(s ∪ t) ↔ a ∈ lowerClosure ↑s ∨ a ∈ lowerClosure ↑t
-- Finset.truncatedSup_union
lemma truncatedSup_union (hs : a ∈ lowerClosure s) (ht : a ∈ lowerClosure t) :
    truncatedSup (s ∪ t) a = truncatedSup s a ⊔ truncatedSup t a 
Arguments: {α : Type u_1} [SemilatticeSup α] [OrderTop α] [DecidableRel fun x x_1 => x ≤ x_1] {s t : Finset α} {a : α} [DecidableEq α] (hs : a ∈ lowerClosure ↑s) (ht : a ∈ lowerClosure ↑t)
Goal: (s ∪ t).truncatedSup a = s.truncatedSup a ⊔ t.truncatedSup a
-- Finset.truncatedSup_union_left
lemma truncatedSup_union_left (hs : a ∈ lowerClosure s) (ht : a ∉ lowerClosure t) :
    truncatedSup (s ∪ t) a = truncatedSup s a 
Arguments: {α : Type u_1} [SemilatticeSup α] [OrderTop α] [DecidableRel fun x x_1 => x ≤ x_1] {s t : Finset α} {a : α} [DecidableEq α] (hs : a ∈ lowerClosure ↑s) (ht : a ∉ lowerClosure ↑t)
Goal: (s ∪ t).truncatedSup a = s.truncatedSup a
-- Finset.truncatedSup_union_right
lemma truncatedSup_union_right (hs : a ∉ lowerClosure s) (ht : a ∈ lowerClosure t) :
    truncatedSup (s ∪ t) a = truncatedSup t a 
Arguments: {α : Type u_1} [SemilatticeSup α] [OrderTop α] [DecidableRel fun x x_1 => x ≤ x_1] {s t : Finset α} {a : α} [DecidableEq α] (hs : a ∉ lowerClosure ↑s) (ht : a ∈ lowerClosure ↑t)
Goal: (s ∪ t).truncatedSup a = t.truncatedSup a
-- Finset.truncatedSup_union_of_not_mem
lemma truncatedSup_union_of_not_mem (hs : a ∉ lowerClosure s) (ht : a ∉ lowerClosure t) :
    truncatedSup (s ∪ t) a = ⊤ 
Arguments: {α : Type u_1} [SemilatticeSup α] [OrderTop α] [DecidableRel fun x x_1 => x ≤ x_1] {s t : Finset α} {a : α} [DecidableEq α] (hs : a ∉ lowerClosure ↑s) (ht : a ∉ lowerClosure ↑t)
Goal: (s ∪ t).truncatedSup a = ⊤
-- Finset.truncatedSup_of_isAntichain
lemma truncatedSup_of_isAntichain (hs : IsAntichain (· ≤ ·) (s : Set α)) (ha : a ∈ s) :
    truncatedSup s a = a 
Arguments: {α : Type u_1} [SemilatticeSup α] [OrderTop α] [DecidableRel fun x x_1 => x ≤ x_1] {s : Finset α} {a : α} (hs : IsAntichain (fun x x_1 => x ≤ x_1) ↑s) (ha : a ∈ s)
Goal: s.truncatedSup a = a
-- _private.Mathlib.Combinatorics.SetFamily.AhlswedeZhang.0.Finset.inf_aux
private lemma inf_aux : a ∈ upperClosure s → (s.filter (· ≤ a)).Nonempty 
Arguments: {α : Type u_1} [SemilatticeInf α] [DecidableRel fun x x_1 => x ≤ x_1] {s : Finset α} {a : α}
Goal: a ∈ upperClosure ↑s → (Finset.filter (fun x => x ≤ a) s).Nonempty
-- Finset.truncatedInf_of_mem
lemma truncatedInf_of_mem (h : a ∈ upperClosure s) :
    truncatedInf s a = (s.filter (· ≤ a)).inf' (inf_aux h) id 
Arguments: {α : Type u_1} [SemilatticeInf α] [BoundedOrder α] [DecidableRel fun x x_1 => x ≤ x_1] {s : Finset α} {a : α} (h : a ∈ upperClosure ↑s)
Goal: s.truncatedInf a = (Finset.filter (fun x => x ≤ a) s).inf' ⋯ id
-- Finset.truncatedInf_of_not_mem
lemma truncatedInf_of_not_mem (h : a ∉ upperClosure s) : truncatedInf s a = ⊥ 
Arguments: {α : Type u_1} [SemilatticeInf α] [BoundedOrder α] [DecidableRel fun x x_1 => x ≤ x_1] {s : Finset α} {a : α} (h : a ∉ upperClosure ↑s)
Goal: s.truncatedInf a = ⊥
-- Finset.truncatedInf_le
lemma truncatedInf_le : truncatedInf s a ≤ a 
Arguments: {α : Type u_1} [SemilatticeInf α] [BoundedOrder α] [DecidableRel fun x x_1 => x ≤ x_1] {s : Finset α} {a : α}
Goal: s.truncatedInf a ≤ a
-- Finset.truncatedInf_empty
@[simp] lemma truncatedInf_empty (a : α) : truncatedInf ∅ a = ⊥ 
Arguments: {α : Type u_1} [SemilatticeInf α] [BoundedOrder α] [DecidableRel fun x x_1 => x ≤ x_1] (a : α)
Goal: ∅.truncatedInf a = ⊥
-- Finset.truncatedInf_singleton
@[simp] lemma truncatedInf_singleton (b a : α) : truncatedInf {b} a = if b ≤ a then b else ⊥ 
Arguments: {α : Type u_1} [SemilatticeInf α] [BoundedOrder α] [DecidableRel fun x x_1 => x ≤ x_1] (b a : α)
Goal: {b}.truncatedInf a = if b ≤ a then b else ⊥
-- Finset.map_truncatedInf
lemma map_truncatedInf (e : α ≃o β) (s : Finset α) (a : α) :
    e (truncatedInf s a) = truncatedInf (s.map e.toEquiv.toEmbedding) (e a) 
Arguments: {α : Type u_1} {β : Type u_2} [SemilatticeInf α] [BoundedOrder α] [DecidableRel fun x x_1 => x ≤ x_1] [SemilatticeInf β] [BoundedOrder β] [DecidableRel fun x x_1 => x ≤ x_1] (e : α ≃o β) (s : Finset α) (a : α)
Goal: e (s.truncatedInf a) = (Finset.map e.toEmbedding s).truncatedInf (e a)
-- _private.Mathlib.Combinatorics.SetFamily.AhlswedeZhang.0.Finset.upper_aux
private lemma upper_aux : a ∈ upperClosure ↑(s ∪ t) ↔ a ∈ upperClosure s ∨ a ∈ upperClosure t 
Arguments: {α : Type u_1} [SemilatticeInf α] {s t : Finset α} {a : α} [DecidableEq α]
Goal: a ∈ upperClosure ↑(s ∪ t) ↔ a ∈ upperClosure ↑s ∨ a ∈ upperClosure ↑t
-- Finset.truncatedInf_union
lemma truncatedInf_union (hs : a ∈ upperClosure s) (ht : a ∈ upperClosure t) :
    truncatedInf (s ∪ t) a = truncatedInf s a ⊓ truncatedInf t a 
Arguments: {α : Type u_1} [SemilatticeInf α] [BoundedOrder α] [DecidableRel fun x x_1 => x ≤ x_1] {s t : Finset α} {a : α} [DecidableEq α] (hs : a ∈ upperClosure ↑s) (ht : a ∈ upperClosure ↑t)
Goal: (s ∪ t).truncatedInf a = s.truncatedInf a ⊓ t.truncatedInf a
-- Finset.truncatedInf_union_left
lemma truncatedInf_union_left (hs : a ∈ upperClosure s) (ht : a ∉ upperClosure t) :
    truncatedInf (s ∪ t) a = truncatedInf s a 
Arguments: {α : Type u_1} [SemilatticeInf α] [BoundedOrder α] [DecidableRel fun x x_1 => x ≤ x_1] {s t : Finset α} {a : α} [DecidableEq α] (hs : a ∈ upperClosure ↑s) (ht : a ∉ upperClosure ↑t)
Goal: (s ∪ t).truncatedInf a = s.truncatedInf a
-- Finset.truncatedInf_union_right
lemma truncatedInf_union_right (hs : a ∉ upperClosure s) (ht : a ∈ upperClosure t) :
    truncatedInf (s ∪ t) a = truncatedInf t a 
Arguments: {α : Type u_1} [SemilatticeInf α] [BoundedOrder α] [DecidableRel fun x x_1 => x ≤ x_1] {s t : Finset α} {a : α} [DecidableEq α] (hs : a ∉ upperClosure ↑s) (ht : a ∈ upperClosure ↑t)
Goal: (s ∪ t).truncatedInf a = t.truncatedInf a
-- Finset.truncatedInf_union_of_not_mem
lemma truncatedInf_union_of_not_mem (hs : a ∉ upperClosure s) (ht : a ∉ upperClosure t) :
    truncatedInf (s ∪ t) a = ⊥ 
Arguments: {α : Type u_1} [SemilatticeInf α] [BoundedOrder α] [DecidableRel fun x x_1 => x ≤ x_1] {s t : Finset α} {a : α} [DecidableEq α] (hs : a ∉ upperClosure ↑s) (ht : a ∉ upperClosure ↑t)
Goal: (s ∪ t).truncatedInf a = ⊥
-- Finset.truncatedInf_of_isAntichain
lemma truncatedInf_of_isAntichain (hs : IsAntichain (· ≤ ·) (s : Set α)) (ha : a ∈ s) :
    truncatedInf s a = a 
Arguments: {α : Type u_1} [SemilatticeInf α] [BoundedOrder α] [DecidableRel fun x x_1 => x ≤ x_1] {s : Finset α} {a : α} (hs : IsAntichain (fun x x_1 => x ≤ x_1) ↑s) (ha : a ∈ s)
Goal: s.truncatedInf a = a
-- _private.Mathlib.Combinatorics.SetFamily.AhlswedeZhang.0.Finset.infs_aux
private lemma infs_aux : a ∈ lowerClosure ↑(s ⊼ t) ↔ a ∈ lowerClosure s ∧ a ∈ lowerClosure t 
Arguments: {α : Type u_1} [DistribLattice α] [DecidableEq α] {s t : Finset α} {a : α}
Goal: a ∈ lowerClosure ↑(s ⊼ t) ↔ a ∈ lowerClosure ↑s ∧ a ∈ lowerClosure ↑t
-- _private.Mathlib.Combinatorics.SetFamily.AhlswedeZhang.0.Finset.sups_aux
private lemma sups_aux : a ∈ upperClosure ↑(s ⊻ t) ↔ a ∈ upperClosure s ∧ a ∈ upperClosure t 
Arguments: {α : Type u_1} [DistribLattice α] [DecidableEq α] {s t : Finset α} {a : α}
Goal: a ∈ upperClosure ↑(s ⊻ t) ↔ a ∈ upperClosure ↑s ∧ a ∈ upperClosure ↑t
-- Finset.truncatedSup_infs
lemma truncatedSup_infs (hs : a ∈ lowerClosure s) (ht : a ∈ lowerClosure t) :
    truncatedSup (s ⊼ t) a = truncatedSup s a ⊓ truncatedSup t a 
Arguments: {α : Type u_1} [DistribLattice α] [BoundedOrder α] [DecidableEq α] [DecidableRel fun x x_1 => x ≤ x_1] {s t : Finset α} {a : α} (hs : a ∈ lowerClosure ↑s) (ht : a ∈ lowerClosure ↑t)
Goal: (s ⊼ t).truncatedSup a = s.truncatedSup a ⊓ t.truncatedSup a
-- Finset.truncatedInf_sups
lemma truncatedInf_sups (hs : a ∈ upperClosure s) (ht : a ∈ upperClosure t) :
    truncatedInf (s ⊻ t) a = truncatedInf s a ⊔ truncatedInf t a 
Arguments: {α : Type u_1} [DistribLattice α] [BoundedOrder α] [DecidableEq α] [DecidableRel fun x x_1 => x ≤ x_1] {s t : Finset α} {a : α} (hs : a ∈ upperClosure ↑s) (ht : a ∈ upperClosure ↑t)
Goal: (s ⊻ t).truncatedInf a = s.truncatedInf a ⊔ t.truncatedInf a
-- Finset.truncatedSup_infs_of_not_mem
lemma truncatedSup_infs_of_not_mem (ha : a ∉ lowerClosure s ⊓ lowerClosure t) :
    truncatedSup (s ⊼ t) a = ⊤ 
Arguments: {α : Type u_1} [DistribLattice α] [BoundedOrder α] [DecidableEq α] [DecidableRel fun x x_1 => x ≤ x_1] {s t : Finset α} {a : α} (ha : a ∉ lowerClosure ↑s ⊓ lowerClosure ↑t)
Goal: (s ⊼ t).truncatedSup a = ⊤