|
7 | 7 |
|
8 | 8 | public import Mathlib.LinearAlgebra.ExteriorPower.Basic |
9 | 9 | public import Mathlib.LinearAlgebra.ExteriorPower.Pairing |
10 | | -public import Mathlib.Order.Extension.Well |
11 | 10 | public import Mathlib.RingTheory.Finiteness.Subalgebra |
12 | 11 | public import Mathlib.LinearAlgebra.FreeModule.StrongRankCondition |
13 | 12 |
|
@@ -149,19 +148,20 @@ lemma basis_repr {I : Type*} [LinearOrder I] (b : Basis I R M) (s : powersetCard |
149 | 148 | /-! ### Freeness and dimension of `⋀[R]^n M`. -/ |
150 | 149 |
|
151 | 150 | /-- If `M` is a free module, then so is its `n`th exterior power. -/ |
152 | | -instance instFree [Module.Free R M] : Module.Free R (⋀[R]^n M) := |
| 151 | +instance instFree [Module.Free R M] : Module.Free R (⋀[R]^n M) := by |
| 152 | + classical |
153 | 153 | have ⟨I, b⟩ := Module.Free.exists_basis R M |
154 | | - letI : LinearOrder I := IsWellFounded.wellOrderExtension emptyWf.rel |
155 | | - Module.Free.of_basis (b.exteriorPower n) |
| 154 | + letI : LinearOrder I := linearOrderOfSTO WellOrderingRel |
| 155 | + exact Module.Free.of_basis (b.exteriorPower n) |
156 | 156 |
|
157 | 157 | variable [Nontrivial R] |
158 | 158 |
|
159 | 159 | /-- If `R` is non-trivial and `M` is finite free of rank `r`, then |
160 | 160 | the `n`th exterior power of `M` is of finrank `Nat.choose r n`. -/ |
161 | 161 | lemma finrank_eq [Module.Free R M] [Module.Finite R M] : |
162 | 162 | Module.finrank R (⋀[R]^n M) = Nat.choose (Module.finrank R M) n := by |
163 | | - letI : LinearOrder (Module.Free.ChooseBasisIndex R M) := |
164 | | - IsWellFounded.wellOrderExtension emptyWf.rel |
| 163 | + classical |
| 164 | + let : LinearOrder (Module.Free.ChooseBasisIndex R M) := linearOrderOfSTO WellOrderingRel |
165 | 165 | let B := (Module.Free.chooseBasis R M).exteriorPower n |
166 | 166 | rw [Module.finrank_eq_card_basis (Module.Free.chooseBasis R M), Module.finrank_eq_card_basis B, |
167 | 167 | Fintype.card_eq_nat_card, powersetCard.card, Fintype.card_eq_nat_card] |
|
0 commit comments