0.00/0.12 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.00/0.12 % Command : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof 0.13/0.33 % Computer : n003.cluster.edu 0.13/0.33 % Model : x86_64 x86_64 0.13/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.13/0.33 % Memory : 8042.1875MB 0.13/0.33 % OS : Linux 3.10.0-693.el7.x86_64 0.13/0.33 % CPULimit : 1200 0.13/0.33 % WCLimit : 120 0.13/0.33 % DateTime : Tue Jul 13 16:14:54 EDT 2021 0.13/0.34 % CPUTime : 0.19/0.49 % SZS status Theorem 0.19/0.49 0.19/0.50 % SZS output start Proof 0.19/0.50 Take the following subset of the input axioms: 0.19/0.50 fof(additive_associativity, axiom, ![A, B, C]: addition(A, addition(B, C))=addition(addition(A, B), C)). 0.19/0.50 fof(additive_commutativity, axiom, ![A, B]: addition(A, B)=addition(B, A)). 0.19/0.50 fof(distributivity2, axiom, ![A, B, C]: multiplication(addition(A, B), C)=addition(multiplication(A, C), multiplication(B, C))). 0.19/0.50 fof(goals, conjecture, ![X0]: (leq(strong_iteration(strong_iteration(X0)), strong_iteration(one)) & leq(strong_iteration(one), strong_iteration(strong_iteration(X0))))). 0.19/0.50 fof(idempotence, axiom, ![A]: addition(A, A)=A). 0.19/0.50 fof(infty_coinduction, axiom, ![A, B, C]: (leq(C, addition(multiplication(A, C), B)) => leq(C, multiplication(strong_iteration(A), B)))). 0.19/0.50 fof(infty_unfold1, axiom, ![A]: strong_iteration(A)=addition(multiplication(A, strong_iteration(A)), one)). 0.19/0.50 fof(multiplicative_left_identity, axiom, ![A]: multiplication(one, A)=A). 0.19/0.50 fof(multiplicative_right_identity, axiom, ![A]: A=multiplication(A, one)). 0.19/0.50 fof(order, axiom, ![A, B]: (B=addition(A, B) <=> leq(A, B))). 0.19/0.50 0.19/0.50 Now clausify the problem and encode Horn clauses using encoding 3 of 0.19/0.50 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 0.19/0.50 We repeatedly replace C & s=t => u=v by the two clauses: 0.19/0.50 fresh(y, y, x1...xn) = u 0.19/0.50 C => fresh(s, t, x1...xn) = v 0.19/0.50 where fresh is a fresh function symbol and x1..xn are the free 0.19/0.50 variables of u and v. 0.19/0.50 A predicate p(X) is encoded as p(X)=true (this is sound, because the 0.19/0.50 input problem has no model of domain size 1). 0.19/0.50 0.19/0.50 The encoding turns the above axioms into the following unit equations and goals: 0.19/0.50 0.19/0.50 Axiom 1 (idempotence): addition(X, X) = X. 0.19/0.50 Axiom 2 (additive_commutativity): addition(X, Y) = addition(Y, X). 0.19/0.50 Axiom 3 (multiplicative_right_identity): X = multiplication(X, one). 0.19/0.50 Axiom 4 (multiplicative_left_identity): multiplication(one, X) = X. 0.19/0.50 Axiom 5 (order): fresh5(X, X, Y, Z) = true. 0.19/0.50 Axiom 6 (additive_associativity): addition(X, addition(Y, Z)) = addition(addition(X, Y), Z). 0.19/0.50 Axiom 7 (infty_coinduction): fresh4(X, X, Y, Z, W) = true. 0.19/0.50 Axiom 8 (infty_unfold1): strong_iteration(X) = addition(multiplication(X, strong_iteration(X)), one). 0.19/0.50 Axiom 9 (order): fresh5(X, addition(Y, X), Y, X) = leq(Y, X). 0.19/0.50 Axiom 10 (distributivity2): multiplication(addition(X, Y), Z) = addition(multiplication(X, Z), multiplication(Y, Z)). 0.19/0.50 Axiom 11 (infty_coinduction): fresh4(leq(X, addition(multiplication(Y, X), Z)), true, Y, Z, X) = leq(X, multiplication(strong_iteration(Y), Z)). 0.19/0.50 0.19/0.50 Lemma 12: leq(X, multiplication(strong_iteration(addition(Y, one)), Z)) = true. 0.19/0.50 Proof: 0.19/0.50 leq(X, multiplication(strong_iteration(addition(Y, one)), Z)) 0.19/0.50 = { by axiom 11 (infty_coinduction) R->L } 0.19/0.50 fresh4(leq(X, addition(multiplication(addition(Y, one), X), Z)), true, addition(Y, one), Z, X) 0.19/0.50 = { by axiom 2 (additive_commutativity) R->L } 0.19/0.50 fresh4(leq(X, addition(multiplication(addition(one, Y), X), Z)), true, addition(Y, one), Z, X) 0.19/0.50 = { by axiom 10 (distributivity2) } 0.19/0.50 fresh4(leq(X, addition(addition(multiplication(one, X), multiplication(Y, X)), Z)), true, addition(Y, one), Z, X) 0.19/0.50 = { by axiom 4 (multiplicative_left_identity) } 0.19/0.50 fresh4(leq(X, addition(addition(X, multiplication(Y, X)), Z)), true, addition(Y, one), Z, X) 0.19/0.50 = { by axiom 6 (additive_associativity) R->L } 0.19/0.50 fresh4(leq(X, addition(X, addition(multiplication(Y, X), Z))), true, addition(Y, one), Z, X) 0.19/0.50 = { by axiom 9 (order) R->L } 0.19/0.50 fresh4(fresh5(addition(X, addition(multiplication(Y, X), Z)), addition(X, addition(X, addition(multiplication(Y, X), Z))), X, addition(X, addition(multiplication(Y, X), Z))), true, addition(Y, one), Z, X) 0.19/0.50 = { by axiom 6 (additive_associativity) } 0.19/0.50 fresh4(fresh5(addition(X, addition(multiplication(Y, X), Z)), addition(addition(X, X), addition(multiplication(Y, X), Z)), X, addition(X, addition(multiplication(Y, X), Z))), true, addition(Y, one), Z, X) 0.19/0.50 = { by axiom 1 (idempotence) } 0.19/0.50 fresh4(fresh5(addition(X, addition(multiplication(Y, X), Z)), addition(X, addition(multiplication(Y, X), Z)), X, addition(X, addition(multiplication(Y, X), Z))), true, addition(Y, one), Z, X) 0.19/0.50 = { by axiom 5 (order) } 0.19/0.50 fresh4(true, true, addition(Y, one), Z, X) 0.19/0.50 = { by axiom 7 (infty_coinduction) } 0.19/0.50 true 0.19/0.50 0.19/0.50 Goal 1 (goals): tuple(leq(strong_iteration(strong_iteration(x0_2)), strong_iteration(one)), leq(strong_iteration(one), strong_iteration(strong_iteration(x0)))) = tuple(true, true). 0.19/0.50 Proof: 0.19/0.50 tuple(leq(strong_iteration(strong_iteration(x0_2)), strong_iteration(one)), leq(strong_iteration(one), strong_iteration(strong_iteration(x0)))) 0.19/0.50 = { by axiom 3 (multiplicative_right_identity) } 0.19/0.50 tuple(leq(strong_iteration(strong_iteration(x0_2)), multiplication(strong_iteration(one), one)), leq(strong_iteration(one), strong_iteration(strong_iteration(x0)))) 0.19/0.50 = { by axiom 1 (idempotence) R->L } 0.19/0.50 tuple(leq(strong_iteration(strong_iteration(x0_2)), multiplication(strong_iteration(addition(one, one)), one)), leq(strong_iteration(one), strong_iteration(strong_iteration(x0)))) 0.19/0.50 = { by lemma 12 } 0.19/0.50 tuple(true, leq(strong_iteration(one), strong_iteration(strong_iteration(x0)))) 0.19/0.50 = { by axiom 8 (infty_unfold1) } 0.19/0.50 tuple(true, leq(strong_iteration(one), strong_iteration(addition(multiplication(x0, strong_iteration(x0)), one)))) 0.19/0.50 = { by axiom 3 (multiplicative_right_identity) } 0.19/0.50 tuple(true, leq(strong_iteration(one), multiplication(strong_iteration(addition(multiplication(x0, strong_iteration(x0)), one)), one))) 0.19/0.50 = { by lemma 12 } 0.19/0.50 tuple(true, true) 0.19/0.50 % SZS output end Proof 0.19/0.50 0.19/0.50 RESULT: Theorem (the conjecture is true). 0.19/0.50 EOF