Theorem: Algebra.Generators.localizationAway_val
File: Mathlib/RingTheory/Generators.lean

Proof steps:
state_before: R : Type u
S : Type v
inst✝³ : CommRing R
inst✝² : CommRing S
inst✝¹ : Algebra R S
P : Generators R S
r : R
inst✝ : IsLocalization.Away r S
s : S
⊢ (aeval fun x => IsLocalization.Away.invSelf r)
      ((fun s => C (IsLocalization.Away.sec r s).1 * X () ^ (IsLocalization.Away.sec r s).2) s) =
    s
state_after: R : Type u
S : Type v
inst✝³ : CommRing R
inst✝² : CommRing S
inst✝¹ : Algebra R S
P : Generators R S
r : R
inst✝ : IsLocalization.Away r S
s : S
⊢ (algebraMap R S) (IsLocalization.Away.sec r s).1 * IsLocalization.Away.invSelf r ^ (IsLocalization.Away.sec r s).2 = s
tactic: rw [_root_.map_mul, algHom_C, map_pow, aeval_X]
state_before: R : Type u
S : Type v
inst✝³ : CommRing R
inst✝² : CommRing S
inst✝¹ : Algebra R S
P : Generators R S
r : R
inst✝ : IsLocalization.Away r S
s : S
⊢ (algebraMap R S) (IsLocalization.Away.sec r s).1 * IsLocalization.Away.invSelf r ^ (IsLocalization.Away.sec r s).2 = s
state_after: R : Type u
S : Type v
inst✝³ : CommRing R
inst✝² : CommRing S
inst✝¹ : Algebra R S
P : Generators R S
r : R
inst✝ : IsLocalization.Away r S
s : S
⊢ s * (algebraMap R S) r ^ (IsLocalization.Away.sec r s).2 *
      IsLocalization.mk' S 1 ⟨r, ⋯⟩ ^ (IsLocalization.Away.sec r s).2 =
    s
tactic: simp only [← IsLocalization.Away.sec_spec, map_pow, IsLocalization.Away.invSelf]
state_before: R : Type u
S : Type v
inst✝³ : CommRing R
inst✝² : CommRing S
inst✝¹ : Algebra R S
P : Generators R S
r : R
inst✝ : IsLocalization.Away r S
s : S
⊢ s * (algebraMap R S) r ^ (IsLocalization.Away.sec r s).2 *
      IsLocalization.mk' S 1 ⟨r, ⋯⟩ ^ (IsLocalization.Away.sec r s).2 =
    s
state_after: R : Type u
S : Type v
inst✝³ : CommRing R
inst✝² : CommRing S
inst✝¹ : Algebra R S
P : Generators R S
r : R
inst✝ : IsLocalization.Away r S
s : S
⊢ s * IsLocalization.mk' S r 1 ^ (IsLocalization.Away.sec r s).2 *
      IsLocalization.mk' S 1 (⟨r, ⋯⟩ ^ (IsLocalization.Away.sec r s).2) =
    s
tactic: rw [← IsLocalization.mk'_pow, one_pow, ← IsLocalization.mk'_one (M := Submonoid.powers r) S r]
state_before: R : Type u
S : Type v
inst✝³ : CommRing R
inst✝² : CommRing S
inst✝¹ : Algebra R S
P : Generators R S
r : R
inst✝ : IsLocalization.Away r S
s : S
⊢ s * IsLocalization.mk' S r 1 ^ (IsLocalization.Away.sec r s).2 *
      IsLocalization.mk' S 1 (⟨r, ⋯⟩ ^ (IsLocalization.Away.sec r s).2) =
    s
state_after: R : Type u
S : Type v
inst✝³ : CommRing R
inst✝² : CommRing S
inst✝¹ : Algebra R S
P : Generators R S
r : R
inst✝ : IsLocalization.Away r S
s : S
⊢ s * IsLocalization.mk' S (r ^ (IsLocalization.Away.sec r s).2 * 1) (1 * ⟨r, ⋯⟩ ^ (IsLocalization.Away.sec r s).2) = s
tactic: rw [← IsLocalization.mk'_pow, one_pow, mul_assoc, ← IsLocalization.mk'_mul]
state_before: R : Type u
S : Type v
inst✝³ : CommRing R
inst✝² : CommRing S
inst✝¹ : Algebra R S
P : Generators R S
r : R
inst✝ : IsLocalization.Away r S
s : S
⊢ s * IsLocalization.mk' S (r ^ (IsLocalization.Away.sec r s).2 * 1) (1 * ⟨r, ⋯⟩ ^ (IsLocalization.Away.sec r s).2) = s
state_after: R : Type u
S : Type v
inst✝³ : CommRing R
inst✝² : CommRing S
inst✝¹ : Algebra R S
P : Generators R S
r : R
inst✝ : IsLocalization.Away r S
s : S
⊢ s * IsLocalization.mk' S r ⟨r, ⋯⟩ ^ (IsLocalization.Away.sec r s).2 = s
tactic: rw [mul_one, one_mul, IsLocalization.mk'_pow]
state_before: R : Type u
S : Type v
inst✝³ : CommRing R
inst✝² : CommRing S
inst✝¹ : Algebra R S
P : Generators R S
r : R
inst✝ : IsLocalization.Away r S
s : S
⊢ s * IsLocalization.mk' S r ⟨r, ⋯⟩ ^ (IsLocalization.Away.sec r s).2 = s
state_after: no goals
tactic: simp