Theorem: StarAlgHom.ext_adjoin
File: Mathlib/Algebra/Star/Subalgebra.lean

Proof steps:
state_before: F : Type u_1
R : Type u_2
A : Type u_3
B : Type u_4
inst✝¹⁵ : CommSemiring R
inst✝¹⁴ : StarRing R
inst✝¹³ : Semiring A
inst✝¹² : Algebra R A
inst✝¹¹ : StarRing A
inst✝¹⁰ : StarModule R A
inst✝⁹ : Semiring B
inst✝⁸ : Algebra R B
inst✝⁷ : StarRing B
inst✝⁶ : StarModule R B
inst✝⁵ : FunLike F A B
inst✝⁴ : AlgHomClass F R A B
inst✝³ : StarAlgHomClass F R A B
f✝ g✝ : F
s : Set A
inst✝² : FunLike F (↥(adjoin R s)) B
inst✝¹ : AlgHomClass F R (↥(adjoin R s)) B
inst✝ : StarAlgHomClass F R (↥(adjoin R s)) B
f g : F
h : ∀ (x : ↥(adjoin R s)), ↑x ∈ s → f x = g x
⊢ f = g
state_after: case refine_1
F : Type u_1
R : Type u_2
A : Type u_3
B : Type u_4
inst✝¹⁵ : CommSemiring R
inst✝¹⁴ : StarRing R
inst✝¹³ : Semiring A
inst✝¹² : Algebra R A
inst✝¹¹ : StarRing A
inst✝¹⁰ : StarModule R A
inst✝⁹ : Semiring B
inst✝⁸ : Algebra R B
inst✝⁷ : StarRing B
inst✝⁶ : StarModule R B
inst✝⁵ : FunLike F A B
inst✝⁴ : AlgHomClass F R A B
inst✝³ : StarAlgHomClass F R A B
f✝ g✝ : F
s : Set A
inst✝² : FunLike F (↥(adjoin R s)) B
inst✝¹ : AlgHomClass F R (↥(adjoin R s)) B
inst✝ : StarAlgHomClass F R (↥(adjoin R s)) B
f g : F
h : ∀ (x : ↥(adjoin R s)), ↑x ∈ s → f x = g x
a : ↥(adjoin R s)
x : A
hx : x ∈ s
⊢ (fun y => f y = g y) ⟨x, ⋯⟩

case refine_2
F : Type u_1
R : Type u_2
A : Type u_3
B : Type u_4
inst✝¹⁵ : CommSemiring R
inst✝¹⁴ : StarRing R
inst✝¹³ : Semiring A
inst✝¹² : Algebra R A
inst✝¹¹ : StarRing A
inst✝¹⁰ : StarModule R A
inst✝⁹ : Semiring B
inst✝⁸ : Algebra R B
inst✝⁷ : StarRing B
inst✝⁶ : StarModule R B
inst✝⁵ : FunLike F A B
inst✝⁴ : AlgHomClass F R A B
inst✝³ : StarAlgHomClass F R A B
f✝ g✝ : F
s : Set A
inst✝² : FunLike F (↥(adjoin R s)) B
inst✝¹ : AlgHomClass F R (↥(adjoin R s)) B
inst✝ : StarAlgHomClass F R (↥(adjoin R s)) B
f g : F
h : ∀ (x : ↥(adjoin R s)), ↑x ∈ s → f x = g x
a : ↥(adjoin R s)
r : R
⊢ (fun y => f y = g y) ((algebraMap R ↥(adjoin R s)) r)

case refine_3
F : Type u_1
R : Type u_2
A : Type u_3
B : Type u_4
inst✝¹⁵ : CommSemiring R
inst✝¹⁴ : StarRing R
inst✝¹³ : Semiring A
inst✝¹² : Algebra R A
inst✝¹¹ : StarRing A
inst✝¹⁰ : StarModule R A
inst✝⁹ : Semiring B
inst✝⁸ : Algebra R B
inst✝⁷ : StarRing B
inst✝⁶ : StarModule R B
inst✝⁵ : FunLike F A B
inst✝⁴ : AlgHomClass F R A B
inst✝³ : StarAlgHomClass F R A B
f✝ g✝ : F
s : Set A
inst✝² : FunLike F (↥(adjoin R s)) B
inst✝¹ : AlgHomClass F R (↥(adjoin R s)) B
inst✝ : StarAlgHomClass F R (↥(adjoin R s)) B
f g : F
h : ∀ (x : ↥(adjoin R s)), ↑x ∈ s → f x = g x
a x y : ↥(adjoin R s)
hx : (fun y => f y = g y) x
hy : (fun y => f y = g y) y
⊢ (fun y => f y = g y) (x + y)

case refine_4
F : Type u_1
R : Type u_2
A : Type u_3
B : Type u_4
inst✝¹⁵ : CommSemiring R
inst✝¹⁴ : StarRing R
inst✝¹³ : Semiring A
inst✝¹² : Algebra R A
inst✝¹¹ : StarRing A
inst✝¹⁰ : StarModule R A
inst✝⁹ : Semiring B
inst✝⁸ : Algebra R B
inst✝⁷ : StarRing B
inst✝⁶ : StarModule R B
inst✝⁵ : FunLike F A B
inst✝⁴ : AlgHomClass F R A B
inst✝³ : StarAlgHomClass F R A B
f✝ g✝ : F
s : Set A
inst✝² : FunLike F (↥(adjoin R s)) B
inst✝¹ : AlgHomClass F R (↥(adjoin R s)) B
inst✝ : StarAlgHomClass F R (↥(adjoin R s)) B
f g : F
h : ∀ (x : ↥(adjoin R s)), ↑x ∈ s → f x = g x
a x y : ↥(adjoin R s)
hx : (fun y => f y = g y) x
hy : (fun y => f y = g y) y
⊢ (fun y => f y = g y) (x * y)

case refine_5
F : Type u_1
R : Type u_2
A : Type u_3
B : Type u_4
inst✝¹⁵ : CommSemiring R
inst✝¹⁴ : StarRing R
inst✝¹³ : Semiring A
inst✝¹² : Algebra R A
inst✝¹¹ : StarRing A
inst✝¹⁰ : StarModule R A
inst✝⁹ : Semiring B
inst✝⁸ : Algebra R B
inst✝⁷ : StarRing B
inst✝⁶ : StarModule R B
inst✝⁵ : FunLike F A B
inst✝⁴ : AlgHomClass F R A B
inst✝³ : StarAlgHomClass F R A B
f✝ g✝ : F
s : Set A
inst✝² : FunLike F (↥(adjoin R s)) B
inst✝¹ : AlgHomClass F R (↥(adjoin R s)) B
inst✝ : StarAlgHomClass F R (↥(adjoin R s)) B
f g : F
h : ∀ (x : ↥(adjoin R s)), ↑x ∈ s → f x = g x
a x : ↥(adjoin R s)
hx : (fun y => f y = g y) x
⊢ (fun y => f y = g y) (star x)
tactic: refine DFunLike.ext f g fun a =>
    adjoin_induction' (p := fun y => f y = g y) a (fun x hx => ?_) (fun r => ?_)
    (fun x y hx hy => ?_) (fun x y hx hy => ?_) fun x hx => ?_