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