[proofplan]
We prove that each row and each column of the multiplication table contains every group element exactly once. For a fixed row element $a \in G$, left multiplication by $a$ is injective because multiplication by $a^{-1}$ cancels $a$ on the left; finiteness then turns injectivity into bijectivity. The column argument is the corresponding right multiplication argument, using cancellation by $b^{-1}$ on the right.
[/proofplan]
[step:Show that every row contains each group element exactly once]
Fix $a \in G$, and let $e \in G$ denote the identity element of the group $(G,\cdot)$. Define the left multiplication map
\begin{align*}
L_a:G &\to G,\qquad x \mapsto a\cdot x.
\end{align*}
We first prove that $L_a$ is injective. Let $x,y \in G$ and suppose $L_a(x)=L_a(y)$. Then
\begin{align*}
a \cdot x = a \cdot y.
\end{align*}
Multiplying both sides on the left by $a^{-1}$ and using associativity, the inverse identity $a^{-1}\cdot a=e$, and the identity law gives
\begin{align*}
x = e \cdot x = (a^{-1}\cdot a)\cdot x = a^{-1}\cdot(a\cdot x) = a^{-1}\cdot(a\cdot y) = (a^{-1}\cdot a)\cdot y = e \cdot y = y.
\end{align*}
Thus $L_a$ is injective.
Since $G$ is finite, the image $L_a(G)\subseteq G$ has the same cardinality as $G$ whenever $L_a$ is injective. Hence $L_a(G)=G$, so $L_a$ is surjective. Therefore, for every $h \in G$, there exists $b \in G$ such that $L_a(b)=h$, equivalently $a\cdot b=h$. Injectivity of $L_a$ gives uniqueness of this $b$. Thus the row indexed by $a$ contains every element of $G$ exactly once.
[guided]
Fix a row index $a \in G$, and let $e \in G$ denote the identity element of the group $(G,\cdot)$. The row indexed by $a$ lists all products $a\cdot x$ as the column variable $x$ ranges over $G$. To encode this row as a function, define the map
\begin{align*}
L_a:G &\to G,\qquad x \mapsto a\cdot x.
\end{align*}
Showing that the row contains every symbol exactly once is exactly the statement that $L_a$ is bijective.
We first prove injectivity. Let $x,y \in G$ and suppose that the row entries at columns $x$ and $y$ agree:
\begin{align*}
L_a(x)=L_a(y).
\end{align*}
By the definition of $L_a$, this means
\begin{align*}
a \cdot x = a \cdot y.
\end{align*}
Because $G$ is a group, $a$ has an inverse element $a^{-1}\in G$, and group multiplication is associative. Multiplying both sides on the left by $a^{-1}$ gives
\begin{align*}
a^{-1}\cdot(a\cdot x)=a^{-1}\cdot(a\cdot y).
\end{align*}
Associativity lets us regroup both sides:
\begin{align*}
(a^{-1}\cdot a)\cdot x=(a^{-1}\cdot a)\cdot y.
\end{align*}
Since $a^{-1}\cdot a=e$, where $e\in G$ is the identity element, this becomes
\begin{align*}
e\cdot x=e\cdot y.
\end{align*}
Using the identity law, we get $x=y$. Therefore $L_a$ is injective.
Now we use the finiteness of $G$. An injective map from a finite set to itself has image with the same number of elements as the domain. Since $L_a(G)\subseteq G$ and $|L_a(G)|=|G|$, the inclusion must be equality:
\begin{align*}
L_a(G)=G.
\end{align*}
Thus $L_a$ is surjective. Hence for every symbol $h\in G$, there is some $b\in G$ such that
\begin{align*}
L_a(b)=h,
\end{align*}
which is the same as
\begin{align*}
a\cdot b=h.
\end{align*}
The injectivity already proved says that no two different choices of $b$ can give the same value $h$. Therefore the row indexed by $a$ contains each element of $G$ exactly once.
[/guided]
[/step]
[step:Show that every column contains each group element exactly once]
Fix $b \in G$, and let $e \in G$ denote the identity element of the group $(G,\cdot)$. Define the right multiplication map
\begin{align*}
R_b:G &\to G,\qquad x \mapsto x\cdot b.
\end{align*}
Since $G$ is a group, $b$ has an inverse element $b^{-1}\in G$. We prove that $R_b$ is injective. Let $x,y \in G$ and suppose $R_b(x)=R_b(y)$. Then
\begin{align*}
x \cdot b = y \cdot b.
\end{align*}
Multiplying both sides on the right by $b^{-1}$ and using associativity, the inverse identity $b\cdot b^{-1}=e$, and the identity law gives
\begin{align*}
x = x\cdot e = x\cdot(b\cdot b^{-1}) = (x\cdot b)\cdot b^{-1} = (y\cdot b)\cdot b^{-1} = y\cdot(b\cdot b^{-1}) = y\cdot e = y.
\end{align*}
Thus $R_b$ is injective.
Since $G$ is finite, injectivity of $R_b: G\to G$ implies $R_b(G)=G$. Therefore, for every $h\in G$, there exists $a\in G$ such that $R_b(a)=h$, equivalently $a\cdot b=h$. Injectivity of $R_b$ gives uniqueness of this $a$. Thus the column indexed by $b$ contains every element of $G$ exactly once.
[guided]
Fix a column index $b \in G$, and let $e \in G$ denote the identity element of the group $(G,\cdot)$. The column indexed by $b$ lists all products $x\cdot b$ as the row variable $x$ ranges over $G$. Define the right multiplication map
\begin{align*}
R_b:G &\to G,\qquad x \mapsto x\cdot b.
\end{align*}
Showing that this column contains every symbol exactly once is the same as proving that $R_b$ is bijective.
We first prove injectivity. Let $x,y \in G$ and suppose that the column entries at rows $x$ and $y$ agree:
\begin{align*}
R_b(x)=R_b(y).
\end{align*}
By the definition of $R_b$, this means
\begin{align*}
x\cdot b=y\cdot b.
\end{align*}
Because $G$ is a group, $b$ has an inverse element $b^{-1}\in G$, and group multiplication is associative. Multiplying both sides on the right by $b^{-1}$ gives
\begin{align*}
(x\cdot b)\cdot b^{-1}=(y\cdot b)\cdot b^{-1}.
\end{align*}
Associativity lets us regroup both sides:
\begin{align*}
x\cdot(b\cdot b^{-1})=y\cdot(b\cdot b^{-1}).
\end{align*}
Since $b\cdot b^{-1}=e$, this becomes
\begin{align*}
x\cdot e=y\cdot e.
\end{align*}
Using the identity law, we get $x=y$. Therefore $R_b$ is injective.
Now use the finiteness of $G$. An injective map from a finite set to itself has image with the same cardinality as the domain, so $R_b(G)\subseteq G$ and $|R_b(G)|=|G|$ imply
\begin{align*}
R_b(G)=G.
\end{align*}
Thus $R_b$ is surjective. Hence for every symbol $h\in G$, there exists some $a\in G$ such that
\begin{align*}
R_b(a)=h,
\end{align*}
which is equivalent to
\begin{align*}
a\cdot b=h.
\end{align*}
The injectivity already proved says that no two different choices of $a$ can give the same value $h$. Therefore the column indexed by $b$ contains each element of $G$ exactly once.
[/guided]
[/step]
[step:Conclude that the multiplication table is a Latin square]
The row element $a\in G$ was arbitrary, so every row of the multiplication table contains every symbol $h\in G$ exactly once. The column element $b\in G$ was arbitrary, so every column of the multiplication table contains every symbol $h\in G$ exactly once. Define the multiplication table map
\begin{align*}
M:G\times G &\to G,\qquad (a,b) \mapsto a\cdot b.
\end{align*}
By the definition of a [Latin square](/page/Latin%20Square), these row and column uniqueness properties say exactly that $M$ is a Latin square on symbol set $G$.
[/step]