Theorem: exists_maximal_algebraicIndependent
File: Mathlib/RingTheory/AlgebraicIndependent.lean

tactic: use u, huai, hsu, hut
state_before: case intro.intro.intro.intro.intro
ι : Type u_1
ι' : Type u_2
R : Type u_3
K : Type u_4
A : Type u_5
A' : Type u_6
A'' : Type u_7
V : Type u
V' : Type u_8
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
s t : Set A
hst : s ⊆ t
hs : AlgebraicIndependent R Subtype.val
u : Set A
huai : AlgebraicIndependent R Subtype.val
left✝ : s ⊆ u
hut : u ⊆ t
hsu : s ⊆ u
hx : ∀ a ∈ {u | AlgebraicIndependent R Subtype.val ∧ s ⊆ u ∧ u ⊆ t}, u ⊆ a → a = u
⊢ ∃ u,
    AlgebraicIndependent R Subtype.val ∧
      s ⊆ u ∧ u ⊆ t ∧ ∀ (x : Set A), AlgebraicIndependent R Subtype.val → u ⊆ x → x ⊆ t → x = u
state_after: case right
ι : Type u_1
ι' : Type u_2
R : Type u_3
K : Type u_4
A : Type u_5
A' : Type u_6
A'' : Type u_7
V : Type u
V' : Type u_8
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
s t : Set A
hst : s ⊆ t
hs : AlgebraicIndependent R Subtype.val
u : Set A
huai : AlgebraicIndependent R Subtype.val
left✝ : s ⊆ u
hut : u ⊆ t
hsu : s ⊆ u
hx : ∀ a ∈ {u | AlgebraicIndependent R Subtype.val ∧ s ⊆ u ∧ u ⊆ t}, u ⊆ a → a = u
⊢ ∀ (x : Set A), AlgebraicIndependent R Subtype.val → u ⊆ x → x ⊆ t → x = u

tactic: intro x hxai huv hxt
state_before: case right
ι : Type u_1
ι' : Type u_2
R : Type u_3
K : Type u_4
A : Type u_5
A' : Type u_6
A'' : Type u_7
V : Type u
V' : Type u_8
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
s t : Set A
hst : s ⊆ t
hs : AlgebraicIndependent R Subtype.val
u : Set A
huai : AlgebraicIndependent R Subtype.val
left✝ : s ⊆ u
hut : u ⊆ t
hsu : s ⊆ u
hx : ∀ a ∈ {u | AlgebraicIndependent R Subtype.val ∧ s ⊆ u ∧ u ⊆ t}, u ⊆ a → a = u
⊢ ∀ (x : Set A), AlgebraicIndependent R Subtype.val → u ⊆ x → x ⊆ t → x = u
state_after: case right
ι : Type u_1
ι' : Type u_2
R : Type u_3
K : Type u_4
A : Type u_5
A' : Type u_6
A'' : Type u_7
V : Type u
V' : Type u_8
x✝ : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
s t : Set A
hst : s ⊆ t
hs : AlgebraicIndependent R Subtype.val
u : Set A
huai : AlgebraicIndependent R Subtype.val
left✝ : s ⊆ u
hut : u ⊆ t
hsu : s ⊆ u
hx : ∀ a ∈ {u | AlgebraicIndependent R Subtype.val ∧ s ⊆ u ∧ u ⊆ t}, u ⊆ a → a = u
x : Set A
hxai : AlgebraicIndependent R Subtype.val
huv : u ⊆ x
hxt : x ⊆ t
⊢ x = u

tactic: exact hx _ ⟨hxai, _root_.trans hsu huv, hxt⟩ huv
state_before: case right
ι : Type u_1
ι' : Type u_2
R : Type u_3
K : Type u_4
A : Type u_5
A' : Type u_6
A'' : Type u_7
V : Type u
V' : Type u_8
x✝ : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
s t : Set A
hst : s ⊆ t
hs : AlgebraicIndependent R Subtype.val
u : Set A
huai : AlgebraicIndependent R Subtype.val
left✝ : s ⊆ u
hut : u ⊆ t
hsu : s ⊆ u
hx : ∀ a ∈ {u | AlgebraicIndependent R Subtype.val ∧ s ⊆ u ∧ u ⊆ t}, u ⊆ a → a = u
x : Set A
hxai : AlgebraicIndependent R Subtype.val
huv : u ⊆ x
hxt : x ⊆ t
⊢ x = u
state_after: no goals

tactic: refine ⟨⟨algebraicIndependent_sUnion_of_directed hcn chainc.directedOn
    fun a ha => (hc ha).1, ?_, ?_⟩, ?_⟩
state_before: ι : Type u_1
ι' : Type u_2
R : Type u_3
K : Type u_4
A : Type u_5
A' : Type u_6
A'' : Type u_7
V : Type u
V' : Type u_8
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
s t : Set A
hst : s ⊆ t
hs : AlgebraicIndependent R Subtype.val
c : Set (Set A)
hc : c ⊆ {u | AlgebraicIndependent R Subtype.val ∧ s ⊆ u ∧ u ⊆ t}
chainc : IsChain (fun x x_1 => x ⊆ x_1) c
hcn : c.Nonempty
⊢ ⋃₀ c ∈ {u | AlgebraicIndependent R Subtype.val ∧ s ⊆ u ∧ u ⊆ t} ∧ ∀ s ∈ c, s ⊆ ⋃₀ c
state_after: case refine_1
ι : Type u_1
ι' : Type u_2
R : Type u_3
K : Type u_4
A : Type u_5
A' : Type u_6
A'' : Type u_7
V : Type u
V' : Type u_8
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
s t : Set A
hst : s ⊆ t
hs : AlgebraicIndependent R Subtype.val
c : Set (Set A)
hc : c ⊆ {u | AlgebraicIndependent R Subtype.val ∧ s ⊆ u ∧ u ⊆ t}
chainc : IsChain (fun x x_1 => x ⊆ x_1) c
hcn : c.Nonempty
⊢ s ⊆ ⋃₀ c

case refine_2
ι : Type u_1
ι' : Type u_2
R : Type u_3
K : Type u_4
A : Type u_5
A' : Type u_6
A'' : Type u_7
V : Type u
V' : Type u_8
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
s t : Set A
hst : s ⊆ t
hs : AlgebraicIndependent R Subtype.val
c : Set (Set A)
hc : c ⊆ {u | AlgebraicIndependent R Subtype.val ∧ s ⊆ u ∧ u ⊆ t}
chainc : IsChain (fun x x_1 => x ⊆ x_1) c
hcn : c.Nonempty
⊢ ⋃₀ c ⊆ t

case refine_3
ι : Type u_1
ι' : Type u_2
R : Type u_3
K : Type u_4
A : Type u_5
A' : Type u_6
A'' : Type u_7
V : Type u
V' : Type u_8
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
s t : Set A
hst : s ⊆ t
hs : AlgebraicIndependent R Subtype.val
c : Set (Set A)
hc : c ⊆ {u | AlgebraicIndependent R Subtype.val ∧ s ⊆ u ∧ u ⊆ t}
chainc : IsChain (fun x x_1 => x ⊆ x_1) c
hcn : c.Nonempty
⊢ ∀ s ∈ c, s ⊆ ⋃₀ c

tactic: cases' hcn with x hx
state_before: case refine_1
ι : Type u_1
ι' : Type u_2
R : Type u_3
K : Type u_4
A : Type u_5
A' : Type u_6
A'' : Type u_7
V : Type u
V' : Type u_8
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
s t : Set A
hst : s ⊆ t
hs : AlgebraicIndependent R Subtype.val
c : Set (Set A)
hc : c ⊆ {u | AlgebraicIndependent R Subtype.val ∧ s ⊆ u ∧ u ⊆ t}
chainc : IsChain (fun x x_1 => x ⊆ x_1) c
hcn : c.Nonempty
⊢ s ⊆ ⋃₀ c
state_after: case refine_1.intro
ι : Type u_1
ι' : Type u_2
R : Type u_3
K : Type u_4
A : Type u_5
A' : Type u_6
A'' : Type u_7
V : Type u
V' : Type u_8
x✝ : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
s t : Set A
hst : s ⊆ t
hs : AlgebraicIndependent R Subtype.val
c : Set (Set A)
hc : c ⊆ {u | AlgebraicIndependent R Subtype.val ∧ s ⊆ u ∧ u ⊆ t}
chainc : IsChain (fun x x_1 => x ⊆ x_1) c
x : Set A
hx : x ∈ c
⊢ s ⊆ ⋃₀ c

tactic: exact subset_sUnion_of_subset _ x (hc hx).2.1 hx
state_before: case refine_1.intro
ι : Type u_1
ι' : Type u_2
R : Type u_3
K : Type u_4
A : Type u_5
A' : Type u_6
A'' : Type u_7
V : Type u
V' : Type u_8
x✝ : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
s t : Set A
hst : s ⊆ t
hs : AlgebraicIndependent R Subtype.val
c : Set (Set A)
hc : c ⊆ {u | AlgebraicIndependent R Subtype.val ∧ s ⊆ u ∧ u ⊆ t}
chainc : IsChain (fun x x_1 => x ⊆ x_1) c
x : Set A
hx : x ∈ c
⊢ s ⊆ ⋃₀ c
state_after: no goals

tactic: exact sUnion_subset fun x hx => (hc hx).2.2
state_before: case refine_2
ι : Type u_1
ι' : Type u_2
R : Type u_3
K : Type u_4
A : Type u_5
A' : Type u_6
A'' : Type u_7
V : Type u
V' : Type u_8
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
s t : Set A
hst : s ⊆ t
hs : AlgebraicIndependent R Subtype.val
c : Set (Set A)
hc : c ⊆ {u | AlgebraicIndependent R Subtype.val ∧ s ⊆ u ∧ u ⊆ t}
chainc : IsChain (fun x x_1 => x ⊆ x_1) c
hcn : c.Nonempty
⊢ ⋃₀ c ⊆ t
state_after: no goals

tactic: intro s
state_before: case refine_3
ι : Type u_1
ι' : Type u_2
R : Type u_3
K : Type u_4
A : Type u_5
A' : Type u_6
A'' : Type u_7
V : Type u
V' : Type u_8
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
s t : Set A
hst : s ⊆ t
hs : AlgebraicIndependent R Subtype.val
c : Set (Set A)
hc : c ⊆ {u | AlgebraicIndependent R Subtype.val ∧ s ⊆ u ∧ u ⊆ t}
chainc : IsChain (fun x x_1 => x ⊆ x_1) c
hcn : c.Nonempty
⊢ ∀ s ∈ c, s ⊆ ⋃₀ c
state_after: case refine_3
ι : Type u_1
ι' : Type u_2
R : Type u_3
K : Type u_4
A : Type u_5
A' : Type u_6
A'' : Type u_7
V : Type u
V' : Type u_8
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
s✝ t : Set A
hst : s✝ ⊆ t
hs : AlgebraicIndependent R Subtype.val
c : Set (Set A)
hc : c ⊆ {u | AlgebraicIndependent R Subtype.val ∧ s✝ ⊆ u ∧ u ⊆ t}
chainc : IsChain (fun x x_1 => x ⊆ x_1) c
hcn : c.Nonempty
s : Set A
⊢ s ∈ c → s ⊆ ⋃₀ c

tactic: exact subset_sUnion_of_mem
state_before: case refine_3
ι : Type u_1
ι' : Type u_2
R : Type u_3
K : Type u_4
A : Type u_5
A' : Type u_6
A'' : Type u_7
V : Type u
V' : Type u_8
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
s✝ t : Set A
hst : s✝ ⊆ t
hs : AlgebraicIndependent R Subtype.val
c : Set (Set A)
hc : c ⊆ {u | AlgebraicIndependent R Subtype.val ∧ s✝ ⊆ u ∧ u ⊆ t}
chainc : IsChain (fun x x_1 => x ⊆ x_1) c
hcn : c.Nonempty
s : Set A
⊢ s ∈ c → s ⊆ ⋃₀ c
state_after: no goals