La prueba está bien.
Una más generales de instalación para la prueba sería considerar la gráfica de $G$ con conjunto de vértices $S$ y un borde entre el $x, y\in S$ siempre $A_x \cap A_y = \varnothing$. (Puede ser más conveniente poner un borde entre el $x,y$ por cada elemento de a$A_x \cap A_y$, lo $G$ un multigraph.) Entonces estamos buscando un conjunto independiente de $100$ vértices en $G$.
Su gráfico bipartito entre $B'$ e $C$ tiene una especie de encarnación dentro de la $G$. Considerar el subgrafo de $G$ que consta de todos los bordes entre las $B$ e $B'$. Cada $b \in B$ tiene el grado $101 \cdot 100$ en $G$ ($b$ tiene un borde a $b + a_1 - a_2$ por cada $a_1, a_2 \in A$ con $a_1 \ne a_2$), y estos bordes deben ir a $B'$, desde el $B$ es independiente. Cada $b' \in B'$ tiene al menos $1$ borde a $B$, debido a $B$ es un conjunto independiente maximal. Por lo que el número de aristas entre $B$ e $B'$ es $101 \cdot 100 \cdot |B|$, pero también es, al menos, $|B'| = 10^6-|B|$. Por lo tanto
$$
10100 |B| \ge 10^6-|B| \ffi |B| \ge \frac{10^6}{10101} > 99.
$$
Esta es, esencialmente, una reafirmación de su argumento: en lugar de $10100$ elementos de $C$ con grado de $1$ por cada $b \in B$, se combinan en un único vértice $b$ con grado de $10100$.
De manera más general, esto demuestra que en un grafo (o multigraph) $G$ con $n$ vértices y grado máximo $\Delta(G)$, hay un conjunto independiente de tamaño $\frac{n}{\Delta(G)+1}$.
El método de probabilidades puede ser utilizado para obtener un límite que es mejor, en general, pero no una mejora en este problema. En general, podemos llegar a $\frac{n}{d+1}$, donde $d$ es el promedio de grado en $G$. Pero aquí, el grado medio es también bastante cerca de a $10100$, así que esto no es de mucha ayuda.
Aquí está el argumento probabilístico. Al azar permutar los elementos de $S$ como $b_1, b_2, \dots, b_{10^6}$, e ir a través de ellos uno a la vez para crear un conjunto independiente $B$. Para cada una de las $b_i$, agregar $b_i$ a $B$ si cada elemento de la forma $b_i + a_1 - a_2$ (con $a_1, a_2 \in A$ e $a_1 \ne a_2$) viene después de la $b_i$ en nuestro ordenamiento al azar.
Esto está garantizado para crear un conjunto independiente: si $b_i + a_1 - a_2 = b_j$, entonces cualquiera de las $i<j$ (y, entonces, tenemos la garantía de que no se han recogido $b_j$) o $i>j$ (y, entonces, tenemos la garantía de que no se han recogido $b_i$). Para cualquier $b \in S$: $b$ y su en-la mayoría-$10100$ elementos adyacentes, cada uno tiene la misma probabilidad de llegar por primera vez en el ordenamiento al azar, y es $b$ sí, con probabilidad de $\frac{1}{10101}$, caso en el cual añadimos a $B$.
Por lo que el tamaño esperado de $B$ al menos $\frac1{10101}|S| = \frac{10^6}{10101} > 99$, como antes, por lo que en algunos ordenamiento al azar produce un $B$ de tamaño, al menos, $100$.