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

== Рациональные дроби

#def[
    _Поле частных области целостности_ $R$ --- наименьшее поле, в которое вложена $R$.

    Назовем его $Q(R)$.
]

Элементы поля частных представляются как дроби $(a)/(b)$, где $a, b in R$ и $b eq.not 0$. Это поле строится так:

Рассмотрим $M = R times (R without \{0\})$ и введём на $M$ отношение $sim$:

$(a, b) sim (a', b') <==> a b' = a'b$

#pr[
    $sim$ --- отношение эквивалентности
]

#proof[
    рефлексивность и симметричность очевидны

    транзитивность:
    $display(cases(
        (a, b) sim (a', b')\\
        (a', b') sim (a'', b'')
    )) ==> a b' b'' = a' b b'' = a'' b b' ==> b'(a b'' - a'' b) = 0$

    $b eq.not 0 ==> a b'' - a'' b = 0 ==> a b'' = a'' b ==> (a, b) sim (a'', b'')$


    То есть $sim$ --- это отношение эквивалентности на $M$.
]

#def[
    $Q(R) = M \/ sim = \{ [(a, b)] divides a in R, b in R without \{0\} \}$    
]

#def[
    Обозначим $(a)/(b)$ --- это $[(a, b)] in Q(R)$.
]

#pr[
    Введём в $Q(R)$ операции сложения и умножения:
    $     
        (a_1)/(b_1) + (a_2)/(b_2) = (a_1 b_2 + a_2 b_1)/(b_1 b_2)\
        (a_1)/(b_1) dot (a_2)/(b_2) = (a_1 a_2)/(b_1 b_2)
    $
]

#notice[
    $(a, b) sim (a c, b c) quad forall c in R without \{0\}$

    Такая замена не изменит результат.
]

#notice[
    $(a, b) sim (a', b') <==> (a b', b b') = (a'b, b'b)$
]

#pr[
    Операции на $Q(R)$ определены корректно, при этом $Q(R)$ с этими операциями --- поле.
]

#proof[
    Коммутативность и ассоциативность сложения очевидны в случае одинакого знаменателя.

    $(a_1)/(b) + (a_2)/(b) = (a_1 b + a_2 b)/(b^2) = (a_2 b + a_1 b)/(b^2) = (a_2)/(b) + (a_1)/(b)$

    Но любые $2$ дроби можно привести к общему знаменателю:

    $(a_1)/(b_1) = (a_1 b_2)/(b_1 b_2) quad (a_2)/(b_2) = (a_2 b_1)/(b_1 b_2)$

    Нейтральный по сложению элемент --- это $(0)/(1)$

    Противоположный по сложению элемент к $(a)/(b)$ --- это $(-a)/(b)$

    Дистрибутивность: $((a_1)/(b) + (a_2)/(b)) (a')/(b') = (a_1 + a_2)/(b) (a')/(b') = ((a_1 + a_2) a')/(b b') = (a_1 a' + a_2 a')/(b b') = (a_1)/(b) (a')/(b') + (a_2)/(b) (a')/(b') = (a_1)/(b) (a')/(b') + (a_2)/(b) (a')/(b')$

    Нейтральный по умножению элемент --- это $(1)/(1)$

    $(a)/(b) eq.not (0)/(1) ==> a dot 1 eq.not b dot 0 <==> a eq.not 0$

    Обратный по умножению элемент к $(a)/(b)$ --- это $(b)/(a)$
]

#notice[
    $R limits(maps)^(epsilon) Q(R), space r maps (r)/(1)$
    
    То есть, считаем $R subset Q(R)$
]

#def[
    Пусть $K$ --- поле. Тогда поле $K(x) = Q(K[x])$ назовем _полем рациональных дробей_ (_дробно-рациональных функций_) над полем $K$.
]

#pr(name: [Несократимое представление])[
    Пусть $R$ --- факториальное кольцо. Тогда любой $S in Q(R)$ представимых в виде $s = (p)/(q), space (p, q) = 1$. Такое представление единственно с точностью до умножения $p$ и $q$ на $epsilon in R^*$.
]

#proof[
    
    Пусть $s = (a)/(b), space d = gcd(a, b) ==> a = d a', space  b = d b' ==> s = (a')/(b'), space  (a', b') = 1$

    Если $(p)/(q) = (p')/(q'), space (p, q) = (p', q') = 1$, то $p q' = p' q ==> display(cases(
        p divides p'q,
        (p, q) = 1
    )) ==> p divides p'$, аналогично $p' divides p$

    То есть $p$ и $p'$ ассоциативны $==>$ $p' = epsilon p, space  epsilon in R^*$

    $p q' = epsilon p q ==> q' = epsilon q$
]

#lemma[
    Пусть $s in K(x), space s = (p)/(q), quad p, q in K[x]$

    Тогда $deg p - deg q$ --- инвариант $s$. (то есть не зависит от выбора представления в виде $p$ и $q$)
]

#proof[
    
    Если $(p)/(q) = (p')/(q')$, то $p q' = p'q$, а значит $deg p + deg q' = deg p' + deg q ==> deg p - deg q = deg p' - deg q'$

    Таким образом можно определить степень рациональной дроби $deg s = deg (p)/(q) = deg p - deg q$
]

#def[
    $s in K(x)$ называется правильной дробью, если $deg s < 0$

    В частности $0$ --- правильная дробь
]

#notice[
    Очевидно сумма и произведение правильных дробей --- правильная дробь
]

#lemma[
    Любая рациональная дробь однозначно представляется в виде суммы многочленов и правильной дроби.
]

#proof[

    "Существование":

    Пусть $s = (p)/(q)$, поделим на $p$ на $q$, получается:

    $p = q dot t + r$, где $r = 0$ или $deg r < deg q ==> (p)/(q) = t + (r)/(q), space t in K[x],$ где $(r)/(q)$ --- правильная дробь

    "Единственность":

    $t + (r)/(q) = t_1 + (r_1)/(q_1), space  t_1 in K[x],$ где $(r_1)/(q_1)$ --- правильная дробь

    $t - t_1 = (r_1)/(q_1) - (r)/(q)$ --- правильная дробь

    $t - t_1 = (t - t_1)/(1) = (r_1)/(q_1) - (r)/(q) ==> deg((r_1)/(q_1) - (r)/(q)) = deg(t - t_1) < 0 ==>  t - t_1 = 0 = (r_1)/(q_1) - (r)/(q)$
]

#lemma[
    Пусть $(f, g) = 1$. Тогда любую дробь со знаменателем $fg$ можно представить как сумму дробей со знаменателем $f$ и $g$.
]

#proof[
    $1 = c f + d g$ для некоторых $c, d in K[x]$

    $(a)/(f g) = (a(c d + d g))/(f g) = (a c f)/(f g) + (a d g)/(f g) = (a c)/(g) + (a d)/(f)$
]

#def[
    Дробь $s$ называется _примарной_ (_$p$-примарной_), если $s = (a)/(p^n), space  p$ --- неприводимый многочлен, $n in NN$
]

#pr[
    Любую правильную дробь можно однозначно представить в виде суммы нескольких отличных от $0$ правильных $p$-примарных дробей, где $p$ --- различные унитарные неприводимые многочлены.
]

#proof[
    
    "Существование":

    Запишем значение $s$ в виде $p_1^(m_1) ... p_t^(m_t)$, где $p_i$ --- унитарные неприводимые многочлены

    По лемме $s = (...)/(p_1^(m_1)) + (...)/(p_t^(m_t)) = (a_1)/(p_1^(m_1)) + ... + (a_t)/(p_t^(m_t))$
    
    Перепишем это в виде суммы многочлена и правильных дробей, с тем же знаменателем, получим:

    $s = f + (b_1)/(p_1^(m_1)) + ... + (b_t)/(p_t^(m_t)), space f in K[x], space (b_j)/(p_j^(m_j))$ --- правильная дробь

    $==> f = s - (b_1)/(p_1^(m_1)) - ... - (b_t)/(p_t^(m_t))$, где $(f)/(1)$ --- правильная дробь

    $==> deg f < 0 ==> f = 0$

    "Единственность":
    
    Пусть у $S$ есть $2$ различных таких разложения

    Вычитаем из первого разложения второе, получим:

    $(c_1)/(p_1^(n_1)) + ... + (c_l)/(p_l^(n_l)) = 0, space p_i$ --- унитарные неприводимые многочлены

    $c_1, ..., c_l eq.not 0$

    Можно считать все эти дроби несократимыми.

    $==> (c_1)/(p_1^(n_1)) + ... + (c_(l-1))/(p_(l - 1)^(n_(l - 1))) = (-c_l)/(p_l^(n_l))$

    Приведем к общему знаменателю левую часть и сократим дробь, тогда знаменатель полученной дроби будет делить $p_1^(n_1) ... p_(l-1)^(n_(l - 1))$ и не будет ассоциирован с $p_l^(n_l)$, так как не может быть делителем $p_l$, противоречие.
]

#def[
    Простейшей дробью называется дробь вида $(a)/(p^n)$, где $p$ --- неприводимый многочлен, $n in NN$, $deg a < deg p$
]

#th[
    Любая ненулувая правильная дробь единственным образом представляется в виде суммы нескольких простейших дробей с различными знаменателями.
]

#proof[

    "Существование":

    Достаточно разложить правильную примарную дробь $(a)/(p^n)$

    $a = r_m p^m + ... + r_1 p + r_0$, $deg r_i < deg p, space r_m eq.not 0$

    $m < n$, так как $deg a < deg p$

    $(a)/(p^n) = (r_m)/(p^(n - m)) + (r_(m-1))/(p^(n - m + 1)) + ... + (r_1)/(p^(n - 1)) + (r_0)/(p^n)$ --- искомое представление, если удалить нулевые слагаемые

    "Единственность":

    Пусть для $s$ есть представления в виде суммы примарных. Обозначим $C_p$ за сумму $p$-примарных дробей в этом представлении.

    $C_p$ --- $p$-примарная правильная дробь

    $s = C_(p_1) + ... + C_(p_t) ==>$ все $C_p$ определены однозначно
    
    Пусть у $C_p$ есть два разных разложения в сумму простейших дробей со степенями $p$ в знаменателях.

    $(r_n)/(p^n) + ... + (r_1)/(p^1) = (s_n)/(p^n) + ... + (s_1)/(p^1)$, где $n$ --- максимальный показатель степени $p$ в знаменателях

    Пусть $m$ --- максимальный индекс, такой что $r_m eq.not s_m$, некоторые $r_i$ и $s_i$ могут быть нулевыми

    $(r_m - s_m)/(p^m) + ... + (r_1 - s_1)/(p^1) = 0$

    $==> (r_m - s_m)/(p) = -(r_(m - 1) - s_(m - 1)) - p (r_(m - 2) - s_(m - 2)) - ... in K[X]$

    Противоречие, слева дробь, а справа многочлен.
]