Theorem: elementalStarAlgebra.induction_on
File: Mathlib/Topology/Algebra/StarSubalgebra.lean

Proof steps:
state_before: R : Type u_1
A : Type u_2
B : Type u_3
inst✝¹² : CommSemiring R
inst✝¹¹ : StarRing R
inst✝¹⁰ : TopologicalSpace A
inst✝⁹ : Semiring A
inst✝⁸ : StarRing A
inst✝⁷ : TopologicalSemiring A
inst✝⁶ : ContinuousStar A
inst✝⁵ : Algebra R A
inst✝⁴ : StarModule R A
inst✝³ : TopologicalSpace B
inst✝² : Semiring B
inst✝¹ : StarRing B
inst✝ : Algebra R B
x y : A
hy : y ∈ elementalStarAlgebra R x
P : (u : A) → u ∈ elementalStarAlgebra R x → Prop
self : P x ⋯
star_self : P (star x) ⋯
algebraMap : ∀ (r : R), P ((_root_.algebraMap R A) r) ⋯
add :
  ∀ (u : A) (hu : u ∈ elementalStarAlgebra R x) (v : A) (hv : v ∈ elementalStarAlgebra R x),
    P u hu → P v hv → P (u + v) ⋯
mul :
  ∀ (u : A) (hu : u ∈ elementalStarAlgebra R x) (v : A) (hv : v ∈ elementalStarAlgebra R x),
    P u hu → P v hv → P (u * v) ⋯
closure :
  ∀ (s : Set A) (hs : s ⊆ ↑(elementalStarAlgebra R x)),
    (∀ (u : A) (hu : u ∈ s), P u ⋯) → ∀ (v : A) (hv : v ∈ _root_.closure s), P v ⋯
⊢ P y hy
state_after: R : Type u_1
A : Type u_2
B : Type u_3
inst✝¹² : CommSemiring R
inst✝¹¹ : StarRing R
inst✝¹⁰ : TopologicalSpace A
inst✝⁹ : Semiring A
inst✝⁸ : StarRing A
inst✝⁷ : TopologicalSemiring A
inst✝⁶ : ContinuousStar A
inst✝⁵ : Algebra R A
inst✝⁴ : StarModule R A
inst✝³ : TopologicalSpace B
inst✝² : Semiring B
inst✝¹ : StarRing B
inst✝ : Algebra R B
x y✝ : A
hy✝ : y✝ ∈ elementalStarAlgebra R x
P : (u : A) → u ∈ elementalStarAlgebra R x → Prop
self : P x ⋯
star_self : P (star x) ⋯
algebraMap : ∀ (r : R), P ((_root_.algebraMap R A) r) ⋯
add :
  ∀ (u : A) (hu : u ∈ elementalStarAlgebra R x) (v : A) (hv : v ∈ elementalStarAlgebra R x),
    P u hu → P v hv → P (u + v) ⋯
mul :
  ∀ (u : A) (hu : u ∈ elementalStarAlgebra R x) (v : A) (hv : v ∈ elementalStarAlgebra R x),
    P u hu → P v hv → P (u * v) ⋯
closure :
  ∀ (s : Set A) (hs : s ⊆ ↑(elementalStarAlgebra R x)),
    (∀ (u : A) (hu : u ∈ s), P u ⋯) → ∀ (v : A) (hv : v ∈ _root_.closure s), P v ⋯
y : A
hy : y ∈ ↑(adjoin R {x})
⊢ P y ⋯
tactic: apply closure (adjoin R {x} : Set A) subset_closure (fun y hy ↦ ?_) y hy
state_before: R : Type u_1
A : Type u_2
B : Type u_3
inst✝¹² : CommSemiring R
inst✝¹¹ : StarRing R
inst✝¹⁰ : TopologicalSpace A
inst✝⁹ : Semiring A
inst✝⁸ : StarRing A
inst✝⁷ : TopologicalSemiring A
inst✝⁶ : ContinuousStar A
inst✝⁵ : Algebra R A
inst✝⁴ : StarModule R A
inst✝³ : TopologicalSpace B
inst✝² : Semiring B
inst✝¹ : StarRing B
inst✝ : Algebra R B
x y✝ : A
hy✝ : y✝ ∈ elementalStarAlgebra R x
P : (u : A) → u ∈ elementalStarAlgebra R x → Prop
self : P x ⋯
star_self : P (star x) ⋯
algebraMap : ∀ (r : R), P ((_root_.algebraMap R A) r) ⋯
add :
  ∀ (u : A) (hu : u ∈ elementalStarAlgebra R x) (v : A) (hv : v ∈ elementalStarAlgebra R x),
    P u hu → P v hv → P (u + v) ⋯
mul :
  ∀ (u : A) (hu : u ∈ elementalStarAlgebra R x) (v : A) (hv : v ∈ elementalStarAlgebra R x),
    P u hu → P v hv → P (u * v) ⋯
closure :
  ∀ (s : Set A) (hs : s ⊆ ↑(elementalStarAlgebra R x)),
    (∀ (u : A) (hu : u ∈ s), P u ⋯) → ∀ (v : A) (hv : v ∈ _root_.closure s), P v ⋯
y : A
hy : y ∈ ↑(adjoin R {x})
⊢ P y ⋯
state_after: R : Type u_1
A : Type u_2
B : Type u_3
inst✝¹² : CommSemiring R
inst✝¹¹ : StarRing R
inst✝¹⁰ : TopologicalSpace A
inst✝⁹ : Semiring A
inst✝⁸ : StarRing A
inst✝⁷ : TopologicalSemiring A
inst✝⁶ : ContinuousStar A
inst✝⁵ : Algebra R A
inst✝⁴ : StarModule R A
inst✝³ : TopologicalSpace B
inst✝² : Semiring B
inst✝¹ : StarRing B
inst✝ : Algebra R B
x y✝ : A
hy✝¹ : y✝ ∈ elementalStarAlgebra R x
P : (u : A) → u ∈ elementalStarAlgebra R x → Prop
self : P x ⋯
star_self : P (star x) ⋯
algebraMap : ∀ (r : R), P ((_root_.algebraMap R A) r) ⋯
add :
  ∀ (u : A) (hu : u ∈ elementalStarAlgebra R x) (v : A) (hv : v ∈ elementalStarAlgebra R x),
    P u hu → P v hv → P (u + v) ⋯
mul :
  ∀ (u : A) (hu : u ∈ elementalStarAlgebra R x) (v : A) (hv : v ∈ elementalStarAlgebra R x),
    P u hu → P v hv → P (u * v) ⋯
closure :
  ∀ (s : Set A) (hs : s ⊆ ↑(elementalStarAlgebra R x)),
    (∀ (u : A) (hu : u ∈ s), P u ⋯) → ∀ (v : A) (hv : v ∈ _root_.closure s), P v ⋯
y : A
hy✝ : y ∈ ↑(adjoin R {x})
hy : y ∈ Algebra.adjoin R ({x} ∪ star {x})
⊢ P y ⋯
tactic: rw [SetLike.mem_coe, ← mem_toSubalgebra, adjoin_toSubalgebra] at hy