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
              (quadruple b an_a_nonce (generate_key an_a_nonce)
                 (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
              (quadruple b an_a_nonce (generate_key an_a_nonce)
                 (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


Paradox 3.0

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:

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