TSTP Solution File: KLE082+1 by Twee---2.4.2
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Twee---2.4.2
% Problem : KLE082+1 : TPTP v8.1.2. Released v4.0.0.
% Transfm : none
% Format : tptp:raw
% Command : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof
% Computer : n016.cluster.edu
% Model : x86_64 x86_64
% CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory : 8042.1875MB
% OS : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit : 300s
% DateTime : Thu Aug 31 05:35:49 EDT 2023
% Result : Theorem 0.20s 0.49s
% Output : Proof 0.20s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.06/0.12 % Problem : KLE082+1 : TPTP v8.1.2. Released v4.0.0.
% 0.06/0.13 % Command : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof
% 0.14/0.33 % Computer : n016.cluster.edu
% 0.14/0.33 % Model : x86_64 x86_64
% 0.14/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.33 % Memory : 8042.1875MB
% 0.14/0.33 % OS : Linux 3.10.0-693.el7.x86_64
% 0.14/0.33 % CPULimit : 300
% 0.14/0.34 % WCLimit : 300
% 0.14/0.34 % DateTime : Tue Aug 29 12:54:46 EDT 2023
% 0.14/0.34 % CPUTime :
% 0.20/0.49 Command-line arguments: --no-flatten-goal
% 0.20/0.49
% 0.20/0.49 % SZS status Theorem
% 0.20/0.49
% 0.20/0.49 % SZS output start Proof
% 0.20/0.49 Take the following subset of the input axioms:
% 0.20/0.49 fof(additive_associativity, axiom, ![A, B, C]: addition(A, addition(B, C))=addition(addition(A, B), C)).
% 0.20/0.49 fof(additive_commutativity, axiom, ![A2, B2]: addition(A2, B2)=addition(B2, A2)).
% 0.20/0.49 fof(additive_idempotence, axiom, ![A2]: addition(A2, A2)=A2).
% 0.20/0.49 fof(additive_identity, axiom, ![A2]: addition(A2, zero)=A2).
% 0.20/0.49 fof(domain2, axiom, ![X0, X1]: domain(multiplication(X0, X1))=domain(multiplication(X0, domain(X1)))).
% 0.20/0.49 fof(goals, conjecture, ![X0_2, X1_2]: (![X2]: (addition(domain(X2), antidomain(X2))=one & multiplication(domain(X2), antidomain(X2))=zero) => addition(antidomain(multiplication(X0_2, X1_2)), antidomain(multiplication(X0_2, domain(X1_2))))=antidomain(multiplication(X0_2, domain(X1_2))))).
% 0.20/0.49 fof(left_distributivity, axiom, ![A2, B2, C2]: multiplication(addition(A2, B2), C2)=addition(multiplication(A2, C2), multiplication(B2, C2))).
% 0.20/0.49 fof(multiplicative_left_identity, axiom, ![A2]: multiplication(one, A2)=A2).
% 0.20/0.49 fof(multiplicative_right_identity, axiom, ![A2]: multiplication(A2, one)=A2).
% 0.20/0.49 fof(right_distributivity, axiom, ![A2, B2, C2]: multiplication(A2, addition(B2, C2))=addition(multiplication(A2, B2), multiplication(A2, C2))).
% 0.20/0.49
% 0.20/0.49 Now clausify the problem and encode Horn clauses using encoding 3 of
% 0.20/0.49 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 0.20/0.49 We repeatedly replace C & s=t => u=v by the two clauses:
% 0.20/0.49 fresh(y, y, x1...xn) = u
% 0.20/0.49 C => fresh(s, t, x1...xn) = v
% 0.20/0.49 where fresh is a fresh function symbol and x1..xn are the free
% 0.20/0.49 variables of u and v.
% 0.20/0.49 A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 0.20/0.49 input problem has no model of domain size 1).
% 0.20/0.49
% 0.20/0.49 The encoding turns the above axioms into the following unit equations and goals:
% 0.20/0.49
% 0.20/0.49 Axiom 1 (additive_idempotence): addition(X, X) = X.
% 0.20/0.49 Axiom 2 (additive_commutativity): addition(X, Y) = addition(Y, X).
% 0.20/0.49 Axiom 3 (additive_identity): addition(X, zero) = X.
% 0.20/0.49 Axiom 4 (multiplicative_right_identity): multiplication(X, one) = X.
% 0.20/0.49 Axiom 5 (multiplicative_left_identity): multiplication(one, X) = X.
% 0.20/0.49 Axiom 6 (domain2): domain(multiplication(X, Y)) = domain(multiplication(X, domain(Y))).
% 0.20/0.49 Axiom 7 (goals): addition(domain(X), antidomain(X)) = one.
% 0.20/0.49 Axiom 8 (additive_associativity): addition(X, addition(Y, Z)) = addition(addition(X, Y), Z).
% 0.20/0.49 Axiom 9 (goals_1): multiplication(domain(X), antidomain(X)) = zero.
% 0.20/0.49 Axiom 10 (right_distributivity): multiplication(X, addition(Y, Z)) = addition(multiplication(X, Y), multiplication(X, Z)).
% 0.20/0.49 Axiom 11 (left_distributivity): multiplication(addition(X, Y), Z) = addition(multiplication(X, Z), multiplication(Y, Z)).
% 0.20/0.49
% 0.20/0.49 Lemma 12: domain(domain(X)) = domain(X).
% 0.20/0.49 Proof:
% 0.20/0.49 domain(domain(X))
% 0.20/0.49 = { by axiom 5 (multiplicative_left_identity) R->L }
% 0.20/0.49 domain(multiplication(one, domain(X)))
% 0.20/0.49 = { by axiom 6 (domain2) R->L }
% 0.20/0.49 domain(multiplication(one, X))
% 0.20/0.49 = { by axiom 5 (multiplicative_left_identity) }
% 0.20/0.49 domain(X)
% 0.20/0.49
% 0.20/0.49 Lemma 13: addition(antidomain(X), domain(X)) = one.
% 0.20/0.49 Proof:
% 0.20/0.49 addition(antidomain(X), domain(X))
% 0.20/0.49 = { by axiom 2 (additive_commutativity) R->L }
% 0.20/0.49 addition(domain(X), antidomain(X))
% 0.20/0.49 = { by axiom 7 (goals) }
% 0.20/0.49 one
% 0.20/0.49
% 0.20/0.49 Lemma 14: addition(one, antidomain(X)) = one.
% 0.20/0.49 Proof:
% 0.20/0.49 addition(one, antidomain(X))
% 0.20/0.49 = { by axiom 2 (additive_commutativity) R->L }
% 0.20/0.49 addition(antidomain(X), one)
% 0.20/0.49 = { by lemma 13 R->L }
% 0.20/0.49 addition(antidomain(X), addition(antidomain(X), domain(X)))
% 0.20/0.49 = { by axiom 8 (additive_associativity) }
% 0.20/0.49 addition(addition(antidomain(X), antidomain(X)), domain(X))
% 0.20/0.49 = { by axiom 1 (additive_idempotence) }
% 0.20/0.49 addition(antidomain(X), domain(X))
% 0.20/0.49 = { by lemma 13 }
% 0.20/0.49 one
% 0.20/0.49
% 0.20/0.49 Lemma 15: multiplication(X, addition(one, Y)) = addition(X, multiplication(X, Y)).
% 0.20/0.49 Proof:
% 0.20/0.49 multiplication(X, addition(one, Y))
% 0.20/0.49 = { by axiom 10 (right_distributivity) }
% 0.20/0.49 addition(multiplication(X, one), multiplication(X, Y))
% 0.20/0.49 = { by axiom 4 (multiplicative_right_identity) }
% 0.20/0.49 addition(X, multiplication(X, Y))
% 0.20/0.49
% 0.20/0.49 Lemma 16: multiplication(addition(X, domain(Y)), antidomain(Y)) = multiplication(X, antidomain(Y)).
% 0.20/0.49 Proof:
% 0.20/0.49 multiplication(addition(X, domain(Y)), antidomain(Y))
% 0.20/0.49 = { by axiom 11 (left_distributivity) }
% 0.20/0.49 addition(multiplication(X, antidomain(Y)), multiplication(domain(Y), antidomain(Y)))
% 0.20/0.49 = { by axiom 9 (goals_1) }
% 0.20/0.49 addition(multiplication(X, antidomain(Y)), zero)
% 0.20/0.49 = { by axiom 3 (additive_identity) }
% 0.20/0.49 multiplication(X, antidomain(Y))
% 0.20/0.49
% 0.20/0.49 Lemma 17: antidomain(domain(X)) = antidomain(X).
% 0.20/0.49 Proof:
% 0.20/0.49 antidomain(domain(X))
% 0.20/0.49 = { by axiom 4 (multiplicative_right_identity) R->L }
% 0.20/0.49 multiplication(antidomain(domain(X)), one)
% 0.20/0.49 = { by lemma 14 R->L }
% 0.20/0.50 multiplication(antidomain(domain(X)), addition(one, antidomain(X)))
% 0.20/0.50 = { by lemma 15 }
% 0.20/0.50 addition(antidomain(domain(X)), multiplication(antidomain(domain(X)), antidomain(X)))
% 0.20/0.50 = { by lemma 16 R->L }
% 0.20/0.50 addition(antidomain(domain(X)), multiplication(addition(antidomain(domain(X)), domain(X)), antidomain(X)))
% 0.20/0.50 = { by lemma 12 R->L }
% 0.20/0.50 addition(antidomain(domain(X)), multiplication(addition(antidomain(domain(X)), domain(domain(X))), antidomain(X)))
% 0.20/0.50 = { by lemma 13 }
% 0.20/0.50 addition(antidomain(domain(X)), multiplication(one, antidomain(X)))
% 0.20/0.50 = { by axiom 5 (multiplicative_left_identity) }
% 0.20/0.50 addition(antidomain(domain(X)), antidomain(X))
% 0.20/0.50 = { by axiom 2 (additive_commutativity) }
% 0.20/0.50 addition(antidomain(X), antidomain(domain(X)))
% 0.20/0.50 = { by axiom 5 (multiplicative_left_identity) R->L }
% 0.20/0.50 addition(antidomain(X), multiplication(one, antidomain(domain(X))))
% 0.20/0.50 = { by lemma 13 R->L }
% 0.20/0.50 addition(antidomain(X), multiplication(addition(antidomain(X), domain(X)), antidomain(domain(X))))
% 0.20/0.50 = { by lemma 12 R->L }
% 0.20/0.50 addition(antidomain(X), multiplication(addition(antidomain(X), domain(domain(X))), antidomain(domain(X))))
% 0.20/0.50 = { by lemma 16 }
% 0.20/0.50 addition(antidomain(X), multiplication(antidomain(X), antidomain(domain(X))))
% 0.20/0.50 = { by lemma 15 R->L }
% 0.20/0.50 multiplication(antidomain(X), addition(one, antidomain(domain(X))))
% 0.20/0.50 = { by lemma 14 }
% 0.20/0.50 multiplication(antidomain(X), one)
% 0.20/0.50 = { by axiom 4 (multiplicative_right_identity) }
% 0.20/0.50 antidomain(X)
% 0.20/0.50
% 0.20/0.50 Lemma 18: antidomain(multiplication(X, domain(Y))) = antidomain(multiplication(X, Y)).
% 0.20/0.50 Proof:
% 0.20/0.50 antidomain(multiplication(X, domain(Y)))
% 0.20/0.50 = { by lemma 17 R->L }
% 0.20/0.50 antidomain(domain(multiplication(X, domain(Y))))
% 0.20/0.50 = { by axiom 6 (domain2) R->L }
% 0.20/0.50 antidomain(domain(multiplication(X, Y)))
% 0.20/0.50 = { by lemma 17 }
% 0.20/0.50 antidomain(multiplication(X, Y))
% 0.20/0.50
% 0.20/0.50 Goal 1 (goals_2): addition(antidomain(multiplication(x0, x1)), antidomain(multiplication(x0, domain(x1)))) = antidomain(multiplication(x0, domain(x1))).
% 0.20/0.50 Proof:
% 0.20/0.50 addition(antidomain(multiplication(x0, x1)), antidomain(multiplication(x0, domain(x1))))
% 0.20/0.50 = { by lemma 18 }
% 0.20/0.50 addition(antidomain(multiplication(x0, x1)), antidomain(multiplication(x0, x1)))
% 0.20/0.50 = { by axiom 1 (additive_idempotence) }
% 0.20/0.50 antidomain(multiplication(x0, x1))
% 0.20/0.50 = { by lemma 18 R->L }
% 0.20/0.50 antidomain(multiplication(x0, domain(x1)))
% 0.20/0.50 % SZS output end Proof
% 0.20/0.50
% 0.20/0.50 RESULT: Theorem (the conjecture is true).
%------------------------------------------------------------------------------