0.10/0.11 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.10/0.11 % Command : twee %s --tstp --casc --quiet --explain-encoding --conditional-encoding if --smaller --drop-non-horn 0.11/0.32 % Computer : n025.cluster.edu 0.11/0.32 % Model : x86_64 x86_64 0.11/0.32 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.11/0.32 % Memory : 8042.1875MB 0.11/0.32 % OS : Linux 3.10.0-693.el7.x86_64 0.11/0.32 % CPULimit : 960 0.11/0.32 % WCLimit : 120 0.11/0.32 % DateTime : Thu Jul 2 06:46:33 EDT 2020 0.11/0.32 % CPUTime : 0.16/0.50 % SZS status Theorem 0.16/0.50 0.16/0.50 % SZS output start Proof 0.16/0.50 Take the following subset of the input axioms: 0.16/0.50 fof(happens_all_defn, axiom, ![Time, Event]: (((Time=n0 & Event=push) | ((Time=n2 & push=Event) | ((pull=Event & Time=n2) | (n1=Time & pull=Event)))) <=> happens(Event, Time))). 0.16/0.50 fof(happens_holds, axiom, ![Fluent, Time, Event]: ((initiates(Event, Fluent, Time) & happens(Event, Time)) => holdsAt(Fluent, plus(Time, n1)))). 0.16/0.50 fof(initiates_all_defn, axiom, ![Fluent, Time, Event]: (((Event=pull & (spinning=Fluent & happens(push, Time))) | ((Fluent=forwards & (push=Event & ~happens(pull, Time))) | (Fluent=backwards & (Event=pull & ~happens(push, Time))))) <=> initiates(Event, Fluent, Time))). 0.16/0.50 fof(plus1_2, axiom, n3=plus(n1, n2)). 0.16/0.50 fof(spinning_3, conjecture, holdsAt(spinning, n3)). 0.16/0.50 fof(symmetry_of_plus, axiom, ![X, Y]: plus(Y, X)=plus(X, Y)). 0.16/0.50 0.16/0.50 Now clausify the problem and encode Horn clauses using encoding 3 of 0.16/0.50 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 0.16/0.50 We repeatedly replace C & s=t => u=v by the two clauses: 0.16/0.50 fresh(y, y, x1...xn) = u 0.16/0.50 C => fresh(s, t, x1...xn) = v 0.16/0.50 where fresh is a fresh function symbol and x1..xn are the free 0.16/0.50 variables of u and v. 0.16/0.50 A predicate p(X) is encoded as p(X)=true (this is sound, because the 0.16/0.50 input problem has no model of domain size 1). 0.16/0.50 0.16/0.50 The encoding turns the above axioms into the following unit equations and goals: 0.16/0.50 0.16/0.50 Axiom 1 (happens_all_defn_1): fresh53(X, X, Y, Z) = happens(Y, Z). 0.16/0.50 Axiom 2 (happens_all_defn_1): fresh52(X, X, Y, Z) = true2. 0.16/0.50 Axiom 3 (happens_all_defn_3): fresh49(X, X, Y, Z) = happens(Y, Z). 0.16/0.50 Axiom 4 (happens_all_defn_3): fresh48(X, X, Y, Z) = true2. 0.16/0.50 Axiom 5 (happens_holds): fresh47(X, X, Y, Z, W) = holdsAt(W, plus(Z, n1)). 0.16/0.50 Axiom 6 (happens_holds): fresh46(X, X, Y, Z) = true2. 0.16/0.50 Axiom 7 (initiates_all_defn_1): fresh43(X, X, Y, Z, W) = initiates(Y, Z, W). 0.16/0.50 Axiom 8 (initiates_all_defn_1): fresh57(X, X, Y, Z, W) = true2. 0.16/0.50 Axiom 9 (initiates_all_defn_1): fresh56(X, X, Y, Z, W) = fresh57(Y, pull, Y, Z, W). 0.16/0.50 Axiom 10 (happens_holds): fresh47(happens(X, Y), true2, X, Y, Z) = fresh46(initiates(X, Z, Y), true2, Y, Z). 0.16/0.50 Axiom 11 (initiates_all_defn_1): fresh56(happens(push, X), true2, Y, Z, X) = fresh43(spinning, Z, Y, Z, X). 0.16/0.50 Axiom 12 (happens_all_defn_3): fresh49(X, n2, Y, X) = fresh48(push, Y, Y, X). 0.16/0.50 Axiom 13 (happens_all_defn_1): fresh53(X, n2, Y, X) = fresh52(pull, Y, Y, X). 0.16/0.50 Axiom 14 (plus1_2): n3 = plus(n1, n2). 0.16/0.50 Axiom 15 (symmetry_of_plus): plus(X, Y) = plus(Y, X). 0.16/0.50 0.16/0.50 Goal 1 (spinning_3): holdsAt(spinning, n3) = true2. 0.16/0.50 Proof: 0.16/0.50 holdsAt(spinning, n3) 0.16/0.50 = { by axiom 14 (plus1_2) } 0.16/0.50 holdsAt(spinning, plus(n1, n2)) 0.16/0.50 = { by axiom 15 (symmetry_of_plus) } 0.16/0.50 holdsAt(spinning, plus(n2, n1)) 0.16/0.50 = { by axiom 5 (happens_holds) } 0.16/0.50 fresh47(true2, true2, pull, n2, spinning) 0.16/0.50 = { by axiom 2 (happens_all_defn_1) } 0.16/0.50 fresh47(fresh52(pull, pull, pull, n2), true2, pull, n2, spinning) 0.16/0.50 = { by axiom 13 (happens_all_defn_1) } 0.16/0.50 fresh47(fresh53(n2, n2, pull, n2), true2, pull, n2, spinning) 0.16/0.50 = { by axiom 1 (happens_all_defn_1) } 0.16/0.50 fresh47(happens(pull, n2), true2, pull, n2, spinning) 0.16/0.50 = { by axiom 10 (happens_holds) } 0.16/0.50 fresh46(initiates(pull, spinning, n2), true2, n2, spinning) 0.16/0.50 = { by axiom 7 (initiates_all_defn_1) } 0.16/0.50 fresh46(fresh43(spinning, spinning, pull, spinning, n2), true2, n2, spinning) 0.16/0.50 = { by axiom 11 (initiates_all_defn_1) } 0.16/0.50 fresh46(fresh56(happens(push, n2), true2, pull, spinning, n2), true2, n2, spinning) 0.16/0.50 = { by axiom 3 (happens_all_defn_3) } 0.16/0.50 fresh46(fresh56(fresh49(n2, n2, push, n2), true2, pull, spinning, n2), true2, n2, spinning) 0.16/0.50 = { by axiom 12 (happens_all_defn_3) } 0.16/0.50 fresh46(fresh56(fresh48(push, push, push, n2), true2, pull, spinning, n2), true2, n2, spinning) 0.16/0.51 = { by axiom 4 (happens_all_defn_3) } 0.16/0.51 fresh46(fresh56(true2, true2, pull, spinning, n2), true2, n2, spinning) 0.16/0.51 = { by axiom 9 (initiates_all_defn_1) } 0.16/0.51 fresh46(fresh57(pull, pull, pull, spinning, n2), true2, n2, spinning) 0.16/0.51 = { by axiom 8 (initiates_all_defn_1) } 0.16/0.51 fresh46(true2, true2, n2, spinning) 0.16/0.51 = { by axiom 6 (happens_holds) } 0.16/0.51 true2 0.16/0.51 % SZS output end Proof 0.16/0.51 0.16/0.51 RESULT: Theorem (the conjecture is true). 0.16/0.51 EOF