# Entrants' Sample Solutions

## Darwin 1.3

Peter Baumgartner1, Alexander Fuchs2, Cesare Tinelli2
1National ICT Australia, Australia,
Peter.Baumgartner[@]nicta.com.au
2The University of Iowa, USA
{fuchs,tinelli}[@]cs.uiowa.edu
• specifies a Herbrand model
• variables are denoted by _d, where d is a number, e.g., p(_0) is p(X) in TPTP notation, and stands for all instances of p(X).
• =' is the only infix symbol
• a model is output as a disjunction of implicit generalizations. That is, a list of literals and exceptions, where all instances of the literal except for the exceptions are true. For example the implicit generalization:
```  p(_0) -- exceptions:
p(a)```
specifies that all instances of p(X) except for p(a) are true.

### Sample Solution to MGT031-1

```(_0 = _0)
environment(sk2)
greater(appear(efficient_producers, e), appear(an_organisation, sk2))
greater(appear(efficient_producers, e), appear(first_movers, sk2))
greater(appear(first_movers, sk2), appear(an_organisation, sk2))
greater(number_of_organizations(e, appear(an_organisation, sk2)), zero)
greater_or_equal(_0, _0)
greater_or_equal(appear(efficient_producers, e), appear(an_organisation, sk2))
greater_or_equal(appear(efficient_producers, e), appear(first_movers, sk2))
greater_or_equal(appear(first_movers, sk2), appear(an_organisation, sk2))
greater_or_equal(number_of_organizations(e, appear(an_organisation, sk2)), zero)
in_environment(sk2, appear(an_organisation, sk2))
```

## FM-Darwin 1.3

Peter Baumgartner1, Alexander Fuchs2, Cesare Tinelli2
1National ICT Australia, Australia,
Peter.Baumgartner[@]nicta.com.au
2The University of Iowa, USA
{fuchs,tinelli}[@]cs.uiowa.edu

### Sample Solution to MGT031-1

```fof(interpretation_domain, fi_domain,
! [X] : ( X = "1" | X = "2" )
).

fof(interpretation_terms, fi_functors, (
( (an_organisation = "1") )
&
( ! [X0, X1, X2] :  ( (appear(X0, X1) = X2) <=> (
( ( (X2 = "1") ) & ~( (X0 = "1") & (X1 = "2") ) )
|
( (X0 = "1") & (X1 = "2") & (X2 = "2") )
) ) )
&
( ! [X0, X1, X2] :  ( (cardinality_at_time(X0, X1) = X2) <=> (
( ( (X2 = "1") ) & ~( (X0 = "2") & (X1 = "2") ) & ~( (X0 = "2") & (X1 =
"1") ) )
|
( (X0 = "2") & (X1 = "1") & (X2 = "2") )
|
( (X0 = "2") & (X1 = "2") & (X2 = "2") )
) ) )
&
( (e = "1") )
&
( (efficient_producers = "1") )
&
( (first_movers = "2") )
&
( ! [X0, X1] : (number_of_organizations(X0, X1) = "1") )
&
( ! [X0, X1] : (sk1(X0, X1) = "1") )
&
( (sk2 = "2") )
&
( (zero = "1") )
) ).

fof(interpretation_atoms, fi_predicates, (
( ! [X0] :  ( environment(X0) <=> (
( (X0 = "2") )
) ) )
&
( ! [X0, X1] :  ( greater(X0, X1) <=> (
( (X0 = "1") & (X1 = "2") )
|
( (X0 = "1") & (X1 = "1") )
) ) )
&
( ! [X0, X1] :  ( greater_or_equal(X0, X1) <=> (
( (X0 = "1") & (X1 = "2") )
|
( (X1 = X0) )
) ) )
&
( ! [X0, X1] :  ( in_environment(X0, X1) <=> (
( (X0 = "2") & (X1 = "2") )
|
( (X0 = "2") & (X1 = "1") )
) ) )
&
( ! [X0, X1, X2] :  ( subpopulation(X0, X1, X2) <=> (
( (X0 = "1") & (X1 = "2") )
) ) )
) ).
```

## EP 0.99

Stephan Schulz
Technische Universität München, Germany
schulz[@]eprover.org

EP will use the current version of the new TPTP output format. The following rule names are defined for the main proof search:

er
Equality resolution: x!=a v x=x ==> a=a
pm
Paramodulation. Note that E considers all literals as equational, and thus also performs resolution by a combination of top-level paramodulation and (implicit) clause normalization.
spm
Simultaneous Paramodulation. See note on paramodulation above.
ef
Equality factoring (factor equations on one side only, move the remaining disequation into the precondition): x=a v b=c v x=d ==> a!=c v b=c vb=d
split
Clause splitting a la Vampire (non-deductive, but maintains unsatisfiability)
rw
Rewriting, each rw-expression corresponds to exacly one rewrite step with the named clause. This is also used for equational unfolding.
sr
Simplify-reflect: An (equational) version of unit-cutting. As as example, see this positive simplify-reflect step: [a=b], [f(a)!=f(b)] => [].
csr
Contextual simplify-reflect (also known as contextual literal cutting or subsumption resolution): Literal cutting with non-unit clauses if one of the literals is implied in the context of the clause to be simplified.
ar
AC-resolution: Delete literals that are trivial modulo the AC-theory induced by the named clauses
cn
Clause normalize, delete trivial and repeated literals. This step is often implicit, but can sometimes occcur explicitely.

assume_negation
Negate a conjecture for a proof by refutation.
fof_nnf
Convert a formula to negation normal form by moving negation signs inward to the literals, and eleminating equivalences and implications.
shift_quantors
Move quantors (inwards for mini-scoping or outwards for the final conjunctive normal form).
variable_rename
Rename bound variables to make sure each quantor binds a different variable.
skolemize
Eleminate existential quantors via Skolemization.
distribute
Apply distributivity law to move and outwards over or.
split_conjunct
Split of one conjunct from a formula in conjunctive normal form to create a clause.
fof_simplification
Perform standard simplification steps on the formula. This may also replaces back implications and exclusive or with equivalent constructs using implications and equivalences.
def_intro
Introduce a (polarity-dependend) definition for a formula.
def_fold
Apply a definition to replace a subformula with a properly defined literal. These last two rules are not yet implemented, and thus not demonstrated below.

The first proof uses all proof search inferences except for "ef", "spm", and "csr", although it uses some in fairly trivial ways. The second is the required proof for SYN075-1, and contains examples for "ef" and "csr". The final proof is for SYN075+1, and also contains the clausification steps.

ALL_RULES

```# Problem is unsatisfiable (or provable), constructing proof object
# TSTP exit status: Unsatisfiable
# Proof object starts here.
cnf(1,axiom,(f(X1,X2)=f(X2,X1)),file('ALL_RULES.lop', at_line_19_column_1)).
cnf(2,axiom,(f(X1,f(X2,X3))=f(f(X1,X2),X3)),file('ALL_RULES.lop', at_line_20_column_1)).
cnf(3,axiom,(g(X1,X2)=g(X2,X1)),file('ALL_RULES.lop', at_line_21_column_1)).
cnf(4,axiom,(f(f(X1,X2),f(X3,g(X4,X5)))!=f(f(g(X4,X5),X3),f(X2,X1))|k(X1,X1)!=k(
a,b)),file('ALL_RULES.lop', at_line_22_column_1)).
cnf(5,axiom,(b=c|X1!=X2|X3!=X4|c!=d),file('ALL_RULES.lop', at_line_24_column_1)).
cnf(6,axiom,(a=b|a=c),file('ALL_RULES.lop', at_line_26_column_1)).
cnf(7,axiom,(i(X1)=i(X2)),file('ALL_RULES.lop', at_line_28_column_1)).
cnf(8,axiom,(c=d|h(i(a))!=h(i(e))),file('ALL_RULES.lop', at_line_29_column_1)).
cnf(13,derived,(k(a,b)!=k(X1,X1)),inference(ar,[status(thm)],[4,1,3,2,theory(equality)])).
cnf(23,derived,(c=b|epred1_0|X3!=X4|d!=c),inference(split,[split(esplit,[])],[5])).
cnf(24,derived,(epred2_0|X1!=X2),inference(split,[split(esplit,[])],[5])).
cnf(25,derived,(~epred2_0|~epred1_0),inference(split,[split(esplit,[])],[5])).
cnf(26,derived,(epred2_0),inference(er,[status(thm)],[24,theory(equality)])).
cnf(27,derived,(\$false|~epred1_0),inference(rw,[status(thm)],[25,26,theory(equality)])).
cnf(28,derived,(~epred1_0),inference(cn,[status(thm)],[27,theory(equality)])).
cnf(29,derived,(c=b|epred1_0|d!=c),inference(er,[status(thm)],[23,theory(equality)])).
cnf(30,derived,(c=b|d!=c),inference(sr,[status(thm)],[29,28,theory(equality)])).
cnf(31,derived,(d=c),inference(sr,[status(thm)],[8,7,theory(equality)])).
cnf(32,derived,(c=b|\$false),inference(rw,[status(thm)],[30,31,theory(equality)])).
cnf(33,derived,(c=b),inference(cn,[status(thm)],[32,theory(equality)])).
cnf(34,derived,(b=a),inference(pm,[status(thm)],[6,33,theory(equality)])).
cnf(36,derived,(k(b,b)!=k(X1,X1)),inference(rw,[status(thm)],[13,34,theory(equality)])).
cnf(75,derived,(\$false),inference(er,[status(thm)],[36,theory(equality)])).
cnf(76,derived,(\$false),75,['proof']).
# Proof object ends here.
```

### Sample FOF proof for SYN075+1

```# Problem is unsatisfiable (or provable), constructing proof object
# TSTP exit status: Theorem
# Proof object starts here.
fof(1, axiom,?[X1]:?[X2]:![X3]:![X4]:(big_f(X3,X4)<=>(X3=X1&X4=X2)),file('/Users/schulz/EPROVER/TPTP_3.0.1_FLAT/SYN075+1.p', pel52_1)).
fof(2, conjecture,?[X2]:![X4]:(?[X1]:![X3]:(big_f(X3,X4)<=>X3=X1)<=>X4=X2),file('/Users/schulz/EPROVER/TPTP_3.0.1_FLAT/SYN075+1.p', pel52)).
fof(3, negated_conjecture-derived,~(?[X2]:![X4]:(?[X1]:![X3]:(big_f(X3,X4)<=>X3=X1)<=>X4=X2)),inference(assume_negation,[status(cth)],[2])).
fof(4, derived,?[X1]:?[X2]:![X3]:![X4]:((~(big_f(X3,X4))|(X3=X1&X4=X2))&((~(X3=X1)|~(X4=X2))|big_f(X3,X4))),inference(fof_nnf,[status(thm)],[1])).
fof(5, derived,?[X1]:?[X2]:(![X3]:![X4]:(~(big_f(X3,X4))|(X3=X1&X4=X2))&![X3]:![X4]:((~(X3=X1)|~(X4=X2))|big_f(X3,X4))),inference(shift_quantors,[status(thm)],[4])).
fof(6, derived,?[X5]:?[X6]:(![X7]:![X8]:(~(big_f(X7,X8))|(X7=X5&X8=X6))&![X9]:![X10]:((~(X9=X5)|~(X10=X6))|big_f(X9,X10))),inference(variable_rename,[status(thm)],[5])).
fof(7, derived,(![X7]:![X8]:(~(big_f(X7,X8))|(X7=esk1_0&X8=esk2_0))&![X9]:![X10]:((~(X9=esk1_0)|~(X10=esk2_0))|big_f(X9,X10))),inference(skolemize,[status(sab)],[6])).
fof(8, derived,![X7]:![X8]:![X9]:![X10]:(((X7=esk1_0|~(big_f(X7,X8)))&(X8=esk2_0|~(big_f(X7,X8))))&((~(X9=esk1_0)|~(X10=esk2_0))|big_f(X9,X10))),inference(distribute,[status(thm)],[7])).
cnf(9,derived,(big_f(X1,X2)|X2!=esk2_0|X1!=esk1_0),inference(split_conjunct,[status(thm)],[8])).
cnf(10,derived,(X2=esk2_0|~big_f(X1,X2)),inference(split_conjunct,[status(thm)],[8])).
cnf(11,derived,(X1=esk1_0|~big_f(X1,X2)),inference(split_conjunct,[status(thm)],[8])).
fof(12, negated_conjecture-derived,![X2]:?[X4]:((![X1]:?[X3]:((~(big_f(X3,X4))|~(X3=X1))&(big_f(X3,X4)|X3=X1))|~(X4=X2))&(?[X1]:![X3]:((big_f(X3,X4)&X3=X1)|(~(big_f(X3,X4))&~(X3=X1)))|X4=X2)),inference(fof_nnf,[status(thm)],[3])).
fof(13, negated_conjecture-derived,![X5]:?[X6]:((![X7]:?[X8]:((~(big_f(X8,X6))|~(X8=X7))&(big_f(X8,X6)|X8=X7))|~(X6=X5))&(?[X9]:![X10]:((big_f(X10,X6)&X10=X9)|(~(big_f(X10,X6))&~(X10=X9)))|X6=X5)),inference(variable_rename,[status(thm)],[12])).
fof(14, negated_conjecture-derived,![X5]:((![X7]:((~(big_f(esk4_2(X5,X7),esk3_1(X5)))|~(esk4_2(X5,X7)=X7))&(big_f(esk4_2(X5,X7),esk3_1(X5))|esk4_2(X5,X7)=X7))|~(esk3_1(X5)=X5))&(![X10]:((big_f(X10,esk3_1(X5))&X10=esk5_1(X5))|(~(big_f(X10,esk3_1(X5)))&~(X10=esk5_1(X5))))|esk3_1(X5)=X5)),inference(skolemize,[status(sab)],[13])).
fof(15, negated_conjecture-derived,![X5]:![X7]:![X10]:((((~(big_f(esk4_2(X5,X7),esk3_1(X5)))|~(esk4_2(X5,X7)=X7))|~(esk3_1(X5)=X5))&((big_f(esk4_2(X5,X7),esk3_1(X5))|esk4_2(X5,X7)=X7)|~(esk3_1(X5)=X5)))&((((~(big_f(X10,esk3_1(X5)))|big_f(X10,esk3_1(X5)))|esk3_1(X5)=X5)&((~(X10=esk5_1(X5))|big_f(X10,esk3_1(X5)))|esk3_1(X5)=X5))&(((~(big_f(X10,esk3_1(X5)))|X10=esk5_1(X5))|esk3_1(X5)=X5)&((~(X10=esk5_1(X5))|X10=esk5_1(X5))|esk3_1(X5)=X5)))),inference(distribute,[status(thm)],[14])).
cnf(18,negated_conjecture-derived,(esk3_1(X1)=X1|big_f(X2,esk3_1(X1))|X2!=esk5_1(X1)),inference(split_conjunct,[status(thm)],[15])).
cnf(20,negated_conjecture-derived,(esk4_2(X1,X2)=X2|big_f(esk4_2(X1,X2),esk3_1(X1))|esk3_1(X1)!=X1),inference(split_conjunct,[status(thm)],[15])).
cnf(21,negated_conjecture-derived,(esk3_1(X1)!=X1|esk4_2(X1,X2)!=X2|~big_f(esk4_2(X1,X2),esk3_1(X1))),inference(split_conjunct,[status(thm)],[15])).
cnf(24,negated_conjecture-derived,(esk3_1(X1)=X1|big_f(esk5_1(X1),esk3_1(X1))),inference(er,[status(thm)],[18,theory(equality)])).
cnf(26,negated_conjecture-derived,(esk1_0=esk4_2(X1,X2)|esk4_2(X1,X2)=X2|esk3_1(X1)!=X1),inference(spm,[status(thm)],[11,20,theory(equality)])).
cnf(27,negated_conjecture-derived,(esk2_0=esk3_1(X1)|esk4_2(X1,X2)=X2|esk3_1(X1)!=X1),inference(spm,[status(thm)],[10,20,theory(equality)])).
cnf(29,negated_conjecture-derived,(esk4_2(X1,X2)!=X2|esk3_1(X1)!=X1|esk1_0!=esk4_2(X1,X2)|esk2_0!=esk3_1(X1)),inference(spm,[status(thm)],[21,9,theory(equality)])).
cnf(31,negated_conjecture-derived,(esk1_0=esk5_1(X1)|esk3_1(X1)=X1),inference(spm,[status(thm)],[11,24,theory(equality)])).
cnf(32,negated_conjecture-derived,(esk2_0=esk3_1(X1)|esk3_1(X1)=X1),inference(spm,[status(thm)],[10,24,theory(equality)])).
cnf(35,negated_conjecture-derived,(esk3_1(X1)=X1|big_f(esk1_0,esk3_1(X1))),inference(spm,[status(thm)],[24,31,theory(equality)])).
cnf(36,negated_conjecture-derived,(esk3_1(X2)=X2|esk2_0!=X2),inference(ef,[status(thm)],[32,theory(equality)])).
cnf(46,negated_conjecture-derived,(esk4_2(X1,X2)!=X2|~big_f(esk4_2(X1,X2),X1)|esk2_0!=X1),inference(spm,[status(thm)],[21,36,theory(equality)])).
cnf(54,negated_conjecture-derived,(esk2_0=X1|big_f(esk1_0,esk2_0)|esk3_1(X1)=X1),inference(spm,[status(thm)],[35,32,theory(equality)])).
cnf(60,negated_conjecture-derived,(esk4_2(X1,X2)!=X2|~big_f(esk4_2(X1,X2),X1)),inference(csr,[status(thm)],[46,10])).
cnf(71,negated_conjecture-derived,(esk3_1(X1)=X1|big_f(esk1_0,esk2_0)),inference(csr,[status(thm)],[54,36])).
cnf(76,negated_conjecture-derived,(esk3_1(X1)=esk2_0|esk4_2(X1,X2)=X2),inference(csr,[status(thm)],[27,32])).
cnf(79,negated_conjecture-derived,(esk3_1(X1)=esk2_0|~big_f(X2,X1)),inference(spm,[status(thm)],[60,76,theory(equality)])).
cnf(87,negated_conjecture-derived,(esk3_1(esk2_0)=esk2_0|esk3_1(X1)=X1),inference(spm,[status(thm)],[79,71,theory(equality)])).
cnf(101,negated_conjecture-derived,(esk3_1(esk2_0)=esk2_0),inference(ef,[status(thm)],[87,theory(equality)])).
cnf(113,negated_conjecture-derived,(esk4_2(esk2_0,X1)=esk1_0|esk4_2(esk2_0,X1)=X1),inference(spm,[status(thm)],[26,101,theory(equality)])).
cnf(114,negated_conjecture-derived,(esk4_2(esk2_0,X2)=X2|esk1_0!=X2),inference(ef,[status(thm)],[113,theory(equality)])).
cnf(143,negated_conjecture-derived,(X1!=esk1_0|esk3_1(esk2_0)!=esk2_0),inference(spm,[status(thm)],[29,114,theory(equality)])).
cnf(150,negated_conjecture-derived,(X1!=esk1_0|\$false),inference(rw,[status(thm)],[143,101,theory(equality)])).
cnf(151,negated_conjecture-derived,(X1!=esk1_0),inference(cn,[status(thm)],[150,theory(equality)])).
cnf(152,negated_conjecture-derived,(\$false),inference(er,[status(thm)],[151,theory(equality)])).
cnf(155,negated_conjecture-derived,(\$false),152,['proof']).
# Proof object ends here.
```

### Sample CNF proof for SYN075-1

```# Problem is unsatisfiable (or provable), constructing proof object
# TSTP exit status: Unsatisfiable
# Proof object starts here.
cnf(1,axiom,(X1=a|~big_f(X1,X2)),file('/Users/schulz/EPROVER/TPTP_3.0.1_FLAT/SYN075-1.p', clause_1)).
cnf(3,axiom,(big_f(X1,X2)|X1!=a|X2!=b),file('/Users/schulz/EPROVER/TPTP_3.0.1_FLAT/SYN075-1.p', clause_3)).
cnf(4,negated_conjecture,(f(X2)=X2|~big_f(X1,f(X2))|X1!=g(X2)),file('/Users/schulz/EPROVER/TPTP_3.0.1_FLAT/SYN075-1.p', clause_4)).
cnf(6,negated_conjecture,(big_f(X1,f(X2))|f(X2)=X2|X1!=g(X2)),file('/Users/schulz/EPROVER/TPTP_3.0.1_FLAT/SYN075-1.p', clause_6)).
cnf(9,negated_conjecture,(big_f(h(X1,X2),f(X1))|h(X1,X2)=X2|f(X1)!=X1),file('/Users/schulz/EPROVER/TPTP_3.0.1_FLAT/SYN075-1.p', clause_9)).
cnf(10,negated_conjecture,(f(X1)!=X1|h(X1,X2)!=X2|~big_f(h(X1,X2),f(X1))),file('/Users/schulz/EPROVER/TPTP_3.0.1_FLAT/SYN075-1.p', clause_10)).
cnf(14,negated_conjecture-derived,(f(X2)=X2|g(X2)!=X1),inference(csr,[status(thm)],[4,6])).
cnf(15,negated_conjecture-derived,(f(X1)=X1),inference(er,[status(thm)],[14,theory(equality)])).
cnf(19,negated_conjecture-derived,(h(X1,X2)!=X2|f(X1)!=X1|a!=h(X1,X2)|b!=f(X1)),inference(spm,[status(thm)],[10,3,theory(equality)])).
cnf(23,negated_conjecture-derived,(h(X1,X2)!=a|h(X1,X2)!=X2|X1!=b|f(X1)!=X1),inference(rw,[status(thm)],[19,15,theory(equality)])).
cnf(24,negated_conjecture-derived,(h(X1,X2)!=a|h(X1,X2)!=X2|X1!=b|\$false),inference(rw,[status(thm)],[23,15,theory(equality)])).
cnf(25,negated_conjecture-derived,(h(X1,X2)!=a|h(X1,X2)!=X2|X1!=b),inference(cn,[status(thm)],[24,theory(equality)])).
cnf(28,negated_conjecture-derived,(h(X1,X2)!=X2|\$false|~big_f(h(X1,X2),f(X1))),inference(rw,[status(thm)],[10,15,theory(equality)])).
cnf(29,negated_conjecture-derived,(h(X1,X2)!=X2|\$false|~big_f(h(X1,X2),X1)),inference(rw,[status(thm)],[28,15,theory(equality)])).
cnf(30,negated_conjecture-derived,(h(X1,X2)!=X2|~big_f(h(X1,X2),X1)),inference(cn,[status(thm)],[29,theory(equality)])).
cnf(33,negated_conjecture-derived,(h(X1,X2)=X2|big_f(h(X1,X2),X1)|f(X1)!=X1),inference(rw,[status(thm)],[9,15,theory(equality)])).
cnf(34,negated_conjecture-derived,(h(X1,X2)=X2|big_f(h(X1,X2),X1)|\$false),inference(rw,[status(thm)],[33,15,theory(equality)])).
cnf(35,negated_conjecture-derived,(h(X1,X2)=X2|big_f(h(X1,X2),X1)),inference(cn,[status(thm)],[34,theory(equality)])).
cnf(38,negated_conjecture-derived,(a=h(X1,X2)|h(X1,X2)=X2),inference(spm,[status(thm)],[1,35,theory(equality)])).
cnf(50,negated_conjecture-derived,(h(X1,X2)=a|~big_f(X2,X1)),inference(spm,[status(thm)],[30,38,theory(equality)])).
cnf(56,negated_conjecture-derived,(a!=X2|X1!=b|~big_f(X2,X1)),inference(spm,[status(thm)],[25,50,theory(equality)])).
cnf(59,negated_conjecture-derived,(a!=X2|X1!=b),inference(csr,[status(thm)],[56,3])).
cnf(60,negated_conjecture-derived,(epred1_0|a!=X2),inference(split,[split(esplit,[])],[59])).
cnf(61,negated_conjecture-derived,(epred2_0|X1!=b),inference(split,[split(esplit,[])],[59])).
cnf(62,negated_conjecture-derived,(~epred2_0|~epred1_0),inference(split,[split(esplit,[])],[59])).
cnf(63,negated_conjecture-derived,(epred1_0),inference(er,[status(thm)],[60,theory(equality)])).
cnf(65,negated_conjecture-derived,(epred2_0),inference(er,[status(thm)],[61,theory(equality)])).
cnf(73,negated_conjecture-derived,(\$false|~epred1_0),inference(rw,[status(thm)],[62,65,theory(equality)])).
cnf(74,negated_conjecture-derived,(\$false|\$false),inference(rw,[status(thm)],[73,63,theory(equality)])).
cnf(75,negated_conjecture-derived,(\$false),inference(cn,[status(thm)],[74,theory(equality)])).
cnf(76,negated_conjecture-derived,(\$false),75,['proof']).
# Proof object ends here.
```

## Faust 1.0

Yury Puzis
University of Miami, USA
yury.puzis[@]gmail.com

### Sample CNF proof for PUZ001-1

A sample proof for SYN075-1 cannot be provided, because Faust cannot solve it in 600s.
```cnf(same_hates,initial,(~hates(agatha,A)|hates(butler,A)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).

cnf(149433568,derived,(~hates(agatha,A)|hates(butler,A)),inference(rewrite,[status(thm)],[same_hates]),[]).

cnf(agatha_hates_agatha,initial,(hates(agatha,agatha)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).

cnf(149472944,derived,(hates(agatha,agatha)),inference(rewrite,[status(thm)],[agatha_hates_agatha]),[]).

cnf(157293464,derived,(hates(butler,agatha)),inference(resolution,[status(thm)],[149433568,149472944]),[]).

cnf(butler,initial,(lives(butler)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).

cnf(149439864,derived,(lives(butler)),inference(rewrite,[status(thm)],[butler]),[]).

cnf(butler_hates_poor,initial,(~lives(A)|richer(A,agatha)|hates(butler,A)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).

cnf(149498600,derived,(~lives(A)|richer(A,agatha)|hates(butler,A)),inference(rewrite,[status(thm)],[butler_hates_poor]),[]).

cnf(poorer_killer,initial,(~killed(A,B)|~richer(A,B)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).

cnf(149449888,derived,(~killed(A,B)|~richer(A,B)),inference(rewrite,[status(thm)],[poorer_killer]),[]).

cnf(prove_neither_charles_nor_butler_did_it,initial,(killed(butler,agatha)|killed(charles,agatha)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).

cnf(149504976,derived,(killed(butler,agatha)|killed(charles,agatha)),inference(rewrite,[status(thm)],[prove_neither_charles_nor_butler_did_it]),[]).

cnf(killer_hates_victim,initial,(~killed(A,B)|hates(A,B)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).

cnf(149481552,derived,(~killed(A,B)|hates(A,B)),inference(rewrite,[status(thm)],[killer_hates_victim]),[]).

cnf(different_hates,initial,(~hates(agatha,A)|~hates(charles,A)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).

cnf(149456472,derived,(~hates(agatha,A)|~hates(charles,A)),inference(rewrite,[status(thm)],[different_hates]),[]).

cnf(157305152,derived,(~hates(charles,agatha)),inference(resolution,[status(thm)],[149456472,149472944]),[]).

cnf(157366280,derived,(~killed(charles,agatha)),inference(resolution,[status(thm)],[149481552,157305152]),[]).

cnf(157371824,derived,(killed(butler,agatha)),inference(resolution,[status(thm)],[149504976,157366280]),[]).

cnf(157386008,derived,(~richer(butler,agatha)),inference(resolution,[status(thm)],[149449888,157371824]),[]).

cnf(157494464,derived,(hates(butler,butler)),inference(forward_subsumption_resolution__resolution,[status(thm)],[149439864,149498600,157386008]),[]).

cnf(no_one_hates_everyone,initial,(~hates(A,agatha)|~hates(A,butler)|~hates(A,charles)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).

cnf(149468192,derived,(~hates(A,agatha)|~hates(A,butler)|~hates(A,charles)),inference(rewrite,[status(thm)],[no_one_hates_everyone]),[]).

cnf(agatha_hates_charles,initial,(hates(agatha,charles)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).

cnf(149477024,derived,(hates(agatha,charles)),inference(rewrite,[status(thm)],[agatha_hates_charles]),[]).

cnf(157395272,derived,(hates(butler,charles)),inference(resolution,[status(thm)],[149433568,149477024]),[]).

```

## Geo 2006i

Hans de Nivelle1, Jia Meng2
1Max-Planck Institut für Informatik, Germany
nivelle[@]mpi-inf.mpg.de
2National ICT Australia, Australia
jiameng[@]rsise.anu.edu.au In case geo finds a proof, it prints the complete rulesystem, which contains the proof. The last rule is always the empty rule -> FALSE. Rules are marked with explanations how they are obtained:
• I : Initial
• E : Existentiality Resolution
• D : Disjunction resolution.

### Sample FOF proof for SYN075+1

```0:   I   closed(0)     (ACTIVE)
-> # V0 /\ pppp3(V0)
1:   I   closed(0)     (ACTIVE)
pppp3(V0) -> # V1 /\ pppp2(V0,V1)
2:   I   closed(0)     (ACTIVE)
pppp2(V0,V1) /\ pppp0(V0,V1,V2,V3) -> big_f(V2,V3)
3:   I   closed(0)     (ACTIVE)
pppp2(V0,V1) /\ big_f(V2,V3) -> pppp0(V0,V1,V2,V3)
4:   I   closed(1)     (ACTIVE)
pppp0(V0,V1,V2,V3) /\ V2 != V0 -> FALSE
5:   I   closed(1)     (ACTIVE)
pppp0(V0,V1,V2,V3) /\ V3 != V1 -> FALSE
6:   I   closed(0)     (ACTIVE)
# V0 /\ # V1 -> pppp0(V0,V1,V0,V1)
7:   I   closed(0)     (ACTIVE)
# V0 -> # V1 /\ pppp4(V0,V1)
8:   I   closed(5)     (ACTIVE)
pppp4(V0,V0) /\ pppp1(V0) -> FALSE
9:   I   closed(0)     (ACTIVE)
pppp4(V0,V1) /\ V1 != V0 -> pppp1(V1)
10:   I   closed(0)     (ACTIVE)
pppp1(V0) -> # V1 /\ pppp5(V1,V0)
11:   I   closed(0)     (ACTIVE)
# V0 /\ # V1 -> pppp1(V0) \/ pppp7(V1,V0)
12:   I   closed(0)     (ACTIVE)
pppp7(V0,V1) -> # V2 /\ pppp6(V0,V2,V1)
13:   I   closed(2)     (ACTIVE)
pppp6(V0,V0,V2) /\ big_f(V0,V2) -> FALSE
14:   I   closed(0)     (ACTIVE)
pppp6(V0,V1,V2) /\ V1 != V0 -> big_f(V1,V2)
15:   I   closed(0)     (ACTIVE)
pppp5(V0,V1) -> big_f(V0,V1)
16:   I   closed(0)     (ACTIVE)
pppp5(V0,V1) /\ big_f(V2,V1) /\ V2 != V0 -> FALSE
17:   D(3,4)   closed(0)     (ACTIVE)
pppp2(V0,V1) /\ big_f(V2,V3) /\ V2 != V0 -> FALSE
18:   D(14,17)   closed(0)     (ACTIVE)
pppp2(V0,V1) /\ pppp6(V2,V3,V4) /\ V3 != V2 /\ V3 != V0 -> FALSE
19:   E(12,18,13,13)   closed(1)     (ACTIVE)
pppp2(V0,V1) /\ pppp7(V0,V2) /\ big_f(V0,V2) -> FALSE
20:   D(2,19)   closed(0)     (ACTIVE)
pppp2(V0,V1) /\ pppp0(V0,V1,V0,V2) /\ pppp7(V0,V2) -> FALSE
21:   D(9,8)   closed(1)     (ACTIVE)
pppp4(V0,V0) /\ pppp4(V1,V0) /\ V0 != V1 -> FALSE
22:   D(14,13)   closed(0)     (ACTIVE)
pppp6(V0,V0,V1) /\ pppp6(V2,V0,V1) /\ V0 != V2 -> FALSE
23:   D(3,5)   closed(0)     (ACTIVE)
pppp2(V0,V1) /\ big_f(V2,V3) /\ V3 != V1 -> FALSE
24:   D(15,23)   closed(3)     (ACTIVE)
pppp5(V0,V1) /\ pppp2(V2,V3) /\ V1 != V3 -> FALSE
25:   E(10,24)   closed(0)     (ACTIVE)
pppp1(V0) /\ pppp2(V1,V2) /\ V0 != V2 -> FALSE
26:   D(9,25)   closed(0)     (ACTIVE)
pppp2(V0,V1) /\ pppp4(V2,V3) /\ V3 != V2 /\ V3 != V1 -> FALSE
27:   E(7,26,8,8)   closed(0)     (ACTIVE)
pppp2(V0,V1) /\ pppp1(V1) -> FALSE
28:   D(11,27,19)   closed(0)     (ACTIVE)
pppp2(V0,V1) /\ big_f(V0,V1) -> FALSE
29:   D(2,28)   closed(0)     (ACTIVE)
pppp2(V0,V1) /\ pppp0(V0,V1,V0,V1) -> FALSE
30:   D(6,29)   closed(0)     (ACTIVE)
pppp2(V0,V1) -> FALSE
31:   E(1,30)   closed(0)     (ACTIVE)
pppp3(V0) -> FALSE
32:   E(0,31)   closed(0)     (ACTIVE)
-> FALSE
```

### Sample CNF proof for SYN075-1

```0:   I   closed(1)     (ACTIVE)
P_a(V0) /\ big_f(V1,V2) /\ V1 != V0 -> FALSE
1:   I   closed(1)     (ACTIVE)
P_a(V0) /\ P_b(V1) /\ big_f(V3,V2) /\ V2 != V1 -> FALSE
2:   I   closed(0)     (ACTIVE)
P_a(V0) /\ P_b(V1) -> big_f(V0,V1)
3:   I   closed(0)     (ACTIVE)
P_a(V0) /\ P_b(V1) /\ P_f(V2,V3) /\ P_g(V2,V4) /\ big_f(V4,V3) /\ V3 != V2 -> FALSE
4:   I   closed(0)     (ACTIVE)
P_a(V0) /\ P_b(V1) /\ P_f(V2,V3) /\ P_g(V2,V4) /\ V3 != V2 -> big_f(V4,V3)
5:   I   closed(0)     (ACTIVE)
P_a(V0) /\ P_b(V1) /\ P_f(V2,V3) /\ P_g(V2,V4) /\ P_h(V2,V5,V6) /\ V6 != V5 -> big_f(V6,V3) \/ big_f(V4,V3)
6:   I   closed(0)     (ACTIVE)
P_a(V0) /\ P_b(V1) /\ P_f(V2,V3) /\ P_g(V2,V4) /\ P_h(V2,V5,V5) /\ big_f(V5,V3) -> big_f(V4,V3)
7:   I   closed(0)     (ACTIVE)
P_a(V0) /\ P_b(V1) /\ P_f(V2,V2) /\ P_h(V2,V4,V5) /\ V5 != V4 -> big_f(V5,V2)
8:   I   closed(1)     (ACTIVE)
P_a(V0) /\ P_b(V1) /\ P_f(V2,V2) /\ P_h(V2,V4,V4) /\ big_f(V4,V2) -> FALSE
9:   I   closed(0)     (ACTIVE)
-> # V0 /\ P_a(V0)
10:   I   closed(0)     (ACTIVE)
-> # V0 /\ P_b(V0)
11:   I   closed(0)     (ACTIVE)
# V0 -> # V1 /\ P_f(V0,V1)
12:   I   closed(0)     (ACTIVE)
# V0 -> # V1 /\ P_g(V0,V1)
13:   I   closed(0)     (ACTIVE)
# V0 /\ # V1 -> # V2 /\ P_h(V0,V1,V2)
14:   D(7,0)   closed(0)     (ACTIVE)
P_b(V1) /\ P_a(V0) /\ P_f(V2,V2) /\ P_h(V2,V3,V4) /\ V4 != V3 /\ V4 != V0 -> FALSE
15:   E(13,14,8,8)   closed(0)     (ACTIVE)
P_b(V0) /\ P_a(V1) /\ big_f(V1,V2) /\ P_f(V2,V2) -> FALSE
16:   D(4,1)   closed(2)     (ACTIVE)
P_a(V0) /\ P_b(V1) /\ P_g(V2,V3) /\ P_f(V2,V4) /\ V4 != V2 /\ V4 != V1 -> FALSE
17:   E(12,16)   closed(0)     (ACTIVE)
P_a(V0) /\ P_b(V1) /\ P_f(V2,V3) /\ V3 != V2 /\ V3 != V1 -> FALSE
18:   E(11,17,15,15)   closed(0)     (ACTIVE)
P_a(V0) /\ big_f(V0,V1) /\ P_b(V1) -> FALSE
19:   D(2,18)   closed(1)     (ACTIVE)
P_a(V0) /\ P_b(V1) -> FALSE
20:   E(10,19)   closed(0)     (ACTIVE)
P_a(V0) -> FALSE
21:   E(9,20)   closed(0)     (ACTIVE)
-> FALSE
```
In case it finds a model, it prints the model, which is just an enumeration of the atoms. # Ei is used for introducing a new domain element.

### Sample Solution to MGT031-1

```0 : 16() (0/1)    [0]   # E0
1 : 16() (0/1)    [0]   P_e(E0)
2 : 18() (0/2)    [0]   P_an_organisation(E0)
3 : 19() (0/2)    [0]   P_zero(E0)
4 : 22() (0/2)    [0]   P_efficient_producers(E0)
5 : 23() (1/2)    [7]   # E1
6 : 23() (1/2)    [7]   P_first_movers(E1)
7 : 9(1,2,3,4,6,0) (0/1)    [7]   greater_or_equal(E0,E0)
8 : 9(1,2,3,4,6,5) (0/1)    [7]   greater_or_equal(E1,E1)
9 : 24() (1/3)    [31]   P_sk2(E1)
10 : 15(0,0) (0/3)    [31]   P_number_of_organizations(E0,E0,E0)
11 : 17(0,0) (0/3)    [31]   P_appear(E0,E0,E0)
12 : 12(1,2,3,4,6,11,9) (0/1)    [31]   environment(E1)
13 : 20(0,0) (0/3)    [31]   P_sk1(E0,E0,E0)
14 : 21(0,0) (0/3)    [31]   P_cardinality_at_time(E0,E0,E0)
15 : 15(0,5) (0/3)    [31]   P_number_of_organizations(E0,E1,E0)
16 : 15(5,0) (0/3)    [31]   P_number_of_organizations(E1,E0,E0)
17 : 15(5,5) (0/3)    [31]   P_number_of_organizations(E1,E1,E0)
18 : 17(0,5) (1/3)    [32]   P_appear(E0,E1,E1)
19 : 0(1,2,3,18,15,12) (0/1)    [32]   greater(E0,E0)
20 : 13(1,2,3,4,6,11,9,18) (0/1)    [32]   in_environment(E1,E1)
21 : 17(5,0) (0/3)    [32]   P_appear(E1,E0,E0)
22 : 17(5,5) (0/3)    [32]   P_appear(E1,E1,E0)
23 : 5(1,2,3,4,6,22,18,12) (0/1)    [32]   greater_or_equal(E0,E1)
24 : 7(1,2,3,4,6,23,5) (0/1)    [32]   greater(E0,E1)
25 : 20(0,5) (0/3)    [32]   P_sk1(E0,E1,E0)
26 : 1(1,2,3,12,16,25,19) (0/1)    [32]   subpopulation(E0,E1,E0)
27 : 20(5,0) (0/3)    [32]   P_sk1(E1,E0,E0)
28 : 20(5,5) (0/3)    [32]   P_sk1(E1,E1,E0)
29 : 1(1,2,3,12,17,28,19) (0/1)    [32]   subpopulation(E0,E1,E1)
30 : 21(0,5) (0/3)    [32]   P_cardinality_at_time(E0,E1,E0)
31 : 21(5,0) (0/3)    [32]   P_cardinality_at_time(E1,E0,E0)
32 : 21(5,5) (1/3)    [33]   P_cardinality_at_time(E1,E1,E1)
```

## Octopus 2006

Monty Newborn
newborn[@]cs.mcgill.ca

### Sample FOF proof for SYN075+1

The master proved this theorem. The master does not weaken a clause before seeking a proof.
```Rating   : 0.33 v3.1.0      Status   : Theoremf

C0: --------------------------------------------------------
C0: Predicates: big_f equal
C0: Functions: SK1 SK2 : SK5 SK3 SK4
C0: Renamed predicates:  big_f E.
C0: EQ: 12.11.2
C0: ESAF: 5 6 7 8
C0: ESAP: 3 4
C0: No splitting!
C0: -----------------------------------------------------------

C0: T0
C0: 1 {T3 N62-62 C219-0-0 U38-30-0 THM2}
C0: 2 {T3 N222-222 C808-164-0 U50-71-0 THM2}
C0: Master knows proof exists
C0: 1 {T3 N271-49 C186-0-0 U11-4-0 THM2}
Proof Found by Master

C0: THE PROOF

Axioms:
1 >big_f[x,y] ~E.[x,SK1] ~E.[y,SK2]
2: ~E.[x,y] ~E.[y,z] E.[x,z]
3: ~big_f[x,y] ~E.[y,z] big_f[x,z]
4: ~big_f[x,y] ~E.[x,z] big_f[z,y]
5: ~E.[x,y] E.[SK5[x,z],SK5[y,z]]
6: ~E.[x,y] E.[SK5[z,x],SK5[z,y]]
7: ~E.[x,y] E.[SK3[x],SK3[y]]
8: ~E.[x,y] E.[SK4[x],SK4[y]]
9 >~big_f[x,y] E.[y,SK2]
10 >~big_f[x,y] E.[x,SK1]
11: ~E.[x,y] E.[y,x]
12 >E.[x,x]

Negated conclusion:
13S E.[SK5[x,y],y] big_f[SK5[x,y],SK3[x]] big_f[z,SK3[x]] ~E.[z,SK4[x]]
14S E.[SK5[x,y],y] big_f[SK5[x,y],SK3[x]] ~big_f[z,SK3[x]] E.[z,SK4[x]]
15S ~big_f[SK5[x,y],SK3[x]] ~E.[SK5[x,y],y] big_f[z,SK3[x]] ~E.[z,SK4[x]]
16S ~big_f[SK5[x,y],SK3[x]] ~E.[SK5[x,y],y] ~big_f[z,SK3[x]] E.[z,SK4[x]]
17S>E.[SK5[x,y],y] big_f[SK5[x,y],SK3[x]] ~E.[SK3[x],x]
18S>~big_f[SK5[x,y],SK3[x]] ~E.[SK5[x,y],y] ~E.[SK3[x],x]
19S>E.[SK3[x],x] big_f[y,SK3[x]] ~E.[y,SK4[x]]
20S E.[SK3[x],x] ~big_f[y,SK3[x]] E.[y,SK4[x]]

---------------
Phases 1 and 2 clauses used in proof:
21: (12a,1b)  big_f[SK1,x] ~E.[x,SK2]
22: (21b,12a) big_f[SK1,SK2]

23S>(19b,9a)  E.[SK3[x],x] ~E.[y,SK4[x]] E.[SK3[x],SK2]
24S>(23b,12a) E.[SK3[x],x] E.[SK3[x],SK2]
25S>(24ab)    E.[SK3[SK2],SK2]

26S>(17b,10a) E.[SK5[x,y],y] ~E.[SK3[x],x] E.[SK5[x,y],SK1]
27S>(26ac)    ~E.[SK3[x],x] E.[SK5[x,SK1],SK1]
28S>(27a,25a) E.[SK5[SK2,SK1],SK1]

29S>(17b,10a) E.[SK5[x,y],y] ~E.[SK3[x],x] E.[SK5[x,y],SK1]
30S>(29ac)    ~E.[SK3[x],x] E.[SK5[x,SK1],SK1]
31S>(30b*18b) ~E.[SK3[x],x] ~big_f[SK5[x,SK1],SK3[x]]
32S>31|{SK2/x} ~E.[SK3[SK2],SK2] ~big_f[SK5[SK2,SK1],SK3[SK2]]
33S>(32a,25a) ~big_f[SK5[SK2,SK1],SK3[SK2]]
34S>[33a,28a] ~big_f[SK1,SK3[SK2]]
35S>[34a,25a] ~big_f[SK1,SK2]
36S>(35a,22a) []

C0: END OF PROOF

PHASE 0: 0 s PHASE 1: 1 s  PHASE 2: 0 s  Total Time: 3 s
NOD: 271        RES: 894        FAC: 53         T: 12  V: 6  L: 3
CTE: 808        CTH: 164        CTF: 0          CSZ: 8388608
UTE: 50         UTH: 71         UTF: 0          SBA: 5
BAS: 20         RED: 20         LEN: 0+16=16    OPT: k1 m1 z0 t600
```

### Sample CNF proof for SYN075-1

Computer 5 of the 100 spawned proved this theorem. It picked the 2nd weakening which involved weakening clause 3. However, it proved the theorem without using clause 3.
```-----------------------------------------------
C5: Predicates: equal big_f
C5: Functions:  aC bC : h f g
Renamed predicates:  E. big_f
EQ: 12.11.4
ESAF: 7 8 9 10
ESAP: 5 6
C5: No splitting!
C5: -----------------------------------------------------------

C5: -------------------------------------------------
C5:                MODIFY THEOREM
C5: Spawned = 100   Number of weakenings = 89   Pass = 0
C5: Nodes searched last time = 0
C5: Time taken=0  Time to go=600  Time for this pass=600
C5: X12 V6 L7 W2 TH1
C5: ---------------------------------------------------------------

C5: 1 {T0 N37-37 C117-0-0 U19-34-0 HC2 L6 R0 TH1}
C5: 37-node 6-step w-proof obtained; Details soon!
C5: 1 {T0 N48-11 C55-0-0 U17-20-0 HC0 L15 R0 TH1}
C5: 48-node 15-step c-type 1-depth w-proof obtained!!

C5: THE  PROOF

Axioms:
1 >~E.[x,aC] ~E.[y,bC] big_f[x,y]
2 >~big_f[x,y] E.[x,aC]
3S ~big_f[x,y] E.[y,z] ... ?
12 >E.[x,x]

Negated conclusion:
13S ~E.[x,g[y]] big_f[x,f[y]] ~E.[h[y,z],z] ~big_f[h[y,z],f[y]]
14S ~E.[x,g[y]] big_f[x,f[y]] big_f[h[y,z],f[y]] E.[h[y,z],z]
15S>~E.[f[x],x] ~E.[h[x,y],y] ~big_f[h[x,y],f[x]]
16S>~E.[f[x],x] big_f[h[x,y],f[x]] E.[h[x,y],y]
17#>~big_f[x,f[y]] ~E.[x,g[y]] E.[f[y],y]
18#>~E.[x,g[y]] big_f[x,f[y]] E.[f[y],y]

---------------
Phase 0 clauses used in proof:
19S>(18b*17a) ~E.[x,g[y]] E.[f[y],y]

Phases 1 and 2 clauses used in proof:
20S>(19a,12a) E.[f[x],x]

21S>(19b,1b)  ~E.[x,g[bC]] ~E.[y,aC] big_f[y,f[bC]]
22S>[21c,20a] ~E.[x,g[bC]] ~E.[y,aC] big_f[y,bC]
23S>(22b,16c) ~E.[x,g[bC]] big_f[h[y,aC],bC] ~E.[f[y],y] big_f[h[y,aC],f[y]]
24S>[23c,20a] ~E.[x,g[bC]] big_f[h[y,aC],bC] ~E.[y,y] big_f[h[y,aC],f[y]]
25S>[24d,20a] ~E.[x,g[bC]] big_f[h[y,aC],bC] ~E.[y,y] big_f[h[y,aC],y]
26S>(25c,12a) ~E.[x,g[bC]] big_f[h[y,aC],bC] big_f[h[y,aC],y]
27S>(26a,12a) big_f[h[x,aC],bC] big_f[h[x,aC],x]
28S>(27ab)    big_f[h[bC,aC],bC]

29S>(19b,15a) ~E.[x,g[y]] ~E.[h[y,z],z] ~big_f[h[y,z],f[y]]
30S>(29b,2b)  ~E.[x,g[y]] ~big_f[h[y,aC],f[y]] ~big_f[h[y,aC],z]
31S>[30b,20a] ~E.[x,g[y]] ~big_f[h[y,aC],y] ~big_f[h[y,aC],z]
32S>(31a,12a) ~big_f[h[x,aC],x] ~big_f[h[x,aC],y]
33S>(32a,28a) ~big_f[h[bC,aC],y]
34S>(33a,28a) []

C5: END OF PROOF

PHASE 0: 0 s PHASE 1: 0 s  PHASE 2: 0 s ACCUM: 0 Total Time: 0 s
NOD: 48         RES: 95         FAC: 21         T: 12  V: 6  L: 7
CTE: 117        CTH: 0          CTF: 0          CSZ: 8388608
UTE: 19         UTH: 34         UTF: 0          SBA: 2
BAS: 18         RED: 17         LEN: 1+15=16    OPT: k1 m1 z0 t600/600
```

## Otter 3.3

William McCune
Argonne National Laboratory, USA
mccune[@]mcs.anl.gov

### Sample CNF proof for SYN075-1

```---------------- PROOF ----------------

1 [] -big_f(A,B)|equal(A,a).
2 [] -big_f(A,B)|equal(B,b).
3 [] -equal(A,a)| -equal(B,b)|big_f(A,B).
4 [] -big_f(A,f(B))| -equal(A,g(B))|equal(f(B),B).
5 [] -equal(A,g(B))|big_f(A,f(B))|equal(f(B),B).
8 [] -equal(f(A),A)|big_f(h(A,B),f(A))|equal(h(A,B),B).
9 [] -equal(f(A),A)| -equal(h(A,B),B)| -big_f(h(A,B),f(A)).
11 [] equal(A,A).
13 [hyper,11,5] big_f(g(A),f(A))|equal(f(A),A).
14 [hyper,11,3,11] big_f(a,b).
21 [hyper,13,3,11] big_f(g(b),f(b))|big_f(a,f(b)).
62 [hyper,21,4,11] big_f(a,f(b))|equal(f(b),b).
79 [hyper,62,3,11,factor_simp] big_f(a,f(b)).
81,80 [hyper,79,2] equal(f(b),b).
126 [hyper,80,8,demod,81] big_f(h(b,A),b)|equal(h(b,A),A).
319 [hyper,126,3,80,demod,81,factor_simp] big_f(h(b,a),b).
331,330 [hyper,319,1] equal(h(b,a),a).
335 [para_from,330.1.1,9.3.1,demod,81,331,81,unit_del,11,11,14] \$F.

------------ end of proof -------------
```

### Sample CNF proof for PUZ031-1

```---------------- PROOF ----------------

1 [] animal(A)| -wolf(A).
2 [] animal(A)| -fox(A).
3 [] animal(A)| -bird(A).
5 [] animal(A)| -snail(A).
6 [] plant(A)| -grain(A).
7 [] eats(A,B)|eats(A,C)| -animal(A)| -plant(B)| -animal(C)| -plant(D)| -much_smaller(C,A)| -eats(C,D).
9 [] much_smaller(A,B)| -snail(A)| -bird(B).
10 [] much_smaller(A,B)| -bird(A)| -fox(B).
11 [] much_smaller(A,B)| -fox(A)| -wolf(B).
13 [] -wolf(A)| -grain(B)| -eats(A,B).
15 [] -bird(A)| -snail(B)| -eats(A,B).
18 [] plant(snail_food_of(A))| -snail(A).
19 [] eats(A,snail_food_of(A))| -snail(A).
20 [] -animal(A)| -animal(B)| -grain(C)| -eats(A,B)| -eats(B,C).
23 [factor,7.4.6] eats(A,B)|eats(A,C)| -animal(A)| -plant(B)| -animal(C)| -much_smaller(C,A)| -eats(C,B).
28 [] wolf(a_wolf).
29 [] fox(a_fox).
30 [] bird(a_bird).
32 [] snail(a_snail).
33 [] grain(a_grain).
34 [hyper,28,1] animal(a_wolf).
35 [hyper,29,11,28] much_smaller(a_fox,a_wolf).
36 [hyper,29,2] animal(a_fox).
37 [hyper,30,10,29] much_smaller(a_bird,a_fox).
38 [hyper,30,3] animal(a_bird).
44 [hyper,32,19] eats(a_snail,snail_food_of(a_snail)).
45 [hyper,32,18] plant(snail_food_of(a_snail)).
46 [hyper,32,9,30] much_smaller(a_snail,a_bird).
47 [hyper,32,5] animal(a_snail).
48 [hyper,33,6] plant(a_grain).
50 [hyper,44,7,38,48,47,45,46] eats(a_bird,a_grain)|eats(a_bird,a_snail).
55 [hyper,50,15,30,32] eats(a_bird,a_grain).
56 [hyper,55,23,36,48,38,37] eats(a_fox,a_grain)|eats(a_fox,a_bird).
62 [hyper,56,20,36,38,33,55] eats(a_fox,a_grain).
63 [hyper,62,23,34,48,36,35] eats(a_wolf,a_grain)|eats(a_wolf,a_fox).
67 [hyper,63,13,28,33] eats(a_wolf,a_fox).
69 [hyper,67,20,34,36,33,62] \$F.

------------ end of proof -------------
```

Koen Claessen, Niklas Sörensson
Chalmers University of Technology and Gothenburg University, Sweden
{koen,nik}[@]cs.chalmers.se

### Solution Description

When it has found a model, Paradox produces a table of definitions for each constant symbol, function symbol, and predicate symbol. The table is sorted alphabetically. In the table, domain elements are represented as positive natural numbers preceded by a ' (tick).

NOTE: In order to save space in the representation of the model, sometimes, some entries in some of the definition tables are missing. This is not a bug! More detailedly, it might happen that for a model with a domain of size n, for some argument position, only a subset {'1,'2,..,'k} of all domain elements is shown, with k < n. What this means is that the entries for other domain elements 'j (with k < j <= n) occurring at that argument position look the same as entries with 'k at that position. Problem NLP041-1.p is an example where a model is represented in such a way.

### Sample Solution to MGT031-1

```an_organisation = '1

appear('1,'1) = '2
appear('1,'2) = '2
appear('2,'1) = '1
appear('2,'2) = '1

cardinality_at_time('1,'1) = '2
cardinality_at_time('1,'2) = '2
cardinality_at_time('2,'1) = '2
cardinality_at_time('2,'2) = '2

e = '1

efficient_producers = '2

environment('1) : FALSE
environment('2) : TRUE

first_movers = '2

greater('1,'1) : TRUE
greater('1,'2) : TRUE
greater('2,'1) : FALSE
greater('2,'2) : TRUE

greater_or_equal('1,'1) : TRUE
greater_or_equal('1,'2) : TRUE
greater_or_equal('2,'1) : FALSE
greater_or_equal('2,'2) : TRUE

in_environment('1,'1) : TRUE
in_environment('1,'2) : TRUE
in_environment('2,'1) : TRUE
in_environment('2,'2) : TRUE

number_of_organizations('1,'1) = '2
number_of_organizations('1,'2) = '1
number_of_organizations('2,'1) = '2
number_of_organizations('2,'2) = '2

sk1('1,'1) = '2
sk1('1,'2) = '2
sk1('2,'1) = '2
sk1('2,'2) = '2

sk2 = '2

subpopulation('1,'1,'1) : TRUE
subpopulation('1,'1,'2) : TRUE
subpopulation('1,'2,'1) : TRUE
subpopulation('1,'2,'2) : TRUE
subpopulation('2,'1,'1) : TRUE
subpopulation('2,'1,'2) : TRUE
subpopulation('2,'2,'1) : TRUE
subpopulation('2,'2,'2) : TRUE

zero = '1
```

### Sample Solution to NLP041-1

```abstraction('1,'1) : FALSE
abstraction('1,'2) : FALSE
abstraction('1,'3) : FALSE
abstraction('1,'4) : TRUE

act('1,'1) : FALSE
act('1,'2) : FALSE
act('1,'3) : TRUE
act('1,'4) : FALSE

actual_world('1) : TRUE

agent('1,'1,'1) : TRUE
agent('1,'1,'2) : TRUE
agent('1,'1,'3) : TRUE
agent('1,'1,'4) : TRUE
agent('1,'2,'1) : TRUE
agent('1,'2,'2) : TRUE
agent('1,'2,'3) : TRUE
agent('1,'2,'4) : TRUE
agent('1,'3,'1) : TRUE
agent('1,'3,'2) : FALSE
agent('1,'3,'3) : FALSE
agent('1,'3,'4) : FALSE
agent('1,'4,'1) : TRUE
agent('1,'4,'2) : TRUE
agent('1,'4,'3) : TRUE
agent('1,'4,'4) : FALSE

animate('1,'1) : TRUE
animate('1,'2) : FALSE
animate('1,'3) : FALSE
animate('1,'4) : FALSE

beverage('1,'1) : FALSE
beverage('1,'2) : TRUE
beverage('1,'3) : FALSE
beverage('1,'4) : FALSE

entity('1,'1) : TRUE
entity('1,'2) : TRUE
entity('1,'3) : FALSE
entity('1,'4) : FALSE

event('1,'1) : FALSE
event('1,'2) : FALSE
event('1,'3) : TRUE
event('1,'4) : FALSE

eventuality('1,'1) : FALSE
eventuality('1,'2) : FALSE
eventuality('1,'3) : TRUE
eventuality('1,'4) : FALSE

existent('1,'1) : TRUE
existent('1,'2) : TRUE
existent('1,'3) : FALSE
existent('1,'4) : FALSE

female('1,'1) : TRUE
female('1,'2) : FALSE
female('1,'3) : FALSE
female('1,'4) : FALSE

food('1,'1) : FALSE
food('1,'2) : TRUE
food('1,'3) : FALSE
food('1,'4) : FALSE

forename('1,'1) : FALSE
forename('1,'2) : FALSE
forename('1,'3) : FALSE
forename('1,'4) : TRUE

general('1,'1) : FALSE
general('1,'2) : FALSE
general('1,'3) : FALSE
general('1,'4) : TRUE

human('1,'1) : TRUE
human('1,'2) : FALSE
human('1,'3) : FALSE
human('1,'4) : FALSE

human_person('1,'1) : TRUE
human_person('1,'2) : FALSE
human_person('1,'3) : FALSE
human_person('1,'4) : FALSE

impartial('1,'1) : TRUE
impartial('1,'2) : TRUE
impartial('1,'3) : FALSE
impartial('1,'4) : FALSE

living('1,'1) : TRUE
living('1,'2) : FALSE
living('1,'3) : FALSE
living('1,'4) : FALSE

mia_forename('1,'1) : FALSE
mia_forename('1,'2) : FALSE
mia_forename('1,'3) : FALSE
mia_forename('1,'4) : TRUE

nonexistent('1,'1) : FALSE
nonexistent('1,'2) : FALSE
nonexistent('1,'3) : TRUE
nonexistent('1,'4) : TRUE

nonhuman('1,'1) : FALSE
nonhuman('1,'2) : TRUE
nonhuman('1,'3) : TRUE
nonhuman('1,'4) : TRUE

nonliving('1,'1) : FALSE
nonliving('1,'2) : TRUE
nonliving('1,'3) : TRUE
nonliving('1,'4) : TRUE

nonreflexive('1,'1) : FALSE
nonreflexive('1,'2) : FALSE
nonreflexive('1,'3) : TRUE
nonreflexive('1,'4) : TRUE

object('1,'1) : FALSE
object('1,'2) : TRUE
object('1,'3) : FALSE
object('1,'4) : FALSE

of('1,'1,'1) : FALSE
of('1,'1,'2) : TRUE
of('1,'1,'3) : TRUE
of('1,'1,'4) : TRUE
of('1,'2,'1) : FALSE
of('1,'2,'2) : TRUE
of('1,'2,'3) : TRUE
of('1,'2,'4) : TRUE
of('1,'3,'1) : FALSE
of('1,'3,'2) : TRUE
of('1,'3,'3) : TRUE
of('1,'3,'4) : TRUE
of('1,'4,'1) : TRUE
of('1,'4,'2) : TRUE
of('1,'4,'3) : TRUE
of('1,'4,'4) : TRUE

order('1,'1) : FALSE
order('1,'2) : FALSE
order('1,'3) : TRUE
order('1,'4) : FALSE

organism('1,'1) : TRUE
organism('1,'2) : FALSE
organism('1,'3) : FALSE
organism('1,'4) : FALSE

past('1,'1) : FALSE
past('1,'2) : FALSE
past('1,'3) : TRUE
past('1,'4) : FALSE

patient('1,'1,'1) : TRUE
patient('1,'1,'2) : TRUE
patient('1,'1,'3) : TRUE
patient('1,'1,'4) : TRUE
patient('1,'2,'1) : TRUE
patient('1,'2,'2) : TRUE
patient('1,'2,'3) : TRUE
patient('1,'2,'4) : TRUE
patient('1,'3,'1) : FALSE
patient('1,'3,'2) : TRUE
patient('1,'3,'3) : TRUE
patient('1,'3,'4) : TRUE
patient('1,'4,'1) : FALSE
patient('1,'4,'2) : FALSE
patient('1,'4,'3) : FALSE
patient('1,'4,'4) : TRUE

relation('1,'1) : FALSE
relation('1,'2) : FALSE
relation('1,'3) : FALSE
relation('1,'4) : TRUE

relname('1,'1) : FALSE
relname('1,'2) : FALSE
relname('1,'3) : FALSE
relname('1,'4) : TRUE

shake_beverage('1,'1) : FALSE
shake_beverage('1,'2) : TRUE
shake_beverage('1,'3) : FALSE
shake_beverage('1,'4) : FALSE

singleton('1,'1) : TRUE
singleton('1,'2) : TRUE
singleton('1,'3) : TRUE
singleton('1,'4) : TRUE

skc5 = '1

skc6 = '3

skc7 = '2

skc8 = '4

skc9 = '1

specific('1,'1) : TRUE
specific('1,'2) : TRUE
specific('1,'3) : TRUE
specific('1,'4) : FALSE

substance_matter('1,'1) : FALSE
substance_matter('1,'2) : TRUE
substance_matter('1,'3) : FALSE
substance_matter('1,'4) : FALSE

thing('1,'1) : TRUE
thing('1,'2) : TRUE
thing('1,'3) : TRUE
thing('1,'4) : TRUE

unisex('1,'1) : FALSE
unisex('1,'2) : TRUE
unisex('1,'3) : TRUE
unisex('1,'4) : TRUE

woman('1,'1) : TRUE
woman('1,'2) : FALSE
woman('1,'3) : FALSE
woman('1,'4) : FALSE
```

Koen Claessen, Niklas Sörensson
Chalmers University of Technology and Gothenburg University, Sweden
{koen,nik}[@]cs.chalmers.se See the
Vampire 8.0 sample solutions.

## Theo 2006

Monty Newborn
newborn[@]cs.mcgill.ca

### Sample FOF proof for SYN075+1

```Rating   : 0.33 v3.1.0    Status   : Theorem

Predicates: big_f equal
Functions: SK1  SK2  : SK5  SK3  SK4
Renamed predicates:  big_f E.
EQ:  12.11.2
ESAF: 5 6 7 8
ESAP: 3 4

OPT: k1 m1 z0 h1 n1 b1  x12:X6:N5 v6 l4 t600/600
No splitting!

WEAKENING ARRAY: 121 weakenings possible
# Clause  Literal  Position  Contents  Variables Heuristic Nest
0    20      1        1      80000101      2    5f4528f   2
1    20      1        3             0      2    5f5d92d   1
2    10      2        2      80000040      2    5f5dd16   1
3    20      2        3             0      2    5f75fcd   1
4    20      2        2      80000101      2    5f75fce   1
5    20      3        1             1      2    5f75fcf   2
6    20      1       -1      ffffffff      2    5f75fd0   0
7     9      2        2      80000080      2    5f76418   1
8    20      3        2      80000141      2    5f8e66e   1
9    20      2       -1      ffffffff      2    5f8e670   0
10    19      1        1      80000101      2    5f8e6d3   2
11     1      2        2      80000040      2    5f8edda   1
12    20      3        3             0      2    5fa6d0d   1
13    20      3       -1      ffffffff      2    5fa6d10   0
14     1      3        2      80000080      2    5fa7478   1
15    19      1        3             0      2    5fbf411   1
16    19      2        2      80000101      2    5fbf412   1
17    19      1       -1      ffffffff      2    5fbf414   0
18    19      2        3             0      2    5fd7ab1   1
19    19      3        2      80000141      2    5fd7ab2   1
20    19      3        1             1      2    5fd7ab3   2
21    19      2       -1      ffffffff      2    5fd7ab4   0
22    18      1        1      800000c2      2    5fd7b17   2
23    19      3       -1      ffffffff      2    5ff0154   0
24    19      3        3             0      2    60087f1   1
25    18      1        4      80000101      2    6008854   1
26    18      2        2             0      2    6008856   3
27    18      2        1      800000c2      2    6008857   2
28    18      1       -1      ffffffff      2    6008858   0
29    18      1        5             0      2    6020ef3   1
30    18      3        1      80000101      2    6020ef7   2
31    18      2       -1      ffffffff      2    6020ef8   0
32    18      2        3             1      2    6039595   2
33    18      3       -1      ffffffff      2    6039598   0
34    17      1        1      800000c2      2    60395fb   2
35    17      2        1      800000c2      2    6051c9b   2
36    17      1       -1      ffffffff      2    6051c9c   0
37    18      2        4             1      2    606a2d4   1
38    18      3        2             0      2    606a2d6   2
39    17      2       -1      ffffffff      2    606a33c   0
40    17      2        4      80000101      2    60829d8   1
41    17      3        1      80000101      2    60829db   2
42    17      3       -1      ffffffff      2    60829dc   0
43    18      3        3             0      2    609b015   1
44    17      2        2             0      2    609b07a   3
45    16      1        1      800000c2      3    609b0df   2
46    16      1       -1      ffffffff      3    609b0e0   0
47    17      1        4             1      2    60b3718   1
48    16      2       -1      ffffffff      3    60b3780   0
49    17      2        3             1      2    60cbdb9   2
50    16      1        4      80000101      3    60cbe1c   1
51    16      2        1      800000c2      3    60cbe1f   2
52    16      3       -1      ffffffff      3    60cbe20   0
53    16      4       -1      ffffffff      3    60e44c0   0
54    17      2        5             0      2    60fcaf7   1
55    17      3        2             0      2    60fcafa   2
56    16      3        2      80000101      3    60fcb5e   1
57    15      1       -1      ffffffff      3    60fcbc4   0
58    16      4        2      80000141      3    61151fe   1
59    15      1        1      800000c2      3    6115263   2

----------------------------------------------------------------------
MODIFY THEOREM

Nodes searched last time = 0
Time taken = 0
Time to go = 600
o_maxtime = 300

Weakened to: 0 20S E.[z,x] ~big_f[y,SK3[x]] E.[y,SK4[x]] ... ?

LEVEL  CLAUSE  LITERAL POSITION     NEW   OLD HEURISTIC
0      20       1        1         2    80000101

--------------------------------------------------------------------
0
1 {T0 N259-259 [C770 H1 h0 U12 u11 f0] E2 s48 t0 L0}*

Weakened proof obtained; details soon!!

1 {T0 N470-211 [C618 H1 h0 U12 u7 f0] E2 s76 t0 L0}\$

THE W-PROOF

Axioms:
1 >big_f[x,y] ~E.[x,SK1] ~E.[y,SK2]
2: ~E.[x,y] ~E.[y,z] E.[x,z]
3: ~big_f[x,y] ~E.[y,z] big_f[x,z]
4: ~big_f[x,y] ~E.[x,z] big_f[z,y]
5: ~E.[x,y] E.[SK5[x,z],SK5[y,z]]
6: ~E.[x,y] E.[SK5[z,x],SK5[z,y]]
7: ~E.[x,y] E.[SK3[x],SK3[y]]
8: ~E.[x,y] E.[SK4[x],SK4[y]]
9 >~big_f[x,y] E.[y,SK2]
10 >~big_f[x,y] E.[x,SK1]
11: ~E.[x,y] E.[y,x]
12 >E.[x,x]

Negated conclusion:
13S E.[SK5[x,y],y] big_f[SK5[x,y],SK3[x]] big_f[z,SK3[x]] ~E.[z,SK4[x]]
14S E.[SK5[x,y],y] big_f[SK5[x,y],SK3[x]] ~big_f[z,SK3[x]] E.[z,SK4[x]]
15S ~big_f[SK5[x,y],SK3[x]] ~E.[SK5[x,y],y] big_f[z,SK3[x]] ~E.[z,SK4[x]]
16S ~big_f[SK5[x,y],SK3[x]] ~E.[SK5[x,y],y] ~big_f[z,SK3[x]] E.[z,SK4[x]]
17S>E.[SK5[x,y],y] big_f[SK5[x,y],SK3[x]] ~E.[SK3[x],x]
18S>~big_f[SK5[x,y],SK3[x]] ~E.[SK5[x,y],y] ~E.[SK3[x],x]
19S>E.[SK3[x],x] big_f[y,SK3[x]] ~E.[y,SK4[x]]
20S E.[z,x] ~big_f[y,SK3[x]] E.[y,SK4[x]] ... ?

---------------

Phases 1 and 2 clauses used in proof:
21S>(19b,9a)  E.[SK3[x],x] ~E.[y,SK4[x]] E.[SK3[x],SK2]
22S>(21b,12a) E.[SK3[x],x] E.[SK3[x],SK2]
23S>(22ab)    E.[SK3[SK2],SK2]

24S>(18a,1a)  ~E.[SK5[x,y],y] ~E.[SK3[x],x] ~E.[SK5[x,y],SK1] ~E.[SK3[x],SK2]
25S>(24bd)    ~E.[SK5[SK2,x],x] ~E.[SK5[SK2,x],SK1] ~E.[SK3[SK2],SK2]
26S>[25c,23a] ~E.[SK5[SK2,x],x] ~E.[SK5[SK2,x],SK1] ~E.[SK2,SK2]
27S>(26c,12a) ~E.[SK5[SK2,x],x] ~E.[SK5[SK2,x],SK1]
28S>(27ab)    ~E.[SK5[SK2,SK1],SK1]

29S>(17b,10a) E.[SK5[x,y],y] ~E.[SK3[x],x] E.[SK5[x,y],SK1]
30S>(29ac)    ~E.[SK3[x],x] E.[SK5[x,SK1],SK1]
31S>(30a,23a) E.[SK5[SK2,SK1],SK1]
32S>(31a,28a) []

END OF W-PROOF

Proof Found (Weakened proof is sufficient)

THE PROOF

Axioms:
1 >big_f[x,y] ~E.[x,SK1] ~E.[y,SK2]
2: ~E.[x,y] ~E.[y,z] E.[x,z]
3: ~big_f[x,y] ~E.[y,z] big_f[x,z]
4: ~big_f[x,y] ~E.[x,z] big_f[z,y]
5: ~E.[x,y] E.[SK5[x,z],SK5[y,z]]
6: ~E.[x,y] E.[SK5[z,x],SK5[z,y]]
7: ~E.[x,y] E.[SK3[x],SK3[y]]
8: ~E.[x,y] E.[SK4[x],SK4[y]]
9 >~big_f[x,y] E.[y,SK2]
10 >~big_f[x,y] E.[x,SK1]
11: ~E.[x,y] E.[y,x]
12 >E.[x,x]

Negated conclusion:
13S E.[SK5[x,y],y] big_f[SK5[x,y],SK3[x]] big_f[z,SK3[x]] ~E.[z,SK4[x]]
14S E.[SK5[x,y],y] big_f[SK5[x,y],SK3[x]] ~big_f[z,SK3[x]] E.[z,SK4[x]]
15S ~big_f[SK5[x,y],SK3[x]] ~E.[SK5[x,y],y] big_f[z,SK3[x]] ~E.[z,SK4[x]]
16S ~big_f[SK5[x,y],SK3[x]] ~E.[SK5[x,y],y] ~big_f[z,SK3[x]] E.[z,SK4[x]]
17S>E.[SK5[x,y],y] big_f[SK5[x,y],SK3[x]] ~E.[SK3[x],x]
18S>~big_f[SK5[x,y],SK3[x]] ~E.[SK5[x,y],y] ~E.[SK3[x],x]
19S>E.[SK3[x],x] big_f[y,SK3[x]] ~E.[y,SK4[x]]
20S E.[SK3[x],x] ~big_f[y,SK3[x]] E.[y,SK4[x]]

Phases 1 and 2 clauses used in proof:
21S>(19b,9a)  E.[SK3[x],x] ~E.[y,SK4[x]] E.[SK3[x],SK2]
22S>(21b,12a) E.[SK3[x],x] E.[SK3[x],SK2]
23S>(22ab)    E.[SK3[SK2],SK2]

24S>(18a,1a)  ~E.[SK5[x,y],y] ~E.[SK3[x],x] ~E.[SK5[x,y],SK1] ~E.[SK3[x],SK2]
25S>(24bd)    ~E.[SK5[SK2,x],x] ~E.[SK5[SK2,x],SK1] ~E.[SK3[SK2],SK2]
26S>[25c,23a] ~E.[SK5[SK2,x],x] ~E.[SK5[SK2,x],SK1] ~E.[SK2,SK2]
27S>(26c,12a) ~E.[SK5[SK2,x],x] ~E.[SK5[SK2,x],SK1]
28S>(27ab)    ~E.[SK5[SK2,SK1],SK1]

29S>(17b,10a) E.[SK5[x,y],y] ~E.[SK3[x],x] E.[SK5[x,y],SK1]
30S>(29ac)    ~E.[SK3[x],x] E.[SK5[x,SK1],SK1]
31S>(30a,23a) E.[SK5[SK2,SK1],SK1]
32S>(31a,28a) []

END OF PROOF

PHASE 0: 0 s, PHASE 1: 0 s, PHASE 2: 0 s ACCUM: 0  Total Time: 0 s
NOD: 470        RES: 891        FAC: 375        T: 12  V: 6  L: 4
CTE: 770        CTH: 1          CTF: 0          CSZ: 16777216
UTE: 12         UTH: 11         UTF: 0          SBA: 2
BAS: 20         RED: 20         LEN: 0+12=12    OPT: k1 m1 z0 h1 n1 b1 t600/300
```

### Sample CNF proof for SYN075-1

Theo found 89 ways to weaken the theorem as listed below. It took the first way on the list (18S ~E.[x,g[y]] big_f[z,f[y]] E.[f[y],y]) and then attempted to prove the theorem.

A proof of the weakened version was found after examining 64 nodes in the search tree. The proof of the weakened version is presented between THE W-PROOF and END OF W-PROOF. The inferences are:

1. Binary resolutions: Clauses 19,20,22,23,26,27,28,29,30,32,34,39,40,41
2. Binary factors: Clauses 21,24,33
3. Equality substitutions: Clauses 25,31,35,36,37,38
Clauses 19,20,21,22,23,24,30,34 were found to be potentially "useful" for proving the given theorem.

These clauses were added to the given therem, and then a proof was sought. After searching a small tree of 38 nodes, a proof was found. It used clause 30 from the weakened proof. Clause 38 in the proof was an instantiation.

```Rating   : 0.08 v3.1.0    Status   : Unsatisfiable
Predicates: equal big_f
Functions: aC  bC  : h  f  g
Renamed predicates:  E. big_f
EQ:  12.11.4
ESAF: 7 8 9 10
ESAP: 5 6

OPT: k1 m1 z0 h1 n1 b1  x12:X6:N5 v6 l4 t600/600
No splitting!

WEAKENING ARRAY: 89 weakenings possible
# Clause  Literal  Position  Contents  Variables Heuristic Nest
0    18      2        1             0      2    5f45357   2
1    18      1        2      80000141      2    5f5d9f6   1
2     3      2        2      80000080      2    5f5dfd0   1
3    18      2        3             1      2    5f76095   1
4    18      3        2             1      2    5f76096   2
5    18      2        2      80000101      2    5f76096   1
6    18      3        1      80000101      2    5f76097   2
7    18      1       -1      ffffffff      2    5f76098   0
8     2      2        2      80000040      2    5f766d6   1
9    18      2       -1      ffffffff      2    5f8e738   0
10     1      1        2      80000040      2    5f8edda   1
11    18      3        3             1      2    5fa6dd5   1
12    18      3       -1      ffffffff      2    5fa6dd8   0
13    17      1        2      80000101      2    5fa6e3a   1
14    17      2        1             0      2    5fa6e3b   2
15     1      2        2      80000080      2    5fa7478   1
16    17      2        2      80000141      2    5fbf4da   1
17    17      3        1      80000101      2    5fbf4db   2
18    17      1       -1      ffffffff      2    5fbf4dc   0
19    17      2        3             1      2    5fd7b79   1
20    17      3        2             1      2    5fd7b7a   2
21    17      2       -1      ffffffff      2    5fd7b7c   0
22    16      1        1      80000101      2    5fd7bdf   2
23    17      3       -1      ffffffff      2    5ff021c   0
24    16      2        1      800000c2      2    5ff027f   2
25    17      3        3             1      2    60088b9   1
26    16      2        2             0      2    600891e   3
27    16      1       -1      ffffffff      2    6008920   0
28    16      2        4      80000101      2    6020fbc   1
29    16      1        3             0      2    6020fbd   1
30    16      3        1      800000c2      2    6020fbf   2
31    16      2       -1      ffffffff      2    6020fc0   0
32    16      3        2             0      2    603965e   3
33    16      3       -1      ffffffff      2    6039660   0
34    15      1        1      80000101      2    60396c3   2
35    16      2        5             0      2    6051cfb   1
36    15      2        1      800000c2      2    6051d63   2
37    15      1       -1      ffffffff      2    6051d64   0
38    16      3        3             1      2    606a39d   2
39    15      3        1      800000c2      2    606a403   2
40    15      2       -1      ffffffff      2    606a404   0
41    15      3       -1      ffffffff      2    6082aa4   0
42    16      3        4             1      2    609b0dc   1
43    15      3        4      80000101      2    609b140   1
44    15      2        2             0      2    609b142   3
45    14      1       -1      ffffffff      3    609b1a8   0
46    15      1        3             0      2    60b37e1   1
47    14      1        2      80000141      3    60b3846   1
48    14      2       -1      ffffffff      3    60b3848   0
49    15      3        2             0      2    60cbe82   3
50    14      2        2      80000101      3    60cbee6   1
51    14      3        1      800000c2      3    60cbee7   2
52    14      3       -1      ffffffff      3    60cbee8   0
53    15      2        4             1      2    60e4520   1
54    14      4       -1      ffffffff      3    60e4588   0
55    15      3        3             1      2    60fcbc1   2
56    14      3        4      80000101      3    60fcc24   1
57    14      4        1      800000c2      3    60fcc27   2
58    13      1       -1      ffffffff      3    60fcc8c   0
59    13      2       -1      ffffffff      3    611532c   0

----------------------------------------------------------------------
MODIFY THEOREM

Nodes searched last time = 470
Time taken = 1
Time to go = 599
o_maxtime = 299

Weakened to: 0 18S ~E.[x,g[y]] big_f[z,f[y]] E.[f[y],y] ... ?

LEVEL  CLAUSE  LITERAL POSITION     NEW   OLD HEURISTIC
0      18       2        1         2           0

--------------------------------------------------------------------
0
1 {T0 N45-45 [C196 H2 h0 U27 u16 f0] E7 s323 t25 L0}*

Weakened proof obtained; details soon!!

1 {T0 N61-16 [C78 H1 h0 U22 u6 f0] E7 s537 t42 L0}
1 {T0 N65-4 [C51 H0 h0 U9 u1 f0] E3 s537 t42 L0}\$

THE W-PROOF

Axioms:
1 >~E.[x,aC] ~E.[y,bC] big_f[x,y]
2 >~big_f[x,y] E.[x,aC]
3 >~big_f[x,y] E.[y,bC]
4: ~E.[x,y] ~E.[y,z] E.[x,z]
5: ~big_f[x,y] ~E.[x,z] big_f[z,y]
6: ~big_f[x,y] ~E.[y,z] big_f[x,z]
7: ~E.[x,y] E.[h[x,z],h[y,z]]
8: ~E.[x,y] E.[h[z,x],h[z,y]]
9: ~E.[x,y] E.[f[x],f[y]]
10: ~E.[x,y] E.[g[x],g[y]]
11: ~E.[x,y] E.[y,x]
12 >E.[x,x]

Negated conclusion:
13S ~E.[x,g[y]] big_f[x,f[y]] ~E.[h[y,z],z] ~big_f[h[y,z],f[y]]
14S ~E.[x,g[y]] big_f[x,f[y]] big_f[h[y,z],f[y]] E.[h[y,z],z]
15S>~E.[f[x],x] ~E.[h[x,y],y] ~big_f[h[x,y],f[x]]
16S>~E.[f[x],x] big_f[h[x,y],f[x]] E.[h[x,y],y]
17S>~big_f[x,f[y]] ~E.[x,g[y]] E.[f[y],y]
18S>~E.[x,g[y]] big_f[z,f[y]] E.[f[y],y] ... ?

---------------

Phases 1 and 2 clauses used in proof:
19S>(18a,12a) big_f[x,f[y]] E.[f[y],y] ... ?
20S>(19a,3a)  E.[f[x],x] E.[f[x],bC] ... ?
21S>(20ab)    E.[f[bC],bC] ... ?

22S>(18a,12a) big_f[x,f[y]] E.[f[y],y] ... ?
23S>(22b,1b)  big_f[x,f[bC]] ~E.[y,aC] big_f[y,f[bC]] ... ?
24S>(23ac)    ~E.[x,aC] big_f[x,f[bC]] ... ?
25S>[24b,21a] ~E.[x,aC] big_f[x,bC] ... ?
26S>(25a,12a) big_f[aC,bC] ... ?

27S>(18a,12a) big_f[x,f[y]] E.[f[y],y] ... ?
28S>(27a*17a) E.[f[x],x] ~E.[y,g[x]] ... ?
29S>(28b,12a) E.[f[x],x] ... ?

30S>(16b,2a)  ~E.[f[x],x] E.[h[x,y],y] E.[h[x,y],aC]
31S>[30a,29a] ~E.[x,x] E.[h[x,y],y] E.[h[x,y],aC] ... ?
32S>(31a,12a) E.[h[x,y],y] E.[h[x,y],aC] ... ?
33S>(32ab)    E.[h[x,aC],aC] ... ?

34S>(15b,2b)  ~E.[f[x],x] ~big_f[h[x,aC],f[x]] ~big_f[h[x,aC],y]
35S>[34a,29a] ~E.[x,x] ~big_f[h[x,aC],f[x]] ~big_f[h[x,aC],y] ... ?
36S>[35b,33a] ~E.[x,x] ~big_f[aC,f[x]] ~big_f[h[x,aC],y] ... ?
37S>[36b,29a] ~E.[x,x] ~big_f[aC,x] ~big_f[h[x,aC],y] ... ?
38S>[37c,33a] ~E.[x,x] ~big_f[aC,x] ~big_f[aC,y] ... ?
39S>(38a,12a) ~big_f[aC,x] ~big_f[aC,y] ... ?
40S>(39a,26a) ~big_f[aC,y] ... ?
41S>(40a,26a) [] ... ?

END OF W-PROOF

List of useful clauses from weakened proof

19# (18a,12a) big_f[g[x],f[x]] E.[f[x],x]
20: (19a,3a)  E.[f[x],x] E.[f[x],bC]
21: (20ab)    E.[f[bC],bC]
22# (18a,12a) big_f[g[x],f[x]] E.[f[x],x]
23: (22b,1b)  big_f[g[bC],f[bC]] ~E.[x,aC] big_f[x,f[bC]]
24: (23ac)    ~E.[g[bC],aC] big_f[g[bC],f[bC]]
30S (16b,2a)  ~E.[f[x],x] E.[h[x,y],y] E.[h[x,y],aC]
34S (15b,2b)  ~E.[f[x],x] ~big_f[h[x,aC],f[x]] ~big_f[h[x,aC],y]

End of list of useful clauses

---------------------------------------------------*/
ANALYSIS OF WEAKENED PROOF

Clause 18 was weakened:  18S>~E.[x,g[y]] big_f[x,f[y]] E.[f[y],y]
Length of weakened proof is 23 inferences.
Nodes searched for weakened proof is 65.
12 clauses in w-proof usable to prove theorem.
Of these, 6 will be added to the base.
4 of given 12 axioms used in w-proof placed in sos.
4 of given 6 sos clauses used in w-proof.

Proof of w-version may be useful.

Weakend clause used in proof.

-----------------------------------------------------*/

PHASE 0: 0 s, PHASE 1: 0 s, PHASE 2: 0 s ACCUM: 0  Total Time: 0 s
NOD: 65         RES: 181        FAC: 25         T: 12  V: 6  L: 4
CTE: 196        CTH: 2          CTF: 0          CSZ: 16777216
UTE: 27         UTH: 16         UTF: 0          SBA: 7
BAS: 18         RED: 18         LEN: 0+23=23    OPT: k1 m1 z0 h1 n1 b1 t600/299

SYN075-1.p

Rating   : 0.08 v3.1.0    Status   : Unsatisfiable
Predicates: equal big_f
Functions: aC  bC  : h  f  g
Renamed predicates:  E. big_f
EQ:  12.11.4
ESAF: 7 8 9 10
ESAP: 5 6

OPT: k1 m1 z0 h1 n1 b1  x12:X6:N5 v6 l4 t600/299
No splitting!

----------------------------------------------------------------------
MODIFY THEOREM

Nodes searched last time = 65
Time taken = 1
Time to go = 599
o_maxtime = 299

Proof found with 1 weakening. Had weakened clause 18 (used).
Set weakened_clause_count=0, o_maxtime=timeToGo

Single weakening proof found => This time none.
----------------------------------------------------------------------

0
1 {T1 N35-35 [C133 H0 h0 U30 u34 f0] E6 s112 t7 L0}*

Proof Found; details coming!

1 {T1 N38-3 [C45 H0 h0 U22 u13 f0] E6 s159 t11 L0}\$

THE PROOF

Axioms:
1S>~E.[x,aC] ~E.[y,bC] big_f[x,y]
2S ~big_f[x,y] E.[x,aC]
3S ~big_f[x,y] E.[y,bC]
4: ~E.[x,y] ~E.[y,z] E.[x,z]
5: ~big_f[x,y] ~E.[x,z] big_f[z,y]
6: ~big_f[x,y] ~E.[y,z] big_f[x,z]
7: ~E.[x,y] E.[h[x,z],h[y,z]]
8 >~E.[x,y] E.[h[z,x],h[z,y]]
9: ~E.[x,y] E.[f[x],f[y]]
10: ~E.[x,y] E.[g[x],g[y]]
11: ~E.[x,y] E.[y,x]
12S>E.[x,x]

Negated conclusion:
13S ~E.[x,g[y]] big_f[x,f[y]] ~E.[h[y,z],z] ~big_f[h[y,z],f[y]]
14S ~E.[x,g[y]] big_f[x,f[y]] big_f[h[y,z],f[y]] E.[h[y,z],z]
15S>~E.[f[x],x] ~E.[h[x,y],y] ~big_f[h[x,y],f[x]]
16S ~E.[f[x],x] big_f[h[x,y],f[x]] E.[h[x,y],y]
17#>~big_f[x,f[y]] ~E.[x,g[y]] E.[f[y],y]
18#>~E.[x,g[y]] big_f[x,f[y]] E.[f[y],y]

---------------

Weakened clauses used in proof:
30S (16b,2a)  ~E.[f[x],x] E.[h[x,y],y] E.[h[x,y],aC]

Phase 0 clauses used in proof:
19 >~E.[f[x],x] E.[h[x,y],y] E.[h[x,y],aC]    (Clause 30 in w-proof)
25S>(18b*17a) ~E.[x,g[y]] E.[f[y],y]

Phases 1 and 2 clauses used in proof:
26S>(25a,12a) E.[f[x],x]
27S>(26a,19a) E.[h[x,y],y] E.[h[x,y],aC]
28S>(27ab)    E.[h[x,aC],aC]

29S>(25a,12a) E.[f[x],x]

30S>(25a,12a) E.[f[x],x]
31S>(30a,1a)  ~E.[x,bC] big_f[f[aC],x]
32S>[31b,29a] ~E.[x,bC] big_f[aC,x]
33S>(32a,12a) big_f[aC,bC]

34S>(25b,15a) ~E.[x,g[y]] ~E.[h[y,z],z] ~big_f[h[y,z],f[y]]
35S>(34b,8b)  ~E.[x,g[y]] ~big_f[h[y,h[y,z]],f[y]] ~E.[h[y,z],z]
36S>[35b,29a] ~E.[x,g[y]] ~big_f[h[y,h[y,z]],y] ~E.[h[y,z],z]
37S>(36a,12a) ~big_f[h[x,h[x,y]],x] ~E.[h[x,y],y]
38S>37 | ... {aC/y} ~big_f[h[x,h[x,aC]],x] ~E.[h[x,aC],aC]
39S>(38b,28a) ~big_f[h[x,h[x,aC]],x]
40S>[39a,28a] ~big_f[h[x,aC],x]
41S>[40a,28a] ~big_f[aC,x]
42S>(41a,33a) []

END OF PROOF

PHASE 0: 0 s, PHASE 1: 1 s, PHASE 2: 0 s ACCUM: 0  Total Time: 1 s
NOD: 38         RES: 90         FAC: 12         T: 12  V: 6  L: 4
CTE: 133        CTH: 0          CTF: 0          CSZ: 16777216
UTE: 30         UTH: 34         UTF: 0          SBA: 6
BAS: 18         RED: 23         LEN: 2+17=19    OPT: k1 m1 z0 h1 n1 b1 t600/599
```

## Vampire 8.0

Andrei Voronkov
University of Manchester, England
voronkov[@]cs.man.ac.uk

### Sample FOF proof for SYN075+1

```=========== Refutation ==========
*********** [1, input] ***********
(? X0 X1)(! X2 X3)(big_f(X2,X3) <=> X2=X0 & X3=X1)
*********** [1->77, normalize] ***********
(? X0 X1)(! X2 X3)(big_f(X2,X3) <=> X2=X0 & X3=X1)
-----------------------------
(? X0 X1)(! X2 X3)(big_f(X2,X3) <=> X3=X1 & X2=X0)
*********** [77->84, NNF transformation] ***********
(? X0 X1)(! X2 X3)(big_f(X2,X3) <=> X3=X1 & X2=X0)
-----------------------------
(? X0 X1)(! X2 X3)((~big_f(X2,X3) \/ (X3=X1 & X2=X0)) & ((X3!=X1 \/ X2!=X0) \/ big_f(X2,X3)))
*********** [84->85, flattening] ***********
(? X0 X1)(! X2 X3)((~big_f(X2,X3) \/ (X3=X1 & X2=X0)) & ((X3!=X1 \/ X2!=X0) \/ big_f(X2,X3)))
-----------------------------
(? X0 X1)(! X2 X3)((~big_f(X2,X3) \/ (X3=X1 & X2=X0)) & (X3!=X1 \/ X2!=X0 \/ big_f(X2,X3)))
*********** [85->86, skolemization] ***********
(? X0 X1)(! X2 X3)((~big_f(X2,X3) \/ (X3=X1 & X2=X0)) & (X3!=X1 \/ X2!=X0 \/ big_f(X2,X3)))
-----------------------------
(~big_f(X2,X3) \/ (X3=\$s12 & X2=\$s11)) & (X3!=\$s12 \/ X2!=\$s11 \/ big_f(X2,X3))
*********** [86->93, cnf transformation] ***********
(~big_f(X2,X3) \/ (X3=\$s12 & X2=\$s11)) & (X3!=\$s12 \/ X2!=\$s11 \/ big_f(X2,X3))
-----------------------------
big_f(X2,X3) \/ X2!=\$s11 \/ X3!=\$s12
*********** [93->116, equality resolution, passive clause reanimation] ***********
big_f(X2,X3) \/ X2!=\$s11 \/ X3!=\$s12
-----------------------------
X1!=\$s11 \/ big_f(X1,\$s12)
*********** [116->122, equality resolution, passive clause reanimation] ***********
X1!=\$s11 \/ big_f(X1,\$s12)
-----------------------------
big_f(\$s11,\$s12)
*********** [2, input] ***********
~(? X1)(! X3)((? X0)(! X2)(big_f(X2,X3) <=> X2=X0) <=> X3=X1)
*********** [2->78, rectify] ***********
~(? X1)(! X3)((? X0)(! X2)(big_f(X2,X3) <=> X2=X0) <=> X3=X1)
-----------------------------
~(? X0)(! X1)((? X2)(! X3)(big_f(X3,X1) <=> X3=X2) <=> X1=X0)
*********** [78->79, normalize] ***********
~(? X0)(! X1)((? X2)(! X3)(big_f(X3,X1) <=> X3=X2) <=> X1=X0)
-----------------------------
~(? X0)(! X1)(X1=X0 <=> (? X2)(! X3)(X3=X2 <=> big_f(X3,X1)))
*********** [79->80, ENNF transformation] ***********
~(? X0)(! X1)(X1=X0 <=> (? X2)(! X3)(X3=X2 <=> big_f(X3,X1)))
-----------------------------
(! X0)(? X1)(X1=X0 <~> (? X2)(! X3)(X3=X2 <=> big_f(X3,X1)))
*********** [80->81, NNF transformation] ***********
(! X0)(? X1)(X1=X0 <~> (? X2)(! X3)(X3=X2 <=> big_f(X3,X1)))
-----------------------------
(! X0)(? X1)((X1=X0 \/ (? X2)(! X3)((X3!=X2 \/ big_f(X3,X1)) & (~big_f(X3,X1) \/ X3=X2))) & (X1!=X0 \/ (! X2)(? X3)((X3=X2 \/ big_f(X3,X1)) & (X3!=X2 \/ ~big_f(X3,X1)))))
*********** [81->82, rectify] ***********
(! X0)(? X1)((X1=X0 \/ (? X2)(! X3)((X3!=X2 \/ big_f(X3,X1)) & (~big_f(X3,X1) \/ X3=X2))) & (X1!=X0 \/ (! X2)(? X3)((X3=X2 \/ big_f(X3,X1)) & (X3!=X2 \/ ~big_f(X3,X1)))))
-----------------------------
(! X0)(? X1)((X1=X0 \/ (? X2)(! X3)((X3!=X2 \/ big_f(X3,X1)) & (~big_f(X3,X1) \/ X3=X2))) & (X1!=X0 \/ (! X4)(? X5)((X5=X4 \/ big_f(X5,X1)) & (X5!=X4 \/ ~big_f(X5,X1)))))
*********** [82->83, skolemization] ***********
(! X0)(? X1)((X1=X0 \/ (? X2)(! X3)((X3!=X2 \/ big_f(X3,X1)) & (~big_f(X3,X1) \/ X3=X2))) & (X1!=X0 \/ (! X4)(? X5)((X5=X4 \/ big_f(X5,X1)) & (X5!=X4 \/ ~big_f(X5,X1)))))
-----------------------------
(\$s8(X0)=X0 \/ ((X3!=\$s9(X1) \/ big_f(X3,\$s8(X0))) & (~big_f(X3,\$s8(X0)) \/ X3=\$s9(X1)))) & (\$s8(X0)!=X0 \/ ((\$s10(X1,X4)=X4 \/ big_f(\$s10(X1,X4),\$s8(X0))) & (\$s10(X1,X4)!=X4 \/ ~big_f(\$s10(X1,X4),\$s8(X0)))))
*********** [83->87, cnf transformation] ***********
(\$s8(X0)=X0 \/ ((X3!=\$s9(X1) \/ big_f(X3,\$s8(X0))) & (~big_f(X3,\$s8(X0)) \/ X3=\$s9(X1)))) & (\$s8(X0)!=X0 \/ ((\$s10(X1,X4)=X4 \/ big_f(\$s10(X1,X4),\$s8(X0))) & (\$s10(X1,X4)!=X4 \/ ~big_f(\$s10(X1,X4),\$s8(X0)))))
-----------------------------
big_f(X3,\$s8(X0)) \/ X3!=\$s9(X1) \/ \$s8(X0)=X0
*********** [87->118, equality resolution, passive clause reanimation] ***********
big_f(X3,\$s8(X0)) \/ X3!=\$s9(X1) \/ \$s8(X0)=X0
-----------------------------
big_f(\$s9(X1),\$s8(X2)) \/ \$s8(X2)=X2
*********** [86->91, cnf transformation] ***********
(~big_f(X2,X3) \/ (X3=\$s12 & X2=\$s11)) & (X3!=\$s12 \/ X2!=\$s11 \/ big_f(X2,X3))
-----------------------------
X3=\$s12 \/ ~big_f(X2,X3)
*********** [118,91->123, resolution, passive clause reanimation] ***********
big_f(\$s9(X1),\$s8(X2)) \/ \$s8(X2)=X2
X3=\$s12 \/ ~big_f(X2,X3)
-----------------------------
\$s8(X1)=\$s12 \/ \$s8(X1)=X1
*********** [123->131, equality factoring, passive clause reanimation] ***********
\$s8(X1)=\$s12 \/ \$s8(X1)=X1
-----------------------------
\$s12!=X1 \/ \$s8(X1)=X1
*********** [131->146, equality resolution, passive clause reanimation] ***********
\$s12!=X1 \/ \$s8(X1)=X1
-----------------------------
\$s8(\$s12)=\$s12
*********** [83->89, cnf transformation] ***********
(\$s8(X0)=X0 \/ ((X3!=\$s9(X1) \/ big_f(X3,\$s8(X0))) & (~big_f(X3,\$s8(X0)) \/ X3=\$s9(X1)))) & (\$s8(X0)!=X0 \/ ((\$s10(X1,X4)=X4 \/ big_f(\$s10(X1,X4),\$s8(X0))) & (\$s10(X1,X4)!=X4 \/ ~big_f(\$s10(X1,X4),\$s8(X0)))))
-----------------------------
big_f(\$s10(X1,X4),\$s8(X0)) \/ \$s10(X1,X4)=X4 \/ \$s8(X0)!=X0
*********** [146,89,146->202, backward superposition, forward demodulation, passive clause reanimation] ***********
\$s8(\$s12)=\$s12
big_f(\$s10(X1,X4),\$s8(X0)) \/ \$s10(X1,X4)=X4 \/ \$s8(X0)!=X0
\$s8(\$s12)=\$s12
-----------------------------
big_f(\$s10(X1,X2),\$s12) \/ \$s10(X1,X2)=X2
*********** [86->92, cnf transformation] ***********
(~big_f(X2,X3) \/ (X3=\$s12 & X2=\$s11)) & (X3!=\$s12 \/ X2!=\$s11 \/ big_f(X2,X3))
-----------------------------
X2=\$s11 \/ ~big_f(X2,X3)
*********** [202,92->213, resolution, passive clause reanimation] ***********
big_f(\$s10(X1,X2),\$s12) \/ \$s10(X1,X2)=X2
X2=\$s11 \/ ~big_f(X2,X3)
-----------------------------
\$s10(X1,X2)=\$s11 \/ \$s10(X1,X2)=X2
*********** [213->296, equality factoring, passive clause reanimation] ***********
\$s10(X1,X2)=\$s11 \/ \$s10(X1,X2)=X2
-----------------------------
\$s11!=X1 \/ \$s10(X2,X1)=X1
*********** [296->320, equality resolution, passive clause reanimation] ***********
\$s11!=X1 \/ \$s10(X2,X1)=X1
-----------------------------
\$s10(X1,\$s11)=\$s11
*********** [83->90, cnf transformation] ***********
(\$s8(X0)=X0 \/ ((X3!=\$s9(X1) \/ big_f(X3,\$s8(X0))) & (~big_f(X3,\$s8(X0)) \/ X3=\$s9(X1)))) & (\$s8(X0)!=X0 \/ ((\$s10(X1,X4)=X4 \/ big_f(\$s10(X1,X4),\$s8(X0))) & (\$s10(X1,X4)!=X4 \/ ~big_f(\$s10(X1,X4),\$s8(X0)))))
-----------------------------
~big_f(\$s10(X1,X4),\$s8(X0)) \/ \$s10(X1,X4)!=X4 \/ \$s8(X0)!=X0
*********** [146,90,146->192, backward superposition, forward demodulation, passive clause reanimation] ***********
\$s8(\$s12)=\$s12
~big_f(\$s10(X1,X4),\$s8(X0)) \/ \$s10(X1,X4)!=X4 \/ \$s8(X0)!=X0
\$s8(\$s12)=\$s12
-----------------------------
\$s10(X1,X2)!=X2 \/ ~big_f(\$s10(X1,X2),\$s12)
*********** [122,320,192,320->328, backward superposition, forward demodulation, forward subsumption resolution] ***********
big_f(\$s11,\$s12)
\$s10(X1,\$s11)=\$s11
\$s10(X1,X2)!=X2 \/ ~big_f(\$s10(X1,X2),\$s12)
\$s10(X1,\$s11)=\$s11
-----------------------------
#
======= End of refutation =======
```

### Sample CNF proof for SYN075-1

```=========== Refutation ==========
*********** [3, input] ***********
X0!=a \/ X1!=b \/ big_f(X0,X1)
*********** [3->11, normalize] ***********
X0!=a \/ X1!=b \/ big_f(X0,X1)
-----------------------------
X1!=b \/ X0!=a \/ big_f(X0,X1)
*********** [11->28, equality resolution] ***********
X1!=b \/ X0!=a \/ big_f(X0,X1)
-----------------------------
X1!=a \/ big_f(X1,b)
*********** [28->35, equality resolution] ***********
X1!=a \/ big_f(X1,b)
-----------------------------
big_f(a,b)
*********** [1, input] ***********
~big_f(X0,X1) \/ X0=a
*********** [4, input] ***********
~big_f(X1,f(X0)) \/ X1!=g(X0) \/ f(X0)=X0
*********** [4->12, normalize] ***********
~big_f(X1,f(X0)) \/ X1!=g(X0) \/ f(X0)=X0
-----------------------------
X1!=g(X0) \/ ~big_f(X1,f(X0)) \/ X0=f(X0)
*********** [12->21, literal permutation] ***********
X1!=g(X0) \/ ~big_f(X1,f(X0)) \/ X0=f(X0)
-----------------------------
X1!=g(X2) \/ ~big_f(X1,f(X2)) \/ f(X2)=X2
*********** [6, input] ***********
X1!=g(X0) \/ big_f(X1,f(X0)) \/ f(X0)=X0
*********** [6->14, normalize] ***********
X1!=g(X0) \/ big_f(X1,f(X0)) \/ f(X0)=X0
-----------------------------
X1!=g(X0) \/ X0=f(X0) \/ big_f(X1,f(X0))
*********** [21,14->22, forward subsumption resolution] ***********
X1!=g(X2) \/ ~big_f(X1,f(X2)) \/ f(X2)=X2
X1!=g(X0) \/ X0=f(X0) \/ big_f(X1,f(X0))
-----------------------------
X1!=g(X2) \/ f(X2)=X2
*********** [22->29, equality resolution] ***********
X1!=g(X2) \/ f(X2)=X2
-----------------------------
f(X1)=X1
*********** [9, input] ***********
f(X0)!=X0 \/ big_f(h(X0,X2),f(X0)) \/ h(X0,X2)=X2
*********** [9->17, normalize] ***********
f(X0)!=X0 \/ big_f(h(X0,X2),f(X0)) \/ h(X0,X2)=X2
-----------------------------
X0!=f(X0) \/ X2=h(X0,X2) \/ big_f(h(X0,X2),f(X0))
*********** [17->25, literal permutation] ***********
X0!=f(X0) \/ X2=h(X0,X2) \/ big_f(h(X0,X2),f(X0))
-----------------------------
f(X1)!=X1 \/ big_f(h(X1,X2),f(X1)) \/ h(X1,X2)=X2
*********** [29,25->31, backward demodulation] ***********
f(X1)=X1
f(X1)!=X1 \/ big_f(h(X1,X2),f(X1)) \/ h(X1,X2)=X2
-----------------------------
big_f(h(X1,X2),X1) \/ h(X1,X2)=X2
*********** [1,31->33, resolution] ***********
~big_f(X0,X1) \/ X0=a
big_f(h(X1,X2),X1) \/ h(X1,X2)=X2
-----------------------------
h(X1,X2)=a \/ h(X1,X2)=X2
*********** [33->36, equality factoring] ***********
h(X1,X2)=a \/ h(X1,X2)=X2
-----------------------------
a!=X1 \/ h(X2,X1)=X1
*********** [36->40, equality resolution] ***********
a!=X1 \/ h(X2,X1)=X1
-----------------------------
h(X1,a)=a
*********** [10, input] ***********
f(X0)!=X0 \/ h(X0,X2)!=X2 \/ ~big_f(h(X0,X2),f(X0))
*********** [10->18, normalize] ***********
f(X0)!=X0 \/ h(X0,X2)!=X2 \/ ~big_f(h(X0,X2),f(X0))
-----------------------------
X0!=f(X0) \/ X2!=h(X0,X2) \/ ~big_f(h(X0,X2),f(X0))
*********** [18->24, literal permutation] ***********
X0!=f(X0) \/ X2!=h(X0,X2) \/ ~big_f(h(X0,X2),f(X0))
-----------------------------
h(X1,X2)!=X2 \/ ~big_f(h(X1,X2),f(X1)) \/ f(X1)!=X1
*********** [29,24->32, backward demodulation] ***********
f(X1)=X1
h(X1,X2)!=X2 \/ ~big_f(h(X1,X2),f(X1)) \/ f(X1)!=X1
-----------------------------
h(X1,X2)!=X2 \/ ~big_f(h(X1,X2),X1)
*********** [40,32,40->41, backward superposition, forward demodulation] ***********
h(X1,a)=a
h(X1,X2)!=X2 \/ ~big_f(h(X1,X2),X1)
h(X1,a)=a
-----------------------------
~big_f(a,X1)
*********** [35,41->42, resolution] ***********
big_f(a,b)
~big_f(a,X1)
-----------------------------
#
======= End of refutation =======
```

## Vampire 8.1

Andrei Voronkov
University of Manchester, England
voronkov[@]cs.man.ac.uk See the
Vampire 8.0 sample solutions.