TSTP Solution File: LCL483+1 by Metis---2.4

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Metis---2.4
% Problem  : LCL483+1 : TPTP v8.1.0. Released v3.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : metis --show proof --show saturation %s

% Computer : n014.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 12:52:34 EDT 2022

% Result   : Theorem 0.13s 0.41s
% Output   : CNFRefutation 0.19s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   15
%            Number of leaves      :   17
% Syntax   : Number of formulae    :   72 (  36 unt;   0 def)
%            Number of atoms       :  117 (  48 equ)
%            Maximal formula atoms :    4 (   1 avg)
%            Number of connectives :   89 (  44   ~;  36   |;   2   &)
%                                         (   4 <=>;   3  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    6 (   2 avg)
%            Maximal term depth    :    4 (   2 avg)
%            Number of predicates  :    9 (   6 usr;   6 prp; 0-2 aty)
%            Number of functors    :    8 (   8 usr;   4 con; 0-2 aty)
%            Number of variables   :   83 (   0 sgn  28   !;   4   ?)

% Comments : 
%------------------------------------------------------------------------------
fof(modus_tollens,axiom,
    ( modus_tollens
  <=> ! [X,Y] : is_a_theorem(implies(implies(not(Y),not(X)),implies(X,Y))) ) ).

fof(r3,axiom,
    ( r3
  <=> ! [P,Q] : is_a_theorem(implies(or(P,Q),or(Q,P))) ) ).

fof(op_or,axiom,
    ( op_or
   => ! [X,Y] : or(X,Y) = not(and(not(X),not(Y))) ) ).

fof(op_implies_and,axiom,
    ( op_implies_and
   => ! [X,Y] : implies(X,Y) = not(and(X,not(Y))) ) ).

fof(op_implies_or,axiom,
    ( op_implies_or
   => ! [X,Y] : implies(X,Y) = or(not(X),Y) ) ).

fof(principia_op_implies_or,axiom,
    op_implies_or ).

fof(principia_r3,axiom,
    r3 ).

fof(hilbert_op_or,axiom,
    op_or ).

fof(hilbert_op_implies_and,axiom,
    op_implies_and ).

fof(hilbert_modus_tollens,conjecture,
    modus_tollens ).

fof(subgoal_0,plain,
    modus_tollens,
    inference(strip,[],[hilbert_modus_tollens]) ).

fof(negate_0_0,plain,
    ~ modus_tollens,
    inference(negate,[],[subgoal_0]) ).

fof(normalize_0_0,plain,
    ( ~ modus_tollens
  <=> ? [X,Y] : ~ is_a_theorem(implies(implies(not(Y),not(X)),implies(X,Y))) ),
    inference(canonicalize,[],[modus_tollens]) ).

fof(normalize_0_1,plain,
    ! [X,Y] :
      ( ( ~ is_a_theorem(implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)))
        | modus_tollens )
      & ( ~ modus_tollens
        | is_a_theorem(implies(implies(not(Y),not(X)),implies(X,Y))) ) ),
    inference(clausify,[],[normalize_0_0]) ).

fof(normalize_0_2,plain,
    ( ~ is_a_theorem(implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)))
    | modus_tollens ),
    inference(conjunct,[],[normalize_0_1]) ).

fof(normalize_0_3,plain,
    ( ~ op_or
    | ! [X,Y] : or(X,Y) = not(and(not(X),not(Y))) ),
    inference(canonicalize,[],[op_or]) ).

fof(normalize_0_4,plain,
    ! [X,Y] :
      ( ~ op_or
      | or(X,Y) = not(and(not(X),not(Y))) ),
    inference(clausify,[],[normalize_0_3]) ).

fof(normalize_0_5,plain,
    op_or,
    inference(canonicalize,[],[hilbert_op_or]) ).

fof(normalize_0_6,plain,
    ( ~ op_implies_and
    | ! [X,Y] : implies(X,Y) = not(and(X,not(Y))) ),
    inference(canonicalize,[],[op_implies_and]) ).

fof(normalize_0_7,plain,
    ! [X,Y] :
      ( ~ op_implies_and
      | implies(X,Y) = not(and(X,not(Y))) ),
    inference(clausify,[],[normalize_0_6]) ).

fof(normalize_0_8,plain,
    op_implies_and,
    inference(canonicalize,[],[hilbert_op_implies_and]) ).

fof(normalize_0_9,plain,
    ~ modus_tollens,
    inference(canonicalize,[],[negate_0_0]) ).

fof(normalize_0_10,plain,
    ( ~ r3
  <=> ? [P,Q] : ~ is_a_theorem(implies(or(P,Q),or(Q,P))) ),
    inference(canonicalize,[],[r3]) ).

fof(normalize_0_11,plain,
    ! [P,Q] :
      ( ( ~ is_a_theorem(implies(or(skolemFOFtoCNF_P_8,skolemFOFtoCNF_Q_5),or(skolemFOFtoCNF_Q_5,skolemFOFtoCNF_P_8)))
        | r3 )
      & ( ~ r3
        | is_a_theorem(implies(or(P,Q),or(Q,P))) ) ),
    inference(clausify,[],[normalize_0_10]) ).

fof(normalize_0_12,plain,
    ! [P,Q] :
      ( ~ r3
      | is_a_theorem(implies(or(P,Q),or(Q,P))) ),
    inference(conjunct,[],[normalize_0_11]) ).

fof(normalize_0_13,plain,
    r3,
    inference(canonicalize,[],[principia_r3]) ).

fof(normalize_0_14,plain,
    ( ~ op_implies_or
    | ! [X,Y] : implies(X,Y) = or(not(X),Y) ),
    inference(canonicalize,[],[op_implies_or]) ).

fof(normalize_0_15,plain,
    ! [X,Y] :
      ( ~ op_implies_or
      | implies(X,Y) = or(not(X),Y) ),
    inference(clausify,[],[normalize_0_14]) ).

fof(normalize_0_16,plain,
    op_implies_or,
    inference(canonicalize,[],[principia_op_implies_or]) ).

cnf(refute_0_0,plain,
    ( ~ is_a_theorem(implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)))
    | modus_tollens ),
    inference(canonicalize,[],[normalize_0_2]) ).

cnf(refute_0_1,plain,
    ( ~ op_or
    | or(X,Y) = not(and(not(X),not(Y))) ),
    inference(canonicalize,[],[normalize_0_4]) ).

cnf(refute_0_2,plain,
    op_or,
    inference(canonicalize,[],[normalize_0_5]) ).

cnf(refute_0_3,plain,
    or(X,Y) = not(and(not(X),not(Y))),
    inference(resolve,[$cnf( op_or )],[refute_0_2,refute_0_1]) ).

cnf(refute_0_4,plain,
    ( ~ op_implies_and
    | implies(X,Y) = not(and(X,not(Y))) ),
    inference(canonicalize,[],[normalize_0_7]) ).

cnf(refute_0_5,plain,
    op_implies_and,
    inference(canonicalize,[],[normalize_0_8]) ).

cnf(refute_0_6,plain,
    implies(X,Y) = not(and(X,not(Y))),
    inference(resolve,[$cnf( op_implies_and )],[refute_0_5,refute_0_4]) ).

cnf(refute_0_7,plain,
    X0 = X0,
    introduced(tautology,[refl,[$fot(X0)]]) ).

cnf(refute_0_8,plain,
    ( X0 != X0
    | X0 != Y0
    | Y0 = X0 ),
    introduced(tautology,[equality,[$cnf( $equal(X0,X0) ),[0],$fot(Y0)]]) ).

cnf(refute_0_9,plain,
    ( X0 != Y0
    | Y0 = X0 ),
    inference(resolve,[$cnf( $equal(X0,X0) )],[refute_0_7,refute_0_8]) ).

cnf(refute_0_10,plain,
    ( implies(X,Y) != not(and(X,not(Y)))
    | not(and(X,not(Y))) = implies(X,Y) ),
    inference(subst,[],[refute_0_9:[bind(X0,$fot(implies(X,Y))),bind(Y0,$fot(not(and(X,not(Y)))))]]) ).

cnf(refute_0_11,plain,
    not(and(X,not(Y))) = implies(X,Y),
    inference(resolve,[$cnf( $equal(implies(X,Y),not(and(X,not(Y)))) )],[refute_0_6,refute_0_10]) ).

cnf(refute_0_12,plain,
    not(and(not(X),not(Y))) = implies(not(X),Y),
    inference(subst,[],[refute_0_11:[bind(X,$fot(not(X)))]]) ).

cnf(refute_0_13,plain,
    ( not(and(not(X),not(Y))) != implies(not(X),Y)
    | or(X,Y) != not(and(not(X),not(Y)))
    | or(X,Y) = implies(not(X),Y) ),
    introduced(tautology,[equality,[$cnf( $equal(or(X,Y),not(and(not(X),not(Y)))) ),[1],$fot(implies(not(X),Y))]]) ).

cnf(refute_0_14,plain,
    ( or(X,Y) != not(and(not(X),not(Y)))
    | or(X,Y) = implies(not(X),Y) ),
    inference(resolve,[$cnf( $equal(not(and(not(X),not(Y))),implies(not(X),Y)) )],[refute_0_12,refute_0_13]) ).

cnf(refute_0_15,plain,
    or(X,Y) = implies(not(X),Y),
    inference(resolve,[$cnf( $equal(or(X,Y),not(and(not(X),not(Y)))) )],[refute_0_3,refute_0_14]) ).

cnf(refute_0_16,plain,
    ( or(X,Y) != implies(not(X),Y)
    | implies(not(X),Y) = or(X,Y) ),
    inference(subst,[],[refute_0_9:[bind(X0,$fot(or(X,Y))),bind(Y0,$fot(implies(not(X),Y)))]]) ).

cnf(refute_0_17,plain,
    implies(not(X),Y) = or(X,Y),
    inference(resolve,[$cnf( $equal(or(X,Y),implies(not(X),Y)) )],[refute_0_15,refute_0_16]) ).

cnf(refute_0_18,plain,
    implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)) = or(skolemFOFtoCNF_Y_2,not(skolemFOFtoCNF_X_2)),
    inference(subst,[],[refute_0_17:[bind(X,$fot(skolemFOFtoCNF_Y_2)),bind(Y,$fot(not(skolemFOFtoCNF_X_2)))]]) ).

cnf(refute_0_19,plain,
    implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)) = implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)),
    introduced(tautology,[refl,[$fot(implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)))]]) ).

cnf(refute_0_20,plain,
    ( implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)) != implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2))
    | implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)) != or(skolemFOFtoCNF_Y_2,not(skolemFOFtoCNF_X_2))
    | implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)) = implies(or(skolemFOFtoCNF_Y_2,not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)) ),
    introduced(tautology,[equality,[$cnf( $equal(implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)),implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2))) ),[1,0],$fot(or(skolemFOFtoCNF_Y_2,not(skolemFOFtoCNF_X_2)))]]) ).

cnf(refute_0_21,plain,
    ( implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)) != or(skolemFOFtoCNF_Y_2,not(skolemFOFtoCNF_X_2))
    | implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)) = implies(or(skolemFOFtoCNF_Y_2,not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)) ),
    inference(resolve,[$cnf( $equal(implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)),implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2))) )],[refute_0_19,refute_0_20]) ).

cnf(refute_0_22,plain,
    implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)) = implies(or(skolemFOFtoCNF_Y_2,not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)),
    inference(resolve,[$cnf( $equal(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),or(skolemFOFtoCNF_Y_2,not(skolemFOFtoCNF_X_2))) )],[refute_0_18,refute_0_21]) ).

cnf(refute_0_23,plain,
    ( implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)) != implies(or(skolemFOFtoCNF_Y_2,not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2))
    | ~ is_a_theorem(implies(or(skolemFOFtoCNF_Y_2,not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)))
    | is_a_theorem(implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2))) ),
    introduced(tautology,[equality,[$cnf( ~ is_a_theorem(implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2))) ),[0],$fot(implies(or(skolemFOFtoCNF_Y_2,not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)))]]) ).

cnf(refute_0_24,plain,
    ( ~ is_a_theorem(implies(or(skolemFOFtoCNF_Y_2,not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)))
    | is_a_theorem(implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2))) ),
    inference(resolve,[$cnf( $equal(implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)),implies(or(skolemFOFtoCNF_Y_2,not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2))) )],[refute_0_22,refute_0_23]) ).

cnf(refute_0_25,plain,
    ( ~ is_a_theorem(implies(or(skolemFOFtoCNF_Y_2,not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2)))
    | modus_tollens ),
    inference(resolve,[$cnf( is_a_theorem(implies(implies(not(skolemFOFtoCNF_Y_2),not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2))) )],[refute_0_24,refute_0_0]) ).

cnf(refute_0_26,plain,
    ~ modus_tollens,
    inference(canonicalize,[],[normalize_0_9]) ).

cnf(refute_0_27,plain,
    ~ is_a_theorem(implies(or(skolemFOFtoCNF_Y_2,not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2))),
    inference(resolve,[$cnf( modus_tollens )],[refute_0_25,refute_0_26]) ).

cnf(refute_0_28,plain,
    ( ~ r3
    | is_a_theorem(implies(or(P,Q),or(Q,P))) ),
    inference(canonicalize,[],[normalize_0_12]) ).

cnf(refute_0_29,plain,
    r3,
    inference(canonicalize,[],[normalize_0_13]) ).

cnf(refute_0_30,plain,
    is_a_theorem(implies(or(P,Q),or(Q,P))),
    inference(resolve,[$cnf( r3 )],[refute_0_29,refute_0_28]) ).

cnf(refute_0_31,plain,
    is_a_theorem(implies(or(X_28,not(X)),or(not(X),X_28))),
    inference(subst,[],[refute_0_30:[bind(P,$fot(X_28)),bind(Q,$fot(not(X)))]]) ).

cnf(refute_0_32,plain,
    ( ~ op_implies_or
    | implies(X,Y) = or(not(X),Y) ),
    inference(canonicalize,[],[normalize_0_15]) ).

cnf(refute_0_33,plain,
    op_implies_or,
    inference(canonicalize,[],[normalize_0_16]) ).

cnf(refute_0_34,plain,
    implies(X,Y) = or(not(X),Y),
    inference(resolve,[$cnf( op_implies_or )],[refute_0_33,refute_0_32]) ).

cnf(refute_0_35,plain,
    implies(X,X_28) = or(not(X),X_28),
    inference(subst,[],[refute_0_34:[bind(Y,$fot(X_28))]]) ).

cnf(refute_0_36,plain,
    ( implies(X,X_28) != or(not(X),X_28)
    | or(not(X),X_28) = implies(X,X_28) ),
    inference(subst,[],[refute_0_9:[bind(X0,$fot(implies(X,X_28))),bind(Y0,$fot(or(not(X),X_28)))]]) ).

cnf(refute_0_37,plain,
    or(not(X),X_28) = implies(X,X_28),
    inference(resolve,[$cnf( $equal(implies(X,X_28),or(not(X),X_28)) )],[refute_0_35,refute_0_36]) ).

cnf(refute_0_38,plain,
    ( or(not(X),X_28) != implies(X,X_28)
    | ~ is_a_theorem(implies(or(X_28,not(X)),or(not(X),X_28)))
    | is_a_theorem(implies(or(X_28,not(X)),implies(X,X_28))) ),
    introduced(tautology,[equality,[$cnf( is_a_theorem(implies(or(X_28,not(X)),or(not(X),X_28))) ),[0,1],$fot(implies(X,X_28))]]) ).

cnf(refute_0_39,plain,
    ( ~ is_a_theorem(implies(or(X_28,not(X)),or(not(X),X_28)))
    | is_a_theorem(implies(or(X_28,not(X)),implies(X,X_28))) ),
    inference(resolve,[$cnf( $equal(or(not(X),X_28),implies(X,X_28)) )],[refute_0_37,refute_0_38]) ).

cnf(refute_0_40,plain,
    is_a_theorem(implies(or(X_28,not(X)),implies(X,X_28))),
    inference(resolve,[$cnf( is_a_theorem(implies(or(X_28,not(X)),or(not(X),X_28))) )],[refute_0_31,refute_0_39]) ).

cnf(refute_0_41,plain,
    is_a_theorem(implies(or(skolemFOFtoCNF_Y_2,not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2))),
    inference(subst,[],[refute_0_40:[bind(X,$fot(skolemFOFtoCNF_X_2)),bind(X_28,$fot(skolemFOFtoCNF_Y_2))]]) ).

cnf(refute_0_42,plain,
    $false,
    inference(resolve,[$cnf( is_a_theorem(implies(or(skolemFOFtoCNF_Y_2,not(skolemFOFtoCNF_X_2)),implies(skolemFOFtoCNF_X_2,skolemFOFtoCNF_Y_2))) )],[refute_0_41,refute_0_27]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.11/0.12  % Problem  : LCL483+1 : TPTP v8.1.0. Released v3.3.0.
% 0.11/0.13  % Command  : metis --show proof --show saturation %s
% 0.13/0.34  % Computer : n014.cluster.edu
% 0.13/0.34  % Model    : x86_64 x86_64
% 0.13/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.34  % Memory   : 8042.1875MB
% 0.13/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.34  % CPULimit : 300
% 0.13/0.34  % WCLimit  : 600
% 0.13/0.34  % DateTime : Sun Jul  3 01:00:10 EDT 2022
% 0.13/0.34  % CPUTime  : 
% 0.13/0.34  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 0.13/0.41  % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p
% 0.13/0.41  
% 0.13/0.41  % SZS output start CNFRefutation for /export/starexec/sandbox/benchmark/theBenchmark.p
% See solution above
% 0.19/0.42  
%------------------------------------------------------------------------------