TSTP Solution File: PUZ021-1 by CARINE---0.734
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : CARINE---0.734
% Problem : PUZ021-1 : TPTP v5.0.0. Released v1.0.0.
% Transfm : add_equality
% Format : carine
% Command : carine %s t=%d xo=off uct=32000
% Computer : art02.cs.miami.edu
% Model : i686 i686
% CPU : Intel(R) Pentium(R) 4 CPU 2.80GHz @ 2793MHz
% Memory : 2018MB
% OS : Linux 2.6.26.8-57.fc8
% CPULimit : 300s
% DateTime : Sun Nov 28 03:54:57 EST 2010
% Result : Unsatisfiable 16.36s
% Output : Refutation 16.36s
% Verified :
% SZS Type : None (Parsing solution fails)
% Syntax : Number of formulae : 0
% Comments :
%------------------------------------------------------------------------------
%----ERROR: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% Command entered:
% /home/graph/tptp/Systems/CARINE---0.734/carine /tmp/SystemOnTPTP26597/PUZ/PUZ021-1+noeq.car t=300 xo=off uct=32000
% CARINE version 0.734 (Dec 2003)
% Initializing tables ... done.
% Parsing ............. done.
% Calculating time slices ... done.
% Building Lookup Tables ... done.
% Looking for a proof at depth = 1 ...
% t = 1 secs [nr = 24] [nf = 0] [nu = 0] [ut = 0]
% Looking for a proof at depth = 2 ...
% t = 1 secs [nr = 273] [nf = 30] [nu = 0] [ut = 0]
% Looking for a proof at depth = 3 ...
% t = 1 secs [nr = 2665] [nf = 303] [nu = 84] [ut = 4]
% Looking for a proof at depth = 4 ...
% +================================================+
% | |
% | Congratulations!!! ........ A proof was found. |
% | |
% +================================================+
% Base Clauses and Unit Clauses used in proof:
% ============================================
% Base Clauses:
% -------------
% B0: ~a_truth_2(and_2(knave_1(me_0()),rich_1(me_0())),x0) | ~says_2(me_0(),x0)
% B1: a_truth_2(and_2(knave_1(me_0()),rich_1(me_0())),x0) | says_2(me_0(),x0)
% B2: ~a_truth_2(and_2(x0,x1),x2) | a_truth_2(x0,x2)
% B3: ~a_truth_2(and_2(x0,x1),x2) | a_truth_2(x1,x2)
% B4: a_truth_2(knight_1(x0),x1) | a_truth_2(knave_1(x0),x1)
% B5: ~a_truth_2(knave_1(x0),x1) | ~a_truth_2(knight_1(x0),x1)
% B9: ~a_truth_2(x2,x1) | ~a_truth_2(knave_1(x0),x1) | ~says_2(x0,x2)
% B10: ~a_truth_2(knight_1(x0),x1) | ~says_2(x0,x2) | a_truth_2(x2,x1)
% B11: ~a_truth_2(knave_1(x0),x1) | a_truth_2(x2,x1) | says_2(x0,x2)
% B12: ~a_truth_2(x1,x2) | ~a_truth_2(x0,x2) | a_truth_2(and_2(x0,x1),x2)
% Unit Clauses:
% --------------
% U0: < d3 v3 dv2 f3 c0 t6 td3 > ~a_truth_2(and_2(knave_1(x0),knight_1(x0)),x1)
% U4: < d4 v2 dv1 f6 c2 t10 td3 > ~a_truth_2(and_2(knave_1(me_0()),rich_1(me_0())),and_2(knave_1(x0),knight_1(x0)))
% U8: < d4 v2 dv1 f3 c1 t6 td3 > says_2(me_0(),and_2(knave_1(x0),knight_1(x0)))
% U16: < d4 v1 dv1 f1 c1 t3 td2 > a_truth_2(knave_1(me_0()),x0)
% U17: < d4 v1 dv1 f1 c1 t3 td2 > ~a_truth_2(knight_1(me_0()),x0)
% U354: < d4 v1 dv1 f4 c3 t8 td4 > says_2(me_0(),and_2(and_2(knave_1(me_0()),rich_1(me_0())),x0))
% U602: < d4 v3 dv3 f5 c2 t10 td5 > ~a_truth_2(and_2(x0,and_2(and_2(knave_1(me_0()),rich_1(me_0())),x1)),x2)
% U912: < d4 v2 dv2 f4 c2 t8 td4 > ~a_truth_2(and_2(and_2(knave_1(me_0()),rich_1(me_0())),x0),x1)
% U1417: < d4 v1 dv1 f3 c2 t6 td3 > ~a_truth_2(and_2(knave_1(me_0()),rich_1(me_0())),x0)
% U1816: < d4 v0 dv0 f4 c3 t7 td3 > a_truth_2(and_2(knave_1(me_0()),rich_1(me_0())),knave_1(me_0()))
% --------------- Start of Proof ---------------
% Derivation of unit clause U0:
% ~a_truth_2(and_2(x0,x1),x2) | a_truth_2(x0,x2) ....... B2
% ~a_truth_2(knave_1(x0),x1) | ~a_truth_2(knight_1(x0),x1) ....... B5
% ~a_truth_2(and_2(knave_1(x0), x1), x2) | ~a_truth_2(knight_1(x0), x2) ....... R1 [B2:L1, B5:L0]
% ~a_truth_2(and_2(x0,x1),x2) | a_truth_2(x1,x2) ....... B3
% ~a_truth_2(and_2(knave_1(x0), x1), x2) | ~a_truth_2(and_2(x3, knight_1(x0)), x2) ....... R2 [R1:L1, B3:L1]
% ~a_truth_2(and_2(knave_1(x0), knight_1(x0)), x1) ....... R3 [R2:L0, R2:L1]
% Derivation of unit clause U4:
% ~a_truth_2(and_2(knave_1(me_0()),rich_1(me_0())),x0) | ~says_2(me_0(),x0) ....... B0
% ~a_truth_2(knave_1(x0),x1) | a_truth_2(x2,x1) | says_2(x0,x2) ....... B11
% ~a_truth_2(and_2(knave_1(me_0()), rich_1(me_0())), x0) | ~a_truth_2(knave_1(me_0()), x1) | a_truth_2(x0, x1) ....... R1 [B0:L1, B11:L2]
% ~a_truth_2(and_2(knave_1(x0),knight_1(x0)),x1) ....... U0
% ~a_truth_2(and_2(knave_1(me_0()), rich_1(me_0())), and_2(knave_1(x0), knight_1(x0))) | ~a_truth_2(knave_1(me_0()), x1) ....... R2 [R1:L2, U0:L0]
% ~a_truth_2(and_2(x0,x1),x2) | a_truth_2(x0,x2) ....... B2
% ~a_truth_2(and_2(knave_1(me_0()), rich_1(me_0())), and_2(knave_1(x0), knight_1(x0))) | ~a_truth_2(and_2(knave_1(me_0()), x1), x2) ....... R3 [R2:L1, B2:L1]
% ~a_truth_2(and_2(knave_1(me_0()), rich_1(me_0())), and_2(knave_1(x0), knight_1(x0))) ....... R4 [R3:L0, R3:L1]
% Derivation of unit clause U8:
% a_truth_2(and_2(knave_1(me_0()),rich_1(me_0())),x0) | says_2(me_0(),x0) ....... B1
% ~a_truth_2(and_2(x0,x1),x2) | a_truth_2(x0,x2) ....... B2
% says_2(me_0(), x0) | a_truth_2(knave_1(me_0()), x0) ....... R1 [B1:L0, B2:L0]
% ~a_truth_2(knave_1(x0),x1) | a_truth_2(x2,x1) | says_2(x0,x2) ....... B11
% says_2(me_0(), x0) | a_truth_2(x1, x0) | says_2(me_0(), x1) ....... R2 [R1:L1, B11:L0]
% a_truth_2(x0, x0) | says_2(me_0(), x0) ....... R3 [R2:L0, R2:L2]
% ~a_truth_2(and_2(knave_1(x0),knight_1(x0)),x1) ....... U0
% says_2(me_0(), and_2(knave_1(x0), knight_1(x0))) ....... R4 [R3:L0, U0:L0]
% Derivation of unit clause U16:
% a_truth_2(and_2(knave_1(me_0()),rich_1(me_0())),x0) | says_2(me_0(),x0) ....... B1
% ~a_truth_2(knight_1(x0),x1) | ~says_2(x0,x2) | a_truth_2(x2,x1) ....... B10
% a_truth_2(and_2(knave_1(me_0()), rich_1(me_0())), x0) | ~a_truth_2(knight_1(me_0()), x1) | a_truth_2(x0, x1) ....... R1 [B1:L1, B10:L1]
% ~a_truth_2(and_2(knave_1(me_0()),rich_1(me_0())),and_2(knave_1(x0),knight_1(x0))) ....... U4
% ~a_truth_2(knight_1(me_0()), x0) | a_truth_2(and_2(knave_1(x1), knight_1(x1)), x0) ....... R2 [R1:L0, U4:L0]
% a_truth_2(knight_1(x0),x1) | a_truth_2(knave_1(x0),x1) ....... B4
% a_truth_2(and_2(knave_1(x0), knight_1(x0)), x1) | a_truth_2(knave_1(me_0()), x1) ....... R3 [R2:L0, B4:L0]
% ~a_truth_2(and_2(knave_1(x0),knight_1(x0)),x1) ....... U0
% a_truth_2(knave_1(me_0()), x0) ....... R4 [R3:L0, U0:L0]
% Derivation of unit clause U17:
% a_truth_2(and_2(knave_1(me_0()),rich_1(me_0())),x0) | says_2(me_0(),x0) ....... B1
% ~a_truth_2(knight_1(x0),x1) | ~says_2(x0,x2) | a_truth_2(x2,x1) ....... B10
% a_truth_2(and_2(knave_1(me_0()), rich_1(me_0())), x0) | ~a_truth_2(knight_1(me_0()), x1) | a_truth_2(x0, x1) ....... R1 [B1:L1, B10:L1]
% ~a_truth_2(and_2(knave_1(x0),knight_1(x0)),x1) ....... U0
% a_truth_2(and_2(knave_1(me_0()), rich_1(me_0())), and_2(knave_1(x0), knight_1(x0))) | ~a_truth_2(knight_1(me_0()), x1) ....... R2 [R1:L2, U0:L0]
% ~a_truth_2(and_2(knave_1(me_0()),rich_1(me_0())),x0) | ~says_2(me_0(),x0) ....... B0
% ~a_truth_2(knight_1(me_0()), x0) | ~says_2(me_0(), and_2(knave_1(x1), knight_1(x1))) ....... R3 [R2:L0, B0:L0]
% says_2(me_0(),and_2(knave_1(x0),knight_1(x0))) ....... U8
% ~a_truth_2(knight_1(me_0()), x0) ....... R4 [R3:L1, U8:L0]
% Derivation of unit clause U354:
% ~a_truth_2(and_2(x0,x1),x2) | a_truth_2(x0,x2) ....... B2
% ~a_truth_2(knave_1(x0),x1) | a_truth_2(x2,x1) | says_2(x0,x2) ....... B11
% a_truth_2(x0, x1) | ~a_truth_2(knave_1(x2), x1) | says_2(x2, and_2(x0, x3)) ....... R1 [B2:L0, B11:L1]
% ~a_truth_2(and_2(knave_1(me_0()),rich_1(me_0())),and_2(knave_1(x0),knight_1(x0))) ....... U4
% ~a_truth_2(knave_1(x0), and_2(knave_1(x1), knight_1(x1))) | says_2(x0, and_2(and_2(knave_1(me_0()), rich_1(me_0())), x2)) ....... R2 [R1:L0, U4:L0]
% a_truth_2(knight_1(x0),x1) | a_truth_2(knave_1(x0),x1) ....... B4
% says_2(x0, and_2(and_2(knave_1(me_0()), rich_1(me_0())), x1)) | a_truth_2(knight_1(x0), and_2(knave_1(x2), knight_1(x2))) ....... R3 [R2:L0, B4:L1]
% ~a_truth_2(knight_1(me_0()),x0) ....... U17
% says_2(me_0(), and_2(and_2(knave_1(me_0()), rich_1(me_0())), x0)) ....... R4 [R3:L1, U17:L0]
% Derivation of unit clause U602:
% ~a_truth_2(and_2(x0,x1),x2) | a_truth_2(x1,x2) ....... B3
% ~a_truth_2(x2,x1) | ~a_truth_2(knave_1(x0),x1) | ~says_2(x0,x2) ....... B9
% ~a_truth_2(and_2(x0, x1), x2) | ~a_truth_2(knave_1(x3), x2) | ~says_2(x3, x1) ....... R1 [B3:L1, B9:L0]
% says_2(me_0(),and_2(and_2(knave_1(me_0()),rich_1(me_0())),x0)) ....... U354
% ~a_truth_2(and_2(x0, and_2(and_2(knave_1(me_0()), rich_1(me_0())), x1)), x2) | ~a_truth_2(knave_1(me_0()), x2) ....... R2 [R1:L2, U354:L0]
% a_truth_2(knight_1(x0),x1) | a_truth_2(knave_1(x0),x1) ....... B4
% ~a_truth_2(and_2(x0, and_2(and_2(knave_1(me_0()), rich_1(me_0())), x1)), x2) | a_truth_2(knight_1(me_0()), x2) ....... R3 [R2:L1, B4:L1]
% ~a_truth_2(knight_1(me_0()),x0) ....... U17
% ~a_truth_2(and_2(x0, and_2(and_2(knave_1(me_0()), rich_1(me_0())), x1)), x2) ....... R4 [R3:L1, U17:L0]
% Derivation of unit clause U912:
% ~a_truth_2(and_2(x0,x1),x2) | a_truth_2(x1,x2) ....... B3
% ~a_truth_2(x1,x2) | ~a_truth_2(x0,x2) | a_truth_2(and_2(x0,x1),x2) ....... B12
% ~a_truth_2(and_2(x0, x1), x2) | ~a_truth_2(x3, x2) | a_truth_2(and_2(x1, x3), x2) ....... R1 [B3:L1, B12:L1]
% ~a_truth_2(and_2(x0,and_2(and_2(knave_1(me_0()),rich_1(me_0())),x1)),x2) ....... U602
% ~a_truth_2(and_2(x0, x1), x2) | ~a_truth_2(and_2(and_2(knave_1(me_0()), rich_1(me_0())), x3), x2) ....... R2 [R1:L2, U602:L0]
% ~a_truth_2(and_2(x0,x1),x2) | a_truth_2(x0,x2) ....... B2
% ~a_truth_2(and_2(and_2(knave_1(me_0()), rich_1(me_0())), x0), x1) | ~a_truth_2(and_2(and_2(x2, x3), x4), x1) ....... R3 [R2:L0, B2:L1]
% ~a_truth_2(and_2(and_2(knave_1(me_0()), rich_1(me_0())), x0), x1) ....... R4 [R3:L0, R3:L1]
% Derivation of unit clause U1417:
% a_truth_2(knight_1(x0),x1) | a_truth_2(knave_1(x0),x1) ....... B4
% ~a_truth_2(knave_1(x0),x1) | ~a_truth_2(knight_1(x0),x1) ....... B5
% a_truth_2(knave_1(x0), x1) | ~a_truth_2(knave_1(x0), x1) ....... R1 [B4:L0, B5:L1]
% ~a_truth_2(x1,x2) | ~a_truth_2(x0,x2) | a_truth_2(and_2(x0,x1),x2) ....... B12
% ~a_truth_2(knave_1(x0), x1) | ~a_truth_2(x2, x1) | a_truth_2(and_2(x2, knave_1(x0)), x1) ....... R2 [R1:L0, B12:L0]
% a_truth_2(knave_1(me_0()),x0) ....... U16
% ~a_truth_2(x0, x1) | a_truth_2(and_2(x0, knave_1(me_0())), x1) ....... R3 [R2:L0, U16:L0]
% ~a_truth_2(and_2(and_2(knave_1(me_0()),rich_1(me_0())),x0),x1) ....... U912
% ~a_truth_2(and_2(knave_1(me_0()), rich_1(me_0())), x0) ....... R4 [R3:L1, U912:L0]
% Derivation of unit clause U1816:
% a_truth_2(knight_1(x0),x1) | a_truth_2(knave_1(x0),x1) ....... B4
% ~a_truth_2(x2,x1) | ~a_truth_2(knave_1(x0),x1) | ~says_2(x0,x2) ....... B9
% a_truth_2(knight_1(x0), x1) | ~a_truth_2(knave_1(x2), x1) | ~says_2(x2, knave_1(x0)) ....... R1 [B4:L1, B9:L0]
% ~a_truth_2(knight_1(me_0()),x0) ....... U17
% ~a_truth_2(knave_1(x0), x1) | ~says_2(x0, knave_1(me_0())) ....... R2 [R1:L0, U17:L0]
% a_truth_2(and_2(knave_1(me_0()),rich_1(me_0())),x0) | says_2(me_0(),x0) ....... B1
% ~a_truth_2(knave_1(me_0()), x0) | a_truth_2(and_2(knave_1(me_0()), rich_1(me_0())), knave_1(me_0())) ....... R3 [R2:L1, B1:L1]
% a_truth_2(knave_1(me_0()),x0) ....... U16
% a_truth_2(and_2(knave_1(me_0()), rich_1(me_0())), knave_1(me_0())) ....... R4 [R3:L0, U16:L0]
% Derivation of the empty clause:
% a_truth_2(and_2(knave_1(me_0()),rich_1(me_0())),knave_1(me_0())) ....... U1816
% ~a_truth_2(and_2(knave_1(me_0()),rich_1(me_0())),x0) ....... U1417
% [] ....... R1 [U1816:L0, U1417:L0]
% --------------- End of Proof ---------------
% PROOF FOUND!
% ---------------------------------------------
% | Statistics |
% ---------------------------------------------
% Profile 3: Performance Statistics:
% ==================================
% Total number of generated clauses: 4741022
% resolvents: 4697163 factors: 43859
% Number of unit clauses generated: 4013916
% % unit clauses generated to total clauses generated: 84.66
% Number of unit clauses constructed and retained at depth [x]:
% =============================================================
% [3] = 4
% [4] = 1813
% Total = 1817
% Number of generated clauses having [x] literals:
% ------------------------------------------------
% [1] = 4013916 [2] = 679023 [3] = 48083
% Average size of a generated clause: 2.0
% Number of unit clauses per predicate list:
% ==========================================
% [0] a_truth_2 (+)326 (-)1123
% [1] says_2 (+)367 (-)1
% ------------------
% Total: (+)693 (-)1124
% Total number of unit clauses retained: 1817
% Number of clauses skipped because of their length: 601251
% N base clauses skippped in resolve-with-all-base-clauses
% because of the shortest resolvents table: 1178
% Number of successful unifications: 4741061
% Number of unification failures: 20633733
% Number of unit to unit unification failures: 366225
% N literal unification failure due to lookup root_id table: 14227201
% N base clause resolution failure due to lookup table: 617913
% N UC-BCL resolution dropped due to lookup table: 85954
% Max entries in substitution set: 12
% N unit clauses dropped because they exceeded max values: 3688124
% N unit clauses dropped because too much nesting: 631463
% N unit clauses not constrcuted because table was full: 0
% N unit clauses dropped because UCFA table was full: 0
% Max number of terms in a unit clause: 10
% Max term depth in a unit clause: 5
% Number of states in UCFA table: 3971
% Total number of terms of all unit clauses in table: 16865
% Max allowed number of states in UCFA: 96000
% Ratio n states used/total allowed states: 0.04
% Ratio n states used/total unit clauses terms: 0.24
% Number of symbols (columns) in UCFA: 42
% Profile 2: Number of calls to:
% ==============================
% PTUnify() = 25374794
% ConstructUnitClause() = 3689941
% Profile 1: Time spent in:
% =========================
% ConstructUnitClause() : 4.71 secs
% --------------------------------------------------------
% | |
% Inferences per sec: 296314
% | |
% --------------------------------------------------------
% Elapsed time: 17 secs
% CPU time: 16.36 secs
%
%------------------------------------------------------------------------------