I've been making a sudoku solver to get comfortable with graphs and the following "proof" popped into my head so I wanted to see if I could actually write it. Is this argument valid? Sorry in advance for any abuse of notation or if I use 10 words when 1 will do, I only got up to calculus in school and that was almost a decade ago.
Edit: Since there were no answers yet I tried to make it a bit more rigorous, if I made it worse I'm sorry. Aside from validity, any notes on how it's written are more than welcome. I tried my best to write it like the other things I'm reading on hypergraphs but this is my first real attempt at a proof.
Edit 2: I did it again. Potentially sorry again.
Proposition:
Swapping two columns $c_1$ and $c_2$ in a valid $n$-sudoku board will produce a different, equally valid sudoku board for all column indices $i$ such that
$$i_{c_{1}} \ne i_{c_{2}}$$
$$\left\lceil \frac{i_{c_1}}{n} \right\rceil = \left\lceil \frac{i_{c_2}}{n} \right\rceil$$
Proof:
Let P be a valid $n$-sudoku puzzle with coordinates $(i,j$), with
$c_i$ is the column of the puzzle at index $i$
$r_j$ is the row of the puzzle at index $j$
$P_{ij}$ refers to the cell at coordinates $(i,j)$.
A sudoku board is also divided into square regions $n$ wide we'll call $b_k$, where $k\in \mathbb Z:1\le k \le n^2$ and is numbered from the top left to bottom right by the formula $k=f(P_{ij})=\left\lfloor\frac{j-1}{n}\right\rfloor + i - ( (i-1)\bmod n)$.
By the definition of a valid sudoku, every row, column, and block must contain exactly 1 of each of the positive integers in the range $[1,n^2]$.
Construct a hypergraph $H(X,E)$ from $P$ by the following method, where the vertices in $X$ are the cells in the sudoku grid and $S_e$ is the set of the values of the vertices in hyperedge $e$:
$(1)$ For every column $c_i$, construct a hyperedge $C_i$ containing the vertices $P_{i^\prime j}$ such that $i^\prime = i$. This gives us a set of hyperedges $C$ that represents the set of columns in $P$.
$(2)$ For every row $r_j$, construct a hyperedge $R_j$ containing the vertices $P_{ij^\prime}$ such that $j^\prime = j$. This gives us a set of hyperedges $R$ that represents the set of rows in $P$.
$(3)$ For every block $b_k$, construct a hyperedge $B_k$ containing the vertices $P_{ij}$ such that $k=f(P_{ij})$. This gives us a set of hyperedges $B$ that represents the set of blocks in $P$.
By the definition of a valid sudoku,
$$(4) \forall c\in C, S_c = \{x\in \mathbb Z : 1 \le x \le n^2\}, |c|=n^2$$
$$(5) \forall r\in R, S_r = \{x\in \mathbb Z : 1 \le x \le n^2\}, |r|=n^2$$
$$(6) \forall b\in B, S_b = \{x\in \mathbb Z : 1 \le x \le n^2\}, |b|=n^2$$
Now select any two columns $c_x, c_y\in P$ where $x\ne y:\forall j, f(P_{xj}) = f(P_{yj})$. Swap the columns element-wise by row such that $\forall j, (P_{xj}, P_{yj}) := (P_{yj},P_{xj})$. Construct a second hypergraph $H^\prime(X^\prime,E^\prime)$ following steps $(1)$, $(2)$, and $(3)$, with sets of hyperedges $C^\prime, R^\prime, B^\prime$.
Because we specify that we're selecting $c_x, c_y\in P$ where $x\ne y:\forall j, f(P_{xj}) = f(P_{yj})$, then $\forall b \in B, b^\prime \in B^\prime, S_b = S_{b^\prime}$, so $(6)$ holds true for $H^\prime$.
Next, because our transformation is performed with $j$ held constant between swapped pairs as per $(2)$, $\forall r \in R, r^\prime \in R^\prime, S_r = S_{r^\prime}$, so $(5)$ holds true for $H^\prime$.
Finally, because the swapping operation is bijective, $c_x\cong c_y$, and $S_{c_x}=S_{c_y}$ it must follow that $\forall i, S_{c_i}=S_{c^\prime_i}$, so $(4)$ holds true for $H^\prime$.
Because $(4)$,$(5)$, and $(6)$ are all true for $H^\prime$, the sudoku it was constructed from must be valid. $\square$
\leftand\right$\endgroup$