ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Set.image2_iUnion₂_left
theorem image2_iUnion₂_left (s : ∀ i, κ i → Set α) (t : Set β) :
    image2 f (⋃ (i) (j), s i j) t = ⋃ (i) (j), image2 f (s i j) t 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {ι : Sort u_4} {κ : ι → Sort u_7} (f : α → β → γ) (s : (i : ι) → κ i → Set α) (t : Set β)
Goal: Set.image2 f (⋃ i, ⋃ j, s i j) t = ⋃ i, ⋃ j, Set.image2 f (s i j) t
-- Set.image2_iUnion₂_right
theorem image2_iUnion₂_right (s : Set α) (t : ∀ i, κ i → Set β) :
    image2 f s (⋃ (i) (j), t i j) = ⋃ (i) (j), image2 f s (t i j) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {ι : Sort u_4} {κ : ι → Sort u_7} (f : α → β → γ) (s : Set α) (t : (i : ι) → κ i → Set β)
Goal: Set.image2 f s (⋃ i, ⋃ j, t i j) = ⋃ i, ⋃ j, Set.image2 f s (t i j)
-- Set.image2_iInter_subset_left
theorem image2_iInter_subset_left (s : ι → Set α) (t : Set β) :
    image2 f (⋂ i, s i) t ⊆ ⋂ i, image2 f (s i) t 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {ι : Sort u_4} (f : α → β → γ) (s : ι → Set α) (t : Set β)
Goal: Set.image2 f (⋂ i, s i) t ⊆ ⋂ i, Set.image2 f (s i) t
-- Set.image2_iInter_subset_right
theorem image2_iInter_subset_right (s : Set α) (t : ι → Set β) :
    image2 f s (⋂ i, t i) ⊆ ⋂ i, image2 f s (t i) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {ι : Sort u_4} (f : α → β → γ) (s : Set α) (t : ι → Set β)
Goal: Set.image2 f s (⋂ i, t i) ⊆ ⋂ i, Set.image2 f s (t i)
-- Set.image2_iInter₂_subset_left
theorem image2_iInter₂_subset_left (s : ∀ i, κ i → Set α) (t : Set β) :
    image2 f (⋂ (i) (j), s i j) t ⊆ ⋂ (i) (j), image2 f (s i j) t 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {ι : Sort u_4} {κ : ι → Sort u_7} (f : α → β → γ) (s : (i : ι) → κ i → Set α) (t : Set β)
Goal: Set.image2 f (⋂ i, ⋂ j, s i j) t ⊆ ⋂ i, ⋂ j, Set.image2 f (s i j) t
-- Set.image2_iInter₂_subset_right
theorem image2_iInter₂_subset_right (s : Set α) (t : ∀ i, κ i → Set β) :
    image2 f s (⋂ (i) (j), t i j) ⊆ ⋂ (i) (j), image2 f s (t i j) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {ι : Sort u_4} {κ : ι → Sort u_7} (f : α → β → γ) (s : Set α) (t : (i : ι) → κ i → Set β)
Goal: Set.image2 f s (⋂ i, ⋂ j, t i j) ⊆ ⋂ i, ⋂ j, Set.image2 f s (t i j)
-- Set.prod_eq_biUnion_left
theorem prod_eq_biUnion_left : s ×ˢ t = ⋃ a ∈ s, (fun b => (a, b)) '' t 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {t : Set β}
Goal: s ×ˢ t = ⋃ a ∈ s, (fun b => (a, b)) '' t
-- Set.prod_eq_biUnion_right
theorem prod_eq_biUnion_right : s ×ˢ t = ⋃ b ∈ t, (fun a => (a, b)) '' s 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {t : Set β}
Goal: s ×ˢ t = ⋃ b ∈ t, (fun a => (a, b)) '' s
-- Set.seq_def
theorem seq_def {s : Set (α → β)} {t : Set α} : seq s t = ⋃ f ∈ s, f '' t 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set (α → β)} {t : Set α}
Goal: s.seq t = ⋃ f ∈ s, f '' t
-- Set.seq_subset
theorem seq_subset {s : Set (α → β)} {t : Set α} {u : Set β} :
    seq s t ⊆ u ↔ ∀ f ∈ s, ∀ a ∈ t, (f : α → β) a ∈ u 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set (α → β)} {t : Set α} {u : Set β}
Goal: s.seq t ⊆ u ↔ ∀ f ∈ s, ∀ a ∈ t, f a ∈ u
-- Set.seq_mono
@[gcongr]
theorem seq_mono {s₀ s₁ : Set (α → β)} {t₀ t₁ : Set α} (hs : s₀ ⊆ s₁) (ht : t₀ ⊆ t₁) :
    seq s₀ t₀ ⊆ seq s₁ t₁ 
Arguments: {α : Type u_1} {β : Type u_2} {s₀ s₁ : Set (α → β)} {t₀ t₁ : Set α} (hs : s₀ ⊆ s₁) (ht : t₀ ⊆ t₁)
Goal: s₀.seq t₀ ⊆ s₁.seq t₁
-- Set.singleton_seq
theorem singleton_seq {f : α → β} {t : Set α} : Set.seq ({f} : Set (α → β)) t = f '' t 
Arguments: {α : Type u_1} {β : Type u_2} {f : α → β} {t : Set α}
Goal: {f}.seq t = f '' t
-- Set.seq_singleton
theorem seq_singleton {s : Set (α → β)} {a : α} : Set.seq s {a} = (fun f : α → β => f a) '' s 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set (α → β)} {a : α}
Goal: s.seq {a} = (fun f => f a) '' s
-- Set.seq_seq
theorem seq_seq {s : Set (β → γ)} {t : Set (α → β)} {u : Set α} :
    seq s (seq t u) = seq (seq ((· ∘ ·) '' s) t) u 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {s : Set (β → γ)} {t : Set (α → β)} {u : Set α}
Goal: s.seq (t.seq u) = (((fun x x_1 => x ∘ x_1) '' s).seq t).seq u
-- Set.image_seq
theorem image_seq {f : β → γ} {s : Set (α → β)} {t : Set α} :
    f '' seq s t = seq ((f ∘ ·) '' s) t 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : β → γ} {s : Set (α → β)} {t : Set α}
Goal: f '' s.seq t = ((fun x => f ∘ x) '' s).seq t
-- Set.prod_eq_seq
theorem prod_eq_seq {s : Set α} {t : Set β} : s ×ˢ t = (Prod.mk '' s).seq t 
Arguments: {α : Type u_1} {β : Type u_2} {s : Set α} {t : Set β}
Goal: s ×ˢ t = (Prod.mk '' s).seq t
-- Set.prod_image_seq_comm
theorem prod_image_seq_comm (s : Set α) (t : Set β) :
    (Prod.mk '' s).seq t = seq ((fun b a => (a, b)) '' t) s 
Arguments: {α : Type u_1} {β : Type u_2} (s : Set α) (t : Set β)
Goal: (Prod.mk '' s).seq t = ((fun b a => (a, b)) '' t).seq s
-- Set.image2_eq_seq
theorem image2_eq_seq (f : α → β → γ) (s : Set α) (t : Set β) : image2 f s t = seq (f '' s) t 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (f : α → β → γ) (s : Set α) (t : Set β)
Goal: Set.image2 f s t = (f '' s).seq t
-- Set.pi_def
theorem pi_def (i : Set α) (s : ∀ a, Set (π a)) : pi i s = ⋂ a ∈ i, eval a ⁻¹' s a 
Arguments: {α : Type u_1} {π : α → Type u_11} (i : Set α) (s : (a : α) → Set (π a))
Goal: i.pi s = ⋂ a ∈ i, Function.eval a ⁻¹' s a
-- Set.univ_pi_eq_iInter
theorem univ_pi_eq_iInter (t : ∀ i, Set (π i)) : pi univ t = ⋂ i, eval i ⁻¹' t i 
Arguments: {α : Type u_1} {π : α → Type u_11} (t : (i : α) → Set (π i))
Goal: Set.univ.pi t = ⋂ i, Function.eval i ⁻¹' t i
-- Set.pi_diff_pi_subset
theorem pi_diff_pi_subset (i : Set α) (s t : ∀ a, Set (π a)) :
    pi i s \ pi i t ⊆ ⋃ a ∈ i, eval a ⁻¹' (s a \ t a) 
Arguments: {α : Type u_1} {π : α → Type u_11} (i : Set α) (s t : (a : α) → Set (π a))
Goal: i.pi s \ i.pi t ⊆ ⋃ a ∈ i, Function.eval a ⁻¹' (s a \ t a)
-- Set.iUnion_univ_pi
theorem iUnion_univ_pi {ι : α → Type*} (t : (a : α) → ι a → Set (π a)) :
    ⋃ x : (a : α) → ι a, pi univ (fun a => t a (x a)) = pi univ fun a => ⋃ j : ι a, t a j 
Arguments: {α : Type u_1} {π : α → Type u_11} {ι : α → Type u_12} (t : (a : α) → ι a → Set (π a))
Goal: (⋃ x, Set.univ.pi fun a => t a (x a)) = Set.univ.pi fun a => ⋃ j, t a j
-- Set.directedOn_iUnion
theorem directedOn_iUnion {r} {f : ι → Set α} (hd : Directed (· ⊆ ·) f)
    (h : ∀ x, DirectedOn r (f x)) : DirectedOn r (⋃ x, f x) 
Arguments: {α : Type u_1} {ι : Sort u_4} {r : α → α → Prop} {f : ι → Set α} (hd : Directed (fun x x_1 => x ⊆ x_1) f) (h : ∀ (x : ι), DirectedOn r (f x))
Goal: DirectedOn r (⋃ x, f x)
-- Set.directedOn_sUnion
theorem directedOn_sUnion {r} {S : Set (Set α)} (hd : DirectedOn (· ⊆ ·) S)
    (h : ∀ x ∈ S, DirectedOn r x) : DirectedOn r (⋃₀ S) 
Arguments: {α : Type u_1} {r : α → α → Prop} {S : Set (Set α)} (hd : DirectedOn (fun x x_1 => x ⊆ x_1) S) (h : ∀ x ∈ S, DirectedOn r x)
Goal: DirectedOn r (⋃₀ S)
-- Function.Surjective.iUnion_comp
theorem iUnion_comp {f : ι → ι₂} (hf : Surjective f) (g : ι₂ → Set α) : ⋃ x, g (f x) = ⋃ y, g y 
Arguments: {α : Type u_1} {ι : Sort u_4} {ι₂ : Sort u_6} {f : ι → ι₂} (hf : Function.Surjective f) (g : ι₂ → Set α)
Goal: ⋃ x, g (f x) = ⋃ y, g y
-- Function.Surjective.iInter_comp
theorem iInter_comp {f : ι → ι₂} (hf : Surjective f) (g : ι₂ → Set α) : ⋂ x, g (f x) = ⋂ y, g y 
Arguments: {α : Type u_1} {ι : Sort u_4} {ι₂ : Sort u_6} {f : ι → ι₂} (hf : Function.Surjective f) (g : ι₂ → Set α)
Goal: ⋂ x, g (f x) = ⋂ y, g y
-- Set.disjoint_iUnion_left
@[simp]
theorem disjoint_iUnion_left {ι : Sort*} {s : ι → Set α} :
    Disjoint (⋃ i, s i) t ↔ ∀ i, Disjoint (s i) t 
Arguments: {α : Type u_1} {t : Set α} {ι : Sort u_11} {s : ι → Set α}
Goal: Disjoint (⋃ i, s i) t ↔ ∀ (i : ι), Disjoint (s i) t
-- Set.disjoint_iUnion_right
@[simp]
theorem disjoint_iUnion_right {ι : Sort*} {s : ι → Set α} :
    Disjoint t (⋃ i, s i) ↔ ∀ i, Disjoint t (s i) 
Arguments: {α : Type u_1} {t : Set α} {ι : Sort u_11} {s : ι → Set α}
Goal: Disjoint t (⋃ i, s i) ↔ ∀ (i : ι), Disjoint t (s i)
-- Set.disjoint_iUnion₂_left
theorem disjoint_iUnion₂_left {s : ∀ i, κ i → Set α} {t : Set α} :
    Disjoint (⋃ (i) (j), s i j) t ↔ ∀ i j, Disjoint (s i j) t 
Arguments: {α : Type u_1} {ι : Sort u_4} {κ : ι → Sort u_7} {s : (i : ι) → κ i → Set α} {t : Set α}
Goal: Disjoint (⋃ i, ⋃ j, s i j) t ↔ ∀ (i : ι) (j : κ i), Disjoint (s i j) t
-- Set.disjoint_iUnion₂_right
theorem disjoint_iUnion₂_right {s : Set α} {t : ∀ i, κ i → Set α} :
    Disjoint s (⋃ (i) (j), t i j) ↔ ∀ i j, Disjoint s (t i j) 
Arguments: {α : Type u_1} {ι : Sort u_4} {κ : ι → Sort u_7} {s : Set α} {t : (i : ι) → κ i → Set α}
Goal: Disjoint s (⋃ i, ⋃ j, t i j) ↔ ∀ (i : ι) (j : κ i), Disjoint s (t i j)
-- Set.disjoint_sUnion_left
@[simp]
theorem disjoint_sUnion_left {S : Set (Set α)} {t : Set α} :
    Disjoint (⋃₀S) t ↔ ∀ s ∈ S, Disjoint s t 
Arguments: {α : Type u_1} {S : Set (Set α)} {t : Set α}
Goal: Disjoint (⋃₀ S) t ↔ ∀ s ∈ S, Disjoint s t
-- Set.disjoint_sUnion_right
@[simp]
theorem disjoint_sUnion_right {s : Set α} {S : Set (Set α)} :
    Disjoint s (⋃₀S) ↔ ∀ t ∈ S, Disjoint s t 
Arguments: {α : Type u_1} {s : Set α} {S : Set (Set α)}
Goal: Disjoint s (⋃₀ S) ↔ ∀ t ∈ S, Disjoint s t
-- Set.biUnion_compl_eq_of_pairwise_disjoint_of_iUnion_eq_univ
lemma biUnion_compl_eq_of_pairwise_disjoint_of_iUnion_eq_univ {ι : Type*} {Es : ι → Set α}
    (Es_union : ⋃ i, Es i = univ) (Es_disj : Pairwise fun i j ↦ Disjoint (Es i) (Es j))
    (I : Set ι) :
    (⋃ i ∈ I, Es i)ᶜ = ⋃ i ∈ Iᶜ, Es i 
Arguments: {α : Type u_1} {ι : Type u_11} {Es : ι → Set α} (Es_union : ⋃ i, Es i = Set.univ) (Es_disj : Pairwise fun i j => Disjoint (Es i) (Es j)) (I : Set ι)
Goal: (⋃ i ∈ I, Es i)ᶜ = ⋃ i ∈ Iᶜ, Es i
-- Set.nonempty_iInter_Iic_iff
lemma nonempty_iInter_Iic_iff [Preorder α] {f : ι → α} :
    (⋂ i, Iic (f i)).Nonempty ↔ BddBelow (range f) 
Arguments: {α : Type u_1} {ι : Sort u_4} [Preorder α] {f : ι → α}
Goal: (⋂ i, Set.Iic (f i)).Nonempty ↔ BddBelow (Set.range f)
-- Set.nonempty_iInter_Ici_iff
lemma nonempty_iInter_Ici_iff [Preorder α] {f : ι → α} :
    (⋂ i, Ici (f i)).Nonempty ↔ BddAbove (range f) 
Arguments: {α : Type u_1} {ι : Sort u_4} [Preorder α] {f : ι → α}
Goal: (⋂ i, Set.Ici (f i)).Nonempty ↔ BddAbove (Set.range f)
-- Set.Ici_iSup
theorem Ici_iSup (f : ι → α) : Ici (⨆ i, f i) = ⋂ i, Ici (f i) 
Arguments: {α : Type u_1} {ι : Sort u_4} [CompleteLattice α] (f : ι → α)
Goal: Set.Ici (⨆ i, f i) = ⋂ i, Set.Ici (f i)
-- Set.Iic_iInf
theorem Iic_iInf (f : ι → α) : Iic (⨅ i, f i) = ⋂ i, Iic (f i) 
Arguments: {α : Type u_1} {ι : Sort u_4} [CompleteLattice α] (f : ι → α)
Goal: Set.Iic (⨅ i, f i) = ⋂ i, Set.Iic (f i)
-- Set.Ici_iSup₂
theorem Ici_iSup₂ (f : ∀ i, κ i → α) : Ici (⨆ (i) (j), f i j) = ⋂ (i) (j), Ici (f i j) 
Arguments: {α : Type u_1} {ι : Sort u_4} {κ : ι → Sort u_7} [CompleteLattice α] (f : (i : ι) → κ i → α)
Goal: Set.Ici (⨆ i, ⨆ j, f i j) = ⋂ i, ⋂ j, Set.Ici (f i j)
-- Set.Iic_iInf₂
theorem Iic_iInf₂ (f : ∀ i, κ i → α) : Iic (⨅ (i) (j), f i j) = ⋂ (i) (j), Iic (f i j) 
Arguments: {α : Type u_1} {ι : Sort u_4} {κ : ι → Sort u_7} [CompleteLattice α] (f : (i : ι) → κ i → α)
Goal: Set.Iic (⨅ i, ⨅ j, f i j) = ⋂ i, ⋂ j, Set.Iic (f i j)
-- Set.Ici_sSup
theorem Ici_sSup (s : Set α) : Ici (sSup s) = ⋂ a ∈ s, Ici a 
Arguments: {α : Type u_1} [CompleteLattice α] (s : Set α)
Goal: Set.Ici (sSup s) = ⋂ a ∈ s, Set.Ici a
-- Set.Iic_sInf
theorem Iic_sInf (s : Set α) : Iic (sInf s) = ⋂ a ∈ s, Iic a 
Arguments: {α : Type u_1} [CompleteLattice α] (s : Set α)
Goal: Set.Iic (sInf s) = ⋂ a ∈ s, Set.Iic a
-- Set.biUnion_diff_biUnion_subset
theorem biUnion_diff_biUnion_subset (s₁ s₂ : Set α) :
    ((⋃ x ∈ s₁, t x) \ ⋃ x ∈ s₂, t x) ⊆ ⋃ x ∈ s₁ \ s₂, t x 
Arguments: {α : Type u_1} {β : Type u_2} (t : α → Set β) (s₁ s₂ : Set α)
Goal: (⋃ x ∈ s₁, t x) \ ⋃ x ∈ s₂, t x ⊆ ⋃ x ∈ s₁ \ s₂, t x
-- Set.sigmaToiUnion_surjective
theorem sigmaToiUnion_surjective : Surjective (sigmaToiUnion t)
  
Arguments: {α : Type u_1} {β : Type u_2} (t : α → Set β)
Goal: Function.Surjective (Set.sigmaToiUnion t)
-- Set.sigmaToiUnion_injective
theorem sigmaToiUnion_injective (h : Pairwise fun i j => Disjoint (t i) (t j)) :
    Injective (sigmaToiUnion t)
  
Arguments: {α : Type u_1} {β : Type u_2} (t : α → Set β) (h : Pairwise fun i j => Disjoint (t i) (t j))
Goal: Function.Injective (Set.sigmaToiUnion t)
-- Set.sigmaToiUnion_bijective
theorem sigmaToiUnion_bijective (h : Pairwise fun i j => Disjoint (t i) (t j)) :
    Bijective (sigmaToiUnion t) 
Arguments: {α : Type u_1} {β : Type u_2} (t : α → Set β) (h : Pairwise fun i j => Disjoint (t i) (t j))
Goal: Function.Bijective (Set.sigmaToiUnion t)
-- Set.iUnion_ge_eq_iUnion_nat_add
theorem iUnion_ge_eq_iUnion_nat_add (u : ℕ → Set α) (n : ℕ) : ⋃ i ≥ n, u i = ⋃ i, u (i + n) 
Arguments: {α : Type u_1} (u : ℕ → Set α) (n : ℕ)
Goal: ⋃ i, ⋃ (_ : i ≥ n), u i = ⋃ i, u (i + n)
-- Set.iInter_ge_eq_iInter_nat_add
theorem iInter_ge_eq_iInter_nat_add (u : ℕ → Set α) (n : ℕ) : ⋂ i ≥ n, u i = ⋂ i, u (i + n) 
Arguments: {α : Type u_1} (u : ℕ → Set α) (n : ℕ)
Goal: ⋂ i, ⋂ (_ : i ≥ n), u i = ⋂ i, u (i + n)
-- Monotone.iUnion_nat_add
theorem _root_.Monotone.iUnion_nat_add {f : ℕ → Set α} (hf : Monotone f) (k : ℕ) :
    ⋃ n, f (n + k) = ⋃ n, f n 
Arguments: {α : Type u_1} {f : ℕ → Set α} (hf : Monotone f) (k : ℕ)
Goal: ⋃ n, f (n + k) = ⋃ n, f n
-- Antitone.iInter_nat_add
theorem _root_.Antitone.iInter_nat_add {f : ℕ → Set α} (hf : Antitone f) (k : ℕ) :
    ⋂ n, f (n + k) = ⋂ n, f n 
Arguments: {α : Type u_1} {f : ℕ → Set α} (hf : Antitone f) (k : ℕ)
Goal: ⋂ n, f (n + k) = ⋂ n, f n
-- Set.iUnion_iInter_ge_nat_add
theorem iUnion_iInter_ge_nat_add (f : ℕ → Set α) (k : ℕ) :
    ⋃ n, ⋂ i ≥ n, f (i + k) = ⋃ n, ⋂ i ≥ n, f i 
Arguments: {α : Type u_1} (f : ℕ → Set α) (k : ℕ)
Goal: ⋃ n, ⋂ i, ⋂ (_ : i ≥ n), f (i + k) = ⋃ n, ⋂ i, ⋂ (_ : i ≥ n), f i
-- Set.union_iUnion_nat_succ
theorem union_iUnion_nat_succ (u : ℕ → Set α) : (u 0 ∪ ⋃ i, u (i + 1)) = ⋃ i, u i 
Arguments: {α : Type u_1} (u : ℕ → Set α)
Goal: u 0 ∪ ⋃ i, u (i + 1) = ⋃ i, u i
-- Set.inter_iInter_nat_succ
theorem inter_iInter_nat_succ (u : ℕ → Set α) : (u 0 ∩ ⋂ i, u (i + 1)) = ⋂ i, u i 
Arguments: {α : Type u_1} (u : ℕ → Set α)
Goal: u 0 ∩ ⋂ i, u (i + 1) = ⋂ i, u i
-- iSup_iUnion
theorem iSup_iUnion (s : ι → Set α) (f : α → β) : ⨆ a ∈ ⋃ i, s i, f a = ⨆ (i) (a ∈ s i), f a 
Arguments: {α : Type u_1} {β : Type u_2} {ι : Sort u_4} [CompleteLattice β] (s : ι → Set α) (f : α → β)
Goal: ⨆ a ∈ ⋃ i, s i, f a = ⨆ i, ⨆ a ∈ s i, f a
-- iInf_iUnion
theorem iInf_iUnion (s : ι → Set α) (f : α → β) : ⨅ a ∈ ⋃ i, s i, f a = ⨅ (i) (a ∈ s i), f a 
Arguments: {α : Type u_1} {β : Type u_2} {ι : Sort u_4} [CompleteLattice β] (s : ι → Set α) (f : α → β)
Goal: ⨅ a ∈ ⋃ i, s i, f a = ⨅ i, ⨅ a ∈ s i, f a
-- sSup_iUnion
theorem sSup_iUnion (t : ι → Set β) : sSup (⋃ i, t i) = ⨆ i, sSup (t i) 
Arguments: {β : Type u_2} {ι : Sort u_4} [CompleteLattice β] (t : ι → Set β)
Goal: sSup (⋃ i, t i) = ⨆ i, sSup (t i)
-- sSup_sUnion
theorem sSup_sUnion (s : Set (Set β)) : sSup (⋃₀ s) = ⨆ t ∈ s, sSup t 
Arguments: {β : Type u_2} [CompleteLattice β] (s : Set (Set β))
Goal: sSup (⋃₀ s) = ⨆ t ∈ s, sSup t
-- sInf_sUnion
theorem sInf_sUnion (s : Set (Set β)) : sInf (⋃₀ s) = ⨅ t ∈ s, sInf t 
Arguments: {β : Type u_2} [CompleteLattice β] (s : Set (Set β))
Goal: sInf (⋃₀ s) = ⨅ t ∈ s, sInf t
-- iSup_sUnion
lemma iSup_sUnion (S : Set (Set α)) (f : α → β) :
    (⨆ x ∈ ⋃₀ S, f x) = ⨆ (s ∈ S) (x ∈ s), f x 
Arguments: {α : Type u_1} {β : Type u_2} [CompleteLattice β] (S : Set (Set α)) (f : α → β)
Goal: ⨆ x ∈ ⋃₀ S, f x = ⨆ s ∈ S, ⨆ x ∈ s, f x
-- iInf_sUnion
lemma iInf_sUnion (S : Set (Set α)) (f : α → β) :
    (⨅ x ∈ ⋃₀ S, f x) = ⨅ (s ∈ S) (x ∈ s), f x 
Arguments: {α : Type u_1} {β : Type u_2} [CompleteLattice β] (S : Set (Set α)) (f : α → β)
Goal: ⨅ x ∈ ⋃₀ S, f x = ⨅ s ∈ S, ⨅ x ∈ s, f x
-- forall_sUnion
lemma forall_sUnion {S : Set (Set α)} {p : α → Prop} :
    (∀ x ∈ ⋃₀ S, p x) ↔ ∀ s ∈ S, ∀ x ∈ s, p x 
Arguments: {α : Type u_1} {S : Set (Set α)} {p : α → Prop}
Goal: (∀ x ∈ ⋃₀ S, p x) ↔ ∀ s ∈ S, ∀ x ∈ s, p x
-- exists_sUnion
lemma exists_sUnion {S : Set (Set α)} {p : α → Prop} :
    (∃ x ∈ ⋃₀ S, p x) ↔ ∃ s ∈ S, ∃ x ∈ s, p x 
Arguments: {α : Type u_1} {S : Set (Set α)} {p : α → Prop}
Goal: (∃ x ∈ ⋃₀ S, p x) ↔ ∃ s ∈ S, ∃ x ∈ s, p x
-- Multiset.coe_join
theorem coe_join :
    ∀ L : List (List α), join (L.map ((↑) : List α → Multiset α) : Multiset (Multiset α)) = L.join
  
Arguments: {α : Type u_1} (L : List (List α))
Goal: (↑(List.map Multiset.ofList L)).join = ↑L.join
-- Multiset.join_zero
@[simp]
theorem join_zero : @join α 0 = 0 
Arguments: {α : Type u_1}
Goal: Multiset.join 0 = 0
-- Multiset.join_cons
@[simp]
theorem join_cons (s S) : @join α (s ::ₘ S) = s + join S 
Arguments: {α : Type u_1} (s : Multiset α) (S : Multiset (Multiset α))
Goal: (s ::ₘ S).join = s + S.join
-- Multiset.join_add
@[simp]
theorem join_add (S T) : @join α (S + T) = join S + join T 
Arguments: {α : Type u_1} (S T : Multiset (Multiset α))
Goal: (S + T).join = S.join + T.join
-- Multiset.singleton_join
@[simp]
theorem singleton_join (a) : join ({a} : Multiset (Multiset α)) = a 
Arguments: {α : Type u_1} (a : Multiset α)
Goal: {a}.join = a
-- Multiset.mem_join
@[simp]
theorem mem_join {a S} : a ∈ @join α S ↔ ∃ s ∈ S, a ∈ s 
Arguments: {α : Type u_1} {a : α} {S : Multiset (Multiset α)}
Goal: a ∈ S.join ↔ ∃ s ∈ S, a ∈ s
-- Multiset.card_join
@[simp]
theorem card_join (S) : card (@join α S) = sum (map card S) 
Arguments: {α : Type u_1} (S : Multiset (Multiset α))
Goal: Multiset.card S.join = (Multiset.map (⇑Multiset.card) S).sum
-- Multiset.map_join
@[simp]
theorem map_join (f : α → β) (S : Multiset (Multiset α)) :
    map f (join S) = join (map (map f) S) 
Arguments: {α : Type u_1} {β : Type v} (f : α → β) (S : Multiset (Multiset α))
Goal: Multiset.map f S.join = (Multiset.map (Multiset.map f) S).join
-- Multiset.sum_join
@[to_additive (attr := simp)]
theorem prod_join [CommMonoid α] {S : Multiset (Multiset α)} :
    prod (join S) = prod (map prod S) 
Arguments: {α : Type u_1} [AddCommMonoid α] {S : Multiset (Multiset α)}
Goal: S.join.sum = (Multiset.map Multiset.sum S).sum
-- Multiset.prod_join
@[to_additive (attr := simp)]
theorem prod_join [CommMonoid α] {S : Multiset (Multiset α)} :
    prod (join S) = prod (map prod S) 
Arguments: {α : Type u_1} [CommMonoid α] {S : Multiset (Multiset α)}
Goal: S.join.prod = (Multiset.map Multiset.prod S).prod
-- Multiset.rel_join
theorem rel_join {r : α → β → Prop} {s t} (h : Rel (Rel r) s t) : Rel r s.join t.join 
Arguments: {α : Type u_1} {β : Type v} {r : α → β → Prop} {s : Multiset (Multiset α)} {t : Multiset (Multiset β)} (h : Multiset.Rel (Multiset.Rel r) s t)
Goal: Multiset.Rel r s.join t.join
-- Multiset.coe_bind
@[simp]
theorem coe_bind (l : List α) (f : α → List β) : (@bind α β l fun a => f a) = l.bind f 
Arguments: {α : Type u_1} {β : Type v} (l : List α) (f : α → List β)
Goal: ((↑l).bind fun a => ↑(f a)) = ↑(l.bind f)
-- Multiset.zero_bind
@[simp]
theorem zero_bind : bind 0 f = 0 
Arguments: {α : Type u_1} {β : Type v} (f : α → Multiset β)
Goal: Multiset.bind 0 f = 0
-- Multiset.cons_bind
@[simp]
theorem cons_bind : (a ::ₘ s).bind f = f a + s.bind f 
Arguments: {α : Type u_1} {β : Type v} (a : α) (s : Multiset α) (f : α → Multiset β)
Goal: (a ::ₘ s).bind f = f a + s.bind f
-- Multiset.singleton_bind
@[simp]
theorem singleton_bind : bind {a} f = f a 
Arguments: {α : Type u_1} {β : Type v} (a : α) (f : α → Multiset β)
Goal: {a}.bind f = f a
-- Multiset.add_bind
@[simp]
theorem add_bind : (s + t).bind f = s.bind f + t.bind f 
Arguments: {α : Type u_1} {β : Type v} (s t : Multiset α) (f : α → Multiset β)
Goal: (s + t).bind f = s.bind f + t.bind f
-- Multiset.bind_zero
@[simp]
theorem bind_zero : s.bind (fun _ => 0 : α → Multiset β) = 0 
Arguments: {α : Type u_1} {β : Type v} (s : Multiset α)
Goal: (s.bind fun x => 0) = 0
-- Multiset.bind_add
@[simp]
theorem bind_add : (s.bind fun a => f a + g a) = s.bind f + s.bind g 
Arguments: {α : Type u_1} {β : Type v} (s : Multiset α) (f g : α → Multiset β)
Goal: (s.bind fun a => f a + g a) = s.bind f + s.bind g
-- Multiset.bind_cons
@[simp]
theorem bind_cons (f : α → β) (g : α → Multiset β) :
    (s.bind fun a => f a ::ₘ g a) = map f s + s.bind g 
Arguments: {α : Type u_1} {β : Type v} (s : Multiset α) (f : α → β) (g : α → Multiset β)
Goal: (s.bind fun a => f a ::ₘ g a) = Multiset.map f s + s.bind g
-- Multiset.bind_singleton
@[simp]
theorem bind_singleton (f : α → β) : (s.bind fun x => ({f x} : Multiset β)) = map f s 
Arguments: {α : Type u_1} {β : Type v} (s : Multiset α) (f : α → β)
Goal: (s.bind fun x => {f x}) = Multiset.map f s
-- Multiset.mem_bind
@[simp]
theorem mem_bind {b s} {f : α → Multiset β} : b ∈ bind s f ↔ ∃ a ∈ s, b ∈ f a 
Arguments: {α : Type u_1} {β : Type v} {b : β} {s : Multiset α} {f : α → Multiset β}
Goal: b ∈ s.bind f ↔ ∃ a ∈ s, b ∈ f a
-- Multiset.card_bind
@[simp]
theorem card_bind : card (s.bind f) = (s.map (card ∘ f)).sum 
Arguments: {α : Type u_1} {β : Type v} (s : Multiset α) (f : α → Multiset β)
Goal: Multiset.card (s.bind f) = (Multiset.map (⇑Multiset.card ∘ f) s).sum
-- Multiset.bind_congr
theorem bind_congr {f g : α → Multiset β} {m : Multiset α} :
    (∀ a ∈ m, f a = g a) → bind m f = bind m g 
Arguments: {α : Type u_1} {β : Type v} {f g : α → Multiset β} {m : Multiset α}
Goal: (∀ a ∈ m, f a = g a) → m.bind f = m.bind g
-- Multiset.bind_hcongr
theorem bind_hcongr {β' : Type v} {m : Multiset α} {f : α → Multiset β} {f' : α → Multiset β'}
    (h : β = β') (hf : ∀ a ∈ m, HEq (f a) (f' a)) : HEq (bind m f) (bind m f') 
Arguments: {α : Type u_1} {β β' : Type v} {m : Multiset α} {f : α → Multiset β} {f' : α → Multiset β'} (h : β = β') (hf : ∀ a ∈ m, HEq (f a) (f' a))
Goal: HEq (m.bind f) (m.bind f')
-- Multiset.map_bind
theorem map_bind (m : Multiset α) (n : α → Multiset β) (f : β → γ) :
    map f (bind m n) = bind m fun a => map f (n a) 
Arguments: {α : Type u_1} {β : Type v} {γ : Type u_2} (m : Multiset α) (n : α → Multiset β) (f : β → γ)
Goal: Multiset.map f (m.bind n) = m.bind fun a => Multiset.map f (n a)
-- Multiset.bind_map
theorem bind_map (m : Multiset α) (n : β → Multiset γ) (f : α → β) :
    bind (map f m) n = bind m fun a => n (f a) 
Arguments: {α : Type u_1} {β : Type v} {γ : Type u_2} (m : Multiset α) (n : β → Multiset γ) (f : α → β)
Goal: (Multiset.map f m).bind n = m.bind fun a => n (f a)
-- Multiset.bind_assoc
theorem bind_assoc {s : Multiset α} {f : α → Multiset β} {g : β → Multiset γ} :
    (s.bind f).bind g = s.bind fun a => (f a).bind g 
Arguments: {α : Type u_1} {β : Type v} {γ : Type u_2} {s : Multiset α} {f : α → Multiset β} {g : β → Multiset γ}
Goal: (s.bind f).bind g = s.bind fun a => (f a).bind g
-- Multiset.bind_bind
theorem bind_bind (m : Multiset α) (n : Multiset β) {f : α → β → Multiset γ} :
    ((bind m) fun a => (bind n) fun b => f a b) = (bind n) fun b => (bind m) fun a => f a b 
Arguments: {α : Type u_1} {β : Type v} {γ : Type u_2} (m : Multiset α) (n : Multiset β) {f : α → β → Multiset γ}
Goal: (m.bind fun a => n.bind fun b => f a b) = n.bind fun b => m.bind fun a => f a b
-- Multiset.bind_map_comm
theorem bind_map_comm (m : Multiset α) (n : Multiset β) {f : α → β → γ} :
    ((bind m) fun a => n.map fun b => f a b) = (bind n) fun b => m.map fun a => f a b 
Arguments: {α : Type u_1} {β : Type v} {γ : Type u_2} (m : Multiset α) (n : Multiset β) {f : α → β → γ}
Goal: (m.bind fun a => Multiset.map (fun b => f a b) n) = n.bind fun b => Multiset.map (fun a => f a b) m
-- Multiset.sum_bind
@[to_additive (attr := simp)]
theorem prod_bind [CommMonoid β] (s : Multiset α) (t : α → Multiset β) :
    (s.bind t).prod = (s.map fun a => (t a).prod).prod 
Arguments: {α : Type u_1} {β : Type v} [AddCommMonoid β] (s : Multiset α) (t : α → Multiset β)
Goal: (s.bind t).sum = (Multiset.map (fun a => (t a).sum) s).sum
-- Multiset.prod_bind
@[to_additive (attr := simp)]
theorem prod_bind [CommMonoid β] (s : Multiset α) (t : α → Multiset β) :
    (s.bind t).prod = (s.map fun a => (t a).prod).prod 
Arguments: {α : Type u_1} {β : Type v} [CommMonoid β] (s : Multiset α) (t : α → Multiset β)
Goal: (s.bind t).prod = (Multiset.map (fun a => (t a).prod) s).prod