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

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Twee---2.4.2
% Problem  : LCL901+1 : TPTP v8.1.2. Released v5.5.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 : n013.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 08:21:07 EDT 2023

% Result   : Theorem 0.21s 0.50s
% Output   : Proof 0.21s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.13  % Problem  : LCL901+1 : TPTP v8.1.2. Released v5.5.0.
% 0.00/0.14  % Command  : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof
% 0.15/0.35  % Computer : n013.cluster.edu
% 0.15/0.35  % Model    : x86_64 x86_64
% 0.15/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.35  % Memory   : 8042.1875MB
% 0.15/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.15/0.35  % CPULimit : 300
% 0.15/0.35  % WCLimit  : 300
% 0.15/0.35  % DateTime : Fri Aug 25 01:25:17 EDT 2023
% 0.21/0.35  % CPUTime  : 
% 0.21/0.50  Command-line arguments: --no-flatten-goal
% 0.21/0.50  
% 0.21/0.50  % SZS status Theorem
% 0.21/0.50  
% 0.21/0.51  % SZS output start Proof
% 0.21/0.51  Take the following subset of the input axioms:
% 0.21/0.51    fof(goals_15, conjecture, ![X17]: '==>'('==>'('==>'(X17, '1'), X17), X17)='0').
% 0.21/0.51    fof(sos_01, axiom, ![A, B, C]: '+'('+'(A, B), C)='+'(A, '+'(B, C))).
% 0.21/0.51    fof(sos_02, axiom, ![A2, B2]: '+'(A2, B2)='+'(B2, A2)).
% 0.21/0.51    fof(sos_03, axiom, ![A2]: '+'(A2, '0')=A2).
% 0.21/0.51    fof(sos_04, axiom, ![A2]: '>='(A2, A2)).
% 0.21/0.51    fof(sos_06, axiom, ![X3, X4]: (('>='(X3, X4) & '>='(X4, X3)) => X3=X4)).
% 0.21/0.51    fof(sos_07, axiom, ![X5, X6, X7]: ('>='('+'(X5, X6), X7) <=> '>='(X6, '==>'(X5, X7)))).
% 0.21/0.51    fof(sos_08, axiom, ![A2]: '>='(A2, '0')).
% 0.21/0.51    fof(sos_09, axiom, ![X8, X9, X10]: ('>='(X8, X9) => '>='('+'(X8, X10), '+'(X9, X10)))).
% 0.21/0.51    fof(sos_10, axiom, ![X11, X12, X13]: ('>='(X11, X12) => '>='('==>'(X12, X13), '==>'(X11, X13)))).
% 0.21/0.51    fof(sos_11, axiom, ![X14, X15, X16]: ('>='(X14, X15) => '>='('==>'(X16, X14), '==>'(X16, X15)))).
% 0.21/0.51    fof(sos_12, axiom, ![A2]: '+'(A2, '1')='1').
% 0.21/0.51    fof(sos_13, axiom, ![A2, B2]: '==>'('==>'(A2, B2), B2)='==>'('==>'(B2, A2), A2)).
% 0.21/0.51    fof(sos_14, axiom, ![A2]: '+'(A2, A2)=A2).
% 0.21/0.51  
% 0.21/0.51  Now clausify the problem and encode Horn clauses using encoding 3 of
% 0.21/0.51  http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 0.21/0.51  We repeatedly replace C & s=t => u=v by the two clauses:
% 0.21/0.51    fresh(y, y, x1...xn) = u
% 0.21/0.51    C => fresh(s, t, x1...xn) = v
% 0.21/0.51  where fresh is a fresh function symbol and x1..xn are the free
% 0.21/0.51  variables of u and v.
% 0.21/0.51  A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 0.21/0.51  input problem has no model of domain size 1).
% 0.21/0.51  
% 0.21/0.51  The encoding turns the above axioms into the following unit equations and goals:
% 0.21/0.51  
% 0.21/0.51  Axiom 1 (sos_14): X + X = X.
% 0.21/0.51  Axiom 2 (sos_02): X + Y = Y + X.
% 0.21/0.51  Axiom 3 (sos_03): X + 0 = X.
% 0.21/0.51  Axiom 4 (sos_12): X + 1 = 1.
% 0.21/0.51  Axiom 5 (sos_04): X >= X = true.
% 0.21/0.51  Axiom 6 (sos_08): X >= 0 = true.
% 0.21/0.51  Axiom 7 (sos_06): fresh(X, X, Y, Z) = Z.
% 0.21/0.51  Axiom 8 (sos_06): fresh2(X, X, Y, Z) = Y.
% 0.21/0.51  Axiom 9 (sos_01): (X + Y) + Z = X + (Y + Z).
% 0.21/0.51  Axiom 10 (sos_13): (X ==> Y) ==> Y = (Y ==> X) ==> X.
% 0.21/0.51  Axiom 11 (sos_07): fresh7(X, X, Y, Z, W) = true.
% 0.21/0.51  Axiom 12 (sos_07_1): fresh6(X, X, Y, Z, W) = true.
% 0.21/0.51  Axiom 13 (sos_09): fresh5(X, X, Y, Z, W) = true.
% 0.21/0.51  Axiom 14 (sos_10): fresh4(X, X, Y, Z, W) = true.
% 0.21/0.51  Axiom 15 (sos_11): fresh3(X, X, Y, Z, W) = true.
% 0.21/0.51  Axiom 16 (sos_06): fresh2(X >= Y, true, Y, X) = fresh(Y >= X, true, Y, X).
% 0.21/0.51  Axiom 17 (sos_09): fresh5(X >= Y, true, X, Y, Z) = (X + Z) >= (Y + Z).
% 0.21/0.51  Axiom 18 (sos_10): fresh4(X >= Y, true, X, Y, Z) = (Y ==> Z) >= (X ==> Z).
% 0.21/0.51  Axiom 19 (sos_11): fresh3(X >= Y, true, X, Y, Z) = (Z ==> X) >= (Z ==> Y).
% 0.21/0.51  Axiom 20 (sos_07): fresh7(X >= (Y ==> Z), true, Y, X, Z) = (Y + X) >= Z.
% 0.21/0.51  Axiom 21 (sos_07_1): fresh6((X + Y) >= Z, true, X, Y, Z) = Y >= (X ==> Z).
% 0.21/0.51  
% 0.21/0.51  Lemma 22: 0 + X = X.
% 0.21/0.51  Proof:
% 0.21/0.51    0 + X
% 0.21/0.51  = { by axiom 2 (sos_02) R->L }
% 0.21/0.51    X + 0
% 0.21/0.51  = { by axiom 3 (sos_03) }
% 0.21/0.51    X
% 0.21/0.51  
% 0.21/0.51  Lemma 23: (X + Y) >= X = true.
% 0.21/0.51  Proof:
% 0.21/0.51    (X + Y) >= X
% 0.21/0.51  = { by axiom 2 (sos_02) R->L }
% 0.21/0.51    (Y + X) >= X
% 0.21/0.51  = { by lemma 22 R->L }
% 0.21/0.51    (Y + X) >= (0 + X)
% 0.21/0.51  = { by axiom 17 (sos_09) R->L }
% 0.21/0.51    fresh5(Y >= 0, true, Y, 0, X)
% 0.21/0.51  = { by axiom 6 (sos_08) }
% 0.21/0.51    fresh5(true, true, Y, 0, X)
% 0.21/0.51  = { by axiom 13 (sos_09) }
% 0.21/0.51    true
% 0.21/0.51  
% 0.21/0.51  Lemma 24: 1 >= X = true.
% 0.21/0.51  Proof:
% 0.21/0.51    1 >= X
% 0.21/0.51  = { by axiom 4 (sos_12) R->L }
% 0.21/0.51    (X + 1) >= X
% 0.21/0.51  = { by lemma 23 }
% 0.21/0.51    true
% 0.21/0.51  
% 0.21/0.51  Lemma 25: X ==> X = 0.
% 0.21/0.51  Proof:
% 0.21/0.51    X ==> X
% 0.21/0.51  = { by lemma 22 R->L }
% 0.21/0.51    X ==> (0 + X)
% 0.21/0.51  = { by axiom 7 (sos_06) R->L }
% 0.21/0.51    fresh(true, true, 0, X ==> (0 + X))
% 0.21/0.51  = { by axiom 12 (sos_07_1) R->L }
% 0.21/0.51    fresh(fresh6(true, true, X, 0, X + 0), true, 0, X ==> (0 + X))
% 0.21/0.51  = { by axiom 5 (sos_04) R->L }
% 0.21/0.51    fresh(fresh6((X + 0) >= (X + 0), true, X, 0, X + 0), true, 0, X ==> (0 + X))
% 0.21/0.51  = { by axiom 21 (sos_07_1) }
% 0.21/0.51    fresh(0 >= (X ==> (X + 0)), true, 0, X ==> (0 + X))
% 0.21/0.51  = { by axiom 2 (sos_02) }
% 0.21/0.51    fresh(0 >= (X ==> (0 + X)), true, 0, X ==> (0 + X))
% 0.21/0.51  = { by axiom 16 (sos_06) R->L }
% 0.21/0.51    fresh2((X ==> (0 + X)) >= 0, true, 0, X ==> (0 + X))
% 0.21/0.51  = { by axiom 6 (sos_08) }
% 0.21/0.51    fresh2(true, true, 0, X ==> (0 + X))
% 0.21/0.51  = { by axiom 8 (sos_06) }
% 0.21/0.51    0
% 0.21/0.51  
% 0.21/0.51  Lemma 26: (X + Y) >= Y = true.
% 0.21/0.51  Proof:
% 0.21/0.51    (X + Y) >= Y
% 0.21/0.51  = { by axiom 2 (sos_02) R->L }
% 0.21/0.51    (Y + X) >= Y
% 0.21/0.51  = { by lemma 23 }
% 0.21/0.51    true
% 0.21/0.51  
% 0.21/0.51  Lemma 27: (X + (X ==> Y)) >= Y = true.
% 0.21/0.51  Proof:
% 0.21/0.51    (X + (X ==> Y)) >= Y
% 0.21/0.51  = { by axiom 20 (sos_07) R->L }
% 0.21/0.51    fresh7((X ==> Y) >= (X ==> Y), true, X, X ==> Y, Y)
% 0.21/0.51  = { by axiom 5 (sos_04) }
% 0.21/0.51    fresh7(true, true, X, X ==> Y, Y)
% 0.21/0.51  = { by axiom 11 (sos_07) }
% 0.21/0.51    true
% 0.21/0.51  
% 0.21/0.51  Goal 1 (goals_15): ((x17 ==> 1) ==> x17) ==> x17 = 0.
% 0.21/0.51  Proof:
% 0.21/0.51    ((x17 ==> 1) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 7 (sos_06) R->L }
% 0.21/0.51    fresh(true, true, (x17 ==> 1) ==> ((x17 ==> 1) + x17), (x17 ==> 1) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 15 (sos_11) R->L }
% 0.21/0.51    fresh(fresh3(true, true, (x17 ==> 1) + x17, x17, x17 ==> 1), true, (x17 ==> 1) ==> ((x17 ==> 1) + x17), (x17 ==> 1) ==> x17) ==> x17
% 0.21/0.51  = { by lemma 26 R->L }
% 0.21/0.51    fresh(fresh3(((x17 ==> 1) + x17) >= x17, true, (x17 ==> 1) + x17, x17, x17 ==> 1), true, (x17 ==> 1) ==> ((x17 ==> 1) + x17), (x17 ==> 1) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 19 (sos_11) }
% 0.21/0.51    fresh(((x17 ==> 1) ==> ((x17 ==> 1) + x17)) >= ((x17 ==> 1) ==> x17), true, (x17 ==> 1) ==> ((x17 ==> 1) + x17), (x17 ==> 1) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 16 (sos_06) R->L }
% 0.21/0.51    fresh2(((x17 ==> 1) ==> x17) >= ((x17 ==> 1) ==> ((x17 ==> 1) + x17)), true, (x17 ==> 1) ==> ((x17 ==> 1) + x17), (x17 ==> 1) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 21 (sos_07_1) R->L }
% 0.21/0.51    fresh2(fresh6(((x17 ==> 1) + ((x17 ==> 1) ==> x17)) >= ((x17 ==> 1) + x17), true, x17 ==> 1, (x17 ==> 1) ==> x17, (x17 ==> 1) + x17), true, (x17 ==> 1) ==> ((x17 ==> 1) + x17), (x17 ==> 1) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 2 (sos_02) R->L }
% 0.21/0.51    fresh2(fresh6(((x17 ==> 1) + ((x17 ==> 1) ==> x17)) >= (x17 + (x17 ==> 1)), true, x17 ==> 1, (x17 ==> 1) ==> x17, (x17 ==> 1) + x17), true, (x17 ==> 1) ==> ((x17 ==> 1) + x17), (x17 ==> 1) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 1 (sos_14) R->L }
% 0.21/0.51    fresh2(fresh6((((x17 ==> 1) + (x17 ==> 1)) + ((x17 ==> 1) ==> x17)) >= (x17 + (x17 ==> 1)), true, x17 ==> 1, (x17 ==> 1) ==> x17, (x17 ==> 1) + x17), true, (x17 ==> 1) ==> ((x17 ==> 1) + x17), (x17 ==> 1) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 9 (sos_01) }
% 0.21/0.51    fresh2(fresh6(((x17 ==> 1) + ((x17 ==> 1) + ((x17 ==> 1) ==> x17))) >= (x17 + (x17 ==> 1)), true, x17 ==> 1, (x17 ==> 1) ==> x17, (x17 ==> 1) + x17), true, (x17 ==> 1) ==> ((x17 ==> 1) + x17), (x17 ==> 1) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 2 (sos_02) }
% 0.21/0.51    fresh2(fresh6(((x17 ==> 1) + (((x17 ==> 1) ==> x17) + (x17 ==> 1))) >= (x17 + (x17 ==> 1)), true, x17 ==> 1, (x17 ==> 1) ==> x17, (x17 ==> 1) + x17), true, (x17 ==> 1) ==> ((x17 ==> 1) + x17), (x17 ==> 1) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 9 (sos_01) R->L }
% 0.21/0.51    fresh2(fresh6((((x17 ==> 1) + ((x17 ==> 1) ==> x17)) + (x17 ==> 1)) >= (x17 + (x17 ==> 1)), true, x17 ==> 1, (x17 ==> 1) ==> x17, (x17 ==> 1) + x17), true, (x17 ==> 1) ==> ((x17 ==> 1) + x17), (x17 ==> 1) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 17 (sos_09) R->L }
% 0.21/0.51    fresh2(fresh6(fresh5(((x17 ==> 1) + ((x17 ==> 1) ==> x17)) >= x17, true, (x17 ==> 1) + ((x17 ==> 1) ==> x17), x17, x17 ==> 1), true, x17 ==> 1, (x17 ==> 1) ==> x17, (x17 ==> 1) + x17), true, (x17 ==> 1) ==> ((x17 ==> 1) + x17), (x17 ==> 1) ==> x17) ==> x17
% 0.21/0.51  = { by lemma 27 }
% 0.21/0.51    fresh2(fresh6(fresh5(true, true, (x17 ==> 1) + ((x17 ==> 1) ==> x17), x17, x17 ==> 1), true, x17 ==> 1, (x17 ==> 1) ==> x17, (x17 ==> 1) + x17), true, (x17 ==> 1) ==> ((x17 ==> 1) + x17), (x17 ==> 1) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 13 (sos_09) }
% 0.21/0.51    fresh2(fresh6(true, true, x17 ==> 1, (x17 ==> 1) ==> x17, (x17 ==> 1) + x17), true, (x17 ==> 1) ==> ((x17 ==> 1) + x17), (x17 ==> 1) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 12 (sos_07_1) }
% 0.21/0.51    fresh2(true, true, (x17 ==> 1) ==> ((x17 ==> 1) + x17), (x17 ==> 1) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 8 (sos_06) }
% 0.21/0.51    ((x17 ==> 1) ==> ((x17 ==> 1) + x17)) ==> x17
% 0.21/0.51  = { by axiom 2 (sos_02) }
% 0.21/0.51    ((x17 ==> 1) ==> (x17 + (x17 ==> 1))) ==> x17
% 0.21/0.51  = { by axiom 8 (sos_06) R->L }
% 0.21/0.51    ((x17 ==> 1) ==> fresh2(true, true, x17 + (x17 ==> 1), 1)) ==> x17
% 0.21/0.51  = { by lemma 24 R->L }
% 0.21/0.51    ((x17 ==> 1) ==> fresh2(1 >= (x17 + (x17 ==> 1)), true, x17 + (x17 ==> 1), 1)) ==> x17
% 0.21/0.51  = { by axiom 16 (sos_06) }
% 0.21/0.51    ((x17 ==> 1) ==> fresh((x17 + (x17 ==> 1)) >= 1, true, x17 + (x17 ==> 1), 1)) ==> x17
% 0.21/0.51  = { by lemma 27 }
% 0.21/0.51    ((x17 ==> 1) ==> fresh(true, true, x17 + (x17 ==> 1), 1)) ==> x17
% 0.21/0.51  = { by axiom 7 (sos_06) }
% 0.21/0.51    ((x17 ==> 1) ==> 1) ==> x17
% 0.21/0.51  = { by axiom 10 (sos_13) R->L }
% 0.21/0.51    ((1 ==> x17) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 8 (sos_06) R->L }
% 0.21/0.51    (fresh2(true, true, 1 ==> x17, 0) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 14 (sos_10) R->L }
% 0.21/0.51    (fresh2(fresh4(true, true, 1, x17, x17), true, 1 ==> x17, 0) ==> x17) ==> x17
% 0.21/0.51  = { by lemma 24 R->L }
% 0.21/0.51    (fresh2(fresh4(1 >= x17, true, 1, x17, x17), true, 1 ==> x17, 0) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 18 (sos_10) }
% 0.21/0.51    (fresh2((x17 ==> x17) >= (1 ==> x17), true, 1 ==> x17, 0) ==> x17) ==> x17
% 0.21/0.51  = { by lemma 25 }
% 0.21/0.51    (fresh2(0 >= (1 ==> x17), true, 1 ==> x17, 0) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 16 (sos_06) }
% 0.21/0.51    (fresh((1 ==> x17) >= 0, true, 1 ==> x17, 0) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 6 (sos_08) }
% 0.21/0.51    (fresh(true, true, 1 ==> x17, 0) ==> x17) ==> x17
% 0.21/0.51  = { by axiom 7 (sos_06) }
% 0.21/0.51    (0 ==> x17) ==> x17
% 0.21/0.51  = { by axiom 7 (sos_06) R->L }
% 0.21/0.51    fresh(true, true, x17, 0 ==> x17) ==> x17
% 0.21/0.51  = { by axiom 12 (sos_07_1) R->L }
% 0.21/0.51    fresh(fresh6(true, true, 0, x17, x17), true, x17, 0 ==> x17) ==> x17
% 0.21/0.51  = { by lemma 26 R->L }
% 0.21/0.51    fresh(fresh6((0 + x17) >= x17, true, 0, x17, x17), true, x17, 0 ==> x17) ==> x17
% 0.21/0.51  = { by axiom 21 (sos_07_1) }
% 0.21/0.51    fresh(x17 >= (0 ==> x17), true, x17, 0 ==> x17) ==> x17
% 0.21/0.51  = { by axiom 16 (sos_06) R->L }
% 0.21/0.51    fresh2((0 ==> x17) >= x17, true, x17, 0 ==> x17) ==> x17
% 0.21/0.51  = { by lemma 22 R->L }
% 0.21/0.51    fresh2((0 + (0 ==> x17)) >= x17, true, x17, 0 ==> x17) ==> x17
% 0.21/0.51  = { by lemma 27 }
% 0.21/0.51    fresh2(true, true, x17, 0 ==> x17) ==> x17
% 0.21/0.51  = { by axiom 8 (sos_06) }
% 0.21/0.51    x17 ==> x17
% 0.21/0.51  = { by lemma 25 }
% 0.21/0.51    0
% 0.21/0.51  % SZS output end Proof
% 0.21/0.51  
% 0.21/0.51  RESULT: Theorem (the conjecture is true).
%------------------------------------------------------------------------------