TSTP Solution File: SET909+1 by Otter---3.3

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Otter---3.3
% Problem  : SET909+1 : TPTP v8.1.0. Released v3.2.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : otter-tptp-script %s

% Computer : n008.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Wed Jul 27 13:14:30 EDT 2022

% Result   : Theorem 1.75s 1.98s
% Output   : Refutation 1.75s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    3
%            Number of leaves      :    6
% Syntax   : Number of clauses     :    9 (   6 unt;   0 nHn;   5 RR)
%            Number of literals    :   14 (   7 equ;   6 neg)
%            Maximal clause size   :    3 (   1 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of predicates  :    3 (   1 usr;   1 prp; 0-2 aty)
%            Number of functors    :    6 (   6 usr;   4 con; 0-2 aty)
%            Number of variables   :   17 (   6 sgn)

% Comments : 
%------------------------------------------------------------------------------
cnf(2,axiom,
    ( A != empty_set
    | ~ in(B,A) ),
    file('SET909+1.p',unknown),
    [] ).

cnf(5,axiom,
    ( A != unordered_pair(B,C)
    | in(D,A)
    | D != C ),
    file('SET909+1.p',unknown),
    [] ).

cnf(9,axiom,
    ( A != set_union2(B,C)
    | in(D,A)
    | ~ in(D,B) ),
    file('SET909+1.p',unknown),
    [] ).

cnf(21,axiom,
    A = A,
    file('SET909+1.p',unknown),
    [] ).

cnf(29,axiom,
    set_union2(A,A) = A,
    file('SET909+1.p',unknown),
    [] ).

cnf(31,axiom,
    set_union2(unordered_pair(dollar_c5,dollar_c4),dollar_c3) = empty_set,
    file('SET909+1.p',unknown),
    [] ).

cnf(38,plain,
    in(A,unordered_pair(B,A)),
    inference(hyper,[status(thm)],[21,5,21]),
    [iquote('hyper,21,5,21')] ).

cnf(66,plain,
    in(A,set_union2(unordered_pair(B,A),C)),
    inference(demod,[status(thm),theory(equality)],[inference(hyper,[status(thm)],[38,9,29]),29]),
    [iquote('hyper,38,9,28,demod,29')] ).

cnf(914,plain,
    $false,
    inference(hyper,[status(thm)],[66,2,31]),
    [iquote('hyper,66,2,31')] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.11/0.12  % Problem  : SET909+1 : TPTP v8.1.0. Released v3.2.0.
% 0.11/0.13  % Command  : otter-tptp-script %s
% 0.12/0.33  % Computer : n008.cluster.edu
% 0.12/0.33  % Model    : x86_64 x86_64
% 0.12/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.33  % Memory   : 8042.1875MB
% 0.12/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.12/0.33  % CPULimit : 300
% 0.12/0.33  % WCLimit  : 300
% 0.12/0.33  % DateTime : Wed Jul 27 10:46:38 EDT 2022
% 0.12/0.34  % CPUTime  : 
% 1.70/1.90  ----- Otter 3.3f, August 2004 -----
% 1.70/1.90  The process was started by sandbox2 on n008.cluster.edu,
% 1.70/1.90  Wed Jul 27 10:46:38 2022
% 1.70/1.90  The command was "./otter".  The process ID is 29971.
% 1.70/1.90  
% 1.70/1.90  set(prolog_style_variables).
% 1.70/1.90  set(auto).
% 1.70/1.90     dependent: set(auto1).
% 1.70/1.90     dependent: set(process_input).
% 1.70/1.90     dependent: clear(print_kept).
% 1.70/1.90     dependent: clear(print_new_demod).
% 1.70/1.90     dependent: clear(print_back_demod).
% 1.70/1.90     dependent: clear(print_back_sub).
% 1.70/1.90     dependent: set(control_memory).
% 1.70/1.90     dependent: assign(max_mem, 12000).
% 1.70/1.90     dependent: assign(pick_given_ratio, 4).
% 1.70/1.90     dependent: assign(stats_level, 1).
% 1.70/1.90     dependent: assign(max_seconds, 10800).
% 1.70/1.90  clear(print_given).
% 1.70/1.90  
% 1.70/1.90  formula_list(usable).
% 1.70/1.90  all A (A=A).
% 1.70/1.90  all A B (in(A,B)-> -in(B,A)).
% 1.70/1.90  all A B (unordered_pair(A,B)=unordered_pair(B,A)).
% 1.70/1.90  all A B (set_union2(A,B)=set_union2(B,A)).
% 1.70/1.90  all A (A=empty_set<-> (all B (-in(B,A)))).
% 1.70/1.90  all A B C (C=unordered_pair(A,B)<-> (all D (in(D,C)<->D=A|D=B))).
% 1.70/1.90  all A B C (C=set_union2(A,B)<-> (all D (in(D,C)<->in(D,A)|in(D,B)))).
% 1.70/1.90  empty(empty_set).
% 1.70/1.90  all A B (-empty(A)-> -empty(set_union2(A,B))).
% 1.70/1.90  all A B (-empty(A)-> -empty(set_union2(B,A))).
% 1.70/1.90  all A B (set_union2(A,A)=A).
% 1.70/1.90  exists A empty(A).
% 1.70/1.90  exists A (-empty(A)).
% 1.70/1.90  -(all A B C (set_union2(unordered_pair(A,B),C)!=empty_set)).
% 1.70/1.90  end_of_list.
% 1.70/1.90  
% 1.70/1.90  -------> usable clausifies to:
% 1.70/1.90  
% 1.70/1.90  list(usable).
% 1.70/1.90  0 [] A=A.
% 1.70/1.90  0 [] -in(A,B)| -in(B,A).
% 1.70/1.90  0 [] unordered_pair(A,B)=unordered_pair(B,A).
% 1.70/1.90  0 [] set_union2(A,B)=set_union2(B,A).
% 1.70/1.90  0 [] A!=empty_set| -in(B,A).
% 1.70/1.90  0 [] A=empty_set|in($f1(A),A).
% 1.70/1.90  0 [] C!=unordered_pair(A,B)| -in(D,C)|D=A|D=B.
% 1.70/1.90  0 [] C!=unordered_pair(A,B)|in(D,C)|D!=A.
% 1.70/1.90  0 [] C!=unordered_pair(A,B)|in(D,C)|D!=B.
% 1.70/1.90  0 [] C=unordered_pair(A,B)|in($f2(A,B,C),C)|$f2(A,B,C)=A|$f2(A,B,C)=B.
% 1.70/1.90  0 [] C=unordered_pair(A,B)| -in($f2(A,B,C),C)|$f2(A,B,C)!=A.
% 1.70/1.90  0 [] C=unordered_pair(A,B)| -in($f2(A,B,C),C)|$f2(A,B,C)!=B.
% 1.70/1.90  0 [] C!=set_union2(A,B)| -in(D,C)|in(D,A)|in(D,B).
% 1.70/1.90  0 [] C!=set_union2(A,B)|in(D,C)| -in(D,A).
% 1.70/1.90  0 [] C!=set_union2(A,B)|in(D,C)| -in(D,B).
% 1.70/1.90  0 [] C=set_union2(A,B)|in($f3(A,B,C),C)|in($f3(A,B,C),A)|in($f3(A,B,C),B).
% 1.70/1.90  0 [] C=set_union2(A,B)| -in($f3(A,B,C),C)| -in($f3(A,B,C),A).
% 1.70/1.90  0 [] C=set_union2(A,B)| -in($f3(A,B,C),C)| -in($f3(A,B,C),B).
% 1.70/1.90  0 [] empty(empty_set).
% 1.70/1.90  0 [] empty(A)| -empty(set_union2(A,B)).
% 1.70/1.90  0 [] empty(A)| -empty(set_union2(B,A)).
% 1.70/1.90  0 [] set_union2(A,A)=A.
% 1.70/1.90  0 [] empty($c1).
% 1.70/1.90  0 [] -empty($c2).
% 1.70/1.90  0 [] set_union2(unordered_pair($c5,$c4),$c3)=empty_set.
% 1.70/1.90  end_of_list.
% 1.70/1.90  
% 1.70/1.90  SCAN INPUT: prop=0, horn=0, equality=1, symmetry=0, max_lits=4.
% 1.70/1.90  
% 1.70/1.90  This ia a non-Horn set with equality.  The strategy will be
% 1.70/1.90  Knuth-Bendix, ordered hyper_res, factoring, and unit
% 1.70/1.90  deletion, with positive clauses in sos and nonpositive
% 1.70/1.90  clauses in usable.
% 1.70/1.90  
% 1.70/1.90     dependent: set(knuth_bendix).
% 1.70/1.90     dependent: set(anl_eq).
% 1.70/1.90     dependent: set(para_from).
% 1.70/1.90     dependent: set(para_into).
% 1.70/1.90     dependent: clear(para_from_right).
% 1.70/1.90     dependent: clear(para_into_right).
% 1.70/1.90     dependent: set(para_from_vars).
% 1.70/1.90     dependent: set(eq_units_both_ways).
% 1.70/1.90     dependent: set(dynamic_demod_all).
% 1.70/1.90     dependent: set(dynamic_demod).
% 1.70/1.90     dependent: set(order_eq).
% 1.70/1.90     dependent: set(back_demod).
% 1.70/1.90     dependent: set(lrpo).
% 1.70/1.90     dependent: set(hyper_res).
% 1.70/1.90     dependent: set(unit_deletion).
% 1.70/1.90     dependent: set(factor).
% 1.70/1.90  
% 1.70/1.90  ------------> process usable:
% 1.70/1.90  ** KEPT (pick-wt=6): 1 [] -in(A,B)| -in(B,A).
% 1.70/1.90  ** KEPT (pick-wt=6): 2 [] A!=empty_set| -in(B,A).
% 1.70/1.90  ** KEPT (pick-wt=14): 3 [] A!=unordered_pair(B,C)| -in(D,A)|D=B|D=C.
% 1.70/1.90  ** KEPT (pick-wt=11): 4 [] A!=unordered_pair(B,C)|in(D,A)|D!=B.
% 1.70/1.90  ** KEPT (pick-wt=11): 5 [] A!=unordered_pair(B,C)|in(D,A)|D!=C.
% 1.70/1.90  ** KEPT (pick-wt=17): 6 [] A=unordered_pair(B,C)| -in($f2(B,C,A),A)|$f2(B,C,A)!=B.
% 1.70/1.90  ** KEPT (pick-wt=17): 7 [] A=unordered_pair(B,C)| -in($f2(B,C,A),A)|$f2(B,C,A)!=C.
% 1.70/1.90  ** KEPT (pick-wt=14): 8 [] A!=set_union2(B,C)| -in(D,A)|in(D,B)|in(D,C).
% 1.70/1.90  ** KEPT (pick-wt=11): 9 [] A!=set_union2(B,C)|in(D,A)| -in(D,B).
% 1.70/1.90  ** KEPT (pick-wt=11): 10 [] A!=set_union2(B,C)|in(D,A)| -in(D,C).
% 1.70/1.90  ** KEPT (pick-wt=17): 11 [] A=set_union2(B,C)| -in($f3(B,C,A),A)| -in($f3(B,C,A),B).
% 1.70/1.90  ** KEPT (pick-wt=17): 12 [] A=set_union2(B,C)| -in($f3(B,C,A),A)| -in($f3(B,C,A),C).
% 1.70/1.90  ** KEPT (pick-wt=6): 13 [] empty(A)| -empty(set_union2(A,B)).
% 1.70/1.90  ** KEPT (pick-wt=6): 14 [] empty(A)| -empty(set_union2(B,A)).
% 1.75/1.98  ** KEPT (pick-wt=2): 15 [] -empty($c2).
% 1.75/1.98  
% 1.75/1.98  ------------> process sos:
% 1.75/1.98  ** KEPT (pick-wt=3): 21 [] A=A.
% 1.75/1.98  ** KEPT (pick-wt=7): 22 [] unordered_pair(A,B)=unordered_pair(B,A).
% 1.75/1.98  ** KEPT (pick-wt=7): 23 [] set_union2(A,B)=set_union2(B,A).
% 1.75/1.98  ** KEPT (pick-wt=7): 24 [] A=empty_set|in($f1(A),A).
% 1.75/1.98  ** KEPT (pick-wt=23): 25 [] A=unordered_pair(B,C)|in($f2(B,C,A),A)|$f2(B,C,A)=B|$f2(B,C,A)=C.
% 1.75/1.98  ** KEPT (pick-wt=23): 26 [] A=set_union2(B,C)|in($f3(B,C,A),A)|in($f3(B,C,A),B)|in($f3(B,C,A),C).
% 1.75/1.98  ** KEPT (pick-wt=2): 27 [] empty(empty_set).
% 1.75/1.98  ** KEPT (pick-wt=5): 28 [] set_union2(A,A)=A.
% 1.75/1.98  ---> New Demodulator: 29 [new_demod,28] set_union2(A,A)=A.
% 1.75/1.98  ** KEPT (pick-wt=2): 30 [] empty($c1).
% 1.75/1.98  ** KEPT (pick-wt=7): 31 [] set_union2(unordered_pair($c5,$c4),$c3)=empty_set.
% 1.75/1.98  ---> New Demodulator: 32 [new_demod,31] set_union2(unordered_pair($c5,$c4),$c3)=empty_set.
% 1.75/1.98    Following clause subsumed by 21 during input processing: 0 [copy,21,flip.1] A=A.
% 1.75/1.98    Following clause subsumed by 22 during input processing: 0 [copy,22,flip.1] unordered_pair(A,B)=unordered_pair(B,A).
% 1.75/1.98    Following clause subsumed by 23 during input processing: 0 [copy,23,flip.1] set_union2(A,B)=set_union2(B,A).
% 1.75/1.98  >>>> Starting back demodulation with 29.
% 1.75/1.98      >> back demodulating 18 with 29.
% 1.75/1.98  >>>> Starting back demodulation with 32.
% 1.75/1.98  
% 1.75/1.98  ======= end of input processing =======
% 1.75/1.98  
% 1.75/1.98  =========== start of search ===========
% 1.75/1.98  
% 1.75/1.98  -------- PROOF -------- 
% 1.75/1.98  
% 1.75/1.98  -----> EMPTY CLAUSE at   0.08 sec ----> 914 [hyper,66,2,31] $F.
% 1.75/1.98  
% 1.75/1.98  Length of proof is 2.  Level of proof is 2.
% 1.75/1.98  
% 1.75/1.98  ---------------- PROOF ----------------
% 1.75/1.98  % SZS status Theorem
% 1.75/1.98  % SZS output start Refutation
% See solution above
% 1.75/1.98  ------------ end of proof -------------
% 1.75/1.98  
% 1.75/1.98  
% 1.75/1.98  Search stopped by max_proofs option.
% 1.75/1.98  
% 1.75/1.98  
% 1.75/1.98  Search stopped by max_proofs option.
% 1.75/1.98  
% 1.75/1.98  ============ end of search ============
% 1.75/1.98  
% 1.75/1.98  -------------- statistics -------------
% 1.75/1.98  clauses given                 20
% 1.75/1.98  clauses generated           1518
% 1.75/1.98  clauses kept                 909
% 1.75/1.98  clauses forward subsumed     629
% 1.75/1.98  clauses back subsumed          1
% 1.75/1.98  Kbytes malloced             2929
% 1.75/1.98  
% 1.75/1.98  ----------- times (seconds) -----------
% 1.75/1.98  user CPU time          0.08          (0 hr, 0 min, 0 sec)
% 1.75/1.98  system CPU time        0.00          (0 hr, 0 min, 0 sec)
% 1.75/1.98  wall-clock time        2             (0 hr, 0 min, 2 sec)
% 1.75/1.98  
% 1.75/1.98  That finishes the proof of the theorem.
% 1.75/1.98  
% 1.75/1.98  Process 29971 finished Wed Jul 27 10:46:40 2022
% 1.75/1.98  Otter interrupted
% 1.75/1.98  PROOF FOUND
%------------------------------------------------------------------------------