ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- RingHom.surjectiveOnStalks_of_exists_div
lemma surjectiveOnStalks_of_exists_div (h : ∀ x : S, ∃ r s : R, IsUnit (f s) ∧ f s * x = f r) :
    SurjectiveOnStalks f 
Arguments: {R : Type u_1} [CommRing R] {S : Type u_2} [CommRing S] {f : R →+* S} (h : ∀ (x : S), ∃ r s, IsUnit (f s) ∧ f s * x = f r)
Goal: f.SurjectiveOnStalks
-- RingHom.surjectiveOnStalks_of_surjective
lemma surjectiveOnStalks_of_surjective (h : Function.Surjective f) :
    SurjectiveOnStalks f 
Arguments: {R : Type u_1} [CommRing R] {S : Type u_2} [CommRing S] {f : R →+* S} (h : Function.Surjective ⇑f)
Goal: f.SurjectiveOnStalks
-- RingHom.surjectiveOnStalks_of_isLocalization
lemma surjectiveOnStalks_of_isLocalization [IsLocalization M S] :
    SurjectiveOnStalks (algebraMap R S) 
Arguments: {R : Type u_1} [CommRing R] (M : Submonoid R) (S : Type u_2) [CommRing S] [Algebra R S] [IsLocalization M S]
Goal: (algebraMap R S).SurjectiveOnStalks
-- RingHom.SurjectiveOnStalks.comp
lemma SurjectiveOnStalks.comp (hg : SurjectiveOnStalks g) (hf : SurjectiveOnStalks f) :
    SurjectiveOnStalks (g.comp f) 
Arguments: {R : Type u_1} [CommRing R] {S : Type u_2} [CommRing S] {T : Type u_3} [CommRing T] {g : S →+* T} {f : R →+* S} (hg : g.SurjectiveOnStalks) (hf : f.SurjectiveOnStalks)
Goal: (g.comp f).SurjectiveOnStalks
-- RingHom.SurjectiveOnStalks.of_comp
lemma SurjectiveOnStalks.of_comp (hg : SurjectiveOnStalks (g.comp f)) :
    SurjectiveOnStalks g 
Arguments: {R : Type u_1} [CommRing R] {S : Type u_2} [CommRing S] {T : Type u_3} [CommRing T] {g : S →+* T} {f : R →+* S} (hg : (g.comp f).SurjectiveOnStalks)
Goal: g.SurjectiveOnStalks
-- RingHom.SurjectiveOnStalks.exists_mul_eq_tmul
lemma SurjectiveOnStalks.exists_mul_eq_tmul
    (hf₂ : (algebraMap R T).SurjectiveOnStalks)
    (x : S ⊗[R] T) (J : Ideal T) (hJ : J.IsPrime) :
    ∃ (t : T) (r : R) (a : S), (r • t ∉ J) ∧
      (1 : S) ⊗ₜ[R] (r • t) * x = a ⊗ₜ[R] t 
Arguments: {R : Type u_1} [CommRing R] {S : Type u_2} [CommRing S] [Algebra R S] {T : Type u_3} [CommRing T] [Algebra R T] (hf₂ : (algebraMap R T).SurjectiveOnStalks) (x : TensorProduct R S T) (J : Ideal T) (hJ : J.IsPrime)
Goal: ∃ t r a, r • t ∉ J ∧ 1 ⊗ₜ[R] (r • t) * x = a ⊗ₜ[R] t
-- RingHom.SurjectiveOnStalks.baseChange
lemma SurjectiveOnStalks.baseChange
    (hf : (algebraMap R T).SurjectiveOnStalks) :
    (algebraMap S (S ⊗[R] T)).SurjectiveOnStalks 
Arguments: {R : Type u_1} [CommRing R] {S : Type u_2} [CommRing S] [Algebra R S] {T : Type u_3} [CommRing T] [Algebra R T] (hf : (algebraMap R T).SurjectiveOnStalks)
Goal: (algebraMap S (TensorProduct R S T)).SurjectiveOnStalks
-- RingHom.surjectiveOnStalks_iff_of_isLocalRingHom
lemma surjectiveOnStalks_iff_of_isLocalRingHom [LocalRing S] [IsLocalRingHom f] :
    f.SurjectiveOnStalks ↔ Function.Surjective f 
Arguments: {R : Type u_1} [CommRing R] {S : Type u_2} [CommRing S] {f : R →+* S} [LocalRing S] [IsLocalRingHom f]
Goal: f.SurjectiveOnStalks ↔ Function.Surjective ⇑f
-- RootPairing.root_coroot_two
structure RootPairing extends PerfectPairing R M N :=
    root : ι ↪ M
    coroot : ι ↪ N
  root_coroot_two : ∀ i, toLin (root i) (coroot i) = 2
    reflection_perm : ι → (ι ≃ ι)
  reflection_perm_root : ∀ i j,
    root j - toLin (root j) (coroot i) • root i = root (reflection_perm i j)
  reflection_perm_coroot : ∀ i j,
    coroot j - toLin (root i) (coroot j) • coroot i = coroot (reflection_perm i j)
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (self : RootPairing ι R M N) (i : ι)
Goal: (self.toLin (self.root i)) (self.coroot i) = 2
-- RootPairing.reflection_perm_root
structure RootPairing extends PerfectPairing R M N :=
    root : ι ↪ M
    coroot : ι ↪ N
  root_coroot_two : ∀ i, toLin (root i) (coroot i) = 2
    reflection_perm : ι → (ι ≃ ι)
  reflection_perm_root : ∀ i j,
    root j - toLin (root j) (coroot i) • root i = root (reflection_perm i j)
  reflection_perm_coroot : ∀ i j,
    coroot j - toLin (root i) (coroot j) • coroot i = coroot (reflection_perm i j)
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (self : RootPairing ι R M N) (i j : ι)
Goal: self.root j - (self.toLin (self.root j)) (self.coroot i) • self.root i = self.root ((self.reflection_perm i) j)
-- RootPairing.reflection_perm_coroot
structure RootPairing extends PerfectPairing R M N :=
    root : ι ↪ M
    coroot : ι ↪ N
  root_coroot_two : ∀ i, toLin (root i) (coroot i) = 2
    reflection_perm : ι → (ι ≃ ι)
  reflection_perm_root : ∀ i j,
    root j - toLin (root j) (coroot i) • root i = root (reflection_perm i j)
  reflection_perm_coroot : ∀ i j,
    coroot j - toLin (root i) (coroot j) • coroot i = coroot (reflection_perm i j)
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (self : RootPairing ι R M N) (i j : ι)
Goal: self.coroot j - (self.toLin (self.root i)) (self.coroot j) • self.coroot i = self.coroot ((self.reflection_perm i) j)
-- RootSystem.span_eq_top
structure RootSystem extends RootPairing ι R M N :=
  span_eq_top : span R (range root) = ⊤
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (self : RootSystem ι R M N)
Goal: Submodule.span R (Set.range ⇑self.root) = ⊤
-- RootPairing.ne_zero
lemma ne_zero [CharZero R] : (P.root i : M) ≠ 0 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i : ι) [CharZero R]
Goal: P.root i ≠ 0
-- RootPairing.ne_zero'
lemma ne_zero' [CharZero R] : (P.coroot i : N) ≠ 0 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i : ι) [CharZero R]
Goal: P.coroot i ≠ 0
-- RootPairing.flip_flip
@[simp]
lemma flip_flip : P.flip.flip = P 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N)
Goal: P.flip.flip = P
-- RootPairing.root_coroot_eq_pairing
@[simp]
lemma root_coroot_eq_pairing : P.toLin (P.root i) (P.coroot j) = P.pairing i j 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i j : ι)
Goal: (P.toLin (P.root i)) (P.coroot j) = P.pairing i j
-- RootPairing.coroot_root_eq_pairing
lemma coroot_root_eq_pairing : P.toLin.flip (P.coroot i) (P.root j) = P.pairing j i 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i j : ι)
Goal: (P.toLin.flip (P.coroot i)) (P.root j) = P.pairing j i
-- RootPairing.pairing_same
@[simp]
lemma pairing_same : P.pairing i i = 2 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i : ι)
Goal: P.pairing i i = 2
-- RootPairing.coroot_root_two
lemma coroot_root_two :
    P.toLin.flip (P.coroot i) (P.root i) = 2 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i : ι)
Goal: (P.toLin.flip (P.coroot i)) (P.root i) = 2
-- RootPairing.root_reflection_perm
@[simp]
lemma root_reflection_perm (j : ι) :
    P.root (P.reflection_perm i j) = (P.reflection i) (P.root j) 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i j : ι)
Goal: P.root ((P.reflection_perm i) j) = (P.reflection i) (P.root j)
-- RootPairing.mapsTo_reflection_root
theorem mapsTo_reflection_root :
    MapsTo (P.reflection i) (range P.root) (range P.root) 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i : ι)
Goal: Set.MapsTo (⇑(P.reflection i)) (Set.range ⇑P.root) (Set.range ⇑P.root)
-- RootPairing.reflection_apply
lemma reflection_apply (x : M) :
    P.reflection i x = x - (P.toLin x (P.coroot i)) • P.root i 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i : ι) (x : M)
Goal: (P.reflection i) x = x - (P.toLin x) (P.coroot i) • P.root i
-- RootPairing.reflection_apply_root
lemma reflection_apply_root :
    P.reflection i (P.root j) = P.root j - (P.pairing j i) • P.root i 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i j : ι)
Goal: (P.reflection i) (P.root j) = P.root j - P.pairing j i • P.root i
-- RootPairing.reflection_apply_self
@[simp]
lemma reflection_apply_self :
    P.reflection i (P.root i) = - P.root i 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i : ι)
Goal: (P.reflection i) (P.root i) = -P.root i
-- RootPairing.reflection_same
@[simp]
lemma reflection_same (x : M) :
    P.reflection i (P.reflection i x) = x 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i : ι) (x : M)
Goal: (P.reflection i) ((P.reflection i) x) = x
-- RootPairing.bijOn_reflection_root
lemma bijOn_reflection_root :
    BijOn (P.reflection i) (range P.root) (range P.root) 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i : ι)
Goal: Set.BijOn (⇑(P.reflection i)) (Set.range ⇑P.root) (Set.range ⇑P.root)
-- RootPairing.reflection_image_eq
@[simp]
lemma reflection_image_eq :
    P.reflection i '' (range P.root) = range P.root 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i : ι)
Goal: ⇑(P.reflection i) '' Set.range ⇑P.root = Set.range ⇑P.root
-- RootPairing.coroot_reflection_perm
@[simp]
lemma coroot_reflection_perm (j : ι) :
    P.coroot (P.reflection_perm i j) = (P.coreflection i) (P.coroot j) 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i j : ι)
Goal: P.coroot ((P.reflection_perm i) j) = (P.coreflection i) (P.coroot j)
-- RootPairing.mapsTo_coreflection_coroot
theorem mapsTo_coreflection_coroot :
    MapsTo (P.coreflection i) (range P.coroot) (range P.coroot) 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i : ι)
Goal: Set.MapsTo (⇑(P.coreflection i)) (Set.range ⇑P.coroot) (Set.range ⇑P.coroot)
-- RootPairing.coreflection_apply
lemma coreflection_apply (f : N) :
    P.coreflection i f = f - (P.toLin (P.root i) f) • P.coroot i 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i : ι) (f : N)
Goal: (P.coreflection i) f = f - (P.toLin (P.root i)) f • P.coroot i
-- RootPairing.coreflection_apply_coroot
lemma coreflection_apply_coroot :
    P.coreflection i (P.coroot j) = P.coroot j - (P.pairing i j) • P.coroot i 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i j : ι)
Goal: (P.coreflection i) (P.coroot j) = P.coroot j - P.pairing i j • P.coroot i
-- RootPairing.coreflection_apply_self
@[simp]
lemma coreflection_apply_self :
    P.coreflection i (P.coroot i) = - P.coroot i 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i : ι)
Goal: (P.coreflection i) (P.coroot i) = -P.coroot i
-- RootPairing.coreflection_same
@[simp]
lemma coreflection_same (x : N) :
    P.coreflection i (P.coreflection i x) = x 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i : ι) (x : N)
Goal: (P.coreflection i) ((P.coreflection i) x) = x
-- RootPairing.bijOn_coreflection_coroot
lemma bijOn_coreflection_coroot : BijOn (P.coreflection i) (range P.coroot) (range P.coroot) 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i : ι)
Goal: Set.BijOn (⇑(P.coreflection i)) (Set.range ⇑P.coroot) (Set.range ⇑P.coroot)
-- RootPairing.coreflection_image_eq
@[simp]
lemma coreflection_image_eq :
    P.coreflection i '' (range P.coroot) = range P.coroot 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i : ι)
Goal: ⇑(P.coreflection i) '' Set.range ⇑P.coroot = Set.range ⇑P.coroot
-- RootPairing.coreflection_eq_flip_reflection
lemma coreflection_eq_flip_reflection :
    P.coreflection i = P.flip.reflection i 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i : ι)
Goal: P.coreflection i = P.flip.reflection i
-- RootPairing.reflection_dualMap_eq_coreflection
lemma reflection_dualMap_eq_coreflection :
    (P.reflection i).dualMap ∘ₗ P.toLin.flip = P.toLin.flip ∘ₗ P.coreflection i 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i : ι)
Goal: ↑(P.reflection i).dualMap ∘ₗ P.toLin.flip = P.toLin.flip ∘ₗ ↑(P.coreflection i)
-- RootPairing.coroot_eq_coreflection_of_root_eq
lemma coroot_eq_coreflection_of_root_eq
    {i j k : ι} (hk : P.root k = P.reflection i (P.root j)) :
    P.coroot k = P.coreflection i (P.coroot j) 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) {i j k : ι} (hk : P.root k = (P.reflection i) (P.root j))
Goal: P.coroot k = (P.coreflection i) (P.coroot j)
-- RootPairing.isCrystallographic_iff
lemma isCrystallographic_iff :
    P.IsCrystallographic ↔ ∀ i j, ∃ z : ℤ, z = P.pairing i j 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N)
Goal: P.IsCrystallographic ↔ ∀ (i j : ι), ∃ z, ↑z = P.pairing i j
-- RootPairing.isReduced_iff
lemma isReduced_iff : P.IsReduced ↔ ∀ i j : ι, i ≠ j →
    ¬ LinearIndependent R ![P.root i, P.root j] → P.root i = - P.root j 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N)
Goal: P.IsReduced ↔ ∀ (i j : ι), i ≠ j → ¬LinearIndependent R ![P.root i, P.root j] → P.root i = -P.root j
-- RootPairing.coxeterWeight_swap
lemma coxeterWeight_swap : coxeterWeight P i j = coxeterWeight P j i 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i j : ι)
Goal: P.coxeterWeight i j = P.coxeterWeight j i
-- RootPairing.IsOrthogonal.symm
lemma IsOrthogonal.symm : IsOrthogonal P i j ↔ IsOrthogonal P j i 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i j : ι)
Goal: P.IsOrthogonal i j ↔ P.IsOrthogonal j i
-- RootPairing.isOrthogonal_comm
lemma isOrthogonal_comm (h : IsOrthogonal P i j) : Commute (P.reflection i) (P.reflection j) 
Arguments: {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [CommRing R] [AddCommGroup M] [Module R M] [AddCommGroup N] [Module R N] (P : RootPairing ι R M N) (i j : ι) (h : P.IsOrthogonal i j)
Goal: Commute (P.reflection i) (P.reflection j)
-- SModEq.def
protected theorem SModEq.def :
    x ≡ y [SMOD U] ↔ (Submodule.Quotient.mk x : M ⧸ U) = Submodule.Quotient.mk y 
Arguments: {R : Type u_1} [Ring R] {M : Type u_3} [AddCommGroup M] [Module R M] {U : Submodule R M} {x y : M}
Goal: x ≡ y [SMOD U] ↔ Submodule.Quotient.mk x = Submodule.Quotient.mk y
-- SModEq.sub_mem
theorem sub_mem : x ≡ y [SMOD U] ↔ x - y ∈ U 
Arguments: {R : Type u_1} [Ring R] {M : Type u_3} [AddCommGroup M] [Module R M] {U : Submodule R M} {x y : M}
Goal: x ≡ y [SMOD U] ↔ x - y ∈ U
-- SModEq.top
@[simp]
theorem top : x ≡ y [SMOD (⊤ : Submodule R M)] 
Arguments: {R : Type u_1} [Ring R] {M : Type u_3} [AddCommGroup M] [Module R M] {x y : M}
Goal: x ≡ y [SMOD ⊤]
-- SModEq.bot
@[simp]
theorem bot : x ≡ y [SMOD (⊥ : Submodule R M)] ↔ x = y 
Arguments: {R : Type u_1} [Ring R] {M : Type u_3} [AddCommGroup M] [Module R M] {x y : M}
Goal: x ≡ y [SMOD ⊥] ↔ x = y
-- SModEq.mono
@[mono]
theorem mono (HU : U₁ ≤ U₂) (hxy : x ≡ y [SMOD U₁]) : x ≡ y [SMOD U₂] 
Arguments: {R : Type u_1} [Ring R] {M : Type u_3} [AddCommGroup M] [Module R M] {U₁ U₂ : Submodule R M} {x y : M} (HU : U₁ ≤ U₂) (hxy : x ≡ y [SMOD U₁])
Goal: x ≡ y [SMOD U₂]
-- SModEq.refl
@[refl]
protected theorem refl (x : M) : x ≡ x [SMOD U] 
Arguments: {R : Type u_1} [Ring R] {M : Type u_3} [AddCommGroup M] [Module R M] {U : Submodule R M} (x : M)
Goal: x ≡ x [SMOD U]
-- SModEq.rfl
protected theorem rfl : x ≡ x [SMOD U] 
Arguments: {R : Type u_1} [Ring R] {M : Type u_3} [AddCommGroup M] [Module R M] {U : Submodule R M} {x : M}
Goal: x ≡ x [SMOD U]
-- SModEq.symm
@[symm]
nonrec theorem symm (hxy : x ≡ y [SMOD U]) : y ≡ x [SMOD U] 
Arguments: {R : Type u_1} [Ring R] {M : Type u_3} [AddCommGroup M] [Module R M] {U : Submodule R M} {x y : M} (hxy : x ≡ y [SMOD U])
Goal: y ≡ x [SMOD U]
-- SModEq.trans
@[trans]
nonrec theorem trans (hxy : x ≡ y [SMOD U]) (hyz : y ≡ z [SMOD U]) : x ≡ z [SMOD U] 
Arguments: {R : Type u_1} [Ring R] {M : Type u_3} [AddCommGroup M] [Module R M] {U : Submodule R M} {x y z : M} (hxy : x ≡ y [SMOD U]) (hyz : y ≡ z [SMOD U])
Goal: x ≡ z [SMOD U]
-- SModEq.add
theorem add (hxy₁ : x₁ ≡ y₁ [SMOD U]) (hxy₂ : x₂ ≡ y₂ [SMOD U]) : x₁ + x₂ ≡ y₁ + y₂ [SMOD U] 
Arguments: {R : Type u_1} [Ring R] {M : Type u_3} [AddCommGroup M] [Module R M] {U : Submodule R M} {x₁ x₂ y₁ y₂ : M} (hxy₁ : x₁ ≡ y₁ [SMOD U]) (hxy₂ : x₂ ≡ y₂ [SMOD U])
Goal: x₁ + x₂ ≡ y₁ + y₂ [SMOD U]
-- SModEq.smul
theorem smul (hxy : x ≡ y [SMOD U]) (c : R) : c • x ≡ c • y [SMOD U] 
Arguments: {R : Type u_1} [Ring R] {M : Type u_3} [AddCommGroup M] [Module R M] {U : Submodule R M} {x y : M} (hxy : x ≡ y [SMOD U]) (c : R)
Goal: c • x ≡ c • y [SMOD U]
-- SModEq.nsmul
lemma nsmul (hxy : x ≡ y [SMOD U]) (n : ℕ) : n • x ≡ n • y [SMOD U] 
Arguments: {R : Type u_1} [Ring R] {M : Type u_3} [AddCommGroup M] [Module R M] {U : Submodule R M} {x y : M} (hxy : x ≡ y [SMOD U]) (n : ℕ)
Goal: n • x ≡ n • y [SMOD U]
-- SModEq.zsmul
lemma zsmul (hxy : x ≡ y [SMOD U]) (n : ℤ) : n • x ≡ n • y [SMOD U] 
Arguments: {R : Type u_1} [Ring R] {M : Type u_3} [AddCommGroup M] [Module R M] {U : Submodule R M} {x y : M} (hxy : x ≡ y [SMOD U]) (n : ℤ)
Goal: n • x ≡ n • y [SMOD U]
-- SModEq.mul
theorem mul {I : Ideal A} {x₁ x₂ y₁ y₂ : A} (hxy₁ : x₁ ≡ y₁ [SMOD I])
    (hxy₂ : x₂ ≡ y₂ [SMOD I]) : x₁ * x₂ ≡ y₁ * y₂ [SMOD I] 
Arguments: {A : Type u_2} [CommRing A] {I : Ideal A} {x₁ x₂ y₁ y₂ : A} (hxy₁ : x₁ ≡ y₁ [SMOD I]) (hxy₂ : x₂ ≡ y₂ [SMOD I])
Goal: x₁ * x₂ ≡ y₁ * y₂ [SMOD I]
-- SModEq.pow
lemma pow {I : Ideal A} {x y : A} (n : ℕ) (hxy : x ≡ y [SMOD I]) :
    x ^ n ≡ y ^ n [SMOD I] 
Arguments: {A : Type u_2} [CommRing A] {I : Ideal A} {x y : A} (n : ℕ) (hxy : x ≡ y [SMOD I])
Goal: x ^ n ≡ y ^ n [SMOD I]
-- SModEq.neg
lemma neg (hxy : x ≡ y [SMOD U]) : - x ≡ - y [SMOD U] 
Arguments: {R : Type u_1} [Ring R] {M : Type u_3} [AddCommGroup M] [Module R M] {U : Submodule R M} {x y : M} (hxy : x ≡ y [SMOD U])
Goal: -x ≡ -y [SMOD U]
-- SModEq.sub
lemma sub (hxy₁ : x₁ ≡ y₁ [SMOD U]) (hxy₂ : x₂ ≡ y₂ [SMOD U]) : x₁ - x₂ ≡ y₁ - y₂ [SMOD U] 
Arguments: {R : Type u_1} [Ring R] {M : Type u_3} [AddCommGroup M] [Module R M] {U : Submodule R M} {x₁ x₂ y₁ y₂ : M} (hxy₁ : x₁ ≡ y₁ [SMOD U]) (hxy₂ : x₂ ≡ y₂ [SMOD U])
Goal: x₁ - x₂ ≡ y₁ - y₂ [SMOD U]
-- SModEq.zero
theorem zero : x ≡ 0 [SMOD U] ↔ x ∈ U 
Arguments: {R : Type u_1} [Ring R] {M : Type u_3} [AddCommGroup M] [Module R M] {U : Submodule R M} {x : M}
Goal: x ≡ 0 [SMOD U] ↔ x ∈ U
-- SModEq.map
theorem map (hxy : x ≡ y [SMOD U]) (f : M →ₗ[R] N) : f x ≡ f y [SMOD U.map f] 
Arguments: {R : Type u_1} [Ring R] {M : Type u_3} [AddCommGroup M] [Module R M] {U : Submodule R M} {x y : M} {N : Type u_4} [AddCommGroup N] [Module R N] (hxy : x ≡ y [SMOD U]) (f : M →ₗ[R] N)
Goal: f x ≡ f y [SMOD Submodule.map f U]
-- SModEq.comap
theorem comap {f : M →ₗ[R] N} (hxy : f x ≡ f y [SMOD V]) : x ≡ y [SMOD V.comap f] 
Arguments: {R : Type u_1} [Ring R] {M : Type u_3} [AddCommGroup M] [Module R M] {x y : M} {N : Type u_4} [AddCommGroup N] [Module R N] (V : Submodule R N) {f : M →ₗ[R] N} (hxy : f x ≡ f y [SMOD V])
Goal: x ≡ y [SMOD Submodule.comap f V]
-- SModEq.eval
theorem eval {R : Type*} [CommRing R] {I : Ideal R} {x y : R} (h : x ≡ y [SMOD I]) (f : R[X]) :
    f.eval x ≡ f.eval y [SMOD I] 
Arguments: {R : Type u_5} [CommRing R] {I : Ideal R} {x y : R} (h : x ≡ y [SMOD I]) (f : R[X])
Goal: Polynomial.eval x f ≡ Polynomial.eval y f [SMOD I]
-- Submodule.mem_traceDual
lemma mem_traceDual {I : Submodule B L} {x} :
    x ∈ Iᵛ ↔ ∀ a ∈ I, traceForm K L x a ∈ (algebraMap A K).range 
Arguments: {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] {I : Submodule B L} {x : L}
Goal: x ∈ Submodule.traceDual A K I ↔ ∀ a ∈ I, ((Algebra.traceForm K L) x) a ∈ (algebraMap A K).range
-- Submodule.le_traceDual_iff_map_le_one
lemma le_traceDual_iff_map_le_one {I J : Submodule B L} :
    I ≤ Jᵛ ↔ ((I * J : Submodule B L).restrictScalars A).map
      ((trace K L).restrictScalars A) ≤ 1 
Arguments: {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] {I J : Submodule B L}
Goal: I ≤ Submodule.traceDual A K J ↔ Submodule.map (↑A (Algebra.trace K L)) (Submodule.restrictScalars A (I * J)) ≤ 1
-- Submodule.le_traceDual_mul_iff
lemma le_traceDual_mul_iff {I J J' : Submodule B L} :
    I ≤ (J * J')ᵛ ↔ I * J ≤ J'ᵛ 
Arguments: {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] {I J J' : Submodule B L}
Goal: I ≤ Submodule.traceDual A K (J * J') ↔ I * J ≤ Submodule.traceDual A K J'
-- Submodule.le_traceDual
lemma le_traceDual {I J : Submodule B L} :
    I ≤ Jᵛ ↔ I * J ≤ 1ᵛ 
Arguments: {A : Type u_1} {K : Type u_2} {L : Type u} {B : Type u_3} [CommRing A] [Field K] [CommRing B] [Field L] [Algebra A K] [Algebra B L] [Algebra A B] [Algebra K L] [Algebra A L] [IsScalarTower A K L] [IsScalarTower A B L] {I J : Submodule B L}
Goal: I ≤ Submodule.traceDual A K J ↔ I * J ≤ Submodule.traceDual A K 1