TSTP Solution File: GRA005+1 by Z3---4.8.9.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Z3---4.8.9.0
% Problem  : GRA005+1 : TPTP v8.1.0. Bugfixed v3.2.0.
% Transfm  : none
% Format   : tptp
% Command  : z3_tptp -proof -model -t:%d -file:%s

% Computer : n011.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 : Fri Sep 16 20:47:27 EDT 2022

% Result   : Theorem 0.22s 0.42s
% Output   : Proof 0.22s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.12/0.13  % Problem  : GRA005+1 : TPTP v8.1.0. Bugfixed v3.2.0.
% 0.12/0.14  % Command  : z3_tptp -proof -model -t:%d -file:%s
% 0.14/0.36  % Computer : n011.cluster.edu
% 0.14/0.36  % Model    : x86_64 x86_64
% 0.14/0.36  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.36  % Memory   : 8042.1875MB
% 0.14/0.36  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.36  % CPULimit : 300
% 0.14/0.36  % WCLimit  : 300
% 0.14/0.36  % DateTime : Wed Aug 31 13:18:11 EDT 2022
% 0.14/0.36  % CPUTime  : 
% 0.14/0.36  Z3tptp [4.8.9.0] (c) 2006-20**. Microsoft Corp.
% 0.14/0.36  Usage: tptp [options] [-file:]file
% 0.14/0.36    -h, -?       prints this message.
% 0.14/0.36    -smt2        print SMT-LIB2 benchmark.
% 0.14/0.36    -m, -model   generate model.
% 0.14/0.36    -p, -proof   generate proof.
% 0.14/0.36    -c, -core    generate unsat core of named formulas.
% 0.14/0.36    -st, -statistics display statistics.
% 0.14/0.36    -t:timeout   set timeout (in second).
% 0.14/0.36    -smt2status  display status in smt2 format instead of SZS.
% 0.14/0.36    -check_status check the status produced by Z3 against annotation in benchmark.
% 0.14/0.36    -<param>:<value> configuration parameter and value.
% 0.14/0.36    -o:<output-file> file to place output in.
% 0.22/0.42  % SZS status Theorem
% 0.22/0.42  % SZS output start Proof
% 0.22/0.42  tff(head_of_type, type, (
% 0.22/0.42     head_of: $i > $i)).
% 0.22/0.42  tff(tptp_fun_E2_10_type, type, (
% 0.22/0.42     tptp_fun_E2_10: $i)).
% 0.22/0.42  tff(tail_of_type, type, (
% 0.22/0.42     tail_of: $i > $i)).
% 0.22/0.42  tff(tptp_fun_E1_11_type, type, (
% 0.22/0.42     tptp_fun_E1_11: $i)).
% 0.22/0.42  tff(precedes_type, type, (
% 0.22/0.42     precedes: ( $i * $i * $i ) > $o)).
% 0.22/0.42  tff(tptp_fun_P_9_type, type, (
% 0.22/0.42     tptp_fun_P_9: $i)).
% 0.22/0.42  tff(tptp_fun_E3_14_type, type, (
% 0.22/0.42     tptp_fun_E3_14: $i)).
% 0.22/0.42  tff(edge_type, type, (
% 0.22/0.42     edge: $i > $o)).
% 0.22/0.42  tff(shortest_path_type, type, (
% 0.22/0.42     shortest_path: ( $i * $i * $i ) > $o)).
% 0.22/0.42  tff(tptp_fun_V2_12_type, type, (
% 0.22/0.42     tptp_fun_V2_12: $i)).
% 0.22/0.42  tff(tptp_fun_V1_13_type, type, (
% 0.22/0.42     tptp_fun_V1_13: $i)).
% 0.22/0.42  tff(1,plain,
% 0.22/0.42      (((shortest_path(V1!13, V2!12, P!9) & precedes(E1!11, E2!10, P!9)) & (edge(E3!14) & (tail_of(E3!14) = tail_of(E1!11)) & (head_of(E3!14) = head_of(E2!10)))) <=> (shortest_path(V1!13, V2!12, P!9) & precedes(E1!11, E2!10, P!9) & edge(E3!14) & (tail_of(E3!14) = tail_of(E1!11)) & (head_of(E3!14) = head_of(E2!10)))),
% 0.22/0.42      inference(rewrite,[status(thm)],[])).
% 0.22/0.42  tff(2,plain,
% 0.22/0.42      ((~(~(shortest_path(V1!13, V2!12, P!9) & precedes(E1!11, E2!10, P!9)))) <=> (shortest_path(V1!13, V2!12, P!9) & precedes(E1!11, E2!10, P!9))),
% 0.22/0.42      inference(rewrite,[status(thm)],[])).
% 0.22/0.42  tff(3,plain,
% 0.22/0.42      (((~(~(shortest_path(V1!13, V2!12, P!9) & precedes(E1!11, E2!10, P!9)))) & (edge(E3!14) & (tail_of(E3!14) = tail_of(E1!11)) & (head_of(E3!14) = head_of(E2!10)))) <=> ((shortest_path(V1!13, V2!12, P!9) & precedes(E1!11, E2!10, P!9)) & (edge(E3!14) & (tail_of(E3!14) = tail_of(E1!11)) & (head_of(E3!14) = head_of(E2!10))))),
% 0.22/0.42      inference(monotonicity,[status(thm)],[2])).
% 0.22/0.42  tff(4,plain,
% 0.22/0.42      (((~(~(shortest_path(V1!13, V2!12, P!9) & precedes(E1!11, E2!10, P!9)))) & (edge(E3!14) & (tail_of(E3!14) = tail_of(E1!11)) & (head_of(E3!14) = head_of(E2!10)))) <=> (shortest_path(V1!13, V2!12, P!9) & precedes(E1!11, E2!10, P!9) & edge(E3!14) & (tail_of(E3!14) = tail_of(E1!11)) & (head_of(E3!14) = head_of(E2!10)))),
% 0.22/0.42      inference(transitivity,[status(thm)],[3, 1])).
% 0.22/0.42  tff(5,plain,
% 0.22/0.42      ((~![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | (~?[E3: $i] : (edge(E3) & (tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))))) <=> (~![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | (~?[E3: $i] : (edge(E3) & (tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2))))))),
% 0.22/0.42      inference(rewrite,[status(thm)],[])).
% 0.22/0.42  tff(6,plain,
% 0.22/0.42      ((~![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((shortest_path(V1, V2, P) & precedes(E1, E2, P)) => (~?[E3: $i] : ((edge(E3) & (tail_of(E3) = tail_of(E1))) & (head_of(E3) = head_of(E2)))))) <=> (~![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | (~?[E3: $i] : (edge(E3) & (tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2))))))),
% 0.22/0.42      inference(rewrite,[status(thm)],[])).
% 0.22/0.42  tff(7,axiom,(~![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((shortest_path(V1, V2, P) & precedes(E1, E2, P)) => (~?[E3: $i] : ((edge(E3) & (tail_of(E3) = tail_of(E1))) & (head_of(E3) = head_of(E2)))))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p','no_short_cut_edge')).
% 0.22/0.42  tff(8,plain,
% 0.22/0.42      (~![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | (~?[E3: $i] : (edge(E3) & (tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))))),
% 0.22/0.42      inference(modus_ponens,[status(thm)],[7, 6])).
% 0.22/0.42  tff(9,plain,
% 0.22/0.42      (~![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | (~?[E3: $i] : (edge(E3) & (tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))))),
% 0.22/0.42      inference(modus_ponens,[status(thm)],[8, 5])).
% 0.22/0.42  tff(10,plain,
% 0.22/0.42      (~![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | (~?[E3: $i] : (edge(E3) & (tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))))),
% 0.22/0.42      inference(modus_ponens,[status(thm)],[9, 5])).
% 0.22/0.42  tff(11,plain,
% 0.22/0.42      (~![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | (~?[E3: $i] : (edge(E3) & (tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))))),
% 0.22/0.42      inference(modus_ponens,[status(thm)],[10, 5])).
% 0.22/0.42  tff(12,plain,
% 0.22/0.42      (~![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | (~?[E3: $i] : (edge(E3) & (tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))))),
% 0.22/0.42      inference(modus_ponens,[status(thm)],[11, 5])).
% 0.22/0.42  tff(13,plain,
% 0.22/0.42      (~![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | (~?[E3: $i] : (edge(E3) & (tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))))),
% 0.22/0.42      inference(modus_ponens,[status(thm)],[12, 5])).
% 0.22/0.42  tff(14,plain,
% 0.22/0.42      (~![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | (~?[E3: $i] : (edge(E3) & (tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))))),
% 0.22/0.42      inference(modus_ponens,[status(thm)],[13, 5])).
% 0.22/0.42  tff(15,plain,
% 0.22/0.42      (shortest_path(V1!13, V2!12, P!9) & precedes(E1!11, E2!10, P!9) & edge(E3!14) & (tail_of(E3!14) = tail_of(E1!11)) & (head_of(E3!14) = head_of(E2!10))),
% 0.22/0.42      inference(modus_ponens,[status(thm)],[14, 4])).
% 0.22/0.42  tff(16,plain,
% 0.22/0.42      (precedes(E1!11, E2!10, P!9)),
% 0.22/0.42      inference(and_elim,[status(thm)],[15])).
% 0.22/0.42  tff(17,plain,
% 0.22/0.42      (shortest_path(V1!13, V2!12, P!9)),
% 0.22/0.42      inference(and_elim,[status(thm)],[15])).
% 0.22/0.42  tff(18,plain,
% 0.22/0.42      (^[V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : refl(((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P)))) <=> ((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P)))))),
% 0.22/0.42      inference(bind,[status(th)],[])).
% 0.22/0.42  tff(19,plain,
% 0.22/0.42      (![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P)))) <=> ![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P))))),
% 0.22/0.42      inference(quant_intro,[status(thm)],[18])).
% 0.22/0.42  tff(20,plain,
% 0.22/0.42      (^[V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : rewrite(((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P)))) <=> ((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P)))))),
% 0.22/0.42      inference(bind,[status(th)],[])).
% 0.22/0.42  tff(21,plain,
% 0.22/0.42      (![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P)))) <=> ![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P))))),
% 0.22/0.42      inference(quant_intro,[status(thm)],[20])).
% 0.22/0.42  tff(22,plain,
% 0.22/0.42      (![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P)))) <=> ![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P))))),
% 0.22/0.42      inference(transitivity,[status(thm)],[21, 19])).
% 0.22/0.42  tff(23,plain,
% 0.22/0.42      (^[V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : trans(monotonicity(trans(monotonicity(rewrite((shortest_path(V1, V2, P) & precedes(E1, E2, P)) <=> (~((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P))))), ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) <=> (~(~((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P))))))), rewrite((~(~((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P))))) <=> ((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)))), ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) <=> ((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P))))), trans(monotonicity(quant_intro(proof_bind(^[E3: $i] : trans(monotonicity(rewrite(((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2))) <=> (~((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2)))))), ((~((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) <=> (~(~((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2)))))))), rewrite((~(~((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2)))))) <=> ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))), ((~((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) <=> ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))))), (![E3: $i] : (~((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) <=> ![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2)))))), ((![E3: $i] : (~((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P))) <=> (![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P))))), rewrite((![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P))) <=> (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P)))), ((![E3: $i] : (~((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P))) <=> (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P))))), (((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | (![E3: $i] : (~((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P)))) <=> (((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P))) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P)))))), rewrite((((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P))) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P)))) <=> ((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P))))), (((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | (![E3: $i] : (~((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P)))) <=> ((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P))))))),
% 0.22/0.43      inference(bind,[status(th)],[])).
% 0.22/0.43  tff(24,plain,
% 0.22/0.43      (![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | (![E3: $i] : (~((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P)))) <=> ![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P))))),
% 0.22/0.43      inference(quant_intro,[status(thm)],[23])).
% 0.22/0.43  tff(25,plain,
% 0.22/0.43      (![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | ((~?[E3: $i] : ((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P)))) <=> ![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | ((~?[E3: $i] : ((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P))))),
% 0.22/0.43      inference(rewrite,[status(thm)],[])).
% 0.22/0.43  tff(26,plain,
% 0.22/0.43      (^[V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : trans(monotonicity(monotonicity(rewrite((~?[E3: $i] : ((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) <=> (~?[E3: $i] : ((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2))))), (((~?[E3: $i] : ((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P))) <=> ((~?[E3: $i] : ((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P))))), (((shortest_path(V1, V2, P) & precedes(E1, E2, P)) => ((~?[E3: $i] : ((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P)))) <=> ((shortest_path(V1, V2, P) & precedes(E1, E2, P)) => ((~?[E3: $i] : ((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P)))))), rewrite(((shortest_path(V1, V2, P) & precedes(E1, E2, P)) => ((~?[E3: $i] : ((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P)))) <=> ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | ((~?[E3: $i] : ((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P))))), (((shortest_path(V1, V2, P) & precedes(E1, E2, P)) => ((~?[E3: $i] : ((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P)))) <=> ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | ((~?[E3: $i] : ((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P))))))),
% 0.22/0.43      inference(bind,[status(th)],[])).
% 0.22/0.43  tff(27,plain,
% 0.22/0.43      (![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((shortest_path(V1, V2, P) & precedes(E1, E2, P)) => ((~?[E3: $i] : ((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P)))) <=> ![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | ((~?[E3: $i] : ((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P))))),
% 0.22/0.43      inference(quant_intro,[status(thm)],[26])).
% 0.22/0.43  tff(28,axiom,(![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((shortest_path(V1, V2, P) & precedes(E1, E2, P)) => ((~?[E3: $i] : ((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P))))), file('/export/starexec/sandbox2/benchmark/Axioms/GRA001+0.ax','shortest_path_properties')).
% 0.22/0.43  tff(29,plain,
% 0.22/0.43      (![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | ((~?[E3: $i] : ((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P))))),
% 0.22/0.43      inference(modus_ponens,[status(thm)],[28, 27])).
% 0.22/0.43  tff(30,plain,
% 0.22/0.43      (![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | ((~?[E3: $i] : ((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P))))),
% 0.22/0.43      inference(modus_ponens,[status(thm)],[29, 25])).
% 0.22/0.43  tff(31,plain,(
% 0.22/0.43      ![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~(shortest_path(V1, V2, P) & precedes(E1, E2, P))) | (![E3: $i] : (~((tail_of(E3) = tail_of(E1)) & (head_of(E3) = head_of(E2)))) & (~precedes(E2, E1, P))))),
% 0.22/0.43      inference(skolemize,[status(sab)],[30])).
% 0.22/0.43  tff(32,plain,
% 0.22/0.43      (![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P))))),
% 0.22/0.43      inference(modus_ponens,[status(thm)],[31, 24])).
% 0.22/0.43  tff(33,plain,
% 0.22/0.43      (![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P))))),
% 0.22/0.43      inference(modus_ponens,[status(thm)],[32, 22])).
% 0.22/0.43  tff(34,plain,
% 0.22/0.43      (((~![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P))))) | ((~shortest_path(V1!13, V2!12, P!9)) | (~precedes(E1!11, E2!10, P!9)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1!11))) | (~(head_of(E3) = head_of(E2!10))))) | precedes(E2!10, E1!11, P!9))))) <=> ((~![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P))))) | (~shortest_path(V1!13, V2!12, P!9)) | (~precedes(E1!11, E2!10, P!9)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1!11))) | (~(head_of(E3) = head_of(E2!10))))) | precedes(E2!10, E1!11, P!9))))),
% 0.22/0.43      inference(rewrite,[status(thm)],[])).
% 0.22/0.43  tff(35,plain,
% 0.22/0.43      ((~![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P))))) | ((~shortest_path(V1!13, V2!12, P!9)) | (~precedes(E1!11, E2!10, P!9)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1!11))) | (~(head_of(E3) = head_of(E2!10))))) | precedes(E2!10, E1!11, P!9))))),
% 0.22/0.43      inference(quant_inst,[status(thm)],[])).
% 0.22/0.43  tff(36,plain,
% 0.22/0.43      ((~![V1: $i, V2: $i, E1: $i, E2: $i, P: $i] : ((~shortest_path(V1, V2, P)) | (~precedes(E1, E2, P)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1))) | (~(head_of(E3) = head_of(E2))))) | precedes(E2, E1, P))))) | (~shortest_path(V1!13, V2!12, P!9)) | (~precedes(E1!11, E2!10, P!9)) | (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1!11))) | (~(head_of(E3) = head_of(E2!10))))) | precedes(E2!10, E1!11, P!9)))),
% 0.22/0.43      inference(modus_ponens,[status(thm)],[35, 34])).
% 0.22/0.43  tff(37,plain,
% 0.22/0.43      (~((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1!11))) | (~(head_of(E3) = head_of(E2!10))))) | precedes(E2!10, E1!11, P!9))),
% 0.22/0.43      inference(unit_resolution,[status(thm)],[36, 33, 17, 16])).
% 0.22/0.43  tff(38,plain,
% 0.22/0.43      (((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1!11))) | (~(head_of(E3) = head_of(E2!10))))) | precedes(E2!10, E1!11, P!9)) | ![E3: $i] : ((~(tail_of(E3) = tail_of(E1!11))) | (~(head_of(E3) = head_of(E2!10))))),
% 0.22/0.43      inference(tautology,[status(thm)],[])).
% 0.22/0.43  tff(39,plain,
% 0.22/0.43      (![E3: $i] : ((~(tail_of(E3) = tail_of(E1!11))) | (~(head_of(E3) = head_of(E2!10))))),
% 0.22/0.43      inference(unit_resolution,[status(thm)],[38, 37])).
% 0.22/0.43  tff(40,plain,
% 0.22/0.43      (head_of(E3!14) = head_of(E2!10)),
% 0.22/0.43      inference(and_elim,[status(thm)],[15])).
% 0.22/0.43  tff(41,plain,
% 0.22/0.43      (tail_of(E3!14) = tail_of(E1!11)),
% 0.22/0.43      inference(and_elim,[status(thm)],[15])).
% 0.22/0.43  tff(42,plain,
% 0.22/0.43      (((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1!11))) | (~(head_of(E3) = head_of(E2!10))))) | ((~(tail_of(E3!14) = tail_of(E1!11))) | (~(head_of(E3!14) = head_of(E2!10))))) <=> ((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1!11))) | (~(head_of(E3) = head_of(E2!10))))) | (~(tail_of(E3!14) = tail_of(E1!11))) | (~(head_of(E3!14) = head_of(E2!10))))),
% 0.22/0.43      inference(rewrite,[status(thm)],[])).
% 0.22/0.43  tff(43,plain,
% 0.22/0.43      ((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1!11))) | (~(head_of(E3) = head_of(E2!10))))) | ((~(tail_of(E3!14) = tail_of(E1!11))) | (~(head_of(E3!14) = head_of(E2!10))))),
% 0.22/0.43      inference(quant_inst,[status(thm)],[])).
% 0.22/0.43  tff(44,plain,
% 0.22/0.43      ((~![E3: $i] : ((~(tail_of(E3) = tail_of(E1!11))) | (~(head_of(E3) = head_of(E2!10))))) | (~(tail_of(E3!14) = tail_of(E1!11))) | (~(head_of(E3!14) = head_of(E2!10)))),
% 0.22/0.43      inference(modus_ponens,[status(thm)],[43, 42])).
% 0.22/0.43  tff(45,plain,
% 0.22/0.43      ($false),
% 0.22/0.43      inference(unit_resolution,[status(thm)],[44, 41, 40, 39])).
% 0.22/0.43  % SZS output end Proof
%------------------------------------------------------------------------------