%------------------------------------------------------------------------------ % 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 % %------------------------------------------------------------------------------