If C D then int(C) int(D) (since int(C) is an open subset of D). Also int(A B) int(A) and similarly int(A B) int(B). Hence int(A B) int(A) int(B).
Also int(A) int(B) is an open subset of A B and hence lies in int(A B). Thus the two sets are equal.
int(A) int(B) is an open subset of A B and hence lies inside int(A B).
The other inclusion may fail. For example take A = [0, 1] and B = [1, 2] in R (with the usual topology). Then int(A B) = (0, 2) while int(A) int(B) = (0, 2) - {1}.
In the cofinite topology on R, the subset 2Z is not closed and hence it is not closed in the subspace topology on Z. So the topology on Z is not discrete
Here is a "lattice diagram" showing how they are related.
Topologies with the same number of sets are on the same level.
[The {ac} and {a c ac} "points" have been plotted twice to make the diagram more symmetric.]