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

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Twee---2.4.2
% Problem  : LCL899+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 : n012.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.20s 0.41s
% Output   : Proof 0.20s
% Verified : 
% SZS Type : -

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