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