TSTP Solution File: PUZ024-1 by Otter---3.3

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Otter---3.3
% Problem  : PUZ024-1 : TPTP v8.1.0. Released v1.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : otter-tptp-script %s

% Computer : n005.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:11:24 EDT 2022

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

% Comments : 
%------------------------------------------------------------------------------
cnf(4,axiom,
    ( ~ a_truth(A)
    | ~ a_truth(says(B,A))
    | a_truth(truthteller(B)) ),
    file('PUZ024-1.p',unknown),
    [] ).

cnf(13,axiom,
    ( a_truth(all_are_liars)
    | ~ people(A,B,C)
    | a_truth(truthteller(A))
    | a_truth(truthteller(B))
    | a_truth(truthteller(C)) ),
    file('PUZ024-1.p',unknown),
    [] ).

cnf(14,axiom,
    ~ a_truth(truthteller(A)),
    file('PUZ024-1.p',unknown),
    [] ).

cnf(26,axiom,
    people(b,c,a),
    file('PUZ024-1.p',unknown),
    [] ).

cnf(29,axiom,
    a_truth(says(a,all_are_liars)),
    file('PUZ024-1.p',unknown),
    [] ).

cnf(31,plain,
    a_truth(all_are_liars),
    inference(unit_del,[status(thm)],[inference(hyper,[status(thm)],[26,13]),14,14,14]),
    [iquote('hyper,26,13,unit_del,14,14,14')] ).

cnf(32,plain,
    a_truth(truthteller(a)),
    inference(hyper,[status(thm)],[29,4,31]),
    [iquote('hyper,29,4,31')] ).

cnf(33,plain,
    $false,
    inference(binary,[status(thm)],[32,14]),
    [iquote('binary,32.1,14.1')] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12  % Problem  : PUZ024-1 : TPTP v8.1.0. Released v1.0.0.
% 0.03/0.12  % Command  : otter-tptp-script %s
% 0.13/0.33  % Computer : n005.cluster.edu
% 0.13/0.33  % Model    : x86_64 x86_64
% 0.13/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.33  % Memory   : 8042.1875MB
% 0.13/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.33  % CPULimit : 300
% 0.13/0.33  % WCLimit  : 300
% 0.13/0.33  % DateTime : Wed Jul 27 01:47:20 EDT 2022
% 0.13/0.33  % CPUTime  : 
% 1.72/1.92  ----- Otter 3.3f, August 2004 -----
% 1.72/1.92  The process was started by sandbox2 on n005.cluster.edu,
% 1.72/1.92  Wed Jul 27 01:47:20 2022
% 1.72/1.92  The command was "./otter".  The process ID is 10370.
% 1.72/1.92  
% 1.72/1.92  set(prolog_style_variables).
% 1.72/1.92  set(auto).
% 1.72/1.92     dependent: set(auto1).
% 1.72/1.92     dependent: set(process_input).
% 1.72/1.92     dependent: clear(print_kept).
% 1.72/1.92     dependent: clear(print_new_demod).
% 1.72/1.92     dependent: clear(print_back_demod).
% 1.72/1.92     dependent: clear(print_back_sub).
% 1.72/1.92     dependent: set(control_memory).
% 1.72/1.92     dependent: assign(max_mem, 12000).
% 1.72/1.92     dependent: assign(pick_given_ratio, 4).
% 1.72/1.92     dependent: assign(stats_level, 1).
% 1.72/1.92     dependent: assign(max_seconds, 10800).
% 1.72/1.92  clear(print_given).
% 1.72/1.92  
% 1.72/1.92  list(usable).
% 1.72/1.92  0 [] a_truth(truthteller(X))|a_truth(liar(X)).
% 1.72/1.92  0 [] -a_truth(truthteller(X))| -a_truth(liar(X)).
% 1.72/1.92  0 [] -a_truth(truthteller(Truthteller))| -a_truth(says(Truthteller,Statement))|a_truth(Statement).
% 1.72/1.92  0 [] -a_truth(liar(Liar))| -a_truth(says(Liar,Statement))| -a_truth(Statement).
% 1.72/1.92  0 [] -a_truth(Statement)| -a_truth(says(Truthteller,Statement))|a_truth(truthteller(Truthteller)).
% 1.72/1.92  0 [] a_truth(Statement)| -a_truth(says(Liar,Statement))|a_truth(liar(Liar)).
% 1.72/1.92  0 [] -a_truth(says(X,one_truthteller))| -people(X,Y,Z)| -a_truth(truthteller(X))| -a_truth(truthteller(Y))| -a_truth(truthteller(Z)).
% 1.72/1.92  0 [] -a_truth(one_truthteller)| -people(X,Y,Z)|a_truth(truthteller(X))|a_truth(truthteller(Y))|a_truth(truthteller(Z)).
% 1.72/1.92  0 [] -a_truth(one_truthteller)| -people(X,Y,Z)| -a_truth(truthteller(Y))| -a_truth(truthteller(X))| -a_truth(truthteller(Z)).
% 1.72/1.92  0 [] -a_truth(one_truthteller)| -people(X,Y,Z)| -a_truth(liar(X))| -a_truth(truthteller(Y))|a_truth(liar(Z)).
% 1.72/1.92  0 [] a_truth(one_truthteller)| -people(X,Y,Z)| -a_truth(liar(X))| -a_truth(truthteller(Y))|a_truth(truthteller(Z)).
% 1.72/1.92  0 [] a_truth(one_truthteller)| -people(X,Y,Z)| -a_truth(liar(X))| -a_truth(liar(Y))|a_truth(liar(Z)).
% 1.72/1.92  0 [] -a_truth(says(X,all_are_liars))| -people(X,Y,Z)| -a_truth(truthteller(X)).
% 1.72/1.92  0 [] a_truth(all_are_liars)| -people(X,Y,Z)|a_truth(truthteller(X))|a_truth(truthteller(Y))|a_truth(truthteller(Z)).
% 1.72/1.92  0 [] people(b,c,a).
% 1.72/1.92  0 [] people(a,c,b).
% 1.72/1.92  0 [] people(c,b,a).
% 1.72/1.92  0 [] a_truth(says(a,all_are_liars)).
% 1.72/1.92  0 [] a_truth(says(b,one_truthteller)).
% 1.72/1.92  0 [] -a_truth(truthteller(Truthteller)).
% 1.72/1.92  end_of_list.
% 1.72/1.92  
% 1.72/1.92  SCAN INPUT: prop=0, horn=0, equality=0, symmetry=0, max_lits=5.
% 1.72/1.92  
% 1.72/1.92  This is a non-Horn set without equality.  The strategy will
% 1.72/1.92  be ordered hyper_res, unit deletion, and factoring, with
% 1.72/1.92  satellites in sos and with nuclei in usable.
% 1.72/1.92  
% 1.72/1.92     dependent: set(hyper_res).
% 1.72/1.92     dependent: set(factor).
% 1.72/1.92     dependent: set(unit_deletion).
% 1.72/1.92  
% 1.72/1.92  ------------> process usable:
% 1.72/1.92  ** KEPT (pick-wt=6): 1 [] -a_truth(truthteller(A))| -a_truth(liar(A)).
% 1.72/1.92  ** KEPT (pick-wt=9): 2 [] -a_truth(truthteller(A))| -a_truth(says(A,B))|a_truth(B).
% 1.72/1.92  ** KEPT (pick-wt=9): 3 [] -a_truth(liar(A))| -a_truth(says(A,B))| -a_truth(B).
% 1.72/1.92  ** KEPT (pick-wt=9): 4 [] -a_truth(A)| -a_truth(says(B,A))|a_truth(truthteller(B)).
% 1.72/1.92  ** KEPT (pick-wt=9): 5 [] a_truth(A)| -a_truth(says(B,A))|a_truth(liar(B)).
% 1.72/1.92  ** KEPT (pick-wt=17): 6 [] -a_truth(says(A,one_truthteller))| -people(A,B,C)| -a_truth(truthteller(A))| -a_truth(truthteller(B))| -a_truth(truthteller(C)).
% 1.72/1.92  ** KEPT (pick-wt=15): 7 [] -a_truth(one_truthteller)| -people(A,B,C)|a_truth(truthteller(A))|a_truth(truthteller(B))|a_truth(truthteller(C)).
% 1.72/1.92  ** KEPT (pick-wt=15): 8 [] -a_truth(one_truthteller)| -people(A,B,C)| -a_truth(truthteller(B))| -a_truth(truthteller(A))| -a_truth(truthteller(C)).
% 1.72/1.92  ** KEPT (pick-wt=15): 9 [] -a_truth(one_truthteller)| -people(A,B,C)| -a_truth(liar(A))| -a_truth(truthteller(B))|a_truth(liar(C)).
% 1.72/1.92  ** KEPT (pick-wt=15): 10 [] a_truth(one_truthteller)| -people(A,B,C)| -a_truth(liar(A))| -a_truth(truthteller(B))|a_truth(truthteller(C)).
% 1.72/1.92  ** KEPT (pick-wt=15): 11 [] a_truth(one_truthteller)| -people(A,B,C)| -a_truth(liar(A))| -a_truth(liar(B))|a_truth(liar(C)).
% 1.72/1.92  ** KEPT (pick-wt=11): 12 [] -a_truth(says(A,all_are_liars))| -people(A,B,C)| -a_truth(truthteller(A)).
% 1.72/1.92  ** KEPT (pick-wt=15): 13 [] a_truth(all_are_liars)| -people(A,B,C)|a_truth(truthteller(A))|a_truth(truthteller(B))|a_truth(truthteller(C)).
% 1.72/1.92  ** KEPT (pick-wt=3): 14 [] -a_truth(truthteller(A)).
% 1.72/1.92  14 back subsumes 12.
% 1.72/1.92  14 back subsumes 10.
% 1.72/1.92  14 back subsumes 9.
% 1.72/1.92  14 back subsumes 8.
% 1.72/1.92  14 back subsumes 6.
% 1.72/1.92  14 back subsumes 2.
% 1.72/1.92  14 back subsumes 1.
% 1.72/1.92  
% 1.72/1.92  ------------> process sos:
% 1.72/1.92  ** KEPT (pick-wt=3): 25 [copy,24,unit_del,14] a_truth(liar(A)).
% 1.72/1.92  ** KEPT (pick-wt=4): 26 [] people(b,c,a).
% 1.72/1.92  ** KEPT (pick-wt=4): 27 [] people(a,c,b).
% 1.72/1.92  ** KEPT (pick-wt=4): 28 [] people(c,b,a).
% 1.72/1.92  ** KEPT (pick-wt=4): 29 [] a_truth(says(a,all_are_liars)).
% 1.72/1.92  ** KEPT (pick-wt=4): 30 [] a_truth(says(b,one_truthteller)).
% 1.72/1.92  25 back subsumes 20.
% 1.72/1.92  25 back subsumes 16.
% 1.72/1.92  25 back subsumes 11.
% 1.72/1.92  25 back subsumes 5.
% 1.72/1.92  
% 1.72/1.92  ======= end of input processing =======
% 1.72/1.92  
% 1.72/1.92  =========== start of search ===========
% 1.72/1.92  
% 1.72/1.92  -------- PROOF -------- 
% 1.72/1.92  
% 1.72/1.92  ----> UNIT CONFLICT at   0.00 sec ----> 33 [binary,32.1,14.1] $F.
% 1.72/1.92  
% 1.72/1.92  Length of proof is 2.  Level of proof is 2.
% 1.72/1.92  
% 1.72/1.92  ---------------- PROOF ----------------
% 1.72/1.92  % SZS status Unsatisfiable
% 1.72/1.92  % SZS output start Refutation
% See solution above
% 1.72/1.92  ------------ end of proof -------------
% 1.72/1.92  
% 1.72/1.92  
% 1.72/1.92  Search stopped by max_proofs option.
% 1.72/1.92  
% 1.72/1.92  
% 1.72/1.92  Search stopped by max_proofs option.
% 1.72/1.92  
% 1.72/1.92  ============ end of search ============
% 1.72/1.92  
% 1.72/1.92  -------------- statistics -------------
% 1.72/1.92  clauses given                  6
% 1.72/1.92  clauses generated             17
% 1.72/1.92  clauses kept                  31
% 1.72/1.92  clauses forward subsumed       6
% 1.72/1.92  clauses back subsumed         15
% 1.72/1.92  Kbytes malloced              976
% 1.72/1.92  
% 1.72/1.92  ----------- times (seconds) -----------
% 1.72/1.92  user CPU time          0.00          (0 hr, 0 min, 0 sec)
% 1.72/1.92  system CPU time        0.00          (0 hr, 0 min, 0 sec)
% 1.72/1.92  wall-clock time        2             (0 hr, 0 min, 2 sec)
% 1.72/1.92  
% 1.72/1.92  That finishes the proof of the theorem.
% 1.72/1.92  
% 1.72/1.92  Process 10370 finished Wed Jul 27 01:47:22 2022
% 1.72/1.92  Otter interrupted
% 1.72/1.92  PROOF FOUND
%------------------------------------------------------------------------------