Auxiliary structure to deal with axioms of the schema: Forall variables cond1 -> cond2 -> ...
Auxiliary structure to deal with axioms of the schema: Forall variables cond1 -> cond2 -> ... -> condn -> consequence |- ...
Version 2 of the higher-order n-Tape proof.
Version 3 of the higher-order n-Tape proof.
Version 3 of the higher-order n-Tape proof.
Version 5 of the higher-order n-Tape proof, where if-then-else is directly axiomatized i.e.
Version 5 of the higher-order n-Tape proof, where if-then-else is directly axiomatized i.e. it has 2 additional axioms P -> if code(P) then t else f = t and -P -> if code(P) then t else f = f which were theorems before. In contrast to nTape4 it cuts on instances of the theorem C for specific upper bounds n. Since the instantiated proofs were generated manually, only nTape5(2) to nTape5(4) work.
Version 5 of the higher-order n-Tape proof, where if-then-else is still proved in arithmetic.
Version 5 of the higher-order n-Tape proof, where if-then-else is still proved in arithmetic. In contrast to nTape4 it cuts on instances of the theorem C for specific upper bounds n. Since the instantiated proofs were generated manually, only nTape5Arith(2) works.
Creates the n-th tautology of a sequence that has only exponential-size cut-free proofs
Creates the n-th tautology of a sequence that has only exponential-size cut-free proofs
This sequence is taken from: S. Buss. "Weak Formal Systems and Connections to Computational Complexity". Lecture Notes for a Topics Course, UC Berkeley, 1988, available from: http://www.math.ucsd.edu/~sbuss/ResearchWeb/index.html
Sequence of valid first-order formulas about equivalent counting methods.
Sequence of valid first-order formulas about equivalent counting methods.
Consider the formula ∀z ∃=1i ∀x ∃y a_i(x,y,z), where ∃=1i is a quantifier that says that there exists exactly one i (in 0..n) such that ∀x ∃y a_i(x,y,z) is true.
This function returns the equivalence between two implementations of the formula: first, using a naive quadratic implementation; and second, using an O(n*log(n)) implementation with threshold formulas.
Proof of f(n) = g(n, 1), where f is the head recursive and g the tail recursive formulation of the factorial function
Contains some commonly used formulas.
Functions to construct cut-free FOL LK proofs of the sequents
Functions to construct cut-free FOL LK proofs of the sequents
Refl, Trans, \ALL x. f(x) = x :- fn(a) = a
where n is an Integer parameter >= 0.
Constructs cut-free FOL LK proofs of the sequents
Constructs cut-free FOL LK proofs of the sequents
P(0), ∀x. P(x) → P(s(x)) :- P(sn(0))
where n is an Integer parameter >= 0.
Creates the n-th formula of a sequence where distributivity-based algorithm produces only exponential CNFs.
Given n >= 2 creates an unsatisfiable first-order clause set based on a statement about the permutations in S_n.
Constructs a formula representing the pigeon hole principle.
Constructs a formula representing the pigeon hole principle. More precisely: PigeonHolePrinciple( p, h ) states that if p pigeons are put into h holes then there is a hole which contains two pigeons. PigeonHolePrinciple( p, h ) is a tautology iff p > h.
Since we want to avoid empty disjunctions, we assume > 1 pigeons.
Functions to construct cut-free FOL LK proofs of the sequents
Functions to construct cut-free FOL LK proofs of the sequents
P(0,0), ∀x,y. P(x,y) → P(s(x),y), ∀x,y. P(x,y) → P(x,s(y)) :- P(sn(0),sn(0))
where n is an Integer parameter >= 0.
The proofs constructed here go along the diagonal of P, i.e. one x-step, then one y-step, etc.
Functions to construct cut-free FOL LK proofs of the sequents
Functions to construct cut-free FOL LK proofs of the sequents
P(a,b), ∀x,y. P(x,y) → P(sx(x),y), ∀x,y. P(x,y) → P(x,sy(y)) :- P(sxn(a),syn(b))
where n is an Integer parameter >= 0.
The proofs constructed here go along the edges of P, i.e. first all X-steps are performed, then all Y-steps are performed, but unlike SquareEdgesExampleProof, different functions are used for the X- and the Y-directions.
Functions to construct cut-free FOL LK proofs of the sequents
Functions to construct cut-free FOL LK proofs of the sequents
P(0,0), ∀x,y. P(x,y) → P(s(x),y), ∀x,y. P(x,y) → P(x,s(y)) :- P(sn(0),sn(0))
where n is an Integer parameter >= 0.
The proofs constructed here go along the edges of P, i.e. first all X-steps are performed, then all Y-steps are performed
Functions to construct the straightforward cut-free FOL LK proofs of the sequents
Functions to construct the straightforward cut-free FOL LK proofs of the sequents
P(sn(0),0), ∀x,y. P(s(x),y) → P(x,s(y)) :- P(0,sn(0))
where n is an Integer parameter >= 0.
This sequent is shown to have no cut-free proof which can be compressed by a single cut with a single quantifier in S. Eberhard, S. Hetzl: On the compressibility of finite languages and formal proofs, submitted, 2015.
Functions to construct cut-free FOL LK proofs of the sequents
Functions to construct cut-free FOL LK proofs of the sequents
Refl, Trans, CongSuc, ABase, ASuc, :- sum( n ) = sn(0)
where n is an Integer parameter >= 0.
Version 5 of the higher-order n-Tape proof.
Version 5 of the higher-order n-Tape proof. In contrast to nTape4 it cuts on instances of the theorem C for specific upper bounds n. Since the instantiated proofs were generated manually, only nTape5(2) to nTape5(4) work.
Version 5 of the higher-order n-Tape proof, where if-then-else is still proved in arithmetic.
Version 5 of the higher-order n-Tape proof, where if-then-else is still proved in arithmetic. In contrast to nTape4 it cuts on instances of the theorem C for specific upper bounds n. Since the instantiated proofs were generated manually, only nTape5Arith(2) works.
The object nTape6 generates hard problems for higher order theorem provers containing an axiomatization of if-then-else.
The object nTape6 generates hard problems for higher order theorem provers containing an axiomatization of if-then-else. Formulas: f1,f2 ... if-then-else axiomatizations f3,f4 ... properties of the successor function (0 is no successor and a number is always different from its successor) conclusion0 ... there exists a function h s.t. h(0) = 1, h(1) = 0 conclusion1 ... there exists a function h s.t. h(0) = 1, h(1) = 0, h(2) = 0 conclusion2 ... there exists a function h s.t. h(0) = 1, h(1) = 0, h(2) = 1 w1 ... witness for sc w2 ... witness for sc2
The problems are (in sequent notation):
P0: f1, f2 :- conclusion0 P1: f1, f2, f3, f4 :- conclusion1 P2: f1, f2, f3, f4 :- conclusion2
The generated filenames are "ntape6-${i}-without-witness.tptp" for i = 0 to 2.
To show that there are actual witnesses for the function h, we provide a witness, where the witness w1 can be used for both W0 and W1:
W0: { w1 :- } x P0 W1: { w1 :- } x P1 W2: { w2 :- } x P2
The generated filenames are "ntape6-${i}-with-witness.tptp" for i = 0 to 2.
Formalisation of the tape-proof as described in C.
Formalisation of the tape-proof as described in C. Urban: Classical Logic and Computation, PhD Thesis, Cambridge University, 2000.
This is an example used in the talk[1] at TbiLLC 2013.
This is an example used in the talk[1] at TbiLLC 2013. It generates a (cut-free) LK proof where the extracted expansion tree has nested quantifiers.
[1] http://www.illc.uva.nl/Tbilisi/Tbilisi2013/uploaded_files/inlineitem/riener.pdf