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

View Problem - Process Solution

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

% Computer : n025.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:20:15 EDT 2022

% Result   : Theorem 190.55s 190.76s
% Output   : Refutation 190.55s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    4
%            Number of leaves      :    9
% Syntax   : Number of clauses     :   15 (  10 unt;   0 nHn;  13 RR)
%            Number of literals    :   23 (   2 equ;  10 neg)
%            Maximal clause size   :    4 (   1 avg)
%            Maximal term depth    :    3 (   2 avg)
%            Number of predicates  :    3 (   1 usr;   1 prp; 0-2 aty)
%            Number of functors    :    7 (   7 usr;   4 con; 0-2 aty)
%            Number of variables   :   13 (   0 sgn)

% Comments : 
%------------------------------------------------------------------------------
cnf(2,axiom,
    ( ~ p(crypt(xor(km,A),B))
    | ~ p(A)
    | ~ p(crypt(xor(km,exp),C))
    | p(crypt(xor(C,A),B)) ),
    file('SWV236+1.p',unknown),
    [] ).

cnf(7,axiom,
    ( ~ p(A)
    | ~ p(crypt(xor(km,data),B))
    | p(decrypt(B,A)) ),
    file('SWV236+1.p',unknown),
    [] ).

cnf(12,axiom,
    ( ~ p(crypt(xor(A,data),B))
    | p(crypt(A,B)) ),
    file('SWV236+1.p',unknown),
    [] ).

cnf(13,axiom,
    ( ~ p(crypt(xor(km,exp),A))
    | ~ p(A) ),
    file('SWV236+1.p',unknown),
    [] ).

cnf(15,axiom,
    xor(A,B) = xor(B,A),
    file('SWV236+1.p',unknown),
    [] ).

cnf(20,axiom,
    decrypt(A,crypt(A,B)) = B,
    file('SWV236+1.p',unknown),
    [] ).

cnf(27,axiom,
    p(data),
    file('SWV236+1.p',unknown),
    [] ).

cnf(31,axiom,
    p(crypt(xor(km,exp),eurk)),
    file('SWV236+1.p',unknown),
    [] ).

cnf(32,axiom,
    p(crypt(xor(km,data),eurk)),
    file('SWV236+1.p',unknown),
    [] ).

cnf(93,plain,
    ( ~ p(crypt(xor(exp,km),A))
    | ~ p(A) ),
    inference(para_from,[status(thm),theory(equality)],[15,13]),
    [iquote('para_from,15.1.1,13.1.1.1')] ).

cnf(2721,plain,
    p(crypt(xor(exp,km),eurk)),
    inference(para_into,[status(thm),theory(equality)],[31,15]),
    [iquote('para_into,31.1.1.1,15.1.1')] ).

cnf(3753,plain,
    p(crypt(xor(eurk,data),eurk)),
    inference(hyper,[status(thm)],[32,2,27,31]),
    [iquote('hyper,32,2,27,31')] ).

cnf(12485,plain,
    p(crypt(eurk,eurk)),
    inference(hyper,[status(thm)],[3753,12]),
    [iquote('hyper,3753,12')] ).

cnf(12520,plain,
    p(eurk),
    inference(demod,[status(thm),theory(equality)],[inference(hyper,[status(thm)],[12485,7,32]),20]),
    [iquote('hyper,12485,7,32,demod,20')] ).

cnf(12556,plain,
    $false,
    inference(hyper,[status(thm)],[12520,93,2721]),
    [iquote('hyper,12520,93,2721')] ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.11/0.12  % Problem  : SWV236+1 : TPTP v8.1.0. Released v3.2.0.
% 0.11/0.12  % Command  : otter-tptp-script %s
% 0.12/0.33  % Computer : n025.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 05:54:00 EDT 2022
% 0.12/0.34  % CPUTime  : 
% 1.99/2.18  ----- Otter 3.3f, August 2004 -----
% 1.99/2.18  The process was started by sandbox2 on n025.cluster.edu,
% 1.99/2.18  Wed Jul 27 05:54:00 2022
% 1.99/2.18  The command was "./otter".  The process ID is 25953.
% 1.99/2.18  
% 1.99/2.18  set(prolog_style_variables).
% 1.99/2.18  set(auto).
% 1.99/2.18     dependent: set(auto1).
% 1.99/2.18     dependent: set(process_input).
% 1.99/2.18     dependent: clear(print_kept).
% 1.99/2.18     dependent: clear(print_new_demod).
% 1.99/2.18     dependent: clear(print_back_demod).
% 1.99/2.18     dependent: clear(print_back_sub).
% 1.99/2.18     dependent: set(control_memory).
% 1.99/2.18     dependent: assign(max_mem, 12000).
% 1.99/2.18     dependent: assign(pick_given_ratio, 4).
% 1.99/2.18     dependent: assign(stats_level, 1).
% 1.99/2.18     dependent: assign(max_seconds, 10800).
% 1.99/2.18  clear(print_given).
% 1.99/2.18  
% 1.99/2.18  formula_list(usable).
% 1.99/2.18  all A (A=A).
% 1.99/2.18  all X1 X2 (xor(X1,X2)=xor(X2,X1)).
% 1.99/2.18  all X1 X2 X3 (xor(X1,xor(X2,X3))=xor(xor(X1,X2),X3)).
% 1.99/2.18  all X1 X2 (decrypt(X1,crypt(X1,X2))=X2).
% 1.99/2.18  all X1 (xor(X1,id)=X1).
% 1.99/2.18  all X1 (xor(X1,X1)=id).
% 1.99/2.18  all Xkek1 Xtype1 Xk1 Xtype2 Xkek2 (p(crypt(xor(Xkek1,Xtype1),Xk1))&p(Xtype2)&p(crypt(xor(km,imp),Xkek2))->p(crypt(xor(km,Xtype2),decrypt(xor(Xkek2,Xtype2),crypt(xor(Xkek1,Xtype1),Xk1))))).
% 1.99/2.18  all Xtype Xk1 Xkek1 (p(crypt(xor(km,Xtype),Xk1))&p(Xtype)&p(crypt(xor(km,exp),Xkek1))->p(crypt(xor(Xkek1,Xtype),Xk1))).
% 1.99/2.18  all Xk Xtype (p(Xk)&p(Xtype)->p(crypt(xor(km,xor(kp,Xtype)),Xk))).
% 1.99/2.18  all Xk1 Xtype Xk2 (p(Xk1)&p(crypt(xor(km,xor(kp,Xtype)),Xk2))&p(Xtype)->p(crypt(xor(km,xor(Xtype,kp)),xor(Xk1,Xk2)))).
% 1.99/2.18  all Xk1 Xtype Xk2 (p(Xk1)&p(crypt(xor(km,xor(Xtype,kp)),Xk2))&p(Xtype)->p(crypt(xor(km,Xtype),xor(Xk2,Xk1)))).
% 1.99/2.18  all X1 Xk1 (p(X1)&p(crypt(xor(km,data),Xk1))->p(crypt(Xk1,X1))).
% 1.99/2.18  all X1 Xk1 (p(X1)&p(crypt(xor(km,data),Xk1))->p(decrypt(Xk1,X1))).
% 1.99/2.18  all Xk Xk1 Xtype2 Xkek1 Xkek2 Xtype (p(crypt(Xk,Xk1))&p(Xtype2)&p(crypt(xor(km,imp),Xkek1))&p(crypt(xor(km,exp),Xkek2))->p(crypt(xor(Xkek2,Xtype),decrypt(xor(Xtype2,Xkek1),crypt(Xk,Xk1))))).
% 1.99/2.18  all X1 X2 (p(X1)&p(X2)->p(xor(X1,X2))).
% 1.99/2.18  all X1 X2 (p(crypt(X1,X2))&p(X1)->p(X2)).
% 1.99/2.18  all X1 X2 (p(X2)&p(X1)->p(crypt(X1,X2))).
% 1.99/2.18  all X1 X2 (p(crypt(xor(X1,data),X2))->p(crypt(X1,X2))).
% 1.99/2.18  p(kp).
% 1.99/2.18  p(imp).
% 1.99/2.18  p(data).
% 1.99/2.18  p(id).
% 1.99/2.18  p(pin).
% 1.99/2.18  p(crypt(xor(km,pin),pp)).
% 1.99/2.18  p(crypt(xor(km,exp),eurk)).
% 1.99/2.18  p(crypt(xor(km,data),eurk)).
% 1.99/2.18  p(exp).
% 1.99/2.18  p(a).
% 1.99/2.18  -(exists X (p(crypt(xor(km,exp),X))&p(X))).
% 1.99/2.18  end_of_list.
% 1.99/2.18  
% 1.99/2.18  -------> usable clausifies to:
% 1.99/2.18  
% 1.99/2.18  list(usable).
% 1.99/2.18  0 [] A=A.
% 1.99/2.18  0 [] xor(X1,X2)=xor(X2,X1).
% 1.99/2.18  0 [] xor(X1,xor(X2,X3))=xor(xor(X1,X2),X3).
% 1.99/2.18  0 [] decrypt(X1,crypt(X1,X2))=X2.
% 1.99/2.18  0 [] xor(X1,id)=X1.
% 1.99/2.18  0 [] xor(X1,X1)=id.
% 1.99/2.18  0 [] -p(crypt(xor(Xkek1,Xtype1),Xk1))| -p(Xtype2)| -p(crypt(xor(km,imp),Xkek2))|p(crypt(xor(km,Xtype2),decrypt(xor(Xkek2,Xtype2),crypt(xor(Xkek1,Xtype1),Xk1)))).
% 1.99/2.18  0 [] -p(crypt(xor(km,Xtype),Xk1))| -p(Xtype)| -p(crypt(xor(km,exp),Xkek1))|p(crypt(xor(Xkek1,Xtype),Xk1)).
% 1.99/2.18  0 [] -p(Xk)| -p(Xtype)|p(crypt(xor(km,xor(kp,Xtype)),Xk)).
% 1.99/2.18  0 [] -p(Xk1)| -p(crypt(xor(km,xor(kp,Xtype)),Xk2))| -p(Xtype)|p(crypt(xor(km,xor(Xtype,kp)),xor(Xk1,Xk2))).
% 1.99/2.18  0 [] -p(Xk1)| -p(crypt(xor(km,xor(Xtype,kp)),Xk2))| -p(Xtype)|p(crypt(xor(km,Xtype),xor(Xk2,Xk1))).
% 1.99/2.18  0 [] -p(X1)| -p(crypt(xor(km,data),Xk1))|p(crypt(Xk1,X1)).
% 1.99/2.18  0 [] -p(X1)| -p(crypt(xor(km,data),Xk1))|p(decrypt(Xk1,X1)).
% 1.99/2.18  0 [] -p(crypt(Xk,Xk1))| -p(Xtype2)| -p(crypt(xor(km,imp),Xkek1))| -p(crypt(xor(km,exp),Xkek2))|p(crypt(xor(Xkek2,Xtype),decrypt(xor(Xtype2,Xkek1),crypt(Xk,Xk1)))).
% 1.99/2.18  0 [] -p(X1)| -p(X2)|p(xor(X1,X2)).
% 1.99/2.18  0 [] -p(crypt(X1,X2))| -p(X1)|p(X2).
% 1.99/2.18  0 [] -p(X2)| -p(X1)|p(crypt(X1,X2)).
% 1.99/2.18  0 [] -p(crypt(xor(X1,data),X2))|p(crypt(X1,X2)).
% 1.99/2.18  0 [] p(kp).
% 1.99/2.18  0 [] p(imp).
% 1.99/2.18  0 [] p(data).
% 1.99/2.18  0 [] p(id).
% 1.99/2.18  0 [] p(pin).
% 1.99/2.18  0 [] p(crypt(xor(km,pin),pp)).
% 1.99/2.18  0 [] p(crypt(xor(km,exp),eurk)).
% 1.99/2.18  0 [] p(crypt(xor(km,data),eurk)).
% 1.99/2.18  0 [] p(exp).
% 1.99/2.18  0 [] p(a).
% 1.99/2.18  0 [] -p(crypt(xor(km,exp),X))| -p(X).
% 1.99/2.18  end_of_list.
% 1.99/2.18  
% 1.99/2.18  SCAN INPUT: prop=0, horn=1, equality=1, symmetry=0, max_lits=5.
% 1.99/2.18  
% 1.99/2.18  This is a Horn set with equality.  The strategy will be
% 1.99/2.18  Knuth-Bendix and hyper_res, with positive clauses in
% 1.99/2.18  sos and nonpositive clauses in usable.
% 1.99/2.18  
% 1.99/2.18     dependent: set(knuth_bendix).
% 1.99/2.18     dependent: set(anl_eq).
% 1.99/2.18     dependent: set(para_from).
% 1.99/2.18     dependent: set(para_into).
% 1.99/2.18     dependent: clear(para_from_right).
% 1.99/2.18     dependent: clear(para_into_right).
% 1.99/2.18     dependent: set(para_from_vars).
% 1.99/2.18     dependent: set(eq_units_both_ways).
% 1.99/2.18     dependent: set(dynamic_demod_all).
% 1.99/2.18     dependent: set(dynamic_demod).
% 190.55/190.76     dependent: set(order_eq).
% 190.55/190.76     dependent: set(back_demod).
% 190.55/190.76     dependent: set(lrpo).
% 190.55/190.76     dependent: set(hyper_res).
% 190.55/190.76     dependent: clear(order_hyper).
% 190.55/190.76  
% 190.55/190.76  ------------> process usable:
% 190.55/190.76  ** KEPT (pick-wt=28): 1 [] -p(crypt(xor(A,B),C))| -p(D)| -p(crypt(xor(km,imp),E))|p(crypt(xor(km,D),decrypt(xor(E,D),crypt(xor(A,B),C)))).
% 190.55/190.76  ** KEPT (pick-wt=20): 2 [] -p(crypt(xor(km,A),B))| -p(A)| -p(crypt(xor(km,exp),C))|p(crypt(xor(C,A),B)).
% 190.55/190.76  ** KEPT (pick-wt=12): 3 [] -p(A)| -p(B)|p(crypt(xor(km,xor(kp,B)),A)).
% 190.55/190.76  ** KEPT (pick-wt=22): 4 [] -p(A)| -p(crypt(xor(km,xor(kp,B)),C))| -p(B)|p(crypt(xor(km,xor(B,kp)),xor(A,C))).
% 190.55/190.76  ** KEPT (pick-wt=20): 5 [] -p(A)| -p(crypt(xor(km,xor(B,kp)),C))| -p(B)|p(crypt(xor(km,B),xor(C,A))).
% 190.55/190.76  ** KEPT (pick-wt=12): 6 [] -p(A)| -p(crypt(xor(km,data),B))|p(crypt(B,A)).
% 190.55/190.76  ** KEPT (pick-wt=12): 7 [] -p(A)| -p(crypt(xor(km,data),B))|p(decrypt(B,A)).
% 190.55/190.76  ** KEPT (pick-wt=30): 8 [] -p(crypt(A,B))| -p(C)| -p(crypt(xor(km,imp),D))| -p(crypt(xor(km,exp),E))|p(crypt(xor(E,F),decrypt(xor(C,D),crypt(A,B)))).
% 190.55/190.76  ** KEPT (pick-wt=8): 9 [] -p(A)| -p(B)|p(xor(A,B)).
% 190.55/190.76  ** KEPT (pick-wt=8): 10 [] -p(crypt(A,B))| -p(A)|p(B).
% 190.55/190.76  ** KEPT (pick-wt=8): 11 [] -p(A)| -p(B)|p(crypt(B,A)).
% 190.55/190.76  ** KEPT (pick-wt=10): 12 [] -p(crypt(xor(A,data),B))|p(crypt(A,B)).
% 190.55/190.76  ** KEPT (pick-wt=8): 13 [] -p(crypt(xor(km,exp),A))| -p(A).
% 190.55/190.76  
% 190.55/190.76  ------------> process sos:
% 190.55/190.76  ** KEPT (pick-wt=3): 14 [] A=A.
% 190.55/190.76  ** KEPT (pick-wt=7): 15 [] xor(A,B)=xor(B,A).
% 190.55/190.76  ** KEPT (pick-wt=11): 17 [copy,16,flip.1] xor(xor(A,B),C)=xor(A,xor(B,C)).
% 190.55/190.76  ---> New Demodulator: 18 [new_demod,17] xor(xor(A,B),C)=xor(A,xor(B,C)).
% 190.55/190.76  ** KEPT (pick-wt=7): 19 [] decrypt(A,crypt(A,B))=B.
% 190.55/190.76  ---> New Demodulator: 20 [new_demod,19] decrypt(A,crypt(A,B))=B.
% 190.55/190.76  ** KEPT (pick-wt=5): 21 [] xor(A,id)=A.
% 190.55/190.76  ---> New Demodulator: 22 [new_demod,21] xor(A,id)=A.
% 190.55/190.76  ** KEPT (pick-wt=5): 23 [] xor(A,A)=id.
% 190.55/190.76  ---> New Demodulator: 24 [new_demod,23] xor(A,A)=id.
% 190.55/190.76  ** KEPT (pick-wt=2): 25 [] p(kp).
% 190.55/190.76  ** KEPT (pick-wt=2): 26 [] p(imp).
% 190.55/190.76  ** KEPT (pick-wt=2): 27 [] p(data).
% 190.55/190.76  ** KEPT (pick-wt=2): 28 [] p(id).
% 190.55/190.76  ** KEPT (pick-wt=2): 29 [] p(pin).
% 190.55/190.76  ** KEPT (pick-wt=6): 30 [] p(crypt(xor(km,pin),pp)).
% 190.55/190.76  ** KEPT (pick-wt=6): 31 [] p(crypt(xor(km,exp),eurk)).
% 190.55/190.76  ** KEPT (pick-wt=6): 32 [] p(crypt(xor(km,data),eurk)).
% 190.55/190.76  ** KEPT (pick-wt=2): 33 [] p(exp).
% 190.55/190.76  ** KEPT (pick-wt=2): 34 [] p(a).
% 190.55/190.76    Following clause subsumed by 14 during input processing: 0 [copy,14,flip.1] A=A.
% 190.55/190.76    Following clause subsumed by 15 during input processing: 0 [copy,15,flip.1] xor(A,B)=xor(B,A).
% 190.55/190.76  >>>> Starting back demodulation with 18.
% 190.55/190.76  >>>> Starting back demodulation with 20.
% 190.55/190.76  >>>> Starting back demodulation with 22.
% 190.55/190.76  >>>> Starting back demodulation with 24.
% 190.55/190.76  
% 190.55/190.76  ======= end of input processing =======
% 190.55/190.76  
% 190.55/190.76  =========== start of search ===========
% 190.55/190.76  
% 190.55/190.76  
% 190.55/190.76  Resetting weight limit to 6.
% 190.55/190.76  
% 190.55/190.76  
% 190.55/190.76  Resetting weight limit to 6.
% 190.55/190.76  
% 190.55/190.76  sos_size=8180
% 190.55/190.76  
% 190.55/190.76  -- HEY sandbox2, WE HAVE A PROOF!! -- 
% 190.55/190.76  
% 190.55/190.76  -----> EMPTY CLAUSE at 188.55 sec ----> 12556 [hyper,12520,93,2721] $F.
% 190.55/190.76  
% 190.55/190.76  Length of proof is 5.  Level of proof is 3.
% 190.55/190.76  
% 190.55/190.76  ---------------- PROOF ----------------
% 190.55/190.76  % SZS status Theorem
% 190.55/190.76  % SZS output start Refutation
% See solution above
% 190.55/190.76  ------------ end of proof -------------
% 190.55/190.76  
% 190.55/190.76  
% 190.55/190.76  Search stopped by max_proofs option.
% 190.55/190.76  
% 190.55/190.76  
% 190.55/190.76  Search stopped by max_proofs option.
% 190.55/190.76  
% 190.55/190.76  ============ end of search ============
% 190.55/190.76  
% 190.55/190.76  -------------- statistics -------------
% 190.55/190.76  clauses given               1104
% 190.55/190.76  clauses generated        31510964
% 190.55/190.76  clauses kept               12547
% 190.55/190.76  clauses forward subsumed   24468
% 190.55/190.76  clauses back subsumed         19
% 190.55/190.76  Kbytes malloced             6835
% 190.55/190.76  
% 190.55/190.76  ----------- times (seconds) -----------
% 190.55/190.76  user CPU time        188.55          (0 hr, 3 min, 8 sec)
% 190.55/190.76  system CPU time        0.01          (0 hr, 0 min, 0 sec)
% 190.55/190.76  wall-clock time      190             (0 hr, 3 min, 10 sec)
% 190.55/190.76  
% 190.55/190.76  That finishes the proof of the theorem.
% 190.55/190.76  
% 190.55/190.76  Process 25953 finished Wed Jul 27 05:57:10 2022
% 190.55/190.76  Otter interrupted
% 190.55/190.76  PROOF FOUND
%------------------------------------------------------------------------------