TSTP Solution File: GRA003+1 by Metis---2.4
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Metis---2.4
% Problem : GRA003+1 : TPTP v8.1.0. Bugfixed v3.2.0.
% Transfm : none
% Format : tptp:raw
% Command : metis --show proof --show saturation %s
% Computer : n026.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 31.86s 32.01s
% Output : CNFRefutation 31.86s
% Verified :
% SZS Type : Refutation
% Derivation depth : 11
% Number of leaves : 13
% Syntax : Number of formulae : 193 ( 63 unt; 0 def)
% Number of atoms : 760 ( 137 equ)
% Maximal formula atoms : 25 ( 3 avg)
% Number of connectives : 907 ( 340 ~; 266 |; 257 &)
% ( 23 <=>; 21 =>; 0 <=; 0 <~>)
% Maximal formula depth : 18 ( 6 avg)
% Maximal term depth : 3 ( 1 avg)
% Number of predicates : 12 ( 9 usr; 1 prp; 0-3 aty)
% Number of functors : 44 ( 44 usr; 36 con; 0-3 aty)
% Number of variables : 436 ( 27 sgn 301 !; 59 ?)
% Comments :
%------------------------------------------------------------------------------
fof(path_properties,axiom,
! [V1,V2,P] :
( path(V1,V2,P)
=> ( vertex(V1)
& vertex(V2)
& ? [E] :
( edge(E)
& V1 = tail_of(E)
& ~ ( ( V2 = head_of(E)
& P = path_cons(E,empty) )
<=> ? [TP] :
( path(head_of(E),V2,TP)
& P = path_cons(E,TP) ) ) ) ) ) ).
fof(on_path_properties,axiom,
! [V1,V2,P,E] :
( ( path(V1,V2,P)
& on_path(E,P) )
=> ( edge(E)
& in_path(head_of(E),P)
& in_path(tail_of(E),P) ) ) ).
fof(precedes_properties,axiom,
! [P,V1,V2] :
( path(V1,V2,P)
=> ! [E1,E2] :
( precedes(E1,E2,P)
=> ( on_path(E1,P)
& on_path(E2,P)
& ~ ( sequential(E1,E2)
<=> ? [E3] :
( sequential(E1,E3)
& precedes(E3,E2,P) ) ) ) ) ) ).
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(shortest_path_properties,axiom,
! [V1,V2,E1,E2,P] :
( ( shortest_path(V1,V2,P)
& precedes(E1,E2,P) )
=> ( ~ ? [E3] :
( tail_of(E3) = tail_of(E1)
& head_of(E3) = head_of(E2) )
& ~ precedes(E2,E1,P) ) ) ).
fof(vertices_and_edges,conjecture,
! [V1,V2,E1,E2,P] :
( ( shortest_path(V1,V2,P)
& precedes(E1,E2,P) )
=> ( vertex(V1)
& vertex(V2)
& V1 != V2
& edge(E1)
& edge(E2)
& E1 != E2
& path(V1,V2,P) ) ) ).
fof(subgoal_0,plain,
! [V1,V2,E1,E2,P] :
( ( shortest_path(V1,V2,P)
& precedes(E1,E2,P) )
=> vertex(V1) ),
inference(strip,[],[vertices_and_edges]) ).
fof(subgoal_1,plain,
! [V1,V2,E1,E2,P] :
( ( shortest_path(V1,V2,P)
& precedes(E1,E2,P)
& vertex(V1) )
=> vertex(V2) ),
inference(strip,[],[vertices_and_edges]) ).
fof(subgoal_2,plain,
! [V1,V2,E1,E2,P] :
( ( shortest_path(V1,V2,P)
& precedes(E1,E2,P)
& vertex(V1)
& vertex(V2) )
=> V1 != V2 ),
inference(strip,[],[vertices_and_edges]) ).
fof(subgoal_3,plain,
! [V1,V2,E1,E2,P] :
( ( shortest_path(V1,V2,P)
& precedes(E1,E2,P)
& vertex(V1)
& vertex(V2)
& V1 != V2 )
=> edge(E1) ),
inference(strip,[],[vertices_and_edges]) ).
fof(subgoal_4,plain,
! [V1,V2,E1,E2,P] :
( ( shortest_path(V1,V2,P)
& precedes(E1,E2,P)
& vertex(V1)
& vertex(V2)
& V1 != V2
& edge(E1) )
=> edge(E2) ),
inference(strip,[],[vertices_and_edges]) ).
fof(subgoal_5,plain,
! [V1,V2,E1,E2,P] :
( ( shortest_path(V1,V2,P)
& precedes(E1,E2,P)
& vertex(V1)
& vertex(V2)
& V1 != V2
& edge(E1)
& edge(E2) )
=> E1 != E2 ),
inference(strip,[],[vertices_and_edges]) ).
fof(subgoal_6,plain,
! [V1,V2,E1,E2,P] :
( ( shortest_path(V1,V2,P)
& precedes(E1,E2,P)
& vertex(V1)
& vertex(V2)
& V1 != V2
& edge(E1)
& edge(E2)
& E1 != E2 )
=> path(V1,V2,P) ),
inference(strip,[],[vertices_and_edges]) ).
fof(negate_0_0,plain,
~ ! [V1,V2,E1,E2,P] :
( ( shortest_path(V1,V2,P)
& precedes(E1,E2,P) )
=> vertex(V1) ),
inference(negate,[],[subgoal_0]) ).
fof(normalize_0_0,plain,
! [P,V1,V2] :
( ~ path(V1,V2,P)
| ( vertex(V1)
& vertex(V2)
& ? [E] :
( V1 = tail_of(E)
& edge(E)
& ( ( P = path_cons(E,empty)
& V2 = head_of(E) )
<=> ! [TP] :
( P != path_cons(E,TP)
| ~ path(head_of(E),V2,TP) ) ) ) ) ),
inference(canonicalize,[],[path_properties]) ).
fof(normalize_0_1,plain,
! [P,V1,V2] :
( ~ path(V1,V2,P)
| ( vertex(V1)
& vertex(V2)
& ? [E] :
( V1 = tail_of(E)
& edge(E)
& ( ( P = path_cons(E,empty)
& V2 = head_of(E) )
<=> ! [TP] :
( P != path_cons(E,TP)
| ~ path(head_of(E),V2,TP) ) ) ) ) ),
inference(specialize,[],[normalize_0_0]) ).
fof(normalize_0_2,plain,
! [P,TP,V1,V2] :
( ( ~ path(V1,V2,P)
| V1 = tail_of(skolemFOFtoCNF_E_1(P,V1,V2)) )
& ( ~ path(V1,V2,P)
| edge(skolemFOFtoCNF_E_1(P,V1,V2)) )
& ( ~ path(V1,V2,P)
| vertex(V1) )
& ( ~ path(V1,V2,P)
| vertex(V2) )
& ( ~ path(V1,V2,P)
| P = path_cons(skolemFOFtoCNF_E_1(P,V1,V2),empty)
| P = path_cons(skolemFOFtoCNF_E_1(P,V1,V2),skolemFOFtoCNF_TP(P,V1,V2)) )
& ( ~ path(V1,V2,P)
| P = path_cons(skolemFOFtoCNF_E_1(P,V1,V2),empty)
| path(head_of(skolemFOFtoCNF_E_1(P,V1,V2)),V2,skolemFOFtoCNF_TP(P,V1,V2)) )
& ( ~ path(V1,V2,P)
| P = path_cons(skolemFOFtoCNF_E_1(P,V1,V2),skolemFOFtoCNF_TP(P,V1,V2))
| V2 = head_of(skolemFOFtoCNF_E_1(P,V1,V2)) )
& ( ~ path(V1,V2,P)
| V2 = head_of(skolemFOFtoCNF_E_1(P,V1,V2))
| path(head_of(skolemFOFtoCNF_E_1(P,V1,V2)),V2,skolemFOFtoCNF_TP(P,V1,V2)) )
& ( P != path_cons(skolemFOFtoCNF_E_1(P,V1,V2),TP)
| P != path_cons(skolemFOFtoCNF_E_1(P,V1,V2),empty)
| V2 != head_of(skolemFOFtoCNF_E_1(P,V1,V2))
| ~ path(V1,V2,P)
| ~ path(head_of(skolemFOFtoCNF_E_1(P,V1,V2)),V2,TP) ) ),
inference(clausify,[],[normalize_0_1]) ).
fof(normalize_0_3,plain,
! [P,V1,V2] :
( ~ path(V1,V2,P)
| vertex(V1) ),
inference(conjunct,[],[normalize_0_2]) ).
fof(normalize_0_4,plain,
? [E1,E2,P,V1,V2] :
( ~ vertex(V1)
& precedes(E1,E2,P)
& shortest_path(V1,V2,P) ),
inference(canonicalize,[],[negate_0_0]) ).
fof(normalize_0_5,plain,
( ~ vertex(skolemFOFtoCNF_V1)
& precedes(skolemFOFtoCNF_E1_1,skolemFOFtoCNF_E2_1,skolemFOFtoCNF_P_1)
& shortest_path(skolemFOFtoCNF_V1,skolemFOFtoCNF_V2,skolemFOFtoCNF_P_1) ),
inference(skolemize,[],[normalize_0_4]) ).
fof(normalize_0_6,plain,
shortest_path(skolemFOFtoCNF_V1,skolemFOFtoCNF_V2,skolemFOFtoCNF_P_1),
inference(conjunct,[],[normalize_0_5]) ).
fof(normalize_0_7,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_8,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_7]) ).
fof(normalize_0_9,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_8]) ).
fof(normalize_0_10,plain,
! [SP,V1,V2] :
( ~ shortest_path(V1,V2,SP)
| path(V1,V2,SP) ),
inference(conjunct,[],[normalize_0_9]) ).
fof(normalize_0_11,plain,
~ vertex(skolemFOFtoCNF_V1),
inference(conjunct,[],[normalize_0_5]) ).
cnf(refute_0_0,plain,
( ~ path(V1,V2,P)
| vertex(V1) ),
inference(canonicalize,[],[normalize_0_3]) ).
cnf(refute_0_1,plain,
( ~ path(skolemFOFtoCNF_V1,skolemFOFtoCNF_V2,skolemFOFtoCNF_P_1)
| vertex(skolemFOFtoCNF_V1) ),
inference(subst,[],[refute_0_0:[bind(P,$fot(skolemFOFtoCNF_P_1)),bind(V1,$fot(skolemFOFtoCNF_V1)),bind(V2,$fot(skolemFOFtoCNF_V2))]]) ).
cnf(refute_0_2,plain,
shortest_path(skolemFOFtoCNF_V1,skolemFOFtoCNF_V2,skolemFOFtoCNF_P_1),
inference(canonicalize,[],[normalize_0_6]) ).
cnf(refute_0_3,plain,
( ~ shortest_path(V1,V2,SP)
| path(V1,V2,SP) ),
inference(canonicalize,[],[normalize_0_10]) ).
cnf(refute_0_4,plain,
( ~ shortest_path(skolemFOFtoCNF_V1,skolemFOFtoCNF_V2,skolemFOFtoCNF_P_1)
| path(skolemFOFtoCNF_V1,skolemFOFtoCNF_V2,skolemFOFtoCNF_P_1) ),
inference(subst,[],[refute_0_3:[bind(SP,$fot(skolemFOFtoCNF_P_1)),bind(V1,$fot(skolemFOFtoCNF_V1)),bind(V2,$fot(skolemFOFtoCNF_V2))]]) ).
cnf(refute_0_5,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_4]) ).
cnf(refute_0_6,plain,
vertex(skolemFOFtoCNF_V1),
inference(resolve,[$cnf( path(skolemFOFtoCNF_V1,skolemFOFtoCNF_V2,skolemFOFtoCNF_P_1) )],[refute_0_5,refute_0_1]) ).
cnf(refute_0_7,plain,
~ vertex(skolemFOFtoCNF_V1),
inference(canonicalize,[],[normalize_0_11]) ).
cnf(refute_0_8,plain,
$false,
inference(resolve,[$cnf( vertex(skolemFOFtoCNF_V1) )],[refute_0_6,refute_0_7]) ).
fof(negate_1_0,plain,
~ ! [V1,V2,E1,E2,P] :
( ( shortest_path(V1,V2,P)
& precedes(E1,E2,P)
& vertex(V1) )
=> vertex(V2) ),
inference(negate,[],[subgoal_1]) ).
fof(normalize_1_0,plain,
! [P,V1,V2] :
( ~ path(V1,V2,P)
| ( vertex(V1)
& vertex(V2)
& ? [E] :
( V1 = tail_of(E)
& edge(E)
& ( ( P = path_cons(E,empty)
& V2 = head_of(E) )
<=> ! [TP] :
( P != path_cons(E,TP)
| ~ path(head_of(E),V2,TP) ) ) ) ) ),
inference(canonicalize,[],[path_properties]) ).
fof(normalize_1_1,plain,
! [P,V1,V2] :
( ~ path(V1,V2,P)
| ( vertex(V1)
& vertex(V2)
& ? [E] :
( V1 = tail_of(E)
& edge(E)
& ( ( P = path_cons(E,empty)
& V2 = head_of(E) )
<=> ! [TP] :
( P != path_cons(E,TP)
| ~ path(head_of(E),V2,TP) ) ) ) ) ),
inference(specialize,[],[normalize_1_0]) ).
fof(normalize_1_2,plain,
! [P,TP,V1,V2] :
( ( ~ path(V1,V2,P)
| V1 = tail_of(skolemFOFtoCNF_E_1(P,V1,V2)) )
& ( ~ path(V1,V2,P)
| edge(skolemFOFtoCNF_E_1(P,V1,V2)) )
& ( ~ path(V1,V2,P)
| vertex(V1) )
& ( ~ path(V1,V2,P)
| vertex(V2) )
& ( ~ path(V1,V2,P)
| P = path_cons(skolemFOFtoCNF_E_1(P,V1,V2),empty)
| P = path_cons(skolemFOFtoCNF_E_1(P,V1,V2),skolemFOFtoCNF_TP(P,V1,V2)) )
& ( ~ path(V1,V2,P)
| P = path_cons(skolemFOFtoCNF_E_1(P,V1,V2),empty)
| path(head_of(skolemFOFtoCNF_E_1(P,V1,V2)),V2,skolemFOFtoCNF_TP(P,V1,V2)) )
& ( ~ path(V1,V2,P)
| P = path_cons(skolemFOFtoCNF_E_1(P,V1,V2),skolemFOFtoCNF_TP(P,V1,V2))
| V2 = head_of(skolemFOFtoCNF_E_1(P,V1,V2)) )
& ( ~ path(V1,V2,P)
| V2 = head_of(skolemFOFtoCNF_E_1(P,V1,V2))
| path(head_of(skolemFOFtoCNF_E_1(P,V1,V2)),V2,skolemFOFtoCNF_TP(P,V1,V2)) )
& ( P != path_cons(skolemFOFtoCNF_E_1(P,V1,V2),TP)
| P != path_cons(skolemFOFtoCNF_E_1(P,V1,V2),empty)
| V2 != head_of(skolemFOFtoCNF_E_1(P,V1,V2))
| ~ path(V1,V2,P)
| ~ path(head_of(skolemFOFtoCNF_E_1(P,V1,V2)),V2,TP) ) ),
inference(clausify,[],[normalize_1_1]) ).
fof(normalize_1_3,plain,
! [P,V1,V2] :
( ~ path(V1,V2,P)
| vertex(V2) ),
inference(conjunct,[],[normalize_1_2]) ).
fof(normalize_1_4,plain,
? [E1,E2,P,V1,V2] :
( ~ vertex(V2)
& precedes(E1,E2,P)
& shortest_path(V1,V2,P)
& vertex(V1) ),
inference(canonicalize,[],[negate_1_0]) ).
fof(normalize_1_5,plain,
( ~ vertex(skolemFOFtoCNF_V2_1)
& precedes(skolemFOFtoCNF_E1_2,skolemFOFtoCNF_E2_2,skolemFOFtoCNF_P_2)
& shortest_path(skolemFOFtoCNF_V1_1,skolemFOFtoCNF_V2_1,skolemFOFtoCNF_P_2)
& vertex(skolemFOFtoCNF_V1_1) ),
inference(skolemize,[],[normalize_1_4]) ).
fof(normalize_1_6,plain,
shortest_path(skolemFOFtoCNF_V1_1,skolemFOFtoCNF_V2_1,skolemFOFtoCNF_P_2),
inference(conjunct,[],[normalize_1_5]) ).
fof(normalize_1_7,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_1_8,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_1_7]) ).
fof(normalize_1_9,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_1_8]) ).
fof(normalize_1_10,plain,
! [SP,V1,V2] :
( ~ shortest_path(V1,V2,SP)
| path(V1,V2,SP) ),
inference(conjunct,[],[normalize_1_9]) ).
fof(normalize_1_11,plain,
~ vertex(skolemFOFtoCNF_V2_1),
inference(conjunct,[],[normalize_1_5]) ).
cnf(refute_1_0,plain,
( ~ path(V1,V2,P)
| vertex(V2) ),
inference(canonicalize,[],[normalize_1_3]) ).
cnf(refute_1_1,plain,
( ~ path(skolemFOFtoCNF_V1_1,skolemFOFtoCNF_V2_1,skolemFOFtoCNF_P_2)
| vertex(skolemFOFtoCNF_V2_1) ),
inference(subst,[],[refute_1_0:[bind(P,$fot(skolemFOFtoCNF_P_2)),bind(V1,$fot(skolemFOFtoCNF_V1_1)),bind(V2,$fot(skolemFOFtoCNF_V2_1))]]) ).
cnf(refute_1_2,plain,
shortest_path(skolemFOFtoCNF_V1_1,skolemFOFtoCNF_V2_1,skolemFOFtoCNF_P_2),
inference(canonicalize,[],[normalize_1_6]) ).
cnf(refute_1_3,plain,
( ~ shortest_path(V1,V2,SP)
| path(V1,V2,SP) ),
inference(canonicalize,[],[normalize_1_10]) ).
cnf(refute_1_4,plain,
( ~ shortest_path(skolemFOFtoCNF_V1_1,skolemFOFtoCNF_V2_1,skolemFOFtoCNF_P_2)
| path(skolemFOFtoCNF_V1_1,skolemFOFtoCNF_V2_1,skolemFOFtoCNF_P_2) ),
inference(subst,[],[refute_1_3:[bind(SP,$fot(skolemFOFtoCNF_P_2)),bind(V1,$fot(skolemFOFtoCNF_V1_1)),bind(V2,$fot(skolemFOFtoCNF_V2_1))]]) ).
cnf(refute_1_5,plain,
path(skolemFOFtoCNF_V1_1,skolemFOFtoCNF_V2_1,skolemFOFtoCNF_P_2),
inference(resolve,[$cnf( shortest_path(skolemFOFtoCNF_V1_1,skolemFOFtoCNF_V2_1,skolemFOFtoCNF_P_2) )],[refute_1_2,refute_1_4]) ).
cnf(refute_1_6,plain,
vertex(skolemFOFtoCNF_V2_1),
inference(resolve,[$cnf( path(skolemFOFtoCNF_V1_1,skolemFOFtoCNF_V2_1,skolemFOFtoCNF_P_2) )],[refute_1_5,refute_1_1]) ).
cnf(refute_1_7,plain,
~ vertex(skolemFOFtoCNF_V2_1),
inference(canonicalize,[],[normalize_1_11]) ).
cnf(refute_1_8,plain,
$false,
inference(resolve,[$cnf( vertex(skolemFOFtoCNF_V2_1) )],[refute_1_6,refute_1_7]) ).
fof(negate_2_0,plain,
~ ! [V1,V2,E1,E2,P] :
( ( shortest_path(V1,V2,P)
& precedes(E1,E2,P)
& vertex(V1)
& vertex(V2) )
=> V1 != V2 ),
inference(negate,[],[subgoal_2]) ).
fof(normalize_2_0,plain,
? [E1,E2,P,V1,V2] :
( V1 = V2
& precedes(E1,E2,P)
& shortest_path(V1,V2,P)
& vertex(V1)
& vertex(V2) ),
inference(canonicalize,[],[negate_2_0]) ).
fof(normalize_2_1,plain,
( skolemFOFtoCNF_V1_2 = skolemFOFtoCNF_V2_2
& precedes(skolemFOFtoCNF_E1_3,skolemFOFtoCNF_E2_3,skolemFOFtoCNF_P_3)
& shortest_path(skolemFOFtoCNF_V1_2,skolemFOFtoCNF_V2_2,skolemFOFtoCNF_P_3)
& vertex(skolemFOFtoCNF_V1_2)
& vertex(skolemFOFtoCNF_V2_2) ),
inference(skolemize,[],[normalize_2_0]) ).
fof(normalize_2_2,plain,
shortest_path(skolemFOFtoCNF_V1_2,skolemFOFtoCNF_V2_2,skolemFOFtoCNF_P_3),
inference(conjunct,[],[normalize_2_1]) ).
fof(normalize_2_3,plain,
skolemFOFtoCNF_V1_2 = skolemFOFtoCNF_V2_2,
inference(conjunct,[],[normalize_2_1]) ).
fof(normalize_2_4,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_2_5,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_2_4]) ).
fof(normalize_2_6,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_2_5]) ).
fof(normalize_2_7,plain,
! [SP,V1,V2] :
( V1 != V2
| ~ shortest_path(V1,V2,SP) ),
inference(conjunct,[],[normalize_2_6]) ).
cnf(refute_2_0,plain,
shortest_path(skolemFOFtoCNF_V1_2,skolemFOFtoCNF_V2_2,skolemFOFtoCNF_P_3),
inference(canonicalize,[],[normalize_2_2]) ).
cnf(refute_2_1,plain,
skolemFOFtoCNF_V1_2 = skolemFOFtoCNF_V2_2,
inference(canonicalize,[],[normalize_2_3]) ).
cnf(refute_2_2,plain,
X = X,
introduced(tautology,[refl,[$fot(X)]]) ).
cnf(refute_2_3,plain,
( X != X
| X != Y
| Y = X ),
introduced(tautology,[equality,[$cnf( $equal(X,X) ),[0],$fot(Y)]]) ).
cnf(refute_2_4,plain,
( X != Y
| Y = X ),
inference(resolve,[$cnf( $equal(X,X) )],[refute_2_2,refute_2_3]) ).
cnf(refute_2_5,plain,
( skolemFOFtoCNF_V1_2 != skolemFOFtoCNF_V2_2
| skolemFOFtoCNF_V2_2 = skolemFOFtoCNF_V1_2 ),
inference(subst,[],[refute_2_4:[bind(X,$fot(skolemFOFtoCNF_V1_2)),bind(Y,$fot(skolemFOFtoCNF_V2_2))]]) ).
cnf(refute_2_6,plain,
skolemFOFtoCNF_V2_2 = skolemFOFtoCNF_V1_2,
inference(resolve,[$cnf( $equal(skolemFOFtoCNF_V1_2,skolemFOFtoCNF_V2_2) )],[refute_2_1,refute_2_5]) ).
cnf(refute_2_7,plain,
( skolemFOFtoCNF_V2_2 != skolemFOFtoCNF_V1_2
| ~ shortest_path(skolemFOFtoCNF_V1_2,skolemFOFtoCNF_V2_2,skolemFOFtoCNF_P_3)
| shortest_path(skolemFOFtoCNF_V1_2,skolemFOFtoCNF_V1_2,skolemFOFtoCNF_P_3) ),
introduced(tautology,[equality,[$cnf( shortest_path(skolemFOFtoCNF_V1_2,skolemFOFtoCNF_V2_2,skolemFOFtoCNF_P_3) ),[1],$fot(skolemFOFtoCNF_V1_2)]]) ).
cnf(refute_2_8,plain,
( ~ shortest_path(skolemFOFtoCNF_V1_2,skolemFOFtoCNF_V2_2,skolemFOFtoCNF_P_3)
| shortest_path(skolemFOFtoCNF_V1_2,skolemFOFtoCNF_V1_2,skolemFOFtoCNF_P_3) ),
inference(resolve,[$cnf( $equal(skolemFOFtoCNF_V2_2,skolemFOFtoCNF_V1_2) )],[refute_2_6,refute_2_7]) ).
cnf(refute_2_9,plain,
shortest_path(skolemFOFtoCNF_V1_2,skolemFOFtoCNF_V1_2,skolemFOFtoCNF_P_3),
inference(resolve,[$cnf( shortest_path(skolemFOFtoCNF_V1_2,skolemFOFtoCNF_V2_2,skolemFOFtoCNF_P_3) )],[refute_2_0,refute_2_8]) ).
cnf(refute_2_10,plain,
( V1 != V2
| ~ shortest_path(V1,V2,SP) ),
inference(canonicalize,[],[normalize_2_7]) ).
cnf(refute_2_11,plain,
( V2 != V2
| ~ shortest_path(V2,V2,SP) ),
inference(subst,[],[refute_2_10:[bind(V1,$fot(V2))]]) ).
cnf(refute_2_12,plain,
V2 = V2,
introduced(tautology,[refl,[$fot(V2)]]) ).
cnf(refute_2_13,plain,
~ shortest_path(V2,V2,SP),
inference(resolve,[$cnf( $equal(V2,V2) )],[refute_2_12,refute_2_11]) ).
cnf(refute_2_14,plain,
~ shortest_path(skolemFOFtoCNF_V1_2,skolemFOFtoCNF_V1_2,skolemFOFtoCNF_P_3),
inference(subst,[],[refute_2_13:[bind(SP,$fot(skolemFOFtoCNF_P_3)),bind(V2,$fot(skolemFOFtoCNF_V1_2))]]) ).
cnf(refute_2_15,plain,
$false,
inference(resolve,[$cnf( shortest_path(skolemFOFtoCNF_V1_2,skolemFOFtoCNF_V1_2,skolemFOFtoCNF_P_3) )],[refute_2_9,refute_2_14]) ).
fof(negate_3_0,plain,
~ ! [V1,V2,E1,E2,P] :
( ( shortest_path(V1,V2,P)
& precedes(E1,E2,P)
& vertex(V1)
& vertex(V2)
& V1 != V2 )
=> edge(E1) ),
inference(negate,[],[subgoal_3]) ).
fof(normalize_3_0,plain,
? [E1,E2,P,V1,V2] :
( V1 != V2
& ~ edge(E1)
& precedes(E1,E2,P)
& shortest_path(V1,V2,P)
& vertex(V1)
& vertex(V2) ),
inference(canonicalize,[],[negate_3_0]) ).
fof(normalize_3_1,plain,
( skolemFOFtoCNF_V1_3 != skolemFOFtoCNF_V2_3
& ~ edge(skolemFOFtoCNF_E1_4)
& precedes(skolemFOFtoCNF_E1_4,skolemFOFtoCNF_E2_4,skolemFOFtoCNF_P_4)
& shortest_path(skolemFOFtoCNF_V1_3,skolemFOFtoCNF_V2_3,skolemFOFtoCNF_P_4)
& vertex(skolemFOFtoCNF_V1_3)
& vertex(skolemFOFtoCNF_V2_3) ),
inference(skolemize,[],[normalize_3_0]) ).
fof(normalize_3_2,plain,
shortest_path(skolemFOFtoCNF_V1_3,skolemFOFtoCNF_V2_3,skolemFOFtoCNF_P_4),
inference(conjunct,[],[normalize_3_1]) ).
fof(normalize_3_3,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_3_4,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_3_3]) ).
fof(normalize_3_5,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_3_4]) ).
fof(normalize_3_6,plain,
! [SP,V1,V2] :
( ~ shortest_path(V1,V2,SP)
| path(V1,V2,SP) ),
inference(conjunct,[],[normalize_3_5]) ).
fof(normalize_3_7,plain,
! [E,P,V1,V2] :
( ~ on_path(E,P)
| ~ path(V1,V2,P)
| ( edge(E)
& in_path(head_of(E),P)
& in_path(tail_of(E),P) ) ),
inference(canonicalize,[],[on_path_properties]) ).
fof(normalize_3_8,plain,
! [E,P,V1,V2] :
( ~ on_path(E,P)
| ~ path(V1,V2,P)
| ( edge(E)
& in_path(head_of(E),P)
& in_path(tail_of(E),P) ) ),
inference(specialize,[],[normalize_3_7]) ).
fof(normalize_3_9,plain,
! [E,P,V1,V2] :
( ( ~ on_path(E,P)
| ~ path(V1,V2,P)
| edge(E) )
& ( ~ on_path(E,P)
| ~ path(V1,V2,P)
| in_path(head_of(E),P) )
& ( ~ on_path(E,P)
| ~ path(V1,V2,P)
| in_path(tail_of(E),P) ) ),
inference(clausify,[],[normalize_3_8]) ).
fof(normalize_3_10,plain,
! [E,P,V1,V2] :
( ~ on_path(E,P)
| ~ path(V1,V2,P)
| edge(E) ),
inference(conjunct,[],[normalize_3_9]) ).
fof(normalize_3_11,plain,
precedes(skolemFOFtoCNF_E1_4,skolemFOFtoCNF_E2_4,skolemFOFtoCNF_P_4),
inference(conjunct,[],[normalize_3_1]) ).
fof(normalize_3_12,plain,
! [P] :
( ! [E1,E2] :
( ~ precedes(E1,E2,P)
| ( on_path(E1,P)
& on_path(E2,P)
& ( ~ sequential(E1,E2)
<=> ? [E3] :
( precedes(E3,E2,P)
& sequential(E1,E3) ) ) ) )
| ! [V1,V2] : ~ path(V1,V2,P) ),
inference(canonicalize,[],[precedes_properties]) ).
fof(normalize_3_13,plain,
! [P] :
( ! [E1,E2] :
( ~ precedes(E1,E2,P)
| ( on_path(E1,P)
& on_path(E2,P)
& ( ~ sequential(E1,E2)
<=> ? [E3] :
( precedes(E3,E2,P)
& sequential(E1,E3) ) ) ) )
| ! [V1,V2] : ~ path(V1,V2,P) ),
inference(specialize,[],[normalize_3_12]) ).
fof(normalize_3_14,plain,
! [E1,E2,E3,P,V1,V2] :
( ( ~ path(V1,V2,P)
| ~ precedes(E1,E2,P)
| on_path(E1,P) )
& ( ~ path(V1,V2,P)
| ~ precedes(E1,E2,P)
| on_path(E2,P) )
& ( ~ path(V1,V2,P)
| ~ precedes(E1,E2,P)
| precedes(skolemFOFtoCNF_E3(E1,E2,P),E2,P)
| sequential(E1,E2) )
& ( ~ path(V1,V2,P)
| ~ precedes(E1,E2,P)
| sequential(E1,E2)
| sequential(E1,skolemFOFtoCNF_E3(E1,E2,P)) )
& ( ~ path(V1,V2,P)
| ~ precedes(E1,E2,P)
| ~ precedes(E3,E2,P)
| ~ sequential(E1,E2)
| ~ sequential(E1,E3) ) ),
inference(clausify,[],[normalize_3_13]) ).
fof(normalize_3_15,plain,
! [E1,E2,P,V1,V2] :
( ~ path(V1,V2,P)
| ~ precedes(E1,E2,P)
| on_path(E1,P) ),
inference(conjunct,[],[normalize_3_14]) ).
fof(normalize_3_16,plain,
~ edge(skolemFOFtoCNF_E1_4),
inference(conjunct,[],[normalize_3_1]) ).
cnf(refute_3_0,plain,
shortest_path(skolemFOFtoCNF_V1_3,skolemFOFtoCNF_V2_3,skolemFOFtoCNF_P_4),
inference(canonicalize,[],[normalize_3_2]) ).
cnf(refute_3_1,plain,
( ~ shortest_path(V1,V2,SP)
| path(V1,V2,SP) ),
inference(canonicalize,[],[normalize_3_6]) ).
cnf(refute_3_2,plain,
( ~ shortest_path(skolemFOFtoCNF_V1_3,skolemFOFtoCNF_V2_3,skolemFOFtoCNF_P_4)
| path(skolemFOFtoCNF_V1_3,skolemFOFtoCNF_V2_3,skolemFOFtoCNF_P_4) ),
inference(subst,[],[refute_3_1:[bind(SP,$fot(skolemFOFtoCNF_P_4)),bind(V1,$fot(skolemFOFtoCNF_V1_3)),bind(V2,$fot(skolemFOFtoCNF_V2_3))]]) ).
cnf(refute_3_3,plain,
path(skolemFOFtoCNF_V1_3,skolemFOFtoCNF_V2_3,skolemFOFtoCNF_P_4),
inference(resolve,[$cnf( shortest_path(skolemFOFtoCNF_V1_3,skolemFOFtoCNF_V2_3,skolemFOFtoCNF_P_4) )],[refute_3_0,refute_3_2]) ).
cnf(refute_3_4,plain,
( ~ on_path(E,P)
| ~ path(V1,V2,P)
| edge(E) ),
inference(canonicalize,[],[normalize_3_10]) ).
cnf(refute_3_5,plain,
( ~ on_path(X_141,skolemFOFtoCNF_P_4)
| ~ path(skolemFOFtoCNF_V1_3,skolemFOFtoCNF_V2_3,skolemFOFtoCNF_P_4)
| edge(X_141) ),
inference(subst,[],[refute_3_4:[bind(E,$fot(X_141)),bind(P,$fot(skolemFOFtoCNF_P_4)),bind(V1,$fot(skolemFOFtoCNF_V1_3)),bind(V2,$fot(skolemFOFtoCNF_V2_3))]]) ).
cnf(refute_3_6,plain,
( ~ on_path(X_141,skolemFOFtoCNF_P_4)
| edge(X_141) ),
inference(resolve,[$cnf( path(skolemFOFtoCNF_V1_3,skolemFOFtoCNF_V2_3,skolemFOFtoCNF_P_4) )],[refute_3_3,refute_3_5]) ).
cnf(refute_3_7,plain,
( ~ on_path(skolemFOFtoCNF_E1_4,skolemFOFtoCNF_P_4)
| edge(skolemFOFtoCNF_E1_4) ),
inference(subst,[],[refute_3_6:[bind(X_141,$fot(skolemFOFtoCNF_E1_4))]]) ).
cnf(refute_3_8,plain,
precedes(skolemFOFtoCNF_E1_4,skolemFOFtoCNF_E2_4,skolemFOFtoCNF_P_4),
inference(canonicalize,[],[normalize_3_11]) ).
cnf(refute_3_9,plain,
( ~ path(V1,V2,P)
| ~ precedes(E1,E2,P)
| on_path(E1,P) ),
inference(canonicalize,[],[normalize_3_15]) ).
cnf(refute_3_10,plain,
( ~ path(X_202,X_203,skolemFOFtoCNF_P_4)
| ~ precedes(skolemFOFtoCNF_E1_4,skolemFOFtoCNF_E2_4,skolemFOFtoCNF_P_4)
| on_path(skolemFOFtoCNF_E1_4,skolemFOFtoCNF_P_4) ),
inference(subst,[],[refute_3_9:[bind(E1,$fot(skolemFOFtoCNF_E1_4)),bind(E2,$fot(skolemFOFtoCNF_E2_4)),bind(P,$fot(skolemFOFtoCNF_P_4)),bind(V1,$fot(X_202)),bind(V2,$fot(X_203))]]) ).
cnf(refute_3_11,plain,
( ~ path(X_202,X_203,skolemFOFtoCNF_P_4)
| on_path(skolemFOFtoCNF_E1_4,skolemFOFtoCNF_P_4) ),
inference(resolve,[$cnf( precedes(skolemFOFtoCNF_E1_4,skolemFOFtoCNF_E2_4,skolemFOFtoCNF_P_4) )],[refute_3_8,refute_3_10]) ).
cnf(refute_3_12,plain,
( ~ path(skolemFOFtoCNF_V1_3,skolemFOFtoCNF_V2_3,skolemFOFtoCNF_P_4)
| on_path(skolemFOFtoCNF_E1_4,skolemFOFtoCNF_P_4) ),
inference(subst,[],[refute_3_11:[bind(X_202,$fot(skolemFOFtoCNF_V1_3)),bind(X_203,$fot(skolemFOFtoCNF_V2_3))]]) ).
cnf(refute_3_13,plain,
on_path(skolemFOFtoCNF_E1_4,skolemFOFtoCNF_P_4),
inference(resolve,[$cnf( path(skolemFOFtoCNF_V1_3,skolemFOFtoCNF_V2_3,skolemFOFtoCNF_P_4) )],[refute_3_3,refute_3_12]) ).
cnf(refute_3_14,plain,
edge(skolemFOFtoCNF_E1_4),
inference(resolve,[$cnf( on_path(skolemFOFtoCNF_E1_4,skolemFOFtoCNF_P_4) )],[refute_3_13,refute_3_7]) ).
cnf(refute_3_15,plain,
~ edge(skolemFOFtoCNF_E1_4),
inference(canonicalize,[],[normalize_3_16]) ).
cnf(refute_3_16,plain,
$false,
inference(resolve,[$cnf( edge(skolemFOFtoCNF_E1_4) )],[refute_3_14,refute_3_15]) ).
fof(negate_4_0,plain,
~ ! [V1,V2,E1,E2,P] :
( ( shortest_path(V1,V2,P)
& precedes(E1,E2,P)
& vertex(V1)
& vertex(V2)
& V1 != V2
& edge(E1) )
=> edge(E2) ),
inference(negate,[],[subgoal_4]) ).
fof(normalize_4_0,plain,
? [E1,E2,P,V1,V2] :
( V1 != V2
& ~ edge(E2)
& edge(E1)
& precedes(E1,E2,P)
& shortest_path(V1,V2,P)
& vertex(V1)
& vertex(V2) ),
inference(canonicalize,[],[negate_4_0]) ).
fof(normalize_4_1,plain,
( skolemFOFtoCNF_V1_4 != skolemFOFtoCNF_V2_4
& ~ edge(skolemFOFtoCNF_E2_5)
& edge(skolemFOFtoCNF_E1_5)
& precedes(skolemFOFtoCNF_E1_5,skolemFOFtoCNF_E2_5,skolemFOFtoCNF_P_5)
& shortest_path(skolemFOFtoCNF_V1_4,skolemFOFtoCNF_V2_4,skolemFOFtoCNF_P_5)
& vertex(skolemFOFtoCNF_V1_4)
& vertex(skolemFOFtoCNF_V2_4) ),
inference(skolemize,[],[normalize_4_0]) ).
fof(normalize_4_2,plain,
shortest_path(skolemFOFtoCNF_V1_4,skolemFOFtoCNF_V2_4,skolemFOFtoCNF_P_5),
inference(conjunct,[],[normalize_4_1]) ).
fof(normalize_4_3,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_4_4,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_4_3]) ).
fof(normalize_4_5,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_4_4]) ).
fof(normalize_4_6,plain,
! [SP,V1,V2] :
( ~ shortest_path(V1,V2,SP)
| path(V1,V2,SP) ),
inference(conjunct,[],[normalize_4_5]) ).
fof(normalize_4_7,plain,
! [E,P,V1,V2] :
( ~ on_path(E,P)
| ~ path(V1,V2,P)
| ( edge(E)
& in_path(head_of(E),P)
& in_path(tail_of(E),P) ) ),
inference(canonicalize,[],[on_path_properties]) ).
fof(normalize_4_8,plain,
! [E,P,V1,V2] :
( ~ on_path(E,P)
| ~ path(V1,V2,P)
| ( edge(E)
& in_path(head_of(E),P)
& in_path(tail_of(E),P) ) ),
inference(specialize,[],[normalize_4_7]) ).
fof(normalize_4_9,plain,
! [E,P,V1,V2] :
( ( ~ on_path(E,P)
| ~ path(V1,V2,P)
| edge(E) )
& ( ~ on_path(E,P)
| ~ path(V1,V2,P)
| in_path(head_of(E),P) )
& ( ~ on_path(E,P)
| ~ path(V1,V2,P)
| in_path(tail_of(E),P) ) ),
inference(clausify,[],[normalize_4_8]) ).
fof(normalize_4_10,plain,
! [E,P,V1,V2] :
( ~ on_path(E,P)
| ~ path(V1,V2,P)
| edge(E) ),
inference(conjunct,[],[normalize_4_9]) ).
fof(normalize_4_11,plain,
precedes(skolemFOFtoCNF_E1_5,skolemFOFtoCNF_E2_5,skolemFOFtoCNF_P_5),
inference(conjunct,[],[normalize_4_1]) ).
fof(normalize_4_12,plain,
! [P] :
( ! [E1,E2] :
( ~ precedes(E1,E2,P)
| ( on_path(E1,P)
& on_path(E2,P)
& ( ~ sequential(E1,E2)
<=> ? [E3] :
( precedes(E3,E2,P)
& sequential(E1,E3) ) ) ) )
| ! [V1,V2] : ~ path(V1,V2,P) ),
inference(canonicalize,[],[precedes_properties]) ).
fof(normalize_4_13,plain,
! [P] :
( ! [E1,E2] :
( ~ precedes(E1,E2,P)
| ( on_path(E1,P)
& on_path(E2,P)
& ( ~ sequential(E1,E2)
<=> ? [E3] :
( precedes(E3,E2,P)
& sequential(E1,E3) ) ) ) )
| ! [V1,V2] : ~ path(V1,V2,P) ),
inference(specialize,[],[normalize_4_12]) ).
fof(normalize_4_14,plain,
! [E1,E2,E3,P,V1,V2] :
( ( ~ path(V1,V2,P)
| ~ precedes(E1,E2,P)
| on_path(E1,P) )
& ( ~ path(V1,V2,P)
| ~ precedes(E1,E2,P)
| on_path(E2,P) )
& ( ~ path(V1,V2,P)
| ~ precedes(E1,E2,P)
| precedes(skolemFOFtoCNF_E3(E1,E2,P),E2,P)
| sequential(E1,E2) )
& ( ~ path(V1,V2,P)
| ~ precedes(E1,E2,P)
| sequential(E1,E2)
| sequential(E1,skolemFOFtoCNF_E3(E1,E2,P)) )
& ( ~ path(V1,V2,P)
| ~ precedes(E1,E2,P)
| ~ precedes(E3,E2,P)
| ~ sequential(E1,E2)
| ~ sequential(E1,E3) ) ),
inference(clausify,[],[normalize_4_13]) ).
fof(normalize_4_15,plain,
! [E1,E2,P,V1,V2] :
( ~ path(V1,V2,P)
| ~ precedes(E1,E2,P)
| on_path(E2,P) ),
inference(conjunct,[],[normalize_4_14]) ).
fof(normalize_4_16,plain,
~ edge(skolemFOFtoCNF_E2_5),
inference(conjunct,[],[normalize_4_1]) ).
cnf(refute_4_0,plain,
shortest_path(skolemFOFtoCNF_V1_4,skolemFOFtoCNF_V2_4,skolemFOFtoCNF_P_5),
inference(canonicalize,[],[normalize_4_2]) ).
cnf(refute_4_1,plain,
( ~ shortest_path(V1,V2,SP)
| path(V1,V2,SP) ),
inference(canonicalize,[],[normalize_4_6]) ).
cnf(refute_4_2,plain,
( ~ shortest_path(skolemFOFtoCNF_V1_4,skolemFOFtoCNF_V2_4,skolemFOFtoCNF_P_5)
| path(skolemFOFtoCNF_V1_4,skolemFOFtoCNF_V2_4,skolemFOFtoCNF_P_5) ),
inference(subst,[],[refute_4_1:[bind(SP,$fot(skolemFOFtoCNF_P_5)),bind(V1,$fot(skolemFOFtoCNF_V1_4)),bind(V2,$fot(skolemFOFtoCNF_V2_4))]]) ).
cnf(refute_4_3,plain,
path(skolemFOFtoCNF_V1_4,skolemFOFtoCNF_V2_4,skolemFOFtoCNF_P_5),
inference(resolve,[$cnf( shortest_path(skolemFOFtoCNF_V1_4,skolemFOFtoCNF_V2_4,skolemFOFtoCNF_P_5) )],[refute_4_0,refute_4_2]) ).
cnf(refute_4_4,plain,
( ~ on_path(E,P)
| ~ path(V1,V2,P)
| edge(E) ),
inference(canonicalize,[],[normalize_4_10]) ).
cnf(refute_4_5,plain,
( ~ on_path(X_265,skolemFOFtoCNF_P_5)
| ~ path(skolemFOFtoCNF_V1_4,skolemFOFtoCNF_V2_4,skolemFOFtoCNF_P_5)
| edge(X_265) ),
inference(subst,[],[refute_4_4:[bind(E,$fot(X_265)),bind(P,$fot(skolemFOFtoCNF_P_5)),bind(V1,$fot(skolemFOFtoCNF_V1_4)),bind(V2,$fot(skolemFOFtoCNF_V2_4))]]) ).
cnf(refute_4_6,plain,
( ~ on_path(X_265,skolemFOFtoCNF_P_5)
| edge(X_265) ),
inference(resolve,[$cnf( path(skolemFOFtoCNF_V1_4,skolemFOFtoCNF_V2_4,skolemFOFtoCNF_P_5) )],[refute_4_3,refute_4_5]) ).
cnf(refute_4_7,plain,
( ~ on_path(skolemFOFtoCNF_E2_5,skolemFOFtoCNF_P_5)
| edge(skolemFOFtoCNF_E2_5) ),
inference(subst,[],[refute_4_6:[bind(X_265,$fot(skolemFOFtoCNF_E2_5))]]) ).
cnf(refute_4_8,plain,
precedes(skolemFOFtoCNF_E1_5,skolemFOFtoCNF_E2_5,skolemFOFtoCNF_P_5),
inference(canonicalize,[],[normalize_4_11]) ).
cnf(refute_4_9,plain,
( ~ path(V1,V2,P)
| ~ precedes(E1,E2,P)
| on_path(E2,P) ),
inference(canonicalize,[],[normalize_4_15]) ).
cnf(refute_4_10,plain,
( ~ path(X_364,X_365,skolemFOFtoCNF_P_5)
| ~ precedes(skolemFOFtoCNF_E1_5,skolemFOFtoCNF_E2_5,skolemFOFtoCNF_P_5)
| on_path(skolemFOFtoCNF_E2_5,skolemFOFtoCNF_P_5) ),
inference(subst,[],[refute_4_9:[bind(E1,$fot(skolemFOFtoCNF_E1_5)),bind(E2,$fot(skolemFOFtoCNF_E2_5)),bind(P,$fot(skolemFOFtoCNF_P_5)),bind(V1,$fot(X_364)),bind(V2,$fot(X_365))]]) ).
cnf(refute_4_11,plain,
( ~ path(X_364,X_365,skolemFOFtoCNF_P_5)
| on_path(skolemFOFtoCNF_E2_5,skolemFOFtoCNF_P_5) ),
inference(resolve,[$cnf( precedes(skolemFOFtoCNF_E1_5,skolemFOFtoCNF_E2_5,skolemFOFtoCNF_P_5) )],[refute_4_8,refute_4_10]) ).
cnf(refute_4_12,plain,
( ~ path(skolemFOFtoCNF_V1_4,skolemFOFtoCNF_V2_4,skolemFOFtoCNF_P_5)
| on_path(skolemFOFtoCNF_E2_5,skolemFOFtoCNF_P_5) ),
inference(subst,[],[refute_4_11:[bind(X_364,$fot(skolemFOFtoCNF_V1_4)),bind(X_365,$fot(skolemFOFtoCNF_V2_4))]]) ).
cnf(refute_4_13,plain,
on_path(skolemFOFtoCNF_E2_5,skolemFOFtoCNF_P_5),
inference(resolve,[$cnf( path(skolemFOFtoCNF_V1_4,skolemFOFtoCNF_V2_4,skolemFOFtoCNF_P_5) )],[refute_4_3,refute_4_12]) ).
cnf(refute_4_14,plain,
edge(skolemFOFtoCNF_E2_5),
inference(resolve,[$cnf( on_path(skolemFOFtoCNF_E2_5,skolemFOFtoCNF_P_5) )],[refute_4_13,refute_4_7]) ).
cnf(refute_4_15,plain,
~ edge(skolemFOFtoCNF_E2_5),
inference(canonicalize,[],[normalize_4_16]) ).
cnf(refute_4_16,plain,
$false,
inference(resolve,[$cnf( edge(skolemFOFtoCNF_E2_5) )],[refute_4_14,refute_4_15]) ).
fof(negate_5_0,plain,
~ ! [V1,V2,E1,E2,P] :
( ( shortest_path(V1,V2,P)
& precedes(E1,E2,P)
& vertex(V1)
& vertex(V2)
& V1 != V2
& edge(E1)
& edge(E2) )
=> E1 != E2 ),
inference(negate,[],[subgoal_5]) ).
fof(normalize_5_0,plain,
? [E1,E2,P,V1,V2] :
( V1 != V2
& E1 = E2
& edge(E1)
& edge(E2)
& precedes(E1,E2,P)
& shortest_path(V1,V2,P)
& vertex(V1)
& vertex(V2) ),
inference(canonicalize,[],[negate_5_0]) ).
fof(normalize_5_1,plain,
( skolemFOFtoCNF_V1_5 != skolemFOFtoCNF_V2_5
& skolemFOFtoCNF_E1_6 = skolemFOFtoCNF_E2_6
& edge(skolemFOFtoCNF_E1_6)
& edge(skolemFOFtoCNF_E2_6)
& precedes(skolemFOFtoCNF_E1_6,skolemFOFtoCNF_E2_6,skolemFOFtoCNF_P_6)
& shortest_path(skolemFOFtoCNF_V1_5,skolemFOFtoCNF_V2_5,skolemFOFtoCNF_P_6)
& vertex(skolemFOFtoCNF_V1_5)
& vertex(skolemFOFtoCNF_V2_5) ),
inference(skolemize,[],[normalize_5_0]) ).
fof(normalize_5_2,plain,
precedes(skolemFOFtoCNF_E1_6,skolemFOFtoCNF_E2_6,skolemFOFtoCNF_P_6),
inference(conjunct,[],[normalize_5_1]) ).
fof(normalize_5_3,plain,
skolemFOFtoCNF_E1_6 = skolemFOFtoCNF_E2_6,
inference(conjunct,[],[normalize_5_1]) ).
fof(normalize_5_4,plain,
shortest_path(skolemFOFtoCNF_V1_5,skolemFOFtoCNF_V2_5,skolemFOFtoCNF_P_6),
inference(conjunct,[],[normalize_5_1]) ).
fof(normalize_5_5,plain,
! [E1,E2,P,V1,V2] :
( ~ precedes(E1,E2,P)
| ~ shortest_path(V1,V2,P)
| ( ~ precedes(E2,E1,P)
& ! [E3] :
( head_of(E3) != head_of(E2)
| tail_of(E3) != tail_of(E1) ) ) ),
inference(canonicalize,[],[shortest_path_properties]) ).
fof(normalize_5_6,plain,
! [E1,E2,P,V1,V2] :
( ~ precedes(E1,E2,P)
| ~ shortest_path(V1,V2,P)
| ( ~ precedes(E2,E1,P)
& ! [E3] :
( head_of(E3) != head_of(E2)
| tail_of(E3) != tail_of(E1) ) ) ),
inference(specialize,[],[normalize_5_5]) ).
fof(normalize_5_7,plain,
! [E1,E2,E3,P,V1,V2] :
( ( ~ precedes(E1,E2,P)
| ~ precedes(E2,E1,P)
| ~ shortest_path(V1,V2,P) )
& ( head_of(E3) != head_of(E2)
| tail_of(E3) != tail_of(E1)
| ~ precedes(E1,E2,P)
| ~ shortest_path(V1,V2,P) ) ),
inference(clausify,[],[normalize_5_6]) ).
fof(normalize_5_8,plain,
! [E1,E2,P,V1,V2] :
( ~ precedes(E1,E2,P)
| ~ precedes(E2,E1,P)
| ~ shortest_path(V1,V2,P) ),
inference(conjunct,[],[normalize_5_7]) ).
cnf(refute_5_0,plain,
precedes(skolemFOFtoCNF_E1_6,skolemFOFtoCNF_E2_6,skolemFOFtoCNF_P_6),
inference(canonicalize,[],[normalize_5_2]) ).
cnf(refute_5_1,plain,
skolemFOFtoCNF_E1_6 = skolemFOFtoCNF_E2_6,
inference(canonicalize,[],[normalize_5_3]) ).
cnf(refute_5_2,plain,
X = X,
introduced(tautology,[refl,[$fot(X)]]) ).
cnf(refute_5_3,plain,
( X != X
| X != Y
| Y = X ),
introduced(tautology,[equality,[$cnf( $equal(X,X) ),[0],$fot(Y)]]) ).
cnf(refute_5_4,plain,
( X != Y
| Y = X ),
inference(resolve,[$cnf( $equal(X,X) )],[refute_5_2,refute_5_3]) ).
cnf(refute_5_5,plain,
( skolemFOFtoCNF_E1_6 != skolemFOFtoCNF_E2_6
| skolemFOFtoCNF_E2_6 = skolemFOFtoCNF_E1_6 ),
inference(subst,[],[refute_5_4:[bind(X,$fot(skolemFOFtoCNF_E1_6)),bind(Y,$fot(skolemFOFtoCNF_E2_6))]]) ).
cnf(refute_5_6,plain,
skolemFOFtoCNF_E2_6 = skolemFOFtoCNF_E1_6,
inference(resolve,[$cnf( $equal(skolemFOFtoCNF_E1_6,skolemFOFtoCNF_E2_6) )],[refute_5_1,refute_5_5]) ).
cnf(refute_5_7,plain,
( skolemFOFtoCNF_E2_6 != skolemFOFtoCNF_E1_6
| ~ precedes(skolemFOFtoCNF_E1_6,skolemFOFtoCNF_E2_6,skolemFOFtoCNF_P_6)
| precedes(skolemFOFtoCNF_E1_6,skolemFOFtoCNF_E1_6,skolemFOFtoCNF_P_6) ),
introduced(tautology,[equality,[$cnf( precedes(skolemFOFtoCNF_E1_6,skolemFOFtoCNF_E2_6,skolemFOFtoCNF_P_6) ),[1],$fot(skolemFOFtoCNF_E1_6)]]) ).
cnf(refute_5_8,plain,
( ~ precedes(skolemFOFtoCNF_E1_6,skolemFOFtoCNF_E2_6,skolemFOFtoCNF_P_6)
| precedes(skolemFOFtoCNF_E1_6,skolemFOFtoCNF_E1_6,skolemFOFtoCNF_P_6) ),
inference(resolve,[$cnf( $equal(skolemFOFtoCNF_E2_6,skolemFOFtoCNF_E1_6) )],[refute_5_6,refute_5_7]) ).
cnf(refute_5_9,plain,
precedes(skolemFOFtoCNF_E1_6,skolemFOFtoCNF_E1_6,skolemFOFtoCNF_P_6),
inference(resolve,[$cnf( precedes(skolemFOFtoCNF_E1_6,skolemFOFtoCNF_E2_6,skolemFOFtoCNF_P_6) )],[refute_5_0,refute_5_8]) ).
cnf(refute_5_10,plain,
shortest_path(skolemFOFtoCNF_V1_5,skolemFOFtoCNF_V2_5,skolemFOFtoCNF_P_6),
inference(canonicalize,[],[normalize_5_4]) ).
cnf(refute_5_11,plain,
( ~ precedes(E1,E2,P)
| ~ precedes(E2,E1,P)
| ~ shortest_path(V1,V2,P) ),
inference(canonicalize,[],[normalize_5_8]) ).
cnf(refute_5_12,plain,
( ~ precedes(X_415,X_415,skolemFOFtoCNF_P_6)
| ~ shortest_path(skolemFOFtoCNF_V1_5,skolemFOFtoCNF_V2_5,skolemFOFtoCNF_P_6) ),
inference(subst,[],[refute_5_11:[bind(E1,$fot(X_415)),bind(E2,$fot(X_415)),bind(P,$fot(skolemFOFtoCNF_P_6)),bind(V1,$fot(skolemFOFtoCNF_V1_5)),bind(V2,$fot(skolemFOFtoCNF_V2_5))]]) ).
cnf(refute_5_13,plain,
~ precedes(X_415,X_415,skolemFOFtoCNF_P_6),
inference(resolve,[$cnf( shortest_path(skolemFOFtoCNF_V1_5,skolemFOFtoCNF_V2_5,skolemFOFtoCNF_P_6) )],[refute_5_10,refute_5_12]) ).
cnf(refute_5_14,plain,
~ precedes(skolemFOFtoCNF_E1_6,skolemFOFtoCNF_E1_6,skolemFOFtoCNF_P_6),
inference(subst,[],[refute_5_13:[bind(X_415,$fot(skolemFOFtoCNF_E1_6))]]) ).
cnf(refute_5_15,plain,
$false,
inference(resolve,[$cnf( precedes(skolemFOFtoCNF_E1_6,skolemFOFtoCNF_E1_6,skolemFOFtoCNF_P_6) )],[refute_5_9,refute_5_14]) ).
fof(negate_6_0,plain,
~ ! [V1,V2,E1,E2,P] :
( ( shortest_path(V1,V2,P)
& precedes(E1,E2,P)
& vertex(V1)
& vertex(V2)
& V1 != V2
& edge(E1)
& edge(E2)
& E1 != E2 )
=> path(V1,V2,P) ),
inference(negate,[],[subgoal_6]) ).
fof(normalize_6_0,plain,
? [E1,E2,P,V1,V2] :
( E1 != E2
& V1 != V2
& ~ path(V1,V2,P)
& edge(E1)
& edge(E2)
& precedes(E1,E2,P)
& shortest_path(V1,V2,P)
& vertex(V1)
& vertex(V2) ),
inference(canonicalize,[],[negate_6_0]) ).
fof(normalize_6_1,plain,
( skolemFOFtoCNF_E1_7 != skolemFOFtoCNF_E2_7
& skolemFOFtoCNF_V1_6 != skolemFOFtoCNF_V2_6
& ~ path(skolemFOFtoCNF_V1_6,skolemFOFtoCNF_V2_6,skolemFOFtoCNF_P_7)
& edge(skolemFOFtoCNF_E1_7)
& edge(skolemFOFtoCNF_E2_7)
& precedes(skolemFOFtoCNF_E1_7,skolemFOFtoCNF_E2_7,skolemFOFtoCNF_P_7)
& shortest_path(skolemFOFtoCNF_V1_6,skolemFOFtoCNF_V2_6,skolemFOFtoCNF_P_7)
& vertex(skolemFOFtoCNF_V1_6)
& vertex(skolemFOFtoCNF_V2_6) ),
inference(skolemize,[],[normalize_6_0]) ).
fof(normalize_6_2,plain,
shortest_path(skolemFOFtoCNF_V1_6,skolemFOFtoCNF_V2_6,skolemFOFtoCNF_P_7),
inference(conjunct,[],[normalize_6_1]) ).
fof(normalize_6_3,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_6_4,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_6_3]) ).
fof(normalize_6_5,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_6_4]) ).
fof(normalize_6_6,plain,
! [SP,V1,V2] :
( ~ shortest_path(V1,V2,SP)
| path(V1,V2,SP) ),
inference(conjunct,[],[normalize_6_5]) ).
fof(normalize_6_7,plain,
~ path(skolemFOFtoCNF_V1_6,skolemFOFtoCNF_V2_6,skolemFOFtoCNF_P_7),
inference(conjunct,[],[normalize_6_1]) ).
cnf(refute_6_0,plain,
shortest_path(skolemFOFtoCNF_V1_6,skolemFOFtoCNF_V2_6,skolemFOFtoCNF_P_7),
inference(canonicalize,[],[normalize_6_2]) ).
cnf(refute_6_1,plain,
( ~ shortest_path(V1,V2,SP)
| path(V1,V2,SP) ),
inference(canonicalize,[],[normalize_6_6]) ).
cnf(refute_6_2,plain,
( ~ shortest_path(skolemFOFtoCNF_V1_6,skolemFOFtoCNF_V2_6,skolemFOFtoCNF_P_7)
| path(skolemFOFtoCNF_V1_6,skolemFOFtoCNF_V2_6,skolemFOFtoCNF_P_7) ),
inference(subst,[],[refute_6_1:[bind(SP,$fot(skolemFOFtoCNF_P_7)),bind(V1,$fot(skolemFOFtoCNF_V1_6)),bind(V2,$fot(skolemFOFtoCNF_V2_6))]]) ).
cnf(refute_6_3,plain,
path(skolemFOFtoCNF_V1_6,skolemFOFtoCNF_V2_6,skolemFOFtoCNF_P_7),
inference(resolve,[$cnf( shortest_path(skolemFOFtoCNF_V1_6,skolemFOFtoCNF_V2_6,skolemFOFtoCNF_P_7) )],[refute_6_0,refute_6_2]) ).
cnf(refute_6_4,plain,
~ path(skolemFOFtoCNF_V1_6,skolemFOFtoCNF_V2_6,skolemFOFtoCNF_P_7),
inference(canonicalize,[],[normalize_6_7]) ).
cnf(refute_6_5,plain,
$false,
inference(resolve,[$cnf( path(skolemFOFtoCNF_V1_6,skolemFOFtoCNF_V2_6,skolemFOFtoCNF_P_7) )],[refute_6_3,refute_6_4]) ).
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.11 % Problem : GRA003+1 : TPTP v8.1.0. Bugfixed v3.2.0.
% 0.03/0.12 % Command : metis --show proof --show saturation %s
% 0.12/0.33 % Computer : n026.cluster.edu
% 0.12/0.33 % Model : x86_64 x86_64
% 0.12/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.12/0.33 % Memory : 8042.1875MB
% 0.12/0.33 % OS : Linux 3.10.0-693.el7.x86_64
% 0.12/0.33 % CPULimit : 300
% 0.12/0.33 % WCLimit : 600
% 0.12/0.33 % DateTime : Tue May 31 02:42:10 EDT 2022
% 0.12/0.33 % CPUTime :
% 0.12/0.33 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 31.86/32.01 % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p
% 31.86/32.01
% 31.86/32.01 % SZS output start CNFRefutation for /export/starexec/sandbox/benchmark/theBenchmark.p
% See solution above
% 31.86/32.03
%------------------------------------------------------------------------------