Theorem: Subspace.biUnion_ne_univ_of_ne_top
File: Mathlib/GroupTheory/CosetCover.lean

Proof steps:
state_before: k : Type u_1
E : Type u_2
ι : Type u_3
inst✝³ : DivisionRing k
inst✝² : Infinite k
inst✝¹ : AddCommGroup E
inst✝ : Module k E
s : Finset (Subspace k E)
hs : ∀ p ∈ s, p ≠ ⊤
⊢ ⋃ p ∈ s, ↑p ≠ Set.univ
state_after: k : Type u_1
E : Type u_2
ι : Type u_3
inst✝³ : DivisionRing k
inst✝² : Infinite k
inst✝¹ : AddCommGroup E
inst✝ : Module k E
s : Finset (Subspace k E)
hs : ∀ p ∈ s, p ≠ ⊤
hcovers : ⋃ p ∈ s, ↑p = Set.univ
⊢ False
tactic: intro hcovers
state_before: k : Type u_1
E : Type u_2
ι : Type u_3
inst✝³ : DivisionRing k
inst✝² : Infinite k
inst✝¹ : AddCommGroup E
inst✝ : Module k E
s : Finset (Subspace k E)
hs : ∀ p ∈ s, p ≠ ⊤
hcovers : ⋃ p ∈ s, ↑p = Set.univ
⊢ False
state_after: k : Type u_1
E : Type u_2
ι : Type u_3
inst✝³ : DivisionRing k
inst✝² : Infinite k
inst✝¹ : AddCommGroup E
inst✝ : Module k E
s : Finset (Subspace k E)
hs : ∀ p ∈ s, p ≠ ⊤
hcovers : ⋃ p ∈ s, ↑p = Set.univ
p : Subspace k E
hp : p ∈ s
hfi : (Submodule.toAddSubgroup p).FiniteIndex
⊢ False
tactic: have ⟨p, hp, hfi⟩ := Submodule.exists_finiteIndex_of_cover hcovers
state_before: k : Type u_1
E : Type u_2
ι : Type u_3
inst✝³ : DivisionRing k
inst✝² : Infinite k
inst✝¹ : AddCommGroup E
inst✝ : Module k E
s : Finset (Subspace k E)
hs : ∀ p ∈ s, p ≠ ⊤
hcovers : ⋃ p ∈ s, ↑p = Set.univ
p : Subspace k E
hp : p ∈ s
hfi : (Submodule.toAddSubgroup p).FiniteIndex
⊢ False
state_after: k : Type u_1
E : Type u_2
ι : Type u_3
inst✝³ : DivisionRing k
inst✝² : Infinite k
inst✝¹ : AddCommGroup E
inst✝ : Module k E
s : Finset (Subspace k E)
hs : ∀ p ∈ s, p ≠ ⊤
hcovers : ⋃ p ∈ s, ↑p = Set.univ
p : Subspace k E
hp : p ∈ s
hfi : (Submodule.toAddSubgroup p).FiniteIndex
this : Finite (E ⧸ p)
⊢ False
tactic: have : Finite (E ⧸ p) := AddSubgroup.finite_quotient_of_finiteIndex _
state_before: k : Type u_1
E : Type u_2
ι : Type u_3
inst✝³ : DivisionRing k
inst✝² : Infinite k
inst✝¹ : AddCommGroup E
inst✝ : Module k E
s : Finset (Subspace k E)
hs : ∀ p ∈ s, p ≠ ⊤
hcovers : ⋃ p ∈ s, ↑p = Set.univ
p : Subspace k E
hp : p ∈ s
hfi : (Submodule.toAddSubgroup p).FiniteIndex
this : Finite (E ⧸ p)
⊢ False
state_after: k : Type u_1
E : Type u_2
ι : Type u_3
inst✝³ : DivisionRing k
inst✝² : Infinite k
inst✝¹ : AddCommGroup E
inst✝ : Module k E
s : Finset (Subspace k E)
hs : ∀ p ∈ s, p ≠ ⊤
hcovers : ⋃ p ∈ s, ↑p = Set.univ
p : Subspace k E
hp : p ∈ s
hfi : (Submodule.toAddSubgroup p).FiniteIndex
this✝ : Finite (E ⧸ p)
this : Nontrivial (E ⧸ p)
⊢ False
tactic: have : Nontrivial (E ⧸ p) := Submodule.Quotient.nontrivial_of_lt_top p (hs p hp).lt_top
state_before: k : Type u_1
E : Type u_2
ι : Type u_3
inst✝³ : DivisionRing k
inst✝² : Infinite k
inst✝¹ : AddCommGroup E
inst✝ : Module k E
s : Finset (Subspace k E)
hs : ∀ p ∈ s, p ≠ ⊤
hcovers : ⋃ p ∈ s, ↑p = Set.univ
p : Subspace k E
hp : p ∈ s
hfi : (Submodule.toAddSubgroup p).FiniteIndex
this✝ : Finite (E ⧸ p)
this : Nontrivial (E ⧸ p)
⊢ False
state_after: k : Type u_1
E : Type u_2
ι : Type u_3
inst✝³ : DivisionRing k
inst✝² : Infinite k
inst✝¹ : AddCommGroup E
inst✝ : Module k E
s : Finset (Subspace k E)
hs : ∀ p ∈ s, p ≠ ⊤
hcovers : ⋃ p ∈ s, ↑p = Set.univ
p : Subspace k E
hp : p ∈ s
hfi : (Submodule.toAddSubgroup p).FiniteIndex
this✝¹ : Finite (E ⧸ p)
this✝ : Nontrivial (E ⧸ p)
this : Infinite (E ⧸ p)
⊢ False
tactic: have : Infinite (E ⧸ p) := Module.Free.infinite k (E ⧸ p)
state_before: k : Type u_1
E : Type u_2
ι : Type u_3
inst✝³ : DivisionRing k
inst✝² : Infinite k
inst✝¹ : AddCommGroup E
inst✝ : Module k E
s : Finset (Subspace k E)
hs : ∀ p ∈ s, p ≠ ⊤
hcovers : ⋃ p ∈ s, ↑p = Set.univ
p : Subspace k E
hp : p ∈ s
hfi : (Submodule.toAddSubgroup p).FiniteIndex
this✝¹ : Finite (E ⧸ p)
this✝ : Nontrivial (E ⧸ p)
this : Infinite (E ⧸ p)
⊢ False
state_after: no goals
tactic: exact not_finite (E ⧸ p)