TSTP Solution File: SWC050-1 by Twee---2.4.2
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Twee---2.4.2
% Problem : SWC050-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 : n001.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:37 EDT 2023
% Result : Unsatisfiable 0.23s 0.90s
% Output : Proof 0.23s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.14 % Problem : SWC050-1 : TPTP v8.1.2. Released v2.4.0.
% 0.00/0.15 % Command : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof
% 0.16/0.37 % Computer : n001.cluster.edu
% 0.16/0.37 % Model : x86_64 x86_64
% 0.16/0.37 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.16/0.37 % Memory : 8042.1875MB
% 0.16/0.37 % OS : Linux 3.10.0-693.el7.x86_64
% 0.16/0.37 % CPULimit : 300
% 0.16/0.37 % WCLimit : 300
% 0.16/0.37 % DateTime : Mon Aug 28 17:36:20 EDT 2023
% 0.16/0.37 % CPUTime :
% 0.23/0.90 Command-line arguments: --lhs-weight 9 --flip-ordering --complete-subsets --normalise-queue-percent 10 --cp-renormalise-threshold 10
% 0.23/0.90
% 0.23/0.90 % SZS status Unsatisfiable
% 0.23/0.90
% 0.23/0.90 % SZS output start Proof
% 0.23/0.90 Take the following subset of the input axioms:
% 0.23/0.91 fof(clause110, axiom, ![U, V]: (~gt(U, V) | (~gt(V, U) | (~ssItem(U) | ~ssItem(V))))).
% 0.23/0.91 fof(clause111, axiom, ![U2, V2]: (U2!=V2 | (~lt(U2, V2) | (~ssItem(V2) | ~ssItem(U2))))).
% 0.23/0.91 fof(clause114, axiom, ![U2, V2]: (~lt(U2, V2) | (~lt(V2, U2) | (~ssItem(U2) | ~ssItem(V2))))).
% 0.23/0.91 fof(clause115, axiom, ![U2, V2]: (U2!=V2 | (~neq(U2, V2) | (~ssList(V2) | ~ssList(U2))))).
% 0.23/0.91 fof(clause117, axiom, ![U2, V2]: (U2!=V2 | (~neq(U2, V2) | (~ssItem(V2) | ~ssItem(U2))))).
% 0.23/0.91 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)))))))).
% 0.23/0.91 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))))))))))).
% 0.23/0.91 fof(clause63, axiom, ![U2]: (~lt(U2, U2) | ~ssItem(U2))).
% 0.23/0.91 fof(clause71, axiom, ![U2]: (~memberP(nil, U2) | ~ssItem(U2))).
% 0.23/0.91 fof(clause98, axiom, ![U2, V2]: (cons(U2, V2)!=nil | (~ssItem(U2) | ~ssList(V2)))).
% 0.23/0.91 fof(clause99, axiom, ![U2, V2]: (cons(U2, V2)!=V2 | (~ssItem(U2) | ~ssList(V2)))).
% 0.23/0.91 fof(co1_14, negated_conjecture, ![A]: (~ssList(A) | (~neq(A, nil) | (~rearsegP(sk2, A) | (~rearsegP(sk1, A) | ~neq(sk4, nil)))))).
% 0.23/0.91 fof(co1_15, negated_conjecture, ssList(sk5) | ~neq(sk4, nil)).
% 0.23/0.91 fof(co1_16, negated_conjecture, neq(sk5, nil) | ~neq(sk4, nil)).
% 0.23/0.91 fof(co1_17, negated_conjecture, rearsegP(sk4, sk5) | ~neq(sk4, nil)).
% 0.23/0.91 fof(co1_18, negated_conjecture, rearsegP(sk3, sk5) | ~neq(sk4, nil)).
% 0.23/0.91 fof(co1_5, negated_conjecture, sk2=sk4).
% 0.23/0.91 fof(co1_6, negated_conjecture, sk1=sk3).
% 0.23/0.91 fof(co1_7, negated_conjecture, neq(sk2, nil) | neq(sk2, nil)).
% 0.23/0.91
% 0.23/0.91 Now clausify the problem and encode Horn clauses using encoding 3 of
% 0.23/0.91 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 0.23/0.91 We repeatedly replace C & s=t => u=v by the two clauses:
% 0.23/0.91 fresh(y, y, x1...xn) = u
% 0.23/0.91 C => fresh(s, t, x1...xn) = v
% 0.23/0.91 where fresh is a fresh function symbol and x1..xn are the free
% 0.23/0.91 variables of u and v.
% 0.23/0.91 A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 0.23/0.91 input problem has no model of domain size 1).
% 0.23/0.91
% 0.23/0.91 The encoding turns the above axioms into the following unit equations and goals:
% 0.23/0.91
% 0.23/0.91 Axiom 1 (co1_5): sk2 = sk4.
% 0.23/0.91 Axiom 2 (co1_6): sk1 = sk3.
% 0.23/0.91 Axiom 3 (co1_7): neq(sk2, nil) = true2.
% 0.23/0.91 Axiom 4 (co1_15): fresh18(X, X) = true2.
% 0.23/0.91 Axiom 5 (co1_16): fresh17(X, X) = true2.
% 0.23/0.91 Axiom 6 (co1_17): fresh16(X, X) = true2.
% 0.23/0.91 Axiom 7 (co1_18): fresh15(X, X) = true2.
% 0.23/0.91 Axiom 8 (co1_15): fresh18(neq(sk4, nil), true2) = ssList(sk5).
% 0.23/0.91 Axiom 9 (co1_16): fresh17(neq(sk4, nil), true2) = neq(sk5, nil).
% 0.23/0.91 Axiom 10 (co1_17): fresh16(neq(sk4, nil), true2) = rearsegP(sk4, sk5).
% 0.23/0.91 Axiom 11 (co1_18): fresh15(neq(sk4, nil), true2) = rearsegP(sk3, sk5).
% 0.23/0.91
% 0.23/0.91 Lemma 12: neq(sk4, nil) = true2.
% 0.23/0.91 Proof:
% 0.23/0.91 neq(sk4, nil)
% 0.23/0.91 = { by axiom 1 (co1_5) R->L }
% 0.23/0.91 neq(sk2, nil)
% 0.23/0.91 = { by axiom 3 (co1_7) }
% 0.23/0.91 true2
% 0.23/0.91
% 0.23/0.91 Goal 1 (co1_14): tuple(ssList(X), rearsegP(sk1, X), rearsegP(sk2, X), neq(X, nil), neq(sk4, nil)) = tuple(true2, true2, true2, true2, true2).
% 0.23/0.91 The goal is true when:
% 0.23/0.91 X = sk5
% 0.23/0.91
% 0.23/0.91 Proof:
% 0.23/0.91 tuple(ssList(sk5), rearsegP(sk1, sk5), rearsegP(sk2, sk5), neq(sk5, nil), neq(sk4, nil))
% 0.23/0.91 = { by axiom 1 (co1_5) }
% 0.23/0.91 tuple(ssList(sk5), rearsegP(sk1, sk5), rearsegP(sk4, sk5), neq(sk5, nil), neq(sk4, nil))
% 0.23/0.91 = { by lemma 12 }
% 0.23/0.91 tuple(ssList(sk5), rearsegP(sk1, sk5), rearsegP(sk4, sk5), neq(sk5, nil), true2)
% 0.23/0.91 = { by axiom 8 (co1_15) R->L }
% 0.23/0.91 tuple(fresh18(neq(sk4, nil), true2), rearsegP(sk1, sk5), rearsegP(sk4, sk5), neq(sk5, nil), true2)
% 0.23/0.91 = { by lemma 12 }
% 0.23/0.91 tuple(fresh18(true2, true2), rearsegP(sk1, sk5), rearsegP(sk4, sk5), neq(sk5, nil), true2)
% 0.23/0.91 = { by axiom 4 (co1_15) }
% 0.23/0.91 tuple(true2, rearsegP(sk1, sk5), rearsegP(sk4, sk5), neq(sk5, nil), true2)
% 0.23/0.91 = { by axiom 2 (co1_6) }
% 0.23/0.91 tuple(true2, rearsegP(sk3, sk5), rearsegP(sk4, sk5), neq(sk5, nil), true2)
% 0.23/0.91 = { by axiom 11 (co1_18) R->L }
% 0.23/0.91 tuple(true2, fresh15(neq(sk4, nil), true2), rearsegP(sk4, sk5), neq(sk5, nil), true2)
% 0.23/0.91 = { by lemma 12 }
% 0.23/0.91 tuple(true2, fresh15(true2, true2), rearsegP(sk4, sk5), neq(sk5, nil), true2)
% 0.23/0.91 = { by axiom 7 (co1_18) }
% 0.23/0.91 tuple(true2, true2, rearsegP(sk4, sk5), neq(sk5, nil), true2)
% 0.23/0.91 = { by axiom 10 (co1_17) R->L }
% 0.23/0.91 tuple(true2, true2, fresh16(neq(sk4, nil), true2), neq(sk5, nil), true2)
% 0.23/0.91 = { by lemma 12 }
% 0.23/0.91 tuple(true2, true2, fresh16(true2, true2), neq(sk5, nil), true2)
% 0.23/0.91 = { by axiom 6 (co1_17) }
% 0.23/0.91 tuple(true2, true2, true2, neq(sk5, nil), true2)
% 0.23/0.91 = { by axiom 9 (co1_16) R->L }
% 0.23/0.91 tuple(true2, true2, true2, fresh17(neq(sk4, nil), true2), true2)
% 0.23/0.92 = { by lemma 12 }
% 0.23/0.92 tuple(true2, true2, true2, fresh17(true2, true2), true2)
% 0.23/0.92 = { by axiom 5 (co1_16) }
% 0.23/0.92 tuple(true2, true2, true2, true2, true2)
% 0.23/0.92 % SZS output end Proof
% 0.23/0.92
% 0.23/0.92 RESULT: Unsatisfiable (the axioms are contradictory).
%------------------------------------------------------------------------------