  This paper is an extended version of our proceedings paper announced at
LICS'16; in order to complement it, this version is written from a different
viewpoint including topos-theoretic aspect on our work. Technically, this paper
introduces and studies the class of semi-galois categories, which extend galois
categories and are dual to profinite monoids in the same way as galois
categories are dual to profinite groups; the study on this class of categories
is aimed at providing an axiomatic reformulation of Eilenberg's theory of
varieties of regular languages--- a branch in formal language theory that has
been developed since the mid 1960's and particularly concerns systematic
classification of regular languages, finite monoids, and deterministic finite
automata. In this paper, detailed proofs of our central results announced at
LICS'16 are presented, together with topos-theoretic considerations. The main
results include (I) a proof of the duality theorem between profinite monoids
and semi-galois categories, extending the duality theorem between profinite
groups and galois categories; based on this results on semi-galois categories,
we then discuss (II) a reinterpretation of Eilenberg's theory from a viewpoint
of duality theorem; in relation with this reinterpretation of the theory, (III)
we also give a purely topos-theoretic characterization of classifying topoi BM
of profinite monoids M among general coherent topoi, which is a topos-theoretic
application of (I). This characterization states that a topos E is equivalent
to the classifying topos BM of some profinite monoid M if and only if E is (i)
coherent, (ii) noetherian, and (iii) has a surjective coherent point. This
topos-theoretic consideration is related to the logical and geometric problems
concerning Eilenberg's theory that we addressed at LICS'16, which remain open
in this paper.
