TSTP Solution File: SWC051-1 by Twee---2.4.2
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Twee---2.4.2
% Problem : SWC051-1 : TPTP v8.1.2. Released v2.4.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 : n019.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 20:53:38 EDT 2023
% Result : Unsatisfiable 3.97s 0.88s
% Output : Proof 3.97s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12 % Problem : SWC051-1 : TPTP v8.1.2. Released v2.4.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.13/0.35 % Computer : n019.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 : Mon Aug 28 14:43:58 EDT 2023
% 0.13/0.35 % CPUTime :
% 3.97/0.88 Command-line arguments: --no-flatten-goal
% 3.97/0.88
% 3.97/0.88 % SZS status Unsatisfiable
% 3.97/0.88
% 3.97/0.88 % SZS output start Proof
% 3.97/0.88 Take the following subset of the input axioms:
% 3.97/0.89 fof(clause110, axiom, ![U, V]: (~gt(U, V) | (~gt(V, U) | (~ssItem(U) | ~ssItem(V))))).
% 3.97/0.89 fof(clause111, axiom, ![U2, V2]: (U2!=V2 | (~lt(U2, V2) | (~ssItem(V2) | ~ssItem(U2))))).
% 3.97/0.89 fof(clause114, axiom, ![U2, V2]: (~lt(U2, V2) | (~lt(V2, U2) | (~ssItem(U2) | ~ssItem(V2))))).
% 3.97/0.89 fof(clause115, axiom, ![U2, V2]: (U2!=V2 | (~neq(U2, V2) | (~ssList(V2) | ~ssList(U2))))).
% 3.97/0.89 fof(clause117, axiom, ![U2, V2]: (U2!=V2 | (~neq(U2, V2) | (~ssItem(V2) | ~ssItem(U2))))).
% 3.97/0.89 fof(clause179, axiom, ![W, X, Y, U2, V2]: (app(app(U2, cons(V2, W)), cons(V2, X))!=Y | (~ssList(X) | (~ssList(W) | (~ssList(U2) | (~ssItem(V2) | (~duplicatefreeP(Y) | ~ssList(Y)))))))).
% 3.97/0.89 fof(clause185, axiom, ![Z, U2, V2, W2, X2, Y2]: (~leq(U2, V2) | (~leq(V2, U2) | (app(app(W2, cons(U2, X2)), cons(V2, Y2))!=Z | (~ssList(Y2) | (~ssList(X2) | (~ssList(W2) | (~ssItem(V2) | (~ssItem(U2) | (~cyclefreeP(Z) | ~ssList(Z))))))))))).
% 3.97/0.89 fof(clause59, axiom, ![U2]: (~ssList(U2) | rearsegP(U2, U2))).
% 3.97/0.89 fof(clause63, axiom, ![U2]: (~lt(U2, U2) | ~ssItem(U2))).
% 3.97/0.89 fof(clause71, axiom, ![U2]: (~memberP(nil, U2) | ~ssItem(U2))).
% 3.97/0.89 fof(clause98, axiom, ![U2, V2]: (cons(U2, V2)!=nil | (~ssItem(U2) | ~ssList(V2)))).
% 3.97/0.89 fof(clause99, axiom, ![U2, V2]: (cons(U2, V2)!=V2 | (~ssItem(U2) | ~ssList(V2)))).
% 3.97/0.89 fof(co1_1, negated_conjecture, ssList(sk1)).
% 3.97/0.89 fof(co1_10, negated_conjecture, ~neq(sk4, nil) | neq(sk3, nil)).
% 3.97/0.89 fof(co1_11, negated_conjecture, ~neq(sk4, nil) | rearsegP(sk4, sk3)).
% 3.97/0.89 fof(co1_5, negated_conjecture, sk2=sk4).
% 3.97/0.89 fof(co1_6, negated_conjecture, sk1=sk3).
% 3.97/0.89 fof(co1_7, negated_conjecture, neq(sk2, nil)).
% 3.97/0.89 fof(co1_8, negated_conjecture, ![A]: (~ssList(A) | (~neq(A, nil) | (~rearsegP(sk2, A) | ~rearsegP(sk1, A))))).
% 3.97/0.89
% 3.97/0.89 Now clausify the problem and encode Horn clauses using encoding 3 of
% 3.97/0.89 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 3.97/0.89 We repeatedly replace C & s=t => u=v by the two clauses:
% 3.97/0.89 fresh(y, y, x1...xn) = u
% 3.97/0.89 C => fresh(s, t, x1...xn) = v
% 3.97/0.89 where fresh is a fresh function symbol and x1..xn are the free
% 3.97/0.89 variables of u and v.
% 3.97/0.89 A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 3.97/0.89 input problem has no model of domain size 1).
% 3.97/0.89
% 3.97/0.89 The encoding turns the above axioms into the following unit equations and goals:
% 3.97/0.89
% 3.97/0.89 Axiom 1 (co1_6): sk1 = sk3.
% 3.97/0.89 Axiom 2 (co1_5): sk2 = sk4.
% 3.97/0.89 Axiom 3 (co1_1): ssList(sk1) = true2.
% 3.97/0.89 Axiom 4 (co1_10): fresh16(X, X) = true2.
% 3.97/0.89 Axiom 5 (co1_11): fresh15(X, X) = true2.
% 3.97/0.89 Axiom 6 (co1_7): neq(sk2, nil) = true2.
% 3.97/0.89 Axiom 7 (clause59): fresh56(X, X, Y) = true2.
% 3.97/0.89 Axiom 8 (clause59): fresh56(ssList(X), true2, X) = rearsegP(X, X).
% 3.97/0.89 Axiom 9 (co1_10): fresh16(neq(sk4, nil), true2) = neq(sk3, nil).
% 3.97/0.89 Axiom 10 (co1_11): fresh15(neq(sk4, nil), true2) = rearsegP(sk4, sk3).
% 3.97/0.89
% 3.97/0.89 Goal 1 (co1_8): tuple(ssList(X), rearsegP(sk1, X), rearsegP(sk2, X), neq(X, nil)) = tuple(true2, true2, true2, true2).
% 3.97/0.89 The goal is true when:
% 3.97/0.89 X = sk1
% 3.97/0.89
% 3.97/0.89 Proof:
% 3.97/0.89 tuple(ssList(sk1), rearsegP(sk1, sk1), rearsegP(sk2, sk1), neq(sk1, nil))
% 3.97/0.89 = { by axiom 8 (clause59) R->L }
% 3.97/0.89 tuple(ssList(sk1), fresh56(ssList(sk1), true2, sk1), rearsegP(sk2, sk1), neq(sk1, nil))
% 3.97/0.89 = { by axiom 3 (co1_1) }
% 3.97/0.89 tuple(ssList(sk1), fresh56(true2, true2, sk1), rearsegP(sk2, sk1), neq(sk1, nil))
% 3.97/0.89 = { by axiom 7 (clause59) }
% 3.97/0.89 tuple(ssList(sk1), true2, rearsegP(sk2, sk1), neq(sk1, nil))
% 3.97/0.89 = { by axiom 3 (co1_1) }
% 3.97/0.89 tuple(true2, true2, rearsegP(sk2, sk1), neq(sk1, nil))
% 3.97/0.89 = { by axiom 1 (co1_6) }
% 3.97/0.89 tuple(true2, true2, rearsegP(sk2, sk3), neq(sk1, nil))
% 3.97/0.89 = { by axiom 2 (co1_5) }
% 3.97/0.89 tuple(true2, true2, rearsegP(sk4, sk3), neq(sk1, nil))
% 3.97/0.89 = { by axiom 10 (co1_11) R->L }
% 3.97/0.89 tuple(true2, true2, fresh15(neq(sk4, nil), true2), neq(sk1, nil))
% 3.97/0.89 = { by axiom 2 (co1_5) R->L }
% 3.97/0.89 tuple(true2, true2, fresh15(neq(sk2, nil), true2), neq(sk1, nil))
% 3.97/0.89 = { by axiom 6 (co1_7) }
% 3.97/0.89 tuple(true2, true2, fresh15(true2, true2), neq(sk1, nil))
% 3.97/0.89 = { by axiom 5 (co1_11) }
% 3.97/0.89 tuple(true2, true2, true2, neq(sk1, nil))
% 3.97/0.89 = { by axiom 1 (co1_6) }
% 3.97/0.89 tuple(true2, true2, true2, neq(sk3, nil))
% 3.97/0.89 = { by axiom 9 (co1_10) R->L }
% 3.97/0.89 tuple(true2, true2, true2, fresh16(neq(sk4, nil), true2))
% 3.97/0.89 = { by axiom 2 (co1_5) R->L }
% 3.97/0.89 tuple(true2, true2, true2, fresh16(neq(sk2, nil), true2))
% 3.97/0.89 = { by axiom 6 (co1_7) }
% 3.97/0.89 tuple(true2, true2, true2, fresh16(true2, true2))
% 3.97/0.89 = { by axiom 4 (co1_10) }
% 3.97/0.89 tuple(true2, true2, true2, true2)
% 3.97/0.89 % SZS output end Proof
% 3.97/0.89
% 3.97/0.89 RESULT: Unsatisfiable (the axioms are contradictory).
%------------------------------------------------------------------------------