TSTP Solution File: KLE015+1 by Twee---2.4.2

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Twee---2.4.2
% Problem  : KLE015+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 : n011.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:28 EDT 2023

% Result   : Theorem 0.20s 0.51s
% Output   : Proof 0.20s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.08/0.13  % Problem  : KLE015+1 : TPTP v8.1.2. Released v4.0.0.
% 0.08/0.14  % Command  : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof
% 0.13/0.35  % Computer : n011.cluster.edu
% 0.13/0.35  % Model    : x86_64 x86_64
% 0.13/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.35  % Memory   : 8042.1875MB
% 0.13/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.35  % CPULimit : 300
% 0.13/0.35  % WCLimit  : 300
% 0.13/0.35  % DateTime : Tue Aug 29 12:21:56 EDT 2023
% 0.13/0.35  % CPUTime  : 
% 0.20/0.51  Command-line arguments: --ground-connectedness --complete-subsets
% 0.20/0.51  
% 0.20/0.51  % SZS status Theorem
% 0.20/0.51  
% 0.20/0.51  % SZS output start Proof
% 0.20/0.51  Take the following subset of the input axioms:
% 0.20/0.52    fof(additive_associativity, axiom, ![A, B, C]: addition(A, addition(B, C))=addition(addition(A, B), C)).
% 0.20/0.52    fof(additive_commutativity, axiom, ![A2, B2]: addition(A2, B2)=addition(B2, A2)).
% 0.20/0.52    fof(additive_idempotence, axiom, ![A2]: addition(A2, A2)=A2).
% 0.20/0.52    fof(additive_identity, axiom, ![A2]: addition(A2, zero)=A2).
% 0.20/0.52    fof(goals, conjecture, ![X0, X1]: ((test(X1) & test(X0)) => multiplication(multiplication(addition(X0, X1), c(X0)), c(X1))=zero)).
% 0.20/0.52    fof(left_distributivity, axiom, ![A2, B2, C2]: multiplication(addition(A2, B2), C2)=addition(multiplication(A2, C2), multiplication(B2, C2))).
% 0.20/0.52    fof(multiplicative_right_identity, axiom, ![A2]: multiplication(A2, one)=A2).
% 0.20/0.52    fof(right_distributivity, axiom, ![A2, B2, C2]: multiplication(A2, addition(B2, C2))=addition(multiplication(A2, B2), multiplication(A2, C2))).
% 0.20/0.52    fof(test_2, axiom, ![X0_2, X1_2]: (complement(X1_2, X0_2) <=> (multiplication(X0_2, X1_2)=zero & (multiplication(X1_2, X0_2)=zero & addition(X0_2, X1_2)=one)))).
% 0.20/0.52    fof(test_3, axiom, ![X0_2, X1_2]: (test(X0_2) => (c(X0_2)=X1_2 <=> complement(X0_2, X1_2)))).
% 0.20/0.52  
% 0.20/0.52  Now clausify the problem and encode Horn clauses using encoding 3 of
% 0.20/0.52  http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 0.20/0.52  We repeatedly replace C & s=t => u=v by the two clauses:
% 0.20/0.52    fresh(y, y, x1...xn) = u
% 0.20/0.52    C => fresh(s, t, x1...xn) = v
% 0.20/0.52  where fresh is a fresh function symbol and x1..xn are the free
% 0.20/0.52  variables of u and v.
% 0.20/0.52  A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 0.20/0.52  input problem has no model of domain size 1).
% 0.20/0.52  
% 0.20/0.52  The encoding turns the above axioms into the following unit equations and goals:
% 0.20/0.52  
% 0.20/0.52  Axiom 1 (goals): test(x1) = true.
% 0.20/0.52  Axiom 2 (goals_1): test(x0) = true.
% 0.20/0.52  Axiom 3 (additive_idempotence): addition(X, X) = X.
% 0.20/0.52  Axiom 4 (additive_commutativity): addition(X, Y) = addition(Y, X).
% 0.20/0.52  Axiom 5 (additive_identity): addition(X, zero) = X.
% 0.20/0.52  Axiom 6 (multiplicative_right_identity): multiplication(X, one) = X.
% 0.20/0.52  Axiom 7 (test_2_1): fresh8(X, X, Y, Z) = one.
% 0.20/0.52  Axiom 8 (test_2_3): fresh6(X, X, Y, Z) = zero.
% 0.20/0.52  Axiom 9 (test_3): fresh5(X, X, Y, Z) = complement(Y, Z).
% 0.20/0.52  Axiom 10 (test_3): fresh4(X, X, Y, Z) = true.
% 0.20/0.52  Axiom 11 (additive_associativity): addition(X, addition(Y, Z)) = addition(addition(X, Y), Z).
% 0.20/0.52  Axiom 12 (test_3): fresh5(test(X), true, X, Y) = fresh4(c(X), Y, X, Y).
% 0.20/0.52  Axiom 13 (test_2_1): fresh8(complement(X, Y), true, Y, X) = addition(Y, X).
% 0.20/0.52  Axiom 14 (test_2_3): fresh6(complement(X, Y), true, Y, X) = multiplication(X, Y).
% 0.20/0.52  Axiom 15 (right_distributivity): multiplication(X, addition(Y, Z)) = addition(multiplication(X, Y), multiplication(X, Z)).
% 0.20/0.52  Axiom 16 (left_distributivity): multiplication(addition(X, Y), Z) = addition(multiplication(X, Z), multiplication(Y, Z)).
% 0.20/0.52  
% 0.20/0.52  Lemma 17: addition(zero, X) = X.
% 0.20/0.52  Proof:
% 0.20/0.52    addition(zero, X)
% 0.20/0.52  = { by axiom 4 (additive_commutativity) R->L }
% 0.20/0.52    addition(X, zero)
% 0.20/0.52  = { by axiom 5 (additive_identity) }
% 0.20/0.52    X
% 0.20/0.52  
% 0.20/0.52  Lemma 18: complement(x0, c(x0)) = true.
% 0.20/0.52  Proof:
% 0.20/0.52    complement(x0, c(x0))
% 0.20/0.52  = { by axiom 9 (test_3) R->L }
% 0.20/0.52    fresh5(true, true, x0, c(x0))
% 0.20/0.52  = { by axiom 2 (goals_1) R->L }
% 0.20/0.52    fresh5(test(x0), true, x0, c(x0))
% 0.20/0.52  = { by axiom 12 (test_3) }
% 0.20/0.52    fresh4(c(x0), c(x0), x0, c(x0))
% 0.20/0.52  = { by axiom 10 (test_3) }
% 0.20/0.52    true
% 0.20/0.52  
% 0.20/0.52  Lemma 19: addition(c(x0), x0) = one.
% 0.20/0.52  Proof:
% 0.20/0.52    addition(c(x0), x0)
% 0.20/0.52  = { by axiom 13 (test_2_1) R->L }
% 0.20/0.52    fresh8(complement(x0, c(x0)), true, c(x0), x0)
% 0.20/0.52  = { by lemma 18 }
% 0.20/0.52    fresh8(true, true, c(x0), x0)
% 0.20/0.52  = { by axiom 7 (test_2_1) }
% 0.20/0.52    one
% 0.20/0.52  
% 0.20/0.52  Lemma 20: multiplication(x1, c(x1)) = zero.
% 0.20/0.52  Proof:
% 0.20/0.52    multiplication(x1, c(x1))
% 0.20/0.52  = { by axiom 14 (test_2_3) R->L }
% 0.20/0.52    fresh6(complement(x1, c(x1)), true, c(x1), x1)
% 0.20/0.52  = { by axiom 9 (test_3) R->L }
% 0.20/0.52    fresh6(fresh5(true, true, x1, c(x1)), true, c(x1), x1)
% 0.20/0.52  = { by axiom 1 (goals) R->L }
% 0.20/0.52    fresh6(fresh5(test(x1), true, x1, c(x1)), true, c(x1), x1)
% 0.20/0.52  = { by axiom 12 (test_3) }
% 0.20/0.52    fresh6(fresh4(c(x1), c(x1), x1, c(x1)), true, c(x1), x1)
% 0.20/0.52  = { by axiom 10 (test_3) }
% 0.20/0.52    fresh6(true, true, c(x1), x1)
% 0.20/0.52  = { by axiom 8 (test_2_3) }
% 0.20/0.52    zero
% 0.20/0.52  
% 0.20/0.52  Goal 1 (goals_2): multiplication(multiplication(addition(x0, x1), c(x0)), c(x1)) = zero.
% 0.20/0.52  Proof:
% 0.20/0.52    multiplication(multiplication(addition(x0, x1), c(x0)), c(x1))
% 0.20/0.52  = { by lemma 17 R->L }
% 0.20/0.52    addition(zero, multiplication(multiplication(addition(x0, x1), c(x0)), c(x1)))
% 0.20/0.52  = { by lemma 20 R->L }
% 0.20/0.52    addition(multiplication(x1, c(x1)), multiplication(multiplication(addition(x0, x1), c(x0)), c(x1)))
% 0.20/0.52  = { by axiom 16 (left_distributivity) R->L }
% 0.20/0.52    multiplication(addition(x1, multiplication(addition(x0, x1), c(x0))), c(x1))
% 0.20/0.52  = { by axiom 16 (left_distributivity) }
% 0.20/0.52    multiplication(addition(x1, addition(multiplication(x0, c(x0)), multiplication(x1, c(x0)))), c(x1))
% 0.20/0.52  = { by axiom 14 (test_2_3) R->L }
% 0.20/0.52    multiplication(addition(x1, addition(fresh6(complement(x0, c(x0)), true, c(x0), x0), multiplication(x1, c(x0)))), c(x1))
% 0.20/0.52  = { by lemma 18 }
% 0.20/0.52    multiplication(addition(x1, addition(fresh6(true, true, c(x0), x0), multiplication(x1, c(x0)))), c(x1))
% 0.20/0.52  = { by axiom 8 (test_2_3) }
% 0.20/0.52    multiplication(addition(x1, addition(zero, multiplication(x1, c(x0)))), c(x1))
% 0.20/0.52  = { by lemma 17 }
% 0.20/0.52    multiplication(addition(x1, multiplication(x1, c(x0))), c(x1))
% 0.20/0.52  = { by axiom 6 (multiplicative_right_identity) R->L }
% 0.20/0.52    multiplication(addition(multiplication(x1, one), multiplication(x1, c(x0))), c(x1))
% 0.20/0.52  = { by axiom 15 (right_distributivity) R->L }
% 0.20/0.52    multiplication(multiplication(x1, addition(one, c(x0))), c(x1))
% 0.20/0.52  = { by axiom 4 (additive_commutativity) }
% 0.20/0.52    multiplication(multiplication(x1, addition(c(x0), one)), c(x1))
% 0.20/0.52  = { by lemma 19 R->L }
% 0.20/0.52    multiplication(multiplication(x1, addition(c(x0), addition(c(x0), x0))), c(x1))
% 0.20/0.52  = { by axiom 11 (additive_associativity) }
% 0.20/0.52    multiplication(multiplication(x1, addition(addition(c(x0), c(x0)), x0)), c(x1))
% 0.20/0.52  = { by axiom 3 (additive_idempotence) }
% 0.20/0.52    multiplication(multiplication(x1, addition(c(x0), x0)), c(x1))
% 0.20/0.52  = { by lemma 19 }
% 0.20/0.52    multiplication(multiplication(x1, one), c(x1))
% 0.20/0.52  = { by axiom 6 (multiplicative_right_identity) }
% 0.20/0.52    multiplication(x1, c(x1))
% 0.20/0.52  = { by lemma 20 }
% 0.20/0.52    zero
% 0.20/0.52  % SZS output end Proof
% 0.20/0.52  
% 0.20/0.52  RESULT: Theorem (the conjecture is true).
%------------------------------------------------------------------------------