Entrants' Sample Solutions


Ayane 2

Russell Wallace
Independent researcher, Ireland

Sample solution for SYN073+1

Ayane cannot solve SYN075+1.
% SZS status Theorem for SYN073+1.p
% SZS output start CNFRefutation for SYN073+1.p
fof(pel50, conjecture, ! [X] : (big_f(a, X) | ! [Y] : big_f(X, Y)) => ? [X1] : (! [Y1] : big_f(X1, Y1)), file('SYN073+1.p', pel50)).
cnf(3, negated_conjecture, ~big_f(D, z0(D)), inference(convert, [status(esa)], [pel50])).
cnf(2, negated_conjecture, big_f(a, B) | big_f(B, C), inference(convert, [status(esa)], [pel50])).
cnf(4, plain, big_f(z0(a), A), inference(resolve, [status(thm)], [3, 2])).
cnf(5, plain, $false, inference(resolve, [status(thm)], [4, 3])).
% SZS output end CNFRefutation for SYN073+1.p


EP 1.2pre

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


Geo 2010C

Hans de Nivelle
Uniwersytetu Wroclawskiego, Poland

Transformation
Geo always starts with a transformation to geometric formulas. (GNF-transformation) The intermediate results are shown, but it is not really documented which steps were made in the transformation.

Proofs
Proofs contain the following rules:

Rules are either deleted or active. Deleted means that they are either subsumed or simplified away. Rules are either sound or unsound. Unsound rules are inductive consequences of the initial formulas. They can be used only in simplifications. (I will probably rename this into 'inductive' before CASC)

Models
Models are represented by listing the atoms that are true in them. The elements in the model have form E0, E1, E2, E3, E4, etc.

There are the following types of atoms in models:

Sample solution for SYN075+1

--------------------------------------
0: 
   (nrappl = 1/0, lastappl = 7/0)    (deleted,sound) 
       -> # V0 /\ pppp3(V0)
--------------------------------------
1: 
   (nrappl = 1/0, lastappl = 7/0)    (deleted,sound) 
      pppp3(V0) -> # V1 /\ pppp2(V0,V1)
--------------------------------------
2: 
   (nrappl = 1/0, lastappl = 6/0)    (deleted,sound) 
      pppp2(V0,V1) /\ pppp0(V2,V3,V0,V1) -> big_f(V2,V3)
--------------------------------------
3: 
   (nrappl = 2/0, lastappl = 4/0)    (deleted,sound) 
      pppp2(V0,V1) /\ big_f(V2,V3) -> pppp0(V2,V3,V0,V1)
--------------------------------------
4: 
   (nrappl = 1/1, lastappl = 2/6)    (deleted,sound) 
      pppp0(V0,V1,V2,V3) /\ V0 != V2 -> FALSE
--------------------------------------
5: 
   (nrappl = 1/1, lastappl = 4/6)    (deleted,sound) 
      pppp0(V0,V1,V2,V3) /\ V1 != V3 -> FALSE
--------------------------------------
6: 
   (nrappl = 1/0, lastappl = 7/0)    (deleted,sound) 
      # V2 /\ # V3 -> pppp0(V2,V3,V2,V3)
--------------------------------------
7: 
   (nrappl = 1/0, lastappl = 6/0)    (deleted,sound) 
      # V0 -> # V1 /\ pppp4(V1,V0)
--------------------------------------
8: 
   (nrappl = 1/0, lastappl = 3/0)    (deleted,sound) 
      pppp4(V1,V1) /\ pppp1(V1) -> FALSE
--------------------------------------
9: 
   (nrappl = 1/0, lastappl = 6/0)    (deleted,sound) 
      pppp4(V0,V1) /\ V0 != V1 -> pppp1(V0)
--------------------------------------
10: 
   (nrappl = 1/0, lastappl = 6/0)    (deleted,sound) 
      pppp1(V0) -> # V1 /\ pppp5(V0,V1)
--------------------------------------
11: 
   (nrappl = 1/0, lastappl = 3/0)    (deleted,sound) 
      # V0 /\ # V1 -> pppp1(V0) \/ pppp7(V0,V1)
--------------------------------------
12: 
   (nrappl = 1/0, lastappl = 2/0)    (deleted,sound) 
      pppp7(V0,V1) -> # V2 /\ pppp6(V2,V0,V1)
--------------------------------------
13: 
   (nrappl = 2/0, lastappl = 2/0)    (deleted,sound) 
      pppp6(V2,V1,V2) /\ big_f(V2,V1) -> FALSE
--------------------------------------
14: 
   (nrappl = 1/0, lastappl = 2/0)    (deleted,sound) 
      pppp6(V0,V1,V2) /\ V0 != V2 -> big_f(V0,V1)
--------------------------------------
15: 
   (nrappl = 2/0, lastappl = 5/0)    (deleted,sound) 
      pppp5(V0,V1) -> big_f(V1,V0)
--------------------------------------
17: Pick(3),Disj(4)
   (nrappl = 2/3, lastappl = 5/6)    (deleted,sound) 
      pppp2(V0,V1) /\ big_f(V2,V3) /\ V2 != V0 -> FALSE
--------------------------------------
18: Pick(14),Disj(17)
   (nrappl = 1/0, lastappl = 2/0)    (deleted,sound) 
      pppp2(V3,V4) /\ pppp6(V0,V1,V2) /\ V0 != V2 /\ V0 != V3 -> FALSE
--------------------------------------
19: Pick(12),Exist(18),Disj(13),Disj(13)
   (nrappl = 2/0, lastappl = 4/0)    (deleted,sound) 
      pppp2(V1,V2) /\ pppp7(V0,V1) /\ big_f(V1,V0) -> FALSE
--------------------------------------
20: Pick(11),Disj(8),Disj(19)
   (nrappl = 1/0, lastappl = 4/0)    (deleted,sound) 
      pppp4(V0,V0) /\ big_f(V1,V0) /\ pppp2(V1,V2) -> FALSE
--------------------------------------
21: Pick(3),Disj(5),eq(17)
   (nrappl = 1/2, lastappl = 4/4)    (deleted,sound) 
      pppp2(V0,V1) /\ big_f(V0,V3) /\ V3 != V1 -> FALSE
--------------------------------------
23: Pick(20),eq(21)
   (nrappl = 2/0, lastappl = 6/0)    (deleted,sound) 
      pppp4(V2,V2) /\ big_f(V1,V2) /\ pppp2(V1,V2) -> FALSE
--------------------------------------
24: Pick(15),Disj(21)
   (nrappl = 1/0, lastappl = 6/0)    (deleted,sound) 
      pppp5(V0,V1) /\ pppp2(V1,V2) /\ V0 != V2 -> FALSE
--------------------------------------
25: Pick(15),Disj(17)
   (nrappl = 1/0, lastappl = 6/0)    (deleted,sound) 
      pppp5(V0,V1) /\ pppp2(V2,V3) /\ V1 != V2 -> FALSE
--------------------------------------
26: Pick(10),Exist(25),Disj(24)
   (nrappl = 1/0, lastappl = 6/0)    (deleted,sound) 
      pppp1(V0) /\ pppp2(V1,V3) /\ V0 != V3 -> FALSE
--------------------------------------
27: Pick(9),Disj(26)
   (nrappl = 1/0, lastappl = 6/0)    (deleted,sound) 
      pppp2(V2,V3) /\ pppp4(V0,V1) /\ V0 != V1 /\ V0 != V3 -> FALSE
--------------------------------------
28: Pick(7),Exist(27),Disj(23),Disj(23),eq(17),eq(17)
   (nrappl = 1/0, lastappl = 6/0)    (deleted,sound) 
      pppp2(V1,V0) /\ big_f(V1,V0) -> FALSE
--------------------------------------
29: Pick(2),Disj(28),eq(4),eq(5)
   (nrappl = 1/0, lastappl = 7/0)    (deleted,sound) 
      pppp2(V0,V1) /\ pppp0(V0,V1,V0,V1) -> FALSE
--------------------------------------
30: Pick(6),Disj(29)
   (nrappl = 1/0, lastappl = 7/0)    (deleted,sound) 
      pppp2(V0,V1) -> FALSE
--------------------------------------
31: Pick(1),Exist(30)
   (nrappl = 1/0, lastappl = 7/0)    (deleted,sound) 
      pppp3(V0) -> FALSE
--------------------------------------
32: Pick(0),Exist(31)
   (nrappl = 0/0, lastappl = 0/0)    (active,sound) 
       -> FALSE

Sample solution for MGT019+2

0 : 17() (0/1)    [ 0; L0, W1 ]      # E0
1 : 17() (0/1)    [ 0; L0, W1 ]      P_first_movers(E0)
2 : 18() (0/2)    [ 0; L0, W1 ]      P_efficient_producers(E0)
3 : 0(1,2) (0/2)    [ 0; L1, W3 ]      pppp1(E0,E0,E0)
4 : 10(1,2) (0/2)    [ 0; L1, W3 ]      pppp4(E0,E0,E0)
5 : 12(4) (0/1)    [ 0; L2, W4 ]      stable(E0)
6 : 13(4) (0/1)    [ 0; L2, W4 ]      environment(E0)
7 : 19(0,0) (0/2)    [ 0; L1, W3 ]      P_disbanding_rate(E0,E0,E0)
8 : 20(0,0) (0/2)    [ 0; L1, W3 ]      P_founding_rate(E0,E0,E0)
9 : 21(0,0) (0/2)    [ 0; L1, W3 ]      P_growth_rate(E0,E0,E0)
10 : 1(3,7,7) (0/2)    [ 0; L2, W10 ]      pppp0(E0,E0,E0,E0)
11 : 3(10) (0/1)    [ 0; L3, W11 ]      subpopulations(E0,E0,E0,E0)
12 : 7(1,2,6,5) (0/2)    [ 0; L3, W11 ]      pppp2(E0,E0,E0,E0)
13 : 9(12) (0/1)    [ 0; L4, W12 ]      in_environment(E0,E0)
14 : 11(4,13) (0/2)    [ 0; L5, W16 ]      pppp3(E0,E0,E0,E0,E0)
15 : 15(14,9,9) (0/1)    [ 0; L6, W23 ]      greater_or_equal(E0,E0)


iProver 0.8

Konstantin Korovin
University of Manchester, United Kingdom

iProver outputs a model if the model is found by instantiation. The model is represented as predicate definitions in the term algebra. (it is an effective representation and useful in applications).

Sample solution for MGT019+2

% SZS output start Model 


%------ Positive definition of = 
fof(lit_def,axiom,
    (! [X0,X1] : 
      ( iProver_=(X0,X1) <=>
           (
              (
                ( X0!=sK1 )
               &
                ( X0!=first_movers )
               &
                ( X0!=sK3 )
               &
                ( X0!=sK4 )
               &
                ! [X2] : ( X0!=founding_rate(X0,X2) )
               &
                ( X0!=sK0(sK1) )
               &
                ( X0!=sK2(sK0(sK1)) )
               &
                ( X0!=founding_rate(efficient_producers,sK2(sK0(sK1))) )
               &
                ( X0!=founding_rate(first_movers,sK2(sK0(sK1))) )
               &
                ( X0!=founding_rate(X0,X1) )
               &
                ( X0!=founding_rate(X0,sK2(sK0(sK1))) )
               &
                ( X1!=sK1 )
               &
                ( X1!=first_movers )
               &
                ( X1!=sK3 )
               &
                ( X1!=sK4 )
               &
                ( X1!=sK0(sK1) )
               &
                ( X1!=sK2(sK0(sK1)) )
               &
                ! [X2] : ( X1!=founding_rate(X1,X2) )
               &
                ( X1!=founding_rate(efficient_producers,sK2(sK0(sK1))) )
               &
                ( X1!=founding_rate(first_movers,sK2(sK0(sK1))) )
               &
                ( X1!=founding_rate(X1,sK2(sK0(sK1))) )
              )

             | 
              (
                ( X0=sK1 & X1=sK1 )
              )

             | 
              (
                ( X0=first_movers & X1=first_movers )
              )

             | 
              (
                ( X0=sK3 & X1=sK3 )
              )

             | 
              (
                ( X0=sK4 & X1=sK4 )
              )

             | 
              (
                ( X0=sK0(sK1) & X1=sK0(sK1) )
              )

             | 
              (
                ( X0=sK2(sK0(sK1)) & X1=sK2(sK0(sK1)) )
              )

             | 
            ? [X2,X3] : 
              (
                ( X0=sK0(X2) & X1=sK0(X3) )
               &
                ( X2!=sK1 )
               &
                ( X3!=sK1 )
              )

             | 
            ? [X2,X3] : 
              (
                ( X0=sK2(X2) & X1=sK2(X3) )
               &
                ( X2!=sK0(sK1) )
               &
                ( X3!=sK0(sK1) )
              )

             | 
            ? [X2,X3] : 
              (
                ( X0=founding_rate(X2,X3) & X1=founding_rate(X2,X3) )
              )

             | 
            ? [X2,X3,X4,X5] : 
              (
                ( X0=founding_rate(X2,X3) & X1=founding_rate(X4,X5) )
               &
                ( X2!=first_movers | X3!=sK2(sK0(sK1)) )
               &
                ( X2!=efficient_producers | X3!=sK2(sK0(sK1)) )
               &
                ( X3!=sK2(sK0(sK1)) )
               &
                ( X4!=first_movers | X5!=sK2(sK0(sK1)) )
               &
                ( X4!=efficient_producers | X5!=sK2(sK0(sK1)) )
               &
                ( X5!=sK2(sK0(sK1)) )
              )

             | 
            ? [X2,X3,X4,X5] : 
              (
                ( X0=disbanding_rate(X2,X3) & X1=disbanding_rate(X4,X5) )
              )

             | 
            ? [X2,X3,X4,X5] : 
              (
                ( X0=growth_rate(X2,X3) & X1=growth_rate(X4,X5) )
              )

             | 
              (
                ( X0=founding_rate(efficient_producers,sK2(sK0(sK1))) & X1=founding_rate(efficient_producers,sK2(sK0(sK1))) )
              )

             | 
            ? [X2] : 
              (
                ( X0=founding_rate(efficient_producers,sK2(sK0(sK1))) & X1=founding_rate(X2,sK2(sK0(sK1))) )
              )

             | 
              (
                ( X0=founding_rate(first_movers,sK2(sK0(sK1))) & X1=founding_rate(first_movers,sK2(sK0(sK1))) )
              )

             | 
            ? [X2] : 
              (
                ( X0=founding_rate(X2,sK2(sK0(sK1))) & X1=founding_rate(efficient_producers,sK2(sK0(sK1))) )
              )

             | 
            ? [X2] : 
              (
                ( X0=founding_rate(X2,sK2(sK0(sK1))) & X1=founding_rate(X2,sK2(sK0(sK1))) )
              )

             | 
            ? [X2,X3] : 
              (
                ( X0=founding_rate(X2,sK2(sK0(sK1))) & X1=founding_rate(X3,sK2(sK0(sK1))) )
               &
                ( X2!=first_movers )
               &
                ( X3!=first_movers )
              )

             | 
              (
                ( X1=X0 )
               &
                ( X0!=sK1 )
               &
                ( X0!=first_movers )
               &
                ( X0!=sK3 )
               &
                ( X0!=sK4 )
               &
                ! [X2] : ( X0!=founding_rate(X0,X2) )
               &
                ( X0!=sK0(sK1) )
               &
                ( X0!=sK2(sK0(sK1)) )
               &
                ( X0!=founding_rate(efficient_producers,sK2(sK0(sK1))) )
               &
                ( X0!=founding_rate(first_movers,sK2(sK0(sK1))) )
               &
                ( X0!=founding_rate(X0,sK2(sK0(sK1))) )
              )

           )
      )
    )
   ).

%------ Positive definition of stable 
fof(lit_def,axiom,
    (! [X0] : 
      ( stable(X0) <=>
           (
              (
                ( X0=sK1 )
              )

           )
      )
    )
   ).

%------ Positive definition of environment 
fof(lit_def,axiom,
    (! [X0] : 
      ( environment(X0) <=>
           (
              (
                ( X0=sK1 )
              )

             | 
              (
                ( X0=sK3 )
              )

           )
      )
    )
   ).

%------ Positive definition of in_environment 
fof(lit_def,axiom,
    (! [X0,X1] : 
      ( in_environment(X0,X1) <=>
           (
              (
                ( X0=sK1 & X1=sK0(sK1) )
              )

           )
      )
    )
   ).

%------ Positive definition of subpopulations 
fof(lit_def,axiom,
    (! [X0,X1,X2,X3] : 
      ( subpopulations(X0,X1,X2,X3) <=>
           (
              (
                ( X0=first_movers & X1=efficient_producers & X2=sK1 & X3=sK2(sK0(sK1)) )
              )

             | 
              (
                ( X0=first_movers & X1=efficient_producers & X2=sK3 & X3=sK4 )
              )

             | 
              (
                ( X0=first_movers & X2=sK1 & X3=sK2(sK0(sK1)) )
              )

             | 
              (
                ( X0=first_movers & X2=sK3 & X3=sK4 )
              )

           )
      )
    )
   ).

%------ Positive definition of greater_or_equal 
fof(lit_def,axiom,
    (! [X0,X1] : 
      ( greater_or_equal(X0,X1) <=>
           (
              (
                ( X0=sK2(sK0(sK1)) & X1=sK0(sK1) )
              )

             | 
              (
                ( X0=founding_rate(efficient_producers,sK2(sK0(sK1))) & X1=founding_rate(first_movers,sK2(sK0(sK1))) )
              )

             | 
            ? [X2] : 
              (
                ( X0=founding_rate(X2,sK2(sK0(sK1))) & X1=founding_rate(first_movers,sK2(sK0(sK1))) )
               &
                ( X2!=first_movers )
              )

           )
      )
    )
   ).

%------ Positive definition of greater 
fof(lit_def,axiom,
    (! [X0,X1] : 
      ( greater(X0,X1) <=>
           (
              (
                ( X0=sK2(sK0(sK1)) & X1=sK0(sK1) )
              )

             | 
              (
                ( X0=founding_rate(efficient_producers,sK2(sK0(sK1))) & X1=founding_rate(first_movers,sK2(sK0(sK1))) )
              )

             | 
            ? [X2] : 
              (
                ( X0=founding_rate(X2,sK2(sK0(sK1))) & X1=founding_rate(first_movers,sK2(sK0(sK1))) )
              )

           )
      )
    )
   ).


% SZS output end Model 

Sample solution for SWV010+1

No model output


leanCoP 2.2

Jens Otten
University of Potsdam, Germany

Sample solution for SYN075+1

SYN075+1.p is a Theorem
Start of proof for SYN075+1.p
------------------------------------------------------
Proof for the following clauses:
 (1)  [-8^[_G4118, _G3065], big_f(6^[_G4118, _G3065], 3^[_G3065])]
 (2)  [-8^[_G4118, _G3065], - (6^[_G4118, _G3065]=_G4118)]
 (3)  [-7^[_G4118, _G3065], 6^[_G4118, _G3065]=_G4118]
 (4)  [-7^[_G4118, _G3065], -big_f(6^[_G4118, _G3065], 3^[_G3065])]
 (5)  [-9^[_G3065], 7^[_G4118, _G3065], 8^[_G4118, _G3065]]
 (6)  [-9^[_G3065], - (3^[_G3065]=_G3065)]
 (7)  [-5^[_G3065], -big_f(_G4200, 3^[_G3065]), _G4200=4^[_G3065]]
 (8)  [-5^[_G3065], big_f(_G4200, 3^[_G3065]), - (_G4200=4^[_G3065])]
 (9)  [-5^[_G3065], 3^[_G3065]=_G3065]
 (10)  [9^[_G3065], 5^[_G3065]]
 (11)  [big_f(_G3930, _G3935), - (_G3930=1^[])]
 (12)  [big_f(_G3930, _G3935), - (_G3935=2^[])]
 (13)  [-big_f(_G3930, _G3935), _G3930=1^[], _G3935=2^[]]
 (14)  [-big_f(_G2002, _G2143), big_f(_G1933, _G2072), _G1933=_G2002, _G2072=_G2143]
 (15)  [- (_G1148=_G1148)]
 (16)  [_G1249=_G1296, - (_G1296=_G1249)]
 (17)  [- (_G1486=_G1603), _G1486=_G1544, _G1544=_G1603]

Connection Proof:
-----------------
1  [9^[2^[]], 5^[2^[]]]   (10)  substitution:[[_G3065], [2^[]]]
1.1  [-9^[2^[]], 7^[1^[], 2^[]], 8^[1^[], 2^[]]]   (5)  substitution:[[_G3065, _G4118], [2^[], 1^[]]]
1.1.1  [-7^[1^[], 2^[]], 6^[1^[], 2^[]]=1^[]]   (3)  substitution:[[_G4118, _G3065], [1^[], 2^[]]]
1.1.1.1  [- (6^[1^[], 2^[]]=1^[]), big_f(6^[1^[], 2^[]], 3^[2^[]])]   (11)  substitution:[[_G3930, _G3935], [6^[1^[], 2^[]], 3^[2^[]]]]
1.1.1.1.1  [-big_f(6^[1^[], 2^[]], 3^[2^[]]), -7^[1^[], 2^[]]]   (4)  substitution:[[_G4118, _G3065], [1^[], 2^[]]]
1.1.1.1.1.1  [7^[1^[], 2^[]]]   (reduction:1.1)  
1.1.2  [-8^[1^[], 2^[]], big_f(6^[1^[], 2^[]], 3^[2^[]])]   (1)  substitution:[[_G4118, _G3065], [1^[], 2^[]]]
1.1.2.1  [-big_f(6^[1^[], 2^[]], 3^[2^[]]), 6^[1^[], 2^[]]=1^[], 3^[2^[]]=2^[]]   (13)  substitution:[[_G3930, _G3935], [6^[1^[], 2^[]], 3^[2^[]]]]
1.1.2.1.1  [- (6^[1^[], 2^[]]=1^[]), -8^[1^[], 2^[]]]   (2)  substitution:[[_G4118, _G3065], [1^[], 2^[]]]
1.1.2.1.1.1  [8^[1^[], 2^[]]]   (reduction:1.1)  
1.1.2.1.2  [- (3^[2^[]]=2^[]), -9^[2^[]]]   (6)  substitution:[[_G3065], [2^[]]]
1.1.2.1.2.1  [9^[2^[]]]   (reduction:1)  
1.2  [-5^[2^[]], -big_f(4^[2^[]], 3^[2^[]]), 4^[2^[]]=4^[2^[]]]   (7)  substitution:[[_G3065, _G4200], [2^[], 4^[2^[]]]]
1.2.1  [big_f(4^[2^[]], 3^[2^[]]), - (3^[2^[]]=2^[])]   (12)  substitution:[[_G3930, _G3935], [4^[2^[]], 3^[2^[]]]]
1.2.1.1  [3^[2^[]]=2^[], -5^[2^[]]]   (9)  substitution:[[_G3065], [2^[]]]
1.2.1.1.1  [5^[2^[]]]   (reduction:1)  
1.2.2  [- (4^[2^[]]=4^[2^[]])]   (15)  substitution:[[_G1148], [4^[2^[]]]]
------------------------------------------------------
End of proof for SYN075+1.p


LEO-II 1.2

Christoph Benzmüller1, Frank Theiss2
1Articulate Software, USA, 2Saarland University, Germany

Sample solution for SYN075+1

% SZS output start CNFRefutation
 thf(1,axiom,(?[Z:$i,W:$i]: (![X:$i,Y:$i]: (((big_f@X)@Y) <=> ((X = Z) & (Y = W))))),file('SYN075^1.p',pel52_1)).
 thf(2,conjecture,(?[W:$i]: (![Y:$i]: ((?[Z:$i]: (![X:$i]: (((big_f@X)@Y) <=> (X = Z)))) <=> (Y = W)))),file('SYN075^1.p',pel52)).
 thf(3,negated_conjecture,(((?[W:$i]: (![Y:$i]: ((?[Z:$i]: (![X:$i]: (((big_f@X)@Y) <=> (X = Z)))) <=> (Y = W))))=$false)),inference(negate_conjecture,[],[2])).
 thf(4,plain,(((~ (?[W:$i]: (![Y:$i]: ((?[Z:$i]: (![X:$i]: (((big_f@X)@Y) <=> (X = Z)))) <=> (Y = W)))))=$true)),inference(polarity_switch,[status(thm)],[3])).
 thf(5,plain,(((![W:$i]: (((~ ((sK1@W) = W)) | (![Vx0:$i]: (((~ (((sK3@Vx0)@W) = Vx0)) | (~ ((big_f@((sK3@Vx0)@W))@(sK1@W)))) & ((((sK3@Vx0)@W) = Vx0) | ((big_f@((sK3@Vx0)@W))@(sK1@W)))))) & (((sK1@W) = W) | ((![Vx5:$i]: ((~ (Vx5 = (sK2@W))) | ((big_f@Vx5)@(sK1@W)))) & (![Vx6:$i]: ((~ ((big_f@Vx6)@(sK1@W))) | (Vx6 = (sK2@W))))))))=$true)),inference(standard_extcnf,[status(thm)],[4])).
 thf(6,plain,((((![Vx14:$i,Vx15:$i]: (((~ (Vx14 = sK4)) | (~ (Vx15 = sK5))) | ((big_f@Vx14)@Vx15))) & ((![Vx10:$i]: ((![Y:$i]: (~ ((big_f@Vx10)@Y))) | (Vx10 = sK4))) & (![Vx18:$i,Vx19:$i]: ((~ ((big_f@Vx18)@Vx19)) | (Vx19 = sK5)))))=$true)),inference(standard_extcnf,[status(thm)],[1])).
 thf(7,plain,((((![Vx14:$i,Vx15:$i]: (((~ (Vx14 = sK4)) | (~ (Vx15 = sK5))) | ((big_f@Vx14)@Vx15))) & ((![Vx10:$i]: ((![Y:$i]: (~ ((big_f@Vx10)@Y))) | (Vx10 = sK4))) & (![Vx18:$i,Vx19:$i]: ((~ ((big_f@Vx18)@Vx19)) | (Vx19 = sK5)))))=$true)),inference(copy,[status(thm)],[6])).
 thf(8,plain,(((![W:$i]: (((~ ((sK1@W) = W)) | (![Vx0:$i]: (((~ (((sK3@Vx0)@W) = Vx0)) | (~ ((big_f@((sK3@Vx0)@W))@(sK1@W)))) & ((((sK3@Vx0)@W) = Vx0) | ((big_f@((sK3@Vx0)@W))@(sK1@W)))))) & (((sK1@W) = W) | ((![Vx5:$i]: ((~ (Vx5 = (sK2@W))) | ((big_f@Vx5)@(sK1@W)))) & (![Vx6:$i]: ((~ ((big_f@Vx6)@(sK1@W))) | (Vx6 = (sK2@W))))))))=$true)),inference(copy,[status(thm)],[5])).
 thf(9,plain,(((![SV0:$i]: (~ ((~ ((~ ((sK1@SV0) = SV0)) | (![SV1:$i]: (~ ((~ ((~ (((sK3@SV1)@SV0) = SV1)) | (~ ((big_f@((sK3@SV1)@SV0))@(sK1@SV0))))) | (~ ((((sK3@SV1)@SV0) = SV1) | ((big_f@((sK3@SV1)@SV0))@(sK1@SV0))))))))) | (~ (((sK1@SV0) = SV0) | (~ ((~ (![SV1:$i]: ((~ (SV1 = (sK2@SV0))) | ((big_f@SV1)@(sK1@SV0))))) | (~ (![SV1:$i]: ((~ ((big_f@SV1)@(sK1@SV0))) | (SV1 = (sK2@SV0))))))))))))=$true)),inference(unfold_def,[status(thm)],[8])).
 thf(10,plain,(((~ ((~ (![SV0:$i,SV1:$i]: (((~ (SV0 = sK4)) | (~ (SV1 = sK5))) | ((big_f@SV0)@SV1)))) | (~ (~ ((~ (![SV0:$i]: ((![SV1:$i]: (~ ((big_f@SV0)@SV1))) | (SV0 = sK4)))) | (~ (![SV0:$i,SV1:$i]: ((~ ((big_f@SV0)@SV1)) | (SV1 = sK5)))))))))=$true)),inference(unfold_def,[status(thm)],[7])).
 thf(11,plain,(![SV1:$i]: (((~ ((~ ((~ ((sK1@SV1) = SV1)) | (![Vx20:$i]: (~ ((~ ((~ (((sK3@Vx20)@SV1) = Vx20)) | (~ ((big_f@((sK3@Vx20)@SV1))@(sK1@SV1))))) | (~ ((((sK3@Vx20)@SV1) = Vx20) | ((big_f@((sK3@Vx20)@SV1))@(sK1@SV1))))))))) | (~ (((sK1@SV1) = SV1) | (~ ((~ (![Vx21:$i]: ((~ (Vx21 = (sK2@SV1))) | ((big_f@Vx21)@(sK1@SV1))))) | (~ (![Vx22:$i]: ((~ ((big_f@Vx22)@(sK1@SV1))) | (Vx22 = (sK2@SV1)))))))))))=$true))),inference(extcnf,[status(thm)],[9])).
 thf(12,plain,((((~ (![SV0:$i,SV1:$i]: (((~ (SV0 = sK4)) | (~ (SV1 = sK5))) | ((big_f@SV0)@SV1)))) | (~ (~ ((~ (![SV0:$i]: ((![SV1:$i]: (~ ((big_f@SV0)@SV1))) | (SV0 = sK4)))) | (~ (![SV0:$i,SV1:$i]: ((~ ((big_f@SV0)@SV1)) | (SV1 = sK5))))))))=$false)),inference(extcnf,[status(thm)],[10])).
 thf(13,plain,(![SV1:$i]: ((((~ ((~ ((sK1@SV1) = SV1)) | (![Vx20:$i]: (~ ((~ ((~ (((sK3@Vx20)@SV1) = Vx20)) | (~ ((big_f@((sK3@Vx20)@SV1))@(sK1@SV1))))) | (~ ((((sK3@Vx20)@SV1) = Vx20) | ((big_f@((sK3@Vx20)@SV1))@(sK1@SV1))))))))) | (~ (((sK1@SV1) = SV1) | (~ ((~ (![Vx21:$i]: ((~ (Vx21 = (sK2@SV1))) | ((big_f@Vx21)@(sK1@SV1))))) | (~ (![Vx22:$i]: ((~ ((big_f@Vx22)@(sK1@SV1))) | (Vx22 = (sK2@SV1))))))))))=$false))),inference(extcnf,[status(thm)],[11])).
 thf(14,plain,(((~ (~ ((~ (![SV0:$i]: ((![SV1:$i]: (~ ((big_f@SV0)@SV1))) | (SV0 = sK4)))) | (~ (![SV0:$i,SV1:$i]: ((~ ((big_f@SV0)@SV1)) | (SV1 = sK5)))))))=$false)),inference(extcnf,[status(thm)],[12])).
 thf(15,plain,(((~ (![SV0:$i,SV1:$i]: (((~ (SV0 = sK4)) | (~ (SV1 = sK5))) | ((big_f@SV0)@SV1))))=$false)),inference(extcnf,[status(thm)],[12])).
 thf(16,plain,(![SV1:$i]: (((~ (((sK1@SV1) = SV1) | (~ ((~ (![Vx21:$i]: ((~ (Vx21 = (sK2@SV1))) | ((big_f@Vx21)@(sK1@SV1))))) | (~ (![Vx22:$i]: ((~ ((big_f@Vx22)@(sK1@SV1))) | (Vx22 = (sK2@SV1)))))))))=$false))),inference(extcnf,[status(thm)],[13])).
 thf(17,plain,(![SV1:$i]: (((~ ((~ ((sK1@SV1) = SV1)) | (![Vx20:$i]: (~ ((~ ((~ (((sK3@Vx20)@SV1) = Vx20)) | (~ ((big_f@((sK3@Vx20)@SV1))@(sK1@SV1))))) | (~ ((((sK3@Vx20)@SV1) = Vx20) | ((big_f@((sK3@Vx20)@SV1))@(sK1@SV1)))))))))=$false))),inference(extcnf,[status(thm)],[13])).
 thf(18,plain,(((![SV0:$i,SV1:$i]: (((~ (SV0 = sK4)) | (~ (SV1 = sK5))) | ((big_f@SV0)@SV1)))=$true)),inference(extcnf,[status(thm)],[15])).
 thf(19,plain,(((~ ((~ (![SV0:$i]: ((![SV1:$i]: (~ ((big_f@SV0)@SV1))) | (SV0 = sK4)))) | (~ (![SV0:$i,SV1:$i]: ((~ ((big_f@SV0)@SV1)) | (SV1 = sK5))))))=$true)),inference(extcnf,[status(thm)],[14])).
 thf(20,plain,(![SV1:$i]: ((((~ ((sK1@SV1) = SV1)) | (![Vx20:$i]: (~ ((~ ((~ (((sK3@Vx20)@SV1) = Vx20)) | (~ ((big_f@((sK3@Vx20)@SV1))@(sK1@SV1))))) | (~ ((((sK3@Vx20)@SV1) = Vx20) | ((big_f@((sK3@Vx20)@SV1))@(sK1@SV1))))))))=$true))),inference(extcnf,[status(thm)],[17])).
 thf(21,plain,(![SV1:$i]: (((((sK1@SV1) = SV1) | (~ ((~ (![Vx21:$i]: ((~ (Vx21 = (sK2@SV1))) | ((big_f@Vx21)@(sK1@SV1))))) | (~ (![Vx22:$i]: ((~ ((big_f@Vx22)@(sK1@SV1))) | (Vx22 = (sK2@SV1))))))))=$true))),inference(extcnf,[status(thm)],[16])).
 thf(22,plain,(![SV2:$i]: (((![Vx23:$i]: (((~ (SV2 = sK4)) | (~ (Vx23 = sK5))) | ((big_f@SV2)@Vx23)))=$true))),inference(extcnf,[status(thm)],[18])).
 thf(23,plain,((((~ (![SV0:$i]: ((![SV1:$i]: (~ ((big_f@SV0)@SV1))) | (SV0 = sK4)))) | (~ (![SV0:$i,SV1:$i]: ((~ ((big_f@SV0)@SV1)) | (SV1 = sK5)))))=$false)),inference(extcnf,[status(thm)],[19])).
 thf(24,plain,(![SV1:$i]: (((~ ((sK1@SV1) = SV1))=$true) | ((![Vx20:$i]: (~ ((~ ((~ (((sK3@Vx20)@SV1) = Vx20)) | (~ ((big_f@((sK3@Vx20)@SV1))@(sK1@SV1))))) | (~ ((((sK3@Vx20)@SV1) = Vx20) | ((big_f@((sK3@Vx20)@SV1))@(sK1@SV1)))))))=$true))),inference(extcnf,[status(thm)],[20])).
 thf(25,plain,(![SV1:$i]: ((((sK1@SV1) = SV1)=$true) | ((~ ((~ (![Vx21:$i]: ((~ (Vx21 = (sK2@SV1))) | ((big_f@Vx21)@(sK1@SV1))))) | (~ (![Vx22:$i]: ((~ ((big_f@Vx22)@(sK1@SV1))) | (Vx22 = (sK2@SV1)))))))=$true))),inference(extcnf,[status(thm)],[21])).
 thf(26,plain,(![SV3:$i,SV2:$i]: (((((~ (SV2 = sK4)) | (~ (SV3 = sK5))) | ((big_f@SV2)@SV3))=$true))),inference(extcnf,[status(thm)],[22])).
 thf(27,plain,(((~ (![SV0:$i,SV1:$i]: ((~ ((big_f@SV0)@SV1)) | (SV1 = sK5))))=$false)),inference(extcnf,[status(thm)],[23])).
 thf(28,plain,(((~ (![SV0:$i]: ((![SV1:$i]: (~ ((big_f@SV0)@SV1))) | (SV0 = sK4))))=$false)),inference(extcnf,[status(thm)],[23])).
 thf(29,plain,(![SV1:$i,SV4:$i]: (((~ ((~ ((~ (((sK3@SV4)@SV1) = SV4)) | (~ ((big_f@((sK3@SV4)@SV1))@(sK1@SV1))))) | (~ ((((sK3@SV4)@SV1) = SV4) | ((big_f@((sK3@SV4)@SV1))@(sK1@SV1))))))=$true) | ((~ ((sK1@SV1) = SV1))=$true))),inference(extcnf,[status(thm)],[24])).
 thf(30,plain,(![SV1:$i]: ((((~ (![Vx21:$i]: ((~ (Vx21 = (sK2@SV1))) | ((big_f@Vx21)@(sK1@SV1))))) | (~ (![Vx22:$i]: ((~ ((big_f@Vx22)@(sK1@SV1))) | (Vx22 = (sK2@SV1))))))=$false) | (((sK1@SV1) = SV1)=$true))),inference(extcnf,[status(thm)],[25])).
 thf(31,plain,(![SV3:$i,SV2:$i]: ((((~ (SV2 = sK4)) | (~ (SV3 = sK5)))=$true) | (((big_f@SV2)@SV3)=$true))),inference(extcnf,[status(thm)],[26])).
 thf(32,plain,(((![SV0:$i]: ((![SV1:$i]: (~ ((big_f@SV0)@SV1))) | (SV0 = sK4)))=$true)),inference(extcnf,[status(thm)],[28])).
 thf(33,plain,(((![SV0:$i,SV1:$i]: ((~ ((big_f@SV0)@SV1)) | (SV1 = sK5)))=$true)),inference(extcnf,[status(thm)],[27])).
 thf(34,plain,(![SV4:$i,SV1:$i]: ((((sK1@SV1) = SV1)=$false) | ((~ ((~ ((~ (((sK3@SV4)@SV1) = SV4)) | (~ ((big_f@((sK3@SV4)@SV1))@(sK1@SV1))))) | (~ ((((sK3@SV4)@SV1) = SV4) | ((big_f@((sK3@SV4)@SV1))@(sK1@SV1))))))=$true))),inference(extcnf,[status(thm)],[29])).
 thf(36,plain,(![SV1:$i]: (((~ (![Vx21:$i]: ((~ (Vx21 = (sK2@SV1))) | ((big_f@Vx21)@(sK1@SV1)))))=$false) | (((sK1@SV1) = SV1)=$true))),inference(extcnf,[status(thm)],[30])).
 thf(37,plain,(![SV3:$i,SV2:$i]: (((~ (SV2 = sK4))=$true) | ((~ (SV3 = sK5))=$true) | (((big_f@SV2)@SV3)=$true))),inference(extcnf,[status(thm)],[31])).
 thf(38,plain,(![SV5:$i]: ((((![Vx24:$i]: (~ ((big_f@SV5)@Vx24))) | (SV5 = sK4))=$true))),inference(extcnf,[status(thm)],[32])).
 thf(39,plain,(![SV6:$i]: (((![Vx25:$i]: ((~ ((big_f@SV6)@Vx25)) | (Vx25 = sK5)))=$true))),inference(extcnf,[status(thm)],[33])).
 thf(40,plain,(![SV1:$i,SV4:$i]: ((((~ ((~ (((sK3@SV4)@SV1) = SV4)) | (~ ((big_f@((sK3@SV4)@SV1))@(sK1@SV1))))) | (~ ((((sK3@SV4)@SV1) = SV4) | ((big_f@((sK3@SV4)@SV1))@(sK1@SV1)))))=$false) | (((sK1@SV1) = SV1)=$false))),inference(extcnf,[status(thm)],[34])).
 thf(41,plain,(![SV1:$i]: (((![Vx21:$i]: ((~ (Vx21 = (sK2@SV1))) | ((big_f@Vx21)@(sK1@SV1))))=$true) | (((sK1@SV1) = SV1)=$true))),inference(extcnf,[status(thm)],[36])).
 thf(43,plain,(![SV3:$i,SV2:$i]: (((SV2 = sK4)=$false) | ((~ (SV3 = sK5))=$true) | (((big_f@SV2)@SV3)=$true))),inference(extcnf,[status(thm)],[37])).
 thf(44,plain,(![SV5:$i]: (((![Vx24:$i]: (~ ((big_f@SV5)@Vx24)))=$true) | ((SV5 = sK4)=$true))),inference(extcnf,[status(thm)],[38])).
 thf(45,plain,(![SV7:$i,SV6:$i]: ((((~ ((big_f@SV6)@SV7)) | (SV7 = sK5))=$true))),inference(extcnf,[status(thm)],[39])).
 thf(46,plain,(![SV1:$i,SV4:$i]: (((~ ((((sK3@SV4)@SV1) = SV4) | ((big_f@((sK3@SV4)@SV1))@(sK1@SV1))))=$false) | (((sK1@SV1) = SV1)=$false))),inference(extcnf,[status(thm)],[40])).
 thf(47,plain,(![SV1:$i,SV4:$i]: (((~ ((~ (((sK3@SV4)@SV1) = SV4)) | (~ ((big_f@((sK3@SV4)@SV1))@(sK1@SV1)))))=$false) | (((sK1@SV1) = SV1)=$false))),inference(extcnf,[status(thm)],[40])).
 thf(48,plain,(![SV1:$i,SV8:$i]: ((((~ (SV8 = (sK2@SV1))) | ((big_f@SV8)@(sK1@SV1)))=$true) | (((sK1@SV1) = SV1)=$true))),inference(extcnf,[status(thm)],[41])).
 thf(50,plain,(![SV2:$i,SV3:$i]: (((SV3 = sK5)=$false) | ((SV2 = sK4)=$false) | (((big_f@SV2)@SV3)=$true))),inference(extcnf,[status(thm)],[43])).
 thf(51,plain,(![SV10:$i,SV5:$i]: (((~ ((big_f@SV5)@SV10))=$true) | ((SV5 = sK4)=$true))),inference(extcnf,[status(thm)],[44])).
 thf(52,plain,(![SV7:$i,SV6:$i]: (((~ ((big_f@SV6)@SV7))=$true) | ((SV7 = sK5)=$true))),inference(extcnf,[status(thm)],[45])).
 thf(53,plain,(![SV1:$i,SV4:$i]: ((((~ (((sK3@SV4)@SV1) = SV4)) | (~ ((big_f@((sK3@SV4)@SV1))@(sK1@SV1))))=$true) | (((sK1@SV1) = SV1)=$false))),inference(extcnf,[status(thm)],[47])).
 thf(54,plain,(![SV1:$i,SV4:$i]: ((((((sK3@SV4)@SV1) = SV4) | ((big_f@((sK3@SV4)@SV1))@(sK1@SV1)))=$true) | (((sK1@SV1) = SV1)=$false))),inference(extcnf,[status(thm)],[46])).
 thf(55,plain,(![SV1:$i,SV8:$i]: (((~ (SV8 = (sK2@SV1)))=$true) | (((big_f@SV8)@(sK1@SV1))=$true) | (((sK1@SV1) = SV1)=$true))),inference(extcnf,[status(thm)],[48])).
 thf(57,plain,(![SV10:$i,SV5:$i]: ((((big_f@SV5)@SV10)=$false) | ((SV5 = sK4)=$true))),inference(extcnf,[status(thm)],[51])).
 thf(58,plain,(![SV7:$i,SV6:$i]: ((((big_f@SV6)@SV7)=$false) | ((SV7 = sK5)=$true))),inference(extcnf,[status(thm)],[52])).
 thf(59,plain,(![SV1:$i,SV4:$i]: (((~ (((sK3@SV4)@SV1) = SV4))=$true) | ((~ ((big_f@((sK3@SV4)@SV1))@(sK1@SV1)))=$true) | (((sK1@SV1) = SV1)=$false))),inference(extcnf,[status(thm)],[53])).
 thf(60,plain,(![SV1:$i,SV4:$i]: (((((sK3@SV4)@SV1) = SV4)=$true) | (((big_f@((sK3@SV4)@SV1))@(sK1@SV1))=$true) | (((sK1@SV1) = SV1)=$false))),inference(extcnf,[status(thm)],[54])).
 thf(61,plain,(![SV1:$i,SV8:$i]: (((SV8 = (sK2@SV1))=$false) | (((sK1@SV1) = SV1)=$true) | (((big_f@SV8)@(sK1@SV1))=$true))),inference(extcnf,[status(thm)],[55])).
 thf(63,plain,(![SV1:$i,SV4:$i]: (((((sK3@SV4)@SV1) = SV4)=$false) | ((~ ((big_f@((sK3@SV4)@SV1))@(sK1@SV1)))=$true) | (((sK1@SV1) = SV1)=$false))),inference(extcnf,[status(thm)],[59])).
 thf(64,plain,(![SV1:$i,SV4:$i]: ((((big_f@((sK3@SV4)@SV1))@(sK1@SV1))=$false) | (((sK1@SV1) = SV1)=$false) | ((((sK3@SV4)@SV1) = SV4)=$false))),inference(extcnf,[status(thm)],[63])).
 thf(65,plain,((($false)=$true)),inference(fo_atp_e,[status(thm)],[64,50,61,60,58,57])).
 thf(66,plain,($false),inference(solved_all_splitted_problems,[status(thm)],[65])).
% SZS output end CNFRefutation


Metis 2.2

Joe Hurd
Galois, Inc., USA

Metis uses the following proof steps ...

(* ========================================================================= *)
(* A LOGICAL KERNEL FOR FIRST ORDER CLAUSAL THEOREMS                         *)
(* Copyright (c) 2001 Joe Hurd, distributed under the GNU GPL version 2      *)
(* ========================================================================= *)

signature Thm =
sig

(* ------------------------------------------------------------------------- *)
(* An abstract type of first order logic theorems.                           *)
(* ------------------------------------------------------------------------- *)

type thm

(* ------------------------------------------------------------------------- *)
(* Primitive rules of inference.                                             *)
(* ------------------------------------------------------------------------- *)

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

val axiom : clause -> thm

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

val assume : literal -> thm

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

val 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 -> thm -> thm -> thm

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

val refl : 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 -> path -> term -> thm

end

Sample solution for SYN075+1

SZS status Theorem for data/problems/all/SYN075+1.tptp

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,
    (! [W] :
       ? [Y] : (Y != W <=> ? [Z] : ! [X] : (X != Z <=> ~ big_f(X, Y)))),
    inference(specialize, [], [normalize_0_0])).

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

fof(normalize_0_3, plain,
    (! [W, X, Z] :
       ((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,
    (! [W, Z] :
       (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,
    (! [X, Y] :
       (~ big_f(X, Y) <=>
        (X != skolemFOFtoCNF_Z | Y != skolemFOFtoCNF_W))),
    inference(specialize, [], [normalize_0_6])).

fof(normalize_0_8, plain,
    (! [X, Y] :
       ((~ 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,
    (! [X, Y] : (~ big_f(X, Y) | X = skolemFOFtoCNF_Z)),
    inference(conjunct, [], [normalize_0_8])).

fof(normalize_0_10, plain,
    (! [W, Z] :
       (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,
    (! [X, Y] : (~ big_f(X, Y) | Y = skolemFOFtoCNF_W)),
    inference(conjunct, [], [normalize_0_8])).

fof(normalize_0_12, plain,
    (! [W, X] :
       (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, Y] :
       (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, X_21), skolemFOFtoCNF_W) |
     skolemFOFtoCNF_X(skolemFOFtoCNF_W, X_21) = skolemFOFtoCNF_Z),
    inference(subst, [],
              [refute_0_6 :
               [bind(X, $fot(skolemFOFtoCNF_X(skolemFOFtoCNF_W, X_21))),
                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, X_20) = X_20 |
     big_f(skolemFOFtoCNF_X(skolemFOFtoCNF_W, X_20), skolemFOFtoCNF_W)),
    inference(subst, [],
              [refute_0_10 :
               [bind(W, $fot(skolemFOFtoCNF_W)), bind(Z, $fot(X_20))]])).

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(X_4), skolemFOFtoCNF_Y(X_4)) |
     skolemFOFtoCNF_Y(X_4) = skolemFOFtoCNF_W),
    inference(subst, [],
              [refute_0_12 :
               [bind(X, $fot(skolemFOFtoCNF_Z_1(X_4))),
                bind(Y, $fot(skolemFOFtoCNF_Y(X_4)))]])).

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(X_4) = X_4 |
     big_f(skolemFOFtoCNF_Z_1(X_4), skolemFOFtoCNF_Y(X_4))),
    inference(subst, [], [refute_0_17 : [bind(W, $fot(X_4))]])).

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

cnf(refute_0_20, plain,
    (skolemFOFtoCNF_Y(skolemFOFtoCNF_W) = skolemFOFtoCNF_W),
    inference(subst, [],
              [refute_0_19 : [bind(X_4, $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, X_20) = X_20 |
     big_f(skolemFOFtoCNF_X(skolemFOFtoCNF_W, X_20), 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, X_20) = X_20 |
     big_f(skolemFOFtoCNF_X(skolemFOFtoCNF_W, X_20), 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, X_21) = X_21 |
     big_f(skolemFOFtoCNF_X(skolemFOFtoCNF_W, X_21), skolemFOFtoCNF_W)),
    inference(subst, [], [refute_0_25 : [bind(X_20, $fot(X_21))]])).

cnf(refute_0_27, plain,
    (skolemFOFtoCNF_X(skolemFOFtoCNF_W, X_21) = X_21 |
     skolemFOFtoCNF_X(skolemFOFtoCNF_W, X_21) = skolemFOFtoCNF_Z),
    inference(resolve,
              [$cnf(big_f(skolemFOFtoCNF_X(skolemFOFtoCNF_W, X_21),
                      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(X_21, $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 SYN075+1

SZS status CounterSatisfiable for data/problems/all/MGT019+2.tptp

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


Muscadet 4.0

Dominique Pastre
University Paris Descartes, France

Sample solution for SYN075+1

ZS status Theorem for SYN075+1.p

SZS output start proof for SYN075+1.p

* * * * * * * * * * * * * * * * * * * * * * * *
in the following, N is the number of a (sub)theorem
       E is the current step
         or the step when a hypothesis or conclusion has been added or modified
hyp(N,H,E) means that H is an hypothesis of (sub)theorem N
concl(N,C,E) means that C is the conclusion of (sub)theorem N
obj_ct(N,C) means that C is a created object or a given constant
addhyp(N,H,E) means add H as a new hypothesis for N
newconcl(N,C,E) means that the new conclusion of N is C
           (C replaces the precedent conclusion)
a subtheorem N-i or N+i is a subtheorem of the (sub)theorem N
   N is proved if all N-i have been proved (&-node)
             or if one N+i have been proved (|-node)
the initial theorem is numbered 0

* * * theorem to be proved
?[D]:![B]: (?[C]:![A]: (big_f(A, B)<=>A=C)<=>B=D)

* * * proof :

* * * * * * theoreme 0 * * * * * *
*** newconcl(0, ?[D]:![B]: (?[C]:![A]: (big_f(A, B)<=>A=C)<=>B=D), 1) 
*** explanation : initial theorem
------------------------------------------------------- action ini 
*** addhyp(0, ?[C, D]:![A, B]: (big_f(A, B)<=>A=C&B=D), 2) 
*** explanation : rule addhyp(_, ?[C, D]:![A, B]: (big_f(A, B)<=>A=C&B=D), _) 
built from the axiom pel52_1 
------------------------------------------------------- rule pel52_1_exist 
create object(s) z2 z1  
*** addhyp(0, ![A, B]: (big_f(A, B)<=>A=z1&B=z2), 3) 
*** because hyp(0, ?[C, D]:![A, B]: (big_f(A, B)<=>A=C&B=D), 2) 
*** explanation : treatment of the existential hypothesis
------------------------------------------------------- rule hyp_exi 
*** addhyp(0, big_f(z1, z2), 4) 
*** because obj_ct(0, z1), obj_ct(0, z2) 
*** explanation : the rule r_hyp__3__2 : if (obj_ct(A, z1), obj_ct(A, z2))then a
ddhyp(A, big_f(z1, z2), _) 
is a local rule built from the universal hypothesis ![A, B]: (big_f(A, B)<=>A=z1
&B=z2) 
------------------------------------------------------- rule r_hyp__3__2 

* * * * * * creation * * * * * * sub-theoreme 0+2 * * * * * 
all the hypotheses of (sub)theorem 0 are hypotheses of subtheorem 0+2 
*** newconcl(0+2, ![B]: (?[C]:![A]: (big_f(A, B)<=>A=C)<=>B=z2), 20) 
*** because concl(0, ?[D]:![B]: (?[C]:![A]: (big_f(A, B)<=>A=C)<=>B=D), 1) 
*** explanation : z2 is tried for the existential variable 
------------------------------------------------------- action proconclexi 
create object(s) z6  
*** newconcl(0+2, ?[B]:![A]: (big_f(A, z6)<=>A=B)<=>z6=z2, 21) 
*** because concl((0, ![B]: (?[C]:![A]: (big_f(A, B)<=>A=C)<=>B=z2)), 20) 
*** explanation : the universal variable(s) of the conclusion is(are) instantiat
ed
------------------------------------------------------- rule ! 
*** newconcl(0+2, (?[B]:![A]: (big_f(A, z6)<=>A=B)=>z6=z2)& (z6=z2=> ?[B]:![A]: 
(big_f(A, z6)<=>A=B))) 
*** because concl(0+2, ?[B]:![A]: (big_f(A, z6)<=>A=B)<=>z6=z2, 21) 
*** explanation : A<=>B is replaced by (A=>B)&(B=>A)
------------------------------------------------------- rule <=> 

* * * * * * creation * * * * * * sub-theoreme 0+2-1 * * * * * 
all the hypotheses of (sub)theorem 0+2 are hypotheses of subtheorem 0+2-1 
*** newconcl(0+2-1, ?[B]:![A]: (big_f(A, z6)<=>A=B)=>z6=z2, 23) 
*** because concl(0+2, (?[B]:![A]: (big_f(A, z6)<=>A=B)=>z6=z2)& (z6=z2=> ?[B]:!
[A]: (big_f(A, z6)<=>A=B)), 22) 
*** explanation : to prove a conjunction, prove all the elements of the conjunct
ion
------------------------------------------------------- action proconj 
*** addhyp(0+2-1, ?[B]:![A]: (big_f(A, z6)<=>A=B), 24) 
*** newconcl(0+2-1, z6=z2, 24) 
*** because concl(0+2-1, ?[B]:![A]: (big_f(A, z6)<=>A=B)=>z6=z2, 23) 
*** explanation : to prove H=>C, assume H and prove C
------------------------------------------------------- rule => 
create object(s) z7  
*** addhyp(0+2-1, ![A]: (big_f(A, z6)<=>A=z7), 25) 
*** because hyp(0+2-1, ?[B]:![A]: (big_f(A, z6)<=>A=B), 24) 
*** explanation : treatment of the existential hypothesis
------------------------------------------------------- rule hyp_exi 
*** addhyp(0+2-1, big_f(z7, z6), 26) 
*** because obj_ct(0+2-1, z7) 
*** explanation : the rule r_hyp__25__1 : if obj_ct(A, z7)then addhyp(A, big_f(z
7, z6), _) 
is a local rule built from the universal hypothesis ![A]: (big_f(A, z6)<=>A=z7) 
------------------------------------------------------- rule r_hyp__25__1 
*** addhyp(0+2-1, z6=z2, 27) 
*** because hyp(0+2-1, big_f(z7, z6), 26), obj_ct(0+2-1, z7), obj_ct(0+2-1, z6) 
*** explanation : the rule r_hyp__3__1 : if (hyp(A, big_f(B, C), _), obj_ct(A, B
), obj_ct(A, C))then addhyp(A, C=z2, _) 
is a local rule built from the universal hypothesis ![A, B]: (big_f(A, B)<=>A=z1
&B=z2) 
------------------------------------------------------- rule r_hyp__3__1 
*** newconcl(0+2-1, z2=z2, 30) 
*** because hyp(0+2-1, z2=z6, 27), concl(0+2-1, z6=z2, 24) 
*** explanation : z6 is replaced by z2 in the conclusion 
------------------------------------------------------- action treatequal_concl 
*** newconcl(0+2-1, true, 31) 
*** because concl(0+2-1, z2=z2, 30) 
*** explanation : trivial conclusion
------------------------------------------------------- rule concl_stop_trivial 
*** newconcl(0+2, z6=z2=> ?[B]:![A]: (big_f(A, z6)<=>A=B), 32) 
*** because concl(0+2-1, true, 31) 
*** explanation : the conclusion ?[B]:![A]: (big_f(A, z6)<=>A=B)=>z6=z2 of (sub)
theorem 0+2 has been proved ( subtheorem/ 0+2-1 ) 
------------------------------------------------------- action returnpro 

* * * * * * creation * * * * * * sub-theoreme 0+2-2 * * * * * 
all the hypotheses of (sub)theorem 0+2 are hypotheses of subtheorem 0+2-2 
*** newconcl(0+2-2, z6=z2=> ?[B]:![A]: (big_f(A, z6)<=>A=B), 33) 
*** explanation : proof of the last element of the conjunction
------------------------------------------------------- action proconj 
*** addhyp(0+2-2, z6=z2, 34) 
*** newconcl(0+2-2, ?[B]:![A]: (big_f(A, z6)<=>A=B), 34) 
*** because concl(0+2-2, z6=z2=> ?[B]:![A]: (big_f(A, z6)<=>A=B), 33) 
*** explanation : to prove H=>C, assume H and prove C
------------------------------------------------------- rule => 
*** newconcl(0+2-2, ?[B]:![A]: (big_f(A, z2)<=>A=B), 35) 
*** because hyp(0+2-2, z2=z6, 34), concl(0+2-2, ?[B]:![A]: (big_f(A, z6)<=>A=B),
 34) 
*** explanation : z6 is replaced by z2 in the conclusion 
------------------------------------------------------- action treatequal_concl 

* * * * * * creation * * * * * * sub-theoreme 0+2-2+1 * * * * * 
all the hypotheses of (sub)theorem 0+2-2 are hypotheses of subtheorem 0+2-2+1 
*** newconcl(0+2-2+1, ![A]: (big_f(A, z2)<=>A=z1), 36) 
*** because concl(0+2-2, ?[B]:![A]: (big_f(A, z2)<=>A=B), 35) 
*** explanation : z1 is tried for the existential variable 
------------------------------------------------------- action proconclexi 
create object(s) z8  
*** newconcl(0+2-2+1, big_f(z8, z2)<=>z8=z1, 37) 
*** because concl((0, ![A]: (big_f(A, z2)<=>A=z1)), 36) 
*** explanation : the universal variable(s) of the conclusion is(are) instantiat
ed
------------------------------------------------------- rule ! 
*** newconcl(0+2-2+1, (big_f(z8, z2)=>z8=z1)& (z8=z1=>big_f(z8, z2))) 
*** because concl(0+2-2+1, big_f(z8, z2)<=>z8=z1, 37) 
*** explanation : A<=>B is replaced by (A=>B)&(B=>A)
------------------------------------------------------- rule <=> 

* * * * * * creation * * * * * * sub-theoreme 0+2-2+1-1 * * * * * 
all the hypotheses of (sub)theorem 0+2-2+1 are hypotheses of subtheorem 0+2-2+1-
1 
*** newconcl(0+2-2+1-1, big_f(z8, z2)=>z8=z1, 39) 
*** because concl(0+2-2+1, (big_f(z8, z2)=>z8=z1)& (z8=z1=>big_f(z8, z2)), 38) 
*** explanation : to prove a conjunction, prove all the elements of the conjunct
ion
------------------------------------------------------- action proconj 
*** addhyp(0+2-2+1-1, big_f(z8, z2), 40) 
*** newconcl(0+2-2+1-1, z8=z1, 40) 
*** because concl(0+2-2+1-1, big_f(z8, z2)=>z8=z1, 39) 
*** explanation : to prove H=>C, assume H and prove C
------------------------------------------------------- rule => 
*** addhyp(0+2-2+1-1, z8=z1, 41) 
*** because hyp(0+2-2+1-1, big_f(z8, z2), 40), obj_ct(0+2-2+1-1, z8), obj_ct(0+2
-2+1-1, z2) 
*** explanation : the rule r_hyp__3__ : if (hyp(A, big_f(B, C), _), obj_ct(A, B)
, obj_ct(A, C))then addhyp(A, B=z1, _) 
is a local rule built from the universal hypothesis ![A, B]: (big_f(A, B)<=>A=z1
&B=z2) 
------------------------------------------------------- rule r_hyp__3__ 
*** newconcl(0+2-2+1-1, z1=z1, 42) 
*** because hyp(0+2-2+1-1, z1=z8, 41), concl(0+2-2+1-1, z8=z1, 40) 
*** explanation : z8 is replaced by z1 in the conclusion 
------------------------------------------------------- action treatequal_concl 
*** newconcl(0+2-2+1-1, true, 43) 
*** because concl(0+2-2+1-1, z1=z1, 42) 
*** explanation : trivial conclusion
------------------------------------------------------- rule concl_stop_trivial 
*** newconcl(0+2-2+1, z8=z1=>big_f(z8, z2), 44) 
*** because concl(0+2-2+1-1, true, 43) 
*** explanation : the conclusion big_f(z8, z2)=>z8=z1 of (sub)theorem 0+2-2+1 ha
s been proved ( subtheorem/ 0+2-2+1-1 ) 
------------------------------------------------------- action returnpro 

* * * * * * creation * * * * * * sub-theoreme 0+2-2+1-2 * * * * * 
all the hypotheses of (sub)theorem 0+2-2+1 are hypotheses of subtheorem 0+2-2+1-
2 
*** newconcl(0+2-2+1-2, z8=z1=>big_f(z8, z2), 45) 
*** explanation : proof of the last element of the conjunction
------------------------------------------------------- action proconj 
*** addhyp(0+2-2+1-2, z8=z1, 46) 
*** newconcl(0+2-2+1-2, big_f(z8, z2), 46) 
*** because concl(0+2-2+1-2, z8=z1=>big_f(z8, z2), 45) 
*** explanation : to prove H=>C, assume H and prove C
------------------------------------------------------- rule => 
*** newconcl(0+2-2+1-2, big_f(z1, z2), 47) 
*** because hyp(0+2-2+1-2, z1=z8, 46), concl(0+2-2+1-2, big_f(z8, z2), 46) 
*** explanation : z8 is replaced by z1 in the conclusion 
------------------------------------------------------- action treatequal_concl 
*** newconcl(0+2-2+1-2, true, 48) 
*** because hyp(0+2-2+1-2, big_f(z1, z2), 4), concl(0+2-2+1-2, big_f(z1, z2), 47
) 
*** explanation : the conclusion big_f(z1, z2) to be proved is a hypothesis 
------------------------------------------------------- rule stop_hyp_concl 
*** newconcl(0+2-2+1, true, 49) 
*** because concl(0+2-2+1-2, true, 48) 
*** explanation : the conclusion z8=z1=>big_f(z8, z2) of (sub)theorem 0+2-2+1 ha
s been proved ( subtheorem/ 0+2-2+1-2 ) 
------------------------------------------------------- action returnpro 
*** newconcl(0+2-2, true, 50) 
*** because concl(0+2-2+1, true, 49) 
*** explanation : the conclusion of subtheorem 0+2-2 has been proved (subtheorem
 0+2-2+1 ) 
------------------------------------------------------- action returnproexi 
*** newconcl(0+2, true, 51) 
*** because concl(0+2-2, true, 50) 
*** explanation : the conclusion z6=z2=> ?[B]:![A]: (big_f(A, z6)<=>A=B) of (sub
)theorem 0+2 has been proved ( subtheorem/ 0+2-2 ) 
------------------------------------------------------- action returnpro 
*** newconcl(0, true, 52) 
*** because concl(0+2, true, 51) 
*** explanation : the conclusion of subtheorem 0 has been proved (subtheorem 0+2
 ) 
------------------------------------------------------- action returnproexi 
then the initial theorem is proved
* * * * * * * * * * * * * * * * * * * * * * * *

SZS output end proof for SYN075+1.p


Paradox 3.0 and 4.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)


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


Vampire 0.6

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

Sample solution for SYN075+1

% SZS status Theorem for SYN075+1
% SZS output start Proof for SYN075+1
fof(f509,plain,(
  $false),
  inference(subsumption_resolution,[],[f508,f145])).
fof(f145,plain,(
  big_f($sk3,$sk4)),
  inference(backtracking_split_refutation,[],[f69,f70_D,f124])).
fof(f124,plain,(
  $false | $spl1),
  inference(subsumption_resolution,[],[f123,f110])).
fof(f110,plain,(
  ( ! [X0] : (~big_f($sk3,X0)) ) | $spl1),
  inference(forward_demodulation,[],[f106,f92])).
fof(f92,plain,(
  ( ! [X0] : ($sk2($sk3,X0) = $sk3) ) | $spl1),
  inference(factoring,[],[f85])).
fof(f85,plain,(
  ( ! [X2,X3] : ($sk2(X2,X3) = X2 | $sk2(X2,X3) = $sk3) ) | $spl1),
  inference(resolution,[],[f82,f15])).
fof(f15,plain,(
  ( ! [X2,X3] : (~big_f(X2,X3) | $sk3 = X2) )),
  inference(cnf_transformation,[],[f10])).
fof(f10,plain,(
  ! [X2,X3] : ((~big_f(X2,X3) | ($sk3 = X2 & $sk4 = X3)) & ($sk3 != X2 | $sk4 != X3 | big_f(X2,X3)))),
  inference(skolemisation,[status(esa)],[f9])).
fof(f9,plain,(
  ? [X0,X1] : ! [X2,X3] : ((~big_f(X2,X3) | (X0 = X2 & X1 = X3)) & (X0 != X2 | X1 != X3 | big_f(X2,X3)))),
  inference(flattening,[],[f8])).
fof(f8,plain,(
  ? [X0,X1] : ! [X2,X3] : ((~big_f(X2,X3) | (X0 = X2 & X1 = X3)) & ((X0 != X2 | X1 != X3) | big_f(X2,X3)))),
  inference(nnf_transformation,[],[f1])).
fof(f1,axiom,(
  ? [X0,X1] : ! [X2,X3] : (big_f(X2,X3) <=> (X0 = X2 & X1 = X3))),
  file('/tmp/SystemOnTPTP10164/SYN075+1.tptp',pel52_1)).
fof(f82,plain,(
  ( ! [X4,X0] : (big_f($sk2(X4,X0),X0) | $sk2(X4,X0) = X4) ) | $spl1),
  inference(subsumption_resolution,[],[f73,f70])).
fof(f73,plain,(
  ( ! [X4,X0] : (big_f($sk2(X4,X0),X0) | $sk0(X0) != X0 | $sk2(X4,X0) = X4) ) | $spl1),
  inference(backward_demodulation,[],[f70,f13])).
fof(f13,plain,(
  ( ! [X4,X0] : ($sk0(X0) != X0 | $sk2(X4,X0) = X4 | big_f($sk2(X4,X0),$sk0(X0))) )),
  inference(cnf_transformation,[],[f7])).
fof(f7,plain,(
  ! [X0] : ((! [X3] : ((~big_f(X3,$sk0(X0)) | $sk1(X0) = X3) & ($sk1(X0) != X3 | big_f(X3,$sk0(X0)))) | $sk0(X0) = X0) & (! [X4] : ((big_f($sk2(X4,X0),$sk0(X0)) | $sk2(X4,X0) = X4) & (~big_f($sk2(X4,X0),$sk0(X0)) | $sk2(X4,X0) != X4)) | $sk0(X0) != X0))),
  inference(skolemisation,[status(esa)],[f6])).
fof(f6,plain,(
  ! [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))),
  inference(rectify,[],[f5])).
fof(f5,plain,(
  ! [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))),
  inference(nnf_transformation,[],[f4])).
fof(f4,plain,(
  ! [X0] : ? [X1] : (? [X2] : ! [X3] : (big_f(X3,X1) <=> X2 = X3) <~> X0 = X1)),
  inference(ennf_transformation,[],[f3])).
fof(f3,plain,(
  ~? [X0] : ! [X1] : (? [X2] : ! [X3] : (big_f(X3,X1) <=> X2 = X3) <=> X0 = X1)),
  inference(rectify,[],[f2])).
fof(f2,negated_conjecture,(
  ~? [X1] : ! [X3] : (? [X0] : ! [X2] : (big_f(X2,X3) <=> X0 = X2) <=> X1 = X3)),
  file('/tmp/SystemOnTPTP10164/SYN075+1.tptp',pel52)).
fof(f106,plain,(
  ( ! [X0] : (~big_f($sk2($sk3,X0),X0)) ) | $spl1),
  inference(resolution,[],[f92,f83])).
fof(f83,plain,(
  ( ! [X4,X0] : ($sk2(X4,X0) != X4 | ~big_f($sk2(X4,X0),X0)) ) | $spl1),
  inference(subsumption_resolution,[],[f74,f70])).
fof(f74,plain,(
  ( ! [X4,X0] : (~big_f($sk2(X4,X0),X0) | $sk0(X0) != X0 | $sk2(X4,X0) != X4) ) | $spl1),
  inference(backward_demodulation,[],[f70,f14])).
fof(f14,plain,(
  ( ! [X4,X0] : ($sk2(X4,X0) != X4 | $sk0(X0) != X0 | ~big_f($sk2(X4,X0),$sk0(X0))) )),
  inference(cnf_transformation,[],[f7])).
fof(f123,plain,(
  big_f($sk3,$sk4) | $spl1),
  inference(forward_demodulation,[],[f118,f92])).
fof(f118,plain,(
  ( ! [X2] : (big_f($sk2($sk3,X2),$sk4)) ) | $spl1),
  inference(resolution,[],[f116,f92])).
fof(f116,plain,(
  ( ! [X0] : ($sk3 != X0 | big_f(X0,$sk4)) ) | $spl1),
  inference(forward_demodulation,[],[f112,f70])).
fof(f112,plain,(
  ( ! [X0] : (big_f(X0,$sk0($sk4)) | $sk3 != X0) ) | $spl1),
  inference(resolution,[],[f17,f70])).
fof(f17,plain,(
  ( ! [X2,X3] : ($sk4 != X3 | big_f(X2,X3) | $sk3 != X2) )),
  inference(cnf_transformation,[],[f10])).
fof(f70,plain,(
  ( ! [X0] : ($sk0(X0) = X0) ) | $spl1),
  inference(cnf_transformation,[],[f70_D])).
fof(f70_D,plain,(
  ( ! [X0] : ($sk0(X0) = X0) ) <=> ~$spl1),
  introduced(backtracking_splitting_component,[])).
fof(f69,plain,(
  ( ! [X0] : (big_f($sk3,$sk4) | $sk0(X0) = X0) )),
  inference(duplicate_literal_removal,[],[f68])).
fof(f68,plain,(
  ( ! [X0] : (big_f($sk3,$sk4) | $sk0(X0) = X0 | $sk0(X0) = X0) )),
  inference(superposition,[],[f34,f21])).
fof(f21,plain,(
  ( ! [X2] : ($sk1(X2) = $sk3 | $sk0(X2) = X2) )),
  inference(resolution,[],[f18,f15])).
fof(f18,plain,(
  ( ! [X0] : (big_f($sk1(X0),$sk0(X0)) | $sk0(X0) = X0) )),
  inference(equality_resolution,[],[f12])).
fof(f12,plain,(
  ( ! [X0,X3] : ($sk1(X0) != X3 | big_f(X3,$sk0(X0)) | $sk0(X0) = X0) )),
  inference(cnf_transformation,[],[f7])).
fof(f34,plain,(
  ( ! [X0] : (big_f($sk1(X0),$sk4) | $sk0(X0) = X0) )),
  inference(duplicate_literal_removal,[],[f29])).
fof(f29,plain,(
  ( ! [X0] : (big_f($sk1(X0),$sk4) | $sk0(X0) = X0 | $sk0(X0) = X0) )),
  inference(superposition,[],[f18,f20])).
fof(f20,plain,(
  ( ! [X1] : ($sk0(X1) = X1 | $sk0(X1) = $sk4) )),
  inference(resolution,[],[f18,f16])).
fof(f16,plain,(
  ( ! [X2,X3] : (~big_f(X2,X3) | $sk4 = X3) )),
  inference(cnf_transformation,[],[f10])).
fof(f508,plain,(
  ~big_f($sk3,$sk4)),
  inference(forward_demodulation,[],[f507,f24])).
fof(f24,plain,(
  $sk0($sk4) = $sk4),
  inference(factoring,[],[f20])).
fof(f507,plain,(
  ~big_f($sk3,$sk0($sk4))),
  inference(forward_demodulation,[],[f506,f293])).
fof(f293,plain,(
  $sk2($sk3,$sk4) = $sk3),
  inference(factoring,[],[f234])).
fof(f234,plain,(
  ( ! [X1] : ($sk2(X1,$sk4) = X1 | $sk2(X1,$sk4) = $sk3) )),
  inference(resolution,[],[f64,f15])).
fof(f64,plain,(
  ( ! [X3] : (big_f($sk2(X3,$sk4),$sk4) | $sk2(X3,$sk4) = X3) )),
  inference(forward_demodulation,[],[f57,f24])).
fof(f57,plain,(
  ( ! [X3] : ($sk2(X3,$sk4) = X3 | big_f($sk2(X3,$sk4),$sk0($sk4))) )),
  inference(resolution,[],[f13,f24])).
fof(f506,plain,(
  ~big_f($sk2($sk3,$sk4),$sk0($sk4))),
  inference(subsumption_resolution,[],[f496,f16])).
fof(f496,plain,(
  $sk0($sk4) != $sk4 | ~big_f($sk2($sk3,$sk4),$sk0($sk4))),
  inference(resolution,[],[f14,f293])).
% SZS output end Proof for SYN075+1


Zenon 0.6.3

Damien Doligez
INRIA, France

Sample solution for SYN073+1

(* PROOF-FOUND *)
(* BEGIN-CONTEXT *)
Add LoadPath "/usr/local/focal/focalize-0.6.0/lib/zenon".
Require Import zenon.
Parameter zenon_U : Set.
Parameter zenon_E : zenon_U.
Parameter big_f : zenon_U -> zenon_U -> Prop.
Parameter a : zenon_U.
(* END-CONTEXT *)
(* BEGIN-PROOF *)
Theorem pel50 : ((forall X : zenon_U, ((big_f (a) X)\/(forall Y : zenon_U, (big_f X Y))))->(exists X1 : zenon_U, (forall Y1 : zenon_U, (big_f X1 Y1)))).
Proof.
apply NNPP. intro zenon_G.
apply (zenon_notimply_s _ _ zenon_G). zenon_intro zenon_H2. zenon_intro zenon_H1.
apply zenon_H1. exists (a). apply NNPP. zenon_intro zenon_H3.
apply (zenon_notallex_s (fun Y1 : zenon_U => (big_f (a) Y1)) zenon_H3); [ zenon_intro zenon_H4; idtac ].
elim zenon_H4. zenon_intro zenon_TY1_f. zenon_intro zenon_H6.
generalize (zenon_H2 zenon_TY1_f). zenon_intro zenon_H7.
apply (zenon_or_s _ _ zenon_H7); [ zenon_intro zenon_H9 | zenon_intro zenon_H8 ].
exact (zenon_H6 zenon_H9).
apply zenon_H1. exists zenon_TY1_f. apply NNPP. zenon_intro zenon_Ha.
exact (zenon_Ha zenon_H8).
Qed.
(* END-PROOF *)