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

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Twee---2.4.2
% Problem  : NUN070+1 : TPTP v8.1.2. Released v7.3.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 12:51:50 EDT 2023

% Result   : Theorem 66.36s 9.11s
% Output   : Proof 66.44s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.13  % Problem  : NUN070+1 : TPTP v8.1.2. Released v7.3.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.11/0.34  % Computer : n012.cluster.edu
% 0.11/0.34  % Model    : x86_64 x86_64
% 0.11/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.11/0.34  % Memory   : 8042.1875MB
% 0.11/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.11/0.34  % CPULimit : 300
% 0.11/0.34  % WCLimit  : 300
% 0.11/0.34  % DateTime : Sun Aug 27 09:42:25 EDT 2023
% 0.11/0.34  % CPUTime  : 
% 66.36/9.11  Command-line arguments: --flip-ordering --lhs-weight 1 --depth-weight 60 --distributivity-heuristic
% 66.36/9.11  
% 66.36/9.11  % SZS status Theorem
% 66.36/9.11  
% 66.44/9.13  % SZS output start Proof
% 66.44/9.13  Take the following subset of the input axioms:
% 66.44/9.13    fof(axiom_1, axiom, ?[Y24]: ![X19]: ((id(X19, Y24) & r1(X19)) | (~r1(X19) & ~id(X19, Y24)))).
% 66.44/9.13    fof(axiom_1a, axiom, ![X1, X8]: ?[Y4]: (?[Y5]: (id(Y5, Y4) & ?[Y15]: (r2(X8, Y15) & r3(X1, Y15, Y5))) & ?[Y7]: (r2(Y7, Y4) & r3(X1, X8, Y7)))).
% 66.44/9.13    fof(axiom_2, axiom, ![X11]: ?[Y21]: ![X12]: ((id(X12, Y21) & r2(X11, X12)) | (~r2(X11, X12) & ~id(X12, Y21)))).
% 66.44/9.13    fof(axiom_4a, axiom, ![X4]: ?[Y9]: (id(Y9, X4) & ?[Y16]: (r1(Y16) & r3(X4, Y16, Y9)))).
% 66.44/9.13    fof(axiom_5, axiom, ![X20]: id(X20, X20)).
% 66.44/9.13    fof(axiom_5a, axiom, ![X5]: ?[Y8]: (?[Y17]: (r1(Y17) & r4(X5, Y17, Y8)) & ?[Y18]: (id(Y8, Y18) & r1(Y18)))).
% 66.44/9.13    fof(axiom_7a, axiom, ![X7, Y10]: (![Y20]: (~id(Y20, Y10) | ~r1(Y20)) | ~r2(X7, Y10))).
% 66.44/9.13    fof(axiom_8, axiom, ![X26, X27]: (~id(X26, X27) | ((~r1(X26) & ~r1(X27)) | (r1(X26) & r1(X27))))).
% 66.44/9.13    fof(axiom_9, axiom, ![X28, X29, X30, X31]: (~id(X28, X30) | (~id(X29, X31) | ((~r2(X28, X29) & ~r2(X30, X31)) | (r2(X28, X29) & r2(X30, X31)))))).
% 66.44/9.13    fof(onepluszeroidone, conjecture, ?[Y1]: (?[Y2]: (?[Y4_2]: (r1(Y4_2) & r3(Y2, Y4_2, Y1)) & ?[Y5_2]: (r1(Y5_2) & r2(Y5_2, Y2))) & ?[Y3]: (id(Y1, Y3) & ?[Y6]: (r1(Y6) & r2(Y6, Y3))))).
% 66.44/9.13  
% 66.44/9.13  Now clausify the problem and encode Horn clauses using encoding 3 of
% 66.44/9.13  http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 66.44/9.13  We repeatedly replace C & s=t => u=v by the two clauses:
% 66.44/9.13    fresh(y, y, x1...xn) = u
% 66.44/9.13    C => fresh(s, t, x1...xn) = v
% 66.44/9.13  where fresh is a fresh function symbol and x1..xn are the free
% 66.44/9.13  variables of u and v.
% 66.44/9.13  A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 66.44/9.13  input problem has no model of domain size 1).
% 66.44/9.13  
% 66.44/9.13  The encoding turns the above axioms into the following unit equations and goals:
% 66.44/9.13  
% 66.44/9.13  Axiom 1 (axiom_5): id(X, X) = true2.
% 66.44/9.13  Axiom 2 (axiom_4a_1): r1(y16(X)) = true2.
% 66.44/9.13  Axiom 3 (axiom_5a_2): r1(y18(X)) = true2.
% 66.44/9.13  Axiom 4 (axiom_4a): id(y9(X), X) = true2.
% 66.44/9.13  Axiom 5 (axiom_1): fresh18(X, X, Y) = true2.
% 66.44/9.13  Axiom 6 (axiom_1_1): fresh17(X, X, Y) = true2.
% 66.44/9.13  Axiom 7 (axiom_8_1): fresh3(X, X, Y) = true2.
% 66.44/9.13  Axiom 8 (axiom_5a): id(y8(X), y18(X)) = true2.
% 66.44/9.13  Axiom 9 (axiom_1a_1): r2(X, y15(Y, X)) = true2.
% 66.44/9.13  Axiom 10 (axiom_9): fresh38(X, X, Y, Z) = true2.
% 66.44/9.13  Axiom 11 (axiom_1_1): fresh17(r1(X), true2, X) = id(X, y24).
% 66.44/9.13  Axiom 12 (axiom_2_1): fresh15(X, X, Y, Z) = true2.
% 66.44/9.13  Axiom 13 (axiom_8_1): fresh4(X, X, Y, Z) = r1(Y).
% 66.44/9.13  Axiom 14 (axiom_4a_2): r3(X, y16(X), y9(X)) = true2.
% 66.44/9.13  Axiom 15 (axiom_1): fresh18(id(X, y24), true2, X) = r1(X).
% 66.44/9.13  Axiom 16 (axiom_8_1): fresh4(r1(X), true2, Y, X) = fresh3(id(Y, X), true2, Y).
% 66.44/9.13  Axiom 17 (axiom_9): fresh2(X, X, Y, Z, W) = r2(Z, W).
% 66.44/9.13  Axiom 18 (axiom_9): fresh37(X, X, Y, Z, W, V) = fresh38(id(Y, W), true2, W, V).
% 66.44/9.13  Axiom 19 (axiom_2_1): fresh15(r2(X, Y), true2, X, Y) = id(Y, y21(X)).
% 66.44/9.13  Axiom 20 (axiom_9): fresh37(r2(X, Y), true2, X, Y, Z, W) = fresh2(id(Y, W), true2, X, Z, W).
% 66.44/9.13  
% 66.44/9.13  Lemma 21: fresh37(X, X, Y, Z, W, y21(Y)) = r2(W, y21(Y)).
% 66.44/9.13  Proof:
% 66.44/9.13    fresh37(X, X, Y, Z, W, y21(Y))
% 66.44/9.13  = { by axiom 18 (axiom_9) }
% 66.44/9.13    fresh38(id(Y, W), true2, W, y21(Y))
% 66.44/9.13  = { by axiom 18 (axiom_9) R->L }
% 66.44/9.13    fresh37(true2, true2, Y, y15(V, Y), W, y21(Y))
% 66.44/9.13  = { by axiom 9 (axiom_1a_1) R->L }
% 66.44/9.13    fresh37(r2(Y, y15(V, Y)), true2, Y, y15(V, Y), W, y21(Y))
% 66.44/9.13  = { by axiom 20 (axiom_9) }
% 66.44/9.13    fresh2(id(y15(V, Y), y21(Y)), true2, Y, W, y21(Y))
% 66.44/9.13  = { by axiom 19 (axiom_2_1) R->L }
% 66.44/9.13    fresh2(fresh15(r2(Y, y15(V, Y)), true2, Y, y15(V, Y)), true2, Y, W, y21(Y))
% 66.44/9.13  = { by axiom 9 (axiom_1a_1) }
% 66.44/9.13    fresh2(fresh15(true2, true2, Y, y15(V, Y)), true2, Y, W, y21(Y))
% 66.44/9.13  = { by axiom 12 (axiom_2_1) }
% 66.44/9.13    fresh2(true2, true2, Y, W, y21(Y))
% 66.44/9.13  = { by axiom 17 (axiom_9) }
% 66.44/9.13    r2(W, y21(Y))
% 66.44/9.13  
% 66.44/9.13  Goal 1 (onepluszeroidone): tuple(id(X, Y), r1(Z), r1(W), r1(V), r2(W, U), r2(V, Y), r3(U, Z, X)) = tuple(true2, true2, true2, true2, true2, true2, true2).
% 66.44/9.13  The goal is true when:
% 66.44/9.13    X = y9(y21(y8(X)))
% 66.44/9.13    Y = y21(y8(X))
% 66.44/9.14    Z = y16(y21(y8(X)))
% 66.44/9.14    W = y24
% 66.44/9.14    V = y18(X)
% 66.44/9.14    U = y21(y8(X))
% 66.44/9.14  
% 66.44/9.14  Proof:
% 66.44/9.14    tuple(id(y9(y21(y8(X))), y21(y8(X))), r1(y16(y21(y8(X)))), r1(y24), r1(y18(X)), r2(y24, y21(y8(X))), r2(y18(X), y21(y8(X))), r3(y21(y8(X)), y16(y21(y8(X))), y9(y21(y8(X)))))
% 66.44/9.14  = { by axiom 14 (axiom_4a_2) }
% 66.44/9.14    tuple(id(y9(y21(y8(X))), y21(y8(X))), r1(y16(y21(y8(X)))), r1(y24), r1(y18(X)), r2(y24, y21(y8(X))), r2(y18(X), y21(y8(X))), true2)
% 66.44/9.14  = { by axiom 2 (axiom_4a_1) }
% 66.44/9.14    tuple(id(y9(y21(y8(X))), y21(y8(X))), true2, r1(y24), r1(y18(X)), r2(y24, y21(y8(X))), r2(y18(X), y21(y8(X))), true2)
% 66.44/9.14  = { by axiom 4 (axiom_4a) }
% 66.44/9.14    tuple(true2, true2, r1(y24), r1(y18(X)), r2(y24, y21(y8(X))), r2(y18(X), y21(y8(X))), true2)
% 66.44/9.14  = { by axiom 15 (axiom_1) R->L }
% 66.44/9.14    tuple(true2, true2, fresh18(id(y24, y24), true2, y24), r1(y18(X)), r2(y24, y21(y8(X))), r2(y18(X), y21(y8(X))), true2)
% 66.44/9.14  = { by axiom 1 (axiom_5) }
% 66.44/9.14    tuple(true2, true2, fresh18(true2, true2, y24), r1(y18(X)), r2(y24, y21(y8(X))), r2(y18(X), y21(y8(X))), true2)
% 66.44/9.14  = { by axiom 5 (axiom_1) }
% 66.44/9.14    tuple(true2, true2, true2, r1(y18(X)), r2(y24, y21(y8(X))), r2(y18(X), y21(y8(X))), true2)
% 66.44/9.14  = { by lemma 21 R->L }
% 66.44/9.14    tuple(true2, true2, true2, r1(y18(X)), r2(y24, y21(y8(X))), fresh37(W, W, y8(X), V, y18(X), y21(y8(X))), true2)
% 66.44/9.14  = { by axiom 18 (axiom_9) }
% 66.44/9.14    tuple(true2, true2, true2, r1(y18(X)), r2(y24, y21(y8(X))), fresh38(id(y8(X), y18(X)), true2, y18(X), y21(y8(X))), true2)
% 66.44/9.14  = { by axiom 8 (axiom_5a) }
% 66.44/9.14    tuple(true2, true2, true2, r1(y18(X)), r2(y24, y21(y8(X))), fresh38(true2, true2, y18(X), y21(y8(X))), true2)
% 66.44/9.14  = { by axiom 10 (axiom_9) }
% 66.44/9.14    tuple(true2, true2, true2, r1(y18(X)), r2(y24, y21(y8(X))), true2, true2)
% 66.44/9.14  = { by axiom 3 (axiom_5a_2) }
% 66.44/9.14    tuple(true2, true2, true2, true2, r2(y24, y21(y8(X))), true2, true2)
% 66.44/9.14  = { by lemma 21 R->L }
% 66.44/9.14    tuple(true2, true2, true2, true2, fresh37(Y, Y, y8(X), Z, y24, y21(y8(X))), true2, true2)
% 66.44/9.14  = { by axiom 18 (axiom_9) }
% 66.44/9.14    tuple(true2, true2, true2, true2, fresh38(id(y8(X), y24), true2, y24, y21(y8(X))), true2, true2)
% 66.44/9.14  = { by axiom 11 (axiom_1_1) R->L }
% 66.44/9.14    tuple(true2, true2, true2, true2, fresh38(fresh17(r1(y8(X)), true2, y8(X)), true2, y24, y21(y8(X))), true2, true2)
% 66.44/9.14  = { by axiom 13 (axiom_8_1) R->L }
% 66.44/9.14    tuple(true2, true2, true2, true2, fresh38(fresh17(fresh4(true2, true2, y8(X), y18(X)), true2, y8(X)), true2, y24, y21(y8(X))), true2, true2)
% 66.44/9.14  = { by axiom 3 (axiom_5a_2) R->L }
% 66.44/9.14    tuple(true2, true2, true2, true2, fresh38(fresh17(fresh4(r1(y18(X)), true2, y8(X), y18(X)), true2, y8(X)), true2, y24, y21(y8(X))), true2, true2)
% 66.44/9.14  = { by axiom 16 (axiom_8_1) }
% 66.44/9.14    tuple(true2, true2, true2, true2, fresh38(fresh17(fresh3(id(y8(X), y18(X)), true2, y8(X)), true2, y8(X)), true2, y24, y21(y8(X))), true2, true2)
% 66.44/9.14  = { by axiom 8 (axiom_5a) }
% 66.44/9.14    tuple(true2, true2, true2, true2, fresh38(fresh17(fresh3(true2, true2, y8(X)), true2, y8(X)), true2, y24, y21(y8(X))), true2, true2)
% 66.44/9.14  = { by axiom 7 (axiom_8_1) }
% 66.44/9.14    tuple(true2, true2, true2, true2, fresh38(fresh17(true2, true2, y8(X)), true2, y24, y21(y8(X))), true2, true2)
% 66.44/9.14  = { by axiom 6 (axiom_1_1) }
% 66.44/9.14    tuple(true2, true2, true2, true2, fresh38(true2, true2, y24, y21(y8(X))), true2, true2)
% 66.44/9.14  = { by axiom 10 (axiom_9) }
% 66.44/9.14    tuple(true2, true2, true2, true2, true2, true2, true2)
% 66.44/9.14  % SZS output end Proof
% 66.44/9.14  
% 66.44/9.14  RESULT: Theorem (the conjecture is true).
%------------------------------------------------------------------------------