  Mathematical theorems are human knowledge able to be accumulated in the form
of symbolic representation, and proving theorems has been considered
intelligent behavior. Based on the BHK interpretation and the Curry-Howard
isomorphism, proof assistants, software capable of interacting with human for
constructing formal proofs, have been developed in the past several decades.
Since proofs can be considered and expressed as programs, proof assistants
simplify and verify a proof by computationally evaluating the program
corresponding to the proof. Thanks to the transformation from logic to
computation, it is now possible to generate or search for formal proofs
directly in the realm of computation. Evolutionary algorithms, known to be
flexible and versatile, have been successfully applied to handle a variety of
scientific and engineering problems in numerous disciplines for also several
decades. Examining the feasibility of establishing the link between
evolutionary algorithms, as the program generator, and proof assistants, as the
proof verifier, in order to automatically find formal proofs to a given logic
sentence is the primary goal of this study. In the article, we describe in
detail our first, ad-hoc attempt to fully automatically prove theorems as well
as the preliminary results. Ten simple theorems from various branches of
mathematics were proven, and most of these theorems cannot be proven by using
the tactic auto alone in Coq, the adopted proof assistant. The implication and
potential influence of this study are discussed, and the developed source code
with the obtained experimental results are released as open source.
