ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- zpow_eq_zero_iff
lemma zpow_eq_zero_iff {n : ℤ} (hn : n ≠ 0) : a ^ n = 0 ↔ a = 0 
Arguments: {G₀ : Type u_3} [GroupWithZero G₀] {a : G₀} {n : ℤ} (hn : n ≠ 0)
Goal: a ^ n = 0 ↔ a = 0
-- zpow_ne_zero_iff
lemma zpow_ne_zero_iff {n : ℤ} (hn : n ≠ 0) : a ^ n ≠ 0 ↔ a ≠ 0 
Arguments: {G₀ : Type u_3} [GroupWithZero G₀] {a : G₀} {n : ℤ} (hn : n ≠ 0)
Goal: a ^ n ≠ 0 ↔ a ≠ 0
-- zpow_neg_mul_zpow_self
lemma zpow_neg_mul_zpow_self (n : ℤ) (ha : a ≠ 0) : a ^ (-n) * a ^ n = 1 
Arguments: {G₀ : Type u_3} [GroupWithZero G₀] {a : G₀} (n : ℤ) (ha : a ≠ 0)
Goal: a ^ (-n) * a ^ n = 1
-- Ring.inverse_eq_inv
theorem Ring.inverse_eq_inv (a : G₀) : Ring.inverse a = a⁻¹ 
Arguments: {G₀ : Type u_3} [GroupWithZero G₀] (a : G₀)
Goal: Ring.inverse a = a⁻¹
-- Ring.inverse_eq_inv'
@[simp]
theorem Ring.inverse_eq_inv' : (Ring.inverse : G₀ → G₀) = Inv.inv 
Arguments: {G₀ : Type u_3} [GroupWithZero G₀]
Goal: Ring.inverse = Inv.inv
-- unitsEquivNeZero_symm_apply
@[simps] def unitsEquivNeZero [GroupWithZero α] : αˣ ≃ {a : α // a ≠ 0} 
Arguments: {α : Type u_1} [GroupWithZero α] (a : { a // a ≠ 0 })
Goal: unitsEquivNeZero.symm a = Units.mk0 ↑a ⋯
-- unitsEquivNeZero_apply_coe
@[simps] def unitsEquivNeZero [GroupWithZero α] : αˣ ≃ {a : α // a ≠ 0} 
Arguments: {α : Type u_1} [GroupWithZero α] (a : αˣ)
Goal: ↑(unitsEquivNeZero a) = ↑a
-- div_mul_cancel_left₀
lemma div_mul_cancel_left₀ (ha : a ≠ 0) (b : G₀) : a / (a * b) = b⁻¹ 
Arguments: {G₀ : Type u_3} [CommGroupWithZero G₀] {a : G₀} (ha : a ≠ 0) (b : G₀)
Goal: a / (a * b) = b⁻¹
-- div_mul_right
@[deprecated div_mul_cancel_left₀ (since := "2024-03-22")]
lemma div_mul_right (b : G₀) (ha : a ≠ 0) : a / (a * b) = 1 / b 
Arguments: {G₀ : Type u_3} [CommGroupWithZero G₀] {a : G₀} (b : G₀) (ha : a ≠ 0)
Goal: a / (a * b) = 1 / b
-- mul_div_cancel_left_of_imp
lemma mul_div_cancel_left_of_imp (h : a = 0 → b = 0) : a * b / a = b 
Arguments: {G₀ : Type u_3} [CommGroupWithZero G₀] {a b : G₀} (h : a = 0 → b = 0)
Goal: a * b / a = b
-- mul_div_cancel_of_imp'
lemma mul_div_cancel_of_imp' (h : b = 0 → a = 0) : b * (a / b) = a 
Arguments: {G₀ : Type u_3} [CommGroupWithZero G₀] {a b : G₀} (h : b = 0 → a = 0)
Goal: b * (a / b) = a
-- mul_div_cancel₀
lemma mul_div_cancel₀ (a : G₀) (hb : b ≠ 0) : b * (a / b) = a 
Arguments: {G₀ : Type u_3} [CommGroupWithZero G₀] {b : G₀} (a : G₀) (hb : b ≠ 0)
Goal: b * (a / b) = a
-- mul_div_mul_left
lemma mul_div_mul_left (a b : G₀) (hc : c ≠ 0) : c * a / (c * b) = a / b 
Arguments: {G₀ : Type u_3} [CommGroupWithZero G₀] {c : G₀} (a b : G₀) (hc : c ≠ 0)
Goal: c * a / (c * b) = a / b
-- mul_eq_mul_of_div_eq_div
lemma mul_eq_mul_of_div_eq_div (a c : G₀) (hb : b ≠ 0) (hd : d ≠ 0)
    (h : a / b = c / d) : a * d = c * b 
Arguments: {G₀ : Type u_3} [CommGroupWithZero G₀] {b d : G₀} (a c : G₀) (hb : b ≠ 0) (hd : d ≠ 0) (h : a / b = c / d)
Goal: a * d = c * b
-- div_eq_div_iff
@[field_simps] lemma div_eq_div_iff (hb : b ≠ 0) (hd : d ≠ 0) : a / b = c / d ↔ a * d = c * b 
Arguments: {G₀ : Type u_3} [CommGroupWithZero G₀] {a b c d : G₀} (hb : b ≠ 0) (hd : d ≠ 0)
Goal: a / b = c / d ↔ a * d = c * b
-- div_eq_div_iff_div_eq_div'
lemma div_eq_div_iff_div_eq_div' (hb : b ≠ 0) (hc : c ≠ 0) : a / b = c / d ↔ a / c = b / d 
Arguments: {G₀ : Type u_3} [CommGroupWithZero G₀] {a b c d : G₀} (hb : b ≠ 0) (hc : c ≠ 0)
Goal: a / b = c / d ↔ a / c = b / d
-- div_div_cancel'
lemma div_div_cancel' (ha : a ≠ 0) : a / (a / b) = b 
Arguments: {G₀ : Type u_3} [CommGroupWithZero G₀] {a b : G₀} (ha : a ≠ 0)
Goal: a / (a / b) = b
-- div_div_cancel_left'
lemma div_div_cancel_left' (ha : a ≠ 0) : a / b / a = b⁻¹ 
Arguments: {G₀ : Type u_3} [CommGroupWithZero G₀] {a b : G₀} (ha : a ≠ 0)
Goal: a / b / a = b⁻¹
-- div_helper
lemma div_helper (b : G₀) (h : a ≠ 0) : 1 / (a * b) * a = 1 / b 
Arguments: {G₀ : Type u_3} [CommGroupWithZero G₀] {a : G₀} (b : G₀) (h : a ≠ 0)
Goal: 1 / (a * b) * a = 1 / b
-- div_div_div_cancel_left'
lemma div_div_div_cancel_left' (a b : G₀) (hc : c ≠ 0) : c / a / (c / b) = b / a 
Arguments: {G₀ : Type u_3} [CommGroupWithZero G₀] {c : G₀} (a b : G₀) (hc : c ≠ 0)
Goal: c / a / (c / b) = b / a
-- IsCauSeq.of_abv_le
lemma of_abv_le (n : ℕ) (hm : ∀ m, n ≤ m → abv (f m) ≤ a m) :
    IsCauSeq abs (fun n ↦ ∑ i ∈ range n, a i) → IsCauSeq abv fun n ↦ ∑ i ∈ range n, f i 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrderedField α] [Ring β] {abv : β → α} [IsAbsoluteValue abv] {f : ℕ → β} {a : ℕ → α} (n : ℕ) (hm : ∀ (m : ℕ), n ≤ m → abv (f m) ≤ a m)
Goal: (IsCauSeq abs fun n => ∑ i ∈ Finset.range n, a i) → IsCauSeq abv fun n => ∑ i ∈ Finset.range n, f i
-- IsCauSeq.of_abv
lemma of_abv (hf : IsCauSeq abs fun m ↦ ∑ n ∈ range m, abv (f n)) :
    IsCauSeq abv fun m ↦ ∑ n ∈ range m, f n 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrderedField α] [Ring β] {abv : β → α} [IsAbsoluteValue abv] {f : ℕ → β} (hf : IsCauSeq abs fun m => ∑ n ∈ Finset.range m, abv (f n))
Goal: IsCauSeq abv fun m => ∑ n ∈ Finset.range m, f n
-- cauchy_product
theorem _root_.cauchy_product (ha : IsCauSeq abs fun m ↦ ∑ n ∈ range m, abv (f n))
    (hb : IsCauSeq abv fun m ↦ ∑ n ∈ range m, g n) (ε : α) (ε0 : 0 < ε) :
    ∃ i : ℕ, ∀ j ≥ i,
      abv ((∑ k ∈ range j, f k) * ∑ k ∈ range j, g k -
        ∑ n ∈ range j, ∑ m ∈ range (n + 1), f m * g (n - m)) < ε 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrderedField α] [Ring β] {abv : β → α} [IsAbsoluteValue abv] {f g : ℕ → β} (ha : IsCauSeq abs fun m => ∑ n ∈ Finset.range m, abv (f n)) (hb : IsCauSeq abv fun m => ∑ n ∈ Finset.range m, g n) (ε : α) (ε0 : 0 < ε)
Goal: ∃ i,
  ∀ j ≥ i,
    abv
        ((∑ k ∈ Finset.range j, f k) * ∑ k ∈ Finset.range j, g k -
          ∑ n ∈ Finset.range j, ∑ m ∈ Finset.range (n + 1), f m * g (n - m)) <
      ε
-- IsCauSeq.of_decreasing_bounded
lemma of_decreasing_bounded (f : ℕ → α) {a : α} {m : ℕ} (ham : ∀ n ≥ m, |f n| ≤ a)
    (hnm : ∀ n ≥ m, f n.succ ≤ f n) : IsCauSeq abs f 
Arguments: {α : Type u_1} [LinearOrderedField α] [Archimedean α] (f : ℕ → α) {a : α} {m : ℕ} (ham : ∀ n ≥ m, |f n| ≤ a) (hnm : ∀ n ≥ m, f n.succ ≤ f n)
Goal: IsCauSeq abs f
-- IsCauSeq.of_mono_bounded
lemma of_mono_bounded (f : ℕ → α) {a : α} {m : ℕ} (ham : ∀ n ≥ m, |f n| ≤ a)
    (hnm : ∀ n ≥ m, f n ≤ f n.succ) : IsCauSeq abs f 
Arguments: {α : Type u_1} [LinearOrderedField α] [Archimedean α] (f : ℕ → α) {a : α} {m : ℕ} (ham : ∀ n ≥ m, |f n| ≤ a) (hnm : ∀ n ≥ m, f n ≤ f n.succ)
Goal: IsCauSeq abs f
-- IsCauSeq.geo_series
lemma geo_series [Nontrivial β] (x : β) (hx1 : abv x < 1) :
    IsCauSeq abv fun n ↦ ∑ m ∈ range n, x ^ m 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrderedField α] [Ring β] {abv : β → α} [IsAbsoluteValue abv] [Archimedean α] [Nontrivial β] (x : β) (hx1 : abv x < 1)
Goal: IsCauSeq abv fun n => ∑ m ∈ Finset.range n, x ^ m
-- IsCauSeq.geo_series_const
lemma geo_series_const (a : α) {x : α} (hx1 : |x| < 1) :
    IsCauSeq abs fun m ↦ ∑ n ∈ range m, (a * x ^ n) 
Arguments: {α : Type u_1} [LinearOrderedField α] [Archimedean α] (a : α) {x : α} (hx1 : |x| < 1)
Goal: IsCauSeq abs fun m => ∑ n ∈ Finset.range m, a * x ^ n
-- IsCauSeq.series_ratio_test
lemma series_ratio_test {f : ℕ → β} (n : ℕ) (r : α) (hr0 : 0 ≤ r) (hr1 : r < 1)
    (h : ∀ m, n ≤ m → abv (f m.succ) ≤ r * abv (f m)) :
    IsCauSeq abv fun m ↦ ∑ n ∈ range m, f n 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrderedField α] [Ring β] {abv : β → α} [IsAbsoluteValue abv] [Archimedean α] {f : ℕ → β} (n : ℕ) (r : α) (hr0 : 0 ≤ r) (hr1 : r < 1) (h : ∀ (m : ℕ), n ≤ m → abv (f m.succ) ≤ r * abv (f m))
Goal: IsCauSeq abv fun m => ∑ n ∈ Finset.range m, f n
-- LieSubmodule.lieIdeal_oper_eq_span
theorem lieIdeal_oper_eq_span :
    ⁅I, N⁆ = lieSpan R L { m | ∃ (x : I) (n : N), ⁅(x : L), (n : M)⁆ = m } 
Arguments: {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N : LieSubmodule R L M) (I : LieIdeal R L)
Goal: ⁅I, N⁆ = LieSubmodule.lieSpan R L {m | ∃ x n, ⁅↑x, ↑n⁆ = m}
-- LieSubmodule.lieIdeal_oper_eq_linear_span
theorem lieIdeal_oper_eq_linear_span :
    (↑⁅I, N⁆ : Submodule R M) =
      Submodule.span R { m | ∃ (x : I) (n : N), ⁅(x : L), (n : M)⁆ = m } 
Arguments: {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (N : LieSubmodule R L M) (I : LieIdeal R L)
Goal: ↑⁅I, N⁆ = Submodule.span R {m | ∃ x n, ⁅↑x, ↑n⁆ = m}
-- LieSubmodule.lieIdeal_oper_eq_linear_span'
theorem lieIdeal_oper_eq_linear_span' :
    (↑⁅I, N⁆ : Submodule R M) = Submodule.span R { m | ∃ x ∈ I, ∃ n ∈ N, ⁅x, n⁆ = m } 
Arguments: {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] (N : LieSubmodule R L M) (I : LieIdeal R L)
Goal: ↑⁅I, N⁆ = Submodule.span R {m | ∃ x ∈ I, ∃ n ∈ N, ⁅x, n⁆ = m}
-- LieSubmodule.lie_le_iff
theorem lie_le_iff : ⁅I, N⁆ ≤ N' ↔ ∀ x ∈ I, ∀ m ∈ N, ⁅x, m⁆ ∈ N' 
Arguments: {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N N' : LieSubmodule R L M) (I : LieIdeal R L)
Goal: ⁅I, N⁆ ≤ N' ↔ ∀ x ∈ I, ∀ m ∈ N, ⁅x, m⁆ ∈ N'
-- LieSubmodule.lie_coe_mem_lie
theorem lie_coe_mem_lie (x : I) (m : N) : ⁅(x : L), (m : M)⁆ ∈ ⁅I, N⁆ 
Arguments: {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] {N : LieSubmodule R L M} {I : LieIdeal R L} (x : ↥I) (m : ↥N)
Goal: ⁅↑x, ↑m⁆ ∈ ⁅I, N⁆
-- LieSubmodule.lie_mem_lie
theorem lie_mem_lie {x : L} {m : M} (hx : x ∈ I) (hm : m ∈ N) : ⁅x, m⁆ ∈ ⁅I, N⁆ 
Arguments: {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] {N : LieSubmodule R L M} {I : LieIdeal R L} {x : L} {m : M} (hx : x ∈ I) (hm : m ∈ N)
Goal: ⁅x, m⁆ ∈ ⁅I, N⁆
-- LieSubmodule.lie_comm
theorem lie_comm : ⁅I, J⁆ = ⁅J, I⁆ 
Arguments: {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (I J : LieIdeal R L)
Goal: ⁅I, J⁆ = ⁅J, I⁆
-- LieSubmodule.lie_le_right
theorem lie_le_right : ⁅I, N⁆ ≤ N 
Arguments: {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N : LieSubmodule R L M) (I : LieIdeal R L)
Goal: ⁅I, N⁆ ≤ N
-- LieSubmodule.lie_le_left
theorem lie_le_left : ⁅I, J⁆ ≤ I 
Arguments: {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (I J : LieIdeal R L)
Goal: ⁅I, J⁆ ≤ I
-- LieSubmodule.lie_le_inf
theorem lie_le_inf : ⁅I, J⁆ ≤ I ⊓ J 
Arguments: {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (I J : LieIdeal R L)
Goal: ⁅I, J⁆ ≤ I ⊓ J
-- LieSubmodule.lie_bot
@[simp]
theorem lie_bot : ⁅I, (⊥ : LieSubmodule R L M)⁆ = ⊥ 
Arguments: {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] (I : LieIdeal R L)
Goal: ⁅I, ⊥⁆ = ⊥
-- LieSubmodule.bot_lie
@[simp]
theorem bot_lie : ⁅(⊥ : LieIdeal R L), N⁆ = ⊥ 
Arguments: {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N : LieSubmodule R L M)
Goal: ⁅⊥, N⁆ = ⊥
-- LieSubmodule.lie_eq_bot_iff
theorem lie_eq_bot_iff : ⁅I, N⁆ = ⊥ ↔ ∀ x ∈ I, ∀ m ∈ N, ⁅(x : L), m⁆ = 0 
Arguments: {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N : LieSubmodule R L M) (I : LieIdeal R L)
Goal: ⁅I, N⁆ = ⊥ ↔ ∀ x ∈ I, ∀ m ∈ N, ⁅x, m⁆ = 0
-- LieSubmodule.mono_lie
theorem mono_lie (h₁ : I ≤ J) (h₂ : N ≤ N') : ⁅I, N⁆ ≤ ⁅J, N'⁆ 
Arguments: {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] {N N' : LieSubmodule R L M} {I J : LieIdeal R L} (h₁ : I ≤ J) (h₂ : N ≤ N')
Goal: ⁅I, N⁆ ≤ ⁅J, N'⁆
-- LieSubmodule.mono_lie_left
theorem mono_lie_left (h : I ≤ J) : ⁅I, N⁆ ≤ ⁅J, N⁆ 
Arguments: {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N : LieSubmodule R L M) {I J : LieIdeal R L} (h : I ≤ J)
Goal: ⁅I, N⁆ ≤ ⁅J, N⁆
-- LieSubmodule.mono_lie_right
theorem mono_lie_right (h : N ≤ N') : ⁅I, N⁆ ≤ ⁅I, N'⁆ 
Arguments: {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] {N N' : LieSubmodule R L M} (I : LieIdeal R L) (h : N ≤ N')
Goal: ⁅I, N⁆ ≤ ⁅I, N'⁆
-- LieSubmodule.lie_sup
@[simp]
theorem lie_sup : ⁅I, N ⊔ N'⁆ = ⁅I, N⁆ ⊔ ⁅I, N'⁆ 
Arguments: {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N N' : LieSubmodule R L M) (I : LieIdeal R L)
Goal: ⁅I, N ⊔ N'⁆ = ⁅I, N⁆ ⊔ ⁅I, N'⁆
-- LieSubmodule.sup_lie
@[simp]
theorem sup_lie : ⁅I ⊔ J, N⁆ = ⁅I, N⁆ ⊔ ⁅J, N⁆ 
Arguments: {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N : LieSubmodule R L M) (I J : LieIdeal R L)
Goal: ⁅I ⊔ J, N⁆ = ⁅I, N⁆ ⊔ ⁅J, N⁆
-- LieSubmodule.lie_inf
theorem lie_inf : ⁅I, N ⊓ N'⁆ ≤ ⁅I, N⁆ ⊓ ⁅I, N'⁆ 
Arguments: {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N N' : LieSubmodule R L M) (I : LieIdeal R L)
Goal: ⁅I, N ⊓ N'⁆ ≤ ⁅I, N⁆ ⊓ ⁅I, N'⁆
-- LieSubmodule.inf_lie
theorem inf_lie : ⁅I ⊓ J, N⁆ ≤ ⁅I, N⁆ ⊓ ⁅J, N⁆ 
Arguments: {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N : LieSubmodule R L M) (I J : LieIdeal R L)
Goal: ⁅I ⊓ J, N⁆ ≤ ⁅I, N⁆ ⊓ ⁅J, N⁆
-- LieSubmodule.map_bracket_eq
theorem map_bracket_eq : map f ⁅I, N⁆ = ⁅I, map f N⁆ 
Arguments: {R : Type u} {L : Type v} {M : Type w} {M₂ : Type w₁} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] [LieModule R L M₂] (N : LieSubmodule R L M) (I : LieIdeal R L) (f : M →ₗ⁅R,L⁆ M₂)
Goal: LieSubmodule.map f ⁅I, N⁆ = ⁅I, LieSubmodule.map f N⁆
-- LieSubmodule.map_comap_le
theorem map_comap_le : map f (comap f N₂) ≤ N₂ 
Arguments: {R : Type u} {L : Type v} {M : Type w} {M₂ : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] (N₂ : LieSubmodule R L M₂) (f : M →ₗ⁅R,L⁆ M₂)
Goal: LieSubmodule.map f (LieSubmodule.comap f N₂) ≤ N₂
-- LieSubmodule.map_comap_eq
theorem map_comap_eq (hf : N₂ ≤ f.range) : map f (comap f N₂) = N₂ 
Arguments: {R : Type u} {L : Type v} {M : Type w} {M₂ : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] (N₂ : LieSubmodule R L M₂) (f : M →ₗ⁅R,L⁆ M₂) (hf : N₂ ≤ f.range)
Goal: LieSubmodule.map f (LieSubmodule.comap f N₂) = N₂
-- LieSubmodule.le_comap_map
theorem le_comap_map : N ≤ comap f (map f N) 
Arguments: {R : Type u} {L : Type v} {M : Type w} {M₂ : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] (N : LieSubmodule R L M) (f : M →ₗ⁅R,L⁆ M₂)
Goal: N ≤ LieSubmodule.comap f (LieSubmodule.map f N)
-- LieSubmodule.comap_map_eq
theorem comap_map_eq (hf : f.ker = ⊥) : comap f (map f N) = N 
Arguments: {R : Type u} {L : Type v} {M : Type w} {M₂ : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] (N : LieSubmodule R L M) (f : M →ₗ⁅R,L⁆ M₂) (hf : f.ker = ⊥)
Goal: LieSubmodule.comap f (LieSubmodule.map f N) = N
-- LieSubmodule.comap_bracket_eq
theorem comap_bracket_eq (hf₁ : f.ker = ⊥) (hf₂ : N₂ ≤ f.range) :
    comap f ⁅I, N₂⁆ = ⁅I, comap f N₂⁆ 
Arguments: {R : Type u} {L : Type v} {M : Type w} {M₂ : Type w₁} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] [LieModule R L M₂] (I : LieIdeal R L) (N₂ : LieSubmodule R L M₂) (f : M →ₗ⁅R,L⁆ M₂) (hf₁ : f.ker = ⊥) (hf₂ : N₂ ≤ f.range)
Goal: LieSubmodule.comap f ⁅I, N₂⁆ = ⁅I, LieSubmodule.comap f N₂⁆
-- LieSubmodule.map_comap_incl
@[simp]
theorem map_comap_incl : map N.incl (comap N.incl N') = N ⊓ N' 
Arguments: {R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N N' : LieSubmodule R L M)
Goal: LieSubmodule.map N.incl (LieSubmodule.comap N.incl N') = N ⊓ N'
-- LieIdeal.map_bracket_le
theorem map_bracket_le {I₁ I₂ : LieIdeal R L} : map f ⁅I₁, I₂⁆ ≤ ⁅map f I₁, map f I₂⁆ 
Arguments: {R : Type u} {L : Type v} {L' : Type w₂} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing L'] [LieAlgebra R L'] (f : L →ₗ⁅R⁆ L') {I₁ I₂ : LieIdeal R L}
Goal: LieIdeal.map f ⁅I₁, I₂⁆ ≤ ⁅LieIdeal.map f I₁, LieIdeal.map f I₂⁆
-- LieIdeal.map_bracket_eq
theorem map_bracket_eq {I₁ I₂ : LieIdeal R L} (h : Function.Surjective f) :
    map f ⁅I₁, I₂⁆ = ⁅map f I₁, map f I₂⁆ 
Arguments: {R : Type u} {L : Type v} {L' : Type w₂} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing L'] [LieAlgebra R L'] (f : L →ₗ⁅R⁆ L') {I₁ I₂ : LieIdeal R L} (h : Function.Surjective ⇑f)
Goal: LieIdeal.map f ⁅I₁, I₂⁆ = ⁅LieIdeal.map f I₁, LieIdeal.map f I₂⁆
-- LieIdeal.comap_bracket_le
theorem comap_bracket_le {J₁ J₂ : LieIdeal R L'} : ⁅comap f J₁, comap f J₂⁆ ≤ comap f ⁅J₁, J₂⁆ 
Arguments: {R : Type u} {L : Type v} {L' : Type w₂} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing L'] [LieAlgebra R L'] (f : L →ₗ⁅R⁆ L') {J₁ J₂ : LieIdeal R L'}
Goal: ⁅LieIdeal.comap f J₁, LieIdeal.comap f J₂⁆ ≤ LieIdeal.comap f ⁅J₁, J₂⁆
-- LieIdeal.map_comap_incl
theorem map_comap_incl {I₁ I₂ : LieIdeal R L} : map I₁.incl (comap I₁.incl I₂) = I₁ ⊓ I₂ 
Arguments: {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] {I₁ I₂ : LieIdeal R L}
Goal: LieIdeal.map I₁.incl (LieIdeal.comap I₁.incl I₂) = I₁ ⊓ I₂
-- LieIdeal.comap_bracket_eq
theorem comap_bracket_eq {J₁ J₂ : LieIdeal R L'} (h : f.IsIdealMorphism) :
    comap f ⁅f.idealRange ⊓ J₁, f.idealRange ⊓ J₂⁆ = ⁅comap f J₁, comap f J₂⁆ ⊔ f.ker 
Arguments: {R : Type u} {L : Type v} {L' : Type w₂} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing L'] [LieAlgebra R L'] {f : L →ₗ⁅R⁆ L'} {J₁ J₂ : LieIdeal R L'} (h : f.IsIdealMorphism)
Goal: LieIdeal.comap f ⁅f.idealRange ⊓ J₁, f.idealRange ⊓ J₂⁆ = ⁅LieIdeal.comap f J₁, LieIdeal.comap f J₂⁆ ⊔ f.ker
-- LieIdeal.map_comap_bracket_eq
theorem map_comap_bracket_eq {J₁ J₂ : LieIdeal R L'} (h : f.IsIdealMorphism) :
    map f ⁅comap f J₁, comap f J₂⁆ = ⁅f.idealRange ⊓ J₁, f.idealRange ⊓ J₂⁆ 
Arguments: {R : Type u} {L : Type v} {L' : Type w₂} [CommRing R] [LieRing L] [LieAlgebra R L] [LieRing L'] [LieAlgebra R L'] {f : L →ₗ⁅R⁆ L'} {J₁ J₂ : LieIdeal R L'} (h : f.IsIdealMorphism)
Goal: LieIdeal.map f ⁅LieIdeal.comap f J₁, LieIdeal.comap f J₂⁆ = ⁅f.idealRange ⊓ J₁, f.idealRange ⊓ J₂⁆
-- LieIdeal.comap_bracket_incl
theorem comap_bracket_incl {I₁ I₂ : LieIdeal R L} :
    ⁅comap I.incl I₁, comap I.incl I₂⁆ = comap I.incl ⁅I ⊓ I₁, I ⊓ I₂⁆ 
Arguments: {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (I : LieIdeal R L) {I₁ I₂ : LieIdeal R L}
Goal: ⁅LieIdeal.comap I.incl I₁, LieIdeal.comap I.incl I₂⁆ = LieIdeal.comap I.incl ⁅I ⊓ I₁, I ⊓ I₂⁆
-- LieIdeal.comap_bracket_incl_of_le
theorem comap_bracket_incl_of_le {I₁ I₂ : LieIdeal R L} (h₁ : I₁ ≤ I) (h₂ : I₂ ≤ I) :
    ⁅comap I.incl I₁, comap I.incl I₂⁆ = comap I.incl ⁅I₁, I₂⁆ 
Arguments: {R : Type u} {L : Type v} [CommRing R] [LieRing L] [LieAlgebra R L] (I : LieIdeal R L) {I₁ I₂ : LieIdeal R L} (h₁ : I₁ ≤ I) (h₂ : I₂ ≤ I)
Goal: ⁅LieIdeal.comap I.incl I₁, LieIdeal.comap I.incl I₂⁆ = LieIdeal.comap I.incl ⁅I₁, I₂⁆
-- MulHom.single_apply
@[simps]
def _root_.MulHom.single (i : ι) : α i →ₙ* ∀ i, α i 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → MulZeroClass (α i)] [DecidableEq ι] (i : ι) (x : α i) (j : ι)
Goal: (MulHom.single i) x j = Pi.single i x j
-- Pi.single_mul
lemma single_mul (i : ι) (x y : α i) : single i (x * y) = single i x * single i y 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → MulZeroClass (α i)] [DecidableEq ι] (i : ι) (x y : α i)
Goal: Pi.single i (x * y) = Pi.single i x * Pi.single i y
-- Pi.single_mul_left_apply
lemma single_mul_left_apply (i j : ι) (a : α i) (f : ∀ i, α i) :
    single i (a * f i) j = single i a j * f j 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → MulZeroClass (α i)] [DecidableEq ι] (i j : ι) (a : α i) (f : (i : ι) → α i)
Goal: Pi.single i (a * f i) j = Pi.single i a j * f j
-- Pi.single_mul_right_apply
lemma single_mul_right_apply (i j : ι) (f : ∀ i, α i) (a : α i) :
    single i (f i * a) j = f j * single i a j 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → MulZeroClass (α i)] [DecidableEq ι] (i j : ι) (f : (i : ι) → α i) (a : α i)
Goal: Pi.single i (f i * a) j = f j * Pi.single i a j
-- Pi.single_mul_left
lemma single_mul_left (a : α i) : single i (a * f i) = single i a * f 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → MulZeroClass (α i)] [DecidableEq ι] {i : ι} {f : (i : ι) → α i} (a : α i)
Goal: Pi.single i (a * f i) = Pi.single i a * f
-- Pi.single_mul_right
lemma single_mul_right (a : α i) : single i (f i * a) = f * single i a 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → MulZeroClass (α i)] [DecidableEq ι] {i : ι} {f : (i : ι) → α i} (a : α i)
Goal: Pi.single i (f i * a) = f * Pi.single i a
-- Prod.smul_zero_mk
theorem smul_zero_mk {α : Type*} [Monoid M] [AddMonoid α] [DistribMulAction M α] (a : M) (c : β) :
    a • ((0 : α), c) = (0, a • c) 
Arguments: {M : Type u_1} {β : Type u_4} [SMul M β] {α : Type u_5} [Monoid M] [AddMonoid α] [DistribMulAction M α] (a : M) (c : β)
Goal: a • (0, c) = (0, a • c)
-- Prod.smul_mk_zero
theorem smul_mk_zero {β : Type*} [Monoid M] [AddMonoid β] [DistribMulAction M β] (a : M) (b : α) :
    a • (b, (0 : β)) = (a • b, 0) 
Arguments: {M : Type u_1} {α : Type u_3} [SMul M α] {β : Type u_5} [Monoid M] [AddMonoid β] [DistribMulAction M β] (a : M) (b : α)
Goal: a • (b, 0) = (a • b, 0)
-- NeZero.of_map
lemma of_map (f : F) [neZero : NeZero (f a)] : NeZero a 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [Zero α] [Zero β] [FunLike F α β] [ZeroHomClass F α β] {a : α} (f : F) [neZero : NeZero (f a)]
Goal: NeZero a
-- NeZero.of_injective
lemma of_injective {f : F} (hf : Injective f) [NeZero a] : NeZero (f a) 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [Zero α] [Zero β] [FunLike F α β] [ZeroHomClass F α β] {a : α} {f : F} (hf : Function.Injective ⇑f) [NeZero a]
Goal: NeZero (f a)
-- MonoidWithZeroHom.coe_coe
@[simp] lemma coe_coe [MonoidWithZeroHomClass F α β] (f : F) : ((f : α →*₀ β) : α → β) = f 
Arguments: {F : Type u_1} {α : Type u_2} {β : Type u_3} [MulZeroOneClass α] [MulZeroOneClass β] [FunLike F α β] [MonoidWithZeroHomClass F α β] (f : F)
Goal: ⇑↑f = ⇑f
-- MonoidWithZeroHom.coe_mk
@[simp] lemma coe_mk (f h1 hmul) : (mk f h1 hmul : α → β) = (f : α → β) 
Arguments: {α : Type u_2} {β : Type u_3} [MulZeroOneClass α] [MulZeroOneClass β] (f : ZeroHom α β) (h1 : f.toFun 1 = 1) (hmul : ∀ (x y : α), f.toFun (x * y) = f.toFun x * f.toFun y)
Goal: ⇑{ toZeroHom := f, map_one' := h1, map_mul' := hmul } = ⇑f
-- MonoidWithZeroHom.toZeroHom_coe
@[simp] lemma toZeroHom_coe (f : α →*₀ β) : (f.toZeroHom : α → β) = f 
Arguments: {α : Type u_2} {β : Type u_3} [MulZeroOneClass α] [MulZeroOneClass β] (f : α →*₀ β)
Goal: ⇑↑f = ⇑f
-- MonoidWithZeroHom.toMonoidHom_coe
lemma toMonoidHom_coe (f : α →*₀ β) : f.toMonoidHom.toFun = f 
Arguments: {α : Type u_2} {β : Type u_3} [MulZeroOneClass α] [MulZeroOneClass β] (f : α →*₀ β)
Goal: (↑↑f).toFun = ⇑f
-- MonoidWithZeroHom.ext
@[ext] lemma ext ⦃f g : α →*₀ β⦄ (h : ∀ x, f x = g x) : f = g 
Arguments: {α : Type u_2} {β : Type u_3} [MulZeroOneClass α] [MulZeroOneClass β] ⦃f g : α →*₀ β⦄ (h : ∀ (x : α), f x = g x)
Goal: f = g
-- MonoidWithZeroHom.mk_coe
@[simp] lemma mk_coe (f : α →*₀ β) (h1 hmul) : mk f h1 hmul = f 
Arguments: {α : Type u_2} {β : Type u_3} [MulZeroOneClass α] [MulZeroOneClass β] (f : α →*₀ β) (h1 : (↑f).toFun 1 = 1) (hmul : ∀ (x y : α), (↑f).toFun (x * y) = (↑f).toFun x * (↑f).toFun y)
Goal: { toZeroHom := ↑f, map_one' := h1, map_mul' := hmul } = f