Category Theory for Programmers Chapter 24: F-Algebras
-
Implement the evaluation function for a ring of polynomials of one variable.
For a ring $\mathscr{R}$, then define
\[\mathscr{R}\left[t\right] = \left\{ \sum^n_i a_i t^i \,\middle|\, a_i \in \mathscr{R} \right\}\]Then we can define the following:
- $0{\mathscr{R}\left[t\right]} = 0{\mathscr{R}} t^0$
- $1{\mathscr{R}\left[t\right]} = 1{\mathscr{R}} t^0$
- for $\left(\sum a_i t^i\right), \left(\sum b_i t^i\right) \in \mathscr{R}\left[t\right]$, we have
- $\left(\sum a_i t^i\right) +_{\mathscr{R}\left[t\right]} \left(\sum b_i t^i\right) = \sum (a_i + b_i) t^i$
- $\left(\sum a_i t^i\right) \times_{\mathscr{R}\left[t\right]} \left(\sum b_i t^i\right) = \sum \left(\sum_{x+y=i} a_x b_y\right) t^i$
-
Generalize previous construction to polynomials of many independent variables.
Since $\mathscr{R}[t]$ is a ring, so too is $(\mathscr{R}[t])[u]$. In this way, $\mathscr{R}[t_0, …, t_n]$ can be defined as $\mathscr{R}[t_0][…][t_n]$.