This repository was archived by the owner on Jul 24, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change
1
+ /-
2
+ Copyright (c) 2021 Eric Wieser. All rights reserved.
3
+ Released under Apache 2.0 license as described in the file LICENSE.
4
+ Authors: Eric Wieser
5
+ -/
6
+ import linear_algebra.basis
7
+ import algebra.free_algebra
8
+ import linear_algebra.finsupp_vector_space
9
+ /-!
10
+ # Linear algebra properties of `free_algebra R X`
11
+
12
+ This file provides a `free_monoid X` basis on the `free_algebra R X`, and uses it to show the
13
+ dimension of the algebra is the cardinality of `list X`
14
+ -/
15
+ namespace free_algebra
16
+
17
+ lemma is_basis_free_monoid (R : Type *) (X : Type *) [comm_ring R] :
18
+ is_basis R (λ x : free_monoid X, free_monoid.lift (ι R) x) :=
19
+ begin
20
+ convert (equiv_monoid_algebra_free_monoid.symm.to_linear_equiv : _ ≃ₗ[R] free_algebra R X)
21
+ .is_basis finsupp.is_basis_single_one,
22
+ ext x,
23
+ rw ←one_smul R (free_monoid.lift _ _),
24
+ exact (monoid_algebra.lift_single _ _ _).symm,
25
+ end
26
+
27
+ lemma dim_eq {K : Type *} {X : Type *} [field K] :
28
+ vector_space.dim K (free_algebra K X) = cardinal.mk (list X) :=
29
+ (cardinal.lift_inj.mp (is_basis_free_monoid K X).mk_eq_dim).symm
30
+
31
+ end free_algebra
You can’t perform that action at this time.
0 commit comments