TSTP Solution File: GEO148+1 by Twee---2.4.2

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Twee---2.4.2
% Problem  : GEO148+1 : TPTP v8.1.2. Released v2.4.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof

% Computer : n018.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 : Wed Aug 30 23:27:39 EDT 2023

% Result   : Theorem 0.21s 0.60s
% Output   : Proof 0.21s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.11/0.13  % Problem  : GEO148+1 : TPTP v8.1.2. Released v2.4.0.
% 0.11/0.14  % Command  : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof
% 0.14/0.35  % Computer : n018.cluster.edu
% 0.14/0.35  % Model    : x86_64 x86_64
% 0.14/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.35  % Memory   : 8042.1875MB
% 0.14/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.35  % CPULimit : 300
% 0.14/0.35  % WCLimit  : 300
% 0.14/0.35  % DateTime : Tue Aug 29 23:29:03 EDT 2023
% 0.14/0.36  % CPUTime  : 
% 0.21/0.60  Command-line arguments: --flip-ordering --lhs-weight 1 --depth-weight 60 --distributivity-heuristic
% 0.21/0.60  
% 0.21/0.60  % SZS status Theorem
% 0.21/0.60  
% 0.21/0.61  % SZS output start Proof
% 0.21/0.61  Take the following subset of the input axioms:
% 0.21/0.61    fof(between_c_defn, axiom, ![C, P, Q, R]: (between_c(C, P, Q, R) <=> (P!=R & ?[Cpp]: (part_of(Cpp, C) & (end_point(P, Cpp) & (end_point(R, Cpp) & inner_point(Q, Cpp))))))).
% 0.21/0.61    fof(c6, axiom, ![C2, P3]: (end_point(P3, C2) => ?[Q3]: (end_point(Q3, C2) & P3!=Q3))).
% 0.21/0.61    fof(closed_defn, axiom, ![C2]: (closed(C2) <=> ~?[P3]: end_point(P3, C2))).
% 0.21/0.61    fof(connect_defn, axiom, ![X, Y, P3]: (connect(X, Y, P3) <=> once(at_the_same_time(at(X, P3), at(Y, P3))))).
% 0.21/0.61    fof(homogeneous_behaviour, axiom, ![P1, P2, Q1, Q2, X2, Y2]: ((once(at_the_same_time(at(X2, P1), at(Y2, P2))) & once(at_the_same_time(at(X2, Q1), at(Y2, Q2)))) => ~(ordered_by(trajectory_of(X2), P1, Q1) & ordered_by(trajectory_of(Y2), Q2, P2)))).
% 0.21/0.61    fof(inner_point_defn, axiom, ![C2, P3]: (inner_point(P3, C2) <=> (incident_c(P3, C2) & ~end_point(P3, C2)))).
% 0.21/0.61    fof(t14, conjecture, ![P3, X2, Y2]: (connect(X2, Y2, P3) => ![Q1_2, Q2_2]: ((ordered_by(trajectory_of(Y2), Q2_2, P3) & ordered_by(trajectory_of(X2), P3, Q1_2)) => ~once(at_the_same_time(at(X2, Q1_2), at(Y2, Q2_2)))))).
% 0.21/0.61  
% 0.21/0.61  Now clausify the problem and encode Horn clauses using encoding 3 of
% 0.21/0.61  http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 0.21/0.61  We repeatedly replace C & s=t => u=v by the two clauses:
% 0.21/0.61    fresh(y, y, x1...xn) = u
% 0.21/0.61    C => fresh(s, t, x1...xn) = v
% 0.21/0.61  where fresh is a fresh function symbol and x1..xn are the free
% 0.21/0.61  variables of u and v.
% 0.21/0.61  A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 0.21/0.61  input problem has no model of domain size 1).
% 0.21/0.61  
% 0.21/0.61  The encoding turns the above axioms into the following unit equations and goals:
% 0.21/0.61  
% 0.21/0.61  Axiom 1 (t14_2): connect(x, y, p) = true2.
% 0.21/0.61  Axiom 2 (t14): ordered_by(trajectory_of(x), p, q1) = true2.
% 0.21/0.61  Axiom 3 (t14_1): ordered_by(trajectory_of(y), q2, p) = true2.
% 0.21/0.61  Axiom 4 (connect_defn): fresh60(X, X, Y, Z, W) = true2.
% 0.21/0.61  Axiom 5 (t14_3): once(at_the_same_time(at(x, q1), at(y, q2))) = true2.
% 0.21/0.61  Axiom 6 (connect_defn): fresh60(connect(X, Y, Z), true2, X, Y, Z) = once(at_the_same_time(at(X, Z), at(Y, Z))).
% 0.21/0.61  
% 0.21/0.61  Goal 1 (homogeneous_behaviour): tuple(ordered_by(trajectory_of(X), Y, Z), ordered_by(trajectory_of(W), V, U), once(at_the_same_time(at(X, Y), at(W, U))), once(at_the_same_time(at(X, Z), at(W, V)))) = tuple(true2, true2, true2, true2).
% 0.21/0.61  The goal is true when:
% 0.21/0.61    X = x
% 0.21/0.61    Y = p
% 0.21/0.61    Z = q1
% 0.21/0.61    W = y
% 0.21/0.61    V = q2
% 0.21/0.61    U = p
% 0.21/0.61  
% 0.21/0.61  Proof:
% 0.21/0.61    tuple(ordered_by(trajectory_of(x), p, q1), ordered_by(trajectory_of(y), q2, p), once(at_the_same_time(at(x, p), at(y, p))), once(at_the_same_time(at(x, q1), at(y, q2))))
% 0.21/0.61  = { by axiom 5 (t14_3) }
% 0.21/0.61    tuple(ordered_by(trajectory_of(x), p, q1), ordered_by(trajectory_of(y), q2, p), once(at_the_same_time(at(x, p), at(y, p))), true2)
% 0.21/0.61  = { by axiom 6 (connect_defn) R->L }
% 0.21/0.61    tuple(ordered_by(trajectory_of(x), p, q1), ordered_by(trajectory_of(y), q2, p), fresh60(connect(x, y, p), true2, x, y, p), true2)
% 0.21/0.61  = { by axiom 1 (t14_2) }
% 0.21/0.61    tuple(ordered_by(trajectory_of(x), p, q1), ordered_by(trajectory_of(y), q2, p), fresh60(true2, true2, x, y, p), true2)
% 0.21/0.61  = { by axiom 4 (connect_defn) }
% 0.21/0.61    tuple(ordered_by(trajectory_of(x), p, q1), ordered_by(trajectory_of(y), q2, p), true2, true2)
% 0.21/0.61  = { by axiom 2 (t14) }
% 0.21/0.61    tuple(true2, ordered_by(trajectory_of(y), q2, p), true2, true2)
% 0.21/0.61  = { by axiom 3 (t14_1) }
% 0.21/0.61    tuple(true2, true2, true2, true2)
% 0.21/0.61  % SZS output end Proof
% 0.21/0.61  
% 0.21/0.61  RESULT: Theorem (the conjecture is true).
%------------------------------------------------------------------------------