<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Transforming and Analyzing Proofs in the CERES-system *</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Stefan</forename><surname>Hetzl</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Institute of Computer Languages (E185)</orgName>
								<orgName type="institution">Vienna University of Technology</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Alexander</forename><surname>Leitsch</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Institute of Computer Languages (E185)</orgName>
								<orgName type="institution">Vienna University of Technology</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Daniel</forename><surname>Weller</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Institute of Computer Languages (E185)</orgName>
								<orgName type="institution">Vienna University of Technology</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Bruno</forename><forename type="middle">Woltzenlogel</forename><surname>Paleo</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Institute of Computer Languages (E185)</orgName>
								<orgName type="institution">Vienna University of Technology</orgName>
							</affiliation>
						</author>
						<title level="a" type="main">Transforming and Analyzing Proofs in the CERES-system *</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">653460A4A902804306DDE4730909F920</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T09:05+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Cut-elimination is the most prominent form of proof transformation in logic. The elimination of cuts in formal proofs corresponds to the removal of intermediate statements (lemmas) in mathematical proofs. Cut-elimination can be applied to mine real mathematical proofs, i.e. for extracting explicit and algorithmic information. The system CERES (cut-elimination by resolution) is based on automated deduction and was successfully applied to the analysis of nontrivial mathematical proofs.</p><p>In this paper we focus on the input-output environment of CERES, and show how users can interact with the system and extract new mathematical knowledge.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Cut-elimination introduced by Gentzen <ref type="bibr" target="#b5">[6]</ref> is the most prominent form of proof transformation in logic and plays an important role in automating the analysis of mathematical proofs. The removal of cuts corresponds to the elimination of intermediate statements (lemmas) from proofs resulting in a proof which is analytic in the sense, that all statements in the proof are subformulas of the result. Therefore, the proof of a combinatorial statement is converted into a purely combinatorial proof.</p><p>In a formal sense Girard's famous analysis of van der Waerden's theorem <ref type="bibr" target="#b6">[7]</ref> consists in the application of cut-elimination to the proof of Fürstenberg and Weiss (which uses topological arguments) with the "perspective" of obtaining van der Waerden's elementary proof. Indeed, an application of a complex proof transformation like cut-elimination by humans requires a goal oriented strategy.</p><p>CERES <ref type="bibr" target="#b3">[4,</ref><ref type="bibr" target="#b4">5]</ref> is a cut-elimination method that is based on resolution. The method roughly works as follows: The structure of an LK-proof containing cuts is mapped to an unsatisfiable set of clauses C (the characteristic clause set). A resolution refutation of C , which is obtained using a first-order theorem prover, serves as a skeleton for the new proof which contains only atomic cuts (AC normal form). In a final step also these atomic cuts can be eliminated, provided the (atomic) axioms are valid sequents; but this step is of minor mathematical interest and of low complexity. In the system CERES<ref type="foot" target="#foot_0">1</ref> this method of cut-elimination has been implemented. The extension of CERES from LK to LKDe, a calculus containing definition introductions and equality rules (see <ref type="bibr" target="#b9">[10]</ref> and <ref type="bibr" target="#b0">[1]</ref>), moved the system closer to real mathematical proofs. The system CERES has been applied successfully to a well known mathematical proof, namely to Fürstenberg's proof of the infinity of primes <ref type="bibr" target="#b1">[2]</ref>; it was shown that the elimination of topological arguments from the proof resulted in Euclid's famous proof. Though CERES did not (yet) produce substantial mathematical proofs previously unknown, the analysis of Fürstenberg's proof demonstrates the potential of the method to handle nontrivial mathematics.</p><p>The main task of the CERES-method is proof transformation, not just proof verification. For the latter one there are powerful higher-order systems like Isabelle<ref type="foot" target="#foot_1">2</ref> (see <ref type="bibr" target="#b11">[12]</ref>) and Coq <ref type="foot" target="#foot_2">3</ref> (see <ref type="bibr" target="#b10">[11]</ref>); these Rudnicki P, Sutcliffe G., Konev B., Schmidt R., Schulz S. (eds.); Proceedings of the Combined KEAPPA -IWIL Workshops, pp. 77-91</p><p>Proofs in the CERES-system Hetzl, Leitsch, Weller, Woltzenlogel Paleo systems have been used successfully to verify complicated and famous mathematical proofs like this of the four color theorem (see http://research.microsoft.com/ ~gonthier/). The core algorithm of CERES, however, works on LK-proofs and performs cut-elimination. For this reason we have developed the higher proof language HLK which is close to the sequent calculus LK, making translations to LK easy and efficient.</p><p>In this paper we present the input-output environment of CERES and illustrate the interaction of users with the system. In the first step proofs are formalized in HLK. The formalized proof is then compiled to LKDe and analyzed by the CERES-algorithm, and finally the resulting atomic cut normal form can be viewed by Prooftool. Moreover, from the normal form a Herbrand sequent can be extracted which contains mathematical information in a more condensed form. We illustrate all phases of proof specification and analysis by an example, the tape proof of Christian Urban (see also <ref type="bibr" target="#b0">[1]</ref>).  steps are executed within the system and in interaction with the user:</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">System overview</head><p>1. The user (intended to be a mathematician with a background in logic) selects an interesting informal mathematical proof to be transformed and analyzed. Informal mathematical proofs are proofs in natural language, as they usually occur in mathematics.</p><p>2. The user writes the selected proof in HandyLK , a higher proof language, intermediary between natural mathematical language and formal calculi.</p><p>3. The HandyLK proof is input to the compiler HLK.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>4.</head><p>HLK generates a formal proof in sequent calculus LKDe.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>5.</head><p>The formal proof is input to CERES, which is responsible for all sorts of proof transformations, including cut-elimination.</p><p>6. CERES extracts from the formal proof a characteristic clause set, which contains clauses formed from ancestors of cut-formulas in the formal proof.</p><p>7. The characteristic clause set is then input to a resolution theorem prover, e.g. Otter<ref type="foot" target="#foot_3">4</ref> or Prover9<ref type="foot" target="#foot_4">5</ref> .</p><p>8. The resolution theorem prover outputs a refutation of the characteristic clause set.</p><p>9. CERES receives the refutation, which will be used as a skeleton for the transformed proof in atomiccut normal form (ACNF).</p><p>10. CERES outputs the grounded refutation in a tree format and the characteristic clause set. Moreover it extracts projections from the formal proof and plugs them into the refutation in order to generate the ACNF. The projections and the ACNF are also output. A Herbrand sequent is obtained from the instantiation information of the quantifiers of the end-sequent (resulting in an (equationally) valid sequent) and output as well. The Herbrand sequent typically summarizes the creative content of the ACNF. For details, see <ref type="bibr" target="#b7">[8]</ref>.</p><p>11. All outputs and inputs of CERES can be opened with ProofTool.</p><p>12. ProofTool, a graphical user interface, renders all proofs, refutations, projections, sequents and clause sets so that they can be visualized by the user.</p><p>13. The information displayed via ProofTool is analyzed by the user.</p><p>14. Based on his analysis, the user can formulate new mathematical ideas, e.g. a new informal direct proof corresponding to the ACNF.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Proof analysis with CERES</head><p>Our calculus LKDe is based on standard LK with permutation, contraction and weakening, atomic axioms and multiplicative rules. For example, the following rules deal with the ∧-connective:</p><formula xml:id="formula_0">Γ ∆, A Π Λ, B Γ, Π ∆, Λ, A ∧ B ∧ : r A, Γ ∆ A ∧ B, Γ ∆ ∧ : l1 A, Γ ∆ B ∧ A, Γ ∆ ∧ : l2</formula><p>In addition, to bring the calculus closer to mathematical practice, definition introduction and equality handling rules are used: Let A be a first-order formula with the free variables x 1 , . . . , x k (denoted by A(x 1 , . . . , x k )) and P be a new k-ary predicate symbol (corresponding to the formula A). Then the definition introduction rules are: The equality rules (also called paramodulation rules) are:</p><formula xml:id="formula_1">A(t 1 , . . . ,t k ), Γ ∆ P(t 1 , . . . ,t k ), Γ ∆ def P : l Γ ∆, A(</formula><formula xml:id="formula_2">Γ 1 ∆ 1 , s = t A[s] Λ , Γ 2 ∆ 2 A[t] Λ , Γ 1 , Γ 2 ∆ 1 , ∆ 2 = : l1 Γ 1 ∆ 1 ,t = s A[s] Λ , Γ 2 ∆ 2 A[t] Λ , Γ 1 , Γ 2 ∆ 1 , ∆ 2 = : l2</formula><p>for inference on the left and</p><formula xml:id="formula_3">Γ 1 ∆ 1 , s = t Γ 2 ∆ 2 , A[s] Λ Γ 1 , Γ 2 ∆ 1 , ∆ 2 , A[t] Λ = : r1 Γ 1 ∆ 1 ,t = s Γ 2 ∆ 2 , A[s] Λ Γ 1 , Γ 2 ∆ 1 , ∆ 2 , A[t] Λ = : r2</formula><p>on the right, where Λ denotes a set of positions of subterms where replacement of s by t has to be performed. We call s = t the active equation of the rules.</p><p>We will now introduce the CERES system by presenting the analysis of a proof from <ref type="bibr" target="#b12">[13]</ref>; it was formalized in LKDe and analyzed by CERES in <ref type="bibr" target="#b0">[1]</ref>. The end-sequent formalizes the statement: on a tape with infinitely many cells which are all labelled by 0 or by 1 there are two cells labelled by the same number. f (x) = 0 expresses that the cell nr. x is labelled by 0. Indexing of cells is done by number terms defined over 0, 1 and +. The proof ϕ below uses two lemmas: (1) there are infinitely many cells labelled by 0 and (2) there are infinitely many cells labelled by 1. These lemmas are eliminated by CERES and a more direct argument is obtained in the resulting proof ϕ .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Specifying proofs in HandyLK</head><p>In this section, we introduce the higher proof language HandyLK by presenting its most important features and syntax by means of our example proof. HandyLK is based on the idea that many aspects of writing LKDe proofs can be automatized. It supports a many-sorted first-order language.</p><p>Before starting to write proofs, it is first necessary to define the language and the function and predicate definitions one intends to use. In our example, we deal with a language with one sort (natural numbers) and the constants mentioned above. In HandyLK , we write: define type nat; define constant 0, 1 of type nat; define infix function + of type nat,nat to nat with weight 100; define function f of type nat to nat;</p><p>In the definition of infix functions like +, we may set a weight that allows terms to be written in the usual mathematical way, where superfluous brackets may be dropped. In addition to the constants, we define some variables that will be used in the proof. Here, the function f is the labelling function assigning labels to tape cells. define variable k, l, n, p, q, x, n_0, n_1 of type nat;</p><p>We also define the axioms we will use. Note that :-represents in HandyLK .</p><formula xml:id="formula_4">define axiom :-k + l = l + k; define axiom :-k + (l + n) = (k + l) + n; define axiom k = k + (1 + l) :-; define axiom :-k = k;</formula><p>Finally, we introduce some predicate definitions.</p><p>define predicate A by all x ( f(x) = 0 or f(x) = 1 ); define predicate I by all n ex k f( n + k ) = x; Note that in the definition of I, x is a free variable. The free variables determine the arity of the defined predicate, and can be instantiated by parameters. If P is a defined predicate, F is its defining formula and x are the free variables of F, then the predicate definition is interpreted as ∀ x(P( x) ⇐⇒ F). In our example, the predicate A is the assumption: All cells are labelled either 0 or 1. The predicate I(x) states that there are infinitely many cells labelled x.</p><p>We now turn to formalizing our example proof ϕ. In LKDe, ϕ is</p><formula xml:id="formula_5">(τ) A I(0), I(1) (ε(0)) I(0) ∃p∃q(p = q ∧ f (p) = f (q)) A ∃p∃q(p = q ∧ f (p) = f (q)), I(1) cut (ε(1)) I(1) ∃p∃q(p = q ∧ f (p) = f (q)) A ∃p∃q(p = q ∧ f (p) = f (q)) cut</formula><p>Here τ is a proof of the fact that either infinitely many cells are labelled 0, or infinitely many cells are labelled 1. The two applications of cut encode the application of two lemmas ε(n) for n ∈ {0, 1}: if there are infinitely many cells labelled n, then there are two cells labelled by the same number.</p><p>In HandyLK , we start the specification of the proof by giving an identifier, here we choose the name the-proof: define proof the-proof Next, the end-sequent is fixed: proves A :-ex p ex q ( not p = q and f(p) = f(q) ); Now, we begin by specifying the inferences from the bottom up. In HandyLK , only the active formulas of a rule have to be specified, and no structural rules (except cut) have to be written down explicitly. The HLK compiler keeps track of the formulas used in the proof, and automatically inserts the structural rules necessary to be able to apply the rules specified by the user. The first inference in ϕ is a cut, which is a binary rule. Due to the linear nature of the HandyLK language, one of the subproofs above the binary rule has to be referenced. The following proof reference clauses are available: by proof proof auto propositional sequent explicit axiom sequent</p><p>The first clause gives the name of the subproof with which to continue, the second clause states that the subproof ends in a propositional tautology whose proof should be computed automatically, and the last clause asserts that the subproof consists solely of an axiom. In our example we reference the proof ε(1).</p><formula xml:id="formula_6">with cut I(1)</formula><p>right by proof \epsilon(1);</p><p>This specifies an application of cut with cut formula I(1), where the right subproof will be ε(1). In LKDe, this will be a rule application</p><formula xml:id="formula_7">Γ ∆, I<label>(1)</label></formula><formula xml:id="formula_8">(ε(1)) I(1), Π Λ Γ, Π ∆, Λ cut</formula><p>where Γ, Π, ∆, Λ will be populated by the appropriate formulas automatically by the HLK compiler. We continue the HandyLK specification of this proof part with the left subproof of the first application of cut by encoding the second application: here, we reference both the left subproof τ and the right subproof ε(0).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>with cut I(0)</head><p>left by proof \tau right by proof \epsilon(0); ;</p><p>This completes the HandyLK specification of ϕ -but to be able to actually compile the proof into an LKDe-proof, the subproofs τ, ε(0) and ε(1) have to be encoded in HandyLK . We continue by showing the HandyLK rule applications in τ, which are definition introduction and quantifier rules. The proof τ starts by expanding the two occurrences of the defined predicate I:</p><formula xml:id="formula_9">A ∀n∃k f (n + k) = 0, ∀n∃k f (n + k) = 1 A I(0), ∀n∃k f (n + k) = 1 def I : r A I(0), I(1) def I : r</formula><p>In HandyLK , it suffices to specify the predicate to be expanded and give the auxiliary formulas of the rules, the correct main formula is then found by HLK through matching:</p><formula xml:id="formula_10">with undef I :-all n ex k f( n + k ) = 0, all n ex k f( n + k ) = 1;</formula><p>Next, the two strong quantifiers are eliminated by ∀ : r rules, introducing the eigenvariables n 0 and n 1 :</p><formula xml:id="formula_11">A ∃k f (n 0 + k) = 0, ∃k f (n 1 + k) = 1 A ∃k f (n 0 + k) = 0, ∀n∃k f (n + k) = 1 ∀ : r A ∀n∃k f (n + k) = 0, ∀n∃k f (n + k) = 1 ∀ : r</formula><p>The corresponding HandyLK code is with all right :-ex k f( n_0 + k ) = 0, ex k f( n_1 + k ) = 1;</p><p>Again, it suffices to specify the auxiliary formulas, the correct main formulas are found by matching. The same holds for the weak quantifier rules. In our example, we instantiate them by n 1 and n 0 , respectively:</p><formula xml:id="formula_12">A f (n 0 + n 1 ) = 0, f (n 1 + n 0 ) = 1 A ∃k f (n 0 + k) = 0, f (n 1 + n 0 ) = 1 ∃ : r A ∃k f (n 0 + k) = 0, ∃k f (n 1 + k) = 1 ∃ : r with ex right :-f( n_0 + n_1 ) = 0, f( n_1 + n_0 ) = 1;</formula><p>Of course, HLK checks whether the quantifier rule applications are legal. Our proof τ is nearly doneit remains to decompose our assumption A and to use the commutativity of +. We only show the latter, which is encoded with an application of paramodulation:</p><formula xml:id="formula_13">n 0 + n 1 = n 1 + n 0 f (n 1 + n 0 ) = 1 f (n 1 + n 0 ) = 1 f (n 0 + n 1 ) = 1 f (n 1 + n 0 ) = 1 = : l 2</formula><p>Such a paramodulation application is common when formalizing proofs from mathematics: an equality axiom from the background theory is used as the active equation. For this reason, it receives special treatment in HandyLK : the active equation is simply specified in a by clause.</p><p>with paramod by n_0 + n_1 = n_1 + n_0 right f( n_1 + n_0 ) = 1 :-;</p><p>This rule application can also be encoded in the general syntax for binary rules, using a proof reference:</p><p>with paramod f( n_1 + n_0 ) = 1 :left explicit axiom :-n_0 + n_1 = n_1 + n_0 ;</p><p>Recall that the definition of ϕ in HandyLK contained references to proofs ε(0) and ε(1), which show that under the assumption that there are infinitely many cells labelled 0 and 1, respectively, it follows that two cells are labelled by the same number. Clearly, these proofs have a similar structure -this fact can be exploited in HandyLK by writing a meta proof that can be instantiated with some specific terms:</p><p>define proof \epsilon with meta term i of type nat; proves I(i) :-ex p ex q ( not p = q and f(p) = f(q) );</p><p>We omit the details of the specification of the meta proof ε(i). Additionally, HandyLK supports the definition of proofs in a recursive way, which is a convenient way to encode sequences of proofs. This feature was used to encode a sequence of proofs for the formula scheme from <ref type="bibr" target="#b2">[3]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">XML format for proofs</head><p>The programs in the CERES system do not work directly with proofs written in HandyLK -these proofs are compiled into a flexible XML format using the HLK compiler. XML is a well known data representation language which allows the use of arbitrary and well known utilities for editing, transformation and presentation and standardized programming libraries. We are interested in tree-style proofs, formulas and terms. Data is structured in trees in XML, therefore the encoding and decoding of these objects is very straightforward. The format is flexible in the sense that it only assumes that proofs are trees or directed acyclic graphs of rule applications that are labelled by sequents. In our practice, it has been used successfully to encode LKDe and resolution proofs. The following abbreviated XML code represents the proof ϕ: &lt;proof symbol="the-proof" calculus="LK"&gt; &lt;rule symbol="c:r" type="contrr" param="2"&gt; &lt;sequent&gt;...&lt;/sequent&gt; &lt;rule symbol="cut" type="cut"&gt; &lt;sequent&gt;...&lt;/sequent&gt; &lt;rule symbol="\pi:r" type="permr" param="(1 2)"&gt; &lt;sequent&gt;...&lt;/sequent&gt; &lt;rule symbol="cut" type="cut"&gt; &lt;sequent&gt;...&lt;/sequent&gt; &lt;prooflink symbol="\tau"/&gt; &lt;prooflink symbol="\epsilon(0)"/&gt; &lt;/rule&gt; &lt;/rule&gt; &lt;prooflink symbol="\epsilon(1)"/&gt; &lt;/rule&gt; &lt;/rule&gt; &lt;/proof&gt;</p><p>The symbol attributes are used for the visual presentation of the proof trees: they allow the user to identify proofs and rules. The param attributes contain additional rule information, in the example they specify which formulas are to be contracted (by the contraction rule c:r) and how the formulas are to be permuted (by the permutation rule \pi:r). The prooflink tags reference other proofs by their name and allow the representation of proofs as DAGs.</p><p>In the above example, the formulas contained in the sequents have been left out. To give an example of how a formula is encoded in the XML format, consider the following XML code corresponding to the formula R(c, f (c)) ∧ P(c): &lt;conjunctiveformula type="and"&gt; &lt;constantatomformula symbol="R"&gt; &lt;constant symbol="c"/&gt; &lt;function symbol="f"&gt; &lt;constant symbol="c"/&gt; &lt;/function&gt; &lt;/constantatomformula&gt; &lt;constantatomformula symbol="P"&gt; &lt;constant symbol="c"/&gt; &lt;/constantatomformula&gt; &lt;/conjunctiveformula&gt; Data is organized in our XML format in a proofdatabase containing a number of proofs. The proofdatabase may also contain 1. a list of defined predicates and their definitions, 2. a list of sequents specifying the axioms of the background theory in which the proofs are written, 3. arbitrary lists of sequents identified by some symbol (e.g. to store a Herbrand sequent).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3">The CERES method</head><p>To prepare for the following section, we will now introduce the theoretical background for the CERES method of cut-elimination, which is used by the CERES system to compute a proof in atomic cut normal form and, in the end, a Herbrand sequent.</p><p>The central idea of CERES consists in extracting a so-called characteristic clause set from a proof, and then using a resolution refutation of this set to obtain a proof with only atomic cuts. We consider the proofs in LKDe as directed trees with nodes which are labelled by sequents, where the root is labelled by the end-sequent. According to the inference rules, we distinguish binary and unary nodes. In an inference</p><formula xml:id="formula_14">ν 1 : S 1 ν 2 : S 2 ν : S x</formula><p>where ν is labelled by S, ν 1 by S 1 and ν 2 by S 2 , we call ν 1 , ν 2 predecessors of ν. Similarly ν is predecessor of ν in a unary rule if ν labels the premiss and ν the consequent. Then the predecessor relation is defined as the reflexive and transitive closure of the relation above. Every node is predecessor of the root, and the axioms have only themselves as predecessors. For a formal definition of the concepts we refer to <ref type="bibr" target="#b3">[4]</ref> and <ref type="bibr" target="#b4">[5]</ref>. Let Ω be the set of all occurrences of cut-formulas in sequents of an LKDe-proof ϕ. The cut-formulas are not ancestors of the formulas in the end-sequent, but they might have ancestors in the axioms (if the cuts are not generated by weakening only). The construction of the characteristic clause set is based on the ancestors of the cuts in the axioms. Note that clauses are just defined as atomic sequents. We define a set of clauses C ν for every node ν in ϕ inductively:</p><p>• If ν is an occurrence of an axiom sequent S(ν), and S is the subsequent of S(ν) containing only the ancestors of Ω then C ν = {S }.</p><p>• Let ν be the predecessor of ν in a unary inference then C ν = C ν .</p><p>• Let ν 1 , ν 2 be the predecessors of ν in a binary inference. We distinguish two cases (a) The auxiliary formulas of ν 1 , ν 2 are ancestors of Ω. Then</p><formula xml:id="formula_15">C ν = C ν 1 ∪ C ν 2 .</formula><p>(b) The auxiliary formulas of ν 1 , ν 2 are not ancestors of Ω. Then</p><formula xml:id="formula_16">C ν = C ν 1 × C ν 2 .</formula><p>where The characteristic clause set CL(ϕ) of ϕ is defined as C ν 0 , where ν 0 is the root.</p><p>Theorem 1. Let ϕ be a proof in LKDe. Then the clause set CL(ϕ) is equationally unsatisfiable.</p><p>Remark. A clause set C is equationally unsatisfiable if C does not have a model where = is interpreted as equality over a domain.</p><p>Proof. This proof first appeared in <ref type="bibr" target="#b0">[1]</ref>. Let ν be a node in ϕ and S (ν) the subsequent of S(ν) which consists of the ancestors of Ω (i.e. of a cut). It is shown by induction that S (ν) is LKDe-derivable from C ν . If ν 0 is the root then, clearly, S (ν 0 ) = and the empty sequent is LKDe-derivable from the axiom set C ν 0 , which is just CL(ϕ). As all inferences in LKDe are sound over equational interpretations (where new symbols introduced by definition introduction have to be interpreted according to the defining equivalence), CL(ϕ) is equationally unsatisfiable. Note that, without the rules = : l and = : r, the set CL(ϕ) is just unsatisfiable. Clearly the rules = : l and = : r are sound only over equational interpretations.</p><p>The next steps in CERES are</p><p>(1) the computation of the proof projections ϕ[C] w.r.t. clauses C ∈ CL(ϕ),</p><p>(2) the refutation of the set CL(ϕ), resulting in an RP-tree γ, i.e. in a deduction tree defined by the inferences of resolution and paramodulation, and</p><p>(3) "inserting" the projections ϕ[C] into the leaves of γ.</p><p>For step <ref type="bibr" target="#b0">(1)</ref> we skip in ϕ all inferences where the auxiliary resp. main formulas are ancestors of a cut. Instead of the end-sequent S we get S •C for a C ∈ CL(ϕ).</p><p>Step (2) consists in ordinary theorem proving by resolution and paramodulation (which is equationally complete). For refuting CL(ϕ) any first-order resolution prover can be used. By the completeness of the methods we find a refutation tree γ as CL(ϕ) is unsatisfiable by Theorem 1.</p><p>Step (3) makes use of the fact that, after computation of the simultaneous most general unifier of the inferences in γ, the resulting tree γ is actually a derivation in LKDe. Indeed, after computation of the simultaneous unifier, paramodulation becomes = : l and = : r and resolution becomes cut in LKDe. Note that the definition rules, like the logical rules, do not appear in γ . Now for every leaf ν in γ , which is labelled by a clause C (an instance of a clause C ∈ CL(ϕ)) we insert the proof projection ϕ[C ]. The result is a proof with only atomic cuts.</p><p>The proof projection is only sound if the proof ϕ is skolemized, i.e. there are no strong quantifiers (i.e. quantifiers with eigenvariable conditions) in the end-sequent. If ϕ is not skolemized a priori it can be transformed into a skolemized proof ϕ in polynomial (at most quadratic) time; for details see <ref type="bibr" target="#b2">[3]</ref>.</p><p>For illustration, consider the following example: </p><formula xml:id="formula_17">ϕ = ϕ 1 ϕ 2 (∀x)(P(x) → Q(x)) (∃y)(P(a) → Q(y)) cut ϕ 1 = P(u) P(u) Q(u) Q(u) P(u) , P(u) → Q(u) Q(u) →: l P(u) → Q(u) (P(u) → Q(u)) →: r P(u) → Q(u) (∃y)(P(u) → Q(y)) ∃ : r<label>(</label></formula><formula xml:id="formula_18">P(a) P(u) Q(u) Q(a) R Q(v) R</formula><p>does the job of refuting CL(ϕ). By applying the most general unifier σ of δ , we obtain a ground refutation γ = δ σ :</p><formula xml:id="formula_19">P(a) P(a) Q(a) Q(a) R Q(a) R</formula><p>This will serve as a skeleton for a proof in ACNF. To complete the construction, we combine the skeleton with the following projections (grounded by σ ): </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.4">Cut-elimination, proof visualization and Herbrand sequent extraction with CERES</head><p>After compiling the HandyLK source to XML with HLK, it is possible to perform proof analysis using the CERES tool. In our example, we are interested in extracting a Herbrand sequent from a cut-free proof of the end-sequent of ϕ. To this end, the CERES method is used, which extracts an unsatisfiable set of clauses from the proof and refutes it. In theory, any resolution prover can be used to refute this set of clauses; Table <ref type="table" target="#tab_1">1</ref> lists the format conversions currently supported by our implementation. In our example, we use Otter to find a resolution refutation. Running CERES yields the following characteristic clause set in Otter input format -&gt; =("f"(+(x4, x5)), "0"), =("f"(+(x5, x4)), "1"). % (C1) =("f"(+(x4, x6)), "0"), =("f"(+(+(+(x4, x6), "1"), x7)), "0") -&gt;. % (C2) =("f"(+(x4, x6)), "1"), =("f"(+(+(+(x4, x6), "1"), x7)), "1") -&gt;. % (C3) which corresponds to the set of clauses</p><formula xml:id="formula_20">CL(π) = { f (x 4 + x 5 ) = 0, f (x 5 + x 4 ) = 1; f (x 4 + x 6 ) = 0, f (((x 4 + x 6 ) + 1) + x 7 ) = 0 ; f (x 4 + x 6 ) = 1, f (((x 4 + x 6 ) + 1) + x 7 ) = 1 } which is refutable in arithmetic.</formula><p>The Otter proof object resulting from the successful refutation is then converted into a resolution tree in XML format. According to the CERES method, this refutation is then transformed into an LKDe proof ϕ of the end-sequent of ϕ in ACNF. ϕ consists of 1262 rules, and is clearly too large to be depicted here (a small part of it can be seen in Figure <ref type="figure" target="#fig_7">2(b)</ref>). From ϕ , a Herbrand sequent is extracted and stored in XML as a list of sequents (containing only the Herbrand sequent). All proofs and sequents computed during the analysis can be visualized using ProofTool as seen in Figure <ref type="figure" target="#fig_7">2</ref>.  To make the Herbrand sequent extracted in our example easier to read, the terms have been simplified modulo commutativity and associativity of +, and the following abbreviations are used:</p><formula xml:id="formula_21">p 1 = x + z + 2, p 2 = x + z + 4, p 3 = z + 1, p 4 = x + y + z + 3, p 5 = w + x + y + z + 6, p 6 = w + x + y + z + 8, p 7 = w + x + y + z + 4,</formula><p>With this, the Herbrand sequent of the ACNF of the tape proof is</p><formula xml:id="formula_22">f (p 1 ) = 0 ∨ f (p 1 ) = 1, f (p 2 ) = 0 ∨ f (p 2 ) = 1, f (p 3 ) = 0 ∨ f (p 3 ) = 1, f (p 4 ) = 0 ∨ f (p 4 ) = 1, f (p 5 ) = 0 ∨ f (p 5 ) = 1, f (p 6 ) = 0 ∨ f (p 6 ) = 1, f (p 7 ) = 0 ∨ f (p 7 ) = 1 p 1 = p 2 ∧ f (p 1 ) = f (p 2 ), p 3 = p 1 ∧ f (p 3 ) = f (p 1 ), p 3 = p 2 ∧ f (p 3 ) = f (p 2 ), p 1 = p 4 ∧ f (p 1 ) = f (p 4 ), p 5 = p 6 ∧ f (p 5 ) = f (p 6 ), p 7 = p 5 ∧ f (p 7 ) = f (p 5 ), p 7 = p 6 ∧ f (p 7 ) = f (p 6 ), p 4 = p 7 ∧ f (p 4 ) = f (p 7 ).</formula><p>Clearly, the Herbrand sequent is much smaller than the ACNF from which it is extracted. As it contains all quantifier instantiation information from the proof, it is much better suited to human interpretation than the proof itself. The Herbrand sequent we extracted from ϕ can be interpreted as the following proof:</p><p>Theorem 2. On a tape with infinitely many cells where each cell is labelled 0 or 1, there are two distinct cells that are labelled the same.</p><p>Proof. It is easy to see that the following inequalities hold:</p><formula xml:id="formula_23">p 1 = p 2 , p 3 = p 1 , p 3 = p 2 , p 1 = p 4 , p 5 = p 6 , p 7 = p 5 , p 7 = p 6 , p 4 = p 7 .</formula><p>We may therefore delete their occurrences from the right side of the Herbrand sequent and obtain the simplified sequent Now, we assume that this sequent is false and obtain a contradiction. If the sequent is false, then all formulas on the left side are true and all formulas on the right side are false, so we may assume f (p i ) = 0 ∨ f (p i ) = 1 for i ∈ {1, . . . , 7}. Let f (p 1 ) = a with a ∈ {0, 1} and let ā = 1 − a. We have assumed that the first formula on the right side is false, so f (p 2 ) = ā. From the second formula we obtain f (p 3 ) = ā, and from the third f (p 3 ) = ā = a, which yields the desired contradiction.</p><formula xml:id="formula_24">f (p 1 ) = 0 ∨ f (p 1 ) = 1, f (p 2 ) = 0 ∨ f (p 2 ) = 1, f (p 3 ) = 0 ∨ f (p 3 ) = 1, f (p 4 ) = 0 ∨ f (p 4 ) = 1, f (p 5 ) = 0 ∨ f (p 5 ) = 1, f (p 6 ) = 0 ∨ f (p 6 ) = 1, f (p 7 ) = 0 ∨ f (p 7 ) = 1 f (p 1 ) = f</formula><p>Note that the proof extracted from the Herbrand sequent uses only 3 cells even though the sequent itself is not minimal. Still, the proof yields a minimal Herbrand sequent directly: Comparing the proof obtained from the Herbrand sequent with the original proof, we have gained an important piece of information: in the original proof, it is shown that either infinitely many cells are labelled 0 or 1, while in the cut-free proof, only finitely many cells are used in the proof.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Open problems and future work</head><p>On the theoretical side we are working on the following two major extensions of the CERES-method: The first is an extension of CERES to second-order logic, a first step in that direction has been achieved by extending it to the fragment of second-order proofs defined by containing only quantifier-free comprehension in <ref type="bibr" target="#b8">[9]</ref>. This extension will allow the formalization of a much broader range of mathematical proofs and yield a more convenient proof formalization. The second theoretical extension enables the method to work without skolemization whose main benefit will be the ability to eliminate single cuts or even parts of a cut which is more realistic in mathematical applications than the simultaneous elimination of all cuts.</p><p>Concerning the practical aspects, it became clear in our experiments with the system that there are two bottlenecks: 1. the formalization of the input proof and 2. finding a resolution refutation of the characteristic clause set. Accordingly also these two points are of major concern for our future work.</p><p>To ease the formalization of the input proof, we plan to enhance the capabilities of HLK, in particular those of the auto propositional-mode to cover also reasoning in equational background theories</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1</head><label>1</label><figDesc>Figure 1 sketches how HLK, CERES and ProofTool can be used by a mathematician to analyze existing mathematical proofs and obtain new ones. According to the labels in the edges of Figure 1, the following</figDesc><graphic coords="2,93.57,330.12,410.85,235.35" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: Working with HLK, CERES and ProofTool.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head></head><label></label><figDesc>A similar relation holds between formula occurrences in sequents. Instead of a formal definition we give an example. Consider the rule: ∀x.P(x) P(a) ∀x.P(x) P(b) ∀x.P(x) P(a) ∧ P(b) ∧ : r The occurrences of P(a) and P(b) in the premiss are ancestors of the occurrence of P(a) ∧ P(b) in the consequent. P(a) and P(b) are called auxiliary formulas of the inference, and P(a) ∧ P(b) the main formula. ∀x.P(x) in the premisses are ancestors of ∀x.P(x) in the consequent. Again the ancestor relation is defined by reflexive transitive closure.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head></head><label></label><figDesc>C × D = {C • D | C ∈ C , D ∈ D} and C • D is the merge of the clauses C and D.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head></head><label></label><figDesc>∀x)(P(x) → Q(x)) (∃y)(P(u) → Q(y)) ∀ : l(∀x)(P(x) → Q(x)) (∀x)(∃y)(P(x) → Q(y)) ∀ : r ϕ 2 = P(a) P(a) Q(v) Q(v) P(a), (P(a) → Q(v)) Q(v) →: l (P(a) → Q(v)) P(a) → Q(v) →: r (P(a) → Q(v)) (∃y)(P(a) → Q(y)) ∃ : r (∃y)(P(a) → Q(y)) (∃y)(P(a) → Q(y)) ∃ : l (∀x)(∃y)(P(x) → Q(y)) (∃y)(P(a) → Q(y)) ∀ : l We have CL(ϕ) = {P(u) Q(u); P(a); Q(v) }.The resolution refutation δ of CL(ϕ)</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>ϕ(C 1</head><label>1</label><figDesc>) = P(a) P(a) Q(a) Q(a) P(a), P(a) → Q(a) Q(a) →: l P(a), (∀x)(P(x) → Q(x)) Q(a) ∀ : l P(a), (∀x)(P(x) → Q(x)) (∃y)(P(a) → Q(y)), Q(a) w : r ϕ(C 2 ) = P(a) P(a) P(a) P(a), Q(v) w : r P(a) → Q(v), P(a) →: r (∃y)(P(a) → Q(y)), P(a) ∃ : r(∀x)(P(x) → Q(x)) (∃y)(P(a) → Q(y)), P(a) w : l ϕ(C 3 ) = Q(a) Q(a) P(a), Q(a) Q(a) w : l Q(a) P(a) → Q(a) →: r Q(a) (∃y)(P(a) → Q(y)) ∃ : r Q(a), (∀x)(P(x) → Q(x)) (∃y)(P(a) → Q(y)) w : lThe composition of skeleton and projections yieldsϕ(γ) = ϕ(C 2 ) B C, P(a) ϕ(C 1 ) P(a), B C, Q(a) B, B C,C, Q(a) cut ϕ(C 3 ) Q(a), B C B, B, B C,C,C cut B C contractions where B = (∀x)(P(x) → Q(x)), C = (∃y)(P(a) → Q(y)). Clearly, ϕ(γ) is a proof of the end-sequent of ϕ in ACNF.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head></head><label></label><figDesc>(a) Visualizing the input proof ϕ. (b) A bird's eye view on the output proof ϕ .</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_7"><head>Figure 2 :</head><label>2</label><figDesc>Figure 2: ProofTool screenshots</figDesc><graphic coords="12,80.52,318.44,202.00,124.75" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_8"><head></head><label></label><figDesc>(p 2 ), f (p 3 ) = f (p 1 ), f (p 3 ) = f (p 2 ), f (p 1 ) = f (p 4 ), f (p 5 ) = f (p 6 ), f (p 7 ) = f (p 5 ), f (p 7 ) = f (p 6 ), f (p 4 ) = f (p 7 ).</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_9"><head>f (p 1 )</head><label>1</label><figDesc>= 0 ∨ f (p 1 ) = 1, f (p 2 ) = 0 ∨ f (p 2 ) = 1, f (p 3 ) = 0 ∨ f (p 3 ) = 1, p 1 = p 2 ∧ f (p 1 ) = f (p 2 ), p 3 = p 1 ∧ f (p 3 ) = f (p 1 ), p 3 = p 2 ∧ f (p 3 ) = f (p 2 ).</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>Table 1 :</head><label>1</label><figDesc>Format conversions supported by CERES</figDesc><table><row><cell>From</cell><cell>To</cell></row><row><cell>XML</cell><cell>TPTP</cell></row><row><cell>XML</cell><cell>Otter input</cell></row><row><cell>XML</cell><cell>Prover9 input</cell></row><row><cell cols="2">Otter proof object XML</cell></row><row><cell>Prover9 output</cell><cell>XML</cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">available at http://www.logic.at/ceres/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">available at http://www.cl.cam.ac.uk/research/hvg/Isabelle/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2">available at http://coq.inria.fr/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_3">available at http://www-unix.mcs.anl.gov/AR/otter/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_4">available at http://www.cs.unm.edu/ ~mccune/prover9/</note>
		</body>
		<back>

			<div type="funding">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>* Supported by the Austrian Science Fund (project P19875)</p></div>
			</div>

			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Proofs in the CERES-system Hetzl, Leitsch, Weller, Woltzenlogel Paleo specified by term rewriting systems. We expect this feature to greatly reduce the amount of time spent on proof formalization, as large parts of formalized proofs consist of equational reasoning. In the long term, however, an interesting option would be to use one of the available proof assistants for the formalization of proofs as these are highly developed tools. The theoretical obstacle to the use of existing proof assistants lies in the fact that a translation of the formalized proof is necessary, as proof assistants typically work in set theory or higher-order logic. Moreover, this translation should not be uniform because, depending on the formalized proof and the aims of the proof analysis, one logical translation will be more useful than another. The main practical obstacle lies in transforming proof objects generated by the proof assistant (if they are provided at all) into the sequent calculus format as described in Section 3.2. Here, a lot of work will have to go into importing the standard library of basic number systems, basic operations, data structures, etc.</p><p>The search for a refutation of the characteristic clause set turned out to be a hard problem for current theorem provers (as described in <ref type="bibr" target="#b1">[2]</ref>). To handle this problem, we need automated theorem provers with high flexibility, allowing an interactive construction of the resolution refutation. For using several provers in order to combine their respective advantages it would be very beneficial to have a standard output format for encoding resolution refutations, a goal which is partially realized by the TPTP output format. Another approach to enhance the power of the provers is to exploit the fact that the characteristic clause sets of the CERES-method form a very specific subclass of theorem proving problems. In particular, it seems promising to store in the clause set certain information about the structure of the original proof as hints on how to find a refutation and to develop resolution refinements for CERES to use this additional information.</p><p>Another important area for future improvement is the human-readable representation of the output proofs as well as other results of the analysis (e.g. Herbrand sequents); this aspect is also critical for the method to adapt better to larger proofs. As the terms generated by cut-elimination are frequently very large it would pay out to implement term simplifiers. A general approach to the simplification of Herbrand sequents lies in computing a minimal variant of it by most general unification and a (possibly external) tautology checker. For specific theories, e.g. arithmetic, one can even do better by using term simplification algorithms based on term rewriting systems. Another useful addition is to include a flexible handling of definitions in the extraction and display of Herbrand sequents which would make them an even more powerful tool for understanding the mathematical content of a formal proof. These changes will further contribute to the creation of an interface for proof analysis which is attractive to logicians and mathematicians alike.</p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Proof transformation by CERES</title>
		<author>
			<persName><forename type="first">Matthias</forename><surname>Baaz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Stefan</forename><surname>Hetzl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alexander</forename><surname>Leitsch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Clemens</forename><surname>Richter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Hendrik</forename><surname>Spohr</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Lecture Notes in Artificial Intelligence</title>
				<meeting><address><addrLine>Berlin</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="volume">4108</biblScope>
			<biblScope unit="page" from="82" to="93" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Ceres: An Analysis of Fürstenberg&apos;s Proof of the Infinity of Primes</title>
		<author>
			<persName><forename type="first">Matthias</forename><surname>Baaz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Stefan</forename><surname>Hetzl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alexander</forename><surname>Leitsch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Clemens</forename><surname>Richter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Hendrik</forename><surname>Spohr</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Theoretical Computer Science</title>
		<imprint>
			<biblScope unit="volume">403</biblScope>
			<biblScope unit="page" from="160" to="175" />
			<date type="published" when="2008-08">August 2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Cut normal forms and proof complexity</title>
		<author>
			<persName><forename type="first">Matthias</forename><surname>Baaz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alexander</forename><surname>Leitsch</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Annals of Pure and Applied Logic</title>
		<imprint>
			<biblScope unit="volume">97</biblScope>
			<biblScope unit="issue">1-3</biblScope>
			<biblScope unit="page" from="127" to="177" />
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Cut-elimination and Redundancy-elimination by Resolution</title>
		<author>
			<persName><forename type="first">Matthias</forename><surname>Baaz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alexander</forename><surname>Leitsch</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Symbolic Computation</title>
		<imprint>
			<biblScope unit="volume">29</biblScope>
			<biblScope unit="issue">2</biblScope>
			<biblScope unit="page" from="149" to="176" />
			<date type="published" when="2000">2000</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Towards a clausal analysis of cut-elimination</title>
		<author>
			<persName><forename type="first">Matthias</forename><surname>Baaz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alexander</forename><surname>Leitsch</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Symbolic Computation</title>
		<imprint>
			<biblScope unit="volume">41</biblScope>
			<biblScope unit="page" from="381" to="410" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Untersuchungen über das logische Schließen</title>
		<author>
			<persName><forename type="first">G</forename><surname>Gentzen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Mathematische Zeitschrift</title>
		<imprint>
			<biblScope unit="volume">39</biblScope>
			<biblScope unit="page" from="1934" to="1935" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<title level="m" type="main">Proof Theory and Logical Complexity</title>
		<author>
			<persName><forename type="first">Jean-Yves</forename><surname>Girard</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1987">1987</date>
			<publisher>Elsevier</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Herbrand sequent extraction</title>
		<author>
			<persName><forename type="first">Stefan</forename><surname>Hetzl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alexander</forename><surname>Leitsch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Daniel</forename><surname>Weller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Bruno</forename><surname>Woltzenlogel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Paleo</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Lecture Notes in Artificial Intelligence</title>
				<meeting><address><addrLine>Berlin</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2008">2008</date>
			<biblScope unit="volume">5144</biblScope>
			<biblScope unit="page" from="462" to="477" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">A Clausal Approach to Proof Analysis in Second-Order Logic</title>
		<author>
			<persName><forename type="first">Stefan</forename><surname>Hetzl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alexander</forename><surname>Leitsch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Daniel</forename><surname>Weller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Bruno</forename><surname>Woltzenlogel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Paleo</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Symposium on Logical Foundations of Computer Science</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting><address><addrLine>LFCS</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2009">2009. 2009</date>
		</imprint>
	</monogr>
	<note>to appear</note>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m" type="main">Equational theories in ceres</title>
		<author>
			<persName><forename type="first">Alexander</forename><surname>Leitsch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Clemens</forename><surname>Richter</surname></persName>
		</author>
		<ptr target="http://www.logic.at/ceres/" />
		<imprint>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<title level="m" type="main">The Coq proof assistant reference manual</title>
		<imprint>
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
	<note type="report_type">LogiCal Project</note>
	<note>The Coq development team. Version 8.0</note>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Isabelle/HOL -a proof assistant for Higher-Order Logic</title>
		<author>
			<persName><forename type="first">Tobias</forename><surname>Nipkow</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Lawrence</forename><forename type="middle">C</forename><surname>Paulson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Markus</forename><surname>Wenzel</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">LNCS</title>
		<imprint>
			<biblScope unit="volume">2283</biblScope>
			<date type="published" when="2002">2002</date>
			<publisher>Springer</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<title level="m" type="main">Classical Logic and Computation</title>
		<author>
			<persName><forename type="first">C</forename><surname>Urban</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2000">2000</date>
		</imprint>
		<respStmt>
			<orgName>University of Cambridge Computer Laboratory</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">PhD thesis</note>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
