TSTP Solution File: LCL550+1 by Prover9---1109a

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Prover9---1109a
% Problem  : LCL550+1 : TPTP v8.1.0. Released v3.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : tptp2X_and_run_prover9 %d %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  : 600s
% DateTime : Sun Jul 17 13:47:31 EDT 2022

% Result   : Theorem 45.34s 45.64s
% Output   : Refutation 45.34s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12  % Problem  : LCL550+1 : TPTP v8.1.0. Released v3.3.0.
% 0.00/0.12  % Command  : tptp2X_and_run_prover9 %d %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  : 600
% 0.12/0.33  % DateTime : Sat Jul  2 17:37:59 EDT 2022
% 0.12/0.34  % CPUTime  : 
% 0.74/1.03  ============================== Prover9 ===============================
% 0.74/1.03  Prover9 (32) version 2009-11A, November 2009.
% 0.74/1.03  Process 18990 was started by sandbox2 on n015.cluster.edu,
% 0.74/1.03  Sat Jul  2 17:38:00 2022
% 0.74/1.03  The command was "/export/starexec/sandbox2/solver/bin/prover9 -t 300 -f /tmp/Prover9_18837_n015.cluster.edu".
% 0.74/1.03  ============================== end of head ===========================
% 0.74/1.03  
% 0.74/1.03  ============================== INPUT =================================
% 0.74/1.03  
% 0.74/1.03  % Reading from file /tmp/Prover9_18837_n015.cluster.edu
% 0.74/1.03  
% 0.74/1.03  set(prolog_style_variables).
% 0.74/1.03  set(auto2).
% 0.74/1.03      % set(auto2) -> set(auto).
% 0.74/1.03      % set(auto) -> set(auto_inference).
% 0.74/1.03      % set(auto) -> set(auto_setup).
% 0.74/1.03      % set(auto_setup) -> set(predicate_elim).
% 0.74/1.03      % set(auto_setup) -> assign(eq_defs, unfold).
% 0.74/1.03      % set(auto) -> set(auto_limits).
% 0.74/1.03      % set(auto_limits) -> assign(max_weight, "100.000").
% 0.74/1.03      % set(auto_limits) -> assign(sos_limit, 20000).
% 0.74/1.03      % set(auto) -> set(auto_denials).
% 0.74/1.03      % set(auto) -> set(auto_process).
% 0.74/1.03      % set(auto2) -> assign(new_constants, 1).
% 0.74/1.03      % set(auto2) -> assign(fold_denial_max, 3).
% 0.74/1.03      % set(auto2) -> assign(max_weight, "200.000").
% 0.74/1.03      % set(auto2) -> assign(max_hours, 1).
% 0.74/1.03      % assign(max_hours, 1) -> assign(max_seconds, 3600).
% 0.74/1.03      % set(auto2) -> assign(max_seconds, 0).
% 0.74/1.03      % set(auto2) -> assign(max_minutes, 5).
% 0.74/1.03      % assign(max_minutes, 5) -> assign(max_seconds, 300).
% 0.74/1.03      % set(auto2) -> set(sort_initial_sos).
% 0.74/1.03      % set(auto2) -> assign(sos_limit, -1).
% 0.74/1.03      % set(auto2) -> assign(lrs_ticks, 3000).
% 0.74/1.03      % set(auto2) -> assign(max_megs, 400).
% 0.74/1.03      % set(auto2) -> assign(stats, some).
% 0.74/1.03      % set(auto2) -> clear(echo_input).
% 0.74/1.03      % set(auto2) -> set(quiet).
% 0.74/1.03      % set(auto2) -> clear(print_initial_clauses).
% 0.74/1.03      % set(auto2) -> clear(print_given).
% 0.74/1.03  assign(lrs_ticks,-1).
% 0.74/1.03  assign(sos_limit,10000).
% 0.74/1.03  assign(order,kbo).
% 0.74/1.03  set(lex_order_vars).
% 0.74/1.03  clear(print_given).
% 0.74/1.03  
% 0.74/1.03  % formulas(sos).  % not echoed (77 formulas)
% 0.74/1.03  
% 0.74/1.03  ============================== end of input ==========================
% 0.74/1.03  
% 0.74/1.03  % From the command line: assign(max_seconds, 300).
% 0.74/1.03  
% 0.74/1.03  ============================== PROCESS NON-CLAUSAL FORMULAS ==========
% 0.74/1.03  
% 0.74/1.03  % Formulas that are not ordinary clauses:
% 0.74/1.03  1 modus_ponens <-> (all X all Y (is_a_theorem(X) & is_a_theorem(implies(X,Y)) -> is_a_theorem(Y))) # label(modus_ponens) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  2 substitution_of_equivalents <-> (all X all Y (is_a_theorem(equiv(X,Y)) -> X = Y)) # label(substitution_of_equivalents) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  3 modus_tollens <-> (all X all Y is_a_theorem(implies(implies(not(Y),not(X)),implies(X,Y)))) # label(modus_tollens) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  4 implies_1 <-> (all X all Y is_a_theorem(implies(X,implies(Y,X)))) # label(implies_1) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  5 implies_2 <-> (all X all Y is_a_theorem(implies(implies(X,implies(X,Y)),implies(X,Y)))) # label(implies_2) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  6 implies_3 <-> (all X all Y all Z is_a_theorem(implies(implies(X,Y),implies(implies(Y,Z),implies(X,Z))))) # label(implies_3) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  7 and_1 <-> (all X all Y is_a_theorem(implies(and(X,Y),X))) # label(and_1) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  8 and_2 <-> (all X all Y is_a_theorem(implies(and(X,Y),Y))) # label(and_2) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  9 and_3 <-> (all X all Y is_a_theorem(implies(X,implies(Y,and(X,Y))))) # label(and_3) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  10 or_1 <-> (all X all Y is_a_theorem(implies(X,or(X,Y)))) # label(or_1) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  11 or_2 <-> (all X all Y is_a_theorem(implies(Y,or(X,Y)))) # label(or_2) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  12 or_3 <-> (all X all Y all Z is_a_theorem(implies(implies(X,Z),implies(implies(Y,Z),implies(or(X,Y),Z))))) # label(or_3) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  13 equivalence_1 <-> (all X all Y is_a_theorem(implies(equiv(X,Y),implies(X,Y)))) # label(equivalence_1) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  14 equivalence_2 <-> (all X all Y is_a_theorem(implies(equiv(X,Y),implies(Y,X)))) # label(equivalence_2) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  15 equivalence_3 <-> (all X all Y is_a_theorem(implies(implies(X,Y),implies(implies(Y,X),equiv(X,Y))))) # label(equivalence_3) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  16 kn1 <-> (all P is_a_theorem(implies(P,and(P,P)))) # label(kn1) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  17 kn2 <-> (all P all Q is_a_theorem(implies(and(P,Q),P))) # label(kn2) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  18 kn3 <-> (all P all Q all R is_a_theorem(implies(implies(P,Q),implies(not(and(Q,R)),not(and(R,P)))))) # label(kn3) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  19 cn1 <-> (all P all Q all R is_a_theorem(implies(implies(P,Q),implies(implies(Q,R),implies(P,R))))) # label(cn1) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  20 cn2 <-> (all P all Q is_a_theorem(implies(P,implies(not(P),Q)))) # label(cn2) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  21 cn3 <-> (all P is_a_theorem(implies(implies(not(P),P),P))) # label(cn3) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  22 r1 <-> (all P is_a_theorem(implies(or(P,P),P))) # label(r1) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  23 r2 <-> (all P all Q is_a_theorem(implies(Q,or(P,Q)))) # label(r2) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  24 r3 <-> (all P all Q is_a_theorem(implies(or(P,Q),or(Q,P)))) # label(r3) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  25 r4 <-> (all P all Q all R is_a_theorem(implies(or(P,or(Q,R)),or(Q,or(P,R))))) # label(r4) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  26 r5 <-> (all P all Q all R is_a_theorem(implies(implies(Q,R),implies(or(P,Q),or(P,R))))) # label(r5) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  27 op_or -> (all X all Y or(X,Y) = not(and(not(X),not(Y)))) # label(op_or) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  28 op_and -> (all X all Y and(X,Y) = not(or(not(X),not(Y)))) # label(op_and) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  29 op_implies_and -> (all X all Y implies(X,Y) = not(and(X,not(Y)))) # label(op_implies_and) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  30 op_implies_or -> (all X all Y implies(X,Y) = or(not(X),Y)) # label(op_implies_or) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  31 op_equiv -> (all X all Y equiv(X,Y) = and(implies(X,Y),implies(Y,X))) # label(op_equiv) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  32 necessitation <-> (all X (is_a_theorem(X) -> is_a_theorem(necessarily(X)))) # label(necessitation) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  33 modus_ponens_strict_implies <-> (all X all Y (is_a_theorem(X) & is_a_theorem(strict_implies(X,Y)) -> is_a_theorem(Y))) # label(modus_ponens_strict_implies) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  34 adjunction <-> (all X all Y (is_a_theorem(X) & is_a_theorem(Y) -> is_a_theorem(and(X,Y)))) # label(adjunction) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  35 substitution_strict_equiv <-> (all X all Y (is_a_theorem(strict_equiv(X,Y)) -> X = Y)) # label(substitution_strict_equiv) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  36 axiom_K <-> (all X all Y is_a_theorem(implies(necessarily(implies(X,Y)),implies(necessarily(X),necessarily(Y))))) # label(axiom_K) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  37 axiom_M <-> (all X is_a_theorem(implies(necessarily(X),X))) # label(axiom_M) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  38 axiom_4 <-> (all X is_a_theorem(implies(necessarily(X),necessarily(necessarily(X))))) # label(axiom_4) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  39 axiom_B <-> (all X is_a_theorem(implies(X,necessarily(possibly(X))))) # label(axiom_B) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  40 axiom_5 <-> (all X is_a_theorem(implies(possibly(X),necessarily(possibly(X))))) # label(axiom_5) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.03  41 axiom_s1 <-> (all X all Y all Z is_a_theorem(implies(and(necessarily(implies(X,Y)),necessarily(implies(Y,Z))),necessarily(implies(X,Z))))) # label(axiom_s1) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.06  42 axiom_s2 <-> (all P all Q is_a_theorem(strict_implies(possibly(and(P,Q)),and(possibly(P),possibly(Q))))) # label(axiom_s2) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.06  43 axiom_s3 <-> (all X all Y is_a_theorem(strict_implies(strict_implies(X,Y),strict_implies(not(possibly(Y)),not(possibly(X)))))) # label(axiom_s3) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.06  44 axiom_s4 <-> (all X is_a_theorem(strict_implies(necessarily(X),necessarily(necessarily(X))))) # label(axiom_s4) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.06  45 axiom_m1 <-> (all X all Y is_a_theorem(strict_implies(and(X,Y),and(Y,X)))) # label(axiom_m1) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.06  46 axiom_m2 <-> (all X all Y is_a_theorem(strict_implies(and(X,Y),X))) # label(axiom_m2) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.06  47 axiom_m3 <-> (all X all Y all Z is_a_theorem(strict_implies(and(and(X,Y),Z),and(X,and(Y,Z))))) # label(axiom_m3) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.06  48 axiom_m4 <-> (all X is_a_theorem(strict_implies(X,and(X,X)))) # label(axiom_m4) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.06  49 axiom_m5 <-> (all X all Y all Z is_a_theorem(strict_implies(and(strict_implies(X,Y),strict_implies(Y,Z)),strict_implies(X,Z)))) # label(axiom_m5) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.06  50 axiom_m6 <-> (all X is_a_theorem(strict_implies(X,possibly(X)))) # label(axiom_m6) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.06  51 axiom_m7 <-> (all P all Q is_a_theorem(strict_implies(possibly(and(P,Q)),P))) # label(axiom_m7) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.06  52 axiom_m8 <-> (all P all Q is_a_theorem(strict_implies(strict_implies(P,Q),strict_implies(possibly(P),possibly(Q))))) # label(axiom_m8) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.06  53 axiom_m9 <-> (all X is_a_theorem(strict_implies(possibly(possibly(X)),possibly(X)))) # label(axiom_m9) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.06  54 axiom_m10 <-> (all X is_a_theorem(strict_implies(possibly(X),necessarily(possibly(X))))) # label(axiom_m10) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.06  55 op_possibly -> (all X possibly(X) = not(necessarily(not(X)))) # label(op_possibly) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.06  56 op_necessarily -> (all X necessarily(X) = not(possibly(not(X)))) # label(op_necessarily) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.06  57 op_strict_implies -> (all X all Y strict_implies(X,Y) = necessarily(implies(X,Y))) # label(op_strict_implies) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.06  58 op_strict_equiv -> (all X all Y strict_equiv(X,Y) = and(strict_implies(X,Y),strict_implies(Y,X))) # label(op_strict_equiv) # label(axiom) # label(non_clause).  [assumption].
% 0.74/1.06  
% 0.74/1.06  ============================== end of process non-clausal formulas ===
% 0.74/1.06  
% 0.74/1.06  ============================== PROCESS INITIAL CLAUSES ===============
% 0.74/1.06  
% 0.74/1.06  ============================== PREDICATE ELIMINATION =================
% 0.74/1.06  
% 0.74/1.06  ============================== end predicate elimination =============
% 0.74/1.06  
% 0.74/1.06  Auto_denials:  (non-Horn, no changes).
% 0.74/1.06  
% 0.74/1.06  Term ordering decisions:
% 0.74/1.06  Function symbol KB weights:  c1=1. c2=1. c3=1. c4=1. c5=1. c6=1. c7=1. c8=1. c9=1. c10=1. c11=1. c12=1. c13=1. c14=1. c15=1. c16=1. c17=1. c18=1. c19=1. c20=1. c21=1. c22=1. c23=1. c24=1. c25=1. c26=1. c27=1. c28=1. c29=1. c30=1. c31=1. c32=1. c33=1. c34=1. c35=1. c36=1. c37=1. c38=1. c39=1. c40=1. c41=1. c42=1. c43=1. c44=1. c45=1. c46=1. c47=1. c48=1. c49=1. c50=1. c51=1. c52=1. c53=1. c54=1. c55=1. c56=1. c57=1. c58=1. c59=1. c60=1. c61=1. c62=1. c63=1. c64=1. c65=1. c66=1. c67=1. c68=1. c69=1. c70=1. c71=1. c72=1. c73=1. c74=1. c75=1. c76=1. c77=1. c78=1. c79=1. c80=1. c81=1. c82=1. c83=1. c84=1. c85=1. c86=1. c87=1. c88=1. c89=1. c90=1. c91=1. c92=1. c93=1. c94=1. implies=1. and=1. strict_implies=1. or=1. equiv=1. strict_equiv=1. necessarily=1. possibly=1. not=1.
% 0.74/1.06  
% 0.74/1.06  ============================== end of process initial clauses ========
% 0.74/1.06  
% 0.74/1.06  ============================== CLAUSES FOR SEARCH ====================
% 45.34/45.64  
% 45.34/45.64  ============================== end of clauses for search =============
% 45.34/45.64  
% 45.34/45.64  ============================== SEARCH ================================
% 45.34/45.64  
% 45.34/45.64  % Starting search at 0.05 seconds.
% 45.34/45.64  
% 45.34/45.64  Low Water (keep): wt=21.000, iters=3336
% 45.34/45.64  
% 45.34/45.64  Low Water (keep): wt=20.000, iters=3343
% 45.34/45.64  
% 45.34/45.64  Low Water (keep): wt=19.000, iters=3401
% 45.34/45.64  
% 45.34/45.64  Low Water (keep): wt=18.000, iters=3403
% 45.34/45.64  
% 45.34/45.64  Low Water (keep): wt=17.000, iters=3342
% 45.34/45.64  
% 45.34/45.64  Low Water (keep): wt=16.000, iters=3403
% 45.34/45.64  
% 45.34/45.64  Low Water (keep): wt=15.000, iters=3388
% 45.34/45.64  
% 45.34/45.64  NOTE: Back_subsumption disabled, ratio of kept to back_subsumed is 368 (0.00 of 1.66 sec).
% 45.34/45.64  % back CAC tautology: 8941 equiv(possibly(necessarily(not(A))),not(B)) = equiv(not(B),possibly(necessarily(not(A)))).  [back_rewrite(3101),rewrite([8611(9),3100(9)]),flip(a)].
% 45.34/45.64  
% 45.34/45.64  Low Water (displace): id=14256, wt=36.000
% 45.34/45.64  
% 45.34/45.64  Low Water (displace): id=15222, wt=33.000
% 45.34/45.64  
% 45.34/45.64  Low Water (displace): id=14248, wt=32.000
% 45.34/45.64  
% 45.34/45.64  Low Water (displace): id=14251, wt=31.000
% 45.34/45.64  
% 45.34/45.64  Low Water (displace): id=14257, wt=30.000
% 45.34/45.64  
% 45.34/45.64  Low Water (displace): id=21151, wt=16.000
% 45.34/45.64  
% 45.34/45.64  Low Water (displace): id=21434, wt=15.000
% 45.34/45.64  
% 45.34/45.64  Low Water (displace): id=21449, wt=14.000
% 45.34/45.64  % back CAC tautology: 23823 or(or(A,B),not(C)) = or(not(C),or(A,B)).  [para(23765(a,2),20796(a,1)),rewrite([20796(6)]),flip(a)].
% 45.34/45.64  % back CAC tautology: 23813 or(and(A,possibly(B)),not(C)) = or(not(C),and(A,possibly(B))).  [para(23765(a,2),2413(a,2)),rewrite([2413(5)])].
% 45.34/45.64  
% 45.34/45.64  Low Water (displace): id=25356, wt=13.000
% 45.34/45.64  
% 45.34/45.64  Low Water (displace): id=25357, wt=10.000
% 45.34/45.64  
% 45.34/45.64  Low Water (keep): wt=14.000, iters=3343
% 45.34/45.64  
% 45.34/45.64  ============================== PROOF =================================
% 45.34/45.64  % SZS status Theorem
% 45.34/45.64  % SZS output start Refutation
% 45.34/45.64  
% 45.34/45.64  % Proof 1 at 43.26 (+ 1.36) seconds.
% 45.34/45.64  % Length of proof is 141.
% 45.34/45.64  % Level of proof is 32.
% 45.34/45.64  % Maximum clause weight is 17.000.
% 45.34/45.64  % Given clauses 8622.
% 45.34/45.64  
% 45.34/45.64  1 modus_ponens <-> (all X all Y (is_a_theorem(X) & is_a_theorem(implies(X,Y)) -> is_a_theorem(Y))) # label(modus_ponens) # label(axiom) # label(non_clause).  [assumption].
% 45.34/45.64  2 substitution_of_equivalents <-> (all X all Y (is_a_theorem(equiv(X,Y)) -> X = Y)) # label(substitution_of_equivalents) # label(axiom) # label(non_clause).  [assumption].
% 45.34/45.64  27 op_or -> (all X all Y or(X,Y) = not(and(not(X),not(Y)))) # label(op_or) # label(axiom) # label(non_clause).  [assumption].
% 45.34/45.64  29 op_implies_and -> (all X all Y implies(X,Y) = not(and(X,not(Y)))) # label(op_implies_and) # label(axiom) # label(non_clause).  [assumption].
% 45.34/45.64  31 op_equiv -> (all X all Y equiv(X,Y) = and(implies(X,Y),implies(Y,X))) # label(op_equiv) # label(axiom) # label(non_clause).  [assumption].
% 45.34/45.64  33 modus_ponens_strict_implies <-> (all X all Y (is_a_theorem(X) & is_a_theorem(strict_implies(X,Y)) -> is_a_theorem(Y))) # label(modus_ponens_strict_implies) # label(axiom) # label(non_clause).  [assumption].
% 45.34/45.64  34 adjunction <-> (all X all Y (is_a_theorem(X) & is_a_theorem(Y) -> is_a_theorem(and(X,Y)))) # label(adjunction) # label(axiom) # label(non_clause).  [assumption].
% 45.34/45.64  35 substitution_strict_equiv <-> (all X all Y (is_a_theorem(strict_equiv(X,Y)) -> X = Y)) # label(substitution_strict_equiv) # label(axiom) # label(non_clause).  [assumption].
% 45.34/45.64  45 axiom_m1 <-> (all X all Y is_a_theorem(strict_implies(and(X,Y),and(Y,X)))) # label(axiom_m1) # label(axiom) # label(non_clause).  [assumption].
% 45.34/45.64  46 axiom_m2 <-> (all X all Y is_a_theorem(strict_implies(and(X,Y),X))) # label(axiom_m2) # label(axiom) # label(non_clause).  [assumption].
% 45.34/45.64  48 axiom_m4 <-> (all X is_a_theorem(strict_implies(X,and(X,X)))) # label(axiom_m4) # label(axiom) # label(non_clause).  [assumption].
% 45.34/45.64  49 axiom_m5 <-> (all X all Y all Z is_a_theorem(strict_implies(and(strict_implies(X,Y),strict_implies(Y,Z)),strict_implies(X,Z)))) # label(axiom_m5) # label(axiom) # label(non_clause).  [assumption].
% 45.34/45.64  57 op_strict_implies -> (all X all Y strict_implies(X,Y) = necessarily(implies(X,Y))) # label(op_strict_implies) # label(axiom) # label(non_clause).  [assumption].
% 45.34/45.64  58 op_strict_equiv -> (all X all Y strict_equiv(X,Y) = and(strict_implies(X,Y),strict_implies(Y,X))) # label(op_strict_equiv) # label(axiom) # label(non_clause).  [assumption].
% 45.34/45.64  60 modus_ponens | is_a_theorem(c1) # label(modus_ponens) # label(axiom).  [clausify(1)].
% 45.34/45.64  61 modus_ponens | is_a_theorem(implies(c1,c2)) # label(modus_ponens) # label(axiom).  [clausify(1)].
% 45.34/45.64  62 modus_ponens | -is_a_theorem(c2) # label(modus_ponens) # label(axiom).  [clausify(1)].
% 45.34/45.64  63 -substitution_of_equivalents | -is_a_theorem(equiv(A,B)) | B = A # label(substitution_of_equivalents) # label(axiom).  [clausify(2)].
% 45.34/45.64  114 -op_or | or(A,B) = not(and(not(A),not(B))) # label(op_or) # label(axiom).  [clausify(27)].
% 45.34/45.64  115 -op_or | not(and(not(A),not(B))) = or(A,B).  [copy(114),flip(b)].
% 45.34/45.64  118 -op_implies_and | not(and(A,not(B))) = implies(A,B) # label(op_implies_and) # label(axiom).  [clausify(29)].
% 45.34/45.64  120 -op_equiv | and(implies(A,B),implies(B,A)) = equiv(A,B) # label(op_equiv) # label(axiom).  [clausify(31)].
% 45.34/45.64  124 -modus_ponens_strict_implies | -is_a_theorem(A) | -is_a_theorem(strict_implies(A,B)) | is_a_theorem(B) # label(modus_ponens_strict_implies) # label(axiom).  [clausify(33)].
% 45.34/45.64  128 -adjunction | -is_a_theorem(A) | -is_a_theorem(B) | is_a_theorem(and(A,B)) # label(adjunction) # label(axiom).  [clausify(34)].
% 45.34/45.64  132 -substitution_strict_equiv | -is_a_theorem(strict_equiv(A,B)) | B = A # label(substitution_strict_equiv) # label(axiom).  [clausify(35)].
% 45.34/45.64  153 -axiom_m1 | is_a_theorem(strict_implies(and(A,B),and(B,A))) # label(axiom_m1) # label(axiom).  [clausify(45)].
% 45.34/45.64  155 -axiom_m2 | is_a_theorem(strict_implies(and(A,B),A)) # label(axiom_m2) # label(axiom).  [clausify(46)].
% 45.34/45.64  159 -axiom_m4 | is_a_theorem(strict_implies(A,and(A,A))) # label(axiom_m4) # label(axiom).  [clausify(48)].
% 45.34/45.64  161 -axiom_m5 | is_a_theorem(strict_implies(and(strict_implies(A,B),strict_implies(B,C)),strict_implies(A,C))) # label(axiom_m5) # label(axiom).  [clausify(49)].
% 45.34/45.64  177 -op_strict_implies | strict_implies(A,B) = necessarily(implies(A,B)) # label(op_strict_implies) # label(axiom).  [clausify(57)].
% 45.34/45.64  178 -op_strict_implies | necessarily(implies(A,B)) = strict_implies(A,B).  [copy(177),flip(b)].
% 45.34/45.64  179 -op_strict_equiv | strict_equiv(A,B) = and(strict_implies(A,B),strict_implies(B,A)) # label(op_strict_equiv) # label(axiom).  [clausify(58)].
% 45.34/45.64  180 -op_strict_equiv | and(strict_implies(A,B),strict_implies(B,A)) = strict_equiv(A,B).  [copy(179),flip(b)].
% 45.34/45.64  182 op_or # label(s1_0_op_or) # label(axiom).  [assumption].
% 45.34/45.64  184 op_strict_implies # label(s1_0_op_strict_implies) # label(axiom).  [assumption].
% 45.34/45.64  185 op_equiv # label(s1_0_op_equiv) # label(axiom).  [assumption].
% 45.34/45.64  186 op_strict_equiv # label(s1_0_op_strict_equiv) # label(axiom).  [assumption].
% 45.34/45.64  187 modus_ponens_strict_implies # label(s1_0_modus_ponens_strict_implies) # label(axiom).  [assumption].
% 45.34/45.64  188 substitution_strict_equiv # label(s1_0_substitution_strict_equiv) # label(axiom).  [assumption].
% 45.34/45.64  189 adjunction # label(s1_0_adjunction) # label(axiom).  [assumption].
% 45.34/45.64  190 axiom_m1 # label(s1_0_axiom_m1) # label(axiom).  [assumption].
% 45.34/45.64  191 axiom_m2 # label(s1_0_axiom_m2) # label(axiom).  [assumption].
% 45.34/45.64  193 axiom_m4 # label(s1_0_axiom_m4) # label(axiom).  [assumption].
% 45.34/45.64  194 axiom_m5 # label(s1_0_axiom_m5) # label(axiom).  [assumption].
% 45.34/45.64  195 op_implies_and # label(hilbert_op_implies_and) # label(axiom).  [assumption].
% 45.34/45.64  196 substitution_of_equivalents # label(substitution_of_equivalents) # label(axiom).  [assumption].
% 45.34/45.64  197 -modus_ponens # label(hilbert_modus_ponens) # label(negated_conjecture).  [assumption].
% 45.34/45.64  200 not(and(not(A),not(B))) = or(A,B).  [back_unit_del(115),unit_del(a,182)].
% 45.34/45.64  201 necessarily(implies(A,B)) = strict_implies(A,B).  [back_unit_del(178),unit_del(a,184)].
% 45.34/45.64  202 and(implies(A,B),implies(B,A)) = equiv(A,B).  [back_unit_del(120),unit_del(a,185)].
% 45.34/45.64  203 and(strict_implies(A,B),strict_implies(B,A)) = strict_equiv(A,B).  [back_unit_del(180),unit_del(a,186)].
% 45.34/45.64  204 -is_a_theorem(A) | -is_a_theorem(strict_implies(A,B)) | is_a_theorem(B).  [back_unit_del(124),unit_del(a,187)].
% 45.34/45.64  205 -is_a_theorem(strict_equiv(A,B)) | B = A.  [back_unit_del(132),unit_del(a,188)].
% 45.34/45.64  206 -is_a_theorem(A) | -is_a_theorem(B) | is_a_theorem(and(A,B)).  [back_unit_del(128),unit_del(a,189)].
% 45.34/45.64  207 is_a_theorem(strict_implies(and(A,B),and(B,A))).  [back_unit_del(153),unit_del(a,190)].
% 45.34/45.64  208 is_a_theorem(strict_implies(and(A,B),A)).  [back_unit_del(155),unit_del(a,191)].
% 45.34/45.64  210 is_a_theorem(strict_implies(A,and(A,A))).  [back_unit_del(159),unit_del(a,193)].
% 45.34/45.64  211 is_a_theorem(strict_implies(and(strict_implies(A,B),strict_implies(B,C)),strict_implies(A,C))).  [back_unit_del(161),unit_del(a,194)].
% 45.34/45.64  212 not(and(A,not(B))) = implies(A,B).  [back_unit_del(118),unit_del(a,195)].
% 45.34/45.64  213 -is_a_theorem(equiv(A,B)) | B = A.  [back_unit_del(63),unit_del(a,196)].
% 45.34/45.64  214 -is_a_theorem(c2).  [back_unit_del(62),unit_del(a,197)].
% 45.34/45.64  215 is_a_theorem(implies(c1,c2)).  [back_unit_del(61),unit_del(a,197)].
% 45.34/45.64  216 is_a_theorem(c1).  [back_unit_del(60),unit_del(a,197)].
% 45.34/45.64  221 implies(not(A),B) = or(A,B).  [back_rewrite(200),rewrite([212(4)])].
% 45.34/45.64  234 -is_a_theorem(A) | is_a_theorem(and(A,strict_implies(and(B,C),and(C,B)))).  [resolve(207,a,206,b)].
% 45.34/45.64  241 -is_a_theorem(A) | is_a_theorem(and(A,strict_implies(and(B,C),B))).  [resolve(208,a,206,b)].
% 45.34/45.64  257 -is_a_theorem(A) | is_a_theorem(and(A,strict_implies(B,and(B,B)))).  [resolve(210,a,206,b)].
% 45.34/45.64  265 -is_a_theorem(and(strict_implies(A,B),strict_implies(B,C))) | is_a_theorem(strict_implies(A,C)).  [resolve(211,a,204,b)].
% 45.34/45.64  271 not(and(A,implies(B,C))) = implies(A,and(B,not(C))).  [para(212(a,1),212(a,1,1,2))].
% 45.34/45.64  272 -is_a_theorem(A) | is_a_theorem(and(A,implies(c1,c2))).  [resolve(215,a,206,b)].
% 45.34/45.64  281 necessarily(or(A,B)) = strict_implies(not(A),B).  [para(221(a,1),201(a,1,1))].
% 45.34/45.64  284 or(and(A,not(B)),C) = implies(implies(A,B),C).  [para(212(a,1),221(a,1,1)),flip(a)].
% 45.34/45.64  412 is_a_theorem(and(strict_implies(and(A,B),and(B,A)),strict_implies(and(C,D),and(D,C)))).  [resolve(234,a,207,a)].
% 45.34/45.64  596 is_a_theorem(and(strict_implies(A,and(A,A)),strict_implies(and(B,C),B))).  [resolve(241,a,210,a)].
% 45.34/45.64  2525 implies(A,and(not(B),not(C))) = not(and(A,or(B,C))).  [para(221(a,1),271(a,1,1,2)),flip(a)].
% 45.34/45.64  8550 is_a_theorem(strict_equiv(and(A,B),and(B,A))).  [para(203(a,1),412(a,1))].
% 45.34/45.64  8611 and(A,B) = and(B,A).  [resolve(8550,a,205,a)].
% 45.34/45.64  9206 equiv(A,B) = equiv(B,A).  [para(8611(a,1),202(a,1)),rewrite([202(3)])].
% 45.34/45.64  9207 strict_equiv(A,B) = strict_equiv(B,A).  [para(8611(a,1),203(a,1)),rewrite([203(3)])].
% 45.34/45.64  9208 is_a_theorem(strict_implies(and(A,B),B)).  [para(8611(a,1),208(a,1,1))].
% 45.34/45.64  9213 -is_a_theorem(and(strict_implies(A,B),strict_implies(C,A))) | is_a_theorem(strict_implies(C,B)).  [para(8611(a,1),265(a,1))].
% 45.34/45.64  9374 -is_a_theorem(A) | is_a_theorem(and(A,strict_implies(and(B,C),C))).  [resolve(9208,a,206,b)].
% 45.34/45.64  9398 -is_a_theorem(equiv(A,B)) | A = B.  [para(9206(a,1),213(a,1))].
% 45.34/45.64  9400 -is_a_theorem(strict_equiv(A,B)) | A = B.  [para(9207(a,1),205(a,1))].
% 45.34/45.64  10551 is_a_theorem(strict_implies(A,A)).  [resolve(596,a,265,a)].
% 45.34/45.64  10559 is_a_theorem(strict_equiv(A,and(A,A))).  [para(203(a,1),596(a,1))].
% 45.34/45.64  10561 is_a_theorem(and(strict_implies(A,A),strict_implies(and(B,C),C))).  [resolve(10551,a,9374,a)].
% 45.34/45.64  10576 is_a_theorem(and(strict_implies(A,A),strict_implies(B,and(B,B)))).  [resolve(10551,a,257,a)].
% 45.34/45.64  10579 -is_a_theorem(A) | is_a_theorem(and(A,strict_implies(B,B))).  [resolve(10551,a,206,b)].
% 45.34/45.64  10602 and(A,A) = A.  [resolve(10559,a,9400,a),flip(a)].
% 45.34/45.64  10606 is_a_theorem(and(strict_implies(A,A),strict_implies(B,B))).  [back_rewrite(10576),rewrite([10602(2)])].
% 45.34/45.64  10830 strict_equiv(A,A) = strict_implies(A,A).  [para(10602(a,1),203(a,1)),flip(a)].
% 45.34/45.64  10831 or(A,A) = not(not(A)).  [para(10602(a,1),212(a,1,1)),rewrite([221(4)]),flip(a)].
% 45.34/45.64  10836 implies(or(A,A),B) = or(not(A),B).  [para(10602(a,1),284(a,1,1)),rewrite([221(4)]),flip(a)].
% 45.34/45.64  10935 strict_implies(or(A,A),B) = strict_implies(not(not(A)),B).  [para(10831(a,2),281(a,2,1)),rewrite([281(3)]),flip(a)].
% 45.34/45.64  10945 not(or(A,A)) = not(not(not(A))).  [para(10831(a,2),10831(a,2,1)),rewrite([10831(3)]),flip(a)].
% 45.34/45.64  11289 implies(A,or(B,B)) = implies(A,not(not(B))).  [para(10945(a,1),212(a,1,1,2)),rewrite([212(5)]),flip(a)].
% 45.34/45.64  13548 and(strict_implies(A,not(not(B))),strict_implies(or(B,B),A)) = strict_equiv(A,not(not(B))).  [para(10935(a,2),203(a,1,2))].
% 45.34/45.64  14517 strict_implies(A,or(B,B)) = strict_implies(A,not(not(B))).  [para(11289(a,1),201(a,1,1)),rewrite([201(4)]),flip(a)].
% 45.34/45.64  14803 strict_equiv(A,or(B,B)) = strict_equiv(A,not(not(B))).  [para(14517(a,1),203(a,1,1)),rewrite([13548(6)]),flip(a)].
% 45.34/45.64  14805 -is_a_theorem(A) | -is_a_theorem(strict_implies(A,or(B,B))) | is_a_theorem(not(not(B))).  [para(14517(a,2),204(b,1))].
% 45.34/45.64  15142 strict_equiv(A,not(or(B,B))) = strict_equiv(A,not(not(not(B)))).  [para(10831(a,2),14803(a,2,2,1)),rewrite([10831(3)]),flip(a)].
% 45.34/45.64  17433 not(and(not(A),or(B,C))) = or(A,and(not(B),not(C))).  [para(2525(a,1),221(a,1))].
% 45.34/45.64  17437 not(and(A,or(B,C))) = not(and(A,or(C,B))).  [para(8611(a,1),2525(a,1,2)),rewrite([2525(4)])].
% 45.34/45.64  20291 -is_a_theorem(strict_equiv(A,not(not(not(B))))) | not(or(B,B)) = A.  [para(15142(a,1),205(a,1))].
% 45.34/45.64  20326 not(and(or(A,B),or(B,A))) = not(or(A,B)).  [para(10602(a,1),17437(a,1,1)),flip(a)].
% 45.34/45.64  20790 not(or(A,B)) = not(or(B,A)).  [para(8611(a,1),20326(a,1,1)),rewrite([20326(4)])].
% 45.34/45.64  20795 implies(A,or(B,C)) = implies(A,or(C,B)).  [para(20790(a,1),212(a,1,1,2)),rewrite([212(4)])].
% 45.34/45.64  20814 strict_implies(A,or(B,C)) = strict_implies(A,or(C,B)).  [para(20795(a,1),201(a,1,1)),rewrite([201(3)])].
% 45.34/45.64  23750 or(A,and(not(B),not(C))) = implies(or(B,C),A).  [para(8611(a,1),17433(a,1,1)),rewrite([212(4)]),flip(a)].
% 45.34/45.64  23764 implies(or(A,B),C) = implies(or(B,A),C).  [para(8611(a,1),23750(a,1,2)),rewrite([23750(4)])].
% 45.34/45.64  23765 or(not(A),B) = or(B,not(A)).  [para(10602(a,1),23750(a,1,2)),rewrite([10836(4)]),flip(a)].
% 45.34/45.64  23811 strict_implies(not(not(A)),B) = strict_implies(not(B),not(A)).  [para(23765(a,1),281(a,1,1)),rewrite([281(3)]),flip(a)].
% 45.34/45.64  23904 strict_implies(or(A,A),B) = strict_implies(not(B),not(A)).  [back_rewrite(10935),rewrite([23811(5)])].
% 45.34/45.64  23949 strict_implies(or(A,B),C) = strict_implies(or(B,A),C).  [para(23764(a,1),201(a,1,1)),rewrite([201(3)])].
% 45.34/45.64  24063 is_a_theorem(and(strict_implies(or(A,A),A),strict_implies(B,B))).  [para(23904(a,2),10606(a,1,1))].
% 45.34/45.64  24070 is_a_theorem(and(strict_implies(or(A,A),A),strict_implies(and(B,C),C))).  [para(23904(a,2),10561(a,1,1))].
% 45.34/45.64  24707 is_a_theorem(and(strict_implies(or(A,A),A),strict_implies(or(B,B),B))).  [para(23904(a,2),24063(a,1,2))].
% 45.34/45.64  24822 strict_equiv(A,or(B,C)) = strict_equiv(A,or(C,B)).  [para(23949(a,1),203(a,1,1)),rewrite([20814(4),8611(5),203(5),9207(4)])].
% 45.34/45.64  24848 -is_a_theorem(strict_equiv(A,or(B,C))) | or(C,B) = A.  [para(24822(a,1),205(a,1))].
% 45.34/45.64  24856 or(A,B) = or(B,A).  [para(10830(a,1),24848(a,1)),unit_del(a,10551)].
% 45.34/45.64  24876 strict_implies(not(A),B) = strict_implies(not(B),A).  [para(24856(a,1),281(a,1,1)),rewrite([281(2)])].
% 45.34/45.64  24903 and(strict_implies(A,not(B)),strict_implies(not(A),B)) = strict_equiv(A,not(B)).  [para(24876(a,1),203(a,1,1)),rewrite([8611(5),9207(7)])].
% 45.34/45.64  25016 is_a_theorem(strict_implies(not(A),not(and(B,A)))).  [resolve(24070,a,265,a),rewrite([10831(3),24876(4)])].
% 45.34/45.64  25108 -is_a_theorem(not(A)) | is_a_theorem(not(and(A,B))).  [resolve(25016,a,204,b),rewrite([8611(3)])].
% 45.34/45.64  25197 -is_a_theorem(or(A,A)) | is_a_theorem(implies(B,A)).  [para(10831(a,2),25108(a,1)),rewrite([8611(4),212(5)])].
% 45.34/45.64  26484 is_a_theorem(strict_implies(not(A),not(or(A,A)))).  [resolve(24707,a,9213,a),rewrite([10831(3),24876(4)])].
% 45.34/45.64  26510 is_a_theorem(strict_implies(not(A),not(not(not(A))))).  [para(10831(a,1),26484(a,1,2,1))].
% 45.34/45.64  26590 is_a_theorem(and(strict_implies(not(A),not(not(not(A)))),strict_implies(B,B))).  [resolve(26510,a,10579,a)].
% 45.34/45.64  36137 is_a_theorem(strict_equiv(not(A),not(not(not(A))))).  [para(24903(a,1),26590(a,1))].
% 45.34/45.64  36144 not(or(A,A)) = not(A).  [resolve(36137,a,20291,a)].
% 45.34/45.64  36527 implies(A,or(B,B)) = implies(A,B).  [para(36144(a,1),212(a,1,1,2)),rewrite([212(3)]),flip(a)].
% 45.34/45.64  37598 strict_implies(A,or(B,B)) = strict_implies(A,B).  [para(36527(a,1),201(a,1,1)),rewrite([201(2)]),flip(a)].
% 45.34/45.64  37672 -is_a_theorem(A) | -is_a_theorem(strict_implies(A,B)) | is_a_theorem(not(not(B))).  [back_rewrite(14805),rewrite([37598(3)])].
% 45.34/45.64  38800 -is_a_theorem(A) | is_a_theorem(not(not(A))).  [resolve(37672,b,10551,a)].
% 45.34/45.64  39516 is_a_theorem(or(c1,c1)).  [resolve(38800,a,216,a),rewrite([10831(3,R)])].
% 45.34/45.64  39560 is_a_theorem(implies(A,c1)).  [resolve(39516,a,25197,a)].
% 45.34/45.64  39921 is_a_theorem(and(implies(A,c1),implies(c1,c2))).  [resolve(39560,a,272,a)].
% 45.34/45.64  42649 is_a_theorem(equiv(c1,c2)).  [para(202(a,1),39921(a,1)),rewrite([9206(3)])].
% 45.34/45.64  42720 c2 = c1.  [resolve(42649,a,9398,a),flip(a)].
% 45.34/45.64  46249 $F.  [back_rewrite(214),rewrite([42720(1)]),unit_del(a,216)].
% 45.34/45.64  
% 45.34/45.64  % SZS output end Refutation
% 45.34/45.64  ============================== end of proof ==========================
% 45.34/45.64  
% 45.34/45.64  ============================== STATISTICS ============================
% 45.34/45.64  
% 45.34/45.64  Given=8622. Generated=2391598. Kept=46184. proofs=1.
% 45.34/45.64  Usable=3406. Sos=5766. Demods=161. Limbo=3529, Disabled=33618. Hints=0.
% 45.34/45.64  Megabytes=45.54.
% 45.34/45.64  User_CPU=43.27, System_CPU=1.36, Wall_clock=44.
% 45.34/45.64  
% 45.34/45.64  ============================== end of statistics =====================
% 45.34/45.64  
% 45.34/45.64  ============================== end of search =========================
% 45.34/45.64  
% 45.34/45.64  THEOREM PROVED
% 45.34/45.64  % SZS status Theorem
% 45.34/45.64  
% 45.34/45.64  Exiting with 1 proof.
% 45.34/45.64  
% 45.34/45.64  Process 18990 exit (max_proofs) Sat Jul  2 17:38:44 2022
% 45.34/45.64  Prover9 interrupted
%------------------------------------------------------------------------------