# Entrants' Sample Solutions

## EP 1.1pre

Stephan Schulz
Technische Universität München, Germany,

### Sample solution for SYN075+1

```# Problem is unsatisfiable (or provable), constructing proof object
# SZS status Theorem
# SZS output start CNFRefutation.
fof(1, axiom,?[X1]:?[X2]:![X3]:![X4]:(big_f(X3,X4)<=>(equal(X3, X1)&equal(X4, X2))),file('/home/graph/tptp/TPTP/Problems/SYN/SYN075+1.p', pel52_1)).
fof(2, conjecture,?[X2]:![X4]:(?[X1]:![X3]:(big_f(X3,X4)<=>equal(X3, X1))<=>equal(X4, X2)),file('/home/graph/tptp/TPTP/Problems/SYN/SYN075+1.p', pel52)).
fof(3, negated_conjecture,~(?[X2]:![X4]:(?[X1]:![X3]:(big_f(X3,X4)<=>equal(X3, X1))<=>equal(X4, X2))),inference(assume_negation,[status(cth)],[2])).
fof(4, plain,?[X1]:?[X2]:![X3]:![X4]:((~(big_f(X3,X4))|(equal(X3, X1)&equal(X4, X2)))&((~(equal(X3, X1))|~(equal(X4, X2)))|big_f(X3,X4))),inference(fof_nnf,[status(thm)],[1])).
fof(5, plain,?[X5]:?[X6]:![X7]:![X8]:((~(big_f(X7,X8))|(equal(X7, X5)&equal(X8, X6)))&((~(equal(X7, X5))|~(equal(X8, X6)))|big_f(X7,X8))),inference(variable_rename,[status(thm)],[4])).
fof(6, plain,![X7]:![X8]:((~(big_f(X7,X8))|(equal(X7, esk1_0)&equal(X8, esk2_0)))&((~(equal(X7, esk1_0))|~(equal(X8, esk2_0)))|big_f(X7,X8))),inference(skolemize,[status(sab)],[5])).
fof(7, plain,![X7]:![X8]:(((equal(X7, esk1_0)|~(big_f(X7,X8)))&(equal(X8, esk2_0)|~(big_f(X7,X8))))&((~(equal(X7, esk1_0))|~(equal(X8, esk2_0)))|big_f(X7,X8))),inference(distribute,[status(thm)],[6])).
cnf(8,plain,(big_f(X1,X2)|X2!=esk2_0|X1!=esk1_0),inference(split_conjunct,[status(thm)],[7])).
cnf(9,plain,(X2=esk2_0|~big_f(X1,X2)),inference(split_conjunct,[status(thm)],[7])).
cnf(10,plain,(X1=esk1_0|~big_f(X1,X2)),inference(split_conjunct,[status(thm)],[7])).
fof(11, negated_conjecture,![X2]:?[X4]:((![X1]:?[X3]:((~(big_f(X3,X4))|~(equal(X3, X1)))&(big_f(X3,X4)|equal(X3, X1)))|~(equal(X4, X2)))&(?[X1]:![X3]:((~(big_f(X3,X4))|equal(X3, X1))&(~(equal(X3, X1))|big_f(X3,X4)))|equal(X4, X2))),inference(fof_nnf,[status(thm)],[3])).
fof(12, negated_conjecture,![X5]:?[X6]:((![X7]:?[X8]:((~(big_f(X8,X6))|~(equal(X8, X7)))&(big_f(X8,X6)|equal(X8, X7)))|~(equal(X6, X5)))&(?[X9]:![X10]:((~(big_f(X10,X6))|equal(X10, X9))&(~(equal(X10, X9))|big_f(X10,X6)))|equal(X6, X5))),inference(variable_rename,[status(thm)],[11])).
fof(13, negated_conjecture,![X5]:((![X7]:((~(big_f(esk4_2(X5,X7),esk3_1(X5)))|~(equal(esk4_2(X5,X7), X7)))&(big_f(esk4_2(X5,X7),esk3_1(X5))|equal(esk4_2(X5,X7), X7)))|~(equal(esk3_1(X5), X5)))&(![X10]:((~(big_f(X10,esk3_1(X5)))|equal(X10, esk5_1(X5)))&(~(equal(X10, esk5_1(X5)))|big_f(X10,esk3_1(X5))))|equal(esk3_1(X5), X5))),inference(skolemize,[status(sab)],[12])).
fof(14, negated_conjecture,![X5]:![X7]:![X10]:((((~(big_f(X10,esk3_1(X5)))|equal(X10, esk5_1(X5)))&(~(equal(X10, esk5_1(X5)))|big_f(X10,esk3_1(X5))))|equal(esk3_1(X5), X5))&(((~(big_f(esk4_2(X5,X7),esk3_1(X5)))|~(equal(esk4_2(X5,X7), X7)))&(big_f(esk4_2(X5,X7),esk3_1(X5))|equal(esk4_2(X5,X7), X7)))|~(equal(esk3_1(X5), X5)))),inference(shift_quantors,[status(thm)],[13])).
fof(15, negated_conjecture,![X5]:![X7]:![X10]:((((~(big_f(X10,esk3_1(X5)))|equal(X10, esk5_1(X5)))|equal(esk3_1(X5), X5))&((~(equal(X10, esk5_1(X5)))|big_f(X10,esk3_1(X5)))|equal(esk3_1(X5), X5)))&(((~(big_f(esk4_2(X5,X7),esk3_1(X5)))|~(equal(esk4_2(X5,X7), X7)))|~(equal(esk3_1(X5), X5)))&((big_f(esk4_2(X5,X7),esk3_1(X5))|equal(esk4_2(X5,X7), X7))|~(equal(esk3_1(X5), X5))))),inference(distribute,[status(thm)],[14])).
cnf(16,negated_conjecture,(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(17,negated_conjecture,(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(18,negated_conjecture,(esk3_1(X1)=X1|big_f(X2,esk3_1(X1))|X2!=esk5_1(X1)),inference(split_conjunct,[status(thm)],[15])).
cnf(20,plain,(big_f(esk1_0,X1)|esk2_0!=X1),inference(er,[status(thm)],[8,theory(equality)])).
cnf(21,negated_conjecture,(esk3_1(X1)=X1|big_f(esk5_1(X1),esk3_1(X1))),inference(er,[status(thm)],[18,theory(equality)])).
cnf(23,negated_conjecture,(esk2_0=esk3_1(X1)|esk3_1(X1)=X1),inference(spm,[status(thm)],[9,21,theory(equality)])).
cnf(28,plain,(big_f(esk1_0,esk2_0)),inference(er,[status(thm)],[20,theory(equality)])).
cnf(30,negated_conjecture,(esk3_1(X2)=X2|esk2_0!=X2),inference(ef,[status(thm)],[23,theory(equality)])).
cnf(40,negated_conjecture,(esk3_1(esk2_0)=esk2_0),inference(er,[status(thm)],[30,theory(equality)])).
cnf(44,negated_conjecture,(esk4_2(esk2_0,X1)!=X1|~big_f(esk4_2(esk2_0,X1),esk2_0)),inference(spm,[status(thm)],[17,40,theory(equality)])).
cnf(45,negated_conjecture,(esk4_2(esk2_0,X1)=X1|big_f(esk4_2(esk2_0,X1),esk2_0)),inference(spm,[status(thm)],[16,40,theory(equality)])).
cnf(47,negated_conjecture,(esk1_0=esk4_2(esk2_0,X1)|esk4_2(esk2_0,X1)=X1),inference(spm,[status(thm)],[10,45,theory(equality)])).
cnf(54,negated_conjecture,(esk4_2(esk2_0,X2)=X2|esk1_0!=X2),inference(ef,[status(thm)],[47,theory(equality)])).
cnf(78,negated_conjecture,(esk4_2(esk2_0,esk1_0)=esk1_0),inference(er,[status(thm)],[54,theory(equality)])).
cnf(80,negated_conjecture,(~big_f(esk1_0,esk2_0)),inference(spm,[status(thm)],[44,78,theory(equality)])).
cnf(84,negated_conjecture,(\$false),inference(rw,[status(thm)],[80,28,theory(equality)])).
cnf(85,negated_conjecture,(\$false),inference(cn,[status(thm)],[84,theory(equality)])).
cnf(86,negated_conjecture,(\$false),85,['proof']).
# SZS output end CNFRefutation
# SZS status Theorem
```

## leanCoP 2.1

Jens Otten
University of Potsdam, Germany

### Sample solution for SYN075+1

```TPTP-v3.3.0/Problems/SYN/SYN075+1.p is a Theorem
Start of proof for TPTP-v3.3.0/Problems/SYN/SYN075+1.p
------------------------------------------------------

Proof:
------

Translation into (disjunctive) clausal form:
(1)  [-8^[_G4084, _G3031], big_f(6^[_G4084, _G3031], 3^[_G3031])]
(2)  [-8^[_G4084, _G3031], - (6^[_G4084, _G3031]=_G4084)]
(3)  [-7^[_G4084, _G3031], 6^[_G4084, _G3031]=_G4084]
(4)  [-7^[_G4084, _G3031], -big_f(6^[_G4084, _G3031], 3^[_G3031])]
(5)  [-9^[_G3031], 7^[_G4084, _G3031], 8^[_G4084, _G3031]]
(6)  [-9^[_G3031], - (3^[_G3031]=_G3031)]
(7)  [-5^[_G3031], -big_f(_G4166, 3^[_G3031]), _G4166=4^[_G3031]]
(8)  [-5^[_G3031], big_f(_G4166, 3^[_G3031]), - (_G4166=4^[_G3031])]
(9)  [-5^[_G3031], 3^[_G3031]=_G3031]
(10)  [9^[_G3031], 5^[_G3031]]
(11)  [big_f(_G3896, _G3901), - (_G3896=1^[])]
(12)  [big_f(_G3896, _G3901), - (_G3901=2^[])]
(13)  [-big_f(_G3896, _G3901), _G3896=1^[], _G3901=2^[]]
(14)  [-big_f(_G1968, _G2109), big_f(_G1899, _G2038), _G1899=_G1968, _G2038=_G2109]
(15)  [- (_G1114=_G1114)]
(16)  [_G1215=_G1262, - (_G1262=_G1215)]
(17)  [- (_G1452=_G1569), _G1452=_G1510, _G1510=_G1569]

We prove that the given clauses are valid, i.e. for
a given substitution they evaluate to true for all
interpretations. The proof is by contradiction:
Assume there is an interpretation so that the given
clauses evaluate to false. Then in each clause there
has to be at least one literal that is false.

Then clause (10) under the substitution [[_G3031], [2^[]]]
is false if at least one of the following is false:
[9^[2^[]], 5^[2^[]]]
1 Assume 9^[2^[]] is false.
Then clause (5) under the substitution [[_G3031, _G4084], [2^[], 1^[]]]
is false if at least one of the following is false:
[7^[1^[], 2^[]], 8^[1^[], 2^[]]]
1.1 Assume 7^[1^[], 2^[]] is false.
Then clause (3) under the substitution [[_G4084, _G3031], [1^[], 2^[]]]
is false if at least one of the following is false:
[6^[1^[], 2^[]]=1^[]]
1.1.1 Assume 6^[1^[], 2^[]]=1^[] is false.
Then clause (11) under the substitution [[_G3896, _G3901], [6^[1^[], 2^[]], 3^[2^[]]]]
is false if at least one of the following is false:
[big_f(6^[1^[], 2^[]], 3^[2^[]])]
1.1.1.1 Assume big_f(6^[1^[], 2^[]], 3^[2^[]]) is false.
Then clause (4) under the substitution [[_G4084, _G3031], [1^[], 2^[]]]
is false if at least one of the following is false:
[-7^[1^[], 2^[]]]
1.1.1.1.1 Assume -7^[1^[], 2^[]] is false.
This is a contradiction to assumption 1.1.
1.2 Assume 8^[1^[], 2^[]] is false.
Then clause (1) under the substitution [[_G4084, _G3031], [1^[], 2^[]]]
is false if at least one of the following is false:
[big_f(6^[1^[], 2^[]], 3^[2^[]])]
1.2.1 Assume big_f(6^[1^[], 2^[]], 3^[2^[]]) is false.
Then clause (13) under the substitution [[_G3896, _G3901], [6^[1^[], 2^[]], 3^[2^[]]]]
is false if at least one of the following is false:
[6^[1^[], 2^[]]=1^[], 3^[2^[]]=2^[]]
1.2.1.1 Assume 6^[1^[], 2^[]]=1^[] is false.
Then clause (2) under the substitution [[_G4084, _G3031], [1^[], 2^[]]]
is false if at least one of the following is false:
[-8^[1^[], 2^[]]]
1.2.1.1.1 Assume -8^[1^[], 2^[]] is false.
This is a contradiction to assumption 1.2.
1.2.1.2 Assume 3^[2^[]]=2^[] is false.
Then clause (6) under the substitution [[_G3031], [2^[]]]
is false if at least one of the following is false:
[-9^[2^[]]]
1.2.1.2.1 Assume -9^[2^[]] is false.
This is a contradiction to assumption 1.
2 Assume 5^[2^[]] is false.
Then clause (7) under the substitution [[_G3031, _G4166], [2^[], 4^[2^[]]]]
is false if at least one of the following is false:
[-big_f(4^[2^[]], 3^[2^[]]), 4^[2^[]]=4^[2^[]]]
2.1 Assume -big_f(4^[2^[]], 3^[2^[]]) is false.
Then clause (12) under the substitution [[_G3896, _G3901], [4^[2^[]], 3^[2^[]]]]
is false if at least one of the following is false:
[- (3^[2^[]]=2^[])]
2.1.1 Assume - (3^[2^[]]=2^[]) is false.
Then clause (9) under the substitution [[_G3031], [2^[]]]
is false if at least one of the following is false:
[-5^[2^[]]]
2.1.1.1 Assume -5^[2^[]] is false.
This is a contradiction to assumption 2.
2.2 Assume 4^[2^[]]=4^[2^[]] is false.
Then clause (15) under the substitution [[_G1114], [4^[2^[]]]]
is true.

Therefore there is no interpretation that makes all
given clauses simultaneously false. Hence the given
clauses are valid.
q.e.d.
------------------------------------------------------
End of proof for TPTP-v3.3.0/Problems/SYN/SYN075+1.p
```

## LEO-II 1.0

Christoph Benzmüller1,2, Frank Theiss1
1International University of Germany, Germany, 2Articulate Software, USA

### Sample solution for SET557^1

```thf(1,conjecture,(
~ ( ? [G: \$i > \$i > \$o] :
! [F: \$i > \$o] :
? [X: \$i] :
( ( G @ X )
= F ) ) ),
file('SET557^1.p',surjectiveCantorThm)).

thf(2,negated_conjecture,
( ( ~ ( ? [G: \$i > \$i > \$o] :
! [F: \$i > \$o] :
? [X: \$i] :
( ( G @ X )
= F ) ) )
= \$false ),
inference(negate_conjecture,[],[1])).

thf(3,plain,
( ( ? [G: \$i > \$i > \$o] :
! [F: \$i > \$o] :
? [X: \$i] :
( ( G @ X )
= F ) )
= \$true ),
inference(polarity_switch,[status(thm)],[2])).

thf(4,plain,
( ( ! [F: \$i > \$o] :
( ( skG1 @ ( skX2 @ F ) )
= F ) )
= \$true ),
inference(standard_extcnf,[status(thm)],[3])).

thf(5,plain,
( ( ! [F: \$i > \$o] :
( ( skG1 @ ( skX2 @ F ) )
= F ) )
= \$true ),
inference(copy,[status(thm)],[4])).

thf(6,plain,(
! [V1: \$i > \$o] :
( ( ( skG1 @ ( skX2 @ V1 ) )
= V1 )
= \$true ) ),
inference(extcnf,[status(thm)],[5])).

thf(8,plain,(
! [V1: \$i > \$o] :
( ( ! [V2: \$i] :
( ( skG1 @ ( skX2 @ V1 ) @ V2 )
= ( V1 @ V2 ) ) )
= \$true ) ),
inference(extcnf,[status(thm)],[6])).

thf(9,plain,(
! [V3: \$i,V1: \$i > \$o] :
( ( ( skG1 @ ( skX2 @ V1 ) @ V3 )
= ( V1 @ V3 ) )
= \$true ) ),
inference(extcnf,[status(thm)],[8])).

thf(11,plain,(
! [V3: \$i,V1: \$i > \$o] :
( ( ~ ( ( skG1 @ ( skX2 @ V1 ) @ V3 )
| ( V1 @ V3 ) )
| ~ ( ~ ( skG1 @ ( skX2 @ V1 ) @ V3 )
| ~ ( V1 @ V3 ) ) )
= \$true ) ),
inference(extcnf,[status(thm)],[9])).

thf(12,plain,(
! [V3: \$i,V1: \$i > \$o] :
( ( ( ~ ( ( skG1 @ ( skX2 @ V1 ) @ V3 )
| ( V1 @ V3 ) ) )
= \$true )
| ( ( ~ ( ~ ( skG1 @ ( skX2 @ V1 ) @ V3 )
| ~ ( V1 @ V3 ) ) )
= \$true ) ) ),
inference(extcnf,[status(thm)],[11])).

thf(13,plain,(
! [V3: \$i,V1: \$i > \$o] :
( ( ( ~ ( skG1 @ ( skX2 @ V1 ) @ V3 )
| ~ ( V1 @ V3 ) )
= \$false )
| ( ( ~ ( ( skG1 @ ( skX2 @ V1 ) @ V3 )
| ( V1 @ V3 ) ) )
= \$true ) ) ),
inference(extcnf,[status(thm)],[12])).

thf(14,plain,(
! [V3: \$i,V1: \$i > \$o] :
( ( ( ( skG1 @ ( skX2 @ V1 ) @ V3 )
| ( V1 @ V3 ) )
= \$false )
| ( ( ~ ( skG1 @ ( skX2 @ V1 ) @ V3 )
| ~ ( V1 @ V3 ) )
= \$false ) ) ),
inference(extcnf,[status(thm)],[13])).

thf(15,plain,(
! [V3: \$i,V1: \$i > \$o] :
( ( ( ~ ( V1 @ V3 ) )
= \$false )
| ( ( ( skG1 @ ( skX2 @ V1 ) @ V3 )
| ( V1 @ V3 ) )
= \$false ) ) ),
inference(extcnf,[status(thm)],[14])).

thf(16,plain,(
! [V3: \$i,V1: \$i > \$o] :
( ( ( ~ ( skG1 @ ( skX2 @ V1 ) @ V3 ) )
= \$false )
| ( ( ( skG1 @ ( skX2 @ V1 ) @ V3 )
| ( V1 @ V3 ) )
= \$false ) ) ),
inference(extcnf,[status(thm)],[14])).

thf(17,plain,(
! [V3: \$i,V1: \$i > \$o] :
( ( ( skG1 @ ( skX2 @ V1 ) @ V3 )
= \$true )
| ( ( ( skG1 @ ( skX2 @ V1 ) @ V3 )
| ( V1 @ V3 ) )
= \$false ) ) ),
inference(extcnf,[status(thm)],[16])).

thf(18,plain,(
! [V3: \$i,V1: \$i > \$o] :
( ( ( V1 @ V3 )
= \$true )
| ( ( ( skG1 @ ( skX2 @ V1 ) @ V3 )
| ( V1 @ V3 ) )
= \$false ) ) ),
inference(extcnf,[status(thm)],[15])).

thf(19,plain,(
! [V3: \$i,V1: \$i > \$o] :
( ( ( V1 @ V3 )
= \$false )
| ( ( skG1 @ ( skX2 @ V1 ) @ V3 )
= \$true ) ) ),
inference(extcnf,[status(thm)],[17])).

thf(22,plain,(
! [V3: \$i,V1: \$i > \$o] :
( ( ( skG1 @ ( skX2 @ V1 ) @ V3 )
= \$false )
| ( ( V1 @ V3 )
= \$true ) ) ),
inference(extcnf,[status(thm)],[18])).

thf(71,plain,(
! [V3: \$i,V1: \$i > \$o] :
( ( ( V1 @ V3 )
= \$false )
| ( ( ( V1 @ V3 )
= ( ~ ( skG1 @ ( skX2 @ V1 ) @ V3 ) ) )
= \$false ) ) ),
inference(fac_restr,[status(thm)],[19])).

thf(73,plain,(
! [V3: \$i,V1: \$i > \$o] :
( ( ( V1 @ V3 )
= \$true )
| ( ( ( V1 @ V3 )
= ( ~ ( skG1 @ ( skX2 @ V1 ) @ V3 ) ) )
= \$false ) ) ),
inference(fac_restr,[status(thm)],[22])).

thf(143,plain,(
! [V3: \$i,V1: \$i > \$o] :
( ( ( ( V1 @ V3 )
= ( ~ ( skG1 @ ( skX2 @ V1 ) @ V3 ) ) )
= \$false )
| ( ( V1 @ V3 )
= \$false ) ) ),
inference(extcnf,[status(thm)],[71])).

thf(147,plain,(
! [V3: \$i,V1: \$i > \$o] :
( ( ( ( V1 @ V3 )
= ( ~ ( skG1 @ ( skX2 @ V1 ) @ V3 ) ) )
= \$false )
| ( ( V1 @ V3 )
= \$true ) ) ),
inference(extcnf,[status(thm)],[73])).

thf(630,plain,
( ( ~ ( skG1
@ ( skX2
@ ^ [X0: \$i] :
~ ( skG1 @ X0 @ X0 ) )
@ ( skX2
@ ^ [X0: \$i] :
~ ( skG1 @ X0 @ X0 ) ) ) )
= \$false ),
inference(ext_uni,[status(thm)],[143:[bind(V1,\$thf(^ [V203: \$i] : ~ ( V204 @ V203 ))),bind(V204,\$thf(^ [V206: \$i] : ( skG1 @ ( V207 @ V206 ) @ ( V208 @ V206 ) ))),bind(V207,\$thf(^ [V209: \$i] : V209)),bind(V3,\$thf(skX2 @ ^ [X0: \$i] : ~ ( skG1 @ X0 @ ( V208 @ X0 ) ))),bind(V208,\$thf(^ [V228: \$i] : V228))]])).

thf(661,plain,
( ( ~ ( skG1
@ ( skX2
@ ^ [X0: \$i] :
~ ( skG1 @ X0 @ X0 ) )
@ ( skX2
@ ^ [X0: \$i] :
~ ( skG1 @ X0 @ X0 ) ) ) )
= \$true ),
inference(ext_uni,[status(thm)],[147:[bind(V1,\$thf(^ [V255: \$i] : ~ ( V256 @ V255 ))),bind(V256,\$thf(^ [V258: \$i] : ( skG1 @ ( V259 @ V258 ) @ ( V260 @ V258 ) ))),bind(V259,\$thf(^ [V261: \$i] : V261)),bind(V3,\$thf(skX2 @ ^ [X0: \$i] : ~ ( skG1 @ X0 @ ( V260 @ X0 ) ))),bind(V260,\$thf(^ [V280: \$i] : V280))]])).

thf(662,plain,
( ( skG1
@ ( skX2
@ ^ [X0: \$i] :
~ ( skG1 @ X0 @ X0 ) )
@ ( skX2
@ ^ [X0: \$i] :
~ ( skG1 @ X0 @ X0 ) ) )
= \$true ),
inference(extcnf,[status(thm)],[630])).

thf(693,plain,
( ( skG1
@ ( skX2
@ ^ [X0: \$i] :
~ ( skG1 @ X0 @ X0 ) )
@ ( skX2
@ ^ [X0: \$i] :
~ ( skG1 @ X0 @ X0 ) ) )
= \$false ),
inference(extcnf,[status(thm)],[661])).

thf(804,plain,
( ( ( skG1
@ ( skX2
@ ^ [X0: \$i] :
~ ( skG1 @ X0 @ X0 ) )
@ ( skX2
@ ^ [X0: \$i] :
~ ( skG1 @ X0 @ X0 ) ) )
= ( skG1
@ ( skX2
@ ^ [X0: \$i] :
~ ( skG1 @ X0 @ X0 ) )
@ ( skX2
@ ^ [X0: \$i] :
~ ( skG1 @ X0 @ X0 ) ) ) )
= \$false ),
inference(res,[status(thm)],[693,662])).

thf(805,plain,(
\$false = \$true ),
inference(ext_uni,[status(thm)],[804])).

thf(806,plain,(
\$false ),
inference(solved_all_splitted_problems,[status(thm)],[805])).
```

## Metis 2.2

Joe Hurd
Galois, Inc., USA

### Metis' logical kernel

```signature Thm =

(* ------------------------------------------------------------------------- *)
(*                                                                           *)
(* ----- axiom C                                                             *)
(*   C                                                                       *)
(* ------------------------------------------------------------------------- *)

val axiom : Clause.clause -> thm

(* ------------------------------------------------------------------------- *)
(*                                                                           *)
(* ----------- assume L                                                      *)
(*   L \/ ~L                                                                 *)
(* ------------------------------------------------------------------------- *)

val assume : Literal.literal -> thm

(* ------------------------------------------------------------------------- *)
(*    C                                                                      *)
(* -------- subst s                                                          *)
(*   C[s]                                                                    *)
(* ------------------------------------------------------------------------- *)

val subst : Subst.subst -> thm -> thm

(* ------------------------------------------------------------------------- *)
(*   L \/ C    ~L \/ D                                                       *)
(* --------------------- resolve L                                           *)
(*        C \/ D                                                             *)
(*                                                                           *)
(* The literal L must occur in the first theorem, and the literal ~L must    *)
(* occur in the second theorem.                                              *)
(* ------------------------------------------------------------------------- *)

val resolve : Literal.literal -> thm -> thm -> thm

(* ------------------------------------------------------------------------- *)
(*                                                                           *)
(* --------- refl t                                                          *)
(*   t = t                                                                   *)
(* ------------------------------------------------------------------------- *)

val refl : Term.term -> thm

(* ------------------------------------------------------------------------- *)
(*                                                                           *)
(* ------------------------ equality L p t                                   *)
(*   ~(s = t) \/ ~L \/ L'                                                    *)
(*                                                                           *)
(* where s is the subterm of L at path p, and L' is L with the subterm at    *)
(* path p being replaced by t.                                               *)
(* ------------------------------------------------------------------------- *)

val equality : Literal.literal -> Term.path -> Term.term -> thm

end
```

### Sample solution for SYN075+1

```SZS output start CNFRefutation for data/problems/all/SYN075+1.tptp
fof(pel52_1, axiom,
(? [Z, W] : ! [X, Y] : (big_f(X, Y) <=> (X = Z & Y = W)))).

fof(pel52, conjecture,
(? [W] : ! [Y] : (? [Z] : ! [X] : (big_f(X, Y) <=> X = Z) <=> Y = W))).

fof(subgoal_0, plain,
(? [W] : ! [Y] : (? [Z] : ! [X] : (big_f(X, Y) <=> X = Z) <=> Y = W)),
inference(strip, [], [pel52])).

fof(negate_0_0, plain,
(~
? [W] :
! [Y] : (? [Z] : ! [X] : (big_f(X, Y) <=> X = Z) <=> Y = W)),
inference(negate, [], [subgoal_0])).

fof(normalize_0_0, plain,
(! [W] :
? [Y] : (Y != W <=> ? [Z] : ! [X] : (X != Z <=> ~ big_f(X, Y)))),
inference(canonicalize, [], [negate_0_0])).

fof(normalize_0_1, plain,
(? [Y] : (Y != W <=> ? [Z] : ! [X] : (X != Z <=> ~ big_f(X, Y)))),
inference(specialize, [], [normalize_0_0])).

fof(normalize_0_2, plain,
(skolemFOFtoCNF_Y(W) != W <=>
? [Z] : ! [X] : (X != Z <=> ~ big_f(X, skolemFOFtoCNF_Y(W)))),
inference(skolemize, [], [normalize_0_1])).

fof(normalize_0_3, plain,
((X != skolemFOFtoCNF_Z_1(W) | skolemFOFtoCNF_Y(W) = W |
big_f(X, skolemFOFtoCNF_Y(W))) &
(skolemFOFtoCNF_X(W, Z) != Z | skolemFOFtoCNF_Y(W) != W |
~ big_f(skolemFOFtoCNF_X(W, Z), skolemFOFtoCNF_Y(W))) &
(skolemFOFtoCNF_Y(W) != W | skolemFOFtoCNF_X(W, Z) = Z |
big_f(skolemFOFtoCNF_X(W, Z), skolemFOFtoCNF_Y(W))) &
(~ big_f(X, skolemFOFtoCNF_Y(W)) | X = skolemFOFtoCNF_Z_1(W) |
skolemFOFtoCNF_Y(W) = W)), inference(clausify, [], [normalize_0_2])).

fof(normalize_0_4, plain,
(skolemFOFtoCNF_X(W, Z) != Z | skolemFOFtoCNF_Y(W) != W |
~ big_f(skolemFOFtoCNF_X(W, Z), skolemFOFtoCNF_Y(W))),
inference(conjunct, [], [normalize_0_3])).

fof(normalize_0_5, plain,
(? [W, Z] : ! [X, Y] : (~ big_f(X, Y) <=> (X != Z | Y != W))),
inference(canonicalize, [], [pel52_1])).

fof(normalize_0_6, plain,
(! [X, Y] :
(~ big_f(X, Y) <=>
(X != skolemFOFtoCNF_Z | Y != skolemFOFtoCNF_W))),
inference(skolemize, [], [normalize_0_5])).

fof(normalize_0_7, plain,
(~ big_f(X, Y) <=> (X != skolemFOFtoCNF_Z | Y != skolemFOFtoCNF_W)),
inference(specialize, [], [normalize_0_6])).

fof(normalize_0_8, plain,
((~ big_f(X, Y) | X = skolemFOFtoCNF_Z) &
(~ big_f(X, Y) | Y = skolemFOFtoCNF_W) &
(X != skolemFOFtoCNF_Z | Y != skolemFOFtoCNF_W | big_f(X, Y))),
inference(clausify, [], [normalize_0_7])).

fof(normalize_0_9, plain, (~ big_f(X, Y) | X = skolemFOFtoCNF_Z),
inference(conjunct, [], [normalize_0_8])).

fof(normalize_0_10, plain,
(skolemFOFtoCNF_Y(W) != W | skolemFOFtoCNF_X(W, Z) = Z |
big_f(skolemFOFtoCNF_X(W, Z), skolemFOFtoCNF_Y(W))),
inference(conjunct, [], [normalize_0_3])).

fof(normalize_0_11, plain, (~ big_f(X, Y) | Y = skolemFOFtoCNF_W),
inference(conjunct, [], [normalize_0_8])).

fof(normalize_0_12, plain,
(X != skolemFOFtoCNF_Z_1(W) | skolemFOFtoCNF_Y(W) = W |
big_f(X, skolemFOFtoCNF_Y(W))),
inference(conjunct, [], [normalize_0_3])).

fof(normalize_0_13, plain,
(X != skolemFOFtoCNF_Z | Y != skolemFOFtoCNF_W | big_f(X, Y)),
inference(conjunct, [], [normalize_0_8])).

cnf(refute_0_0, plain,
(skolemFOFtoCNF_X(W, Z) != Z | skolemFOFtoCNF_Y(W) != W |
~ big_f(skolemFOFtoCNF_X(W, Z), skolemFOFtoCNF_Y(W))),
inference(canonicalize, [], [normalize_0_4])).

cnf(refute_0_1, plain,
(skolemFOFtoCNF_X(W, Z) != Z | ~ big_f(Z, skolemFOFtoCNF_Y(W)) |
big_f(skolemFOFtoCNF_X(W, Z), skolemFOFtoCNF_Y(W))),
introduced(tautology,
[equality,
[\$cnf(~ big_f(skolemFOFtoCNF_X(W, Z),
skolemFOFtoCNF_Y(W))), [0], \$fot(Z)]])).

cnf(refute_0_2, plain,
(skolemFOFtoCNF_Y(W) != W | ~ big_f(Z, W) |
big_f(Z, skolemFOFtoCNF_Y(W))),
introduced(tautology,
[equality,
[\$cnf(~ big_f(Z, skolemFOFtoCNF_Y(W))), [1], \$fot(W)]])).

cnf(refute_0_3, plain,
(skolemFOFtoCNF_X(W, Z) != Z | skolemFOFtoCNF_Y(W) != W |
~ big_f(Z, W) | big_f(skolemFOFtoCNF_X(W, Z), skolemFOFtoCNF_Y(W))),
inference(resolve, [\$cnf(big_f(Z, skolemFOFtoCNF_Y(W)))],
[refute_0_2, refute_0_1])).

cnf(refute_0_4, plain,
(skolemFOFtoCNF_X(W, Z) != Z | skolemFOFtoCNF_Y(W) != W |
~ big_f(Z, W)),
inference(resolve,
[\$cnf(big_f(skolemFOFtoCNF_X(W, Z), skolemFOFtoCNF_Y(W)))],
[refute_0_3, refute_0_0])).

cnf(refute_0_5, plain,
(skolemFOFtoCNF_X(skolemFOFtoCNF_W, skolemFOFtoCNF_Z) !=
skolemFOFtoCNF_Z |
skolemFOFtoCNF_Y(skolemFOFtoCNF_W) != skolemFOFtoCNF_W |
~ big_f(skolemFOFtoCNF_Z, skolemFOFtoCNF_W)),
inference(subst, [],
[refute_0_4 :
[bind(W, \$fot(skolemFOFtoCNF_W)),
bind(Z, \$fot(skolemFOFtoCNF_Z))]])).

cnf(refute_0_6, plain, (~ big_f(X, Y) | X = skolemFOFtoCNF_Z),
inference(canonicalize, [], [normalize_0_9])).

cnf(refute_0_7, plain,
(~ big_f(skolemFOFtoCNF_X(skolemFOFtoCNF_W, X1), skolemFOFtoCNF_W) |
skolemFOFtoCNF_X(skolemFOFtoCNF_W, X1) = skolemFOFtoCNF_Z),
inference(subst, [],
[refute_0_6 :
[bind(X, \$fot(skolemFOFtoCNF_X(skolemFOFtoCNF_W, X1))),
bind(Y, \$fot(skolemFOFtoCNF_W))]])).

cnf(refute_0_8, plain,
(skolemFOFtoCNF_Y(W) != W | skolemFOFtoCNF_X(W, Z) = Z |
big_f(skolemFOFtoCNF_X(W, Z), skolemFOFtoCNF_Y(W))),
inference(canonicalize, [], [normalize_0_10])).

cnf(refute_0_9, plain,
(skolemFOFtoCNF_Y(W) != W |
~ big_f(skolemFOFtoCNF_X(W, Z), skolemFOFtoCNF_Y(W)) |
big_f(skolemFOFtoCNF_X(W, Z), W)),
introduced(tautology,
[equality,
[\$cnf(big_f(skolemFOFtoCNF_X(W, Z), skolemFOFtoCNF_Y(W))),
[1], \$fot(W)]])).

cnf(refute_0_10, plain,
(skolemFOFtoCNF_Y(W) != W | skolemFOFtoCNF_X(W, Z) = Z |
big_f(skolemFOFtoCNF_X(W, Z), W)),
inference(resolve,
[\$cnf(big_f(skolemFOFtoCNF_X(W, Z), skolemFOFtoCNF_Y(W)))],
[refute_0_8, refute_0_9])).

cnf(refute_0_11, plain,
(skolemFOFtoCNF_Y(skolemFOFtoCNF_W) != skolemFOFtoCNF_W |
skolemFOFtoCNF_X(skolemFOFtoCNF_W, X0) = X0 |
big_f(skolemFOFtoCNF_X(skolemFOFtoCNF_W, X0), skolemFOFtoCNF_W)),
inference(subst, [],
[refute_0_10 :
[bind(W, \$fot(skolemFOFtoCNF_W)), bind(Z, \$fot(X0))]])).

cnf(refute_0_12, plain, (~ big_f(X, Y) | Y = skolemFOFtoCNF_W),
inference(canonicalize, [], [normalize_0_11])).

cnf(refute_0_13, plain,
(~ big_f(skolemFOFtoCNF_Z_1(X2), skolemFOFtoCNF_Y(X2)) |
skolemFOFtoCNF_Y(X2) = skolemFOFtoCNF_W),
inference(subst, [],
[refute_0_12 :
[bind(X, \$fot(skolemFOFtoCNF_Z_1(X2))),
bind(Y, \$fot(skolemFOFtoCNF_Y(X2)))]])).

cnf(refute_0_14, plain,
(X != skolemFOFtoCNF_Z_1(W) | skolemFOFtoCNF_Y(W) = W |
big_f(X, skolemFOFtoCNF_Y(W))),
inference(canonicalize, [], [normalize_0_12])).

cnf(refute_0_15, plain,
(skolemFOFtoCNF_Z_1(W) != skolemFOFtoCNF_Z_1(W) |
skolemFOFtoCNF_Y(W) = W |
big_f(skolemFOFtoCNF_Z_1(W), skolemFOFtoCNF_Y(W))),
inference(subst, [],
[refute_0_14 : [bind(X, \$fot(skolemFOFtoCNF_Z_1(W)))]])).

cnf(refute_0_16, plain, (skolemFOFtoCNF_Z_1(W) = skolemFOFtoCNF_Z_1(W)),
introduced(tautology, [refl, [\$fot(skolemFOFtoCNF_Z_1(W))]])).

cnf(refute_0_17, plain,
(skolemFOFtoCNF_Y(W) = W |
big_f(skolemFOFtoCNF_Z_1(W), skolemFOFtoCNF_Y(W))),
inference(resolve,
[\$cnf('\$equal'(skolemFOFtoCNF_Z_1(W),
skolemFOFtoCNF_Z_1(W)))],
[refute_0_16, refute_0_15])).

cnf(refute_0_18, plain,
(skolemFOFtoCNF_Y(X2) = X2 |
big_f(skolemFOFtoCNF_Z_1(X2), skolemFOFtoCNF_Y(X2))),
inference(subst, [], [refute_0_17 : [bind(W, \$fot(X2))]])).

cnf(refute_0_19, plain,
(skolemFOFtoCNF_Y(X2) = X2 | skolemFOFtoCNF_Y(X2) = skolemFOFtoCNF_W),
inference(resolve,
[\$cnf(big_f(skolemFOFtoCNF_Z_1(X2), skolemFOFtoCNF_Y(X2)))],
[refute_0_18, refute_0_13])).

cnf(refute_0_20, plain,
(skolemFOFtoCNF_Y(skolemFOFtoCNF_W) = skolemFOFtoCNF_W),
inference(subst, [],
[refute_0_19 : [bind(X2, \$fot(skolemFOFtoCNF_W))]])).

cnf(refute_0_21, plain,
(skolemFOFtoCNF_W != skolemFOFtoCNF_W |
skolemFOFtoCNF_Y(skolemFOFtoCNF_W) != skolemFOFtoCNF_W |
skolemFOFtoCNF_Y(skolemFOFtoCNF_W) = skolemFOFtoCNF_W),
introduced(tautology,
[equality,
[\$cnf('\$equal'(skolemFOFtoCNF_Y(skolemFOFtoCNF_W),
skolemFOFtoCNF_W)), [0, 0],
\$fot(skolemFOFtoCNF_W)]])).

cnf(refute_0_22, plain,
(skolemFOFtoCNF_W != skolemFOFtoCNF_W |
skolemFOFtoCNF_Y(skolemFOFtoCNF_W) = skolemFOFtoCNF_W),
inference(resolve,
[\$cnf('\$equal'(skolemFOFtoCNF_Y(skolemFOFtoCNF_W),
skolemFOFtoCNF_W))], [refute_0_20, refute_0_21])).

cnf(refute_0_23, plain,
(skolemFOFtoCNF_W != skolemFOFtoCNF_W |
skolemFOFtoCNF_X(skolemFOFtoCNF_W, X0) = X0 |
big_f(skolemFOFtoCNF_X(skolemFOFtoCNF_W, X0), skolemFOFtoCNF_W)),
inference(resolve,
[\$cnf('\$equal'(skolemFOFtoCNF_Y(skolemFOFtoCNF_W),
skolemFOFtoCNF_W))], [refute_0_22, refute_0_11])).

cnf(refute_0_24, plain, (skolemFOFtoCNF_W = skolemFOFtoCNF_W),
introduced(tautology, [refl, [\$fot(skolemFOFtoCNF_W)]])).

cnf(refute_0_25, plain,
(skolemFOFtoCNF_X(skolemFOFtoCNF_W, X0) = X0 |
big_f(skolemFOFtoCNF_X(skolemFOFtoCNF_W, X0), skolemFOFtoCNF_W)),
inference(resolve,
[\$cnf('\$equal'(skolemFOFtoCNF_W, skolemFOFtoCNF_W))],
[refute_0_24, refute_0_23])).

cnf(refute_0_26, plain,
(skolemFOFtoCNF_X(skolemFOFtoCNF_W, X1) = X1 |
big_f(skolemFOFtoCNF_X(skolemFOFtoCNF_W, X1), skolemFOFtoCNF_W)),
inference(subst, [], [refute_0_25 : [bind(X0, \$fot(X1))]])).

cnf(refute_0_27, plain,
(skolemFOFtoCNF_X(skolemFOFtoCNF_W, X1) = X1 |
skolemFOFtoCNF_X(skolemFOFtoCNF_W, X1) = skolemFOFtoCNF_Z),
inference(resolve,
[\$cnf(big_f(skolemFOFtoCNF_X(skolemFOFtoCNF_W, X1),
skolemFOFtoCNF_W))], [refute_0_26, refute_0_7])).

cnf(refute_0_28, plain,
(skolemFOFtoCNF_X(skolemFOFtoCNF_W, skolemFOFtoCNF_Z) =
skolemFOFtoCNF_Z),
inference(subst, [],
[refute_0_27 : [bind(X1, \$fot(skolemFOFtoCNF_Z))]])).

cnf(refute_0_29, plain,
(skolemFOFtoCNF_X(skolemFOFtoCNF_W, skolemFOFtoCNF_Z) !=
skolemFOFtoCNF_Z | skolemFOFtoCNF_Z != skolemFOFtoCNF_Z |
skolemFOFtoCNF_X(skolemFOFtoCNF_W, skolemFOFtoCNF_Z) =
skolemFOFtoCNF_Z),
introduced(tautology,
[equality,
[\$cnf(~ '\$equal'(skolemFOFtoCNF_X(skolemFOFtoCNF_W,
skolemFOFtoCNF_Z), skolemFOFtoCNF_Z)), [0],
\$fot(skolemFOFtoCNF_Z)]])).

cnf(refute_0_30, plain,
(skolemFOFtoCNF_Z != skolemFOFtoCNF_Z |
skolemFOFtoCNF_X(skolemFOFtoCNF_W, skolemFOFtoCNF_Z) =
skolemFOFtoCNF_Z),
inference(resolve,
[\$cnf('\$equal'(skolemFOFtoCNF_X(skolemFOFtoCNF_W,
skolemFOFtoCNF_Z), skolemFOFtoCNF_Z))],
[refute_0_28, refute_0_29])).

cnf(refute_0_31, plain,
(skolemFOFtoCNF_Y(skolemFOFtoCNF_W) != skolemFOFtoCNF_W |
skolemFOFtoCNF_Z != skolemFOFtoCNF_Z |
~ big_f(skolemFOFtoCNF_Z, skolemFOFtoCNF_W)),
inference(resolve,
[\$cnf('\$equal'(skolemFOFtoCNF_X(skolemFOFtoCNF_W,
skolemFOFtoCNF_Z), skolemFOFtoCNF_Z))],
[refute_0_30, refute_0_5])).

cnf(refute_0_32, plain, (skolemFOFtoCNF_Z = skolemFOFtoCNF_Z),
introduced(tautology, [refl, [\$fot(skolemFOFtoCNF_Z)]])).

cnf(refute_0_33, plain,
(skolemFOFtoCNF_Y(skolemFOFtoCNF_W) != skolemFOFtoCNF_W |
~ big_f(skolemFOFtoCNF_Z, skolemFOFtoCNF_W)),
inference(resolve,
[\$cnf('\$equal'(skolemFOFtoCNF_Z, skolemFOFtoCNF_Z))],
[refute_0_32, refute_0_31])).

cnf(refute_0_34, plain,
(skolemFOFtoCNF_W != skolemFOFtoCNF_W |
~ big_f(skolemFOFtoCNF_Z, skolemFOFtoCNF_W)),
inference(resolve,
[\$cnf('\$equal'(skolemFOFtoCNF_Y(skolemFOFtoCNF_W),
skolemFOFtoCNF_W))], [refute_0_22, refute_0_33])).

cnf(refute_0_35, plain, (~ big_f(skolemFOFtoCNF_Z, skolemFOFtoCNF_W)),
inference(resolve,
[\$cnf('\$equal'(skolemFOFtoCNF_W, skolemFOFtoCNF_W))],
[refute_0_24, refute_0_34])).

cnf(refute_0_36, plain,
(X != skolemFOFtoCNF_Z | Y != skolemFOFtoCNF_W | big_f(X, Y)),
inference(canonicalize, [], [normalize_0_13])).

cnf(refute_0_37, plain,
(skolemFOFtoCNF_W != skolemFOFtoCNF_W |
skolemFOFtoCNF_Z != skolemFOFtoCNF_Z |
big_f(skolemFOFtoCNF_Z, skolemFOFtoCNF_W)),
inference(subst, [],
[refute_0_36 :
[bind(X, \$fot(skolemFOFtoCNF_Z)),
bind(Y, \$fot(skolemFOFtoCNF_W))]])).

cnf(refute_0_38, plain,
(skolemFOFtoCNF_Z != skolemFOFtoCNF_Z |
big_f(skolemFOFtoCNF_Z, skolemFOFtoCNF_W)),
inference(resolve,
[\$cnf('\$equal'(skolemFOFtoCNF_W, skolemFOFtoCNF_W))],
[refute_0_24, refute_0_37])).

cnf(refute_0_39, plain, (big_f(skolemFOFtoCNF_Z, skolemFOFtoCNF_W)),
inference(resolve,
[\$cnf('\$equal'(skolemFOFtoCNF_Z, skolemFOFtoCNF_Z))],
[refute_0_32, refute_0_38])).

cnf(refute_0_40, plain, (\$false),
inference(resolve, [\$cnf(big_f(skolemFOFtoCNF_Z, skolemFOFtoCNF_W))],
[refute_0_39, refute_0_35])).
SZS output end CNFRefutation for data/problems/all/SYN075+1.tptp
```

### Sample solution for MGT019+2

```SZS output start Saturation for data/problems/all/MGT019+2.tptp
|- ~greater (disbanding_rate first_movers skolemFOFtoCNF_T)
(disbanding_rate efficient_producers skolemFOFtoCNF_T)
|- environment skolemFOFtoCNF_E
|- subpopulations first_movers efficient_producers skolemFOFtoCNF_E
skolemFOFtoCNF_T
|- ~greater (disbanding_rate first_movers \$T)
(disbanding_rate efficient_producers \$T) \/
~greater_or_equal (founding_rate efficient_producers \$T)
(founding_rate first_movers \$T) \/
greater (growth_rate efficient_producers \$T)
(growth_rate first_movers \$T)
|- ~greater_or_equal \$X \$Y \/ \$X = \$Y \/ greater \$X \$Y
|- ~environment \$E \/ ~stable \$E \/
in_environment \$E (skolemFOFtoCNF_To \$E)
|- ~environment \$E \/ ~greater_or_equal \$T (skolemFOFtoCNF_To \$E) \/
~stable \$E \/ ~subpopulations first_movers efficient_producers \$E \$T \/
greater_or_equal (founding_rate efficient_producers \$T)
(founding_rate first_movers \$T)
|- environment skolemFOFtoCNF_E_1
|- stable skolemFOFtoCNF_E_1
|- ~greater (growth_rate efficient_producers (skolemFOFtoCNF_T_1 \$To))
(growth_rate first_movers (skolemFOFtoCNF_T_1 \$To)) \/
~in_environment skolemFOFtoCNF_E_1 \$To
|- ~in_environment skolemFOFtoCNF_E_1 \$To \/
greater_or_equal (skolemFOFtoCNF_T_1 \$To) \$To
|- ~in_environment skolemFOFtoCNF_E_1 \$To \/
subpopulations first_movers efficient_producers skolemFOFtoCNF_E_1
(skolemFOFtoCNF_T_1 \$To)
|- in_environment skolemFOFtoCNF_E_1 (skolemFOFtoCNF_To skolemFOFtoCNF_E_1)
|- subpopulations first_movers efficient_producers skolemFOFtoCNF_E_1
(skolemFOFtoCNF_T_1 (skolemFOFtoCNF_To skolemFOFtoCNF_E_1))
|- greater_or_equal
(skolemFOFtoCNF_T_1 (skolemFOFtoCNF_To skolemFOFtoCNF_E_1))
(skolemFOFtoCNF_To skolemFOFtoCNF_E_1)
|- skolemFOFtoCNF_T_1 (skolemFOFtoCNF_To skolemFOFtoCNF_E_1) =
skolemFOFtoCNF_To skolemFOFtoCNF_E_1 \/
greater (skolemFOFtoCNF_T_1 (skolemFOFtoCNF_To skolemFOFtoCNF_E_1))
(skolemFOFtoCNF_To skolemFOFtoCNF_E_1)
|- ~greater_or_equal skolemFOFtoCNF_T
(skolemFOFtoCNF_To skolemFOFtoCNF_E) \/ ~stable skolemFOFtoCNF_E \/
greater_or_equal (founding_rate efficient_producers skolemFOFtoCNF_T)
(founding_rate first_movers skolemFOFtoCNF_T)
|- greater_or_equal
(founding_rate efficient_producers
(skolemFOFtoCNF_T_1 (skolemFOFtoCNF_To skolemFOFtoCNF_E_1)))
(founding_rate first_movers
(skolemFOFtoCNF_T_1 (skolemFOFtoCNF_To skolemFOFtoCNF_E_1)))
|- founding_rate efficient_producers
(skolemFOFtoCNF_T_1 (skolemFOFtoCNF_To skolemFOFtoCNF_E_1)) =
founding_rate first_movers
(skolemFOFtoCNF_T_1 (skolemFOFtoCNF_To skolemFOFtoCNF_E_1)) \/
greater
(founding_rate efficient_producers
(skolemFOFtoCNF_T_1 (skolemFOFtoCNF_To skolemFOFtoCNF_E_1)))
(founding_rate first_movers
(skolemFOFtoCNF_T_1 (skolemFOFtoCNF_To skolemFOFtoCNF_E_1)))
|- ~greater
(disbanding_rate first_movers
(skolemFOFtoCNF_T_1 (skolemFOFtoCNF_To skolemFOFtoCNF_E_1)))
(disbanding_rate efficient_producers
(skolemFOFtoCNF_T_1 (skolemFOFtoCNF_To skolemFOFtoCNF_E_1))) \/
greater
(growth_rate efficient_producers
(skolemFOFtoCNF_T_1 (skolemFOFtoCNF_To skolemFOFtoCNF_E_1)))
(growth_rate first_movers
(skolemFOFtoCNF_T_1 (skolemFOFtoCNF_To skolemFOFtoCNF_E_1)))
SZS output end Saturation for data/problems/all/MGT019+2.tptp
```

### Sample solution for SWV010+1

```SZS output start Saturation for data/problems/all/SWV010+1.tptp
|- a_holds (key at t)
|- party_of_protocol a
|- message (sent a b (a, an_a_nonce))
|- a_stored (b, an_a_nonce)
|- ~a_stored (\$Y, \$Z) \/
~message
(sent t a (triple (encrypt (quadruple \$Y \$Z \$W \$V) at) \$X \$U)) \/
a_holds (key \$W \$Y)
|- ~a_stored (\$Y, \$Z) \/
~message
(sent t a (triple (encrypt (quadruple \$Y \$Z \$W \$V) at) \$X \$U)) \/
message (sent a \$Y (\$X, encrypt \$U \$W))
|- b_holds (key bt t)
|- party_of_protocol b
|- fresh_to_b an_a_nonce
|- ~fresh_to_b \$V \/ ~message (sent \$U b (\$U, \$V)) \/ b_stored (\$U, \$V)
|- ~fresh_to_b \$V \/ ~message (sent \$U b (\$U, \$V)) \/
message
(sent b t
(triple b (generate_b_nonce \$V)
(encrypt (triple \$U \$V (generate_expiration_time \$V)) bt)))
|- ~b_stored (\$X, \$Y) \/
~message
(sent \$X b
(encrypt (triple \$X \$V (generate_expiration_time \$Y)) bt,
encrypt (generate_b_nonce \$Y) \$V)) \/ b_holds (key \$V \$X)
|- t_holds (key at a)
|- t_holds (key bt b)
|- party_of_protocol t
|- ~message (sent \$U t (triple \$U \$V (encrypt (triple \$W \$X \$Y) \$Z))) \/
~t_holds (key \$X1 \$W) \/ ~t_holds (key \$Z \$U) \/
message
(sent t \$W
(triple (encrypt (quadruple \$U \$X (generate_key \$X) \$Y) \$X1)
(encrypt (triple \$W (generate_key \$X) \$Y) \$Z) \$V))
|- b_stored (a, an_a_nonce)
|- message
(sent b t
(triple b (generate_b_nonce an_a_nonce)
(encrypt
(triple a an_a_nonce (generate_expiration_time an_a_nonce))
bt)))
|- ~t_holds (key \$_32 a) \/
message
(sent t a
(triple
(encrypt
(generate_expiration_time an_a_nonce)) \$_32)
(encrypt
(triple a (generate_key an_a_nonce)
(generate_expiration_time an_a_nonce)) bt)
(generate_b_nonce an_a_nonce)))
|- message
(sent t a
(triple
(encrypt
(generate_expiration_time an_a_nonce)) at)
(encrypt
(triple a (generate_key an_a_nonce)
(generate_expiration_time an_a_nonce)) bt)
(generate_b_nonce an_a_nonce)))
|- message
(sent a b
(encrypt
(triple a (generate_key an_a_nonce)
(generate_expiration_time an_a_nonce)) bt,
encrypt (generate_b_nonce an_a_nonce) (generate_key an_a_nonce)))
|- a_holds (key (generate_key an_a_nonce) b)
|- b_holds (key (generate_key an_a_nonce) a)
SZS output end Saturation for data/problems/all/SWV010+1.tptp
```

Koen Claessen
Chalmers University of Technology, Sweden

### Sample solution for MGT019+2

```% domain size is 1
disbanding_rate(!1,!1) = !1
efficient_producers = !1
environment(!1) <=> \$true
first_movers = !1
founding_rate(!1,!1) = !1
greater(!1,!1) <=> \$false
greater_or_equal(!1,!1) <=> \$true
growth_rate(!1,!1) = !1
in_environment(!1,!1) <=> \$true
stable(!1) <=> \$true
subpopulations(!1,!1,!1,!1) <=> \$true
```

### Sample solution for SWV010+1

```% domain size is 1
a_holds(X1)
a_stored(X1)
b_holds(X1)
b_stored(X1)
fresh_to_b(X1)
message(X1)
party_of_protocol(X1)
t_holds(X1)
```

## SInE 0.4

Kryštof Hoder
The University of Manchester, United Kingdom

### Sample solution for SYN075+1

```# Problem is unsatisfiable (or provable), constructing proof object
# SZS status Theorem
# SZS output start CNFRefutation.
fof(1, axiom,?[X1]:?[X2]:![X3]:![X4]:(big_f(X3,X4)<=>(equal(X3, X1)&equal(X4, X2))),file('/tmp/tmpHkvhK4/req', pel52_1)).
fof(2, conjecture,?[X2]:![X4]:(?[X1]:![X3]:(big_f(X3,X4)<=>equal(X3, X1))<=>equal(X4, X2)),file('/tmp/tmpHkvhK4/req', pel52)).
fof(3, negated_conjecture,~(?[X2]:![X4]:(?[X1]:![X3]:(big_f(X3,X4)<=>equal(X3, X1))<=>equal(X4, X2))),inference(assume_negation,[status(cth)],[2])).
fof(4, plain,?[X1]:?[X2]:![X3]:![X4]:((~(big_f(X3,X4))|(equal(X3, X1)&equal(X4, X2)))&((~(equal(X3, X1))|~(equal(X4, X2)))|big_f(X3,X4))),inference(fof_nnf,[status(thm)],[1])).
fof(5, plain,?[X5]:?[X6]:![X7]:![X8]:((~(big_f(X7,X8))|(equal(X7, X5)&equal(X8, X6)))&((~(equal(X7, X5))|~(equal(X8, X6)))|big_f(X7,X8))),inference(variable_rename,[status(thm)],[4])).
fof(6, plain,![X7]:![X8]:((~(big_f(X7,X8))|(equal(X7, esk1_0)&equal(X8, esk2_0)))&((~(equal(X7, esk1_0))|~(equal(X8, esk2_0)))|big_f(X7,X8))),inference(skolemize,[status(sab)],[5])).
fof(7, plain,![X7]:![X8]:(((equal(X7, esk1_0)|~(big_f(X7,X8)))&(equal(X8, esk2_0)|~(big_f(X7,X8))))&((~(equal(X7, esk1_0))|~(equal(X8, esk2_0)))|big_f(X7,X8))),inference(distribute,[status(thm)],[6])).
cnf(8,plain,(big_f(X1,X2)|X2!=esk2_0|X1!=esk1_0),inference(split_conjunct,[status(thm)],[7])).
cnf(9,plain,(X2=esk2_0|~big_f(X1,X2)),inference(split_conjunct,[status(thm)],[7])).
cnf(10,plain,(X1=esk1_0|~big_f(X1,X2)),inference(split_conjunct,[status(thm)],[7])).
fof(11, negated_conjecture,![X2]:?[X4]:((![X1]:?[X3]:((~(big_f(X3,X4))|~(equal(X3, X1)))&(big_f(X3,X4)|equal(X3, X1)))|~(equal(X4, X2)))&(?[X1]:![X3]:((~(big_f(X3,X4))|equal(X3, X1))&(~(equal(X3, X1))|big_f(X3,X4)))|equal(X4, X2))),inference(fof_nnf,[status(thm)],[3])).
fof(12, negated_conjecture,![X5]:?[X6]:((![X7]:?[X8]:((~(big_f(X8,X6))|~(equal(X8, X7)))&(big_f(X8,X6)|equal(X8, X7)))|~(equal(X6, X5)))&(?[X9]:![X10]:((~(big_f(X10,X6))|equal(X10, X9))&(~(equal(X10, X9))|big_f(X10,X6)))|equal(X6, X5))),inference(variable_rename,[status(thm)],[11])).
fof(13, negated_conjecture,![X5]:((![X7]:((~(big_f(esk4_2(X5,X7),esk3_1(X5)))|~(equal(esk4_2(X5,X7), X7)))&(big_f(esk4_2(X5,X7),esk3_1(X5))|equal(esk4_2(X5,X7), X7)))|~(equal(esk3_1(X5), X5)))&(![X10]:((~(big_f(X10,esk3_1(X5)))|equal(X10, esk5_1(X5)))&(~(equal(X10, esk5_1(X5)))|big_f(X10,esk3_1(X5))))|equal(esk3_1(X5), X5))),inference(skolemize,[status(sab)],[12])).
fof(14, negated_conjecture,![X5]:![X7]:![X10]:((((~(big_f(X10,esk3_1(X5)))|equal(X10, esk5_1(X5)))&(~(equal(X10, esk5_1(X5)))|big_f(X10,esk3_1(X5))))|equal(esk3_1(X5), X5))&(((~(big_f(esk4_2(X5,X7),esk3_1(X5)))|~(equal(esk4_2(X5,X7), X7)))&(big_f(esk4_2(X5,X7),esk3_1(X5))|equal(esk4_2(X5,X7), X7)))|~(equal(esk3_1(X5), X5)))),inference(shift_quantors,[status(thm)],[13])).
fof(15, negated_conjecture,![X5]:![X7]:![X10]:((((~(big_f(X10,esk3_1(X5)))|equal(X10, esk5_1(X5)))|equal(esk3_1(X5), X5))&((~(equal(X10, esk5_1(X5)))|big_f(X10,esk3_1(X5)))|equal(esk3_1(X5), X5)))&(((~(big_f(esk4_2(X5,X7),esk3_1(X5)))|~(equal(esk4_2(X5,X7), X7)))|~(equal(esk3_1(X5), X5)))&((big_f(esk4_2(X5,X7),esk3_1(X5))|equal(esk4_2(X5,X7), X7))|~(equal(esk3_1(X5), X5))))),inference(distribute,[status(thm)],[14])).
cnf(16,negated_conjecture,(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(17,negated_conjecture,(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(18,negated_conjecture,(esk3_1(X1)=X1|big_f(X2,esk3_1(X1))|X2!=esk5_1(X1)),inference(split_conjunct,[status(thm)],[15])).
cnf(25,negated_conjecture,(esk2_0=esk3_1(X2)|esk3_1(X2)=X2|esk5_1(X2)!=X1),inference(pm,[status(thm)],[9,18,theory(equality)])).
cnf(37,negated_conjecture,(esk3_1(X1)=esk2_0|esk3_1(X1)=X1),inference(er,[status(thm)],[25,theory(equality)])).
cnf(48,negated_conjecture,(esk3_1(X2)=X2|esk2_0!=X2),inference(ef,[status(thm)],[37,theory(equality)])).
cnf(60,negated_conjecture,(~big_f(esk4_2(X1,X2),X1)|esk4_2(X1,X2)!=X2|esk3_1(X1)!=X1|esk2_0!=X1),inference(pm,[status(thm)],[17,48,theory(equality)])).
cnf(71,negated_conjecture,(esk4_2(X1,X2)!=X2|esk3_1(X1)!=X1|esk2_0!=X1|esk1_0!=esk4_2(X1,X2)),inference(pm,[status(thm)],[60,8,theory(equality)])).
cnf(1021,negated_conjecture,(esk1_0=esk4_2(X1,X2)|esk4_2(X1,X2)=X2|esk3_1(X1)!=X1),inference(pm,[status(thm)],[10,16,theory(equality)])).
cnf(1085,negated_conjecture,(esk4_2(X3,X4)=X4|esk1_0!=X4|esk3_1(X3)!=X3),inference(ef,[status(thm)],[1021,theory(equality)])).
cnf(1132,negated_conjecture,(X2!=esk1_0|esk4_2(X1,X2)!=X2|esk3_1(X1)!=X1|esk2_0!=X1),inference(pm,[status(thm)],[71,1085,theory(equality)])).
cnf(1179,negated_conjecture,(esk3_1(X1)!=X1|X2!=esk1_0|esk2_0!=X1),inference(pm,[status(thm)],[1132,1085,theory(equality)])).
cnf(1247,negated_conjecture,(X2!=esk1_0|esk2_0!=X1),inference(pm,[status(thm)],[1179,48,theory(equality)])).
cnf(1299,negated_conjecture,(esk2_0!=X1),inference(er,[status(thm)],[1247,theory(equality)])).
cnf(1302,negated_conjecture,(\$false),inference(er,[status(thm)],[1299,theory(equality)])).
cnf(1304,negated_conjecture,(\$false),1302,['proof']).
# SZS output end CNFRefutation
```

## Vampire 10.0

Andrei Voronkov
The University of Manchester, United Kingdom

### Sample solution for SYN075+1

```%%%%% Refutation found! Thanks to Tanya!
%%%%% SZS status Theorem %%%%%
% SZS output start Refutation
fof(1,axiom,
?[X0,X1] : ![X2,X3] : (big_f(X2,X3) <=> equal(X2,X0) & equal(X3,X1)),
inference('input',[])).
fof(3,plain,
?[X0,X1] : ![X2,X3] : (big_f(X2,X3) <=> equal(X3,X1) & equal(X2,X0)),
inference('normalize',[1])).
fof(10,plain,
?[X0,X1] : ![X2,X3] : ((~big_f(X2,X3) | (equal(X3,X1) & equal(X2,X0))) & ((~equal(X3,X1) | ~equal(X2,X0)) | big_f(X2,X3))),
inference('NNF transformation',[3])).
fof(11,plain,
?[X0,X1] : ![X2,X3] : ((~big_f(X2,X3) | (equal(X3,X1) & equal(X2,X0))) & (~equal(X3,X1) | ~equal(X2,X0) | big_f(X2,X3))),
inference('flattening',[10])).
fof(12,plain,
(~big_f(X2,X3) | (equal(X3,sk_4) & equal(X2,sk_3))) & (~equal(X3,sk_4) | ~equal(X2,sk_3) | big_f(X2,X3)),
inference('skolemization',[11])).
cnf(19,plain,
big_f(X2,X3)
| (X2!=sk_3)
| (X3!=sk_4),
inference('cnf transformation',[12])).
cnf(31,plain,
(X1!=sk_4)
| big_f(sk_3,X1),
inference('equality resolution',[19])).
cnf(33,plain,
big_f(sk_3,sk_4),
inference('equality resolution',[31])).
cnf(18,plain,
(X2=sk_3)
| ~big_f(X2,X3),
inference('cnf transformation',[12])).
cnf(17,plain,
(X3=sk_4)
| ~big_f(X2,X3),
inference('cnf transformation',[12])).
fof(2,negated_conjecture,
~?[X1] : ![X3] : (?[X0] : ![X2] : (big_f(X2,X3) <=> equal(X2,X0)) <=> equal(X3,X1)),
inference('input',[])).
fof(4,plain,
~?[X0] : ![X1] : (?[X2] : ![X3] : (big_f(X3,X1) <=> equal(X3,X2)) <=> equal(X1,X0)),
inference('rectify',[2])).
fof(5,plain,
~?[X0] : ![X1] : (equal(X1,X0) <=> ?[X2] : ![X3] : (equal(X3,X2) <=> big_f(X3,X1))),
inference('normalize',[4])).
fof(6,plain,
![X0] : ?[X1] : (equal(X1,X0) <~> ?[X2] : ![X3] : (equal(X3,X2) <=> big_f(X3,X1))),
inference('ENNF transformation',[5])).
fof(7,plain,
![X0] : ?[X1] : ((equal(X1,X0) | ?[X2] : ![X3] : ((~equal(X3,X2) | big_f(X3,X1)) & (~big_f(X3,X1) | equal(X3,X2)))) & (~equal(X1,X0) | ![X2] : ?[X3] : ((equal(X3,X2) | big_f(X3,X1)) & (~equal(X3,X2) | ~big_f(X3,X1))))),
inference('NNF transformation',[6])).
fof(8,plain,
![X0] : ?[X1] : ((equal(X1,X0) | ?[X2] : ![X3] : ((~equal(X3,X2) | big_f(X3,X1)) & (~big_f(X3,X1) | equal(X3,X2)))) & (~equal(X1,X0) | ![X4] : ?[X5] : ((equal(X5,X4) | big_f(X5,X1)) & (~equal(X5,X4) | ~big_f(X5,X1))))),
inference('rectify',[7])).
fof(9,plain,
(equal(sk_0(X0),X0) | ((~equal(X3,sk_1(X1)) | big_f(X3,sk_0(X0))) & (~big_f(X3,sk_0(X0)) | equal(X3,sk_1(X1))))) & (~equal(sk_0(X0),X0) | ((equal(sk_2(X1,X4),X4) | big_f(sk_2(X1,X4),sk_0(X0))) & (~equal(sk_2(X1,X4),X4) | ~big_f(sk_2(X1,X4),sk_0(X0))))),
inference('skolemization',[8])).
cnf(13,plain,
big_f(X3,sk_0(X0))
| (X3!=sk_1(X1))
| (sk_0(X0)=X0),
inference('cnf transformation',[9])).
cnf(32,plain,
big_f(sk_1(X1),sk_0(X2))
| (sk_0(X2)=X2),
inference('equality resolution',[13])).
cnf(34,plain,
(sk_0(X1)=sk_4)
| (sk_0(X1)=X1),
inference('resolution',[17,32])).
cnf(37,plain,
(sk_4!=X1)
| (sk_0(X1)=X1),
inference('equality factoring',[34])).
cnf(43,plain,
(sk_0(sk_4)=sk_4),
inference('equality resolution',[37])).
cnf(15,plain,
big_f(sk_2(X1,X4),sk_0(X0))
| (sk_2(X1,X4)=X4)
| (sk_0(X0)!=X0),
inference('cnf transformation',[9])).
cnf(52,plain,
big_f(sk_2(X1,X2),sk_4)
| (sk_2(X1,X2)=X2),
inference('backward superposition, forward demodulation',[43,15,43])).
cnf(66,plain,
(sk_2(X1,X2)=sk_3)
| (sk_2(X1,X2)=X2),
inference('resolution',[18,52])).
cnf(121,plain,
(sk_3!=X1)
| (sk_2(X2,X1)=X1),
inference('equality factoring',[66])).
cnf(136,plain,
(sk_2(X1,sk_3)=sk_3),
inference('equality resolution',[121])).
cnf(16,plain,
~big_f(sk_2(X1,X4),sk_0(X0))
| (sk_2(X1,X4)!=X4)
| (sk_0(X0)!=X0),
inference('cnf transformation',[9])).
cnf(53,plain,
(sk_2(X1,X2)!=X2)
| ~big_f(sk_2(X1,X2),sk_4),
inference('backward superposition, forward demodulation',[43,16,43])).
cnf(175,plain,
\$false,
inference('backward superposition, forward demodulation, forward subsumption resolution',[33,136,53,136])).
% SZS output end Refutation
```

## Vampire 11.0

Kryštof Hoder, Andrei Voronkov
The University of Manchester, United Kingdom

### Notes

A clause in the Vampire 11.0 kernel is in fact a disjunction of a propositional and a non-propositional part. The non-propositional part is, expectably, a disjunction of atoms. The propositional part is a general propositional formula. Input clauses have the propositional part equal to \$false, and non-trivial propositional parts are introduced by clause splitting rule. Consequently, clauses with propositional parts equal to \$true are tautologies.

If there is no propositional part involved, an inference step is output like this:

```    390. n1 != n3 (0:3) [CNF transformation 1]
```
otherwise the step is output as this:
```    124_1. well_founded_relation(\$sk10) | ( 1 ? \$false \$true )  (0:2) [clause naming 124_T]
```
The ID of a clause consists of a non-propositional clause part number (same for clauses sharing the non-propositional part) and a specifier of the concrete clause -- either "_T", "", or "_"+number, depending on whether the propositional part is \$true, \$false or some general formula (such clauses are numbered in order of appearance in the proof).

Non-propositional parts of clauses are being output in the if-then-else normal form. A formula is one of:

```    \$true
\$false
(  ?   )
```
so that holds, that variable numbers in nested formulas are smaller than those of parent formula.

Some perhaps non-obvious inference rules:

• The "clause naming" inference names its premise by a new propositional symbol, so that the named clause can become one of components during a splitting inference:
```    124_1. well_founded_relation(\$sk10) | ( 1 ? \$false \$true )  (0:2) [clause naming 124_T]
124_T. well_founded_relation(\$sk10) | \$true  (0:2) [tautology introduction]
```
• The "merge" inference takes two or more clauses with the same non-propositional part and merges them into one, removing the original two. The resulting clause's propositional part is the conjunction of the propositional parts of the premises.

### Sample solution for SYN075+1

```unspecified_test on Problems/SYN/SYN075+1.p
Refutation found. Thanks to Tanya!
173. \$false (7:0) [subsumption resolution 172,19]
19. big_f(\$sk0,\$sk1) (2:3) [equality resolution 18]
18. \$sk0 != X0 | big_f(X0,\$sk1) (1:6) [equality resolution 13]
13. \$sk1 != X3 | big_f(X2,X3) | \$sk0 != X2 (0:9) [CNF transformation 7]
172. ~big_f(\$sk0,\$sk1) (7:3) [forward demodulation 171,31]
31. \$sk1 = \$sk2(\$sk1) (3:4) [factoring 25]
25. \$sk2(X1) = X1 | \$sk1 = \$sk2(X1) (2:8) [resolution 20,12]
12. ~big_f(X2,X3) | \$sk1 = X3 (0:6) [CNF transformation 7]
20. big_f(\$sk3(X0),\$sk2(X0)) | \$sk2(X0) = X0 (1:9) [equality resolution 15]
15. \$sk3(X0) != X3 | big_f(X3,\$sk2(X0)) | \$sk2(X0) = X0 (0:12) [CNF transformation 10]
171. ~big_f(\$sk0,\$sk2(\$sk1)) (7:4) [forward demodulation 170,124]
124. \$sk0 = \$sk4(\$sk0,\$sk1) (6:5) [factoring 114]
114. \$sk4(X1,\$sk1) = X1 | \$sk0 = \$sk4(X1,\$sk1) (5:10) [resolution 54,11]
11. ~big_f(X2,X3) | \$sk0 = X2 (0:6) [CNF transformation 7]
54. big_f(\$sk4(X0,\$sk1),\$sk1) | \$sk4(X0,\$sk1) = X0 (4:10) [forward demodulation 53,31]
53. \$sk4(X0,\$sk1) = X0 | big_f(\$sk4(X0,\$sk1),\$sk2(\$sk1)) (4:11) [trivial inequality removal 52]
52. \$sk1 != \$sk1 | \$sk4(X0,\$sk1) = X0 | big_f(\$sk4(X0,\$sk1),\$sk2(\$sk1)) (4:14) [superposition 16,31]
16. \$sk2(X0) != X0 | \$sk4(X4,X0) = X4 | big_f(\$sk4(X4,X0),\$sk2(X0)) (0:15) [CNF transformation 10]
170. ~big_f(\$sk4(\$sk0,\$sk1),\$sk2(\$sk1)) (7:6) [trivial inequality removal 169]
169. \$sk1 != \$sk1 | ~big_f(\$sk4(\$sk0,\$sk1),\$sk2(\$sk1)) (7:9) [forward demodulation 168,31]
168. \$sk1 != \$sk2(\$sk1) | ~big_f(\$sk4(\$sk0,\$sk1),\$sk2(\$sk1)) (7:10) [trivial inequality removal 167]
167. \$sk0 != \$sk0 | \$sk1 != \$sk2(\$sk1) | ~big_f(\$sk4(\$sk0,\$sk1),\$sk2(\$sk1)) (7:13) [superposition 17,124]
17. \$sk4(X4,X0) != X4 | \$sk2(X0) != X0 | ~big_f(\$sk4(X4,X0),\$sk2(X0)) (0:15) [CNF transformation 10]
10. ! [X0] : ((! [X3] : ((~big_f(X3,\$sk2(X0)) | \$sk3(X0) = X3) & (\$sk3(X0) != X3 | big_f(X3,\$sk2(X0)))) | \$sk2(X0) = X0) & (! [X4] : ((big_f(\$sk4(X4,X0),\$sk2(X0)) | \$sk4(X4,X0) = X4) & (~big_f(\$sk4(X4,X0),\$sk2(X0)) | \$sk4(X4,X0) != X4)) | \$sk2(X0) != X0)) [skolemisation 9]
9. ! [X0] : ? [X1] : ((? [X2] : ! [X3] : ((~big_f(X3,X1) | X2 = X3) & (X2 != X3 | big_f(X3,X1))) | X0 = X1) & (! [X4] : ? [X5] : ((big_f(X5,X1) | X4 = X5) & (~big_f(X5,X1) | X4 != X5)) | X0 != X1)) [rectify 8]
8. ! [X0] : ? [X1] : ((? [X2] : ! [X3] : ((~big_f(X3,X1) | X2 = X3) & (X2 != X3 | big_f(X3,X1))) | X0 = X1) & (! [X2] : ? [X3] : ((big_f(X3,X1) | X2 = X3) & (~big_f(X3,X1) | X2 != X3)) | X0 != X1)) [nnf transformation 4]
4. ! [X0] : ? [X1] : (? [X2] : ! [X3] : (big_f(X3,X1) <=> X2 = X3) <~> X0 = X1) [ennf transformation 3]
3. ~? [X0] : ! [X1] : (? [X2] : ! [X3] : (big_f(X3,X1) <=> X2 = X3) <=> X0 = X1) [rectify 2]
2. ~? [X1] : ! [X3] : (? [X0] : ! [X2] : (big_f(X2,X3) <=> X0 = X2) <=> X1 = X3) [negated conjecture]
7. ! [X2,X3] : ((~big_f(X2,X3) | (\$sk0 = X2 & \$sk1 = X3)) & (\$sk0 != X2 | \$sk1 != X3 | big_f(X2,X3))) [skolemisation 6]
6. ? [X0,X1] : ! [X2,X3] : ((~big_f(X2,X3) | (X0 = X2 & X1 = X3)) & (X0 != X2 | X1 != X3 | big_f(X2,X3))) [flattening 5]
5. ? [X0,X1] : ! [X2,X3] : ((~big_f(X2,X3) | (X0 = X2 & X1 = X3)) & ((X0 != X2 | X1 != X3) | big_f(X2,X3))) [nnf transformation 1]
1. ? [X0,X1] : ! [X2,X3] : (big_f(X2,X3) <=> X0 = X2 & X1 = X3) [input]
------------------------------
Active clauses: 26
Passive clauses: 40
Generated clauses: 118
Final active clauses: 26
Final passive clauses: 14
Input formulas: 2
Initial clauses: 7

Duplicate literals: 12
Trivial inequalities: 11
Fw subsumption resolutions: 3
Fw demodulations: 22

Equational tautologies: 7
Forward subsumptions: 48
Fw demodulations to eq. taut.: 16

Binary resolution: 53
Factoring: 2
Forward superposition: 22
Backward superposition: 24
Equality factoring: 2
Equality resolution: 5

Unique components: 7

Memory used: 255KB
------------------------------
Time spent on BDDs: 0
```