TSTP Solution File: PUZ035-4 by Otter---3.3

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Otter---3.3
% Problem  : PUZ035-4 : TPTP v8.1.0. Released v2.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : otter-tptp-script %s

% Computer : n015.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:26 EDT 2022

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

% Comments : 
%------------------------------------------------------------------------------
cnf(1,axiom,
    ( ~ person(A)
    | truth(isa(A,knight))
    | truth(isa(A,knave)) ),
    file('PUZ035-4.p',unknown),
    [] ).

cnf(11,axiom,
    ( ~ truth(isa(asked,A))
    | ~ truth(isa(other,B))
    | ~ says(asked,C) ),
    file('PUZ035-4.p',unknown),
    [] ).

cnf(13,axiom,
    ( says(asked,or(isa(asked,knight),isa(other,knight)))
    | says(asked,not(or(isa(asked,knight),isa(other,knight)))) ),
    file('PUZ035-4.p',unknown),
    [] ).

cnf(14,axiom,
    person(asked),
    file('PUZ035-4.p',unknown),
    [] ).

cnf(15,axiom,
    person(other),
    file('PUZ035-4.p',unknown),
    [] ).

cnf(19,plain,
    ( truth(isa(asked,knight))
    | truth(isa(asked,knave)) ),
    inference(hyper,[status(thm)],[14,1]),
    [iquote('hyper,14,1')] ).

cnf(20,plain,
    ( truth(isa(other,knight))
    | truth(isa(other,knave)) ),
    inference(hyper,[status(thm)],[15,1]),
    [iquote('hyper,15,1')] ).

cnf(23,plain,
    ( truth(isa(other,knave))
    | truth(isa(asked,knight))
    | says(asked,or(isa(asked,knight),isa(other,knight))) ),
    inference(hyper,[status(thm)],[20,11,19,13]),
    [iquote('hyper,20,11,19,13')] ).

cnf(33,plain,
    ( truth(isa(asked,knight))
    | says(asked,or(isa(asked,knight),isa(other,knight))) ),
    inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(hyper,[status(thm)],[23,11,19,13])])]),
    [iquote('hyper,23,11,19,13,factor_simp,factor_simp')] ).

cnf(34,plain,
    ( truth(isa(other,knave))
    | says(asked,or(isa(asked,knight),isa(other,knight))) ),
    inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(hyper,[status(thm)],[23,11,20,13])])]),
    [iquote('hyper,23,11,20,13,factor_simp,factor_simp')] ).

cnf(37,plain,
    says(asked,or(isa(asked,knight),isa(other,knight))),
    inference(factor_simp,[status(thm)],[inference(factor_simp,[status(thm)],[inference(hyper,[status(thm)],[34,11,33,13])])]),
    [iquote('hyper,34,11,33,13,factor_simp,factor_simp')] ).

cnf(38,plain,
    ( truth(isa(asked,knight))
    | truth(isa(other,knight)) ),
    inference(hyper,[status(thm)],[37,11,19,20]),
    [iquote('hyper,37,11,19,20')] ).

cnf(46,plain,
    truth(isa(other,knight)),
    inference(factor_simp,[status(thm)],[inference(hyper,[status(thm)],[38,11,20,37])]),
    [iquote('hyper,38,11,20,37,factor_simp')] ).

cnf(47,plain,
    truth(isa(asked,knight)),
    inference(factor_simp,[status(thm)],[inference(hyper,[status(thm)],[38,11,19,37])]),
    [iquote('hyper,38,11,19,37,factor_simp')] ).

cnf(48,plain,
    $false,
    inference(hyper,[status(thm)],[47,11,46,37]),
    [iquote('hyper,47,11,46,37')] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.11  % Problem  : PUZ035-4 : TPTP v8.1.0. Released v2.0.0.
% 0.03/0.12  % Command  : otter-tptp-script %s
% 0.12/0.33  % Computer : n015.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 01:58:56 EDT 2022
% 0.12/0.33  % CPUTime  : 
% 1.96/2.15  ----- Otter 3.3f, August 2004 -----
% 1.96/2.15  The process was started by sandbox2 on n015.cluster.edu,
% 1.96/2.15  Wed Jul 27 01:58:56 2022
% 1.96/2.15  The command was "./otter".  The process ID is 29328.
% 1.96/2.15  
% 1.96/2.15  set(prolog_style_variables).
% 1.96/2.15  set(auto).
% 1.96/2.15     dependent: set(auto1).
% 1.96/2.15     dependent: set(process_input).
% 1.96/2.15     dependent: clear(print_kept).
% 1.96/2.15     dependent: clear(print_new_demod).
% 1.96/2.15     dependent: clear(print_back_demod).
% 1.96/2.15     dependent: clear(print_back_sub).
% 1.96/2.15     dependent: set(control_memory).
% 1.96/2.15     dependent: assign(max_mem, 12000).
% 1.96/2.15     dependent: assign(pick_given_ratio, 4).
% 1.96/2.15     dependent: assign(stats_level, 1).
% 1.96/2.15     dependent: assign(max_seconds, 10800).
% 1.96/2.15  clear(print_given).
% 1.96/2.15  
% 1.96/2.15  list(usable).
% 1.96/2.15  0 [] -person(P)|truth(isa(P,knight))|truth(isa(P,knave)).
% 1.96/2.15  0 [] -truth(isa(P,knight))| -truth(isa(P,knave)).
% 1.96/2.15  0 [] truth(S)| -says(P,S)| -truth(isa(P,knight)).
% 1.96/2.15  0 [] truth(isa(P,knight))| -says(P,S)| -truth(S).
% 1.96/2.15  0 [] says(asked,or(isa(asked,knight),isa(other,knight)))|says(asked,not(or(isa(asked,knight),isa(other,knight)))).
% 1.96/2.15  0 [] truth(S)|truth(not(S))| -says(Anyone,S).
% 1.96/2.15  0 [] truth(S)|truth(not(S))| -says(Anyone,not(S)).
% 1.96/2.15  0 [] -truth(S)| -truth(not(S)).
% 1.96/2.15  0 [] truth(S1)|truth(S2)| -truth(or(S1,S2)).
% 1.96/2.15  0 [] -truth(S1)| -truth(not(or(S1,Anything))).
% 1.96/2.15  0 [] -truth(S2)| -truth(not(or(Anything,S2))).
% 1.96/2.15  0 [] person(asked).
% 1.96/2.15  0 [] person(other).
% 1.96/2.15  0 [] -truth(isa(asked,P1))| -truth(isa(other,P2))| -says(asked,S).
% 1.96/2.15  end_of_list.
% 1.96/2.15  
% 1.96/2.15  SCAN INPUT: prop=0, horn=0, equality=0, symmetry=0, max_lits=3.
% 1.96/2.15  
% 1.96/2.15  This is a non-Horn set without equality.  The strategy will
% 1.96/2.15  be ordered hyper_res, unit deletion, and factoring, with
% 1.96/2.15  satellites in sos and with nuclei in usable.
% 1.96/2.15  
% 1.96/2.15     dependent: set(hyper_res).
% 1.96/2.15     dependent: set(factor).
% 1.96/2.15     dependent: set(unit_deletion).
% 1.96/2.15  
% 1.96/2.15  ------------> process usable:
% 1.96/2.15  ** KEPT (pick-wt=10): 1 [] -person(A)|truth(isa(A,knight))|truth(isa(A,knave)).
% 1.96/2.15  ** KEPT (pick-wt=8): 2 [] -truth(isa(A,knight))| -truth(isa(A,knave)).
% 1.96/2.15  ** KEPT (pick-wt=9): 3 [] truth(A)| -says(B,A)| -truth(isa(B,knight)).
% 1.96/2.15  ** KEPT (pick-wt=9): 4 [] truth(isa(A,knight))| -says(A,B)| -truth(B).
% 1.96/2.15  ** KEPT (pick-wt=8): 5 [] truth(A)|truth(not(A))| -says(B,A).
% 1.96/2.15  ** KEPT (pick-wt=9): 6 [] truth(A)|truth(not(A))| -says(B,not(A)).
% 1.96/2.15  ** KEPT (pick-wt=5): 7 [] -truth(A)| -truth(not(A)).
% 1.96/2.15  ** KEPT (pick-wt=8): 8 [] truth(A)|truth(B)| -truth(or(A,B)).
% 1.96/2.15  ** KEPT (pick-wt=7): 9 [] -truth(A)| -truth(not(or(A,B))).
% 1.96/2.15  ** KEPT (pick-wt=7): 10 [] -truth(A)| -truth(not(or(B,A))).
% 1.96/2.15  ** KEPT (pick-wt=11): 11 [] -truth(isa(asked,A))| -truth(isa(other,B))| -says(asked,C).
% 1.96/2.15  
% 1.96/2.15  ------------> process sos:
% 1.96/2.15  ** KEPT (pick-wt=19): 13 [] says(asked,or(isa(asked,knight),isa(other,knight)))|says(asked,not(or(isa(asked,knight),isa(other,knight)))).
% 1.96/2.15  ** KEPT (pick-wt=2): 14 [] person(asked).
% 1.96/2.15  ** KEPT (pick-wt=2): 15 [] person(other).
% 1.96/2.15  
% 1.96/2.15  ======= end of input processing =======
% 1.96/2.15  
% 1.96/2.15  =========== start of search ===========
% 1.96/2.15  
% 1.96/2.15  -------- PROOF -------- 
% 1.96/2.15  
% 1.96/2.15  -----> EMPTY CLAUSE at   0.00 sec ----> 48 [hyper,47,11,46,37] $F.
% 1.96/2.15  
% 1.96/2.15  Length of proof is 9.  Level of proof is 6.
% 1.96/2.15  
% 1.96/2.15  ---------------- PROOF ----------------
% 1.96/2.15  % SZS status Unsatisfiable
% 1.96/2.15  % SZS output start Refutation
% See solution above
% 1.96/2.15  ------------ end of proof -------------
% 1.96/2.15  
% 1.96/2.15  
% 1.96/2.15  Search stopped by max_proofs option.
% 1.96/2.15  
% 1.96/2.15  
% 1.96/2.15  Search stopped by max_proofs option.
% 1.96/2.15  
% 1.96/2.15  ============ end of search ============
% 1.96/2.15  
% 1.96/2.15  -------------- statistics -------------
% 1.96/2.15  clauses given                 14
% 1.96/2.15  clauses generated             87
% 1.96/2.15  clauses kept                  47
% 1.96/2.15  clauses forward subsumed      53
% 1.96/2.15  clauses back subsumed         25
% 1.96/2.15  Kbytes malloced              976
% 1.96/2.15  
% 1.96/2.15  ----------- times (seconds) -----------
% 1.96/2.15  user CPU time          0.00          (0 hr, 0 min, 0 sec)
% 1.96/2.15  system CPU time        0.00          (0 hr, 0 min, 0 sec)
% 1.96/2.15  wall-clock time        2             (0 hr, 0 min, 2 sec)
% 1.96/2.15  
% 1.96/2.15  That finishes the proof of the theorem.
% 1.96/2.15  
% 1.96/2.15  Process 29328 finished Wed Jul 27 01:58:58 2022
% 1.96/2.15  Otter interrupted
% 1.96/2.15  PROOF FOUND
%------------------------------------------------------------------------------