TSTP Solution File: GRA002+4 by Metis---2.4

View Problem - Process Solution

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

% Computer : n019.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 : Sat Jul 16 07:19:50 EDT 2022

% Result   : Theorem 0.20s 0.40s
% Output   : CNFRefutation 0.20s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :   14
%            Number of leaves      :    9
% Syntax   : Number of formulae    :   53 (  21 unt;   0 def)
%            Number of atoms       :  118 (  33 equ)
%            Maximal formula atoms :   15 (   2 avg)
%            Number of connectives :  113 (  48   ~;  40   |;  12   &)
%                                         (   3 <=>;  10  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   12 (   4 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of predicates  :    7 (   4 usr;   2 prp; 0-3 aty)
%            Number of functors    :   11 (  11 usr;   7 con; 0-3 aty)
%            Number of variables   :   81 (   7 sgn  50   !;  12   ?)

% Comments : 
%------------------------------------------------------------------------------
fof(shortest_path_defn,axiom,
    ! [V1,V2,SP] :
      ( shortest_path(V1,V2,SP)
    <=> ( path(V1,V2,SP)
        & V1 != V2
        & ! [P] :
            ( path(V1,V2,P)
           => less_or_equal(length_of(SP),length_of(P)) ) ) ) ).

fof(path_length_sequential_pairs,axiom,
    ! [V1,V2,P] :
      ( path(V1,V2,P)
     => number_of_in(sequential_pairs,P) = minus(length_of(P),n1) ) ).

fof(graph_has_them_all,axiom,
    ! [Things,InThese] : less_or_equal(number_of_in(Things,InThese),number_of_in(Things,graph)) ).

fof(triangles_and_sequential_pairs,lemma,
    ( complete
   => ! [P,V1,V2] :
        ( shortest_path(V1,V2,P)
       => number_of_in(sequential_pairs,P) = number_of_in(triangles,P) ) ) ).

fof(maximal_path_length,conjecture,
    ( complete
   => ! [P,V1,V2] :
        ( shortest_path(V1,V2,P)
       => less_or_equal(minus(length_of(P),n1),number_of_in(triangles,graph)) ) ) ).

fof(subgoal_0,plain,
    ( complete
   => ! [P,V1,V2] :
        ( shortest_path(V1,V2,P)
       => less_or_equal(minus(length_of(P),n1),number_of_in(triangles,graph)) ) ),
    inference(strip,[],[maximal_path_length]) ).

fof(negate_0_0,plain,
    ~ ( complete
     => ! [P,V1,V2] :
          ( shortest_path(V1,V2,P)
         => less_or_equal(minus(length_of(P),n1),number_of_in(triangles,graph)) ) ),
    inference(negate,[],[subgoal_0]) ).

fof(normalize_0_0,plain,
    ! [InThese,Things] : less_or_equal(number_of_in(Things,InThese),number_of_in(Things,graph)),
    inference(canonicalize,[],[graph_has_them_all]) ).

fof(normalize_0_1,plain,
    ! [InThese,Things] : less_or_equal(number_of_in(Things,InThese),number_of_in(Things,graph)),
    inference(specialize,[],[normalize_0_0]) ).

fof(normalize_0_2,plain,
    ( complete
    & ? [P] :
        ( ~ less_or_equal(minus(length_of(P),n1),number_of_in(triangles,graph))
        & ? [V1,V2] : shortest_path(V1,V2,P) ) ),
    inference(canonicalize,[],[negate_0_0]) ).

fof(normalize_0_3,plain,
    ? [P] :
      ( ~ less_or_equal(minus(length_of(P),n1),number_of_in(triangles,graph))
      & ? [V1,V2] : shortest_path(V1,V2,P) ),
    inference(conjunct,[],[normalize_0_2]) ).

fof(normalize_0_4,plain,
    ( ~ less_or_equal(minus(length_of(skolemFOFtoCNF_P_1),n1),number_of_in(triangles,graph))
    & ? [V1,V2] : shortest_path(V1,V2,skolemFOFtoCNF_P_1) ),
    inference(skolemize,[],[normalize_0_3]) ).

fof(normalize_0_5,plain,
    ? [V1,V2] : shortest_path(V1,V2,skolemFOFtoCNF_P_1),
    inference(conjunct,[],[normalize_0_4]) ).

fof(normalize_0_6,plain,
    shortest_path(skolemFOFtoCNF_V1,skolemFOFtoCNF_V2,skolemFOFtoCNF_P_1),
    inference(skolemize,[],[normalize_0_5]) ).

fof(normalize_0_7,plain,
    ( ~ complete
    | ! [P] :
        ( number_of_in(sequential_pairs,P) = number_of_in(triangles,P)
        | ! [V1,V2] : ~ shortest_path(V1,V2,P) ) ),
    inference(canonicalize,[],[triangles_and_sequential_pairs]) ).

fof(normalize_0_8,plain,
    ! [P,V1,V2] :
      ( ~ complete
      | ~ shortest_path(V1,V2,P)
      | number_of_in(sequential_pairs,P) = number_of_in(triangles,P) ),
    inference(clausify,[],[normalize_0_7]) ).

fof(normalize_0_9,plain,
    complete,
    inference(conjunct,[],[normalize_0_2]) ).

fof(normalize_0_10,plain,
    ~ less_or_equal(minus(length_of(skolemFOFtoCNF_P_1),n1),number_of_in(triangles,graph)),
    inference(conjunct,[],[normalize_0_4]) ).

fof(normalize_0_11,plain,
    ! [SP,V1,V2] :
      ( ~ shortest_path(V1,V2,SP)
    <=> ( ~ path(V1,V2,SP)
        | V1 = V2
        | ? [P] :
            ( ~ less_or_equal(length_of(SP),length_of(P))
            & path(V1,V2,P) ) ) ),
    inference(canonicalize,[],[shortest_path_defn]) ).

fof(normalize_0_12,plain,
    ! [SP,V1,V2] :
      ( ~ shortest_path(V1,V2,SP)
    <=> ( ~ path(V1,V2,SP)
        | V1 = V2
        | ? [P] :
            ( ~ less_or_equal(length_of(SP),length_of(P))
            & path(V1,V2,P) ) ) ),
    inference(specialize,[],[normalize_0_11]) ).

fof(normalize_0_13,plain,
    ! [P,SP,V1,V2] :
      ( ( V1 != V2
        | ~ shortest_path(V1,V2,SP) )
      & ( ~ shortest_path(V1,V2,SP)
        | path(V1,V2,SP) )
      & ( ~ path(V1,V2,P)
        | ~ shortest_path(V1,V2,SP)
        | less_or_equal(length_of(SP),length_of(P)) )
      & ( ~ less_or_equal(length_of(SP),length_of(skolemFOFtoCNF_P(SP,V1,V2)))
        | ~ path(V1,V2,SP)
        | V1 = V2
        | shortest_path(V1,V2,SP) )
      & ( ~ path(V1,V2,SP)
        | V1 = V2
        | path(V1,V2,skolemFOFtoCNF_P(SP,V1,V2))
        | shortest_path(V1,V2,SP) ) ),
    inference(clausify,[],[normalize_0_12]) ).

fof(normalize_0_14,plain,
    ! [SP,V1,V2] :
      ( ~ shortest_path(V1,V2,SP)
      | path(V1,V2,SP) ),
    inference(conjunct,[],[normalize_0_13]) ).

fof(normalize_0_15,plain,
    ! [P,V1,V2] :
      ( ~ path(V1,V2,P)
      | number_of_in(sequential_pairs,P) = minus(length_of(P),n1) ),
    inference(canonicalize,[],[path_length_sequential_pairs]) ).

fof(normalize_0_16,plain,
    ! [P,V1,V2] :
      ( ~ path(V1,V2,P)
      | number_of_in(sequential_pairs,P) = minus(length_of(P),n1) ),
    inference(specialize,[],[normalize_0_15]) ).

cnf(refute_0_0,plain,
    less_or_equal(number_of_in(Things,InThese),number_of_in(Things,graph)),
    inference(canonicalize,[],[normalize_0_1]) ).

cnf(refute_0_1,plain,
    less_or_equal(number_of_in(triangles,skolemFOFtoCNF_P_1),number_of_in(triangles,graph)),
    inference(subst,[],[refute_0_0:[bind(InThese,$fot(skolemFOFtoCNF_P_1)),bind(Things,$fot(triangles))]]) ).

cnf(refute_0_2,plain,
    shortest_path(skolemFOFtoCNF_V1,skolemFOFtoCNF_V2,skolemFOFtoCNF_P_1),
    inference(canonicalize,[],[normalize_0_6]) ).

cnf(refute_0_3,plain,
    ( ~ complete
    | ~ shortest_path(V1,V2,P)
    | number_of_in(sequential_pairs,P) = number_of_in(triangles,P) ),
    inference(canonicalize,[],[normalize_0_8]) ).

cnf(refute_0_4,plain,
    complete,
    inference(canonicalize,[],[normalize_0_9]) ).

cnf(refute_0_5,plain,
    ( ~ shortest_path(V1,V2,P)
    | number_of_in(sequential_pairs,P) = number_of_in(triangles,P) ),
    inference(resolve,[$cnf( complete )],[refute_0_4,refute_0_3]) ).

cnf(refute_0_6,plain,
    ( ~ shortest_path(skolemFOFtoCNF_V1,skolemFOFtoCNF_V2,skolemFOFtoCNF_P_1)
    | number_of_in(sequential_pairs,skolemFOFtoCNF_P_1) = number_of_in(triangles,skolemFOFtoCNF_P_1) ),
    inference(subst,[],[refute_0_5:[bind(P,$fot(skolemFOFtoCNF_P_1)),bind(V1,$fot(skolemFOFtoCNF_V1)),bind(V2,$fot(skolemFOFtoCNF_V2))]]) ).

cnf(refute_0_7,plain,
    number_of_in(sequential_pairs,skolemFOFtoCNF_P_1) = number_of_in(triangles,skolemFOFtoCNF_P_1),
    inference(resolve,[$cnf( shortest_path(skolemFOFtoCNF_V1,skolemFOFtoCNF_V2,skolemFOFtoCNF_P_1) )],[refute_0_2,refute_0_6]) ).

cnf(refute_0_8,plain,
    X = X,
    introduced(tautology,[refl,[$fot(X)]]) ).

cnf(refute_0_9,plain,
    ( X != X
    | X != Y
    | Y = X ),
    introduced(tautology,[equality,[$cnf( $equal(X,X) ),[0],$fot(Y)]]) ).

cnf(refute_0_10,plain,
    ( X != Y
    | Y = X ),
    inference(resolve,[$cnf( $equal(X,X) )],[refute_0_8,refute_0_9]) ).

cnf(refute_0_11,plain,
    ( number_of_in(sequential_pairs,skolemFOFtoCNF_P_1) != number_of_in(triangles,skolemFOFtoCNF_P_1)
    | number_of_in(triangles,skolemFOFtoCNF_P_1) = number_of_in(sequential_pairs,skolemFOFtoCNF_P_1) ),
    inference(subst,[],[refute_0_10:[bind(X,$fot(number_of_in(sequential_pairs,skolemFOFtoCNF_P_1))),bind(Y,$fot(number_of_in(triangles,skolemFOFtoCNF_P_1)))]]) ).

cnf(refute_0_12,plain,
    number_of_in(triangles,skolemFOFtoCNF_P_1) = number_of_in(sequential_pairs,skolemFOFtoCNF_P_1),
    inference(resolve,[$cnf( $equal(number_of_in(sequential_pairs,skolemFOFtoCNF_P_1),number_of_in(triangles,skolemFOFtoCNF_P_1)) )],[refute_0_7,refute_0_11]) ).

cnf(refute_0_13,plain,
    ( number_of_in(triangles,skolemFOFtoCNF_P_1) != number_of_in(sequential_pairs,skolemFOFtoCNF_P_1)
    | ~ less_or_equal(number_of_in(triangles,skolemFOFtoCNF_P_1),number_of_in(triangles,graph))
    | less_or_equal(number_of_in(sequential_pairs,skolemFOFtoCNF_P_1),number_of_in(triangles,graph)) ),
    introduced(tautology,[equality,[$cnf( less_or_equal(number_of_in(triangles,skolemFOFtoCNF_P_1),number_of_in(triangles,graph)) ),[0],$fot(number_of_in(sequential_pairs,skolemFOFtoCNF_P_1))]]) ).

cnf(refute_0_14,plain,
    ( ~ less_or_equal(number_of_in(triangles,skolemFOFtoCNF_P_1),number_of_in(triangles,graph))
    | less_or_equal(number_of_in(sequential_pairs,skolemFOFtoCNF_P_1),number_of_in(triangles,graph)) ),
    inference(resolve,[$cnf( $equal(number_of_in(triangles,skolemFOFtoCNF_P_1),number_of_in(sequential_pairs,skolemFOFtoCNF_P_1)) )],[refute_0_12,refute_0_13]) ).

cnf(refute_0_15,plain,
    less_or_equal(number_of_in(sequential_pairs,skolemFOFtoCNF_P_1),number_of_in(triangles,graph)),
    inference(resolve,[$cnf( less_or_equal(number_of_in(triangles,skolemFOFtoCNF_P_1),number_of_in(triangles,graph)) )],[refute_0_1,refute_0_14]) ).

cnf(refute_0_16,plain,
    ~ less_or_equal(minus(length_of(skolemFOFtoCNF_P_1),n1),number_of_in(triangles,graph)),
    inference(canonicalize,[],[normalize_0_10]) ).

cnf(refute_0_17,plain,
    ( ~ shortest_path(V1,V2,SP)
    | path(V1,V2,SP) ),
    inference(canonicalize,[],[normalize_0_14]) ).

cnf(refute_0_18,plain,
    ( ~ shortest_path(skolemFOFtoCNF_V1,skolemFOFtoCNF_V2,skolemFOFtoCNF_P_1)
    | path(skolemFOFtoCNF_V1,skolemFOFtoCNF_V2,skolemFOFtoCNF_P_1) ),
    inference(subst,[],[refute_0_17:[bind(SP,$fot(skolemFOFtoCNF_P_1)),bind(V1,$fot(skolemFOFtoCNF_V1)),bind(V2,$fot(skolemFOFtoCNF_V2))]]) ).

cnf(refute_0_19,plain,
    path(skolemFOFtoCNF_V1,skolemFOFtoCNF_V2,skolemFOFtoCNF_P_1),
    inference(resolve,[$cnf( shortest_path(skolemFOFtoCNF_V1,skolemFOFtoCNF_V2,skolemFOFtoCNF_P_1) )],[refute_0_2,refute_0_18]) ).

cnf(refute_0_20,plain,
    ( ~ path(V1,V2,P)
    | number_of_in(sequential_pairs,P) = minus(length_of(P),n1) ),
    inference(canonicalize,[],[normalize_0_16]) ).

cnf(refute_0_21,plain,
    ( ~ path(skolemFOFtoCNF_V1,skolemFOFtoCNF_V2,skolemFOFtoCNF_P_1)
    | number_of_in(sequential_pairs,skolemFOFtoCNF_P_1) = minus(length_of(skolemFOFtoCNF_P_1),n1) ),
    inference(subst,[],[refute_0_20:[bind(P,$fot(skolemFOFtoCNF_P_1)),bind(V1,$fot(skolemFOFtoCNF_V1)),bind(V2,$fot(skolemFOFtoCNF_V2))]]) ).

cnf(refute_0_22,plain,
    number_of_in(sequential_pairs,skolemFOFtoCNF_P_1) = minus(length_of(skolemFOFtoCNF_P_1),n1),
    inference(resolve,[$cnf( path(skolemFOFtoCNF_V1,skolemFOFtoCNF_V2,skolemFOFtoCNF_P_1) )],[refute_0_19,refute_0_21]) ).

cnf(refute_0_23,plain,
    ( number_of_in(sequential_pairs,skolemFOFtoCNF_P_1) != minus(length_of(skolemFOFtoCNF_P_1),n1)
    | minus(length_of(skolemFOFtoCNF_P_1),n1) = number_of_in(sequential_pairs,skolemFOFtoCNF_P_1) ),
    inference(subst,[],[refute_0_10:[bind(X,$fot(number_of_in(sequential_pairs,skolemFOFtoCNF_P_1))),bind(Y,$fot(minus(length_of(skolemFOFtoCNF_P_1),n1)))]]) ).

cnf(refute_0_24,plain,
    minus(length_of(skolemFOFtoCNF_P_1),n1) = number_of_in(sequential_pairs,skolemFOFtoCNF_P_1),
    inference(resolve,[$cnf( $equal(number_of_in(sequential_pairs,skolemFOFtoCNF_P_1),minus(length_of(skolemFOFtoCNF_P_1),n1)) )],[refute_0_22,refute_0_23]) ).

cnf(refute_0_25,plain,
    ( minus(length_of(skolemFOFtoCNF_P_1),n1) != number_of_in(sequential_pairs,skolemFOFtoCNF_P_1)
    | ~ less_or_equal(number_of_in(sequential_pairs,skolemFOFtoCNF_P_1),number_of_in(triangles,graph))
    | less_or_equal(minus(length_of(skolemFOFtoCNF_P_1),n1),number_of_in(triangles,graph)) ),
    introduced(tautology,[equality,[$cnf( ~ less_or_equal(minus(length_of(skolemFOFtoCNF_P_1),n1),number_of_in(triangles,graph)) ),[0],$fot(number_of_in(sequential_pairs,skolemFOFtoCNF_P_1))]]) ).

cnf(refute_0_26,plain,
    ( ~ less_or_equal(number_of_in(sequential_pairs,skolemFOFtoCNF_P_1),number_of_in(triangles,graph))
    | less_or_equal(minus(length_of(skolemFOFtoCNF_P_1),n1),number_of_in(triangles,graph)) ),
    inference(resolve,[$cnf( $equal(minus(length_of(skolemFOFtoCNF_P_1),n1),number_of_in(sequential_pairs,skolemFOFtoCNF_P_1)) )],[refute_0_24,refute_0_25]) ).

cnf(refute_0_27,plain,
    ~ less_or_equal(number_of_in(sequential_pairs,skolemFOFtoCNF_P_1),number_of_in(triangles,graph)),
    inference(resolve,[$cnf( less_or_equal(minus(length_of(skolemFOFtoCNF_P_1),n1),number_of_in(triangles,graph)) )],[refute_0_26,refute_0_16]) ).

cnf(refute_0_28,plain,
    $false,
    inference(resolve,[$cnf( less_or_equal(number_of_in(sequential_pairs,skolemFOFtoCNF_P_1),number_of_in(triangles,graph)) )],[refute_0_15,refute_0_27]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.13  % Problem  : GRA002+4 : TPTP v8.1.0. Bugfixed v3.2.0.
% 0.07/0.14  % Command  : metis --show proof --show saturation %s
% 0.13/0.35  % Computer : n019.cluster.edu
% 0.13/0.35  % Model    : x86_64 x86_64
% 0.13/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.35  % Memory   : 8042.1875MB
% 0.13/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.35  % CPULimit : 300
% 0.13/0.35  % WCLimit  : 600
% 0.13/0.35  % DateTime : Tue May 31 02:29:10 EDT 2022
% 0.13/0.35  % CPUTime  : 
% 0.13/0.36  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 0.20/0.40  % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p
% 0.20/0.40  
% 0.20/0.40  % SZS output start CNFRefutation for /export/starexec/sandbox/benchmark/theBenchmark.p
% See solution above
% 0.20/0.41  
%------------------------------------------------------------------------------