Theorem: FractionalIdeal.spanSingleton_mul_le_iff
File: Mathlib/RingTheory/FractionalIdeal.lean

tactic: simp only [mul_le, mem_singleton_mul, mem_spanSingleton]
state_before: R : Type u_1
inst✝⁷ : CommRing R
S : Submonoid R
P : Type u_2
inst✝⁶ : CommRing P
inst✝⁵ : Algebra R P
loc : IsLocalization S P
R₁ : Type ?u.1734695
inst✝⁴ : CommRing R₁
K : Type ?u.1734701
inst✝³ : Field K
inst✝² : Algebra R₁ K
inst✝¹ : IsFractionRing R₁ K
inst✝ : IsDomain R₁
x : P
I J : FractionalIdeal S P
⊢ spanSingleton S x * I ≤ J ↔ ∀ (z : P), z ∈ I → x * z ∈ J

tactic: constructor
state_before: R : Type u_1
inst✝⁷ : CommRing R
S : Submonoid R
P : Type u_2
inst✝⁶ : CommRing P
inst✝⁵ : Algebra R P
loc : IsLocalization S P
R₁ : Type ?u.1734695
inst✝⁴ : CommRing R₁
K : Type ?u.1734701
inst✝³ : Field K
inst✝² : Algebra R₁ K
inst✝¹ : IsFractionRing R₁ K
inst✝ : IsDomain R₁
x : P
I J : FractionalIdeal S P
⊢ (∀ (i : P), (∃ z, z • x = i) → ∀ (j : P), j ∈ I → i * j ∈ J) ↔ ∀ (z : P), z ∈ I → x * z ∈ J

tactic: intro h zI hzI
state_before: case mp
R : Type u_1
inst✝⁷ : CommRing R
S : Submonoid R
P : Type u_2
inst✝⁶ : CommRing P
inst✝⁵ : Algebra R P
loc : IsLocalization S P
R₁ : Type ?u.1734695
inst✝⁴ : CommRing R₁
K : Type ?u.1734701
inst✝³ : Field K
inst✝² : Algebra R₁ K
inst✝¹ : IsFractionRing R₁ K
inst✝ : IsDomain R₁
x : P
I J : FractionalIdeal S P
⊢ (∀ (i : P), (∃ z, z • x = i) → ∀ (j : P), j ∈ I → i * j ∈ J) → ∀ (z : P), z ∈ I → x * z ∈ J

tactic: exact h x ⟨1, one_smul _ _⟩ zI hzI
state_before: case mp
R : Type u_1
inst✝⁷ : CommRing R
S : Submonoid R
P : Type u_2
inst✝⁶ : CommRing P
inst✝⁵ : Algebra R P
loc : IsLocalization S P
R₁ : Type ?u.1734695
inst✝⁴ : CommRing R₁
K : Type ?u.1734701
inst✝³ : Field K
inst✝² : Algebra R₁ K
inst✝¹ : IsFractionRing R₁ K
inst✝ : IsDomain R₁
x : P
I J : FractionalIdeal S P
h : ∀ (i : P), (∃ z, z • x = i) → ∀ (j : P), j ∈ I → i * j ∈ J
zI : P
hzI : zI ∈ I
⊢ x * zI ∈ J

tactic: rintro h _ ⟨z, rfl⟩ zI hzI
state_before: case mpr
R : Type u_1
inst✝⁷ : CommRing R
S : Submonoid R
P : Type u_2
inst✝⁶ : CommRing P
inst✝⁵ : Algebra R P
loc : IsLocalization S P
R₁ : Type ?u.1734695
inst✝⁴ : CommRing R₁
K : Type ?u.1734701
inst✝³ : Field K
inst✝² : Algebra R₁ K
inst✝¹ : IsFractionRing R₁ K
inst✝ : IsDomain R₁
x : P
I J : FractionalIdeal S P
⊢ (∀ (z : P), z ∈ I → x * z ∈ J) → ∀ (i : P), (∃ z, z • x = i) → ∀ (j : P), j ∈ I → i * j ∈ J

tactic: rw [Algebra.smul_mul_assoc]
state_before: case mpr.intro
R : Type u_1
inst✝⁷ : CommRing R
S : Submonoid R
P : Type u_2
inst✝⁶ : CommRing P
inst✝⁵ : Algebra R P
loc : IsLocalization S P
R₁ : Type ?u.1734695
inst✝⁴ : CommRing R₁
K : Type ?u.1734701
inst✝³ : Field K
inst✝² : Algebra R₁ K
inst✝¹ : IsFractionRing R₁ K
inst✝ : IsDomain R₁
x : P
I J : FractionalIdeal S P
h : ∀ (z : P), z ∈ I → x * z ∈ J
z : R
zI : P
hzI : zI ∈ I
⊢ z • x * zI ∈ J

tactic: exact Submodule.smul_mem J.1 _ (h zI hzI)
state_before: case mpr.intro
R : Type u_1
inst✝⁷ : CommRing R
S : Submonoid R
P : Type u_2
inst✝⁶ : CommRing P
inst✝⁵ : Algebra R P
loc : IsLocalization S P
R₁ : Type ?u.1734695
inst✝⁴ : CommRing R₁
K : Type ?u.1734701
inst✝³ : Field K
inst✝² : Algebra R₁ K
inst✝¹ : IsFractionRing R₁ K
inst✝ : IsDomain R₁
x : P
I J : FractionalIdeal S P
h : ∀ (z : P), z ∈ I → x * z ∈ J
z : R
zI : P
hzI : zI ∈ I
⊢ z • (x * zI) ∈ J