============================== Prover9 ===============================
Prover9 (32) version June-2007, June 2007.
Process 4913 was started by zalta on mally,
Sat Jul 14 17:21:59 2007
The command was "prove".
============================== end of head ===========================

============================== INPUT =================================

formulas(sos).
(all x all y Sum(x,y) = Sum(y,x)).
(all x Sum(x,x) = x).
(all x all y all z Sum(Sum(x,y),z) = Sum(x,Sum(y,z))).
(all x all y (IsIn(x,y) <-> (exists z Sum(x,z) = y))).
end_of_list.

formulas(goals).
(all x all y (IsIn(y,x) -> Sum(x,y) = x)).
end_of_list.

============================== end of input ==========================

============================== PROCESS NON-CLAUSAL FORMULAS ==========

% Formulas that are not ordinary clauses:
1 (all x all y Sum(x,y) = Sum(y,x)) # label(non_clause).  [assumption].
2 (all x Sum(x,x) = x) # label(non_clause).  [assumption].
3 (all x all y all z Sum(Sum(x,y),z) = Sum(x,Sum(y,z))) # label(non_clause).  [assumption].
4 (all x all y (IsIn(x,y) <-> (exists z Sum(x,z) = y))) # label(non_clause).  [assumption].
5 (all x all y (IsIn(y,x) -> Sum(x,y) = x)) # label(non_clause) # label(goal).  [goal].

============================== end of process non-clausal formulas ===

============================== PROCESS INITIAL CLAUSES ===============

% Clauses before input processing:

formulas(usable).
end_of_list.

formulas(sos).
Sum(x,y) = Sum(y,x).  [clausify(1)].
Sum(x,x) = x.  [clausify(2)].
Sum(Sum(x,y),z) = Sum(x,Sum(y,z)).  [clausify(3)].
-IsIn(x,y) | Sum(x,f1(x,y)) = y.  [clausify(4)].
IsIn(x,y) | Sum(x,z) != y.  [clausify(4)].
IsIn(c2,c1).  [deny(5)].
Sum(c1,c2) != c1.  [deny(5)].
end_of_list.

formulas(demodulators).
end_of_list.

============================== PREDICATE ELIMINATION =================

Eliminating IsIn/2
6 IsIn(x,y) | Sum(x,z) != y.  [clausify(4)].
7 -IsIn(x,y) | Sum(x,f1(x,y)) = y.  [clausify(4)].
Derived: Sum(x,y) != z | Sum(x,f1(x,z)) = z.  [resolve(6,a,7,a)].
8 IsIn(c2,c1).  [deny(5)].
Derived: Sum(c2,f1(c2,c1)) = c1.  [resolve(8,a,7,a)].

============================== end predicate elimination =============

Auto_denials:  (no changes).

Term ordering decisions:
Predicate symbol precedence:  predicate_order([ = ]).
Function symbol precedence:  function_order([ c1, c2, Sum, f1 ]).
After inverse_order:  (no changes).
Unfolding symbols: (none).

Auto_inference settings:
  % set(paramodulation).  % (positive equality literals)
    % set(paramodulation) -> set(back_demod).
  % set(hyper_resolution).  % (nonunit Horn with equality)
    % set(hyper_resolution) -> set(pos_hyper_resolution).
  % set(neg_ur_resolution).  % (nonunit Horn with equality)
  % assign(para_lit_limit, 2).  % (nonunit Horn with equality)

Auto_process settings:  (no changes).

% Operation Sum is commutative; C redundancy checks enabled.

============================== end of process initial clauses ========

============================== CLAUSES FOR SEARCH ====================

% Clauses after input processing:

formulas(usable).
end_of_list.

formulas(sos).
9 Sum(x,y) = Sum(y,x).  [clausify(1)].
10 Sum(x,x) = x.  [clausify(2)].
11 Sum(Sum(x,y),z) = Sum(x,Sum(y,z)).  [clausify(3)].
12 Sum(c1,c2) != c1.  [deny(5)].
13 Sum(x,y) != z | Sum(x,f1(x,z)) = z.  [resolve(6,a,7,a)].
14 Sum(c2,f1(c2,c1)) = c1.  [resolve(8,a,7,a)].
end_of_list.

formulas(demodulators).
9 Sum(x,y) = Sum(y,x).  [clausify(1)].
        % (lex-dep)
10 Sum(x,x) = x.  [clausify(2)].
11 Sum(Sum(x,y),z) = Sum(x,Sum(y,z)).  [clausify(3)].
14 Sum(c2,f1(c2,c1)) = c1.  [resolve(8,a,7,a)].
end_of_list.

============================== end of clauses for search =============

============================== SEARCH ================================

% Starting search at 0.00 seconds.

given #1 (I,wt=7): 9 Sum(x,y) = Sum(y,x).  [clausify(1)].

given #2 (I,wt=5): 10 Sum(x,x) = x.  [clausify(2)].

given #3 (I,wt=11): 11 Sum(Sum(x,y),z) = Sum(x,Sum(y,z)).  [clausify(3)].

% Operation Sum is associative-commutative; CAC redundancy checks enabled.
% back CAC tautology: 15 Sum(x,Sum(y,z)) = Sum(z,Sum(x,y)).  [para(11(a,1),9(a,1))].

given #4 (I,wt=5): 12 Sum(c1,c2) != c1.  [deny(5)].

given #5 (I,wt=12): 13 Sum(x,y) != z | Sum(x,f1(x,z)) = z.  [resolve(6,a,7,a)].

given #6 (I,wt=7): 14 Sum(c2,f1(c2,c1)) = c1.  [resolve(8,a,7,a)].

given #7 (A,wt=11): 16 Sum(x,Sum(y,z)) = Sum(y,Sum(x,z)).  [para(9(a,1),11(a,1,1)),rewrite([11(2)])].

given #8 (T,wt=7): 21 Sum(x,f1(x,x)) = x.  [hyper(13,a,10,a)].

given #9 (T,wt=9): 18 Sum(x,Sum(x,y)) = Sum(x,y).  [para(10(a,1),11(a,1,1)),flip(a)].

============================== PROOF =================================

% Proof 1 at 0.00 (+ 0.00) seconds.
% Length of proof is 15.
% Level of proof is 4.
% Maximum clause weight is 11.
% Given clauses 9.

1 (all x all y Sum(x,y) = Sum(y,x)) # label(non_clause).  [assumption].
2 (all x Sum(x,x) = x) # label(non_clause).  [assumption].
3 (all x all y all z Sum(Sum(x,y),z) = Sum(x,Sum(y,z))) # label(non_clause).  [assumption].
4 (all x all y (IsIn(x,y) <-> (exists z Sum(x,z) = y))) # label(non_clause).  [assumption].
5 (all x all y (IsIn(y,x) -> Sum(x,y) = x)) # label(non_clause) # label(goal).  [goal].
7 -IsIn(x,y) | Sum(x,f1(x,y)) = y.  [clausify(4)].
8 IsIn(c2,c1).  [deny(5)].
9 Sum(x,y) = Sum(y,x).  [clausify(1)].
10 Sum(x,x) = x.  [clausify(2)].
11 Sum(Sum(x,y),z) = Sum(x,Sum(y,z)).  [clausify(3)].
12 Sum(c1,c2) != c1.  [deny(5)].
14 Sum(c2,f1(c2,c1)) = c1.  [resolve(8,a,7,a)].
18 Sum(x,Sum(x,y)) = Sum(x,y).  [para(10(a,1),11(a,1,1)),flip(a)].
38 Sum(c1,c2) = c1.  [para(14(a,1),18(a,1,2)),rewrite([9(3),14(8)])].
39 $F.  [resolve(38,a,12,a)].

============================== end of proof ==========================

============================== STATISTICS ============================

Given=9. Generated=102. Kept=30. proofs=1.
Usable=9. Sos=15. Demods=19. Limbo=2, Disabled=12. Hints=0.
Weight_deleted=0. Literals_deleted=0.
Forward_subsumed=72. Back_subsumed=1.
Sos_limit_deleted=0. Sos_displaced=0. Sos_removed=0.
New_demodulators=22 (3 lex), Back_demodulated=1. Back_unit_deleted=0.
Demod_attempts=736. Demod_rewrites=114.
Res_instance_prunes=0. Para_instance_prunes=0. Basic_paramod_prunes=0.
Nonunit_fsub_feature_tests=12. Nonunit_bsub_feature_tests=21.
Megabytes=0.05.
User_CPU=0.00, System_CPU=0.00, Wall_clock=0.

============================== end of statistics =====================

============================== end of search =========================

THEOREM PROVED

Exiting with 1 proof.

Process 4913 exit (max_proofs) Sat Jul 14 17:21:59 2007
