<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Techniques for Natural-style Proofs in Elementary Analysis? work in progress</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Tudor Jebelean</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>JKU www.risc.jku.at</string-name>
        </contrib>
      </contrib-group>
      <fpage>122</fpage>
      <lpage>131</lpage>
      <abstract>
        <p>Combining methods from satis ability checking with methods from symbolic computation promises to solve challenging problems in various areas of theory and application. We look at the basically equivalent problem of proving statements directly in a non{clausal setting, when additional information on the underlying domain is available in form of speci c properties and algorithms. We demonstrate on a concrete example several heuristic techniques for the automation of natural{style proving of statements from elementary analysis. The purpose of this work in progress is to generate proofs similar to those produced by humans, by combining automated reasoning methods with techniques from computer algebra. Our techniques include: the S-decomposition method for formulae with alternating quanti ers, quanti er elimination by cylindrical algebraic decomposition, analysis of terms behaviour in zero, bounding the -bounds, rewriting of expressions involving absolute value, algebraic manipulations, and identi cation of equal terms under unknown functions. These techniques are being implemented in the Theorema system and are able to construct automatically natural{style proofs for numerous examples including: convergence of sequences, limits and continuity of functions, uniform continuity, and other.</p>
      </abstract>
      <kwd-group>
        <kwd>Satis ability Checking Computation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The need for natural1{style proofs (that is: similar to proofs produced by
humans { see [2]) arises in various applications, as for instance in tutorials,
demonstrations, and interactive teaching systems. Some authors argue for the use of
natural style when the proof system is not completely automatic (e. g. interactive
provers) because this facilitates the interaction with the human user.
? Partially supported by project \Satis ability Checking and Symbolic Computation"
(H2020-FETOPN-2015-CSA 712689).
1 Here we do not mean natural deduction as described e. g. in [7].</p>
      <p>When applied to problems over reals, Satis ability Modulo Theories (SMT)
solving combines techniques from Automated Reasoning and from Computer
Algebra. From the point of view of Automated Reasoning, proving unsatis ability
of a set of clauses appears to be quite di erent from producing natural-style
proofs. Indeed the proof systems are di erent (resolution on clauses2 vs. some
version of sequent calculus3), but they are essentially equivalent, relaying on
equivalent transformations of formulae. Moreover, the most important steps in
rst{order proving, namely the instantiations of universally quanti ed
formulae (which in natural{style proofs is also present as the equivalent operation
of nding witnesses for existentially quanti ed goals), are actually the same or
very similar. (For an illustration of instantiations in natural{style proofs see [4].)
From the point of view of Computer Algebra, nding these instantiations is the
most important operation, thus here again one can use the same techniques in
SMT solving and natural{style proving. Therefore the techniques can be easily
moved from one area to the other, because they are essentially equivalent.</p>
      <p>In this paper we present our results on a class of proof problems which arise
in elementary analysis. These are problems involving formulae with alternating
quanti ers, which are di cult to solve by the purely logic approach, because
this requires the use of a large number of formulae which express the necessary
properties of numbers (naturals, integers, rationals, reals). We use the following
techniques, which extend our previous work [8]:
{ the S-decomposition method for formulae with alternating quanti ers [6],
{ Quanti er Elimination by Cylindrical Algebraic Decomposition [3],
{ analysis of terms behaviour in zero,
{ bounding the -bounds,
{ rewriting of expressions involving absolute value,
{ algebraic manipulations: solving, substitution, and simpli cation,
{ identi cation of equal terms under unknown functions.</p>
      <p>Our prover, implemented in the frame of the Theorema system [2], aims at
producing natural{style proofs for simple theorems involving limits of sequences
and of functions, continuity, uniform continuity, etc. An important aspect of the
naturalness of the proof is the fact that the prover does not need to access a
large collection of formulae (expressing the properties of the domains involved).
Rather, the prover uses symbolic computation techniques from algebra in order
to discover relevant terms and to check necessary conditions, and only needs as
starting formulae the de nitions of the main notions involved.</p>
      <p>The prover can run either in interactive mode (the user has a choice of certain
techniques at certain points) or fully automatic mode, because this is provided
by the Theorema system. When in automatic mode, the proofs tested by us took
at most 30 seconds.
2 en.wikipedia.org/wiki/Resolution (logic) (May 2018)
3 www.encyclopediaofmath.org/index.php/Sequent calculus (May 2018),
en.wikipedia.org/wiki/Sequent calculus (May 2018)</p>
      <p>Example: Product of Convergent Sequences
We illustrate our method by the proof of the theorem \The product of two
convergent sequences is convergent.", which is presented in detail on the next
pages. The lines labeled [K1], . . . , [K5] are not part of the proof, but only
annotations for the purpose of this presentation: they indicate the key steps in
the proof where special symbolic methods have to be used.</p>
      <p>Note the speci c structure of the quanti ed formulae: the quanti er has a
rst underline which declares the type of the variable, and possibly a second
underline which declares a condition upon the quanti ed variable. These two
conditions have a speci c role during the decomposition of the proof using our
method { see [1]. For space reasons, in this presentation we do not address the
treatment of types. Note also that we follow the convention of Mathematica and
Theorema, by denoting function and predicate application by square brackets
instead of the traditional round parantheses.</p>
      <p>
        The proof starts from the de nition of the notion of convergent sequence and
of the product of sequences, and decomposes the theorem into 3 statements: two
assumptions (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ), (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) and one goal (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ).
      </p>
      <p>The main structure of the proof follows from the S-decomposition method
(see [6]): the quanti ers are removed from the 3 statements in parallel, using a
combination of inference steps which decompose the proof into several branches,
introduce Skolem constants4, and require special terms (for instantiations or as
witnesses). In the background the prover keeps certain quanti ed formulae which
express the general structure of the proof and which are used at certain moments
for nding the witnesses and the instantiation terms (as described in [1]).</p>
      <p>
        At the beginning the 3 formulae are existential, in this situation
S-decomposition is applied as follows:
{ First for the assumptions (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ), (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ): introduce the Skolem constants a1; a2
instead of the quanti ed variables; assume that the type conditions under
the quanti er hold;
{ Second for the goal (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ): introduce the witness a1 a2 instead of the
existentially quanti ed variable; prove additionally the type condition (not shown
in the example) under the quanti er.
      </p>
      <p>
        As an e ect of this transformations the 3 formulae become universal (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ), (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ),
(
        <xref ref-type="bibr" rid="ref6">6</xref>
        ), and S-decomposition proceeds as follows:
{ First for the goal (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ): introduce the Skolem constant e0 instead of the
quanti ed variable; assume that the conditions e0 2 R and e0 &gt; 0 under the
quanti er hold;
{ Second for the assumptions (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ), (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ): introduce the instantiation term e = : : :
instead of the universally quanti ed variable; prove additionally the
conditions under the quanti er (the proof of the type condition is not shown in
the example); and instantiate the assumptions.
4 Skolem constants are new constant symbols introduced instead of quanti ed variables
in certain situations: existential assumptions and universal goals.
After these transformations we obtain again 3 existentially quanti ed formulae
and the cycle re-iterates. At every iteration of the proof cycle one needs a witness
for the existential goal and an instantiation term for the universal assumptions:
these are the di cult steps in the proof, for which we use special proof techiques
based on symbolic computation.
      </p>
      <p>De nition: The sequence f : N</p>
      <p>! R is convergent i :
a29R e2R M92Nnn82MNjf [n] aj &lt; e
8
e&gt;0</p>
    </sec>
    <sec id="sec-2">
      <title>Theorem: The product of convergent sequences is convergent.</title>
      <p>
        Proof:
We assume:
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) a29R e2R M92Nnn82MNjf1[n] aj &lt; e
8
e&gt;0
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) a29R e2R M92Nnn82MNjf2[n] aj &lt; e
8
e&gt;0
and we prove :
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) a29R e2R M92Nnn82MNj (f1[n] f2[n])
8
e&gt;0
aj &lt; e
By (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ), (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) we can take a1;a2 2 R such that :
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) 8
e2R M92Nnn82MNjf1[n] a1j &lt; e
e&gt;0
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) 8
e2R M92Nnn82MNjf2[n] a2j &lt; e
e&gt;0
[K1] Witness for the existential goal: a ! a1 a2
      </p>
      <sec id="sec-2-1">
        <title>For proving (3) it is su cient to prove :</title>
        <p>
          (
          <xref ref-type="bibr" rid="ref6">6</xref>
          ) 8
e2R M92Nnn82MNj (f1[n] f2[n]) (a1 a2) j &lt; e
e&gt;0
For proving (
          <xref ref-type="bibr" rid="ref6">6</xref>
          ) we take e0 2 R arbitrary but xed, we assume :
(
          <xref ref-type="bibr" rid="ref7">7</xref>
          ) e0 &gt; 0
and we prove :
(
          <xref ref-type="bibr" rid="ref8">8</xref>
          ) M92Nnn82MNj (f1[n] f2[n]) (a1 a2) j &lt; e0
[K2] Instantiation term for universal assumptions: e ! Min [: : :]
We consider :
e = Min h1; ja2j+ej0a1j+1 i
First we prove :
(9) e &gt; 0
This follows from (
          <xref ref-type="bibr" rid="ref7">7</xref>
          ) and elementary properties of R.
Using (9), from (
          <xref ref-type="bibr" rid="ref4">4</xref>
          ) and (
          <xref ref-type="bibr" rid="ref5">5</xref>
          ) we obtain :
(10) M92Nnn82MNjf1[n] a1j &lt; e
(11) M92Nnn82MNjf2[n]
[K4] Instantiation term for universal assumptions : n ! n0
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>First we prove :</title>
        <p>[K5] Algebraic manipulations
Using elementary properties of R we transform (16) into:
(20) ja1 (f2[n0]
a2) + a2 (f1[n0]
a1) + (f1[n0]
a1) (f2[n0]
Using elementary properties of R, from (18) and (19) we obtain:
(21) ja1 (f2[n0]
a2) + a2 (f1[n0]
a1) + (f1[n0]
a1) (f2[n0]
ja1 (f2[n0]
a2)j + ja2 (f1[n0]
a1)j + j(f1[n0]
a1) (f2[n0]
a2)j &lt; e0
a2)j
a2)j =
= ja1j jf2[n0]
a2j + ja2j jf1[n0]
a1j + jf1[n0]
a1j jf2[n0]
a2j &lt;
&lt; ja1j e + ja2j e + e e</p>
        <p>ja1j e + ja2j e + e = e (ja1j + ja2j + 1) =
e0
= ja2j+ja1j+1</p>
        <p>(ja1j + ja2j + 1) = e0
which proves the goal.
3</p>
        <sec id="sec-2-2-1">
          <title>Application of Special Techniques</title>
          <p>We describe here how the special techniques mentioned in the introduction are
used in the course of the proof presented above, namely at the key steps indicated
with [K1], . . . , [K5].
3.1</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>K1: Witness for Existential Goal</title>
      <p>
        Here the prover must produce the witness a1 a2 needed for the existential
variable a in the current goal (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ). We use the well known technique of metavariables
(see also [4]), that is we replace the existential variable by a new symbol, which
is a name for the term which we need to nd. This term will be found later,
when the prover generates a certain simpli ed formula (see [8, 1]) which we call
formula (A):
8a1;a2 9a0 8e0 (e0 &gt; 0 ) 9e1;e2 (e1 &gt; 0 ^ e2 &gt; 0^
8x1;x2 (jx1
a1j &lt; e1 ^ jx2
a2j &lt; e2) ) jx1
x2
a0j &lt; e0))
The value of the metavariable (standing for a0) can be found using Quanti er
Elimination (QE) by Cylindrical Algebraic Decomposition (CAD), as described
in [1] { which works for the case of the sum of convergent sequences. However
in the case of product the corresponding QE problem cannot be solved in a
reasonable time by CAD (e. g. in Mathematica), and even if solved, it generates
a very complicated expression which cannot be used for nding a0.
      </p>
      <p>In the proof above we used another, much simpler technique: reasoning about
terms behaviour in zero. It is clear that the formula (A) expresses the behaviour
of the polynomials in any (small) vicinity of zero. Since polynomials are
continuous, this will also be their behaviour in zero. One can in fact prove that formula
(A) is equivalent to the formula:
8a1;a2 9a0 8x1;x2 (jx1
a1j = 0 ^ jx2
a2j = 0) ) jx1
x2
a0j = 0
In our special case it is immediately clear that a0 equals a1 a2, but we
implemented a more general method: the two LHS equations are solved for x1; x2,
then the values are replaced in the RHS equation, which is then solved for a0.
3.2</p>
    </sec>
    <sec id="sec-4">
      <title>K2: Instantiantion Term for Universal Assumptions</title>
      <p>
        Here the prover must produce an appropriate term for the instantiation of the
assumptions (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) and (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ). In the case of sum of sequences this is e0=2 and is
relatively easy to guess by a human prover. Similar to [K1], a metavariable is
used instead of the unknown term, and this will correspond to the existential
variables e1; e2 in formula (A).
      </p>
      <p>Again it is possible to use QE by CAD, by treating the formula (A) after
replacing a0 with its value and removal of the quanti ers for a0; a1; a2 { see [1].
This works in the case of sum, but again it does not work satisfactorily in the
case of product.</p>
      <p>In order to nd this witness (we assume that it is the same for e1 and e2), we
use algebraic manipulation (solving, substitution, and computation), as well as
rewriting of terms under the absolute value function. This is probably the most
interesting of the new techniques presented here, and is detailed below at [K5].
3.3</p>
    </sec>
    <sec id="sec-5">
      <title>K3: Witness for the Existential Goal</title>
      <p>
        The proof needs a witness for the existential variable M in the goal (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ).
Similarly to the other key steps, the prover uses a metavariable and produces an
appropriate quanti ed formula whose treatment by QE allows to infer the right
term, as described in [1].
      </p>
    </sec>
    <sec id="sec-6">
      <title>K4: Instantiation of Universal Assumptions</title>
      <p>The assumptions (12) and (13) need to be instantiated with appropriate terms
for the universally quanti ed variable n. Here we use the special heuristics:
identi cation of equal terms under unknown functions.</p>
      <p>Since f1 and f2 are universally quanti ed in the original formula, and later
become arbitrary constants, we do not know anything about their behaviour.
In the goal (16), f1 and f2 have argument n0. Therefore it will be possible to
use the assumptions (12) and (13) for proving (16) only if f1 and f2 are applied
to the same argument. (This corresponds in fact to resolution in rst order
logic.) In the case of this proof the solution is to set n to n0, but even if the
expressions are more complicated one can use equation solving, substitution,
and computation in order to nd more complicated terms. Moreover, after this
instantiation we substitute f1[n0] and f2[n0] with new arbitrary constants (e. g.
x1, x2, respectively): this makes our expressions polynomial and helps creating
the formula (A).
3.5</p>
    </sec>
    <sec id="sec-7">
      <title>K5: Algebraic Manipulations</title>
      <p>The most challenging part is the automatic generation of the instantiation term
needed at step [K2], which is performed by a heuristic combination of solving,
substitution, and simplifying, as well as rewriting of expressions under the
absolute value function.</p>
      <p>Note that the goal (16) has under the absolute value function the expression
(call it E0) corresponding to x1 x2 a1 a2. Let us also name the absolute
value arguments of the assumptions (18) and (19) as E1 and E2, respectively.</p>
      <p>First we use the following heuristic principle: transform the goal expression
E0 such that it uses as much as possible E1 and E2, because about those we know
that they are small. In order to do this we take new variables y1; y2, we solve the
equations y1 = E1 and y2 = E2 for x1; x2, we substitute the solutions in E0 and
the result simpli es to: a1 y2 +a2 y1 +y1 y2. This is the internal representation
of the absolute value argument in the goal (20). Note that the transformation
from (16) to (20) is relatively challenging even for a human prover.</p>
      <p>The formula (21) is realized by rewriting of the absolute value expressions.
Namely, we apply certain rewrite rules to expressions of the form jEj and their
combination, as well as to the metavariable e. Every rewrite rule transforms a
(sub)term into one which is not smaller, so we are sure to obtain a greater or
equal term. The nal purpose of these transformations is to obtain a strictly
positive ground term t multiplied by the target metavariable (here e). Since we
need a value for e which full ls t e e0, we can set e to e0=t. The rewrite
rules come from the elementary properties of the absolute value function: (e. g.
ju + vj juj + jvj)) and from the principle of bounding the -bounds: Since we
are interested in the behaviour of the expressions in the immediated vicinity of
zero, the bounds (e; e0; e1; e2) can be bound from above by any positive value.
In the case of product (presented here), we also use the rule: e e e, that is
we bound e to 1. This is why the nal expression of e is the minimum between
1 and the term t found as above.</p>
      <p>This method works of course also for the case of sum of sequences.</p>
      <p>In order to make it work for more complex expressions, namely rational
functions, we use a second set of rules which decrease the term: in order to obtain
a bound for U=V , increase U and decrease V . Using this we obtain automatically
appropriate bounds for the case of inverse of a sequence and for the case of
fraction of two sequences.</p>
      <p>Full detail of the techniques and of the examples are presented in [5].
3.6</p>
    </sec>
    <sec id="sec-8">
      <title>Proving Simple Conditions</title>
      <p>At certain places in the proof, the conditions upon certain quanti ed variables
have to be proven. The prover does not display a proof of these simple
statements, but just declares them to be consequences of \elementary properties of
R". (Such elementary properties are also invoked when developing formulae (20)
and (21).) By \elementary properties" in this context we understand the
properties of various constants (like 0, 1), functions (like Min, Max, absolute value,
+; ; ; =), and predicates (like =; &lt;; ) over reals and naturals, which are
normally studied before the notions of limit, continuity, etc. and which are typically
considered prerequisites for working in elementary analysis.</p>
      <p>In the background, however, the prover uses Mathematica functions in order
to check that these statements are correct. This happens for the subgoal (9) and
will be treated after the instatiation term is found, by using QE on the formula
8e0 (e0 &gt; 0 ) e &gt; 0) (where e has the found value Min[: : :]), which returns true
in Mathematica. The same procedure is used for the subgoal (17).
4</p>
      <sec id="sec-8-1">
        <title>Conclusion and Further Work</title>
        <p>The full automation of proofs in elementary analysis constitutes a very
intersting application for the combination of logic and algebraic techniques, which
is essentially equivalent to SMT solving (combining satis ability checking and
symbolic computation). Our experiments show that complete and e cient
automation is possible by using certain heuristics in combination with complex
algebraic algorithms.</p>
        <p>Further work includes a systematic treatment of various formulae which
appear in textbooks, and extension of the heuristics to more general types of
formulae. In this way we hope to address the class of problems which are usually
subject to SMT solving.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Abraham</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jebelean</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Adapting Cylindrical Algebraic Decomposition for Proof Speci c Tasks</article-title>
          . In: Kusper,
          <string-name>
            <surname>G</surname>
          </string-name>
          . (ed.)
          <source>ICAI</source>
          <year>2017</year>
          : 10th International Conference on Applied Informatics (
          <year>2017</year>
          ), in print
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Buchberger</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jebelean</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kutsia</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maletzky</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Windsteiger</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          <source>: Theorema 2</source>
          .0:
          <string-name>
            <surname>Computer-Assisted</surname>
          </string-name>
          Natural-
          <source>Style Mathematics. JFR</source>
          <volume>9</volume>
          (
          <issue>1</issue>
          ),
          <volume>149</volume>
          {
          <fpage>185</fpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. Collins,
          <string-name>
            <surname>G.E.</surname>
          </string-name>
          :
          <article-title>Quantier elimination for real closed elds by cylindrical algebraic decomposition</article-title>
          .
          <source>In: Automata Theory and Formal Languages. LNCS</source>
          , vol.
          <volume>33</volume>
          , pp.
          <volume>134</volume>
          {
          <fpage>183</fpage>
          . Springer (
          <year>1975</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Dramnesc</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jebelean</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Synthesis of list algorithms by mechanical proving</article-title>
          .
          <source>Journal of Symbolic Computation</source>
          <volume>69</volume>
          ,
          <issue>61</issue>
          {
          <fpage>92</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Jebelean</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Experiments with Automatic Proofs in Elementary Analysis</article-title>
          .
          <source>Tech. Rep. 18-06</source>
          , Research Institute for Symbolic Computation (RISC), Johannes Kepler University Linz (April
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Jebelean</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Buchberger</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kutsia</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Popov</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schreiner</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Windsteiger</surname>
          </string-name>
          , W.:
          <article-title>Automated Reasoning</article-title>
          . In: Buchberger,
          <string-name>
            <surname>B.</surname>
          </string-name>
          , et al. (eds.) Hagenberg Research, pp.
          <volume>63</volume>
          {
          <fpage>101</fpage>
          . Springer (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Pelletier</surname>
            ,
            <given-names>F.J.:</given-names>
          </string-name>
          <article-title>A history of natural deduction and elementary logic textbooks</article-title>
          .
          <source>Logical consequence: Rival approaches 1</source>
          , 105{
          <fpage>138</fpage>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Vajda</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jebelean</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Buchberger</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Combining Logical and Algebraic Techniques for Natural Style Proving in Elementary Analysis</article-title>
          .
          <source>Mathematics and Computers in Simulation 79(8)</source>
          ,
          <volume>2310</volume>
          {2316 (April
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>