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).
%------------------------------------------------------------------------------