xref: /aosp_15_r20/external/emboss/doc/modular_congruence_multiplication_proof.tex (revision 99e0aae7469b87d12f0ad23e61142c2d74c1ef70)
1*99e0aae7SDavid Rees%This proof is used in Emboss to propagate alignment restrictions through
2*99e0aae7SDavid Rees%multiplication: if a and b are non-constant integers, their product can still
3*99e0aae7SDavid Rees%have a known alignment.
4*99e0aae7SDavid Rees%
5*99e0aae7SDavid Rees%Forgive me on the details and formatting, math majors, I never completed my
6*99e0aae7SDavid Rees%math degree.  --bolms
7*99e0aae7SDavid Rees%
8*99e0aae7SDavid Rees%Thanks to Aaron Webster for helping me format this as an actual proof.
9*99e0aae7SDavid Rees\documentclass{article}
10*99e0aae7SDavid Rees\usepackage[utf8]{inputenc}
11*99e0aae7SDavid Rees\usepackage[english]{babel}
12*99e0aae7SDavid Rees\usepackage{amssymb,amsmath,amsthm}
13*99e0aae7SDavid Rees\title{Modular Congruence of the Product of Two Values with Known Modular Congruences}
14*99e0aae7SDavid Rees\author{Emboss Authors}
15*99e0aae7SDavid Rees\date{2017}
16*99e0aae7SDavid Rees
17*99e0aae7SDavid Rees\begin{document}
18*99e0aae7SDavid Rees\maketitle
19*99e0aae7SDavid Rees
20*99e0aae7SDavid Rees\newtheorem{theorem}{Theorem}
21*99e0aae7SDavid Rees
22*99e0aae7SDavid Rees%(Draft)
23*99e0aae7SDavid Rees%TODO(webstera): Try to simplify this proof.
24*99e0aae7SDavid Rees
25*99e0aae7SDavid Rees\begin{theorem}
26*99e0aae7SDavid ReesGiven
27*99e0aae7SDavid Rees
28*99e0aae7SDavid Rees\begin{align*}
29*99e0aae7SDavid Rees  &{a} \equiv {r} \pmod{{m}} \\
30*99e0aae7SDavid Rees  &{b} \equiv {s} \pmod{{n}} \\
31*99e0aae7SDavid Rees  &{a}, {r}, {m}, {b}, {s}, {n} \in \mathbb{Z}
32*99e0aae7SDavid Rees\end{align*}
33*99e0aae7SDavid Rees
34*99e0aae7SDavid Reesthen
35*99e0aae7SDavid Rees
36*99e0aae7SDavid Rees\begin{align*}
37*99e0aae7SDavid Rees  &{a}{b} \equiv {r}{s} \pmod{G\left(\dfrac{{m}}{G\left({m}, {r}\right)},
38*99e0aae7SDavid Rees\dfrac{{n}}{G\left({n}, {s}\right)}\right) \cdot G\left({m}, {r}\right) \cdot
39*99e0aae7SDavid ReesG\left({n}, {s}\right)}
40*99e0aae7SDavid Rees\end{align*}
41*99e0aae7SDavid Rees
42*99e0aae7SDavid Reeswhere $G$ is the greatest common divisor function.
43*99e0aae7SDavid Rees\end{theorem}
44*99e0aae7SDavid Rees
45*99e0aae7SDavid Rees\begin{proof}
46*99e0aae7SDavid Rees\begin{align}
47*99e0aae7SDavid Rees  \text{Let }{q} &= G\left({m}, {r}\right) \label{eq:qdef} \\
48*99e0aae7SDavid Rees             {p} &= G\left({n}, {s}\right) \label{eq:pdef} \\
49*99e0aae7SDavid Rees             {z} &= G\left(\dfrac{{m}}{{q}}, \dfrac{{n}}{{p}}\right) =
50*99e0aae7SDavid Rees                    G\left(\dfrac{{m}}{G\left({m}, {r}\right)},
51*99e0aae7SDavid Rees                    \dfrac{{n}}{G\left({n}, {s}\right)}\right) \label{eq:zdef}
52*99e0aae7SDavid Rees\end{align}
53*99e0aae7SDavid Rees
54*99e0aae7SDavid Reesby the definition of modular congruence:
55*99e0aae7SDavid Rees\begin{align}
56*99e0aae7SDavid Rees  &\exists {x} \in \mathbb{Z} : {a} = {m}{x} + {r} \\
57*99e0aae7SDavid Rees  &\exists {y} \in \mathbb{Z} : {b} = {n}{y} + {s}
58*99e0aae7SDavid Rees\end{align}
59*99e0aae7SDavid Rees
60*99e0aae7SDavid Reesmultiplying $\dfrac{{q}}{{q}}$ and distributing $\dfrac{1}{{q}}$:
61*99e0aae7SDavid Rees\begin{align}
62*99e0aae7SDavid Rees  &{a} = {q}\left(\dfrac{{m}{x}}{q} + \dfrac{{r}}{q}\right)
63*99e0aae7SDavid Rees\end{align}
64*99e0aae7SDavid Rees
65*99e0aae7SDavid Reesby the definition of ${q}$ in \eqref{eq:qdef}:
66*99e0aae7SDavid Rees\begin{align}
67*99e0aae7SDavid Rees  &\dfrac{{m}{x}}{q}, \dfrac{{r}}{q} \in \mathbb{Z} \label{eq:rqinz}
68*99e0aae7SDavid Rees\end{align}
69*99e0aae7SDavid Rees
70*99e0aae7SDavid Reesmultiplying $\dfrac{{p}}{{p}}$ and distributing $\dfrac{1}{{p}}$:
71*99e0aae7SDavid Rees\begin{align}
72*99e0aae7SDavid Rees  &{b} = {p}\left(\dfrac{{n}{y}}{{p}} + \dfrac{{s}}{{p}}\right)
73*99e0aae7SDavid Rees\end{align}
74*99e0aae7SDavid Rees
75*99e0aae7SDavid Reesby the definition of ${p}$ in \eqref{eq:pdef}:
76*99e0aae7SDavid Rees\begin{align}
77*99e0aae7SDavid Rees  &\dfrac{{n}{y}}{{p}}, \dfrac{{s}}{{p}} \in \mathbb{Z} \label{eq:spinz}
78*99e0aae7SDavid Rees\end{align}
79*99e0aae7SDavid Rees
80*99e0aae7SDavid Reesmultiplying $\dfrac{{z}}{{z}}$:
81*99e0aae7SDavid Rees\begin{align}
82*99e0aae7SDavid Rees  &{a} = {q}\left({z} \cdot \dfrac{{m}{x}}{{q}{z}} + \dfrac{{r}}{{q}}\right) \label{eq:aeqq}
83*99e0aae7SDavid Rees\end{align}
84*99e0aae7SDavid Rees
85*99e0aae7SDavid Reesby the definition of ${z}$ in \eqref{eq:zdef}:
86*99e0aae7SDavid Rees\begin{align}
87*99e0aae7SDavid Rees  &\dfrac{{m}{x}}{{q}{z}} \in \mathbb{Z} \label{eq:mxqzinz}
88*99e0aae7SDavid Rees\end{align}
89*99e0aae7SDavid Rees
90*99e0aae7SDavid Reesmultiplying $\dfrac{{z}}{{z}}$:
91*99e0aae7SDavid Rees\begin{align}
92*99e0aae7SDavid Rees  &{b} = {p}\left({z} \cdot \dfrac{{n}{y}}{{p}{z}} + \dfrac{{s}}{{p}}\right) \label{eq:beqp}
93*99e0aae7SDavid Rees\end{align}
94*99e0aae7SDavid Rees
95*99e0aae7SDavid Reesby the definition of ${z}$ in \eqref{eq:zdef}:
96*99e0aae7SDavid Rees\begin{align}
97*99e0aae7SDavid Rees  &\dfrac{{n}{y}}{{p}{z}} \in \mathbb{Z} \label{eq:nypzinz}
98*99e0aae7SDavid Rees\end{align}
99*99e0aae7SDavid Rees
100*99e0aae7SDavid Rees\eqref{eq:aeqq} and \eqref{eq:beqp}:
101*99e0aae7SDavid Rees\begin{align}
102*99e0aae7SDavid Rees  &{a}{b} = {q}{p}\left({z} \cdot \dfrac{{m}{x}}{{q}{z}} +
103*99e0aae7SDavid Rees    \dfrac{{r}}{{q}}\right)\left({z} \cdot \dfrac{{n}{y}}{{p}{z}} +
104*99e0aae7SDavid Rees    \dfrac{{s}}{{p}}\right) \label{eq:abeqqp}
105*99e0aae7SDavid Rees\end{align}
106*99e0aae7SDavid Rees
107*99e0aae7SDavid Reespartially distributing \eqref{eq:abeqqp}:
108*99e0aae7SDavid Rees\begin{align}
109*99e0aae7SDavid Rees  &{a}{b} = {q}{p}\left({z}^2 \cdot \dfrac{{m}{x}}{{q}{z}} \cdot
110*99e0aae7SDavid Rees    \dfrac{{n}{y}}{{p}{z}} + {z} \cdot \dfrac{{r}}{{q}} \cdot
111*99e0aae7SDavid Rees    \dfrac{{n}{y}}{{p}{z}} + {z} \cdot \dfrac{{m}{x}}{{q}{z}} \cdot
112*99e0aae7SDavid Rees    \dfrac{{s}}{{p}} + \dfrac{{r}}{{q}} \cdot \dfrac{{s}}{{p}}\right) \label{eq:abeqqpexp}
113*99e0aae7SDavid Rees\end{align}
114*99e0aae7SDavid Rees
115*99e0aae7SDavid Reesextracting the $\dfrac{{r}{s}}{{q}{p}}$ term from \eqref{eq:abeqqpexp} and cancelling $\dfrac{{q}{p}}{{q}{p}}$:
116*99e0aae7SDavid Rees\begin{align}
117*99e0aae7SDavid Rees  &{a}{b} = {q}{p}\left({z}^2 \cdot \dfrac{{m}{x}}{{q}{z}} \cdot
118*99e0aae7SDavid Rees    \dfrac{{n}{y}}{{p}{z}} + {z} \cdot \dfrac{{r}}{{q}} \cdot
119*99e0aae7SDavid Rees    \dfrac{{n}{y}}{{p}{z}} + {z} \cdot \dfrac{{m}{x}}{{q}{z}} \cdot
120*99e0aae7SDavid Rees    \dfrac{{s}}{{p}}\right) + {r}{s} \label{eq:abeqqpextr}
121*99e0aae7SDavid Rees\end{align}
122*99e0aae7SDavid Rees
123*99e0aae7SDavid Reesfactoring ${z}$ from \eqref{eq:abeqqpextr}:
124*99e0aae7SDavid Rees\begin{align}
125*99e0aae7SDavid Rees  &{a}{b} = {q}{p}{z}\left({z} \cdot \dfrac{{m}{x}}{{q}{z}} \cdot
126*99e0aae7SDavid Rees    \dfrac{{n}{y}}{{p}{z}} + \dfrac{{r}}{{q}} \cdot \dfrac{{n}{y}}{{p}{z}} +
127*99e0aae7SDavid Rees    \dfrac{{m}{x}}{{q}{z}} \cdot \dfrac{{s}}{{p}}\right) + {r}{s}
128*99e0aae7SDavid Rees\end{align}
129*99e0aae7SDavid Rees
130*99e0aae7SDavid Reesbecause ${z}, \dfrac{{r}}{q}, \dfrac{{s}}{{p}}, \dfrac{{m}{x}}{{q}{z}},
131*99e0aae7SDavid Rees  \dfrac{{n}{y}}{{p}{z}} \in \mathbb{Z}$, per \eqref{eq:zdef}, \eqref{eq:rqinz}, \eqref{eq:spinz}, \eqref{eq:mxqzinz}, \eqref{eq:nypzinz}:
132*99e0aae7SDavid Rees\begin{align}
133*99e0aae7SDavid Rees  &{z} \cdot \dfrac{{m}{x}}{{q}{z}} \cdot \dfrac{{n}{y}}{{p}{z}} +
134*99e0aae7SDavid Rees    \dfrac{{r}}{{q}} \cdot \dfrac{{n}{y}}{{p}{z}} + \dfrac{{m}{x}}{{q}{z}} \cdot
135*99e0aae7SDavid Rees    \dfrac{{s}}{{p}} \in \mathbb{Z}
136*99e0aae7SDavid Rees\end{align}
137*99e0aae7SDavid Rees
138*99e0aae7SDavid Reesby the definition of modulus:
139*99e0aae7SDavid Rees\begin{align}
140*99e0aae7SDavid Rees  &{a}{b} \equiv {r}{s} \pmod{{q}{p}{z}}
141*99e0aae7SDavid Rees\end{align}
142*99e0aae7SDavid Rees
143*99e0aae7SDavid Reesby the definitions of ${q}$, ${p}$, and ${z}$ in \eqref{eq:qdef}, \eqref{eq:pdef}, and \eqref{eq:zdef}:
144*99e0aae7SDavid Rees\begin{align}
145*99e0aae7SDavid Rees  &{a}{b} \equiv {r}{s} \pmod{G\left(\dfrac{{m}}{G\left({m}, {r}\right)},
146*99e0aae7SDavid Rees    \dfrac{{n}}{G\left({n}, {s}\right)}\right) \cdot G\left({m}, {r}\right)
147*99e0aae7SDavid Rees    \cdot G\left({n}, {s}\right)}
148*99e0aae7SDavid Rees\end{align}
149*99e0aae7SDavid Rees
150*99e0aae7SDavid Rees\end{proof}
151*99e0aae7SDavid Rees\end{document}
152