  The first goal of the present paper it to present a simple and elementary
proof of the standard Seifert-van Kampen theorem based on ideas of P. Olum. The
key tool is the singular cohomology theory with non-abelian coefficients in
dimensions 0 and 1. After this we apply non-abelian cohomology to prove
Crowell-Fox version of Seifert-van Kampent theorem and its improvement die to
Brown-Salleh (this proof shows that the Lebesgue dimension of the disc is
irrelevant for this improvement). Finally, we apply non-abelian cohomology to
prove some theorem of van Kampen, which are more general than the standard
version (and, in particular, include the computation of the fundamental group
of the circle).
