#import "../../utils/core.typ": *

== Многочлены и формальные степенные ряды

#def[
    Последовательность _финитная_ $<==> exists N: forall n >= N: a_n = 0$.
]

#def[
    Многочленом над $R$ (от одной переменной) называется финитная последовательность $(a_i), space a_i in RR, space i=0,1,2,...$.
]

#def[
    $R$ --- коммутативное кольцо с 1, тогда:
    
    $R[x] = \{(a_i) divides a_i in R, space  i = 0, 1, ...; a_i = 0$ при $i -> oo \}$ --- _кольцо многочленов_ над $R$.
]

#pr[
    Операции в $R[x]$:

    "Сложение":
    $(a_i) + (b_i) = (a_i + b_i)$

    "Умножение":
    $(a_i) dot (b_i) = (p_i)$, где $p_k = limits(sum)_(i=0)^k a_i b_(k-i)$
]

#pr(name: [Переход к стандартной записи])[
    Пусть $a in R, space [a] = (a, 0, 0, ...)$ --- многочлен, равный $a$.

    $[a] + [b] = [a + b]$
    
    $[a] dot [b o b a] = (a b o b a, 0, 0, ...) = [a b o b a]$
    
    Отождествим $[a]$ с $a$.
    
    $[a] dot (b_0, b_1, ...) = (a b_0, a b_1, ...)$
    
    $(a_0, a_1, ..., a_n, 0, 0, ...) = (a_0, 0, 0, ...) + (0, a_1, 0, 0, ...) + ... + (0, 0, ..., a_n, 0, 0, ...) =$ 
    
    $a_0 dot underbrace((1, 0, 0, ...), x_0) + a_1 dot underbrace((0, 1, 0, ...), x_1) + ... + a_n dot underbrace((0, 0, ..., 1, 0, 0, ...), x_n) = a_0 + a_1 dot x_1 + ... + a_n dot x_n$
    
    $x_j dot x_1 = (0, ..., 1, 0, 0, ...) dot (0, 1, 0, 0, ...) = (0, ..., 0, 1, 0, 0, ...) = x_(j+1) ==> forall m in NN: x_m = x_1^m$
    
    $x_1 = x ==> x_m = x_1^m = x^m$
    
    Значит получили стандартную запись многочленов $(a_0 + a_1 x + a_2 x^2 + ... + a_n x^n)$
]

#def[
    Пусть $f in R[x], space f eq.not 0$ (то есть не $(0)$)

    Тогда степенью $f$ называется максимальное $j$ такое что $a_j eq.not 0$

    Обозначим $deg f = j$.

    Если $f = 0$, то $deg f in \{-1, -oo\}$ (по разному обозначают).
]

#def[
    $d = deg f ==> a_d$ называется старшим коэффициентом $f$.
]

#def[
    Константой называется множество $f$ такое что $deg f <= 0$.
]

#def[
    Мономом называется множество вида $a x^j$.
]

#pr[
    $R[x]$ --- коммутативное ассоциативное кольцо с 1.
]

#proof[\
    1-4. Аксиомы относящиеся к сложению очевидны.
    
    5. Коммутативность умножения очевидна.
    
    6. Ассоциативность умножения:
    
    $f, g, h in R[x], space  (f g)h = f(g h)$

    $f = limits(sum)_(i=0)^k f_i X_i$, где $f_i in R$

    $g = limits(sum)_(i=0)^l g_i X_i$, где $g_i in R$

    $h = limits(sum)_(i=0)^n h_i X_i$, где $h_i in R$

    Ассоциативность мономов $(f dot g) dot h = f dot (g dot h)$ --- сводится к сложению, $f, g, h$ --- мономы.

    $(f g)h = (sum f_i X^i dot sum g_j X^j) dot sum h_k X^k = sum (f_i X^i dot g_j X^j) dot sum h_k X^k limits(=)^("ассоц. мономов")$ 
    
    $sum f_i X^i dot sum (g_j X^j dot h_k X^k) = f(g h)$
    
    7. Нейтральный элемент по умножению --- $1 = (1, 0, 0, ...)$.
    
    8. Дистрибутивность:
    $display(cases(
        (a X^i dot b X^j) dot c X^k = a b X^(i+j) dot c X^k = a b c dot X^(i+j+k),
        a X^i dot (b X^j dot c X^k) = a X^i dot b c X^(j + k) = a b c dot X^(i+j+k)
    ))$
]

#def[
    $R[[x]] = \{ (a_i) divides a_i in R, i = 0, 1, ... \}$ --- множество формальных степенных рядов над $R$.
]

$(a_i) = limits(sum)_(i = 0)^(oo) a_i X^i$

#exercise[
    $R[[x]]$ --- коммутативное ассоциативное кольцо с 1.
]