TSTP Solution File: COM003+2 by Metis---2.4

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Metis---2.4
% Problem  : COM003+2 : TPTP v8.1.0. Bugfixed v2.2.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : metis --show proof --show saturation %s

% Computer : n032.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 : Fri Jul 15 01:32:26 EDT 2022

% Result   : Theorem 0.46s 0.64s
% Output   : CNFRefutation 0.46s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   24
%            Number of leaves      :   10
% Syntax   : Number of formulae    :  118 (  24 unt;   0 def)
%            Number of atoms       :  352 (   0 equ)
%            Maximal formula atoms :   13 (   2 avg)
%            Number of connectives :  438 ( 204   ~; 177   |;  36   &)
%                                         (  15 <=>;   6  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   10 (   4 avg)
%            Maximal term depth    :    2 (   1 avg)
%            Number of predicates  :   14 (  13 usr;   1 prp; 0-4 aty)
%            Number of functors    :   10 (  10 usr;   6 con; 0-1 aty)
%            Number of variables   :  177 (  30 sgn 105   !;  15   ?)

% Comments : 
%------------------------------------------------------------------------------
fof(program_program_decides_def,axiom,
    ! [X] :
      ( program_program_decides(X)
    <=> ( program(X)
        & program_decides(X) ) ) ).

fof(program_halts2_def,axiom,
    ! [X,Y] :
      ( program_halts2(X,Y)
    <=> ( program(X)
        & halts2(X,Y) ) ) ).

fof(program_not_halts2_def,axiom,
    ! [X,Y] :
      ( program_not_halts2(X,Y)
    <=> ( program(X)
        & ~ halts2(X,Y) ) ) ).

fof(halts2_outputs_def,axiom,
    ! [X,Y,W] :
      ( halts2_outputs(X,Y,W)
    <=> ( halts2(X,Y)
        & outputs(X,W) ) ) ).

fof(program_not_halts2_halts2_outputs_def,axiom,
    ! [X,Y,W] :
      ( program_not_halts2_halts2_outputs(X,Y,W)
    <=> ( program_not_halts2(Y,Y)
       => halts2_outputs(X,Y,W) ) ) ).

fof(p1,axiom,
    ( ? [X] : algorithm_program_decides(X)
   => ? [W] : program_program_decides(W) ) ).

fof(p2,axiom,
    ! [W] :
      ( program_program_decides(W)
     => ! [Y,Z] :
          ( program_halts2_halts3_outputs(W,Y,Z,good)
          & program_not_halts2_halts3_outputs(W,Y,Z,bad) ) ) ).

fof(p3,axiom,
    ( ? [W] :
        ( program(W)
        & ! [Y] :
            ( program_halts2_halts3_outputs(W,Y,Y,good)
            & program_not_halts2_halts3_outputs(W,Y,Y,bad) ) )
   => ? [V] :
        ( program(V)
        & ! [Y] :
            ( program_halts2_halts2_outputs(V,Y,good)
            & program_not_halts2_halts2_outputs(V,Y,bad) ) ) ) ).

fof(p4,axiom,
    ( ? [V] :
        ( program(V)
        & ! [Y] :
            ( program_halts2_halts2_outputs(V,Y,good)
            & program_not_halts2_halts2_outputs(V,Y,bad) ) )
   => ? [U] :
        ( program(U)
        & ! [Y] :
            ( ( program_halts2(Y,Y)
             => ~ halts2(U,Y) )
            & program_not_halts2_halts2_outputs(U,Y,good) ) ) ) ).

fof(prove_this,conjecture,
    ~ ? [X] : algorithm_program_decides(X) ).

fof(subgoal_0,plain,
    ! [X] : ~ algorithm_program_decides(X),
    inference(strip,[],[prove_this]) ).

fof(negate_0_0,plain,
    ~ ! [X] : ~ algorithm_program_decides(X),
    inference(negate,[],[subgoal_0]) ).

fof(normalize_0_0,plain,
    ! [X,Y] :
      ( ~ program_halts2(X,Y)
    <=> ( ~ halts2(X,Y)
        | ~ program(X) ) ),
    inference(canonicalize,[],[program_halts2_def]) ).

fof(normalize_0_1,plain,
    ! [X,Y] :
      ( ~ program_halts2(X,Y)
    <=> ( ~ halts2(X,Y)
        | ~ program(X) ) ),
    inference(specialize,[],[normalize_0_0]) ).

fof(normalize_0_2,plain,
    ! [X,Y] :
      ( ( ~ program_halts2(X,Y)
        | halts2(X,Y) )
      & ( ~ program_halts2(X,Y)
        | program(X) )
      & ( ~ halts2(X,Y)
        | ~ program(X)
        | program_halts2(X,Y) ) ),
    inference(clausify,[],[normalize_0_1]) ).

fof(normalize_0_3,plain,
    ! [X,Y] :
      ( ~ halts2(X,Y)
      | ~ program(X)
      | program_halts2(X,Y) ),
    inference(conjunct,[],[normalize_0_2]) ).

fof(normalize_0_4,plain,
    ! [W,X,Y] :
      ( ~ halts2_outputs(X,Y,W)
    <=> ( ~ halts2(X,Y)
        | ~ outputs(X,W) ) ),
    inference(canonicalize,[],[halts2_outputs_def]) ).

fof(normalize_0_5,plain,
    ! [W,X,Y] :
      ( ~ halts2_outputs(X,Y,W)
    <=> ( ~ halts2(X,Y)
        | ~ outputs(X,W) ) ),
    inference(specialize,[],[normalize_0_4]) ).

fof(normalize_0_6,plain,
    ! [W,X,Y] :
      ( ( ~ halts2_outputs(X,Y,W)
        | halts2(X,Y) )
      & ( ~ halts2_outputs(X,Y,W)
        | outputs(X,W) )
      & ( ~ halts2(X,Y)
        | ~ outputs(X,W)
        | halts2_outputs(X,Y,W) ) ),
    inference(clausify,[],[normalize_0_5]) ).

fof(normalize_0_7,plain,
    ! [W,X,Y] :
      ( ~ halts2_outputs(X,Y,W)
      | halts2(X,Y) ),
    inference(conjunct,[],[normalize_0_6]) ).

fof(normalize_0_8,plain,
    ! [W,X,Y] :
      ( ~ program_not_halts2_halts2_outputs(X,Y,W)
    <=> ( ~ halts2_outputs(X,Y,W)
        & program_not_halts2(Y,Y) ) ),
    inference(canonicalize,[],[program_not_halts2_halts2_outputs_def]) ).

fof(normalize_0_9,plain,
    ! [W,X,Y] :
      ( ~ program_not_halts2_halts2_outputs(X,Y,W)
    <=> ( ~ halts2_outputs(X,Y,W)
        & program_not_halts2(Y,Y) ) ),
    inference(specialize,[],[normalize_0_8]) ).

fof(normalize_0_10,plain,
    ! [W,X,Y] :
      ( ( ~ halts2_outputs(X,Y,W)
        | program_not_halts2_halts2_outputs(X,Y,W) )
      & ( program_not_halts2(Y,Y)
        | program_not_halts2_halts2_outputs(X,Y,W) )
      & ( ~ program_not_halts2(Y,Y)
        | ~ program_not_halts2_halts2_outputs(X,Y,W)
        | halts2_outputs(X,Y,W) ) ),
    inference(clausify,[],[normalize_0_9]) ).

fof(normalize_0_11,plain,
    ! [W,X,Y] :
      ( ~ program_not_halts2(Y,Y)
      | ~ program_not_halts2_halts2_outputs(X,Y,W)
      | halts2_outputs(X,Y,W) ),
    inference(conjunct,[],[normalize_0_10]) ).

fof(normalize_0_12,plain,
    ( ? [U] :
        ( program(U)
        & ! [Y] : program_not_halts2_halts2_outputs(U,Y,good)
        & ! [Y] :
            ( ~ halts2(U,Y)
            | ~ program_halts2(Y,Y) ) )
    | ! [V] :
        ( ~ program(V)
        | ? [Y] : ~ program_halts2_halts2_outputs(V,Y,good)
        | ? [Y] : ~ program_not_halts2_halts2_outputs(V,Y,bad) ) ),
    inference(canonicalize,[],[p4]) ).

fof(normalize_0_13,plain,
    ! [V,Y] :
      ( ( ~ program(V)
        | ~ program_halts2_halts2_outputs(V,skolemFOFtoCNF_Y_3(V),good)
        | ~ program_not_halts2_halts2_outputs(V,skolemFOFtoCNF_Y_4(V),bad)
        | program(skolemFOFtoCNF_U) )
      & ( ~ program(V)
        | ~ program_halts2_halts2_outputs(V,skolemFOFtoCNF_Y_3(V),good)
        | ~ program_not_halts2_halts2_outputs(V,skolemFOFtoCNF_Y_4(V),bad)
        | program_not_halts2_halts2_outputs(skolemFOFtoCNF_U,Y,good) )
      & ( ~ halts2(skolemFOFtoCNF_U,Y)
        | ~ program(V)
        | ~ program_halts2(Y,Y)
        | ~ program_halts2_halts2_outputs(V,skolemFOFtoCNF_Y_3(V),good)
        | ~ program_not_halts2_halts2_outputs(V,skolemFOFtoCNF_Y_4(V),bad) ) ),
    inference(clausify,[],[normalize_0_12]) ).

fof(normalize_0_14,plain,
    ! [V,Y] :
      ( ~ program(V)
      | ~ program_halts2_halts2_outputs(V,skolemFOFtoCNF_Y_3(V),good)
      | ~ program_not_halts2_halts2_outputs(V,skolemFOFtoCNF_Y_4(V),bad)
      | program_not_halts2_halts2_outputs(skolemFOFtoCNF_U,Y,good) ),
    inference(conjunct,[],[normalize_0_13]) ).

fof(normalize_0_15,plain,
    ? [X] : algorithm_program_decides(X),
    inference(canonicalize,[],[negate_0_0]) ).

fof(normalize_0_16,plain,
    algorithm_program_decides(skolemFOFtoCNF_X),
    inference(skolemize,[],[normalize_0_15]) ).

fof(normalize_0_17,plain,
    ( ? [W] : program_program_decides(W)
    | ! [X] : ~ algorithm_program_decides(X) ),
    inference(canonicalize,[],[p1]) ).

fof(normalize_0_18,plain,
    ! [X] :
      ( ~ algorithm_program_decides(X)
      | program_program_decides(skolemFOFtoCNF_W) ),
    inference(clausify,[],[normalize_0_17]) ).

fof(normalize_0_19,plain,
    ! [W] :
      ( ~ program_program_decides(W)
      | ( ! [Y,Z] : program_halts2_halts3_outputs(W,Y,Z,good)
        & ! [Y,Z] : program_not_halts2_halts3_outputs(W,Y,Z,bad) ) ),
    inference(canonicalize,[],[p2]) ).

fof(normalize_0_20,plain,
    ! [W] :
      ( ~ program_program_decides(W)
      | ( ! [Y,Z] : program_halts2_halts3_outputs(W,Y,Z,good)
        & ! [Y,Z] : program_not_halts2_halts3_outputs(W,Y,Z,bad) ) ),
    inference(specialize,[],[normalize_0_19]) ).

fof(normalize_0_21,plain,
    ! [W,Y,Z] :
      ( ( ~ program_program_decides(W)
        | program_halts2_halts3_outputs(W,Y,Z,good) )
      & ( ~ program_program_decides(W)
        | program_not_halts2_halts3_outputs(W,Y,Z,bad) ) ),
    inference(clausify,[],[normalize_0_20]) ).

fof(normalize_0_22,plain,
    ! [W,Y,Z] :
      ( ~ program_program_decides(W)
      | program_not_halts2_halts3_outputs(W,Y,Z,bad) ),
    inference(conjunct,[],[normalize_0_21]) ).

fof(normalize_0_23,plain,
    ( ? [V] :
        ( program(V)
        & ! [Y] : program_halts2_halts2_outputs(V,Y,good)
        & ! [Y] : program_not_halts2_halts2_outputs(V,Y,bad) )
    | ! [W] :
        ( ~ program(W)
        | ? [Y] : ~ program_halts2_halts3_outputs(W,Y,Y,good)
        | ? [Y] : ~ program_not_halts2_halts3_outputs(W,Y,Y,bad) ) ),
    inference(canonicalize,[],[p3]) ).

fof(normalize_0_24,plain,
    ! [W,Y] :
      ( ( ~ program(W)
        | ~ program_halts2_halts3_outputs(W,skolemFOFtoCNF_Y_1(W),skolemFOFtoCNF_Y_1(W),good)
        | ~ program_not_halts2_halts3_outputs(W,skolemFOFtoCNF_Y_2(W),skolemFOFtoCNF_Y_2(W),bad)
        | program(skolemFOFtoCNF_V) )
      & ( ~ program(W)
        | ~ program_halts2_halts3_outputs(W,skolemFOFtoCNF_Y_1(W),skolemFOFtoCNF_Y_1(W),good)
        | ~ program_not_halts2_halts3_outputs(W,skolemFOFtoCNF_Y_2(W),skolemFOFtoCNF_Y_2(W),bad)
        | program_halts2_halts2_outputs(skolemFOFtoCNF_V,Y,good) )
      & ( ~ program(W)
        | ~ program_halts2_halts3_outputs(W,skolemFOFtoCNF_Y_1(W),skolemFOFtoCNF_Y_1(W),good)
        | ~ program_not_halts2_halts3_outputs(W,skolemFOFtoCNF_Y_2(W),skolemFOFtoCNF_Y_2(W),bad)
        | program_not_halts2_halts2_outputs(skolemFOFtoCNF_V,Y,bad) ) ),
    inference(clausify,[],[normalize_0_23]) ).

fof(normalize_0_25,plain,
    ! [W,Y] :
      ( ~ program(W)
      | ~ program_halts2_halts3_outputs(W,skolemFOFtoCNF_Y_1(W),skolemFOFtoCNF_Y_1(W),good)
      | ~ program_not_halts2_halts3_outputs(W,skolemFOFtoCNF_Y_2(W),skolemFOFtoCNF_Y_2(W),bad)
      | program_not_halts2_halts2_outputs(skolemFOFtoCNF_V,Y,bad) ),
    inference(conjunct,[],[normalize_0_24]) ).

fof(normalize_0_26,plain,
    ! [X] :
      ( ~ program_program_decides(X)
    <=> ( ~ program(X)
        | ~ program_decides(X) ) ),
    inference(canonicalize,[],[program_program_decides_def]) ).

fof(normalize_0_27,plain,
    ! [X] :
      ( ~ program_program_decides(X)
    <=> ( ~ program(X)
        | ~ program_decides(X) ) ),
    inference(specialize,[],[normalize_0_26]) ).

fof(normalize_0_28,plain,
    ! [X] :
      ( ( ~ program_program_decides(X)
        | program(X) )
      & ( ~ program_program_decides(X)
        | program_decides(X) )
      & ( ~ program(X)
        | ~ program_decides(X)
        | program_program_decides(X) ) ),
    inference(clausify,[],[normalize_0_27]) ).

fof(normalize_0_29,plain,
    ! [X] :
      ( ~ program_program_decides(X)
      | program(X) ),
    inference(conjunct,[],[normalize_0_28]) ).

fof(normalize_0_30,plain,
    ! [W,Y,Z] :
      ( ~ program_program_decides(W)
      | program_halts2_halts3_outputs(W,Y,Z,good) ),
    inference(conjunct,[],[normalize_0_21]) ).

fof(normalize_0_31,plain,
    ! [W] :
      ( ~ program(W)
      | ~ program_halts2_halts3_outputs(W,skolemFOFtoCNF_Y_1(W),skolemFOFtoCNF_Y_1(W),good)
      | ~ program_not_halts2_halts3_outputs(W,skolemFOFtoCNF_Y_2(W),skolemFOFtoCNF_Y_2(W),bad)
      | program(skolemFOFtoCNF_V) ),
    inference(conjunct,[],[normalize_0_24]) ).

fof(normalize_0_32,plain,
    ! [W,Y] :
      ( ~ program(W)
      | ~ program_halts2_halts3_outputs(W,skolemFOFtoCNF_Y_1(W),skolemFOFtoCNF_Y_1(W),good)
      | ~ program_not_halts2_halts3_outputs(W,skolemFOFtoCNF_Y_2(W),skolemFOFtoCNF_Y_2(W),bad)
      | program_halts2_halts2_outputs(skolemFOFtoCNF_V,Y,good) ),
    inference(conjunct,[],[normalize_0_24]) ).

fof(normalize_0_33,plain,
    ! [X,Y] :
      ( ~ program_not_halts2(X,Y)
    <=> ( ~ program(X)
        | halts2(X,Y) ) ),
    inference(canonicalize,[],[program_not_halts2_def]) ).

fof(normalize_0_34,plain,
    ! [X,Y] :
      ( ~ program_not_halts2(X,Y)
    <=> ( ~ program(X)
        | halts2(X,Y) ) ),
    inference(specialize,[],[normalize_0_33]) ).

fof(normalize_0_35,plain,
    ! [X,Y] :
      ( ( ~ halts2(X,Y)
        | ~ program_not_halts2(X,Y) )
      & ( ~ program_not_halts2(X,Y)
        | program(X) )
      & ( ~ program(X)
        | halts2(X,Y)
        | program_not_halts2(X,Y) ) ),
    inference(clausify,[],[normalize_0_34]) ).

fof(normalize_0_36,plain,
    ! [X,Y] :
      ( ~ program(X)
      | halts2(X,Y)
      | program_not_halts2(X,Y) ),
    inference(conjunct,[],[normalize_0_35]) ).

fof(normalize_0_37,plain,
    ! [V] :
      ( ~ program(V)
      | ~ program_halts2_halts2_outputs(V,skolemFOFtoCNF_Y_3(V),good)
      | ~ program_not_halts2_halts2_outputs(V,skolemFOFtoCNF_Y_4(V),bad)
      | program(skolemFOFtoCNF_U) ),
    inference(conjunct,[],[normalize_0_13]) ).

fof(normalize_0_38,plain,
    ! [V,Y] :
      ( ~ halts2(skolemFOFtoCNF_U,Y)
      | ~ program(V)
      | ~ program_halts2(Y,Y)
      | ~ program_halts2_halts2_outputs(V,skolemFOFtoCNF_Y_3(V),good)
      | ~ program_not_halts2_halts2_outputs(V,skolemFOFtoCNF_Y_4(V),bad) ),
    inference(conjunct,[],[normalize_0_13]) ).

cnf(refute_0_0,plain,
    ( ~ halts2(X,Y)
    | ~ program(X)
    | program_halts2(X,Y) ),
    inference(canonicalize,[],[normalize_0_3]) ).

cnf(refute_0_1,plain,
    ( ~ halts2(skolemFOFtoCNF_U,skolemFOFtoCNF_U)
    | ~ program(skolemFOFtoCNF_U)
    | program_halts2(skolemFOFtoCNF_U,skolemFOFtoCNF_U) ),
    inference(subst,[],[refute_0_0:[bind(X,$fot(skolemFOFtoCNF_U)),bind(Y,$fot(skolemFOFtoCNF_U))]]) ).

cnf(refute_0_2,plain,
    ( ~ halts2_outputs(X,Y,W)
    | halts2(X,Y) ),
    inference(canonicalize,[],[normalize_0_7]) ).

cnf(refute_0_3,plain,
    ( ~ halts2_outputs(skolemFOFtoCNF_U,skolemFOFtoCNF_U,good)
    | halts2(skolemFOFtoCNF_U,skolemFOFtoCNF_U) ),
    inference(subst,[],[refute_0_2:[bind(W,$fot(good)),bind(X,$fot(skolemFOFtoCNF_U)),bind(Y,$fot(skolemFOFtoCNF_U))]]) ).

cnf(refute_0_4,plain,
    ( ~ program_not_halts2(Y,Y)
    | ~ program_not_halts2_halts2_outputs(X,Y,W)
    | halts2_outputs(X,Y,W) ),
    inference(canonicalize,[],[normalize_0_11]) ).

cnf(refute_0_5,plain,
    ( ~ program_not_halts2(X_340,X_340)
    | ~ program_not_halts2_halts2_outputs(skolemFOFtoCNF_U,X_340,good)
    | halts2_outputs(skolemFOFtoCNF_U,X_340,good) ),
    inference(subst,[],[refute_0_4:[bind(W,$fot(good)),bind(X,$fot(skolemFOFtoCNF_U)),bind(Y,$fot(X_340))]]) ).

cnf(refute_0_6,plain,
    ( ~ program(V)
    | ~ program_halts2_halts2_outputs(V,skolemFOFtoCNF_Y_3(V),good)
    | ~ program_not_halts2_halts2_outputs(V,skolemFOFtoCNF_Y_4(V),bad)
    | program_not_halts2_halts2_outputs(skolemFOFtoCNF_U,Y,good) ),
    inference(canonicalize,[],[normalize_0_14]) ).

cnf(refute_0_7,plain,
    ( ~ program(skolemFOFtoCNF_V)
    | ~ program_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_3(skolemFOFtoCNF_V),good)
    | ~ program_not_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_4(skolemFOFtoCNF_V),bad)
    | program_not_halts2_halts2_outputs(skolemFOFtoCNF_U,Y,good) ),
    inference(subst,[],[refute_0_6:[bind(V,$fot(skolemFOFtoCNF_V))]]) ).

cnf(refute_0_8,plain,
    algorithm_program_decides(skolemFOFtoCNF_X),
    inference(canonicalize,[],[normalize_0_16]) ).

cnf(refute_0_9,plain,
    ( ~ algorithm_program_decides(X)
    | program_program_decides(skolemFOFtoCNF_W) ),
    inference(canonicalize,[],[normalize_0_18]) ).

cnf(refute_0_10,plain,
    ( ~ algorithm_program_decides(skolemFOFtoCNF_X)
    | program_program_decides(skolemFOFtoCNF_W) ),
    inference(subst,[],[refute_0_9:[bind(X,$fot(skolemFOFtoCNF_X))]]) ).

cnf(refute_0_11,plain,
    program_program_decides(skolemFOFtoCNF_W),
    inference(resolve,[$cnf( algorithm_program_decides(skolemFOFtoCNF_X) )],[refute_0_8,refute_0_10]) ).

cnf(refute_0_12,plain,
    ( ~ program_program_decides(W)
    | program_not_halts2_halts3_outputs(W,Y,Z,bad) ),
    inference(canonicalize,[],[normalize_0_22]) ).

cnf(refute_0_13,plain,
    ( ~ program_program_decides(skolemFOFtoCNF_W)
    | program_not_halts2_halts3_outputs(skolemFOFtoCNF_W,X_49,X_50,bad) ),
    inference(subst,[],[refute_0_12:[bind(W,$fot(skolemFOFtoCNF_W)),bind(Y,$fot(X_49)),bind(Z,$fot(X_50))]]) ).

cnf(refute_0_14,plain,
    program_not_halts2_halts3_outputs(skolemFOFtoCNF_W,X_49,X_50,bad),
    inference(resolve,[$cnf( program_program_decides(skolemFOFtoCNF_W) )],[refute_0_11,refute_0_13]) ).

cnf(refute_0_15,plain,
    program_not_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_2(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_2(skolemFOFtoCNF_W),bad),
    inference(subst,[],[refute_0_14:[bind(X_49,$fot(skolemFOFtoCNF_Y_2(skolemFOFtoCNF_W))),bind(X_50,$fot(skolemFOFtoCNF_Y_2(skolemFOFtoCNF_W)))]]) ).

cnf(refute_0_16,plain,
    ( ~ program(W)
    | ~ program_halts2_halts3_outputs(W,skolemFOFtoCNF_Y_1(W),skolemFOFtoCNF_Y_1(W),good)
    | ~ program_not_halts2_halts3_outputs(W,skolemFOFtoCNF_Y_2(W),skolemFOFtoCNF_Y_2(W),bad)
    | program_not_halts2_halts2_outputs(skolemFOFtoCNF_V,Y,bad) ),
    inference(canonicalize,[],[normalize_0_25]) ).

cnf(refute_0_17,plain,
    ( ~ program(skolemFOFtoCNF_W)
    | ~ program_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),good)
    | ~ program_not_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_2(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_2(skolemFOFtoCNF_W),bad)
    | program_not_halts2_halts2_outputs(skolemFOFtoCNF_V,X_338,bad) ),
    inference(subst,[],[refute_0_16:[bind(W,$fot(skolemFOFtoCNF_W)),bind(Y,$fot(X_338))]]) ).

cnf(refute_0_18,plain,
    ( ~ program(skolemFOFtoCNF_W)
    | ~ program_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),good)
    | program_not_halts2_halts2_outputs(skolemFOFtoCNF_V,X_338,bad) ),
    inference(resolve,[$cnf( program_not_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_2(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_2(skolemFOFtoCNF_W),bad) )],[refute_0_15,refute_0_17]) ).

cnf(refute_0_19,plain,
    ( ~ program_program_decides(X)
    | program(X) ),
    inference(canonicalize,[],[normalize_0_29]) ).

cnf(refute_0_20,plain,
    ( ~ program_program_decides(skolemFOFtoCNF_W)
    | program(skolemFOFtoCNF_W) ),
    inference(subst,[],[refute_0_19:[bind(X,$fot(skolemFOFtoCNF_W))]]) ).

cnf(refute_0_21,plain,
    program(skolemFOFtoCNF_W),
    inference(resolve,[$cnf( program_program_decides(skolemFOFtoCNF_W) )],[refute_0_11,refute_0_20]) ).

cnf(refute_0_22,plain,
    ( ~ program_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),good)
    | program_not_halts2_halts2_outputs(skolemFOFtoCNF_V,X_338,bad) ),
    inference(resolve,[$cnf( program(skolemFOFtoCNF_W) )],[refute_0_21,refute_0_18]) ).

cnf(refute_0_23,plain,
    ( ~ program_program_decides(W)
    | program_halts2_halts3_outputs(W,Y,Z,good) ),
    inference(canonicalize,[],[normalize_0_30]) ).

cnf(refute_0_24,plain,
    ( ~ program_program_decides(skolemFOFtoCNF_W)
    | program_halts2_halts3_outputs(skolemFOFtoCNF_W,X_44,X_45,good) ),
    inference(subst,[],[refute_0_23:[bind(W,$fot(skolemFOFtoCNF_W)),bind(Y,$fot(X_44)),bind(Z,$fot(X_45))]]) ).

cnf(refute_0_25,plain,
    program_halts2_halts3_outputs(skolemFOFtoCNF_W,X_44,X_45,good),
    inference(resolve,[$cnf( program_program_decides(skolemFOFtoCNF_W) )],[refute_0_11,refute_0_24]) ).

cnf(refute_0_26,plain,
    program_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),good),
    inference(subst,[],[refute_0_25:[bind(X_44,$fot(skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W))),bind(X_45,$fot(skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W)))]]) ).

cnf(refute_0_27,plain,
    program_not_halts2_halts2_outputs(skolemFOFtoCNF_V,X_338,bad),
    inference(resolve,[$cnf( program_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),good) )],[refute_0_26,refute_0_22]) ).

cnf(refute_0_28,plain,
    program_not_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_4(skolemFOFtoCNF_V),bad),
    inference(subst,[],[refute_0_27:[bind(X_338,$fot(skolemFOFtoCNF_Y_4(skolemFOFtoCNF_V)))]]) ).

cnf(refute_0_29,plain,
    ( ~ program(skolemFOFtoCNF_V)
    | ~ program_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_3(skolemFOFtoCNF_V),good)
    | program_not_halts2_halts2_outputs(skolemFOFtoCNF_U,Y,good) ),
    inference(resolve,[$cnf( program_not_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_4(skolemFOFtoCNF_V),bad) )],[refute_0_28,refute_0_7]) ).

cnf(refute_0_30,plain,
    ( ~ program(W)
    | ~ program_halts2_halts3_outputs(W,skolemFOFtoCNF_Y_1(W),skolemFOFtoCNF_Y_1(W),good)
    | ~ program_not_halts2_halts3_outputs(W,skolemFOFtoCNF_Y_2(W),skolemFOFtoCNF_Y_2(W),bad)
    | program(skolemFOFtoCNF_V) ),
    inference(canonicalize,[],[normalize_0_31]) ).

cnf(refute_0_31,plain,
    ( ~ program(skolemFOFtoCNF_W)
    | ~ program_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),good)
    | ~ program_not_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_2(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_2(skolemFOFtoCNF_W),bad)
    | program(skolemFOFtoCNF_V) ),
    inference(subst,[],[refute_0_30:[bind(W,$fot(skolemFOFtoCNF_W))]]) ).

cnf(refute_0_32,plain,
    ( ~ program(skolemFOFtoCNF_W)
    | ~ program_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),good)
    | program(skolemFOFtoCNF_V) ),
    inference(resolve,[$cnf( program_not_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_2(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_2(skolemFOFtoCNF_W),bad) )],[refute_0_15,refute_0_31]) ).

cnf(refute_0_33,plain,
    ( ~ program_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),good)
    | program(skolemFOFtoCNF_V) ),
    inference(resolve,[$cnf( program(skolemFOFtoCNF_W) )],[refute_0_21,refute_0_32]) ).

cnf(refute_0_34,plain,
    program(skolemFOFtoCNF_V),
    inference(resolve,[$cnf( program_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),good) )],[refute_0_26,refute_0_33]) ).

cnf(refute_0_35,plain,
    ( ~ program_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_3(skolemFOFtoCNF_V),good)
    | program_not_halts2_halts2_outputs(skolemFOFtoCNF_U,Y,good) ),
    inference(resolve,[$cnf( program(skolemFOFtoCNF_V) )],[refute_0_34,refute_0_29]) ).

cnf(refute_0_36,plain,
    ( ~ program(W)
    | ~ program_halts2_halts3_outputs(W,skolemFOFtoCNF_Y_1(W),skolemFOFtoCNF_Y_1(W),good)
    | ~ program_not_halts2_halts3_outputs(W,skolemFOFtoCNF_Y_2(W),skolemFOFtoCNF_Y_2(W),bad)
    | program_halts2_halts2_outputs(skolemFOFtoCNF_V,Y,good) ),
    inference(canonicalize,[],[normalize_0_32]) ).

cnf(refute_0_37,plain,
    ( ~ program(skolemFOFtoCNF_W)
    | ~ program_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),good)
    | ~ program_not_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_2(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_2(skolemFOFtoCNF_W),bad)
    | program_halts2_halts2_outputs(skolemFOFtoCNF_V,X_283,good) ),
    inference(subst,[],[refute_0_36:[bind(W,$fot(skolemFOFtoCNF_W)),bind(Y,$fot(X_283))]]) ).

cnf(refute_0_38,plain,
    ( ~ program(skolemFOFtoCNF_W)
    | ~ program_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),good)
    | program_halts2_halts2_outputs(skolemFOFtoCNF_V,X_283,good) ),
    inference(resolve,[$cnf( program_not_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_2(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_2(skolemFOFtoCNF_W),bad) )],[refute_0_15,refute_0_37]) ).

cnf(refute_0_39,plain,
    ( ~ program_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),good)
    | program_halts2_halts2_outputs(skolemFOFtoCNF_V,X_283,good) ),
    inference(resolve,[$cnf( program(skolemFOFtoCNF_W) )],[refute_0_21,refute_0_38]) ).

cnf(refute_0_40,plain,
    program_halts2_halts2_outputs(skolemFOFtoCNF_V,X_283,good),
    inference(resolve,[$cnf( program_halts2_halts3_outputs(skolemFOFtoCNF_W,skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),skolemFOFtoCNF_Y_1(skolemFOFtoCNF_W),good) )],[refute_0_26,refute_0_39]) ).

cnf(refute_0_41,plain,
    program_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_3(skolemFOFtoCNF_V),good),
    inference(subst,[],[refute_0_40:[bind(X_283,$fot(skolemFOFtoCNF_Y_3(skolemFOFtoCNF_V)))]]) ).

cnf(refute_0_42,plain,
    program_not_halts2_halts2_outputs(skolemFOFtoCNF_U,Y,good),
    inference(resolve,[$cnf( program_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_3(skolemFOFtoCNF_V),good) )],[refute_0_41,refute_0_35]) ).

cnf(refute_0_43,plain,
    program_not_halts2_halts2_outputs(skolemFOFtoCNF_U,X_340,good),
    inference(subst,[],[refute_0_42:[bind(Y,$fot(X_340))]]) ).

cnf(refute_0_44,plain,
    ( ~ program_not_halts2(X_340,X_340)
    | halts2_outputs(skolemFOFtoCNF_U,X_340,good) ),
    inference(resolve,[$cnf( program_not_halts2_halts2_outputs(skolemFOFtoCNF_U,X_340,good) )],[refute_0_43,refute_0_5]) ).

cnf(refute_0_45,plain,
    ( ~ program_not_halts2(skolemFOFtoCNF_U,skolemFOFtoCNF_U)
    | halts2_outputs(skolemFOFtoCNF_U,skolemFOFtoCNF_U,good) ),
    inference(subst,[],[refute_0_44:[bind(X_340,$fot(skolemFOFtoCNF_U))]]) ).

cnf(refute_0_46,plain,
    ( ~ program(X)
    | halts2(X,Y)
    | program_not_halts2(X,Y) ),
    inference(canonicalize,[],[normalize_0_36]) ).

cnf(refute_0_47,plain,
    ( ~ program(skolemFOFtoCNF_U)
    | halts2(skolemFOFtoCNF_U,Y)
    | program_not_halts2(skolemFOFtoCNF_U,Y) ),
    inference(subst,[],[refute_0_46:[bind(X,$fot(skolemFOFtoCNF_U))]]) ).

cnf(refute_0_48,plain,
    ( ~ program(V)
    | ~ program_halts2_halts2_outputs(V,skolemFOFtoCNF_Y_3(V),good)
    | ~ program_not_halts2_halts2_outputs(V,skolemFOFtoCNF_Y_4(V),bad)
    | program(skolemFOFtoCNF_U) ),
    inference(canonicalize,[],[normalize_0_37]) ).

cnf(refute_0_49,plain,
    ( ~ program(skolemFOFtoCNF_V)
    | ~ program_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_3(skolemFOFtoCNF_V),good)
    | ~ program_not_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_4(skolemFOFtoCNF_V),bad)
    | program(skolemFOFtoCNF_U) ),
    inference(subst,[],[refute_0_48:[bind(V,$fot(skolemFOFtoCNF_V))]]) ).

cnf(refute_0_50,plain,
    ( ~ program(skolemFOFtoCNF_V)
    | ~ program_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_3(skolemFOFtoCNF_V),good)
    | program(skolemFOFtoCNF_U) ),
    inference(resolve,[$cnf( program_not_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_4(skolemFOFtoCNF_V),bad) )],[refute_0_28,refute_0_49]) ).

cnf(refute_0_51,plain,
    ( ~ program_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_3(skolemFOFtoCNF_V),good)
    | program(skolemFOFtoCNF_U) ),
    inference(resolve,[$cnf( program(skolemFOFtoCNF_V) )],[refute_0_34,refute_0_50]) ).

cnf(refute_0_52,plain,
    program(skolemFOFtoCNF_U),
    inference(resolve,[$cnf( program_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_3(skolemFOFtoCNF_V),good) )],[refute_0_41,refute_0_51]) ).

cnf(refute_0_53,plain,
    ( halts2(skolemFOFtoCNF_U,Y)
    | program_not_halts2(skolemFOFtoCNF_U,Y) ),
    inference(resolve,[$cnf( program(skolemFOFtoCNF_U) )],[refute_0_52,refute_0_47]) ).

cnf(refute_0_54,plain,
    ( halts2(skolemFOFtoCNF_U,skolemFOFtoCNF_U)
    | program_not_halts2(skolemFOFtoCNF_U,skolemFOFtoCNF_U) ),
    inference(subst,[],[refute_0_53:[bind(Y,$fot(skolemFOFtoCNF_U))]]) ).

cnf(refute_0_55,plain,
    ( halts2(skolemFOFtoCNF_U,skolemFOFtoCNF_U)
    | halts2_outputs(skolemFOFtoCNF_U,skolemFOFtoCNF_U,good) ),
    inference(resolve,[$cnf( program_not_halts2(skolemFOFtoCNF_U,skolemFOFtoCNF_U) )],[refute_0_54,refute_0_45]) ).

cnf(refute_0_56,plain,
    halts2(skolemFOFtoCNF_U,skolemFOFtoCNF_U),
    inference(resolve,[$cnf( halts2_outputs(skolemFOFtoCNF_U,skolemFOFtoCNF_U,good) )],[refute_0_55,refute_0_3]) ).

cnf(refute_0_57,plain,
    ( ~ program(skolemFOFtoCNF_U)
    | program_halts2(skolemFOFtoCNF_U,skolemFOFtoCNF_U) ),
    inference(resolve,[$cnf( halts2(skolemFOFtoCNF_U,skolemFOFtoCNF_U) )],[refute_0_56,refute_0_1]) ).

cnf(refute_0_58,plain,
    program_halts2(skolemFOFtoCNF_U,skolemFOFtoCNF_U),
    inference(resolve,[$cnf( program(skolemFOFtoCNF_U) )],[refute_0_52,refute_0_57]) ).

cnf(refute_0_59,plain,
    ( ~ halts2(skolemFOFtoCNF_U,Y)
    | ~ program(V)
    | ~ program_halts2(Y,Y)
    | ~ program_halts2_halts2_outputs(V,skolemFOFtoCNF_Y_3(V),good)
    | ~ program_not_halts2_halts2_outputs(V,skolemFOFtoCNF_Y_4(V),bad) ),
    inference(canonicalize,[],[normalize_0_38]) ).

cnf(refute_0_60,plain,
    ( ~ halts2(skolemFOFtoCNF_U,X_662)
    | ~ program(skolemFOFtoCNF_V)
    | ~ program_halts2(X_662,X_662)
    | ~ program_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_3(skolemFOFtoCNF_V),good)
    | ~ program_not_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_4(skolemFOFtoCNF_V),bad) ),
    inference(subst,[],[refute_0_59:[bind(V,$fot(skolemFOFtoCNF_V)),bind(Y,$fot(X_662))]]) ).

cnf(refute_0_61,plain,
    ( ~ halts2(skolemFOFtoCNF_U,X_662)
    | ~ program(skolemFOFtoCNF_V)
    | ~ program_halts2(X_662,X_662)
    | ~ program_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_3(skolemFOFtoCNF_V),good) ),
    inference(resolve,[$cnf( program_not_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_4(skolemFOFtoCNF_V),bad) )],[refute_0_28,refute_0_60]) ).

cnf(refute_0_62,plain,
    ( ~ halts2(skolemFOFtoCNF_U,X_662)
    | ~ program_halts2(X_662,X_662)
    | ~ program_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_3(skolemFOFtoCNF_V),good) ),
    inference(resolve,[$cnf( program(skolemFOFtoCNF_V) )],[refute_0_34,refute_0_61]) ).

cnf(refute_0_63,plain,
    ( ~ halts2(skolemFOFtoCNF_U,X_662)
    | ~ program_halts2(X_662,X_662) ),
    inference(resolve,[$cnf( program_halts2_halts2_outputs(skolemFOFtoCNF_V,skolemFOFtoCNF_Y_3(skolemFOFtoCNF_V),good) )],[refute_0_41,refute_0_62]) ).

cnf(refute_0_64,plain,
    ( ~ halts2(skolemFOFtoCNF_U,skolemFOFtoCNF_U)
    | ~ program_halts2(skolemFOFtoCNF_U,skolemFOFtoCNF_U) ),
    inference(subst,[],[refute_0_63:[bind(X_662,$fot(skolemFOFtoCNF_U))]]) ).

cnf(refute_0_65,plain,
    ~ halts2(skolemFOFtoCNF_U,skolemFOFtoCNF_U),
    inference(resolve,[$cnf( program_halts2(skolemFOFtoCNF_U,skolemFOFtoCNF_U) )],[refute_0_58,refute_0_64]) ).

cnf(refute_0_66,plain,
    $false,
    inference(resolve,[$cnf( halts2(skolemFOFtoCNF_U,skolemFOFtoCNF_U) )],[refute_0_56,refute_0_65]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.09  % Problem  : COM003+2 : TPTP v8.1.0. Bugfixed v2.2.0.
% 0.00/0.10  % Command  : metis --show proof --show saturation %s
% 0.09/0.29  % Computer : n032.cluster.edu
% 0.09/0.29  % Model    : x86_64 x86_64
% 0.09/0.29  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.09/0.29  % Memory   : 8042.1875MB
% 0.09/0.29  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.09/0.29  % CPULimit : 300
% 0.09/0.29  % WCLimit  : 600
% 0.09/0.29  % DateTime : Thu Jun 16 20:08:45 EDT 2022
% 0.09/0.29  % CPUTime  : 
% 0.09/0.29  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 0.46/0.64  % SZS status Theorem for /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.46/0.64  
% 0.46/0.64  % SZS output start CNFRefutation for /export/starexec/sandbox2/benchmark/theBenchmark.p
% See solution above
% 0.46/0.65  
%------------------------------------------------------------------------------