Corresponds to the TPTP format for finite models.
EP will use the current version of the new TPTP output format.
The following rule names are defined for the main proof search:
Additionally, the clausification will use additional rule names:
The first proof uses all proof search inferences except for "ef",
"spm", and "csr", although it uses some in fairly trivial ways. The
second is the required proof for SYN075-1, and contains examples for
"ef" and "csr". The final proof is for SYN075+1, and also contains the
clausification steps.
ALL_RULES
NOTE: In order to save space in the representation of the model, sometimes,
some entries in some of the definition tables are missing.
This is not a bug!
More detailedly, it might happen that for a model with a domain of size
n, for some argument position, only a subset
{'1,'2,..,'k} of all domain elements is shown,
with k < n.
What this means is that the entries for other domain elements 'j
(with k < j <= n) occurring at that argument
position look the same as entries with 'k at that position.
Problem NLP041-1.p is an example where a model is represented in such
a way.
A proof of the weakened version was found after examining 64 nodes in the
search tree. The proof of the weakened version is presented between
THE W-PROOF and END OF W-PROOF. The inferences are:
These clauses were added to the given therem, and then a proof was sought.
After searching a small tree of 38 nodes, a proof was found. It used clause 30 from the weakened proof. Clause 38 in the proof was an instantiation.
Darwin 1.3
Peter Baumgartner1,
Alexander Fuchs2,
Cesare Tinelli2
1National ICT Australia, Australia,
Peter.Baumgartner[@]nicta.com.au
2The University of Iowa, USA
{fuchs,tinelli}[@]cs.uiowa.edu
p(_0) -- exceptions:
p(a)
specifies that all instances of p(X) except for p(a)
are true.
Sample Solution to MGT031-1
(_0 = _0)
environment(sk2)
greater(appear(efficient_producers, e), appear(an_organisation, sk2))
greater(appear(efficient_producers, e), appear(first_movers, sk2))
greater(appear(first_movers, sk2), appear(an_organisation, sk2))
greater(number_of_organizations(e, appear(an_organisation, sk2)), zero)
greater_or_equal(_0, _0)
greater_or_equal(appear(efficient_producers, e), appear(an_organisation, sk2))
greater_or_equal(appear(efficient_producers, e), appear(first_movers, sk2))
greater_or_equal(appear(first_movers, sk2), appear(an_organisation, sk2))
greater_or_equal(number_of_organizations(e, appear(an_organisation, sk2)), zero)
in_environment(sk2, appear(an_organisation, sk2))
FM-Darwin 1.3
Peter Baumgartner1,
Alexander Fuchs2,
Cesare Tinelli2
1National ICT Australia, Australia,
Peter.Baumgartner[@]nicta.com.au
2The University of Iowa, USA
{fuchs,tinelli}[@]cs.uiowa.edu
Sample Solution to MGT031-1
fof(interpretation_domain, fi_domain,
! [X] : ( X = "1" | X = "2" )
).
fof(interpretation_terms, fi_functors, (
( (an_organisation = "1") )
&
( ! [X0, X1, X2] : ( (appear(X0, X1) = X2) <=> (
( ( (X2 = "1") ) & ~( (X0 = "1") & (X1 = "2") ) )
|
( (X0 = "1") & (X1 = "2") & (X2 = "2") )
) ) )
&
( ! [X0, X1, X2] : ( (cardinality_at_time(X0, X1) = X2) <=> (
( ( (X2 = "1") ) & ~( (X0 = "2") & (X1 = "2") ) & ~( (X0 = "2") & (X1 =
"1") ) )
|
( (X0 = "2") & (X1 = "1") & (X2 = "2") )
|
( (X0 = "2") & (X1 = "2") & (X2 = "2") )
) ) )
&
( (e = "1") )
&
( (efficient_producers = "1") )
&
( (first_movers = "2") )
&
( ! [X0, X1] : (number_of_organizations(X0, X1) = "1") )
&
( ! [X0, X1] : (sk1(X0, X1) = "1") )
&
( (sk2 = "2") )
&
( (zero = "1") )
) ).
fof(interpretation_atoms, fi_predicates, (
( ! [X0] : ( environment(X0) <=> (
( (X0 = "2") )
) ) )
&
( ! [X0, X1] : ( greater(X0, X1) <=> (
( (X0 = "1") & (X1 = "2") )
|
( (X0 = "1") & (X1 = "1") )
) ) )
&
( ! [X0, X1] : ( greater_or_equal(X0, X1) <=> (
( (X0 = "1") & (X1 = "2") )
|
( (X1 = X0) )
) ) )
&
( ! [X0, X1] : ( in_environment(X0, X1) <=> (
( (X0 = "2") & (X1 = "2") )
|
( (X0 = "2") & (X1 = "1") )
) ) )
&
( ! [X0, X1, X2] : ( subpopulation(X0, X1, X2) <=> (
( (X0 = "1") & (X1 = "2") )
) ) )
) ).
EP 0.99
Stephan Schulz
Technische Universität München, Germany
schulz[@]eprover.org
# Problem is unsatisfiable (or provable), constructing proof object
# TSTP exit status: Unsatisfiable
# Proof object starts here.
cnf(1,axiom,(f(X1,X2)=f(X2,X1)),file('ALL_RULES.lop', at_line_19_column_1)).
cnf(2,axiom,(f(X1,f(X2,X3))=f(f(X1,X2),X3)),file('ALL_RULES.lop', at_line_20_column_1)).
cnf(3,axiom,(g(X1,X2)=g(X2,X1)),file('ALL_RULES.lop', at_line_21_column_1)).
cnf(4,axiom,(f(f(X1,X2),f(X3,g(X4,X5)))!=f(f(g(X4,X5),X3),f(X2,X1))|k(X1,X1)!=k(
a,b)),file('ALL_RULES.lop', at_line_22_column_1)).
cnf(5,axiom,(b=c|X1!=X2|X3!=X4|c!=d),file('ALL_RULES.lop', at_line_24_column_1)).
cnf(6,axiom,(a=b|a=c),file('ALL_RULES.lop', at_line_26_column_1)).
cnf(7,axiom,(i(X1)=i(X2)),file('ALL_RULES.lop', at_line_28_column_1)).
cnf(8,axiom,(c=d|h(i(a))!=h(i(e))),file('ALL_RULES.lop', at_line_29_column_1)).
cnf(13,derived,(k(a,b)!=k(X1,X1)),inference(ar,[status(thm)],[4,1,3,2,theory(equality)])).
cnf(23,derived,(c=b|epred1_0|X3!=X4|d!=c),inference(split,[split(esplit,[])],[5])).
cnf(24,derived,(epred2_0|X1!=X2),inference(split,[split(esplit,[])],[5])).
cnf(25,derived,(~epred2_0|~epred1_0),inference(split,[split(esplit,[])],[5])).
cnf(26,derived,(epred2_0),inference(er,[status(thm)],[24,theory(equality)])).
cnf(27,derived,($false|~epred1_0),inference(rw,[status(thm)],[25,26,theory(equality)])).
cnf(28,derived,(~epred1_0),inference(cn,[status(thm)],[27,theory(equality)])).
cnf(29,derived,(c=b|epred1_0|d!=c),inference(er,[status(thm)],[23,theory(equality)])).
cnf(30,derived,(c=b|d!=c),inference(sr,[status(thm)],[29,28,theory(equality)])).
cnf(31,derived,(d=c),inference(sr,[status(thm)],[8,7,theory(equality)])).
cnf(32,derived,(c=b|$false),inference(rw,[status(thm)],[30,31,theory(equality)])).
cnf(33,derived,(c=b),inference(cn,[status(thm)],[32,theory(equality)])).
cnf(34,derived,(b=a),inference(pm,[status(thm)],[6,33,theory(equality)])).
cnf(36,derived,(k(b,b)!=k(X1,X1)),inference(rw,[status(thm)],[13,34,theory(equality)])).
cnf(75,derived,($false),inference(er,[status(thm)],[36,theory(equality)])).
cnf(76,derived,($false),75,['proof']).
# Proof object ends here.
Sample FOF proof for SYN075+1
# Problem is unsatisfiable (or provable), constructing proof object
# TSTP exit status: Theorem
# Proof object starts here.
fof(1, axiom,?[X1]:?[X2]:![X3]:![X4]:(big_f(X3,X4)<=>(X3=X1&X4=X2)),file('/Users/schulz/EPROVER/TPTP_3.0.1_FLAT/SYN075+1.p', pel52_1)).
fof(2, conjecture,?[X2]:![X4]:(?[X1]:![X3]:(big_f(X3,X4)<=>X3=X1)<=>X4=X2),file('/Users/schulz/EPROVER/TPTP_3.0.1_FLAT/SYN075+1.p', pel52)).
fof(3, negated_conjecture-derived,~(?[X2]:![X4]:(?[X1]:![X3]:(big_f(X3,X4)<=>X3=X1)<=>X4=X2)),inference(assume_negation,[status(cth)],[2])).
fof(4, derived,?[X1]:?[X2]:![X3]:![X4]:((~(big_f(X3,X4))|(X3=X1&X4=X2))&((~(X3=X1)|~(X4=X2))|big_f(X3,X4))),inference(fof_nnf,[status(thm)],[1])).
fof(5, derived,?[X1]:?[X2]:(![X3]:![X4]:(~(big_f(X3,X4))|(X3=X1&X4=X2))&![X3]:![X4]:((~(X3=X1)|~(X4=X2))|big_f(X3,X4))),inference(shift_quantors,[status(thm)],[4])).
fof(6, derived,?[X5]:?[X6]:(![X7]:![X8]:(~(big_f(X7,X8))|(X7=X5&X8=X6))&![X9]:![X10]:((~(X9=X5)|~(X10=X6))|big_f(X9,X10))),inference(variable_rename,[status(thm)],[5])).
fof(7, derived,(![X7]:![X8]:(~(big_f(X7,X8))|(X7=esk1_0&X8=esk2_0))&![X9]:![X10]:((~(X9=esk1_0)|~(X10=esk2_0))|big_f(X9,X10))),inference(skolemize,[status(sab)],[6])).
fof(8, derived,![X7]:![X8]:![X9]:![X10]:(((X7=esk1_0|~(big_f(X7,X8)))&(X8=esk2_0|~(big_f(X7,X8))))&((~(X9=esk1_0)|~(X10=esk2_0))|big_f(X9,X10))),inference(distribute,[status(thm)],[7])).
cnf(9,derived,(big_f(X1,X2)|X2!=esk2_0|X1!=esk1_0),inference(split_conjunct,[status(thm)],[8])).
cnf(10,derived,(X2=esk2_0|~big_f(X1,X2)),inference(split_conjunct,[status(thm)],[8])).
cnf(11,derived,(X1=esk1_0|~big_f(X1,X2)),inference(split_conjunct,[status(thm)],[8])).
fof(12, negated_conjecture-derived,![X2]:?[X4]:((![X1]:?[X3]:((~(big_f(X3,X4))|~(X3=X1))&(big_f(X3,X4)|X3=X1))|~(X4=X2))&(?[X1]:![X3]:((big_f(X3,X4)&X3=X1)|(~(big_f(X3,X4))&~(X3=X1)))|X4=X2)),inference(fof_nnf,[status(thm)],[3])).
fof(13, negated_conjecture-derived,![X5]:?[X6]:((![X7]:?[X8]:((~(big_f(X8,X6))|~(X8=X7))&(big_f(X8,X6)|X8=X7))|~(X6=X5))&(?[X9]:![X10]:((big_f(X10,X6)&X10=X9)|(~(big_f(X10,X6))&~(X10=X9)))|X6=X5)),inference(variable_rename,[status(thm)],[12])).
fof(14, negated_conjecture-derived,![X5]:((![X7]:((~(big_f(esk4_2(X5,X7),esk3_1(X5)))|~(esk4_2(X5,X7)=X7))&(big_f(esk4_2(X5,X7),esk3_1(X5))|esk4_2(X5,X7)=X7))|~(esk3_1(X5)=X5))&(![X10]:((big_f(X10,esk3_1(X5))&X10=esk5_1(X5))|(~(big_f(X10,esk3_1(X5)))&~(X10=esk5_1(X5))))|esk3_1(X5)=X5)),inference(skolemize,[status(sab)],[13])).
fof(15, negated_conjecture-derived,![X5]:![X7]:![X10]:((((~(big_f(esk4_2(X5,X7),esk3_1(X5)))|~(esk4_2(X5,X7)=X7))|~(esk3_1(X5)=X5))&((big_f(esk4_2(X5,X7),esk3_1(X5))|esk4_2(X5,X7)=X7)|~(esk3_1(X5)=X5)))&((((~(big_f(X10,esk3_1(X5)))|big_f(X10,esk3_1(X5)))|esk3_1(X5)=X5)&((~(X10=esk5_1(X5))|big_f(X10,esk3_1(X5)))|esk3_1(X5)=X5))&(((~(big_f(X10,esk3_1(X5)))|X10=esk5_1(X5))|esk3_1(X5)=X5)&((~(X10=esk5_1(X5))|X10=esk5_1(X5))|esk3_1(X5)=X5)))),inference(distribute,[status(thm)],[14])).
cnf(18,negated_conjecture-derived,(esk3_1(X1)=X1|big_f(X2,esk3_1(X1))|X2!=esk5_1(X1)),inference(split_conjunct,[status(thm)],[15])).
cnf(20,negated_conjecture-derived,(esk4_2(X1,X2)=X2|big_f(esk4_2(X1,X2),esk3_1(X1))|esk3_1(X1)!=X1),inference(split_conjunct,[status(thm)],[15])).
cnf(21,negated_conjecture-derived,(esk3_1(X1)!=X1|esk4_2(X1,X2)!=X2|~big_f(esk4_2(X1,X2),esk3_1(X1))),inference(split_conjunct,[status(thm)],[15])).
cnf(24,negated_conjecture-derived,(esk3_1(X1)=X1|big_f(esk5_1(X1),esk3_1(X1))),inference(er,[status(thm)],[18,theory(equality)])).
cnf(26,negated_conjecture-derived,(esk1_0=esk4_2(X1,X2)|esk4_2(X1,X2)=X2|esk3_1(X1)!=X1),inference(spm,[status(thm)],[11,20,theory(equality)])).
cnf(27,negated_conjecture-derived,(esk2_0=esk3_1(X1)|esk4_2(X1,X2)=X2|esk3_1(X1)!=X1),inference(spm,[status(thm)],[10,20,theory(equality)])).
cnf(29,negated_conjecture-derived,(esk4_2(X1,X2)!=X2|esk3_1(X1)!=X1|esk1_0!=esk4_2(X1,X2)|esk2_0!=esk3_1(X1)),inference(spm,[status(thm)],[21,9,theory(equality)])).
cnf(31,negated_conjecture-derived,(esk1_0=esk5_1(X1)|esk3_1(X1)=X1),inference(spm,[status(thm)],[11,24,theory(equality)])).
cnf(32,negated_conjecture-derived,(esk2_0=esk3_1(X1)|esk3_1(X1)=X1),inference(spm,[status(thm)],[10,24,theory(equality)])).
cnf(35,negated_conjecture-derived,(esk3_1(X1)=X1|big_f(esk1_0,esk3_1(X1))),inference(spm,[status(thm)],[24,31,theory(equality)])).
cnf(36,negated_conjecture-derived,(esk3_1(X2)=X2|esk2_0!=X2),inference(ef,[status(thm)],[32,theory(equality)])).
cnf(46,negated_conjecture-derived,(esk4_2(X1,X2)!=X2|~big_f(esk4_2(X1,X2),X1)|esk2_0!=X1),inference(spm,[status(thm)],[21,36,theory(equality)])).
cnf(54,negated_conjecture-derived,(esk2_0=X1|big_f(esk1_0,esk2_0)|esk3_1(X1)=X1),inference(spm,[status(thm)],[35,32,theory(equality)])).
cnf(60,negated_conjecture-derived,(esk4_2(X1,X2)!=X2|~big_f(esk4_2(X1,X2),X1)),inference(csr,[status(thm)],[46,10])).
cnf(71,negated_conjecture-derived,(esk3_1(X1)=X1|big_f(esk1_0,esk2_0)),inference(csr,[status(thm)],[54,36])).
cnf(76,negated_conjecture-derived,(esk3_1(X1)=esk2_0|esk4_2(X1,X2)=X2),inference(csr,[status(thm)],[27,32])).
cnf(79,negated_conjecture-derived,(esk3_1(X1)=esk2_0|~big_f(X2,X1)),inference(spm,[status(thm)],[60,76,theory(equality)])).
cnf(87,negated_conjecture-derived,(esk3_1(esk2_0)=esk2_0|esk3_1(X1)=X1),inference(spm,[status(thm)],[79,71,theory(equality)])).
cnf(101,negated_conjecture-derived,(esk3_1(esk2_0)=esk2_0),inference(ef,[status(thm)],[87,theory(equality)])).
cnf(113,negated_conjecture-derived,(esk4_2(esk2_0,X1)=esk1_0|esk4_2(esk2_0,X1)=X1),inference(spm,[status(thm)],[26,101,theory(equality)])).
cnf(114,negated_conjecture-derived,(esk4_2(esk2_0,X2)=X2|esk1_0!=X2),inference(ef,[status(thm)],[113,theory(equality)])).
cnf(143,negated_conjecture-derived,(X1!=esk1_0|esk3_1(esk2_0)!=esk2_0),inference(spm,[status(thm)],[29,114,theory(equality)])).
cnf(150,negated_conjecture-derived,(X1!=esk1_0|$false),inference(rw,[status(thm)],[143,101,theory(equality)])).
cnf(151,negated_conjecture-derived,(X1!=esk1_0),inference(cn,[status(thm)],[150,theory(equality)])).
cnf(152,negated_conjecture-derived,($false),inference(er,[status(thm)],[151,theory(equality)])).
cnf(155,negated_conjecture-derived,($false),152,['proof']).
# Proof object ends here.
Sample CNF proof for SYN075-1
# Problem is unsatisfiable (or provable), constructing proof object
# TSTP exit status: Unsatisfiable
# Proof object starts here.
cnf(1,axiom,(X1=a|~big_f(X1,X2)),file('/Users/schulz/EPROVER/TPTP_3.0.1_FLAT/SYN075-1.p', clause_1)).
cnf(3,axiom,(big_f(X1,X2)|X1!=a|X2!=b),file('/Users/schulz/EPROVER/TPTP_3.0.1_FLAT/SYN075-1.p', clause_3)).
cnf(4,negated_conjecture,(f(X2)=X2|~big_f(X1,f(X2))|X1!=g(X2)),file('/Users/schulz/EPROVER/TPTP_3.0.1_FLAT/SYN075-1.p', clause_4)).
cnf(6,negated_conjecture,(big_f(X1,f(X2))|f(X2)=X2|X1!=g(X2)),file('/Users/schulz/EPROVER/TPTP_3.0.1_FLAT/SYN075-1.p', clause_6)).
cnf(9,negated_conjecture,(big_f(h(X1,X2),f(X1))|h(X1,X2)=X2|f(X1)!=X1),file('/Users/schulz/EPROVER/TPTP_3.0.1_FLAT/SYN075-1.p', clause_9)).
cnf(10,negated_conjecture,(f(X1)!=X1|h(X1,X2)!=X2|~big_f(h(X1,X2),f(X1))),file('/Users/schulz/EPROVER/TPTP_3.0.1_FLAT/SYN075-1.p', clause_10)).
cnf(14,negated_conjecture-derived,(f(X2)=X2|g(X2)!=X1),inference(csr,[status(thm)],[4,6])).
cnf(15,negated_conjecture-derived,(f(X1)=X1),inference(er,[status(thm)],[14,theory(equality)])).
cnf(19,negated_conjecture-derived,(h(X1,X2)!=X2|f(X1)!=X1|a!=h(X1,X2)|b!=f(X1)),inference(spm,[status(thm)],[10,3,theory(equality)])).
cnf(23,negated_conjecture-derived,(h(X1,X2)!=a|h(X1,X2)!=X2|X1!=b|f(X1)!=X1),inference(rw,[status(thm)],[19,15,theory(equality)])).
cnf(24,negated_conjecture-derived,(h(X1,X2)!=a|h(X1,X2)!=X2|X1!=b|$false),inference(rw,[status(thm)],[23,15,theory(equality)])).
cnf(25,negated_conjecture-derived,(h(X1,X2)!=a|h(X1,X2)!=X2|X1!=b),inference(cn,[status(thm)],[24,theory(equality)])).
cnf(28,negated_conjecture-derived,(h(X1,X2)!=X2|$false|~big_f(h(X1,X2),f(X1))),inference(rw,[status(thm)],[10,15,theory(equality)])).
cnf(29,negated_conjecture-derived,(h(X1,X2)!=X2|$false|~big_f(h(X1,X2),X1)),inference(rw,[status(thm)],[28,15,theory(equality)])).
cnf(30,negated_conjecture-derived,(h(X1,X2)!=X2|~big_f(h(X1,X2),X1)),inference(cn,[status(thm)],[29,theory(equality)])).
cnf(33,negated_conjecture-derived,(h(X1,X2)=X2|big_f(h(X1,X2),X1)|f(X1)!=X1),inference(rw,[status(thm)],[9,15,theory(equality)])).
cnf(34,negated_conjecture-derived,(h(X1,X2)=X2|big_f(h(X1,X2),X1)|$false),inference(rw,[status(thm)],[33,15,theory(equality)])).
cnf(35,negated_conjecture-derived,(h(X1,X2)=X2|big_f(h(X1,X2),X1)),inference(cn,[status(thm)],[34,theory(equality)])).
cnf(38,negated_conjecture-derived,(a=h(X1,X2)|h(X1,X2)=X2),inference(spm,[status(thm)],[1,35,theory(equality)])).
cnf(50,negated_conjecture-derived,(h(X1,X2)=a|~big_f(X2,X1)),inference(spm,[status(thm)],[30,38,theory(equality)])).
cnf(56,negated_conjecture-derived,(a!=X2|X1!=b|~big_f(X2,X1)),inference(spm,[status(thm)],[25,50,theory(equality)])).
cnf(59,negated_conjecture-derived,(a!=X2|X1!=b),inference(csr,[status(thm)],[56,3])).
cnf(60,negated_conjecture-derived,(epred1_0|a!=X2),inference(split,[split(esplit,[])],[59])).
cnf(61,negated_conjecture-derived,(epred2_0|X1!=b),inference(split,[split(esplit,[])],[59])).
cnf(62,negated_conjecture-derived,(~epred2_0|~epred1_0),inference(split,[split(esplit,[])],[59])).
cnf(63,negated_conjecture-derived,(epred1_0),inference(er,[status(thm)],[60,theory(equality)])).
cnf(65,negated_conjecture-derived,(epred2_0),inference(er,[status(thm)],[61,theory(equality)])).
cnf(73,negated_conjecture-derived,($false|~epred1_0),inference(rw,[status(thm)],[62,65,theory(equality)])).
cnf(74,negated_conjecture-derived,($false|$false),inference(rw,[status(thm)],[73,63,theory(equality)])).
cnf(75,negated_conjecture-derived,($false),inference(cn,[status(thm)],[74,theory(equality)])).
cnf(76,negated_conjecture-derived,($false),75,['proof']).
# Proof object ends here.
Faust 1.0
Yury Puzis
University of Miami, USA
yury.puzis[@]gmail.com
Sample CNF proof for PUZ001-1
A sample proof for SYN075-1 cannot be provided, because Faust
cannot solve it in 600s.
cnf(same_hates,initial,(~hates(agatha,A)|hates(butler,A)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).
cnf(149433568,derived,(~hates(agatha,A)|hates(butler,A)),inference(rewrite,[status(thm)],[same_hates]),[]).
cnf(agatha_hates_agatha,initial,(hates(agatha,agatha)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).
cnf(149472944,derived,(hates(agatha,agatha)),inference(rewrite,[status(thm)],[agatha_hates_agatha]),[]).
cnf(157293464,derived,(hates(butler,agatha)),inference(resolution,[status(thm)],[149433568,149472944]),[]).
cnf(butler,initial,(lives(butler)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).
cnf(149439864,derived,(lives(butler)),inference(rewrite,[status(thm)],[butler]),[]).
cnf(butler_hates_poor,initial,(~lives(A)|richer(A,agatha)|hates(butler,A)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).
cnf(149498600,derived,(~lives(A)|richer(A,agatha)|hates(butler,A)),inference(rewrite,[status(thm)],[butler_hates_poor]),[]).
cnf(poorer_killer,initial,(~killed(A,B)|~richer(A,B)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).
cnf(149449888,derived,(~killed(A,B)|~richer(A,B)),inference(rewrite,[status(thm)],[poorer_killer]),[]).
cnf(prove_neither_charles_nor_butler_did_it,initial,(killed(butler,agatha)|killed(charles,agatha)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).
cnf(149504976,derived,(killed(butler,agatha)|killed(charles,agatha)),inference(rewrite,[status(thm)],[prove_neither_charles_nor_butler_did_it]),[]).
cnf(killer_hates_victim,initial,(~killed(A,B)|hates(A,B)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).
cnf(149481552,derived,(~killed(A,B)|hates(A,B)),inference(rewrite,[status(thm)],[killer_hates_victim]),[]).
cnf(different_hates,initial,(~hates(agatha,A)|~hates(charles,A)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).
cnf(149456472,derived,(~hates(agatha,A)|~hates(charles,A)),inference(rewrite,[status(thm)],[different_hates]),[]).
cnf(157305152,derived,(~hates(charles,agatha)),inference(resolution,[status(thm)],[149456472,149472944]),[]).
cnf(157366280,derived,(~killed(charles,agatha)),inference(resolution,[status(thm)],[149481552,157305152]),[]).
cnf(157371824,derived,(killed(butler,agatha)),inference(resolution,[status(thm)],[149504976,157366280]),[]).
cnf(157386008,derived,(~richer(butler,agatha)),inference(resolution,[status(thm)],[149449888,157371824]),[]).
cnf(157494464,derived,(hates(butler,butler)),inference(forward_subsumption_resolution__resolution,[status(thm)],[149439864,149498600,157386008]),[]).
cnf(no_one_hates_everyone,initial,(~hates(A,agatha)|~hates(A,butler)|~hates(A,charles)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).
cnf(149468192,derived,(~hates(A,agatha)|~hates(A,butler)|~hates(A,charles)),inference(rewrite,[status(thm)],[no_one_hates_everyone]),[]).
cnf(agatha_hates_charles,initial,(hates(agatha,charles)),file('/tmp/SystemOnTPTP32478/PUZ/PUZ001-1.p',unknown),[]).
cnf(149477024,derived,(hates(agatha,charles)),inference(rewrite,[status(thm)],[agatha_hates_charles]),[]).
cnf(157395272,derived,(hates(butler,charles)),inference(resolution,[status(thm)],[149433568,149477024]),[]).
cnf(contradiction,derived,$false,inference(forward_subsumption_resolution__resolution,[status(thm)],[157293464,157494464,149468192,157395272]),[]).
Geo 2006i
Hans de Nivelle1,
Jia Meng2
1Max-Planck Institut für Informatik, Germany
nivelle[@]mpi-inf.mpg.de
2National ICT Australia, Australia
jiameng[@]rsise.anu.edu.au
In case geo finds a proof, it prints the complete rulesystem,
which contains the proof. The last rule is always the
empty rule -> FALSE.
Rules are marked with explanations how they are obtained:
Sample FOF proof for SYN075+1
0: I closed(0) (ACTIVE)
-> # V0 /\ pppp3(V0)
1: I closed(0) (ACTIVE)
pppp3(V0) -> # V1 /\ pppp2(V0,V1)
2: I closed(0) (ACTIVE)
pppp2(V0,V1) /\ pppp0(V0,V1,V2,V3) -> big_f(V2,V3)
3: I closed(0) (ACTIVE)
pppp2(V0,V1) /\ big_f(V2,V3) -> pppp0(V0,V1,V2,V3)
4: I closed(1) (ACTIVE)
pppp0(V0,V1,V2,V3) /\ V2 != V0 -> FALSE
5: I closed(1) (ACTIVE)
pppp0(V0,V1,V2,V3) /\ V3 != V1 -> FALSE
6: I closed(0) (ACTIVE)
# V0 /\ # V1 -> pppp0(V0,V1,V0,V1)
7: I closed(0) (ACTIVE)
# V0 -> # V1 /\ pppp4(V0,V1)
8: I closed(5) (ACTIVE)
pppp4(V0,V0) /\ pppp1(V0) -> FALSE
9: I closed(0) (ACTIVE)
pppp4(V0,V1) /\ V1 != V0 -> pppp1(V1)
10: I closed(0) (ACTIVE)
pppp1(V0) -> # V1 /\ pppp5(V1,V0)
11: I closed(0) (ACTIVE)
# V0 /\ # V1 -> pppp1(V0) \/ pppp7(V1,V0)
12: I closed(0) (ACTIVE)
pppp7(V0,V1) -> # V2 /\ pppp6(V0,V2,V1)
13: I closed(2) (ACTIVE)
pppp6(V0,V0,V2) /\ big_f(V0,V2) -> FALSE
14: I closed(0) (ACTIVE)
pppp6(V0,V1,V2) /\ V1 != V0 -> big_f(V1,V2)
15: I closed(0) (ACTIVE)
pppp5(V0,V1) -> big_f(V0,V1)
16: I closed(0) (ACTIVE)
pppp5(V0,V1) /\ big_f(V2,V1) /\ V2 != V0 -> FALSE
17: D(3,4) closed(0) (ACTIVE)
pppp2(V0,V1) /\ big_f(V2,V3) /\ V2 != V0 -> FALSE
18: D(14,17) closed(0) (ACTIVE)
pppp2(V0,V1) /\ pppp6(V2,V3,V4) /\ V3 != V2 /\ V3 != V0 -> FALSE
19: E(12,18,13,13) closed(1) (ACTIVE)
pppp2(V0,V1) /\ pppp7(V0,V2) /\ big_f(V0,V2) -> FALSE
20: D(2,19) closed(0) (ACTIVE)
pppp2(V0,V1) /\ pppp0(V0,V1,V0,V2) /\ pppp7(V0,V2) -> FALSE
21: D(9,8) closed(1) (ACTIVE)
pppp4(V0,V0) /\ pppp4(V1,V0) /\ V0 != V1 -> FALSE
22: D(14,13) closed(0) (ACTIVE)
pppp6(V0,V0,V1) /\ pppp6(V2,V0,V1) /\ V0 != V2 -> FALSE
23: D(3,5) closed(0) (ACTIVE)
pppp2(V0,V1) /\ big_f(V2,V3) /\ V3 != V1 -> FALSE
24: D(15,23) closed(3) (ACTIVE)
pppp5(V0,V1) /\ pppp2(V2,V3) /\ V1 != V3 -> FALSE
25: E(10,24) closed(0) (ACTIVE)
pppp1(V0) /\ pppp2(V1,V2) /\ V0 != V2 -> FALSE
26: D(9,25) closed(0) (ACTIVE)
pppp2(V0,V1) /\ pppp4(V2,V3) /\ V3 != V2 /\ V3 != V1 -> FALSE
27: E(7,26,8,8) closed(0) (ACTIVE)
pppp2(V0,V1) /\ pppp1(V1) -> FALSE
28: D(11,27,19) closed(0) (ACTIVE)
pppp2(V0,V1) /\ big_f(V0,V1) -> FALSE
29: D(2,28) closed(0) (ACTIVE)
pppp2(V0,V1) /\ pppp0(V0,V1,V0,V1) -> FALSE
30: D(6,29) closed(0) (ACTIVE)
pppp2(V0,V1) -> FALSE
31: E(1,30) closed(0) (ACTIVE)
pppp3(V0) -> FALSE
32: E(0,31) closed(0) (ACTIVE)
-> FALSE
Sample CNF proof for SYN075-1
0: I closed(1) (ACTIVE)
P_a(V0) /\ big_f(V1,V2) /\ V1 != V0 -> FALSE
1: I closed(1) (ACTIVE)
P_a(V0) /\ P_b(V1) /\ big_f(V3,V2) /\ V2 != V1 -> FALSE
2: I closed(0) (ACTIVE)
P_a(V0) /\ P_b(V1) -> big_f(V0,V1)
3: I closed(0) (ACTIVE)
P_a(V0) /\ P_b(V1) /\ P_f(V2,V3) /\ P_g(V2,V4) /\ big_f(V4,V3) /\ V3 != V2 -> FALSE
4: I closed(0) (ACTIVE)
P_a(V0) /\ P_b(V1) /\ P_f(V2,V3) /\ P_g(V2,V4) /\ V3 != V2 -> big_f(V4,V3)
5: I closed(0) (ACTIVE)
P_a(V0) /\ P_b(V1) /\ P_f(V2,V3) /\ P_g(V2,V4) /\ P_h(V2,V5,V6) /\ V6 != V5 -> big_f(V6,V3) \/ big_f(V4,V3)
6: I closed(0) (ACTIVE)
P_a(V0) /\ P_b(V1) /\ P_f(V2,V3) /\ P_g(V2,V4) /\ P_h(V2,V5,V5) /\ big_f(V5,V3) -> big_f(V4,V3)
7: I closed(0) (ACTIVE)
P_a(V0) /\ P_b(V1) /\ P_f(V2,V2) /\ P_h(V2,V4,V5) /\ V5 != V4 -> big_f(V5,V2)
8: I closed(1) (ACTIVE)
P_a(V0) /\ P_b(V1) /\ P_f(V2,V2) /\ P_h(V2,V4,V4) /\ big_f(V4,V2) -> FALSE
9: I closed(0) (ACTIVE)
-> # V0 /\ P_a(V0)
10: I closed(0) (ACTIVE)
-> # V0 /\ P_b(V0)
11: I closed(0) (ACTIVE)
# V0 -> # V1 /\ P_f(V0,V1)
12: I closed(0) (ACTIVE)
# V0 -> # V1 /\ P_g(V0,V1)
13: I closed(0) (ACTIVE)
# V0 /\ # V1 -> # V2 /\ P_h(V0,V1,V2)
14: D(7,0) closed(0) (ACTIVE)
P_b(V1) /\ P_a(V0) /\ P_f(V2,V2) /\ P_h(V2,V3,V4) /\ V4 != V3 /\ V4 != V0 -> FALSE
15: E(13,14,8,8) closed(0) (ACTIVE)
P_b(V0) /\ P_a(V1) /\ big_f(V1,V2) /\ P_f(V2,V2) -> FALSE
16: D(4,1) closed(2) (ACTIVE)
P_a(V0) /\ P_b(V1) /\ P_g(V2,V3) /\ P_f(V2,V4) /\ V4 != V2 /\ V4 != V1 -> FALSE
17: E(12,16) closed(0) (ACTIVE)
P_a(V0) /\ P_b(V1) /\ P_f(V2,V3) /\ V3 != V2 /\ V3 != V1 -> FALSE
18: E(11,17,15,15) closed(0) (ACTIVE)
P_a(V0) /\ big_f(V0,V1) /\ P_b(V1) -> FALSE
19: D(2,18) closed(1) (ACTIVE)
P_a(V0) /\ P_b(V1) -> FALSE
20: E(10,19) closed(0) (ACTIVE)
P_a(V0) -> FALSE
21: E(9,20) closed(0) (ACTIVE)
-> FALSE
In case it finds a model, it prints the model, which is
just an enumeration of the atoms.
# Ei is used for introducing a new domain element.
Sample Solution to MGT031-1
0 : 16() (0/1) [0] # E0
1 : 16() (0/1) [0] P_e(E0)
2 : 18() (0/2) [0] P_an_organisation(E0)
3 : 19() (0/2) [0] P_zero(E0)
4 : 22() (0/2) [0] P_efficient_producers(E0)
5 : 23() (1/2) [7] # E1
6 : 23() (1/2) [7] P_first_movers(E1)
7 : 9(1,2,3,4,6,0) (0/1) [7] greater_or_equal(E0,E0)
8 : 9(1,2,3,4,6,5) (0/1) [7] greater_or_equal(E1,E1)
9 : 24() (1/3) [31] P_sk2(E1)
10 : 15(0,0) (0/3) [31] P_number_of_organizations(E0,E0,E0)
11 : 17(0,0) (0/3) [31] P_appear(E0,E0,E0)
12 : 12(1,2,3,4,6,11,9) (0/1) [31] environment(E1)
13 : 20(0,0) (0/3) [31] P_sk1(E0,E0,E0)
14 : 21(0,0) (0/3) [31] P_cardinality_at_time(E0,E0,E0)
15 : 15(0,5) (0/3) [31] P_number_of_organizations(E0,E1,E0)
16 : 15(5,0) (0/3) [31] P_number_of_organizations(E1,E0,E0)
17 : 15(5,5) (0/3) [31] P_number_of_organizations(E1,E1,E0)
18 : 17(0,5) (1/3) [32] P_appear(E0,E1,E1)
19 : 0(1,2,3,18,15,12) (0/1) [32] greater(E0,E0)
20 : 13(1,2,3,4,6,11,9,18) (0/1) [32] in_environment(E1,E1)
21 : 17(5,0) (0/3) [32] P_appear(E1,E0,E0)
22 : 17(5,5) (0/3) [32] P_appear(E1,E1,E0)
23 : 5(1,2,3,4,6,22,18,12) (0/1) [32] greater_or_equal(E0,E1)
24 : 7(1,2,3,4,6,23,5) (0/1) [32] greater(E0,E1)
25 : 20(0,5) (0/3) [32] P_sk1(E0,E1,E0)
26 : 1(1,2,3,12,16,25,19) (0/1) [32] subpopulation(E0,E1,E0)
27 : 20(5,0) (0/3) [32] P_sk1(E1,E0,E0)
28 : 20(5,5) (0/3) [32] P_sk1(E1,E1,E0)
29 : 1(1,2,3,12,17,28,19) (0/1) [32] subpopulation(E0,E1,E1)
30 : 21(0,5) (0/3) [32] P_cardinality_at_time(E0,E1,E0)
31 : 21(5,0) (0/3) [32] P_cardinality_at_time(E1,E0,E0)
32 : 21(5,5) (1/3) [33] P_cardinality_at_time(E1,E1,E1)
Octopus 2006
Monty Newborn
McGill University, Canada
newborn[@]cs.mcgill.ca
Sample FOF proof for SYN075+1
The master proved this theorem.
The master does not weaken a clause before seeking a proof.
Rating : 0.33 v3.1.0 Status : Theoremf
C0: --------------------------------------------------------
C0: ABOUT THE THEOREM
C0: Predicates: big_f equal
C0: Functions: SK1 SK2 : SK5 SK3 SK4
C0: Renamed predicates: big_f E.
C0: EQ: 12.11.2
C0: ESAF: 5 6 7 8
C0: ESAP: 3 4
C0: No splitting!
C0: -----------------------------------------------------------
C0: T0
Sample CNF proof for SYN075-1
Computer 5 of the 100 spawned proved this theorem.
It picked the 2nd weakening which involved weakening clause 3.
However, it proved the theorem without using clause 3.
-----------------------------------------------
C5: ABOUT THE THEOREM
C5: Predicates: equal big_f
C5: Functions: aC bC : h f g
Renamed predicates: E. big_f
EQ: 12.11.4
ESAF: 7 8 9 10
ESAP: 5 6
C5: No splitting!
C5: -----------------------------------------------------------
C5: -------------------------------------------------
C5: MODIFY THEOREM
C5: Spawned = 100 Number of weakenings = 89 Pass = 0
C5: Nodes searched last time = 0
C5: Time taken=0 Time to go=600 Time for this pass=600
C5: X12 V6 L7 W2 TH1
C5: ---------------------------------------------------------------
C5: 1 {T0 N37-37 C117-0-0 U19-34-0 HC2 L6 R0 TH1}
C5: 37-node 6-step w-proof obtained; Details soon!
C5: 1 {T0 N48-11 C55-0-0 U17-20-0 HC0 L15 R0 TH1}
C5: 48-node 15-step c-type 1-depth w-proof obtained!!
C5: THE PROOF
Axioms:
1 >~E.[x,aC] ~E.[y,bC] big_f[x,y]
2 >~big_f[x,y] E.[x,aC]
3S ~big_f[x,y] E.[y,z] ... ?
12 >E.[x,x]
Negated conclusion:
13S ~E.[x,g[y]] big_f[x,f[y]] ~E.[h[y,z],z] ~big_f[h[y,z],f[y]]
14S ~E.[x,g[y]] big_f[x,f[y]] big_f[h[y,z],f[y]] E.[h[y,z],z]
15S>~E.[f[x],x] ~E.[h[x,y],y] ~big_f[h[x,y],f[x]]
16S>~E.[f[x],x] big_f[h[x,y],f[x]] E.[h[x,y],y]
17#>~big_f[x,f[y]] ~E.[x,g[y]] E.[f[y],y]
18#>~E.[x,g[y]] big_f[x,f[y]] E.[f[y],y]
---------------
Phase 0 clauses used in proof:
19S>(18b*17a) ~E.[x,g[y]] E.[f[y],y]
Phases 1 and 2 clauses used in proof:
20S>(19a,12a) E.[f[x],x]
21S>(19b,1b) ~E.[x,g[bC]] ~E.[y,aC] big_f[y,f[bC]]
22S>[21c,20a] ~E.[x,g[bC]] ~E.[y,aC] big_f[y,bC]
23S>(22b,16c) ~E.[x,g[bC]] big_f[h[y,aC],bC] ~E.[f[y],y] big_f[h[y,aC],f[y]]
24S>[23c,20a] ~E.[x,g[bC]] big_f[h[y,aC],bC] ~E.[y,y] big_f[h[y,aC],f[y]]
25S>[24d,20a] ~E.[x,g[bC]] big_f[h[y,aC],bC] ~E.[y,y] big_f[h[y,aC],y]
26S>(25c,12a) ~E.[x,g[bC]] big_f[h[y,aC],bC] big_f[h[y,aC],y]
27S>(26a,12a) big_f[h[x,aC],bC] big_f[h[x,aC],x]
28S>(27ab) big_f[h[bC,aC],bC]
29S>(19b,15a) ~E.[x,g[y]] ~E.[h[y,z],z] ~big_f[h[y,z],f[y]]
30S>(29b,2b) ~E.[x,g[y]] ~big_f[h[y,aC],f[y]] ~big_f[h[y,aC],z]
31S>[30b,20a] ~E.[x,g[y]] ~big_f[h[y,aC],y] ~big_f[h[y,aC],z]
32S>(31a,12a) ~big_f[h[x,aC],x] ~big_f[h[x,aC],y]
33S>(32a,28a) ~big_f[h[bC,aC],y]
34S>(33a,28a) []
C5: END OF PROOF
PHASE 0: 0 s PHASE 1: 0 s PHASE 2: 0 s ACCUM: 0 Total Time: 0 s
NOD: 48 RES: 95 FAC: 21 T: 12 V: 6 L: 7
CTE: 117 CTH: 0 CTF: 0 CSZ: 8388608
UTE: 19 UTH: 34 UTF: 0 SBA: 2
BAS: 18 RED: 17 LEN: 1+15=16 OPT: k1 m1 z0 t600/600
Otter 3.3
William McCune
Argonne National Laboratory, USA
mccune[@]mcs.anl.gov
Sample CNF proof for SYN075-1
---------------- PROOF ----------------
1 [] -big_f(A,B)|equal(A,a).
2 [] -big_f(A,B)|equal(B,b).
3 [] -equal(A,a)| -equal(B,b)|big_f(A,B).
4 [] -big_f(A,f(B))| -equal(A,g(B))|equal(f(B),B).
5 [] -equal(A,g(B))|big_f(A,f(B))|equal(f(B),B).
8 [] -equal(f(A),A)|big_f(h(A,B),f(A))|equal(h(A,B),B).
9 [] -equal(f(A),A)| -equal(h(A,B),B)| -big_f(h(A,B),f(A)).
11 [] equal(A,A).
13 [hyper,11,5] big_f(g(A),f(A))|equal(f(A),A).
14 [hyper,11,3,11] big_f(a,b).
21 [hyper,13,3,11] big_f(g(b),f(b))|big_f(a,f(b)).
62 [hyper,21,4,11] big_f(a,f(b))|equal(f(b),b).
79 [hyper,62,3,11,factor_simp] big_f(a,f(b)).
81,80 [hyper,79,2] equal(f(b),b).
126 [hyper,80,8,demod,81] big_f(h(b,A),b)|equal(h(b,A),A).
319 [hyper,126,3,80,demod,81,factor_simp] big_f(h(b,a),b).
331,330 [hyper,319,1] equal(h(b,a),a).
335 [para_from,330.1.1,9.3.1,demod,81,331,81,unit_del,11,11,14] $F.
------------ end of proof -------------
Sample CNF proof for PUZ031-1
---------------- PROOF ----------------
1 [] animal(A)| -wolf(A).
2 [] animal(A)| -fox(A).
3 [] animal(A)| -bird(A).
5 [] animal(A)| -snail(A).
6 [] plant(A)| -grain(A).
7 [] eats(A,B)|eats(A,C)| -animal(A)| -plant(B)| -animal(C)| -plant(D)| -much_smaller(C,A)| -eats(C,D).
9 [] much_smaller(A,B)| -snail(A)| -bird(B).
10 [] much_smaller(A,B)| -bird(A)| -fox(B).
11 [] much_smaller(A,B)| -fox(A)| -wolf(B).
13 [] -wolf(A)| -grain(B)| -eats(A,B).
15 [] -bird(A)| -snail(B)| -eats(A,B).
18 [] plant(snail_food_of(A))| -snail(A).
19 [] eats(A,snail_food_of(A))| -snail(A).
20 [] -animal(A)| -animal(B)| -grain(C)| -eats(A,B)| -eats(B,C).
23 [factor,7.4.6] eats(A,B)|eats(A,C)| -animal(A)| -plant(B)| -animal(C)| -much_smaller(C,A)| -eats(C,B).
28 [] wolf(a_wolf).
29 [] fox(a_fox).
30 [] bird(a_bird).
32 [] snail(a_snail).
33 [] grain(a_grain).
34 [hyper,28,1] animal(a_wolf).
35 [hyper,29,11,28] much_smaller(a_fox,a_wolf).
36 [hyper,29,2] animal(a_fox).
37 [hyper,30,10,29] much_smaller(a_bird,a_fox).
38 [hyper,30,3] animal(a_bird).
44 [hyper,32,19] eats(a_snail,snail_food_of(a_snail)).
45 [hyper,32,18] plant(snail_food_of(a_snail)).
46 [hyper,32,9,30] much_smaller(a_snail,a_bird).
47 [hyper,32,5] animal(a_snail).
48 [hyper,33,6] plant(a_grain).
50 [hyper,44,7,38,48,47,45,46] eats(a_bird,a_grain)|eats(a_bird,a_snail).
55 [hyper,50,15,30,32] eats(a_bird,a_grain).
56 [hyper,55,23,36,48,38,37] eats(a_fox,a_grain)|eats(a_fox,a_bird).
62 [hyper,56,20,36,38,33,55] eats(a_fox,a_grain).
63 [hyper,62,23,34,48,36,35] eats(a_wolf,a_grain)|eats(a_wolf,a_fox).
67 [hyper,63,13,28,33] eats(a_wolf,a_fox).
69 [hyper,67,20,34,36,33,62] $F.
------------ end of proof -------------
Paradox 1.3
Koen Claessen, Niklas Sörensson
Chalmers University of Technology and
Gothenburg University, Sweden
{koen,nik}[@]cs.chalmers.se
Solution Description
When it has found a model, Paradox produces a table of definitions for each
constant symbol, function symbol, and predicate symbol.
The table is sorted alphabetically.
In the table, domain elements are represented as positive natural numbers
preceded by a ' (tick).
Sample Solution to MGT031-1
an_organisation = '1
appear('1,'1) = '2
appear('1,'2) = '2
appear('2,'1) = '1
appear('2,'2) = '1
cardinality_at_time('1,'1) = '2
cardinality_at_time('1,'2) = '2
cardinality_at_time('2,'1) = '2
cardinality_at_time('2,'2) = '2
e = '1
efficient_producers = '2
environment('1) : FALSE
environment('2) : TRUE
first_movers = '2
greater('1,'1) : TRUE
greater('1,'2) : TRUE
greater('2,'1) : FALSE
greater('2,'2) : TRUE
greater_or_equal('1,'1) : TRUE
greater_or_equal('1,'2) : TRUE
greater_or_equal('2,'1) : FALSE
greater_or_equal('2,'2) : TRUE
in_environment('1,'1) : TRUE
in_environment('1,'2) : TRUE
in_environment('2,'1) : TRUE
in_environment('2,'2) : TRUE
number_of_organizations('1,'1) = '2
number_of_organizations('1,'2) = '1
number_of_organizations('2,'1) = '2
number_of_organizations('2,'2) = '2
sk1('1,'1) = '2
sk1('1,'2) = '2
sk1('2,'1) = '2
sk1('2,'2) = '2
sk2 = '2
subpopulation('1,'1,'1) : TRUE
subpopulation('1,'1,'2) : TRUE
subpopulation('1,'2,'1) : TRUE
subpopulation('1,'2,'2) : TRUE
subpopulation('2,'1,'1) : TRUE
subpopulation('2,'1,'2) : TRUE
subpopulation('2,'2,'1) : TRUE
subpopulation('2,'2,'2) : TRUE
zero = '1
Sample Solution to NLP041-1
abstraction('1,'1) : FALSE
abstraction('1,'2) : FALSE
abstraction('1,'3) : FALSE
abstraction('1,'4) : TRUE
act('1,'1) : FALSE
act('1,'2) : FALSE
act('1,'3) : TRUE
act('1,'4) : FALSE
actual_world('1) : TRUE
agent('1,'1,'1) : TRUE
agent('1,'1,'2) : TRUE
agent('1,'1,'3) : TRUE
agent('1,'1,'4) : TRUE
agent('1,'2,'1) : TRUE
agent('1,'2,'2) : TRUE
agent('1,'2,'3) : TRUE
agent('1,'2,'4) : TRUE
agent('1,'3,'1) : TRUE
agent('1,'3,'2) : FALSE
agent('1,'3,'3) : FALSE
agent('1,'3,'4) : FALSE
agent('1,'4,'1) : TRUE
agent('1,'4,'2) : TRUE
agent('1,'4,'3) : TRUE
agent('1,'4,'4) : FALSE
animate('1,'1) : TRUE
animate('1,'2) : FALSE
animate('1,'3) : FALSE
animate('1,'4) : FALSE
beverage('1,'1) : FALSE
beverage('1,'2) : TRUE
beverage('1,'3) : FALSE
beverage('1,'4) : FALSE
entity('1,'1) : TRUE
entity('1,'2) : TRUE
entity('1,'3) : FALSE
entity('1,'4) : FALSE
event('1,'1) : FALSE
event('1,'2) : FALSE
event('1,'3) : TRUE
event('1,'4) : FALSE
eventuality('1,'1) : FALSE
eventuality('1,'2) : FALSE
eventuality('1,'3) : TRUE
eventuality('1,'4) : FALSE
existent('1,'1) : TRUE
existent('1,'2) : TRUE
existent('1,'3) : FALSE
existent('1,'4) : FALSE
female('1,'1) : TRUE
female('1,'2) : FALSE
female('1,'3) : FALSE
female('1,'4) : FALSE
food('1,'1) : FALSE
food('1,'2) : TRUE
food('1,'3) : FALSE
food('1,'4) : FALSE
forename('1,'1) : FALSE
forename('1,'2) : FALSE
forename('1,'3) : FALSE
forename('1,'4) : TRUE
general('1,'1) : FALSE
general('1,'2) : FALSE
general('1,'3) : FALSE
general('1,'4) : TRUE
human('1,'1) : TRUE
human('1,'2) : FALSE
human('1,'3) : FALSE
human('1,'4) : FALSE
human_person('1,'1) : TRUE
human_person('1,'2) : FALSE
human_person('1,'3) : FALSE
human_person('1,'4) : FALSE
impartial('1,'1) : TRUE
impartial('1,'2) : TRUE
impartial('1,'3) : FALSE
impartial('1,'4) : FALSE
living('1,'1) : TRUE
living('1,'2) : FALSE
living('1,'3) : FALSE
living('1,'4) : FALSE
mia_forename('1,'1) : FALSE
mia_forename('1,'2) : FALSE
mia_forename('1,'3) : FALSE
mia_forename('1,'4) : TRUE
nonexistent('1,'1) : FALSE
nonexistent('1,'2) : FALSE
nonexistent('1,'3) : TRUE
nonexistent('1,'4) : TRUE
nonhuman('1,'1) : FALSE
nonhuman('1,'2) : TRUE
nonhuman('1,'3) : TRUE
nonhuman('1,'4) : TRUE
nonliving('1,'1) : FALSE
nonliving('1,'2) : TRUE
nonliving('1,'3) : TRUE
nonliving('1,'4) : TRUE
nonreflexive('1,'1) : FALSE
nonreflexive('1,'2) : FALSE
nonreflexive('1,'3) : TRUE
nonreflexive('1,'4) : TRUE
object('1,'1) : FALSE
object('1,'2) : TRUE
object('1,'3) : FALSE
object('1,'4) : FALSE
of('1,'1,'1) : FALSE
of('1,'1,'2) : TRUE
of('1,'1,'3) : TRUE
of('1,'1,'4) : TRUE
of('1,'2,'1) : FALSE
of('1,'2,'2) : TRUE
of('1,'2,'3) : TRUE
of('1,'2,'4) : TRUE
of('1,'3,'1) : FALSE
of('1,'3,'2) : TRUE
of('1,'3,'3) : TRUE
of('1,'3,'4) : TRUE
of('1,'4,'1) : TRUE
of('1,'4,'2) : TRUE
of('1,'4,'3) : TRUE
of('1,'4,'4) : TRUE
order('1,'1) : FALSE
order('1,'2) : FALSE
order('1,'3) : TRUE
order('1,'4) : FALSE
organism('1,'1) : TRUE
organism('1,'2) : FALSE
organism('1,'3) : FALSE
organism('1,'4) : FALSE
past('1,'1) : FALSE
past('1,'2) : FALSE
past('1,'3) : TRUE
past('1,'4) : FALSE
patient('1,'1,'1) : TRUE
patient('1,'1,'2) : TRUE
patient('1,'1,'3) : TRUE
patient('1,'1,'4) : TRUE
patient('1,'2,'1) : TRUE
patient('1,'2,'2) : TRUE
patient('1,'2,'3) : TRUE
patient('1,'2,'4) : TRUE
patient('1,'3,'1) : FALSE
patient('1,'3,'2) : TRUE
patient('1,'3,'3) : TRUE
patient('1,'3,'4) : TRUE
patient('1,'4,'1) : FALSE
patient('1,'4,'2) : FALSE
patient('1,'4,'3) : FALSE
patient('1,'4,'4) : TRUE
relation('1,'1) : FALSE
relation('1,'2) : FALSE
relation('1,'3) : FALSE
relation('1,'4) : TRUE
relname('1,'1) : FALSE
relname('1,'2) : FALSE
relname('1,'3) : FALSE
relname('1,'4) : TRUE
shake_beverage('1,'1) : FALSE
shake_beverage('1,'2) : TRUE
shake_beverage('1,'3) : FALSE
shake_beverage('1,'4) : FALSE
singleton('1,'1) : TRUE
singleton('1,'2) : TRUE
singleton('1,'3) : TRUE
singleton('1,'4) : TRUE
skc5 = '1
skc6 = '3
skc7 = '2
skc8 = '4
skc9 = '1
specific('1,'1) : TRUE
specific('1,'2) : TRUE
specific('1,'3) : TRUE
specific('1,'4) : FALSE
substance_matter('1,'1) : FALSE
substance_matter('1,'2) : TRUE
substance_matter('1,'3) : FALSE
substance_matter('1,'4) : FALSE
thing('1,'1) : TRUE
thing('1,'2) : TRUE
thing('1,'3) : TRUE
thing('1,'4) : TRUE
unisex('1,'1) : FALSE
unisex('1,'2) : TRUE
unisex('1,'3) : TRUE
unisex('1,'4) : TRUE
woman('1,'1) : TRUE
woman('1,'2) : FALSE
woman('1,'3) : FALSE
woman('1,'4) : FALSE
Paradox 2.0
Koen Claessen, Niklas Sörensson
Chalmers University of Technology and
Gothenburg University, Sweden
{koen,nik}[@]cs.chalmers.se
See the Vampire 8.0 sample solutions.
Theo 2006
Monty Newborn
McGill University, Canada
newborn[@]cs.mcgill.ca
Sample FOF proof for SYN075+1
Rating : 0.33 v3.1.0 Status : Theorem
Predicates: big_f equal
Functions: SK1 SK2 : SK5 SK3 SK4
Renamed predicates: big_f E.
EQ: 12.11.2
ESAF: 5 6 7 8
ESAP: 3 4
OPT: k1 m1 z0 h1 n1 b1 x12:X6:N5 v6 l4 t600/600
No splitting!
WEAKENING ARRAY: 121 weakenings possible
# Clause Literal Position Contents Variables Heuristic Nest
0 20 1 1 80000101 2 5f4528f 2
1 20 1 3 0 2 5f5d92d 1
2 10 2 2 80000040 2 5f5dd16 1
3 20 2 3 0 2 5f75fcd 1
4 20 2 2 80000101 2 5f75fce 1
5 20 3 1 1 2 5f75fcf 2
6 20 1 -1 ffffffff 2 5f75fd0 0
7 9 2 2 80000080 2 5f76418 1
8 20 3 2 80000141 2 5f8e66e 1
9 20 2 -1 ffffffff 2 5f8e670 0
10 19 1 1 80000101 2 5f8e6d3 2
11 1 2 2 80000040 2 5f8edda 1
12 20 3 3 0 2 5fa6d0d 1
13 20 3 -1 ffffffff 2 5fa6d10 0
14 1 3 2 80000080 2 5fa7478 1
15 19 1 3 0 2 5fbf411 1
16 19 2 2 80000101 2 5fbf412 1
17 19 1 -1 ffffffff 2 5fbf414 0
18 19 2 3 0 2 5fd7ab1 1
19 19 3 2 80000141 2 5fd7ab2 1
20 19 3 1 1 2 5fd7ab3 2
21 19 2 -1 ffffffff 2 5fd7ab4 0
22 18 1 1 800000c2 2 5fd7b17 2
23 19 3 -1 ffffffff 2 5ff0154 0
24 19 3 3 0 2 60087f1 1
25 18 1 4 80000101 2 6008854 1
26 18 2 2 0 2 6008856 3
27 18 2 1 800000c2 2 6008857 2
28 18 1 -1 ffffffff 2 6008858 0
29 18 1 5 0 2 6020ef3 1
30 18 3 1 80000101 2 6020ef7 2
31 18 2 -1 ffffffff 2 6020ef8 0
32 18 2 3 1 2 6039595 2
33 18 3 -1 ffffffff 2 6039598 0
34 17 1 1 800000c2 2 60395fb 2
35 17 2 1 800000c2 2 6051c9b 2
36 17 1 -1 ffffffff 2 6051c9c 0
37 18 2 4 1 2 606a2d4 1
38 18 3 2 0 2 606a2d6 2
39 17 2 -1 ffffffff 2 606a33c 0
40 17 2 4 80000101 2 60829d8 1
41 17 3 1 80000101 2 60829db 2
42 17 3 -1 ffffffff 2 60829dc 0
43 18 3 3 0 2 609b015 1
44 17 2 2 0 2 609b07a 3
45 16 1 1 800000c2 3 609b0df 2
46 16 1 -1 ffffffff 3 609b0e0 0
47 17 1 4 1 2 60b3718 1
48 16 2 -1 ffffffff 3 60b3780 0
49 17 2 3 1 2 60cbdb9 2
50 16 1 4 80000101 3 60cbe1c 1
51 16 2 1 800000c2 3 60cbe1f 2
52 16 3 -1 ffffffff 3 60cbe20 0
53 16 4 -1 ffffffff 3 60e44c0 0
54 17 2 5 0 2 60fcaf7 1
55 17 3 2 0 2 60fcafa 2
56 16 3 2 80000101 3 60fcb5e 1
57 15 1 -1 ffffffff 3 60fcbc4 0
58 16 4 2 80000141 3 61151fe 1
59 15 1 1 800000c2 3 6115263 2
----------------------------------------------------------------------
MODIFY THEOREM
Nodes searched last time = 0
Time taken = 0
Time to go = 600
o_maxtime = 300
Weakened to: 0 20S E.[z,x] ~big_f[y,SK3[x]] E.[y,SK4[x]] ... ?
LEVEL CLAUSE LITERAL POSITION NEW OLD HEURISTIC
0 20 1 1 2 80000101
--------------------------------------------------------------------
0
Sample CNF proof for SYN075-1
Theo found 89 ways to weaken the theorem as listed below.
It took the first way on the list
(18S ~E.[x,g[y]] big_f[z,f[y]] E.[f[y],y]) and then attempted to
prove the theorem.
Clauses 19,20,21,22,23,24,30,34 were found to be potentially "useful" for
proving the given theorem.
Rating : 0.08 v3.1.0 Status : Unsatisfiable
Predicates: equal big_f
Functions: aC bC : h f g
Renamed predicates: E. big_f
EQ: 12.11.4
ESAF: 7 8 9 10
ESAP: 5 6
OPT: k1 m1 z0 h1 n1 b1 x12:X6:N5 v6 l4 t600/600
No splitting!
WEAKENING ARRAY: 89 weakenings possible
# Clause Literal Position Contents Variables Heuristic Nest
0 18 2 1 0 2 5f45357 2
1 18 1 2 80000141 2 5f5d9f6 1
2 3 2 2 80000080 2 5f5dfd0 1
3 18 2 3 1 2 5f76095 1
4 18 3 2 1 2 5f76096 2
5 18 2 2 80000101 2 5f76096 1
6 18 3 1 80000101 2 5f76097 2
7 18 1 -1 ffffffff 2 5f76098 0
8 2 2 2 80000040 2 5f766d6 1
9 18 2 -1 ffffffff 2 5f8e738 0
10 1 1 2 80000040 2 5f8edda 1
11 18 3 3 1 2 5fa6dd5 1
12 18 3 -1 ffffffff 2 5fa6dd8 0
13 17 1 2 80000101 2 5fa6e3a 1
14 17 2 1 0 2 5fa6e3b 2
15 1 2 2 80000080 2 5fa7478 1
16 17 2 2 80000141 2 5fbf4da 1
17 17 3 1 80000101 2 5fbf4db 2
18 17 1 -1 ffffffff 2 5fbf4dc 0
19 17 2 3 1 2 5fd7b79 1
20 17 3 2 1 2 5fd7b7a 2
21 17 2 -1 ffffffff 2 5fd7b7c 0
22 16 1 1 80000101 2 5fd7bdf 2
23 17 3 -1 ffffffff 2 5ff021c 0
24 16 2 1 800000c2 2 5ff027f 2
25 17 3 3 1 2 60088b9 1
26 16 2 2 0 2 600891e 3
27 16 1 -1 ffffffff 2 6008920 0
28 16 2 4 80000101 2 6020fbc 1
29 16 1 3 0 2 6020fbd 1
30 16 3 1 800000c2 2 6020fbf 2
31 16 2 -1 ffffffff 2 6020fc0 0
32 16 3 2 0 2 603965e 3
33 16 3 -1 ffffffff 2 6039660 0
34 15 1 1 80000101 2 60396c3 2
35 16 2 5 0 2 6051cfb 1
36 15 2 1 800000c2 2 6051d63 2
37 15 1 -1 ffffffff 2 6051d64 0
38 16 3 3 1 2 606a39d 2
39 15 3 1 800000c2 2 606a403 2
40 15 2 -1 ffffffff 2 606a404 0
41 15 3 -1 ffffffff 2 6082aa4 0
42 16 3 4 1 2 609b0dc 1
43 15 3 4 80000101 2 609b140 1
44 15 2 2 0 2 609b142 3
45 14 1 -1 ffffffff 3 609b1a8 0
46 15 1 3 0 2 60b37e1 1
47 14 1 2 80000141 3 60b3846 1
48 14 2 -1 ffffffff 3 60b3848 0
49 15 3 2 0 2 60cbe82 3
50 14 2 2 80000101 3 60cbee6 1
51 14 3 1 800000c2 3 60cbee7 2
52 14 3 -1 ffffffff 3 60cbee8 0
53 15 2 4 1 2 60e4520 1
54 14 4 -1 ffffffff 3 60e4588 0
55 15 3 3 1 2 60fcbc1 2
56 14 3 4 80000101 3 60fcc24 1
57 14 4 1 800000c2 3 60fcc27 2
58 13 1 -1 ffffffff 3 60fcc8c 0
59 13 2 -1 ffffffff 3 611532c 0
----------------------------------------------------------------------
MODIFY THEOREM
Nodes searched last time = 470
Time taken = 1
Time to go = 599
o_maxtime = 299
Weakened to: 0 18S ~E.[x,g[y]] big_f[z,f[y]] E.[f[y],y] ... ?
LEVEL CLAUSE LITERAL POSITION NEW OLD HEURISTIC
0 18 2 1 2 0
--------------------------------------------------------------------
0
Vampire 8.0
Andrei Voronkov
University of Manchester, England
voronkov[@]cs.man.ac.uk
Sample FOF proof for SYN075+1
=========== Refutation ==========
*********** [1, input] ***********
(? X0 X1)(! X2 X3)(big_f(X2,X3) <=> X2=X0 & X3=X1)
*********** [1->77, normalize] ***********
(? X0 X1)(! X2 X3)(big_f(X2,X3) <=> X2=X0 & X3=X1)
-----------------------------
(? X0 X1)(! X2 X3)(big_f(X2,X3) <=> X3=X1 & X2=X0)
*********** [77->84, NNF transformation] ***********
(? X0 X1)(! X2 X3)(big_f(X2,X3) <=> X3=X1 & X2=X0)
-----------------------------
(? X0 X1)(! X2 X3)((~big_f(X2,X3) \/ (X3=X1 & X2=X0)) & ((X3!=X1 \/ X2!=X0) \/ big_f(X2,X3)))
*********** [84->85, flattening] ***********
(? X0 X1)(! X2 X3)((~big_f(X2,X3) \/ (X3=X1 & X2=X0)) & ((X3!=X1 \/ X2!=X0) \/ big_f(X2,X3)))
-----------------------------
(? X0 X1)(! X2 X3)((~big_f(X2,X3) \/ (X3=X1 & X2=X0)) & (X3!=X1 \/ X2!=X0 \/ big_f(X2,X3)))
*********** [85->86, skolemization] ***********
(? X0 X1)(! X2 X3)((~big_f(X2,X3) \/ (X3=X1 & X2=X0)) & (X3!=X1 \/ X2!=X0 \/ big_f(X2,X3)))
-----------------------------
(~big_f(X2,X3) \/ (X3=$s12 & X2=$s11)) & (X3!=$s12 \/ X2!=$s11 \/ big_f(X2,X3))
*********** [86->93, cnf transformation] ***********
(~big_f(X2,X3) \/ (X3=$s12 & X2=$s11)) & (X3!=$s12 \/ X2!=$s11 \/ big_f(X2,X3))
-----------------------------
big_f(X2,X3) \/ X2!=$s11 \/ X3!=$s12
*********** [93->116, equality resolution, passive clause reanimation] ***********
big_f(X2,X3) \/ X2!=$s11 \/ X3!=$s12
-----------------------------
X1!=$s11 \/ big_f(X1,$s12)
*********** [116->122, equality resolution, passive clause reanimation] ***********
X1!=$s11 \/ big_f(X1,$s12)
-----------------------------
big_f($s11,$s12)
*********** [2, input] ***********
~(? X1)(! X3)((? X0)(! X2)(big_f(X2,X3) <=> X2=X0) <=> X3=X1)
*********** [2->78, rectify] ***********
~(? X1)(! X3)((? X0)(! X2)(big_f(X2,X3) <=> X2=X0) <=> X3=X1)
-----------------------------
~(? X0)(! X1)((? X2)(! X3)(big_f(X3,X1) <=> X3=X2) <=> X1=X0)
*********** [78->79, normalize] ***********
~(? X0)(! X1)((? X2)(! X3)(big_f(X3,X1) <=> X3=X2) <=> X1=X0)
-----------------------------
~(? X0)(! X1)(X1=X0 <=> (? X2)(! X3)(X3=X2 <=> big_f(X3,X1)))
*********** [79->80, ENNF transformation] ***********
~(? X0)(! X1)(X1=X0 <=> (? X2)(! X3)(X3=X2 <=> big_f(X3,X1)))
-----------------------------
(! X0)(? X1)(X1=X0 <~> (? X2)(! X3)(X3=X2 <=> big_f(X3,X1)))
*********** [80->81, NNF transformation] ***********
(! X0)(? X1)(X1=X0 <~> (? X2)(! X3)(X3=X2 <=> big_f(X3,X1)))
-----------------------------
(! X0)(? X1)((X1=X0 \/ (? X2)(! X3)((X3!=X2 \/ big_f(X3,X1)) & (~big_f(X3,X1) \/ X3=X2))) & (X1!=X0 \/ (! X2)(? X3)((X3=X2 \/ big_f(X3,X1)) & (X3!=X2 \/ ~big_f(X3,X1)))))
*********** [81->82, rectify] ***********
(! X0)(? X1)((X1=X0 \/ (? X2)(! X3)((X3!=X2 \/ big_f(X3,X1)) & (~big_f(X3,X1) \/ X3=X2))) & (X1!=X0 \/ (! X2)(? X3)((X3=X2 \/ big_f(X3,X1)) & (X3!=X2 \/ ~big_f(X3,X1)))))
-----------------------------
(! X0)(? X1)((X1=X0 \/ (? X2)(! X3)((X3!=X2 \/ big_f(X3,X1)) & (~big_f(X3,X1) \/ X3=X2))) & (X1!=X0 \/ (! X4)(? X5)((X5=X4 \/ big_f(X5,X1)) & (X5!=X4 \/ ~big_f(X5,X1)))))
*********** [82->83, skolemization] ***********
(! X0)(? X1)((X1=X0 \/ (? X2)(! X3)((X3!=X2 \/ big_f(X3,X1)) & (~big_f(X3,X1) \/ X3=X2))) & (X1!=X0 \/ (! X4)(? X5)((X5=X4 \/ big_f(X5,X1)) & (X5!=X4 \/ ~big_f(X5,X1)))))
-----------------------------
($s8(X0)=X0 \/ ((X3!=$s9(X1) \/ big_f(X3,$s8(X0))) & (~big_f(X3,$s8(X0)) \/ X3=$s9(X1)))) & ($s8(X0)!=X0 \/ (($s10(X1,X4)=X4 \/ big_f($s10(X1,X4),$s8(X0))) & ($s10(X1,X4)!=X4 \/ ~big_f($s10(X1,X4),$s8(X0)))))
*********** [83->87, cnf transformation] ***********
($s8(X0)=X0 \/ ((X3!=$s9(X1) \/ big_f(X3,$s8(X0))) & (~big_f(X3,$s8(X0)) \/ X3=$s9(X1)))) & ($s8(X0)!=X0 \/ (($s10(X1,X4)=X4 \/ big_f($s10(X1,X4),$s8(X0))) & ($s10(X1,X4)!=X4 \/ ~big_f($s10(X1,X4),$s8(X0)))))
-----------------------------
big_f(X3,$s8(X0)) \/ X3!=$s9(X1) \/ $s8(X0)=X0
*********** [87->118, equality resolution, passive clause reanimation] ***********
big_f(X3,$s8(X0)) \/ X3!=$s9(X1) \/ $s8(X0)=X0
-----------------------------
big_f($s9(X1),$s8(X2)) \/ $s8(X2)=X2
*********** [86->91, cnf transformation] ***********
(~big_f(X2,X3) \/ (X3=$s12 & X2=$s11)) & (X3!=$s12 \/ X2!=$s11 \/ big_f(X2,X3))
-----------------------------
X3=$s12 \/ ~big_f(X2,X3)
*********** [118,91->123, resolution, passive clause reanimation] ***********
big_f($s9(X1),$s8(X2)) \/ $s8(X2)=X2
X3=$s12 \/ ~big_f(X2,X3)
-----------------------------
$s8(X1)=$s12 \/ $s8(X1)=X1
*********** [123->131, equality factoring, passive clause reanimation] ***********
$s8(X1)=$s12 \/ $s8(X1)=X1
-----------------------------
$s12!=X1 \/ $s8(X1)=X1
*********** [131->146, equality resolution, passive clause reanimation] ***********
$s12!=X1 \/ $s8(X1)=X1
-----------------------------
$s8($s12)=$s12
*********** [83->89, cnf transformation] ***********
($s8(X0)=X0 \/ ((X3!=$s9(X1) \/ big_f(X3,$s8(X0))) & (~big_f(X3,$s8(X0)) \/ X3=$s9(X1)))) & ($s8(X0)!=X0 \/ (($s10(X1,X4)=X4 \/ big_f($s10(X1,X4),$s8(X0))) & ($s10(X1,X4)!=X4 \/ ~big_f($s10(X1,X4),$s8(X0)))))
-----------------------------
big_f($s10(X1,X4),$s8(X0)) \/ $s10(X1,X4)=X4 \/ $s8(X0)!=X0
*********** [146,89,146->202, backward superposition, forward demodulation, passive clause reanimation] ***********
$s8($s12)=$s12
big_f($s10(X1,X4),$s8(X0)) \/ $s10(X1,X4)=X4 \/ $s8(X0)!=X0
$s8($s12)=$s12
-----------------------------
big_f($s10(X1,X2),$s12) \/ $s10(X1,X2)=X2
*********** [86->92, cnf transformation] ***********
(~big_f(X2,X3) \/ (X3=$s12 & X2=$s11)) & (X3!=$s12 \/ X2!=$s11 \/ big_f(X2,X3))
-----------------------------
X2=$s11 \/ ~big_f(X2,X3)
*********** [202,92->213, resolution, passive clause reanimation] ***********
big_f($s10(X1,X2),$s12) \/ $s10(X1,X2)=X2
X2=$s11 \/ ~big_f(X2,X3)
-----------------------------
$s10(X1,X2)=$s11 \/ $s10(X1,X2)=X2
*********** [213->296, equality factoring, passive clause reanimation] ***********
$s10(X1,X2)=$s11 \/ $s10(X1,X2)=X2
-----------------------------
$s11!=X1 \/ $s10(X2,X1)=X1
*********** [296->320, equality resolution, passive clause reanimation] ***********
$s11!=X1 \/ $s10(X2,X1)=X1
-----------------------------
$s10(X1,$s11)=$s11
*********** [83->90, cnf transformation] ***********
($s8(X0)=X0 \/ ((X3!=$s9(X1) \/ big_f(X3,$s8(X0))) & (~big_f(X3,$s8(X0)) \/ X3=$s9(X1)))) & ($s8(X0)!=X0 \/ (($s10(X1,X4)=X4 \/ big_f($s10(X1,X4),$s8(X0))) & ($s10(X1,X4)!=X4 \/ ~big_f($s10(X1,X4),$s8(X0)))))
-----------------------------
~big_f($s10(X1,X4),$s8(X0)) \/ $s10(X1,X4)!=X4 \/ $s8(X0)!=X0
*********** [146,90,146->192, backward superposition, forward demodulation, passive clause reanimation] ***********
$s8($s12)=$s12
~big_f($s10(X1,X4),$s8(X0)) \/ $s10(X1,X4)!=X4 \/ $s8(X0)!=X0
$s8($s12)=$s12
-----------------------------
$s10(X1,X2)!=X2 \/ ~big_f($s10(X1,X2),$s12)
*********** [122,320,192,320->328, backward superposition, forward demodulation, forward subsumption resolution] ***********
big_f($s11,$s12)
$s10(X1,$s11)=$s11
$s10(X1,X2)!=X2 \/ ~big_f($s10(X1,X2),$s12)
$s10(X1,$s11)=$s11
-----------------------------
#
======= End of refutation =======
Sample CNF proof for SYN075-1
=========== Refutation ==========
*********** [3, input] ***********
X0!=a \/ X1!=b \/ big_f(X0,X1)
*********** [3->11, normalize] ***********
X0!=a \/ X1!=b \/ big_f(X0,X1)
-----------------------------
X1!=b \/ X0!=a \/ big_f(X0,X1)
*********** [11->28, equality resolution] ***********
X1!=b \/ X0!=a \/ big_f(X0,X1)
-----------------------------
X1!=a \/ big_f(X1,b)
*********** [28->35, equality resolution] ***********
X1!=a \/ big_f(X1,b)
-----------------------------
big_f(a,b)
*********** [1, input] ***********
~big_f(X0,X1) \/ X0=a
*********** [4, input] ***********
~big_f(X1,f(X0)) \/ X1!=g(X0) \/ f(X0)=X0
*********** [4->12, normalize] ***********
~big_f(X1,f(X0)) \/ X1!=g(X0) \/ f(X0)=X0
-----------------------------
X1!=g(X0) \/ ~big_f(X1,f(X0)) \/ X0=f(X0)
*********** [12->21, literal permutation] ***********
X1!=g(X0) \/ ~big_f(X1,f(X0)) \/ X0=f(X0)
-----------------------------
X1!=g(X2) \/ ~big_f(X1,f(X2)) \/ f(X2)=X2
*********** [6, input] ***********
X1!=g(X0) \/ big_f(X1,f(X0)) \/ f(X0)=X0
*********** [6->14, normalize] ***********
X1!=g(X0) \/ big_f(X1,f(X0)) \/ f(X0)=X0
-----------------------------
X1!=g(X0) \/ X0=f(X0) \/ big_f(X1,f(X0))
*********** [21,14->22, forward subsumption resolution] ***********
X1!=g(X2) \/ ~big_f(X1,f(X2)) \/ f(X2)=X2
X1!=g(X0) \/ X0=f(X0) \/ big_f(X1,f(X0))
-----------------------------
X1!=g(X2) \/ f(X2)=X2
*********** [22->29, equality resolution] ***********
X1!=g(X2) \/ f(X2)=X2
-----------------------------
f(X1)=X1
*********** [9, input] ***********
f(X0)!=X0 \/ big_f(h(X0,X2),f(X0)) \/ h(X0,X2)=X2
*********** [9->17, normalize] ***********
f(X0)!=X0 \/ big_f(h(X0,X2),f(X0)) \/ h(X0,X2)=X2
-----------------------------
X0!=f(X0) \/ X2=h(X0,X2) \/ big_f(h(X0,X2),f(X0))
*********** [17->25, literal permutation] ***********
X0!=f(X0) \/ X2=h(X0,X2) \/ big_f(h(X0,X2),f(X0))
-----------------------------
f(X1)!=X1 \/ big_f(h(X1,X2),f(X1)) \/ h(X1,X2)=X2
*********** [29,25->31, backward demodulation] ***********
f(X1)=X1
f(X1)!=X1 \/ big_f(h(X1,X2),f(X1)) \/ h(X1,X2)=X2
-----------------------------
big_f(h(X1,X2),X1) \/ h(X1,X2)=X2
*********** [1,31->33, resolution] ***********
~big_f(X0,X1) \/ X0=a
big_f(h(X1,X2),X1) \/ h(X1,X2)=X2
-----------------------------
h(X1,X2)=a \/ h(X1,X2)=X2
*********** [33->36, equality factoring] ***********
h(X1,X2)=a \/ h(X1,X2)=X2
-----------------------------
a!=X1 \/ h(X2,X1)=X1
*********** [36->40, equality resolution] ***********
a!=X1 \/ h(X2,X1)=X1
-----------------------------
h(X1,a)=a
*********** [10, input] ***********
f(X0)!=X0 \/ h(X0,X2)!=X2 \/ ~big_f(h(X0,X2),f(X0))
*********** [10->18, normalize] ***********
f(X0)!=X0 \/ h(X0,X2)!=X2 \/ ~big_f(h(X0,X2),f(X0))
-----------------------------
X0!=f(X0) \/ X2!=h(X0,X2) \/ ~big_f(h(X0,X2),f(X0))
*********** [18->24, literal permutation] ***********
X0!=f(X0) \/ X2!=h(X0,X2) \/ ~big_f(h(X0,X2),f(X0))
-----------------------------
h(X1,X2)!=X2 \/ ~big_f(h(X1,X2),f(X1)) \/ f(X1)!=X1
*********** [29,24->32, backward demodulation] ***********
f(X1)=X1
h(X1,X2)!=X2 \/ ~big_f(h(X1,X2),f(X1)) \/ f(X1)!=X1
-----------------------------
h(X1,X2)!=X2 \/ ~big_f(h(X1,X2),X1)
*********** [40,32,40->41, backward superposition, forward demodulation] ***********
h(X1,a)=a
h(X1,X2)!=X2 \/ ~big_f(h(X1,X2),X1)
h(X1,a)=a
-----------------------------
~big_f(a,X1)
*********** [35,41->42, resolution] ***********
big_f(a,b)
~big_f(a,X1)
-----------------------------
#
======= End of refutation =======
Vampire 8.1
Andrei Voronkov
University of Manchester, England
voronkov[@]cs.man.ac.uk
See the Vampire 8.0 sample solutions.