TSTP Solution File: COM003_1 by Vampire-SAT---4.8

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Vampire-SAT---4.8
% Problem  : COM003_1 : TPTP v8.2.0. Released v5.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : vampire --mode casc_sat -m 16384 --cores 7 -t %d %s

% Computer : n027.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 : Mon May 20 19:11:09 EDT 2024

% Result   : Theorem 0.22s 0.39s
% Output   : Refutation 0.22s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   29
%            Number of leaves      :   48
% Syntax   : Number of formulae    :  152 (  17 unt;  27 typ;   0 def)
%            Number of atoms       :  430 (   0 equ)
%            Maximal formula atoms :   12 (   3 avg)
%            Number of connectives :  481 ( 176   ~; 190   |;  80   &)
%                                         (   0 <=>;  35  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   10 (   5 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of types       :    5 (   4 usr)
%            Number of type conns  :   32 (  17   >;  15   *;   0   +;   0  <<)
%            Number of predicates  :   14 (  13 usr;   3 prp; 0-3 aty)
%            Number of functors    :   12 (  12 usr;   6 con; 0-1 aty)
%            Number of variables   :  258 ( 216   !;  42   ?; 258   :)

% Comments : 
%------------------------------------------------------------------------------
tff(type_def_5,type,
    program: $tType ).

tff(type_def_6,type,
    algorithm: $tType ).

tff(type_def_7,type,
    input: $tType ).

tff(type_def_8,type,
    output: $tType ).

tff(func_def_0,type,
    bad: output ).

tff(func_def_1,type,
    good: output ).

tff(func_def_2,type,
    algorithm_of: program > algorithm ).

tff(func_def_3,type,
    as_input: program > input ).

tff(func_def_4,type,
    sK9: algorithm ).

tff(func_def_5,type,
    sK10: program > program ).

tff(func_def_6,type,
    sK11: program ).

tff(func_def_7,type,
    sK12: program > program ).

tff(func_def_8,type,
    sK13: program ).

tff(func_def_9,type,
    sK14: program ).

tff(func_def_10,type,
    sK15: algorithm > program ).

tff(func_def_11,type,
    sK16: algorithm > input ).

tff(pred_def_1,type,
    decides: ( algorithm * program * input ) > $o ).

tff(pred_def_2,type,
    halts2: ( program * input ) > $o ).

tff(pred_def_3,type,
    halts3: ( program * program * input ) > $o ).

tff(pred_def_4,type,
    outputs: ( program * output ) > $o ).

tff(pred_def_5,type,
    sP0: ( program * program ) > $o ).

tff(pred_def_6,type,
    sP1: ( program * program ) > $o ).

tff(pred_def_8,type,
    sP3: ( program * program ) > $o ).

tff(pred_def_9,type,
    sP4: ( program * program ) > $o ).

tff(pred_def_10,type,
    sP5: ( program * program ) > $o ).

tff(pred_def_12,type,
    sP7: ( program * input * program ) > $o ).

tff(pred_def_13,type,
    sP8: ( program * input * program ) > $o ).

tff(f172,plain,
    $false,
    inference(subsumption_resolution,[],[f170,f167]) ).

tff(f167,plain,
    outputs(sK14,good),
    inference(resolution,[],[f164,f124]) ).

tff(f124,plain,
    ! [X0: program,X1: input] :
      ( ~ halts2(X0,X1)
      | outputs(sK14,good) ),
    inference(resolution,[],[f121,f82]) ).

tff(f82,plain,
    ! [X2: program,X0: program,X1: input] :
      ( ~ sP7(X0,X1,X2)
      | ~ halts2(X2,X1)
      | outputs(X0,good) ),
    inference(cnf_transformation,[],[f58]) ).

tff(f58,plain,
    ! [X0: program,X1: input,X2: program] :
      ( ( outputs(X0,good)
        & halts3(X0,X2,X1) )
      | ~ halts2(X2,X1)
      | ~ sP7(X0,X1,X2) ),
    inference(rectify,[],[f57]) ).

tff(f57,plain,
    ! [X0: program,X4: input,X3: program] :
      ( ( outputs(X0,good)
        & halts3(X0,X3,X4) )
      | ~ halts2(X3,X4)
      | ~ sP7(X0,X4,X3) ),
    inference(nnf_transformation,[],[f26]) ).

tff(f26,plain,
    ! [X0: program,X4: input,X3: program] :
      ( ( outputs(X0,good)
        & halts3(X0,X3,X4) )
      | ~ halts2(X3,X4)
      | ~ sP7(X0,X4,X3) ),
    introduced(predicate_definition_introduction,[new_symbols(naming,[sP7])]) ).

tff(f121,plain,
    ! [X0: input,X1: program] : sP7(sK14,X0,X1),
    inference(resolution,[],[f119,f83]) ).

tff(f83,plain,
    ! [X2: input,X3: program,X0: program,X1: program,X4: input] :
      ( ~ decides(algorithm_of(X0),X1,X2)
      | sP7(X0,X4,X3) ),
    inference(cnf_transformation,[],[f28]) ).

tff(f28,plain,
    ! [X0: program,X1: program,X2: input] :
      ( ! [X3: program,X4: input] :
          ( sP8(X0,X4,X3)
          & sP7(X0,X4,X3) )
      | ~ decides(algorithm_of(X0),X1,X2) ),
    inference(definition_folding,[],[f16,f27,f26]) ).

tff(f27,plain,
    ! [X0: program,X4: input,X3: program] :
      ( ( outputs(X0,bad)
        & halts3(X0,X3,X4) )
      | halts2(X3,X4)
      | ~ sP8(X0,X4,X3) ),
    introduced(predicate_definition_introduction,[new_symbols(naming,[sP8])]) ).

tff(f16,plain,
    ! [X0: program,X1: program,X2: input] :
      ( ! [X3: program,X4: input] :
          ( ( ( outputs(X0,bad)
              & halts3(X0,X3,X4) )
            | halts2(X3,X4) )
          & ( ( outputs(X0,good)
              & halts3(X0,X3,X4) )
            | ~ halts2(X3,X4) ) )
      | ~ decides(algorithm_of(X0),X1,X2) ),
    inference(ennf_transformation,[],[f12]) ).

tff(f12,plain,
    ! [X0: program,X1: program,X2: input] :
      ( decides(algorithm_of(X0),X1,X2)
     => ! [X3: program,X4: input] :
          ( ( ~ halts2(X3,X4)
           => ( outputs(X0,bad)
              & halts3(X0,X3,X4) ) )
          & ( halts2(X3,X4)
           => ( outputs(X0,good)
              & halts3(X0,X3,X4) ) ) ) ),
    inference(rectify,[],[f2]) ).

tff(f2,axiom,
    ! [X3: program,X1: program,X2: input] :
      ( decides(algorithm_of(X3),X1,X2)
     => ! [X1: program,X2: input] :
          ( ( ~ halts2(X1,X2)
           => ( outputs(X3,bad)
              & halts3(X3,X1,X2) ) )
          & ( halts2(X1,X2)
           => ( outputs(X3,good)
              & halts3(X3,X1,X2) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',p2) ).

tff(f119,plain,
    ! [X0: program,X1: input] : decides(algorithm_of(sK14),X0,X1),
    inference(resolution,[],[f78,f59]) ).

tff(f59,plain,
    ! [X2: input,X1: program] : decides(sK9,X1,X2),
    inference(cnf_transformation,[],[f30]) ).

tff(f30,plain,
    ! [X1: program,X2: input] : decides(sK9,X1,X2),
    inference(skolemisation,[status(esa),new_symbols(skolem,[sK9])],[f8,f29]) ).

tff(f29,plain,
    ( ? [X0: algorithm] :
      ! [X1: program,X2: input] : decides(X0,X1,X2)
   => ! [X2: input,X1: program] : decides(sK9,X1,X2) ),
    introduced(choice_axiom,[]) ).

tff(f8,plain,
    ? [X0: algorithm] :
    ! [X1: program,X2: input] : decides(X0,X1,X2),
    inference(flattening,[],[f7]) ).

tff(f7,plain,
    ~ ~ ? [X0: algorithm] :
        ! [X1: program,X2: input] : decides(X0,X1,X2),
    inference(rectify,[],[f6]) ).

tff(f6,negated_conjecture,
    ~ ~ ? [X6: algorithm] :
        ! [X7: program,X8: input] : decides(X6,X7,X8),
    inference(negated_conjecture,[],[f5]) ).

tff(f5,conjecture,
    ~ ? [X6: algorithm] :
      ! [X7: program,X8: input] : decides(X6,X7,X8),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',prove_this) ).

tff(f78,plain,
    ! [X2: input,X3: algorithm,X1: program] :
      ( ~ decides(X3,sK15(X3),sK16(X3))
      | decides(algorithm_of(sK14),X1,X2) ),
    inference(cnf_transformation,[],[f54]) ).

tff(f54,plain,
    ( ! [X1: program,X2: input] : decides(algorithm_of(sK14),X1,X2)
    | ! [X3: algorithm] : ~ decides(X3,sK15(X3),sK16(X3)) ),
    inference(skolemisation,[status(esa),new_symbols(skolem,[sK14,sK15,sK16])],[f51,f53,f52]) ).

tff(f52,plain,
    ( ? [X0: program] :
      ! [X1: program,X2: input] : decides(algorithm_of(X0),X1,X2)
   => ! [X2: input,X1: program] : decides(algorithm_of(sK14),X1,X2) ),
    introduced(choice_axiom,[]) ).

tff(f53,plain,
    ! [X3: algorithm] :
      ( ? [X4: program,X5: input] : ~ decides(X3,X4,X5)
     => ~ decides(X3,sK15(X3),sK16(X3)) ),
    introduced(choice_axiom,[]) ).

tff(f51,plain,
    ( ? [X0: program] :
      ! [X1: program,X2: input] : decides(algorithm_of(X0),X1,X2)
    | ! [X3: algorithm] :
      ? [X4: program,X5: input] : ~ decides(X3,X4,X5) ),
    inference(rectify,[],[f15]) ).

tff(f15,plain,
    ( ? [X3: program] :
      ! [X4: program,X5: input] : decides(algorithm_of(X3),X4,X5)
    | ! [X0: algorithm] :
      ? [X1: program,X2: input] : ~ decides(X0,X1,X2) ),
    inference(ennf_transformation,[],[f11]) ).

tff(f11,plain,
    ( ? [X0: algorithm] :
      ! [X1: program,X2: input] : decides(X0,X1,X2)
   => ? [X3: program] :
      ! [X4: program,X5: input] : decides(algorithm_of(X3),X4,X5) ),
    inference(rectify,[],[f1]) ).

tff(f1,axiom,
    ( ? [X0: algorithm] :
      ! [X1: program,X2: input] : decides(X0,X1,X2)
   => ? [X3: program] :
      ! [X1: program,X2: input] : decides(algorithm_of(X3),X1,X2) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',p1) ).

tff(f164,plain,
    halts2(sK12(sK14),as_input(sK12(sK14))),
    inference(subsumption_resolution,[],[f163,f123]) ).

tff(f123,plain,
    ! [X0: program,X1: input] :
      ( outputs(sK14,bad)
      | halts2(X0,X1) ),
    inference(resolution,[],[f120,f80]) ).

tff(f80,plain,
    ! [X2: program,X0: program,X1: input] :
      ( ~ sP8(X0,X1,X2)
      | halts2(X2,X1)
      | outputs(X0,bad) ),
    inference(cnf_transformation,[],[f56]) ).

tff(f56,plain,
    ! [X0: program,X1: input,X2: program] :
      ( ( outputs(X0,bad)
        & halts3(X0,X2,X1) )
      | halts2(X2,X1)
      | ~ sP8(X0,X1,X2) ),
    inference(rectify,[],[f55]) ).

tff(f55,plain,
    ! [X0: program,X4: input,X3: program] :
      ( ( outputs(X0,bad)
        & halts3(X0,X3,X4) )
      | halts2(X3,X4)
      | ~ sP8(X0,X4,X3) ),
    inference(nnf_transformation,[],[f27]) ).

tff(f120,plain,
    ! [X0: input,X1: program] : sP8(sK14,X0,X1),
    inference(resolution,[],[f119,f84]) ).

tff(f84,plain,
    ! [X2: input,X3: program,X0: program,X1: program,X4: input] :
      ( ~ decides(algorithm_of(X0),X1,X2)
      | sP8(X0,X4,X3) ),
    inference(cnf_transformation,[],[f28]) ).

tff(f163,plain,
    ( ~ outputs(sK14,bad)
    | halts2(sK12(sK14),as_input(sK12(sK14))) ),
    inference(subsumption_resolution,[],[f162,f74]) ).

tff(f74,plain,
    ! [X0: program,X1: program] :
      ( ~ sP3(X0,X1)
      | halts2(X1,as_input(X1)) ),
    inference(cnf_transformation,[],[f47]) ).

tff(f47,plain,
    ! [X0: program,X1: program] :
      ( ( ( ~ outputs(X0,good)
          | ~ halts3(X0,X1,as_input(X1)) )
        & halts2(X1,as_input(X1)) )
      | ~ sP3(X0,X1) ),
    inference(nnf_transformation,[],[f21]) ).

tff(f21,plain,
    ! [X0: program,X1: program] :
      ( ( ( ~ outputs(X0,good)
          | ~ halts3(X0,X1,as_input(X1)) )
        & halts2(X1,as_input(X1)) )
      | ~ sP3(X0,X1) ),
    introduced(predicate_definition_introduction,[new_symbols(naming,[sP3])]) ).

tff(f162,plain,
    ( ~ outputs(sK14,bad)
    | sP3(sK14,sK12(sK14))
    | halts2(sK12(sK14),as_input(sK12(sK14))) ),
    inference(resolution,[],[f160,f132]) ).

tff(f132,plain,
    ! [X0: program,X1: input] :
      ( halts3(sK14,X0,X1)
      | halts2(X0,X1) ),
    inference(resolution,[],[f79,f120]) ).

tff(f79,plain,
    ! [X2: program,X0: program,X1: input] :
      ( ~ sP8(X0,X1,X2)
      | halts2(X2,X1)
      | halts3(X0,X2,X1) ),
    inference(cnf_transformation,[],[f56]) ).

tff(f160,plain,
    ! [X0: program] :
      ( ~ halts3(X0,sK12(X0),as_input(sK12(X0)))
      | ~ outputs(X0,bad)
      | sP3(X0,sK12(X0)) ),
    inference(subsumption_resolution,[],[f69,f159]) ).

tff(f159,plain,
    sP6,
    inference(subsumption_resolution,[],[f158,f116]) ).

tff(f116,plain,
    ! [X0: program] :
      ( halts2(sK13,as_input(X0))
      | sP6 ),
    inference(subsumption_resolution,[],[f115,f100]) ).

tff(f100,plain,
    ! [X0: program] :
      ( halts2(X0,as_input(X0))
      | halts2(sK13,as_input(X0))
      | sP6 ),
    inference(resolution,[],[f70,f77]) ).

tff(f77,plain,
    ! [X1: program] :
      ( sP5(sK13,X1)
      | sP6 ),
    inference(cnf_transformation,[],[f50]) ).

tff(f50,plain,
    ( ! [X1: program] :
        ( sP5(sK13,X1)
        & sP4(sK13,X1) )
    | sP6 ),
    inference(skolemisation,[status(esa),new_symbols(skolem,[sK13])],[f48,f49]) ).

tff(f49,plain,
    ( ? [X0: program] :
      ! [X1: program] :
        ( sP5(X0,X1)
        & sP4(X0,X1) )
   => ! [X1: program] :
        ( sP5(sK13,X1)
        & sP4(sK13,X1) ) ),
    introduced(choice_axiom,[]) ).

tff(f48,plain,
    ( ? [X0: program] :
      ! [X1: program] :
        ( sP5(X0,X1)
        & sP4(X0,X1) )
    | sP6 ),
    inference(rectify,[],[f25]) ).

tff(f25,plain,
    ( ? [X2: program] :
      ! [X3: program] :
        ( sP5(X2,X3)
        & sP4(X2,X3) )
    | sP6 ),
    inference(definition_folding,[],[f14,f24,f23,f22,f21]) ).

tff(f22,plain,
    ! [X2: program,X3: program] :
      ( ( outputs(X2,good)
        & halts2(X2,as_input(X3)) )
      | ~ halts2(X3,as_input(X3))
      | ~ sP4(X2,X3) ),
    introduced(predicate_definition_introduction,[new_symbols(naming,[sP4])]) ).

tff(f23,plain,
    ! [X2: program,X3: program] :
      ( ( outputs(X2,bad)
        & halts2(X2,as_input(X3)) )
      | halts2(X3,as_input(X3))
      | ~ sP5(X2,X3) ),
    introduced(predicate_definition_introduction,[new_symbols(naming,[sP5])]) ).

tff(f24,plain,
    ( ! [X0: program] :
      ? [X1: program] :
        ( ( ( ~ outputs(X0,bad)
            | ~ halts3(X0,X1,as_input(X1)) )
          & ~ halts2(X1,as_input(X1)) )
        | sP3(X0,X1) )
    | ~ sP6 ),
    introduced(predicate_definition_introduction,[new_symbols(naming,[sP6])]) ).

tff(f14,plain,
    ( ? [X2: program] :
      ! [X3: program] :
        ( ( ( outputs(X2,bad)
            & halts2(X2,as_input(X3)) )
          | halts2(X3,as_input(X3)) )
        & ( ( outputs(X2,good)
            & halts2(X2,as_input(X3)) )
          | ~ halts2(X3,as_input(X3)) ) )
    | ! [X0: program] :
      ? [X1: program] :
        ( ( ( ~ outputs(X0,bad)
            | ~ halts3(X0,X1,as_input(X1)) )
          & ~ halts2(X1,as_input(X1)) )
        | ( ( ~ outputs(X0,good)
            | ~ halts3(X0,X1,as_input(X1)) )
          & halts2(X1,as_input(X1)) ) ) ),
    inference(ennf_transformation,[],[f10]) ).

tff(f10,plain,
    ( ? [X0: program] :
      ! [X1: program] :
        ( ( ~ halts2(X1,as_input(X1))
         => ( outputs(X0,bad)
            & halts3(X0,X1,as_input(X1)) ) )
        & ( halts2(X1,as_input(X1))
         => ( outputs(X0,good)
            & halts3(X0,X1,as_input(X1)) ) ) )
   => ? [X2: program] :
      ! [X3: program] :
        ( ( ~ halts2(X3,as_input(X3))
         => ( outputs(X2,bad)
            & halts2(X2,as_input(X3)) ) )
        & ( halts2(X3,as_input(X3))
         => ( outputs(X2,good)
            & halts2(X2,as_input(X3)) ) ) ) ),
    inference(rectify,[],[f3]) ).

tff(f3,axiom,
    ( ? [X3: program] :
      ! [X1: program] :
        ( ( ~ halts2(X1,as_input(X1))
         => ( outputs(X3,bad)
            & halts3(X3,X1,as_input(X1)) ) )
        & ( halts2(X1,as_input(X1))
         => ( outputs(X3,good)
            & halts3(X3,X1,as_input(X1)) ) ) )
   => ? [X4: program] :
      ! [X1: program] :
        ( ( ~ halts2(X1,as_input(X1))
         => ( outputs(X4,bad)
            & halts2(X4,as_input(X1)) ) )
        & ( halts2(X1,as_input(X1))
         => ( outputs(X4,good)
            & halts2(X4,as_input(X1)) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',p3) ).

tff(f70,plain,
    ! [X0: program,X1: program] :
      ( ~ sP5(X0,X1)
      | halts2(X1,as_input(X1))
      | halts2(X0,as_input(X1)) ),
    inference(cnf_transformation,[],[f44]) ).

tff(f44,plain,
    ! [X0: program,X1: program] :
      ( ( outputs(X0,bad)
        & halts2(X0,as_input(X1)) )
      | halts2(X1,as_input(X1))
      | ~ sP5(X0,X1) ),
    inference(rectify,[],[f43]) ).

tff(f43,plain,
    ! [X2: program,X3: program] :
      ( ( outputs(X2,bad)
        & halts2(X2,as_input(X3)) )
      | halts2(X3,as_input(X3))
      | ~ sP5(X2,X3) ),
    inference(nnf_transformation,[],[f23]) ).

tff(f115,plain,
    ! [X0: program] :
      ( ~ halts2(X0,as_input(X0))
      | halts2(sK13,as_input(X0))
      | sP6 ),
    inference(resolution,[],[f72,f76]) ).

tff(f76,plain,
    ! [X1: program] :
      ( sP4(sK13,X1)
      | sP6 ),
    inference(cnf_transformation,[],[f50]) ).

tff(f72,plain,
    ! [X0: program,X1: program] :
      ( ~ sP4(X0,X1)
      | ~ halts2(X1,as_input(X1))
      | halts2(X0,as_input(X1)) ),
    inference(cnf_transformation,[],[f46]) ).

tff(f46,plain,
    ! [X0: program,X1: program] :
      ( ( outputs(X0,good)
        & halts2(X0,as_input(X1)) )
      | ~ halts2(X1,as_input(X1))
      | ~ sP4(X0,X1) ),
    inference(rectify,[],[f45]) ).

tff(f45,plain,
    ! [X2: program,X3: program] :
      ( ( outputs(X2,good)
        & halts2(X2,as_input(X3)) )
      | ~ halts2(X3,as_input(X3))
      | ~ sP4(X2,X3) ),
    inference(nnf_transformation,[],[f22]) ).

tff(f158,plain,
    ( ~ halts2(sK13,as_input(sK10(sK13)))
    | sP6 ),
    inference(duplicate_literal_removal,[],[f155]) ).

tff(f155,plain,
    ( ~ halts2(sK13,as_input(sK10(sK13)))
    | sP6
    | sP6 ),
    inference(resolution,[],[f153,f110]) ).

tff(f110,plain,
    ( outputs(sK13,good)
    | sP6 ),
    inference(subsumption_resolution,[],[f107,f87]) ).

tff(f87,plain,
    ! [X0: program] :
      ( ~ halts2(X0,as_input(X0))
      | outputs(sK13,good)
      | sP6 ),
    inference(resolution,[],[f73,f76]) ).

tff(f73,plain,
    ! [X0: program,X1: program] :
      ( ~ sP4(X0,X1)
      | ~ halts2(X1,as_input(X1))
      | outputs(X0,good) ),
    inference(cnf_transformation,[],[f46]) ).

tff(f107,plain,
    ( halts2(sK13,as_input(sK13))
    | sP6
    | outputs(sK13,good) ),
    inference(duplicate_literal_removal,[],[f105]) ).

tff(f105,plain,
    ( halts2(sK13,as_input(sK13))
    | sP6
    | outputs(sK13,good)
    | sP6 ),
    inference(resolution,[],[f100,f87]) ).

tff(f153,plain,
    ! [X0: program] :
      ( ~ outputs(X0,good)
      | ~ halts2(X0,as_input(sK10(X0)))
      | sP6 ),
    inference(resolution,[],[f152,f65]) ).

tff(f65,plain,
    ! [X0: program,X1: program] :
      ( ~ sP0(X0,X1)
      | ~ halts2(X0,as_input(X1))
      | ~ outputs(X0,good) ),
    inference(cnf_transformation,[],[f36]) ).

tff(f36,plain,
    ! [X0: program,X1: program] :
      ( ( ( ~ outputs(X0,good)
          | ~ halts2(X0,as_input(X1)) )
        & halts2(X1,as_input(X1)) )
      | ~ sP0(X0,X1) ),
    inference(nnf_transformation,[],[f17]) ).

tff(f17,plain,
    ! [X0: program,X1: program] :
      ( ( ( ~ outputs(X0,good)
          | ~ halts2(X0,as_input(X1)) )
        & halts2(X1,as_input(X1)) )
      | ~ sP0(X0,X1) ),
    introduced(predicate_definition_introduction,[new_symbols(naming,[sP0])]) ).

tff(f152,plain,
    ! [X0: program] :
      ( sP0(X0,sK10(X0))
      | sP6 ),
    inference(subsumption_resolution,[],[f148,f98]) ).

tff(f98,plain,
    sP2,
    inference(subsumption_resolution,[],[f94,f66]) ).

tff(f66,plain,
    ! [X1: program] :
      ( ~ halts2(sK11,as_input(X1))
      | ~ halts2(X1,as_input(X1))
      | sP2 ),
    inference(cnf_transformation,[],[f39]) ).

tff(f39,plain,
    ( ! [X1: program] :
        ( sP1(sK11,X1)
        & ( ~ halts2(sK11,as_input(X1))
          | ~ halts2(X1,as_input(X1)) ) )
    | sP2 ),
    inference(skolemisation,[status(esa),new_symbols(skolem,[sK11])],[f37,f38]) ).

tff(f38,plain,
    ( ? [X0: program] :
      ! [X1: program] :
        ( sP1(X0,X1)
        & ( ~ halts2(X0,as_input(X1))
          | ~ halts2(X1,as_input(X1)) ) )
   => ! [X1: program] :
        ( sP1(sK11,X1)
        & ( ~ halts2(sK11,as_input(X1))
          | ~ halts2(X1,as_input(X1)) ) ) ),
    introduced(choice_axiom,[]) ).

tff(f37,plain,
    ( ? [X0: program] :
      ! [X1: program] :
        ( sP1(X0,X1)
        & ( ~ halts2(X0,as_input(X1))
          | ~ halts2(X1,as_input(X1)) ) )
    | sP2 ),
    inference(rectify,[],[f20]) ).

tff(f20,plain,
    ( ? [X2: program] :
      ! [X3: program] :
        ( sP1(X2,X3)
        & ( ~ halts2(X2,as_input(X3))
          | ~ halts2(X3,as_input(X3)) ) )
    | sP2 ),
    inference(definition_folding,[],[f13,f19,f18,f17]) ).

tff(f18,plain,
    ! [X2: program,X3: program] :
      ( ( outputs(X2,bad)
        & halts2(X2,as_input(X3)) )
      | halts2(X3,as_input(X3))
      | ~ sP1(X2,X3) ),
    introduced(predicate_definition_introduction,[new_symbols(naming,[sP1])]) ).

tff(f19,plain,
    ( ! [X0: program] :
      ? [X1: program] :
        ( ( ( ~ outputs(X0,bad)
            | ~ halts2(X0,as_input(X1)) )
          & ~ halts2(X1,as_input(X1)) )
        | sP0(X0,X1) )
    | ~ sP2 ),
    introduced(predicate_definition_introduction,[new_symbols(naming,[sP2])]) ).

tff(f13,plain,
    ( ? [X2: program] :
      ! [X3: program] :
        ( ( ( outputs(X2,bad)
            & halts2(X2,as_input(X3)) )
          | halts2(X3,as_input(X3)) )
        & ( ~ halts2(X2,as_input(X3))
          | ~ halts2(X3,as_input(X3)) ) )
    | ! [X0: program] :
      ? [X1: program] :
        ( ( ( ~ outputs(X0,bad)
            | ~ halts2(X0,as_input(X1)) )
          & ~ halts2(X1,as_input(X1)) )
        | ( ( ~ outputs(X0,good)
            | ~ halts2(X0,as_input(X1)) )
          & halts2(X1,as_input(X1)) ) ) ),
    inference(ennf_transformation,[],[f9]) ).

tff(f9,plain,
    ( ? [X0: program] :
      ! [X1: program] :
        ( ( ~ halts2(X1,as_input(X1))
         => ( outputs(X0,bad)
            & halts2(X0,as_input(X1)) ) )
        & ( halts2(X1,as_input(X1))
         => ( outputs(X0,good)
            & halts2(X0,as_input(X1)) ) ) )
   => ? [X2: program] :
      ! [X3: program] :
        ( ( ~ halts2(X3,as_input(X3))
         => ( outputs(X2,bad)
            & halts2(X2,as_input(X3)) ) )
        & ( halts2(X3,as_input(X3))
         => ~ halts2(X2,as_input(X3)) ) ) ),
    inference(rectify,[],[f4]) ).

tff(f4,axiom,
    ( ? [X4: program] :
      ! [X1: program] :
        ( ( ~ halts2(X1,as_input(X1))
         => ( outputs(X4,bad)
            & halts2(X4,as_input(X1)) ) )
        & ( halts2(X1,as_input(X1))
         => ( outputs(X4,good)
            & halts2(X4,as_input(X1)) ) ) )
   => ? [X5: program] :
      ! [X1: program] :
        ( ( ~ halts2(X1,as_input(X1))
         => ( outputs(X5,bad)
            & halts2(X5,as_input(X1)) ) )
        & ( halts2(X1,as_input(X1))
         => ~ halts2(X5,as_input(X1)) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',p4) ).

tff(f94,plain,
    ( halts2(sK11,as_input(sK11))
    | sP2 ),
    inference(factoring,[],[f88]) ).

tff(f88,plain,
    ! [X0: program] :
      ( halts2(X0,as_input(X0))
      | halts2(sK11,as_input(X0))
      | sP2 ),
    inference(resolution,[],[f62,f67]) ).

tff(f67,plain,
    ! [X1: program] :
      ( sP1(sK11,X1)
      | sP2 ),
    inference(cnf_transformation,[],[f39]) ).

tff(f62,plain,
    ! [X0: program,X1: program] :
      ( ~ sP1(X0,X1)
      | halts2(X1,as_input(X1))
      | halts2(X0,as_input(X1)) ),
    inference(cnf_transformation,[],[f35]) ).

tff(f35,plain,
    ! [X0: program,X1: program] :
      ( ( outputs(X0,bad)
        & halts2(X0,as_input(X1)) )
      | halts2(X1,as_input(X1))
      | ~ sP1(X0,X1) ),
    inference(rectify,[],[f34]) ).

tff(f34,plain,
    ! [X2: program,X3: program] :
      ( ( outputs(X2,bad)
        & halts2(X2,as_input(X3)) )
      | halts2(X3,as_input(X3))
      | ~ sP1(X2,X3) ),
    inference(nnf_transformation,[],[f18]) ).

tff(f148,plain,
    ! [X0: program] :
      ( sP6
      | sP0(X0,sK10(X0))
      | ~ sP2 ),
    inference(resolution,[],[f145,f60]) ).

tff(f60,plain,
    ! [X0: program] :
      ( ~ halts2(sK10(X0),as_input(sK10(X0)))
      | sP0(X0,sK10(X0))
      | ~ sP2 ),
    inference(cnf_transformation,[],[f33]) ).

tff(f33,plain,
    ( ! [X0: program] :
        ( ( ( ~ outputs(X0,bad)
            | ~ halts2(X0,as_input(sK10(X0))) )
          & ~ halts2(sK10(X0),as_input(sK10(X0))) )
        | sP0(X0,sK10(X0)) )
    | ~ sP2 ),
    inference(skolemisation,[status(esa),new_symbols(skolem,[sK10])],[f31,f32]) ).

tff(f32,plain,
    ! [X0: program] :
      ( ? [X1: program] :
          ( ( ( ~ outputs(X0,bad)
              | ~ halts2(X0,as_input(X1)) )
            & ~ halts2(X1,as_input(X1)) )
          | sP0(X0,X1) )
     => ( ( ( ~ outputs(X0,bad)
            | ~ halts2(X0,as_input(sK10(X0))) )
          & ~ halts2(sK10(X0),as_input(sK10(X0))) )
        | sP0(X0,sK10(X0)) ) ),
    introduced(choice_axiom,[]) ).

tff(f31,plain,
    ( ! [X0: program] :
      ? [X1: program] :
        ( ( ( ~ outputs(X0,bad)
            | ~ halts2(X0,as_input(X1)) )
          & ~ halts2(X1,as_input(X1)) )
        | sP0(X0,X1) )
    | ~ sP2 ),
    inference(nnf_transformation,[],[f19]) ).

tff(f145,plain,
    ! [X0: program] :
      ( halts2(X0,as_input(X0))
      | sP6 ),
    inference(subsumption_resolution,[],[f144,f110]) ).

tff(f144,plain,
    ! [X0: program] :
      ( halts2(X0,as_input(X0))
      | sP6
      | ~ outputs(sK13,good) ),
    inference(subsumption_resolution,[],[f142,f116]) ).

tff(f142,plain,
    ! [X0: program] :
      ( halts2(X0,as_input(X0))
      | sP6
      | ~ halts2(sK13,as_input(sK10(sK13)))
      | ~ outputs(sK13,good) ),
    inference(resolution,[],[f141,f65]) ).

tff(f141,plain,
    ! [X0: program] :
      ( sP0(sK13,sK10(sK13))
      | halts2(X0,as_input(X0))
      | sP6 ),
    inference(subsumption_resolution,[],[f139,f109]) ).

tff(f109,plain,
    ! [X0: program] :
      ( sP0(X0,sK10(X0))
      | sP6
      | halts2(sK13,as_input(sK10(X0))) ),
    inference(subsumption_resolution,[],[f103,f98]) ).

tff(f103,plain,
    ! [X0: program] :
      ( halts2(sK13,as_input(sK10(X0)))
      | sP6
      | sP0(X0,sK10(X0))
      | ~ sP2 ),
    inference(resolution,[],[f100,f60]) ).

tff(f139,plain,
    ! [X0: program] :
      ( ~ halts2(sK13,as_input(sK10(sK13)))
      | sP0(sK13,sK10(sK13))
      | halts2(X0,as_input(X0))
      | sP6 ),
    inference(resolution,[],[f137,f86]) ).

tff(f86,plain,
    ! [X0: program] :
      ( outputs(sK13,bad)
      | halts2(X0,as_input(X0))
      | sP6 ),
    inference(resolution,[],[f71,f77]) ).

tff(f71,plain,
    ! [X0: program,X1: program] :
      ( ~ sP5(X0,X1)
      | halts2(X1,as_input(X1))
      | outputs(X0,bad) ),
    inference(cnf_transformation,[],[f44]) ).

tff(f137,plain,
    ! [X0: program] :
      ( ~ outputs(X0,bad)
      | ~ halts2(X0,as_input(sK10(X0)))
      | sP0(X0,sK10(X0)) ),
    inference(subsumption_resolution,[],[f61,f98]) ).

tff(f61,plain,
    ! [X0: program] :
      ( ~ outputs(X0,bad)
      | ~ halts2(X0,as_input(sK10(X0)))
      | sP0(X0,sK10(X0))
      | ~ sP2 ),
    inference(cnf_transformation,[],[f33]) ).

tff(f69,plain,
    ! [X0: program] :
      ( ~ outputs(X0,bad)
      | ~ halts3(X0,sK12(X0),as_input(sK12(X0)))
      | sP3(X0,sK12(X0))
      | ~ sP6 ),
    inference(cnf_transformation,[],[f42]) ).

tff(f42,plain,
    ( ! [X0: program] :
        ( ( ( ~ outputs(X0,bad)
            | ~ halts3(X0,sK12(X0),as_input(sK12(X0))) )
          & ~ halts2(sK12(X0),as_input(sK12(X0))) )
        | sP3(X0,sK12(X0)) )
    | ~ sP6 ),
    inference(skolemisation,[status(esa),new_symbols(skolem,[sK12])],[f40,f41]) ).

tff(f41,plain,
    ! [X0: program] :
      ( ? [X1: program] :
          ( ( ( ~ outputs(X0,bad)
              | ~ halts3(X0,X1,as_input(X1)) )
            & ~ halts2(X1,as_input(X1)) )
          | sP3(X0,X1) )
     => ( ( ( ~ outputs(X0,bad)
            | ~ halts3(X0,sK12(X0),as_input(sK12(X0))) )
          & ~ halts2(sK12(X0),as_input(sK12(X0))) )
        | sP3(X0,sK12(X0)) ) ),
    introduced(choice_axiom,[]) ).

tff(f40,plain,
    ( ! [X0: program] :
      ? [X1: program] :
        ( ( ( ~ outputs(X0,bad)
            | ~ halts3(X0,X1,as_input(X1)) )
          & ~ halts2(X1,as_input(X1)) )
        | sP3(X0,X1) )
    | ~ sP6 ),
    inference(nnf_transformation,[],[f24]) ).

tff(f170,plain,
    ~ outputs(sK14,good),
    inference(resolution,[],[f168,f136]) ).

tff(f136,plain,
    ! [X0: program] :
      ( ~ sP3(sK14,X0)
      | ~ outputs(sK14,good) ),
    inference(resolution,[],[f135,f75]) ).

tff(f75,plain,
    ! [X0: program,X1: program] :
      ( ~ halts3(X0,X1,as_input(X1))
      | ~ outputs(X0,good)
      | ~ sP3(X0,X1) ),
    inference(cnf_transformation,[],[f47]) ).

tff(f135,plain,
    ! [X0: program,X1: input] : halts3(sK14,X0,X1),
    inference(subsumption_resolution,[],[f134,f132]) ).

tff(f134,plain,
    ! [X0: program,X1: input] :
      ( ~ halts2(X0,X1)
      | halts3(sK14,X0,X1) ),
    inference(resolution,[],[f81,f121]) ).

tff(f81,plain,
    ! [X2: program,X0: program,X1: input] :
      ( ~ sP7(X0,X1,X2)
      | ~ halts2(X2,X1)
      | halts3(X0,X2,X1) ),
    inference(cnf_transformation,[],[f58]) ).

tff(f168,plain,
    sP3(sK14,sK12(sK14)),
    inference(subsumption_resolution,[],[f165,f159]) ).

tff(f165,plain,
    ( sP3(sK14,sK12(sK14))
    | ~ sP6 ),
    inference(resolution,[],[f164,f68]) ).

tff(f68,plain,
    ! [X0: program] :
      ( ~ halts2(sK12(X0),as_input(sK12(X0)))
      | sP3(X0,sK12(X0))
      | ~ sP6 ),
    inference(cnf_transformation,[],[f42]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.06/0.12  % Problem    : COM003_1 : TPTP v8.2.0. Released v5.0.0.
% 0.06/0.13  % Command    : vampire --mode casc_sat -m 16384 --cores 7 -t %d %s
% 0.15/0.36  % Computer : n027.cluster.edu
% 0.15/0.36  % Model    : x86_64 x86_64
% 0.15/0.36  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.36  % Memory   : 8042.1875MB
% 0.15/0.36  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.15/0.36  % CPULimit   : 300
% 0.15/0.36  % WCLimit    : 300
% 0.15/0.36  % DateTime   : Sun May 19 10:36:08 EDT 2024
% 0.15/0.36  % CPUTime    : 
% 0.15/0.36  % (24447)Running in auto input_syntax mode. Trying TPTP
% 0.22/0.38  % (24452)dis+1_20_av=off:lcm=predicate:nm=2:nwc=2.0_396 on theBenchmark for (396ds/0Mi)
% 0.22/0.38  % (24449)fmb+10_1_bce=on:fmbas=expand:fmbksg=on:fmbsr=1.3_569 on theBenchmark for (569ds/0Mi)
% 0.22/0.38  % (24451)fmb+10_1_bce=on:fmbas=expand:fmbksg=on:fmbsr=1.3:gsp=on:nm=4_470 on theBenchmark for (470ds/0Mi)
% 0.22/0.38  % (24450)dis-2_2:3_amm=sco:anc=none:bce=on:fsr=off:gsp=on:nm=16:nwc=1.2:nicw=on:sac=on:sp=weighted_frequency_476 on theBenchmark for (476ds/0Mi)
% 0.22/0.38  % (24448)fmb+10_1_fmbas=off:fmbsr=1.3:nm=2_1451 on theBenchmark for (1451ds/0Mi)
% 0.22/0.38  % (24453)dis+11_4:5_nm=4_216 on theBenchmark for (216ds/0Mi)
% 0.22/0.38  % (24454)fmb+10_1_fmbas=off:fmbsr=1.3:nm=2:si=on:rtra=on:rawr=on:rp=on:fmbksg=on_1451 on theBenchmark for (1451ds/0Mi)
% 0.22/0.38  % (24452)First to succeed.
% 0.22/0.38  Detected minimum model sizes of [1,1,1,1]
% 0.22/0.38  Detected maximum model sizes of [2,max,max,max]
% 0.22/0.38  Detected minimum model sizes of [1,1,1,1]
% 0.22/0.38  TRYING [1,1,1,1]
% 0.22/0.38  Detected maximum model sizes of [2,max,max,max]
% 0.22/0.38  TRYING [1,1,1,1]
% 0.22/0.38  TRYING [2,1,1,1]
% 0.22/0.38  % (24453)Also succeeded, but the first one will report.
% 0.22/0.38  TRYING [2,1,1,1]
% 0.22/0.38  Detected minimum model sizes of [1,1,1,1,1,1]
% 0.22/0.38  Detected maximum model sizes of [2,max,max,max,max,max]
% 0.22/0.38  TRYING [1,2,1,1]
% 0.22/0.38  Detected minimum model sizes of [1,1,1,1,1,1]
% 0.22/0.38  Detected maximum model sizes of [2,max,max,max,max,max]
% 0.22/0.38  TRYING [1,1,1,1,1,1]
% 0.22/0.38  TRYING [1,1,1,1,1,1]
% 0.22/0.38  TRYING [1,2,1,1]
% 0.22/0.38  TRYING [1,1,2,1]
% 0.22/0.38  TRYING [2,1,1,1,1,1]
% 0.22/0.39  TRYING [1,1,2,1]
% 0.22/0.39  TRYING [2,1,1,1,1,1]
% 0.22/0.39  % (24452)Solution written to "/export/starexec/sandbox2/tmp/vampire-proof-24447"
% 0.22/0.39  TRYING [1,2,1,1,1,1]
% 0.22/0.39  % (24452)Refutation found. Thanks to Tanya!
% 0.22/0.39  % SZS status Theorem for theBenchmark
% 0.22/0.39  % SZS output start Proof for theBenchmark
% See solution above
% 0.22/0.39  % (24452)------------------------------
% 0.22/0.39  % (24452)Version: Vampire 4.8 (commit 3a798227e on 2024-05-03 07:42:47 +0200)
% 0.22/0.39  % (24452)Termination reason: Refutation
% 0.22/0.39  
% 0.22/0.39  % (24452)Memory used [KB]: 831
% 0.22/0.39  % (24452)Time elapsed: 0.007 s
% 0.22/0.39  % (24452)Instructions burned: 9 (million)
% 0.22/0.39  % (24447)Success in time 0.011 s
%------------------------------------------------------------------------------