Theorem: IntermediateField.adjoin_simple_isCompactElement
File: Mathlib/FieldTheory/Adjoin.lean

tactic: rw [isCompactElement_iff_le_of_directed_sSup_le]
state_before: F : Type u_2
inst✝² : Field F
E : Type u_1
inst✝¹ : Field E
inst✝ : Algebra F E
S : Set E
α x : E
⊢ IsCompactElement F⟮x⟯

tactic: rintro s ⟨F₀, hF₀⟩ hs hx
state_before: F : Type u_2
inst✝² : Field F
E : Type u_1
inst✝¹ : Field E
inst✝ : Algebra F E
S : Set E
α x : E
⊢ ∀ (s : Set (IntermediateField F E)),
    Set.Nonempty s → DirectedOn (fun x x_1 => x ≤ x_1) s → F⟮x⟯ ≤ sSup s → ∃ x_1, x_1 ∈ s ∧ F⟮x⟯ ≤ x_1

tactic: simp only [adjoin_simple_le_iff] at hx ⊢
state_before: case intro
F : Type u_2
inst✝² : Field F
E : Type u_1
inst✝¹ : Field E
inst✝ : Algebra F E
S : Set E
α x : E
s : Set (IntermediateField F E)
F₀ : IntermediateField F E
hF₀ : F₀ ∈ s
hs : DirectedOn (fun x x_1 => x ≤ x_1) s
hx : F⟮x⟯ ≤ sSup s
⊢ ∃ x_1, x_1 ∈ s ∧ F⟮x⟯ ≤ x_1

tactic: let F : IntermediateField F E :=
  { carrier := ⋃ E ∈ s, ↑E
    add_mem' := by
      rintro x₁ x₂ ⟨-, ⟨F₁, rfl⟩, ⟨-, ⟨hF₁, rfl⟩, hx₁⟩⟩ ⟨-, ⟨F₂, rfl⟩, ⟨-, ⟨hF₂, rfl⟩, hx₂⟩⟩
      obtain ⟨F₃, hF₃, h₁₃, h₂₃⟩ := hs F₁ hF₁ F₂ hF₂
      exact mem_iUnion_of_mem F₃ (mem_iUnion_of_mem hF₃ (F₃.add_mem (h₁₃ hx₁) (h₂₃ hx₂)))
    neg_mem' := by
      rintro x ⟨-, ⟨E, rfl⟩, ⟨-, ⟨hE, rfl⟩, hx⟩⟩
      exact mem_iUnion_of_mem E (mem_iUnion_of_mem hE (E.neg_mem hx))
    mul_mem' := by
      rintro x₁ x₂ ⟨-, ⟨F₁, rfl⟩, ⟨-, ⟨hF₁, rfl⟩, hx₁⟩⟩ ⟨-, ⟨F₂, rfl⟩, ⟨-, ⟨hF₂, rfl⟩, hx₂⟩⟩
      obtain ⟨F₃, hF₃, h₁₃, h₂₃⟩ := hs F₁ hF₁ F₂ hF₂
      exact mem_iUnion_of_mem F₃ (mem_iUnion_of_mem hF₃ (F₃.mul_mem (h₁₃ hx₁) (h₂₃ hx₂)))
    inv_mem' := by
      rintro x ⟨-, ⟨E, rfl⟩, ⟨-, ⟨hE, rfl⟩, hx⟩⟩
      exact mem_iUnion_of_mem E (mem_iUnion_of_mem hE (E.inv_mem hx))
    algebraMap_mem' := fun x =>
      mem_iUnion_of_mem F₀ (mem_iUnion_of_mem hF₀ (F₀.algebraMap_mem x)) }
state_before: case intro
F : Type u_2
inst✝² : Field F
E : Type u_1
inst✝¹ : Field E
inst✝ : Algebra F E
S : Set E
α x : E
s : Set (IntermediateField F E)
F₀ : IntermediateField F E
hF₀ : F₀ ∈ s
hs : DirectedOn (fun x x_1 => x ≤ x_1) s
hx : x ∈ sSup s
⊢ ∃ x_1, x_1 ∈ s ∧ x ∈ x_1

tactic: have key : sSup s ≤ F := sSup_le fun E1 hE1 => by
  refine' Set.subset_iUnion_of_subset E1 _
  intro x hx
  simpa [hE1] using hx
state_before: case intro
F✝ : Type u_2
inst✝² : Field F✝
E : Type u_1
inst✝¹ : Field E
inst✝ : Algebra F✝ E
S : Set E
α x : E
s : Set (IntermediateField F✝ E)
F₀ : IntermediateField F✝ E
hF₀ : F₀ ∈ s
hs : DirectedOn (fun x x_1 => x ≤ x_1) s
hx : x ∈ sSup s
F : IntermediateField F✝ E :=
  {
    toSubalgebra :=
      {
        toSubsemiring :=
          {
            toSubmonoid :=
              {
                toSubsemigroup :=
                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                    mul_mem' :=
                      (_ :
                        ∀ {x₁ x₂ : E},
                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
            add_mem' :=
              (_ :
                ∀ {x₁ x₂ : E},
                  x₁ ∈
                      {
                            toSubsemigroup :=
                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                mul_mem' :=
                                  (_ :
                                    ∀ {x₁ x₂ : E},
                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                          x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            one_mem' :=
                              (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier →
                    x₂ ∈
                        {
                              toSubsemigroup :=
                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                  mul_mem' :=
                                    (_ :
                                      ∀ {x₁ x₂ : E},
                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                              one_mem' :=
                                (_ :
                                  1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier →
                      x₁ + x₂ ∈
                        {
                              toSubsemigroup :=
                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                  mul_mem' :=
                                    (_ :
                                      ∀ {x₁ x₂ : E},
                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                              one_mem' :=
                                (_ :
                                  1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier),
            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
        algebraMap_mem' := (_ : ∀ (x : F✝), ↑(algebraMap F✝ E) x ∈ ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s), ↑i) },
    neg_mem' :=
      (_ :
        ∀ (x : E),
          x ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier →
            -x ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier),
    inv_mem' :=
      (_ :
        ∀ (x : E),
          x ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier →
            x⁻¹ ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier) }
⊢ ∃ x_1, x_1 ∈ s ∧ x ∈ x_1

tactic: obtain ⟨-, ⟨E, rfl⟩, -, ⟨hE, rfl⟩, hx⟩ := key hx
state_before: case intro
F✝ : Type u_2
inst✝² : Field F✝
E : Type u_1
inst✝¹ : Field E
inst✝ : Algebra F✝ E
S : Set E
α x : E
s : Set (IntermediateField F✝ E)
F₀ : IntermediateField F✝ E
hF₀ : F₀ ∈ s
hs : DirectedOn (fun x x_1 => x ≤ x_1) s
hx : x ∈ sSup s
F : IntermediateField F✝ E :=
  {
    toSubalgebra :=
      {
        toSubsemiring :=
          {
            toSubmonoid :=
              {
                toSubsemigroup :=
                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                    mul_mem' :=
                      (_ :
                        ∀ {x₁ x₂ : E},
                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
            add_mem' :=
              (_ :
                ∀ {x₁ x₂ : E},
                  x₁ ∈
                      {
                            toSubsemigroup :=
                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                mul_mem' :=
                                  (_ :
                                    ∀ {x₁ x₂ : E},
                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                          x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            one_mem' :=
                              (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier →
                    x₂ ∈
                        {
                              toSubsemigroup :=
                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                  mul_mem' :=
                                    (_ :
                                      ∀ {x₁ x₂ : E},
                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                              one_mem' :=
                                (_ :
                                  1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier →
                      x₁ + x₂ ∈
                        {
                              toSubsemigroup :=
                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                  mul_mem' :=
                                    (_ :
                                      ∀ {x₁ x₂ : E},
                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                              one_mem' :=
                                (_ :
                                  1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier),
            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
        algebraMap_mem' := (_ : ∀ (x : F✝), ↑(algebraMap F✝ E) x ∈ ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s), ↑i) },
    neg_mem' :=
      (_ :
        ∀ (x : E),
          x ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier →
            -x ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier),
    inv_mem' :=
      (_ :
        ∀ (x : E),
          x ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier →
            x⁻¹ ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier) }
key : sSup s ≤ F
⊢ ∃ x_1, x_1 ∈ s ∧ x ∈ x_1

tactic: exact ⟨E, hE, hx⟩
state_before: case intro.intro.intro.intro.intro.intro.intro
F✝ : Type u_2
inst✝² : Field F✝
E✝ : Type u_1
inst✝¹ : Field E✝
inst✝ : Algebra F✝ E✝
S : Set E✝
α x : E✝
s : Set (IntermediateField F✝ E✝)
F₀ : IntermediateField F✝ E✝
hF₀ : F₀ ∈ s
hs : DirectedOn (fun x x_1 => x ≤ x_1) s
hx✝ : x ∈ sSup s
F : IntermediateField F✝ E✝ :=
  {
    toSubalgebra :=
      {
        toSubsemiring :=
          {
            toSubmonoid :=
              {
                toSubsemigroup :=
                  { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                    mul_mem' :=
                      (_ :
                        ∀ {x₁ x₂ : E✝},
                          (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                            (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                              x₁ * x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                one_mem' := (_ : 1 ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
            add_mem' :=
              (_ :
                ∀ {x₁ x₂ : E✝},
                  x₁ ∈
                      {
                            toSubsemigroup :=
                              { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                                mul_mem' :=
                                  (_ :
                                    ∀ {x₁ x₂ : E✝},
                                      (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                        (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                          x₁ * x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                            one_mem' :=
                              (_ : 1 ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) }.toSubsemigroup.carrier →
                    x₂ ∈
                        {
                              toSubsemigroup :=
                                { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                                  mul_mem' :=
                                    (_ :
                                      ∀ {x₁ x₂ : E✝},
                                        (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                          (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                            x₁ * x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                              one_mem' :=
                                (_ : 1 ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) }.toSubsemigroup.carrier →
                      x₁ + x₂ ∈
                        {
                              toSubsemigroup :=
                                { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                                  mul_mem' :=
                                    (_ :
                                      ∀ {x₁ x₂ : E✝},
                                        (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                          (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                            x₁ * x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                              one_mem' :=
                                (_ : 1 ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) }.toSubsemigroup.carrier),
            zero_mem' := (_ : 0 ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
        algebraMap_mem' := (_ : ∀ (x : F✝), ↑(algebraMap F✝ E✝) x ∈ ⋃ (i : IntermediateField F✝ E✝) (_ : i ∈ s), ↑i) },
    neg_mem' :=
      (_ :
        ∀ (x : E✝),
          x ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E✝},
                                          (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                            (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                              x₁ * x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                                one_mem' := (_ : 1 ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E✝},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E✝},
                                                      (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                        (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                          x₁ * x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s),
                                                    ↑E) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E✝},
                                                        (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                          (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s),
                                                      ↑E) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E✝},
                                                        (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                          (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s),
                                                      ↑E) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E✝) x ∈
                                ⋃ (i : IntermediateField F✝ E✝) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier →
            -x ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E✝},
                                          (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                            (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                              x₁ * x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                                one_mem' := (_ : 1 ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E✝},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E✝},
                                                      (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                        (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                          x₁ * x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s),
                                                    ↑E) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E✝},
                                                        (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                          (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s),
                                                      ↑E) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E✝},
                                                        (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                          (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s),
                                                      ↑E) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E✝) x ∈
                                ⋃ (i : IntermediateField F✝ E✝) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier),
    inv_mem' :=
      (_ :
        ∀ (x : E✝),
          x ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E✝},
                                          (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                            (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                              x₁ * x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                                one_mem' := (_ : 1 ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E✝},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E✝},
                                                      (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                        (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                          x₁ * x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s),
                                                    ↑E) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E✝},
                                                        (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                          (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s),
                                                      ↑E) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E✝},
                                                        (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                          (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s),
                                                      ↑E) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E✝) x ∈
                                ⋃ (i : IntermediateField F✝ E✝) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier →
            x⁻¹ ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E✝},
                                          (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                            (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                              x₁ * x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                                one_mem' := (_ : 1 ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E✝},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E✝},
                                                      (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                        (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                          x₁ * x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s),
                                                    ↑E) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E✝},
                                                        (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                          (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s),
                                                      ↑E) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E✝},
                                                        (x₁ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                          (x₂ ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s),
                                                      ↑E) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E : IntermediateField F✝ E✝) (_ : E ∈ s), ↑E) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E✝) x ∈
                                ⋃ (i : IntermediateField F✝ E✝) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier) }
key : sSup s ≤ F
E : IntermediateField F✝ E✝
hE : E ∈ s
hx : x ∈ (fun h => ↑E) hE
⊢ ∃ x_1, x_1 ∈ s ∧ x ∈ x_1

tactic: rintro x₁ x₂ ⟨-, ⟨F₁, rfl⟩, ⟨-, ⟨hF₁, rfl⟩, hx₁⟩⟩ ⟨-, ⟨F₂, rfl⟩, ⟨-, ⟨hF₂, rfl⟩, hx₂⟩⟩
state_before: F : Type u_2
inst✝² : Field F
E : Type u_1
inst✝¹ : Field E
inst✝ : Algebra F E
S : Set E
α x : E
s : Set (IntermediateField F E)
F₀ : IntermediateField F E
hF₀ : F₀ ∈ s
hs : DirectedOn (fun x x_1 => x ≤ x_1) s
hx : x ∈ sSup s
⊢ ∀ {a b : E},
    a ∈
        {
              toSubsemigroup :=
                { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
                  mul_mem' :=
                    (_ :
                      ∀ {x₁ x₂ : E},
                        (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                          (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                            x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
              one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier →
      b ∈
          {
                toSubsemigroup :=
                  { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
                    mul_mem' :=
                      (_ :
                        ∀ {x₁ x₂ : E},
                          (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                            (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier →
        a + b ∈
          {
                toSubsemigroup :=
                  { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
                    mul_mem' :=
                      (_ :
                        ∀ {x₁ x₂ : E},
                          (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                            (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier

tactic: obtain ⟨F₃, hF₃, h₁₃, h₂₃⟩ := hs F₁ hF₁ F₂ hF₂
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
F : Type u_2
inst✝² : Field F
E : Type u_1
inst✝¹ : Field E
inst✝ : Algebra F E
S : Set E
α x : E
s : Set (IntermediateField F E)
F₀ : IntermediateField F E
hF₀ : F₀ ∈ s
hs : DirectedOn (fun x x_1 => x ≤ x_1) s
hx : x ∈ sSup s
x₁ x₂ : E
F₁ : IntermediateField F E
hF₁ : F₁ ∈ s
hx₁ : x₁ ∈ (fun h => ↑F₁) hF₁
F₂ : IntermediateField F E
hF₂ : F₂ ∈ s
hx₂ : x₂ ∈ (fun h => ↑F₂) hF₂
⊢ x₁ + x₂ ∈
    {
          toSubsemigroup :=
            { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
              mul_mem' :=
                (_ :
                  ∀ {x₁ x₂ : E},
                    (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                      (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                        x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
          one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier

tactic: exact mem_iUnion_of_mem F₃ (mem_iUnion_of_mem hF₃ (F₃.add_mem (h₁₃ hx₁) (h₂₃ hx₂)))
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
F : Type u_2
inst✝² : Field F
E : Type u_1
inst✝¹ : Field E
inst✝ : Algebra F E
S : Set E
α x : E
s : Set (IntermediateField F E)
F₀ : IntermediateField F E
hF₀ : F₀ ∈ s
hs : DirectedOn (fun x x_1 => x ≤ x_1) s
hx : x ∈ sSup s
x₁ x₂ : E
F₁ : IntermediateField F E
hF₁ : F₁ ∈ s
hx₁ : x₁ ∈ (fun h => ↑F₁) hF₁
F₂ : IntermediateField F E
hF₂ : F₂ ∈ s
hx₂ : x₂ ∈ (fun h => ↑F₂) hF₂
F₃ : IntermediateField F E
hF₃ : F₃ ∈ s
h₁₃ : F₁ ≤ F₃
h₂₃ : F₂ ≤ F₃
⊢ x₁ + x₂ ∈
    {
          toSubsemigroup :=
            { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
              mul_mem' :=
                (_ :
                  ∀ {x₁ x₂ : E},
                    (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                      (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                        x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
          one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier

tactic: rintro x ⟨-, ⟨E, rfl⟩, ⟨-, ⟨hE, rfl⟩, hx⟩⟩
state_before: F : Type u_2
inst✝² : Field F
E : Type u_1
inst✝¹ : Field E
inst✝ : Algebra F E
S : Set E
α x : E
s : Set (IntermediateField F E)
F₀ : IntermediateField F E
hF₀ : F₀ ∈ s
hs : DirectedOn (fun x x_1 => x ≤ x_1) s
hx : x ∈ sSup s
⊢ ∀ (x : E),
    x ∈
        {
                  toSubsemiring :=
                    {
                      toSubmonoid :=
                        {
                          toSubsemigroup :=
                            { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
                              mul_mem' :=
                                (_ :
                                  ∀ {x₁ x₂ : E},
                                    (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                      (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                        x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                          one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                      add_mem' :=
                        (_ :
                          ∀ {x₁ x₂ : E},
                            x₁ ∈
                                {
                                      toSubsemigroup :=
                                        { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
                                          mul_mem' :=
                                            (_ :
                                              ∀ {x₁ x₂ : E},
                                                (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                  (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                    x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                                      one_mem' :=
                                        (_ :
                                          1 ∈
                                            ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s),
                                              ↑E_1) }.toSubsemigroup.carrier →
                              x₂ ∈
                                  {
                                        toSubsemigroup :=
                                          { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
                                            mul_mem' :=
                                              (_ :
                                                ∀ {x₁ x₂ : E},
                                                  (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                    (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                      x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                                        one_mem' :=
                                          (_ :
                                            1 ∈
                                              ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s),
                                                ↑E_1) }.toSubsemigroup.carrier →
                                x₁ + x₂ ∈
                                  {
                                        toSubsemigroup :=
                                          { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
                                            mul_mem' :=
                                              (_ :
                                                ∀ {x₁ x₂ : E},
                                                  (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                    (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                      x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                                        one_mem' :=
                                          (_ :
                                            1 ∈
                                              ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s),
                                                ↑E_1) }.toSubsemigroup.carrier),
                      zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                  algebraMap_mem' :=
                    (_ :
                      ∀ (x : F),
                        ↑(algebraMap F E) x ∈
                          ⋃ (i : IntermediateField F E) (_ : i ∈ s),
                            ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier →
      -x ∈
        {
                  toSubsemiring :=
                    {
                      toSubmonoid :=
                        {
                          toSubsemigroup :=
                            { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
                              mul_mem' :=
                                (_ :
                                  ∀ {x₁ x₂ : E},
                                    (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                      (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                        x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                          one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                      add_mem' :=
                        (_ :
                          ∀ {x₁ x₂ : E},
                            x₁ ∈
                                {
                                      toSubsemigroup :=
                                        { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
                                          mul_mem' :=
                                            (_ :
                                              ∀ {x₁ x₂ : E},
                                                (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                  (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                    x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                                      one_mem' :=
                                        (_ :
                                          1 ∈
                                            ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s),
                                              ↑E_1) }.toSubsemigroup.carrier →
                              x₂ ∈
                                  {
                                        toSubsemigroup :=
                                          { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
                                            mul_mem' :=
                                              (_ :
                                                ∀ {x₁ x₂ : E},
                                                  (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                    (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                      x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                                        one_mem' :=
                                          (_ :
                                            1 ∈
                                              ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s),
                                                ↑E_1) }.toSubsemigroup.carrier →
                                x₁ + x₂ ∈
                                  {
                                        toSubsemigroup :=
                                          { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
                                            mul_mem' :=
                                              (_ :
                                                ∀ {x₁ x₂ : E},
                                                  (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                    (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                      x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                                        one_mem' :=
                                          (_ :
                                            1 ∈
                                              ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s),
                                                ↑E_1) }.toSubsemigroup.carrier),
                      zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                  algebraMap_mem' :=
                    (_ :
                      ∀ (x : F),
                        ↑(algebraMap F E) x ∈
                          ⋃ (i : IntermediateField F E) (_ : i ∈ s),
                            ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier

tactic: exact mem_iUnion_of_mem E (mem_iUnion_of_mem hE (E.neg_mem hx))
state_before: case intro.intro.intro.intro.intro.intro
F : Type u_2
inst✝² : Field F
E✝ : Type u_1
inst✝¹ : Field E✝
inst✝ : Algebra F E✝
S : Set E✝
α x✝ : E✝
s : Set (IntermediateField F E✝)
F₀ : IntermediateField F E✝
hF₀ : F₀ ∈ s
hs : DirectedOn (fun x x_1 => x ≤ x_1) s
hx✝ : x✝ ∈ sSup s
x : E✝
E : IntermediateField F E✝
hE : E ∈ s
hx : x ∈ (fun h => ↑E) hE
⊢ -x ∈
    {
              toSubsemiring :=
                {
                  toSubmonoid :=
                    {
                      toSubsemigroup :=
                        { carrier := ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E,
                          mul_mem' :=
                            (_ :
                              ∀ {x₁ x₂ : E✝},
                                (x₁ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) →
                                  (x₂ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) →
                                    x₁ * x₂ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) },
                      one_mem' := (_ : 1 ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) },
                  add_mem' :=
                    (_ :
                      ∀ {x₁ x₂ : E✝},
                        x₁ ∈
                            {
                                  toSubsemigroup :=
                                    { carrier := ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E,
                                      mul_mem' :=
                                        (_ :
                                          ∀ {x₁ x₂ : E✝},
                                            (x₁ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) →
                                              (x₂ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) →
                                                x₁ * x₂ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) },
                                  one_mem' :=
                                    (_ : 1 ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) }.toSubsemigroup.carrier →
                          x₂ ∈
                              {
                                    toSubsemigroup :=
                                      { carrier := ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E,
                                        mul_mem' :=
                                          (_ :
                                            ∀ {x₁ x₂ : E✝},
                                              (x₁ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) →
                                                (x₂ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) →
                                                  x₁ * x₂ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) },
                                    one_mem' :=
                                      (_ :
                                        1 ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) }.toSubsemigroup.carrier →
                            x₁ + x₂ ∈
                              {
                                    toSubsemigroup :=
                                      { carrier := ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E,
                                        mul_mem' :=
                                          (_ :
                                            ∀ {x₁ x₂ : E✝},
                                              (x₁ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) →
                                                (x₂ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) →
                                                  x₁ * x₂ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) },
                                    one_mem' :=
                                      (_ :
                                        1 ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) }.toSubsemigroup.carrier),
                  zero_mem' := (_ : 0 ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) },
              algebraMap_mem' :=
                (_ :
                  ∀ (x : F),
                    ↑(algebraMap F E✝) x ∈
                      ⋃ (i : IntermediateField F E✝) (_ : i ∈ s), ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier

tactic: rintro x₁ x₂ ⟨-, ⟨F₁, rfl⟩, ⟨-, ⟨hF₁, rfl⟩, hx₁⟩⟩ ⟨-, ⟨F₂, rfl⟩, ⟨-, ⟨hF₂, rfl⟩, hx₂⟩⟩
state_before: F : Type u_2
inst✝² : Field F
E : Type u_1
inst✝¹ : Field E
inst✝ : Algebra F E
S : Set E
α x : E
s : Set (IntermediateField F E)
F₀ : IntermediateField F E
hF₀ : F₀ ∈ s
hs : DirectedOn (fun x x_1 => x ≤ x_1) s
hx : x ∈ sSup s
⊢ ∀ {a b : E},
    (a ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
      (b ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
        a * b ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1

tactic: obtain ⟨F₃, hF₃, h₁₃, h₂₃⟩ := hs F₁ hF₁ F₂ hF₂
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
F : Type u_2
inst✝² : Field F
E : Type u_1
inst✝¹ : Field E
inst✝ : Algebra F E
S : Set E
α x : E
s : Set (IntermediateField F E)
F₀ : IntermediateField F E
hF₀ : F₀ ∈ s
hs : DirectedOn (fun x x_1 => x ≤ x_1) s
hx : x ∈ sSup s
x₁ x₂ : E
F₁ : IntermediateField F E
hF₁ : F₁ ∈ s
hx₁ : x₁ ∈ (fun h => ↑F₁) hF₁
F₂ : IntermediateField F E
hF₂ : F₂ ∈ s
hx₂ : x₂ ∈ (fun h => ↑F₂) hF₂
⊢ x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1

tactic: exact mem_iUnion_of_mem F₃ (mem_iUnion_of_mem hF₃ (F₃.mul_mem (h₁₃ hx₁) (h₂₃ hx₂)))
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro.intro
F : Type u_2
inst✝² : Field F
E : Type u_1
inst✝¹ : Field E
inst✝ : Algebra F E
S : Set E
α x : E
s : Set (IntermediateField F E)
F₀ : IntermediateField F E
hF₀ : F₀ ∈ s
hs : DirectedOn (fun x x_1 => x ≤ x_1) s
hx : x ∈ sSup s
x₁ x₂ : E
F₁ : IntermediateField F E
hF₁ : F₁ ∈ s
hx₁ : x₁ ∈ (fun h => ↑F₁) hF₁
F₂ : IntermediateField F E
hF₂ : F₂ ∈ s
hx₂ : x₂ ∈ (fun h => ↑F₂) hF₂
F₃ : IntermediateField F E
hF₃ : F₃ ∈ s
h₁₃ : F₁ ≤ F₃
h₂₃ : F₂ ≤ F₃
⊢ x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1

tactic: rintro x ⟨-, ⟨E, rfl⟩, ⟨-, ⟨hE, rfl⟩, hx⟩⟩
state_before: F : Type u_2
inst✝² : Field F
E : Type u_1
inst✝¹ : Field E
inst✝ : Algebra F E
S : Set E
α x : E
s : Set (IntermediateField F E)
F₀ : IntermediateField F E
hF₀ : F₀ ∈ s
hs : DirectedOn (fun x x_1 => x ≤ x_1) s
hx : x ∈ sSup s
⊢ ∀ (x : E),
    x ∈
        {
                  toSubsemiring :=
                    {
                      toSubmonoid :=
                        {
                          toSubsemigroup :=
                            { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
                              mul_mem' :=
                                (_ :
                                  ∀ {x₁ x₂ : E},
                                    (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                      (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                        x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                          one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                      add_mem' :=
                        (_ :
                          ∀ {x₁ x₂ : E},
                            x₁ ∈
                                {
                                      toSubsemigroup :=
                                        { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
                                          mul_mem' :=
                                            (_ :
                                              ∀ {x₁ x₂ : E},
                                                (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                  (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                    x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                                      one_mem' :=
                                        (_ :
                                          1 ∈
                                            ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s),
                                              ↑E_1) }.toSubsemigroup.carrier →
                              x₂ ∈
                                  {
                                        toSubsemigroup :=
                                          { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
                                            mul_mem' :=
                                              (_ :
                                                ∀ {x₁ x₂ : E},
                                                  (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                    (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                      x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                                        one_mem' :=
                                          (_ :
                                            1 ∈
                                              ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s),
                                                ↑E_1) }.toSubsemigroup.carrier →
                                x₁ + x₂ ∈
                                  {
                                        toSubsemigroup :=
                                          { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
                                            mul_mem' :=
                                              (_ :
                                                ∀ {x₁ x₂ : E},
                                                  (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                    (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                      x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                                        one_mem' :=
                                          (_ :
                                            1 ∈
                                              ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s),
                                                ↑E_1) }.toSubsemigroup.carrier),
                      zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                  algebraMap_mem' :=
                    (_ :
                      ∀ (x : F),
                        ↑(algebraMap F E) x ∈
                          ⋃ (i : IntermediateField F E) (_ : i ∈ s),
                            ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier →
      x⁻¹ ∈
        {
                  toSubsemiring :=
                    {
                      toSubmonoid :=
                        {
                          toSubsemigroup :=
                            { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
                              mul_mem' :=
                                (_ :
                                  ∀ {x₁ x₂ : E},
                                    (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                      (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                        x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                          one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                      add_mem' :=
                        (_ :
                          ∀ {x₁ x₂ : E},
                            x₁ ∈
                                {
                                      toSubsemigroup :=
                                        { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
                                          mul_mem' :=
                                            (_ :
                                              ∀ {x₁ x₂ : E},
                                                (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                  (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                    x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                                      one_mem' :=
                                        (_ :
                                          1 ∈
                                            ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s),
                                              ↑E_1) }.toSubsemigroup.carrier →
                              x₂ ∈
                                  {
                                        toSubsemigroup :=
                                          { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
                                            mul_mem' :=
                                              (_ :
                                                ∀ {x₁ x₂ : E},
                                                  (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                    (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                      x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                                        one_mem' :=
                                          (_ :
                                            1 ∈
                                              ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s),
                                                ↑E_1) }.toSubsemigroup.carrier →
                                x₁ + x₂ ∈
                                  {
                                        toSubsemigroup :=
                                          { carrier := ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1,
                                            mul_mem' :=
                                              (_ :
                                                ∀ {x₁ x₂ : E},
                                                  (x₁ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                    (x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) →
                                                      x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                                        one_mem' :=
                                          (_ :
                                            1 ∈
                                              ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s),
                                                ↑E_1) }.toSubsemigroup.carrier),
                      zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F E) (_ : E_1 ∈ s), ↑E_1) },
                  algebraMap_mem' :=
                    (_ :
                      ∀ (x : F),
                        ↑(algebraMap F E) x ∈
                          ⋃ (i : IntermediateField F E) (_ : i ∈ s),
                            ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier

tactic: exact mem_iUnion_of_mem E (mem_iUnion_of_mem hE (E.inv_mem hx))
state_before: case intro.intro.intro.intro.intro.intro
F : Type u_2
inst✝² : Field F
E✝ : Type u_1
inst✝¹ : Field E✝
inst✝ : Algebra F E✝
S : Set E✝
α x✝ : E✝
s : Set (IntermediateField F E✝)
F₀ : IntermediateField F E✝
hF₀ : F₀ ∈ s
hs : DirectedOn (fun x x_1 => x ≤ x_1) s
hx✝ : x✝ ∈ sSup s
x : E✝
E : IntermediateField F E✝
hE : E ∈ s
hx : x ∈ (fun h => ↑E) hE
⊢ x⁻¹ ∈
    {
              toSubsemiring :=
                {
                  toSubmonoid :=
                    {
                      toSubsemigroup :=
                        { carrier := ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E,
                          mul_mem' :=
                            (_ :
                              ∀ {x₁ x₂ : E✝},
                                (x₁ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) →
                                  (x₂ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) →
                                    x₁ * x₂ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) },
                      one_mem' := (_ : 1 ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) },
                  add_mem' :=
                    (_ :
                      ∀ {x₁ x₂ : E✝},
                        x₁ ∈
                            {
                                  toSubsemigroup :=
                                    { carrier := ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E,
                                      mul_mem' :=
                                        (_ :
                                          ∀ {x₁ x₂ : E✝},
                                            (x₁ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) →
                                              (x₂ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) →
                                                x₁ * x₂ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) },
                                  one_mem' :=
                                    (_ : 1 ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) }.toSubsemigroup.carrier →
                          x₂ ∈
                              {
                                    toSubsemigroup :=
                                      { carrier := ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E,
                                        mul_mem' :=
                                          (_ :
                                            ∀ {x₁ x₂ : E✝},
                                              (x₁ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) →
                                                (x₂ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) →
                                                  x₁ * x₂ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) },
                                    one_mem' :=
                                      (_ :
                                        1 ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) }.toSubsemigroup.carrier →
                            x₁ + x₂ ∈
                              {
                                    toSubsemigroup :=
                                      { carrier := ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E,
                                        mul_mem' :=
                                          (_ :
                                            ∀ {x₁ x₂ : E✝},
                                              (x₁ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) →
                                                (x₂ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) →
                                                  x₁ * x₂ ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) },
                                    one_mem' :=
                                      (_ :
                                        1 ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) }.toSubsemigroup.carrier),
                  zero_mem' := (_ : 0 ∈ ⋃ (E : IntermediateField F E✝) (_ : E ∈ s), ↑E) },
              algebraMap_mem' :=
                (_ :
                  ∀ (x : F),
                    ↑(algebraMap F E✝) x ∈
                      ⋃ (i : IntermediateField F E✝) (_ : i ∈ s), ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier

tactic: refine' Set.subset_iUnion_of_subset E1 _
state_before: F✝ : Type u_2
inst✝² : Field F✝
E : Type u_1
inst✝¹ : Field E
inst✝ : Algebra F✝ E
S : Set E
α x : E
s : Set (IntermediateField F✝ E)
F₀ : IntermediateField F✝ E
hF₀ : F₀ ∈ s
hs : DirectedOn (fun x x_1 => x ≤ x_1) s
hx : x ∈ sSup s
F : IntermediateField F✝ E :=
  {
    toSubalgebra :=
      {
        toSubsemiring :=
          {
            toSubmonoid :=
              {
                toSubsemigroup :=
                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                    mul_mem' :=
                      (_ :
                        ∀ {x₁ x₂ : E},
                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
            add_mem' :=
              (_ :
                ∀ {x₁ x₂ : E},
                  x₁ ∈
                      {
                            toSubsemigroup :=
                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                mul_mem' :=
                                  (_ :
                                    ∀ {x₁ x₂ : E},
                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                          x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            one_mem' :=
                              (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier →
                    x₂ ∈
                        {
                              toSubsemigroup :=
                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                  mul_mem' :=
                                    (_ :
                                      ∀ {x₁ x₂ : E},
                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                              one_mem' :=
                                (_ :
                                  1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier →
                      x₁ + x₂ ∈
                        {
                              toSubsemigroup :=
                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                  mul_mem' :=
                                    (_ :
                                      ∀ {x₁ x₂ : E},
                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                              one_mem' :=
                                (_ :
                                  1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier),
            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
        algebraMap_mem' := (_ : ∀ (x : F✝), ↑(algebraMap F✝ E) x ∈ ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s), ↑i) },
    neg_mem' :=
      (_ :
        ∀ (x : E),
          x ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier →
            -x ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier),
    inv_mem' :=
      (_ :
        ∀ (x : E),
          x ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier →
            x⁻¹ ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier) }
E1 : IntermediateField F✝ E
hE1 : E1 ∈ s
⊢ E1 ≤ F

tactic: intro x hx
state_before: F✝ : Type u_2
inst✝² : Field F✝
E : Type u_1
inst✝¹ : Field E
inst✝ : Algebra F✝ E
S : Set E
α x : E
s : Set (IntermediateField F✝ E)
F₀ : IntermediateField F✝ E
hF₀ : F₀ ∈ s
hs : DirectedOn (fun x x_1 => x ≤ x_1) s
hx : x ∈ sSup s
F : IntermediateField F✝ E :=
  {
    toSubalgebra :=
      {
        toSubsemiring :=
          {
            toSubmonoid :=
              {
                toSubsemigroup :=
                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                    mul_mem' :=
                      (_ :
                        ∀ {x₁ x₂ : E},
                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
            add_mem' :=
              (_ :
                ∀ {x₁ x₂ : E},
                  x₁ ∈
                      {
                            toSubsemigroup :=
                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                mul_mem' :=
                                  (_ :
                                    ∀ {x₁ x₂ : E},
                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                          x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            one_mem' :=
                              (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier →
                    x₂ ∈
                        {
                              toSubsemigroup :=
                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                  mul_mem' :=
                                    (_ :
                                      ∀ {x₁ x₂ : E},
                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                              one_mem' :=
                                (_ :
                                  1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier →
                      x₁ + x₂ ∈
                        {
                              toSubsemigroup :=
                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                  mul_mem' :=
                                    (_ :
                                      ∀ {x₁ x₂ : E},
                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                              one_mem' :=
                                (_ :
                                  1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier),
            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
        algebraMap_mem' := (_ : ∀ (x : F✝), ↑(algebraMap F✝ E) x ∈ ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s), ↑i) },
    neg_mem' :=
      (_ :
        ∀ (x : E),
          x ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier →
            -x ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier),
    inv_mem' :=
      (_ :
        ∀ (x : E),
          x ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier →
            x⁻¹ ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier) }
E1 : IntermediateField F✝ E
hE1 : E1 ∈ s
⊢ ↑E1 ⊆ ⋃ (_ : E1 ∈ s), ↑E1

tactic: simpa [hE1] using hx
state_before: F✝ : Type u_2
inst✝² : Field F✝
E : Type u_1
inst✝¹ : Field E
inst✝ : Algebra F✝ E
S : Set E
α x✝ : E
s : Set (IntermediateField F✝ E)
F₀ : IntermediateField F✝ E
hF₀ : F₀ ∈ s
hs : DirectedOn (fun x x_1 => x ≤ x_1) s
hx✝ : x✝ ∈ sSup s
F : IntermediateField F✝ E :=
  {
    toSubalgebra :=
      {
        toSubsemiring :=
          {
            toSubmonoid :=
              {
                toSubsemigroup :=
                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                    mul_mem' :=
                      (_ :
                        ∀ {x₁ x₂ : E},
                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
            add_mem' :=
              (_ :
                ∀ {x₁ x₂ : E},
                  x₁ ∈
                      {
                            toSubsemigroup :=
                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                mul_mem' :=
                                  (_ :
                                    ∀ {x₁ x₂ : E},
                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                          x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            one_mem' :=
                              (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier →
                    x₂ ∈
                        {
                              toSubsemigroup :=
                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                  mul_mem' :=
                                    (_ :
                                      ∀ {x₁ x₂ : E},
                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                              one_mem' :=
                                (_ :
                                  1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier →
                      x₁ + x₂ ∈
                        {
                              toSubsemigroup :=
                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                  mul_mem' :=
                                    (_ :
                                      ∀ {x₁ x₂ : E},
                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                              one_mem' :=
                                (_ :
                                  1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) }.toSubsemigroup.carrier),
            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
        algebraMap_mem' := (_ : ∀ (x : F✝), ↑(algebraMap F✝ E) x ∈ ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s), ↑i) },
    neg_mem' :=
      (_ :
        ∀ (x : E),
          x ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier →
            -x ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier),
    inv_mem' :=
      (_ :
        ∀ (x : E),
          x ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier →
            x⁻¹ ∈
              {
                        toSubsemiring :=
                          {
                            toSubmonoid :=
                              {
                                toSubsemigroup :=
                                  { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                    mul_mem' :=
                                      (_ :
                                        ∀ {x₁ x₂ : E},
                                          (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                            (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                              x₁ * x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                one_mem' := (_ : 1 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                            add_mem' :=
                              (_ :
                                ∀ {x₁ x₂ : E},
                                  x₁ ∈
                                      {
                                            toSubsemigroup :=
                                              { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                mul_mem' :=
                                                  (_ :
                                                    ∀ {x₁ x₂ : E},
                                                      (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                        (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          x₁ * x₂ ∈
                                                            ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                            one_mem' :=
                                              (_ :
                                                1 ∈
                                                  ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                    ↑E_1) }.toSubsemigroup.carrier →
                                    x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier →
                                      x₁ + x₂ ∈
                                        {
                                              toSubsemigroup :=
                                                { carrier := ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1,
                                                  mul_mem' :=
                                                    (_ :
                                                      ∀ {x₁ x₂ : E},
                                                        (x₁ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                          (x₂ ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) →
                                                            x₁ * x₂ ∈
                                                              ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                                              one_mem' :=
                                                (_ :
                                                  1 ∈
                                                    ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s),
                                                      ↑E_1) }.toSubsemigroup.carrier),
                            zero_mem' := (_ : 0 ∈ ⋃ (E_1 : IntermediateField F✝ E) (_ : E_1 ∈ s), ↑E_1) },
                        algebraMap_mem' :=
                          (_ :
                            ∀ (x : F✝),
                              ↑(algebraMap F✝ E) x ∈
                                ⋃ (i : IntermediateField F✝ E) (_ : i ∈ s),
                                  ↑i) }.toSubsemiring.toSubmonoid.toSubsemigroup.carrier) }
E1 : IntermediateField F✝ E
hE1 : E1 ∈ s
x : E
hx : x ∈ ↑E1
⊢ x ∈ ⋃ (_ : E1 ∈ s), ↑E1