0.07/0.12 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.07/0.13 % Command : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof 0.12/0.34 % Computer : n026.cluster.edu 0.12/0.34 % Model : x86_64 x86_64 0.12/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.12/0.34 % Memory : 8042.1875MB 0.12/0.34 % OS : Linux 3.10.0-693.el7.x86_64 0.12/0.34 % CPULimit : 1200 0.12/0.34 % WCLimit : 120 0.12/0.34 % DateTime : Tue Jul 13 16:35:59 EDT 2021 0.12/0.34 % CPUTime : 6.57/1.18 % SZS status Theorem 6.57/1.18 6.57/1.18 % SZS output start Proof 6.57/1.18 Take the following subset of the input axioms: 6.57/1.18 fof(less_entry_point_neg_pos, axiom, ![X, Y, RDN_X, RDN_Y]: (less(X, Y) <= (rdn_translate(Y, rdn_pos(RDN_Y)) & rdn_translate(X, rdn_neg(RDN_X))))). 6.57/1.18 fof(less_property, axiom, ![X, Y]: (less(X, Y) <=> (~less(Y, X) & Y!=X))). 6.57/1.18 fof(rdn0, axiom, rdn_translate(n0, rdn_pos(rdnn(n0)))). 6.57/1.18 fof(rdnn1, axiom, rdn_translate(nn1, rdn_neg(rdnn(n1)))). 6.57/1.18 fof(something_less_n0, conjecture, ?[X]: less(X, n0)). 6.57/1.18 6.57/1.18 Now clausify the problem and encode Horn clauses using encoding 3 of 6.57/1.18 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 6.57/1.18 We repeatedly replace C & s=t => u=v by the two clauses: 6.57/1.18 fresh(y, y, x1...xn) = u 6.57/1.18 C => fresh(s, t, x1...xn) = v 6.57/1.18 where fresh is a fresh function symbol and x1..xn are the free 6.57/1.18 variables of u and v. 6.57/1.18 A predicate p(X) is encoded as p(X)=true (this is sound, because the 6.57/1.18 input problem has no model of domain size 1). 6.57/1.18 6.57/1.18 The encoding turns the above axioms into the following unit equations and goals: 6.57/1.18 6.57/1.18 Axiom 1 (rdn0): rdn_translate(n0, rdn_pos(rdnn(n0))) = true2. 6.57/1.18 Axiom 2 (rdnn1): rdn_translate(nn1, rdn_neg(rdnn(n1))) = true2. 6.57/1.18 Axiom 3 (less_entry_point_neg_pos): fresh22(X, X, Y, Z) = true2. 6.57/1.18 Axiom 4 (less_entry_point_neg_pos): fresh23(X, X, Y, Z, W) = less(Y, Z). 6.57/1.18 Axiom 5 (less_entry_point_neg_pos): fresh23(rdn_translate(X, rdn_pos(Y)), true2, Z, X, W) = fresh22(rdn_translate(Z, rdn_neg(W)), true2, Z, X). 6.57/1.18 6.57/1.18 Goal 1 (something_less_n0): less(X, n0) = true2. 6.57/1.18 The goal is true when: 6.57/1.18 X = nn1 6.57/1.18 6.57/1.18 Proof: 6.57/1.18 less(nn1, n0) 6.57/1.18 = { by axiom 4 (less_entry_point_neg_pos) R->L } 6.57/1.18 fresh23(true2, true2, nn1, n0, rdnn(n1)) 6.57/1.18 = { by axiom 1 (rdn0) R->L } 6.57/1.18 fresh23(rdn_translate(n0, rdn_pos(rdnn(n0))), true2, nn1, n0, rdnn(n1)) 6.57/1.18 = { by axiom 5 (less_entry_point_neg_pos) } 6.57/1.18 fresh22(rdn_translate(nn1, rdn_neg(rdnn(n1))), true2, nn1, n0) 6.57/1.18 = { by axiom 2 (rdnn1) } 6.57/1.18 fresh22(true2, true2, nn1, n0) 6.57/1.18 = { by axiom 3 (less_entry_point_neg_pos) } 6.57/1.18 true2 6.57/1.18 % SZS output end Proof 6.57/1.18 6.57/1.18 RESULT: Theorem (the conjecture is true). 6.57/1.19 EOF