ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- dvd_mul_sub_mul
theorem dvd_mul_sub_mul {k a b x y : α} (hab : k ∣ a - b) (hxy : k ∣ x - y) :
    k ∣ a * x - b * y 
Arguments: {α : Type u_1} [NonUnitalCommRing α] {k a b x y : α} (hab : k ∣ a - b) (hxy : k ∣ x - y)
Goal: k ∣ a * x - b * y
-- isLeftRegular_of_non_zero_divisor
theorem isLeftRegular_of_non_zero_divisor [NonUnitalNonAssocRing α] (k : α)
    (h : ∀ x : α, k * x = 0 → x = 0) : IsLeftRegular k 
Arguments: {α : Type u_1} [NonUnitalNonAssocRing α] (k : α) (h : ∀ (x : α), k * x = 0 → x = 0)
Goal: IsLeftRegular k
-- isRightRegular_of_non_zero_divisor
theorem isRightRegular_of_non_zero_divisor [NonUnitalNonAssocRing α] (k : α)
    (h : ∀ x : α, x * k = 0 → x = 0) : IsRightRegular k 
Arguments: {α : Type u_1} [NonUnitalNonAssocRing α] (k : α) (h : ∀ (x : α), x * k = 0 → x = 0)
Goal: IsRightRegular k
-- isRegular_of_ne_zero'
theorem isRegular_of_ne_zero' [NonUnitalNonAssocRing α] [NoZeroDivisors α] {k : α} (hk : k ≠ 0) :
    IsRegular k 
Arguments: {α : Type u_1} [NonUnitalNonAssocRing α] [NoZeroDivisors α] {k : α} (hk : k ≠ 0)
Goal: IsRegular k
-- isRegular_iff_ne_zero'
theorem isRegular_iff_ne_zero' [Nontrivial α] [NonUnitalNonAssocRing α] [NoZeroDivisors α]
    {k : α} : IsRegular k ↔ k ≠ 0 
Arguments: {α : Type u_1} [Nontrivial α] [NonUnitalNonAssocRing α] [NoZeroDivisors α] {k : α}
Goal: IsRegular k ↔ k ≠ 0
-- Subalgebra.algebraMap_mem'
structure Subalgebra (R : Type u) (A : Type v) [CommSemiring R] [Semiring A] [Algebra R A] extends
  Subsemiring A : Type v where
    algebraMap_mem' : ∀ r, algebraMap R A r ∈ carrier
  zero_mem' := (algebraMap R A).map_zero ▸ algebraMap_mem' 0
  one_mem' := (algebraMap R A).map_one ▸ algebraMap_mem' 1
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (self : Subalgebra R A) (r : R)
Goal: (algebraMap R A) r ∈ self.carrier
-- Subalgebra.mem_toSubsemiring
@[simp]
theorem mem_toSubsemiring {S : Subalgebra R A} {x} : x ∈ S.toSubsemiring ↔ x ∈ S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] {S : Subalgebra R A} {x : A}
Goal: x ∈ S.toSubsemiring ↔ x ∈ S
-- Subalgebra.mem_carrier
theorem mem_carrier {s : Subalgebra R A} {x : A} : x ∈ s.carrier ↔ x ∈ s 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] {s : Subalgebra R A} {x : A}
Goal: x ∈ s.carrier ↔ x ∈ s
-- Subalgebra.ext
@[ext]
theorem ext {S T : Subalgebra R A} (h : ∀ x : A, x ∈ S ↔ x ∈ T) : S = T 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] {S T : Subalgebra R A} (h : ∀ (x : A), x ∈ S ↔ x ∈ T)
Goal: S = T
-- Subalgebra.coe_toSubsemiring
@[simp]
theorem coe_toSubsemiring (S : Subalgebra R A) : (↑S.toSubsemiring : Set A) = S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A)
Goal: ↑S.toSubsemiring = ↑S
-- Subalgebra.toSubsemiring_injective
theorem toSubsemiring_injective :
    Function.Injective (toSubsemiring : Subalgebra R A → Subsemiring A) 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A]
Goal: Function.Injective Subalgebra.toSubsemiring
-- Subalgebra.toSubsemiring_inj
theorem toSubsemiring_inj {S U : Subalgebra R A} : S.toSubsemiring = U.toSubsemiring ↔ S = U 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] {S U : Subalgebra R A}
Goal: S.toSubsemiring = U.toSubsemiring ↔ S = U
-- Subalgebra.coe_copy
@[simp]
theorem coe_copy (S : Subalgebra R A) (s : Set A) (hs : s = ↑S) : (S.copy s hs : Set A) = s 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) (s : Set A) (hs : s = ↑S)
Goal: ↑(S.copy s hs) = s
-- Subalgebra.copy_eq
theorem copy_eq (S : Subalgebra R A) (s : Set A) (hs : s = ↑S) : S.copy s hs = S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) (s : Set A) (hs : s = ↑S)
Goal: S.copy s hs = S
-- algebraMap_mem
@[aesop safe apply (rule_sets := [SetLike])]
theorem _root_.algebraMap_mem {S R A : Type*} [CommSemiring R] [Semiring A] [Algebra R A]
    [SetLike S A] [OneMemClass S A] [SMulMemClass S R A] (s : S) (r : R) :
    algebraMap R A r ∈ s 
Arguments: {S : Type u_1} {R : Type u_2} {A : Type u_3} [CommSemiring R] [Semiring A] [Algebra R A] [SetLike S A] [OneMemClass S A] [SMulMemClass S R A] (s : S) (r : R)
Goal: (algebraMap R A) r ∈ s
-- Subalgebra.algebraMap_mem
protected theorem algebraMap_mem (r : R) : algebraMap R A r ∈ S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) (r : R)
Goal: (algebraMap R A) r ∈ S
-- Subalgebra.rangeS_le
theorem rangeS_le : (algebraMap R A).rangeS ≤ S.toSubsemiring 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A)
Goal: (algebraMap R A).rangeS ≤ S.toSubsemiring
-- Subalgebra.range_subset
theorem range_subset : Set.range (algebraMap R A) ⊆ S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A)
Goal: Set.range ⇑(algebraMap R A) ⊆ ↑S
-- Subalgebra.range_le
theorem range_le : Set.range (algebraMap R A) ≤ S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A)
Goal: Set.range ⇑(algebraMap R A) ≤ ↑S
-- Subalgebra.smul_mem
theorem smul_mem {x : A} (hx : x ∈ S) (r : R) : r • x ∈ S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) {x : A} (hx : x ∈ S) (r : R)
Goal: r • x ∈ S
-- Subalgebra.one_mem
protected theorem one_mem : (1 : A) ∈ S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A)
Goal: 1 ∈ S
-- Subalgebra.mul_mem
protected theorem mul_mem {x y : A} (hx : x ∈ S) (hy : y ∈ S) : x * y ∈ S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) {x y : A} (hx : x ∈ S) (hy : y ∈ S)
Goal: x * y ∈ S
-- Subalgebra.pow_mem
protected theorem pow_mem {x : A} (hx : x ∈ S) (n : ℕ) : x ^ n ∈ S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) {x : A} (hx : x ∈ S) (n : ℕ)
Goal: x ^ n ∈ S
-- Subalgebra.zero_mem
protected theorem zero_mem : (0 : A) ∈ S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A)
Goal: 0 ∈ S
-- Subalgebra.add_mem
protected theorem add_mem {x y : A} (hx : x ∈ S) (hy : y ∈ S) : x + y ∈ S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) {x y : A} (hx : x ∈ S) (hy : y ∈ S)
Goal: x + y ∈ S
-- Subalgebra.nsmul_mem
protected theorem nsmul_mem {x : A} (hx : x ∈ S) (n : ℕ) : n • x ∈ S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) {x : A} (hx : x ∈ S) (n : ℕ)
Goal: n • x ∈ S
-- Subalgebra.natCast_mem
protected theorem natCast_mem (n : ℕ) : (n : A) ∈ S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) (n : ℕ)
Goal: ↑n ∈ S
-- Subalgebra.list_prod_mem
protected theorem list_prod_mem {L : List A} (h : ∀ x ∈ L, x ∈ S) : L.prod ∈ S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) {L : List A} (h : ∀ x ∈ L, x ∈ S)
Goal: L.prod ∈ S
-- Subalgebra.list_sum_mem
protected theorem list_sum_mem {L : List A} (h : ∀ x ∈ L, x ∈ S) : L.sum ∈ S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) {L : List A} (h : ∀ x ∈ L, x ∈ S)
Goal: L.sum ∈ S
-- Subalgebra.multiset_sum_mem
protected theorem multiset_sum_mem {m : Multiset A} (h : ∀ x ∈ m, x ∈ S) : m.sum ∈ S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) {m : Multiset A} (h : ∀ x ∈ m, x ∈ S)
Goal: m.sum ∈ S
-- Subalgebra.sum_mem
protected theorem sum_mem {ι : Type w} {t : Finset ι} {f : ι → A} (h : ∀ x ∈ t, f x ∈ S) :
    (∑ x ∈ t, f x) ∈ S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) {ι : Type w} {t : Finset ι} {f : ι → A} (h : ∀ x ∈ t, f x ∈ S)
Goal: ∑ x ∈ t, f x ∈ S
-- Subalgebra.multiset_prod_mem
protected theorem multiset_prod_mem {R : Type u} {A : Type v} [CommSemiring R] [CommSemiring A]
    [Algebra R A] (S : Subalgebra R A) {m : Multiset A} (h : ∀ x ∈ m, x ∈ S) : m.prod ∈ S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [CommSemiring A] [Algebra R A] (S : Subalgebra R A) {m : Multiset A} (h : ∀ x ∈ m, x ∈ S)
Goal: m.prod ∈ S
-- Subalgebra.prod_mem
protected theorem prod_mem {R : Type u} {A : Type v} [CommSemiring R] [CommSemiring A] [Algebra R A]
    (S : Subalgebra R A) {ι : Type w} {t : Finset ι} {f : ι → A} (h : ∀ x ∈ t, f x ∈ S) :
    (∏ x ∈ t, f x) ∈ S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [CommSemiring A] [Algebra R A] (S : Subalgebra R A) {ι : Type w} {t : Finset ι} {f : ι → A} (h : ∀ x ∈ t, f x ∈ S)
Goal: ∏ x ∈ t, f x ∈ S
-- Subalgebra.neg_mem
protected theorem neg_mem {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A]
    (S : Subalgebra R A) {x : A} (hx : x ∈ S) : -x ∈ S 
Arguments: {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] (S : Subalgebra R A) {x : A} (hx : x ∈ S)
Goal: -x ∈ S
-- Subalgebra.sub_mem
protected theorem sub_mem {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A]
    (S : Subalgebra R A) {x y : A} (hx : x ∈ S) (hy : y ∈ S) : x - y ∈ S 
Arguments: {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] (S : Subalgebra R A) {x y : A} (hx : x ∈ S) (hy : y ∈ S)
Goal: x - y ∈ S
-- Subalgebra.zsmul_mem
protected theorem zsmul_mem {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A]
    (S : Subalgebra R A) {x : A} (hx : x ∈ S) (n : ℤ) : n • x ∈ S 
Arguments: {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] (S : Subalgebra R A) {x : A} (hx : x ∈ S) (n : ℤ)
Goal: n • x ∈ S
-- Subalgebra.intCast_mem
protected theorem intCast_mem {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A]
    (S : Subalgebra R A) (n : ℤ) : (n : A) ∈ S 
Arguments: {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] (S : Subalgebra R A) (n : ℤ)
Goal: ↑n ∈ S
-- Subalgebra.mem_toSubring
@[simp]
theorem mem_toSubring {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A]
    {S : Subalgebra R A} {x} : x ∈ S.toSubring ↔ x ∈ S 
Arguments: {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] {S : Subalgebra R A} {x : A}
Goal: x ∈ S.toSubring ↔ x ∈ S
-- Subalgebra.coe_toSubring
@[simp]
theorem coe_toSubring {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A]
    (S : Subalgebra R A) : (↑S.toSubring : Set A) = S 
Arguments: {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] (S : Subalgebra R A)
Goal: ↑S.toSubring = ↑S
-- Subalgebra.toSubring_injective
theorem toSubring_injective {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] :
    Function.Injective (toSubring : Subalgebra R A → Subring A) 
Arguments: {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A]
Goal: Function.Injective Subalgebra.toSubring
-- Subalgebra.toSubring_inj
theorem toSubring_inj {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A]
    {S U : Subalgebra R A} : S.toSubring = U.toSubring ↔ S = U 
Arguments: {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] {S U : Subalgebra R A}
Goal: S.toSubring = U.toSubring ↔ S = U
-- Subalgebra.mem_toSubmodule
@[simp]
theorem mem_toSubmodule {x} : x ∈ (toSubmodule S) ↔ x ∈ S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) {x : A}
Goal: x ∈ Subalgebra.toSubmodule S ↔ x ∈ S
-- Subalgebra.coe_toSubmodule
@[simp]
theorem coe_toSubmodule (S : Subalgebra R A) : (toSubmodule S : Set A) = S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A)
Goal: ↑(Subalgebra.toSubmodule S) = ↑S
-- Subalgebra.toSubmodule_injective
theorem toSubmodule_injective : Function.Injective (toSubmodule : Subalgebra R A → Submodule R A) 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A]
Goal: Function.Injective ⇑Subalgebra.toSubmodule
-- Subalgebra.coe_add
protected theorem coe_add (x y : S) : (↑(x + y) : A) = ↑x + ↑y 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) (x y : ↥S)
Goal: ↑(x + y) = ↑x + ↑y
-- Subalgebra.coe_mul
protected theorem coe_mul (x y : S) : (↑(x * y) : A) = ↑x * ↑y 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) (x y : ↥S)
Goal: ↑(x * y) = ↑x * ↑y
-- Subalgebra.coe_zero
protected theorem coe_zero : ((0 : S) : A) = 0 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A)
Goal: ↑0 = 0
-- Subalgebra.coe_one
protected theorem coe_one : ((1 : S) : A) = 1 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A)
Goal: ↑1 = 1
-- Subalgebra.coe_neg
protected theorem coe_neg {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A]
    {S : Subalgebra R A} (x : S) : (↑(-x) : A) = -↑x 
Arguments: {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] {S : Subalgebra R A} (x : ↥S)
Goal: ↑(-x) = -↑x
-- Subalgebra.coe_sub
protected theorem coe_sub {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A]
    {S : Subalgebra R A} (x y : S) : (↑(x - y) : A) = ↑x - ↑y 
Arguments: {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] {S : Subalgebra R A} (x y : ↥S)
Goal: ↑(x - y) = ↑x - ↑y
-- Subalgebra.coe_smul
@[simp, norm_cast]
theorem coe_smul [Semiring R'] [SMul R' R] [Module R' A] [IsScalarTower R' R A] (r : R') (x : S) :
    (↑(r • x) : A) = r • (x : A) 
Arguments: {R' : Type u'} {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) [Semiring R'] [SMul R' R] [Module R' A] [IsScalarTower R' R A] (r : R') (x : ↥S)
Goal: ↑(r • x) = r • ↑x
-- Subalgebra.coe_algebraMap
@[simp, norm_cast]
theorem coe_algebraMap [CommSemiring R'] [SMul R' R] [Algebra R' A] [IsScalarTower R' R A]
    (r : R') : ↑(algebraMap R' S r) = algebraMap R' A r 
Arguments: {R' : Type u'} {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) [CommSemiring R'] [SMul R' R] [Algebra R' A] [IsScalarTower R' R A] (r : R')
Goal: ↑((algebraMap R' ↥S) r) = (algebraMap R' A) r
-- Subalgebra.coe_pow
protected theorem coe_pow (x : S) (n : ℕ) : (↑(x ^ n) : A) = (x : A) ^ n 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) (x : ↥S) (n : ℕ)
Goal: ↑(x ^ n) = ↑x ^ n
-- Subalgebra.coe_eq_zero
protected theorem coe_eq_zero {x : S} : (x : A) = 0 ↔ x = 0 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) {x : ↥S}
Goal: ↑x = 0 ↔ x = 0
-- Subalgebra.coe_eq_one
protected theorem coe_eq_one {x : S} : (x : A) = 1 ↔ x = 1 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) {x : ↥S}
Goal: ↑x = 1 ↔ x = 1
-- Subalgebra.coe_val
@[simp]
theorem coe_val : (S.val : S → A) = ((↑) : S → A) 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A)
Goal: ⇑S.val = Subtype.val
-- Subalgebra.val_apply
theorem val_apply (x : S) : S.val x = (x : A) 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A) (x : ↥S)
Goal: S.val x = ↑x
-- Subalgebra.toSubsemiring_subtype
@[simp]
theorem toSubsemiring_subtype : S.toSubsemiring.subtype = (S.val : S →+* A) 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A)
Goal: S.subtype = ↑S.val
-- Subalgebra.toSubring_subtype
@[simp]
theorem toSubring_subtype {R A : Type*} [CommRing R] [Ring A] [Algebra R A] (S : Subalgebra R A) :
    S.toSubring.subtype = (S.val : S →+* A) 
Arguments: {R : Type u_1} {A : Type u_2} [CommRing R] [Ring A] [Algebra R A] (S : Subalgebra R A)
Goal: S.toSubring.subtype = ↑S.val
-- Subalgebra.map_mono
theorem map_mono {S₁ S₂ : Subalgebra R A} {f : A →ₐ[R] B} : S₁ ≤ S₂ → S₁.map f ≤ S₂.map f 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] {S₁ S₂ : Subalgebra R A} {f : A →ₐ[R] B}
Goal: S₁ ≤ S₂ → Subalgebra.map f S₁ ≤ Subalgebra.map f S₂
-- Subalgebra.map_injective
theorem map_injective {f : A →ₐ[R] B} (hf : Function.Injective f) : Function.Injective (map f) 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] {f : A →ₐ[R] B} (hf : Function.Injective ⇑f)
Goal: Function.Injective (Subalgebra.map f)
-- Subalgebra.map_id
@[simp]
theorem map_id (S : Subalgebra R A) : S.map (AlgHom.id R A) = S 
Arguments: {R : Type u} {A : Type v} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A)
Goal: Subalgebra.map (AlgHom.id R A) S = S
-- Subalgebra.map_map
theorem map_map (S : Subalgebra R A) (g : B →ₐ[R] C) (f : A →ₐ[R] B) :
    (S.map f).map g = S.map (g.comp f) 
Arguments: {R : Type u} {A : Type v} {B : Type w} {C : Type w'} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [Semiring C] [Algebra R C] (S : Subalgebra R A) (g : B →ₐ[R] C) (f : A →ₐ[R] B)
Goal: Subalgebra.map g (Subalgebra.map f S) = Subalgebra.map (g.comp f) S
-- Subalgebra.mem_map
@[simp]
theorem mem_map {S : Subalgebra R A} {f : A →ₐ[R] B} {y : B} : y ∈ map f S ↔ ∃ x ∈ S, f x = y 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] {S : Subalgebra R A} {f : A →ₐ[R] B} {y : B}
Goal: y ∈ Subalgebra.map f S ↔ ∃ x ∈ S, f x = y
-- Subalgebra.map_toSubmodule
theorem map_toSubmodule {S : Subalgebra R A} {f : A →ₐ[R] B} :
    (toSubmodule <| S.map f) = S.toSubmodule.map f.toLinearMap 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] {S : Subalgebra R A} {f : A →ₐ[R] B}
Goal: Subalgebra.toSubmodule (Subalgebra.map f S) = Submodule.map f.toLinearMap (Subalgebra.toSubmodule S)
-- Subalgebra.map_toSubsemiring
theorem map_toSubsemiring {S : Subalgebra R A} {f : A →ₐ[R] B} :
    (S.map f).toSubsemiring = S.toSubsemiring.map f.toRingHom 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] {S : Subalgebra R A} {f : A →ₐ[R] B}
Goal: (Subalgebra.map f S).toSubsemiring = Subsemiring.map f.toRingHom S.toSubsemiring
-- Subalgebra.coe_map
@[simp]
theorem coe_map (S : Subalgebra R A) (f : A →ₐ[R] B) : (S.map f : Set B) = f '' S 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] (S : Subalgebra R A) (f : A →ₐ[R] B)
Goal: ↑(Subalgebra.map f S) = ⇑f '' ↑S
-- Subalgebra.map_le
theorem map_le {S : Subalgebra R A} {f : A →ₐ[R] B} {U : Subalgebra R B} :
    map f S ≤ U ↔ S ≤ comap f U 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] {S : Subalgebra R A} {f : A →ₐ[R] B} {U : Subalgebra R B}
Goal: Subalgebra.map f S ≤ U ↔ S ≤ Subalgebra.comap f U
-- Subalgebra.gc_map_comap
theorem gc_map_comap (f : A →ₐ[R] B) : GaloisConnection (map f) (comap f) 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] (f : A →ₐ[R] B)
Goal: GaloisConnection (Subalgebra.map f) (Subalgebra.comap f)
-- Subalgebra.mem_comap
@[simp]
theorem mem_comap (S : Subalgebra R B) (f : A →ₐ[R] B) (x : A) : x ∈ S.comap f ↔ f x ∈ S 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] (S : Subalgebra R B) (f : A →ₐ[R] B) (x : A)
Goal: x ∈ Subalgebra.comap f S ↔ f x ∈ S
-- Subalgebra.coe_comap
@[simp, norm_cast]
theorem coe_comap (S : Subalgebra R B) (f : A →ₐ[R] B) : (S.comap f : Set A) = f ⁻¹' (S : Set B) 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] (S : Subalgebra R B) (f : A →ₐ[R] B)
Goal: ↑(Subalgebra.comap f S) = ⇑f ⁻¹' ↑S
-- SubalgebraClass.coe_algebraMap
@[simp, norm_cast]
lemma coe_algebraMap (r : R) : (algebraMap R s r : A) = algebraMap R A r 
Arguments: {S : Type u_1} {R : Type u_2} {A : Type u_3} [CommSemiring R] [Semiring A] [Algebra R A] [SetLike S A] [SubsemiringClass S A] [hSR : SMulMemClass S R A] (s : S) (r : R)
Goal: ↑((algebraMap R ↥s) r) = (algebraMap R A) r
-- SubalgebraClass.coe_val
@[simp]
theorem coe_val : (val s : s → A) = ((↑) : s → A) 
Arguments: {S : Type u_1} {R : Type u_2} {A : Type u_3} [CommSemiring R] [Semiring A] [Algebra R A] [SetLike S A] [SubsemiringClass S A] [hSR : SMulMemClass S R A] (s : S)
Goal: ⇑(SubalgebraClass.val s) = Subtype.val
-- Submodule.mem_toSubalgebra
@[simp]
theorem mem_toSubalgebra {p : Submodule R A} {h_one h_mul} {x} :
    x ∈ p.toSubalgebra h_one h_mul ↔ x ∈ p 
Arguments: {R : Type u_1} {A : Type u_2} [CommSemiring R] [Semiring A] [Algebra R A] {p : Submodule R A} {h_one : 1 ∈ p} {h_mul : ∀ (x y : A), x ∈ p → y ∈ p → x * y ∈ p} {x : A}
Goal: x ∈ p.toSubalgebra h_one h_mul ↔ x ∈ p
-- Submodule.coe_toSubalgebra
@[simp]
theorem coe_toSubalgebra (p : Submodule R A) (h_one h_mul) :
    (p.toSubalgebra h_one h_mul : Set A) = p 
Arguments: {R : Type u_1} {A : Type u_2} [CommSemiring R] [Semiring A] [Algebra R A] (p : Submodule R A) (h_one : 1 ∈ p) (h_mul : ∀ (x y : A), x ∈ p → y ∈ p → x * y ∈ p)
Goal: ↑(p.toSubalgebra h_one h_mul) = ↑p
-- Submodule.toSubalgebra_mk
theorem toSubalgebra_mk (s : Submodule R A) (h1 hmul) :
    s.toSubalgebra h1 hmul =
      Subalgebra.mk ⟨⟨⟨s, @hmul⟩, h1⟩, s.add_mem, s.zero_mem⟩
        (by intro r; rw [Algebra.algebraMap_eq_smul_one]; apply s.smul_mem _ h1) 
Arguments: {R : Type u_1} {A : Type u_2} [CommSemiring R] [Semiring A] [Algebra R A] (s : Submodule R A) (h1 : 1 ∈ s) (hmul : ∀ (x y : A), x ∈ s → y ∈ s → x * y ∈ s)
Goal: s.toSubalgebra h1 hmul =
  { carrier := ↑s, mul_mem' := hmul, one_mem' := h1, add_mem' := ⋯, zero_mem' := ⋯, algebraMap_mem' := ⋯ }
-- Submodule.toSubalgebra_toSubmodule
@[simp]
theorem toSubalgebra_toSubmodule (p : Submodule R A) (h_one h_mul) :
    Subalgebra.toSubmodule (p.toSubalgebra h_one h_mul) = p 
Arguments: {R : Type u_1} {A : Type u_2} [CommSemiring R] [Semiring A] [Algebra R A] (p : Submodule R A) (h_one : 1 ∈ p) (h_mul : ∀ (x y : A), x ∈ p → y ∈ p → x * y ∈ p)
Goal: Subalgebra.toSubmodule (p.toSubalgebra h_one h_mul) = p
-- Subalgebra.toSubmodule_toSubalgebra
@[simp]
theorem _root_.Subalgebra.toSubmodule_toSubalgebra (S : Subalgebra R A) :
    (S.toSubmodule.toSubalgebra S.one_mem fun _ _ => S.mul_mem) = S 
Arguments: {R : Type u_1} {A : Type u_2} [CommSemiring R] [Semiring A] [Algebra R A] (S : Subalgebra R A)
Goal: (Subalgebra.toSubmodule S).toSubalgebra ⋯ ⋯ = S
-- AlgHom.mem_range
@[simp]
theorem mem_range (φ : A →ₐ[R] B) {y : B} : y ∈ φ.range ↔ ∃ x, φ x = y 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] (φ : A →ₐ[R] B) {y : B}
Goal: y ∈ φ.range ↔ ∃ x, φ x = y
-- AlgHom.mem_range_self
theorem mem_range_self (φ : A →ₐ[R] B) (x : A) : φ x ∈ φ.range 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] (φ : A →ₐ[R] B) (x : A)
Goal: φ x ∈ φ.range
-- AlgHom.coe_range
@[simp]
theorem coe_range (φ : A →ₐ[R] B) : (φ.range : Set B) = Set.range φ 
Arguments: {R : Type u} {A : Type v} {B : Type w} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] (φ : A →ₐ[R] B)
Goal: ↑φ.range = Set.range ⇑φ
-- AlgHom.range_comp
theorem range_comp (f : A →ₐ[R] B) (g : B →ₐ[R] C) : (g.comp f).range = f.range.map g 
Arguments: {R : Type u} {A : Type v} {B : Type w} {C : Type w'} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [Semiring C] [Algebra R C] (f : A →ₐ[R] B) (g : B →ₐ[R] C)
Goal: (g.comp f).range = Subalgebra.map g f.range
-- AlgHom.range_comp_le_range
theorem range_comp_le_range (f : A →ₐ[R] B) (g : B →ₐ[R] C) : (g.comp f).range ≤ g.range 
Arguments: {R : Type u} {A : Type v} {B : Type w} {C : Type w'} [CommSemiring R] [Semiring A] [Algebra R A] [Semiring B] [Algebra R B] [Semiring C] [Algebra R C] (f : A →ₐ[R] B) (g : B →ₐ[R] C)
Goal: (g.comp f).range ≤ g.range