TSTP Solution File: PUZ020-1 by Bliksem---1.12

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Bliksem---1.12
% Problem  : PUZ020-1 : TPTP v8.1.0. Released v1.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : bliksem %s

% Computer : n029.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  : 0s
% DateTime : Mon Jul 18 17:58:13 EDT 2022

% Result   : Unsatisfiable 0.44s 1.08s
% Output   : Refutation 0.44s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12  % Problem  : PUZ020-1 : TPTP v8.1.0. Released v1.0.0.
% 0.07/0.13  % Command  : bliksem %s
% 0.13/0.34  % Computer : n029.cluster.edu
% 0.13/0.34  % Model    : x86_64 x86_64
% 0.13/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.34  % Memory   : 8042.1875MB
% 0.13/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.34  % CPULimit : 300
% 0.13/0.34  % DateTime : Sun May 29 01:29:43 EDT 2022
% 0.13/0.34  % CPUTime  : 
% 0.44/1.08  *** allocated 10000 integers for termspace/termends
% 0.44/1.08  *** allocated 10000 integers for clauses
% 0.44/1.08  *** allocated 10000 integers for justifications
% 0.44/1.08  Bliksem 1.12
% 0.44/1.08  
% 0.44/1.08  
% 0.44/1.08  Automatic Strategy Selection
% 0.44/1.08  
% 0.44/1.08  Clauses:
% 0.44/1.08  [
% 0.44/1.08     [ ~( person( X ) ), knight( X ), knave( X ) ],
% 0.44/1.08     [ ~( person( X ) ), ~( knight( X ) ), ~( knave( X ) ) ],
% 0.44/1.08     [ ~( says( X, Y ) ), 'a_truth'( Y ), ~( 'a_truth'( Y ) ) ],
% 0.44/1.08     [ ~( says( X, Y ) ), ~( =( X, Y ) ) ],
% 0.44/1.08     [ ~( says( X, Y ) ), =( Y, 'statement_by'( X ) ) ],
% 0.44/1.08     [ ~( person( X ) ), ~( =( X, 'statement_by'( Y ) ) ) ],
% 0.44/1.08     [ ~( person( X ) ), ~( 'a_truth'( 'statement_by'( X ) ) ), knight( X ) ]
% 0.44/1.08    ,
% 0.44/1.08     [ ~( person( X ) ), 'a_truth'( 'statement_by'( X ) ), knave( X ) ],
% 0.44/1.08     [ ~( knight( X ) ), ~( says( X, Y ) ), 'a_truth'( Y ) ],
% 0.44/1.08     [ ~( knave( X ) ), ~( says( X, Y ) ), ~( 'a_truth'( Y ) ) ],
% 0.44/1.08     [ person( husband ) ],
% 0.44/1.08     [ person( wife ) ],
% 0.44/1.08     [ ~( =( husband, wife ) ) ],
% 0.44/1.08     [ says( husband, 'statement_by'( husband ) ) ],
% 0.44/1.08     [ ~( 'a_truth'( 'statement_by'( husband ) ) ), ~( knight( husband ) ), 
% 0.44/1.08    knight( wife ) ],
% 0.44/1.08     [ 'a_truth'( 'statement_by'( husband ) ), ~( knight( husband ) ) ],
% 0.44/1.08     [ 'a_truth'( 'statement_by'( husband ) ), knight( wife ) ],
% 0.44/1.08     [ ~( knight( wife ) ), 'a_truth'( 'statement_by'( husband ) ) ],
% 0.44/1.08     [ ~( knight( husband ) ) ]
% 0.44/1.08  ] .
% 0.44/1.08  
% 0.44/1.08  
% 0.44/1.08  percentage equality = 0.105263, percentage horn = 0.833333
% 0.44/1.08  This is a problem with some equality
% 0.44/1.08  
% 0.44/1.08  
% 0.44/1.08  
% 0.44/1.08  Options Used:
% 0.44/1.08  
% 0.44/1.08  useres =            1
% 0.44/1.08  useparamod =        1
% 0.44/1.08  useeqrefl =         1
% 0.44/1.08  useeqfact =         1
% 0.44/1.08  usefactor =         1
% 0.44/1.08  usesimpsplitting =  0
% 0.44/1.08  usesimpdemod =      5
% 0.44/1.08  usesimpres =        3
% 0.44/1.08  
% 0.44/1.08  resimpinuse      =  1000
% 0.44/1.08  resimpclauses =     20000
% 0.44/1.08  substype =          eqrewr
% 0.44/1.08  backwardsubs =      1
% 0.44/1.08  selectoldest =      5
% 0.44/1.08  
% 0.44/1.08  litorderings [0] =  split
% 0.44/1.08  litorderings [1] =  extend the termordering, first sorting on arguments
% 0.44/1.08  
% 0.44/1.08  termordering =      kbo
% 0.44/1.08  
% 0.44/1.08  litapriori =        0
% 0.44/1.08  termapriori =       1
% 0.44/1.08  litaposteriori =    0
% 0.44/1.08  termaposteriori =   0
% 0.44/1.08  demodaposteriori =  0
% 0.44/1.08  ordereqreflfact =   0
% 0.44/1.08  
% 0.44/1.08  litselect =         negord
% 0.44/1.08  
% 0.44/1.08  maxweight =         15
% 0.44/1.08  maxdepth =          30000
% 0.44/1.08  maxlength =         115
% 0.44/1.08  maxnrvars =         195
% 0.44/1.08  excuselevel =       1
% 0.44/1.08  increasemaxweight = 1
% 0.44/1.08  
% 0.44/1.08  maxselected =       10000000
% 0.44/1.08  maxnrclauses =      10000000
% 0.44/1.08  
% 0.44/1.08  showgenerated =    0
% 0.44/1.08  showkept =         0
% 0.44/1.08  showselected =     0
% 0.44/1.08  showdeleted =      0
% 0.44/1.08  showresimp =       1
% 0.44/1.08  showstatus =       2000
% 0.44/1.08  
% 0.44/1.08  prologoutput =     1
% 0.44/1.08  nrgoals =          5000000
% 0.44/1.08  totalproof =       1
% 0.44/1.08  
% 0.44/1.08  Symbols occurring in the translation:
% 0.44/1.08  
% 0.44/1.08  {}  [0, 0]      (w:1, o:2, a:1, s:1, b:0), 
% 0.44/1.08  .  [1, 2]      (w:1, o:23, a:1, s:1, b:0), 
% 0.44/1.08  !  [4, 1]      (w:0, o:13, a:1, s:1, b:0), 
% 0.44/1.08  =  [13, 2]      (w:1, o:0, a:0, s:1, b:0), 
% 0.44/1.08  ==>  [14, 2]      (w:1, o:0, a:0, s:1, b:0), 
% 0.44/1.08  person  [40, 1]      (w:1, o:18, a:1, s:1, b:0), 
% 0.44/1.08  knight  [41, 1]      (w:1, o:19, a:1, s:1, b:0), 
% 0.44/1.08  knave  [42, 1]      (w:1, o:20, a:1, s:1, b:0), 
% 0.44/1.08  says  [44, 2]      (w:1, o:48, a:1, s:1, b:0), 
% 0.44/1.08  'a_truth'  [45, 1]      (w:1, o:21, a:1, s:1, b:0), 
% 0.44/1.08  'statement_by'  [46, 1]      (w:1, o:22, a:1, s:1, b:0), 
% 0.44/1.08  husband  [47, 0]      (w:1, o:11, a:1, s:1, b:0), 
% 0.44/1.08  wife  [48, 0]      (w:1, o:12, a:1, s:1, b:0).
% 0.44/1.08  
% 0.44/1.08  
% 0.44/1.08  Starting Search:
% 0.44/1.08  
% 0.44/1.08  
% 0.44/1.08  Bliksems!, er is een bewijs:
% 0.44/1.08  % SZS status Unsatisfiable
% 0.44/1.08  % SZS output start Refutation
% 0.44/1.08  
% 0.44/1.08  clause( 5, [ ~( person( X ) ), ~( 'a_truth'( 'statement_by'( X ) ) ), 
% 0.44/1.08    knight( X ) ] )
% 0.44/1.08  .
% 0.44/1.08  clause( 9, [ person( husband ) ] )
% 0.44/1.08  .
% 0.44/1.08  clause( 15, [ 'a_truth'( 'statement_by'( husband ) ), knight( wife ) ] )
% 0.44/1.08  .
% 0.44/1.08  clause( 16, [ 'a_truth'( 'statement_by'( husband ) ) ] )
% 0.44/1.08  .
% 0.44/1.08  clause( 17, [ ~( knight( husband ) ) ] )
% 0.44/1.08  .
% 0.44/1.08  clause( 47, [ knight( husband ) ] )
% 0.44/1.08  .
% 0.44/1.08  clause( 52, [] )
% 0.44/1.08  .
% 0.44/1.08  
% 0.44/1.08  
% 0.44/1.08  % SZS output end Refutation
% 0.44/1.08  found a proof!
% 0.44/1.08  
% 0.44/1.08  % ABCDEFGHIJKLMNOPQRSTUVWXYZ
% 0.44/1.08  
% 0.44/1.08  initialclauses(
% 0.44/1.08  [ clause( 54, [ ~( person( X ) ), knight( X ), knave( X ) ] )
% 0.44/1.08  , clause( 55, [ ~( person( X ) ), ~( knight( X ) ), ~( knave( X ) ) ] )
% 0.44/1.08  , clause( 56, [ ~( says( X, Y ) ), 'a_truth'( Y ), ~( 'a_truth'( Y ) ) ] )
% 0.44/1.08  , clause( 57, [ ~( says( X, Y ) ), ~( =( X, Y ) ) ] )
% 0.44/1.08  , clause( 58, [ ~( says( X, Y ) ), =( Y, 'statement_by'( X ) ) ] )
% 0.44/1.08  , clause( 59, [ ~( person( X ) ), ~( =( X, 'statement_by'( Y ) ) ) ] )
% 0.44/1.08  , clause( 60, [ ~( person( X ) ), ~( 'a_truth'( 'statement_by'( X ) ) ), 
% 0.44/1.08    knight( X ) ] )
% 0.44/1.08  , clause( 61, [ ~( person( X ) ), 'a_truth'( 'statement_by'( X ) ), knave( 
% 0.44/1.08    X ) ] )
% 0.44/1.08  , clause( 62, [ ~( knight( X ) ), ~( says( X, Y ) ), 'a_truth'( Y ) ] )
% 0.44/1.08  , clause( 63, [ ~( knave( X ) ), ~( says( X, Y ) ), ~( 'a_truth'( Y ) ) ]
% 0.44/1.08     )
% 0.44/1.08  , clause( 64, [ person( husband ) ] )
% 0.44/1.08  , clause( 65, [ person( wife ) ] )
% 0.44/1.08  , clause( 66, [ ~( =( husband, wife ) ) ] )
% 0.44/1.08  , clause( 67, [ says( husband, 'statement_by'( husband ) ) ] )
% 0.44/1.08  , clause( 68, [ ~( 'a_truth'( 'statement_by'( husband ) ) ), ~( knight( 
% 0.44/1.08    husband ) ), knight( wife ) ] )
% 0.44/1.08  , clause( 69, [ 'a_truth'( 'statement_by'( husband ) ), ~( knight( husband
% 0.44/1.08     ) ) ] )
% 0.44/1.08  , clause( 70, [ 'a_truth'( 'statement_by'( husband ) ), knight( wife ) ] )
% 0.44/1.08  , clause( 71, [ ~( knight( wife ) ), 'a_truth'( 'statement_by'( husband ) )
% 0.44/1.08     ] )
% 0.44/1.08  , clause( 72, [ ~( knight( husband ) ) ] )
% 0.44/1.08  ] ).
% 0.44/1.08  
% 0.44/1.08  
% 0.44/1.08  
% 0.44/1.08  subsumption(
% 0.44/1.08  clause( 5, [ ~( person( X ) ), ~( 'a_truth'( 'statement_by'( X ) ) ), 
% 0.44/1.08    knight( X ) ] )
% 0.44/1.08  , clause( 60, [ ~( person( X ) ), ~( 'a_truth'( 'statement_by'( X ) ) ), 
% 0.44/1.08    knight( X ) ] )
% 0.44/1.08  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1, 
% 0.44/1.08    1 ), ==>( 2, 2 )] ) ).
% 0.44/1.08  
% 0.44/1.08  
% 0.44/1.08  subsumption(
% 0.44/1.08  clause( 9, [ person( husband ) ] )
% 0.44/1.08  , clause( 64, [ person( husband ) ] )
% 0.44/1.08  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.44/1.08  
% 0.44/1.08  
% 0.44/1.08  subsumption(
% 0.44/1.08  clause( 15, [ 'a_truth'( 'statement_by'( husband ) ), knight( wife ) ] )
% 0.44/1.08  , clause( 70, [ 'a_truth'( 'statement_by'( husband ) ), knight( wife ) ] )
% 0.44/1.08  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1, 1 )] )
% 0.44/1.08     ).
% 0.44/1.08  
% 0.44/1.08  
% 0.44/1.08  resolution(
% 0.44/1.08  clause( 89, [ 'a_truth'( 'statement_by'( husband ) ), 'a_truth'( 
% 0.44/1.08    'statement_by'( husband ) ) ] )
% 0.44/1.08  , clause( 71, [ ~( knight( wife ) ), 'a_truth'( 'statement_by'( husband ) )
% 0.44/1.08     ] )
% 0.44/1.08  , 0, clause( 15, [ 'a_truth'( 'statement_by'( husband ) ), knight( wife ) ]
% 0.44/1.08     )
% 0.44/1.08  , 1, substitution( 0, [] ), substitution( 1, [] )).
% 0.44/1.08  
% 0.44/1.08  
% 0.44/1.08  factor(
% 0.44/1.08  clause( 90, [ 'a_truth'( 'statement_by'( husband ) ) ] )
% 0.44/1.08  , clause( 89, [ 'a_truth'( 'statement_by'( husband ) ), 'a_truth'( 
% 0.44/1.08    'statement_by'( husband ) ) ] )
% 0.44/1.08  , 0, 1, substitution( 0, [] )).
% 0.44/1.08  
% 0.44/1.08  
% 0.44/1.08  subsumption(
% 0.44/1.08  clause( 16, [ 'a_truth'( 'statement_by'( husband ) ) ] )
% 0.44/1.08  , clause( 90, [ 'a_truth'( 'statement_by'( husband ) ) ] )
% 0.44/1.08  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.44/1.08  
% 0.44/1.08  
% 0.44/1.08  subsumption(
% 0.44/1.08  clause( 17, [ ~( knight( husband ) ) ] )
% 0.44/1.08  , clause( 72, [ ~( knight( husband ) ) ] )
% 0.44/1.08  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.44/1.08  
% 0.44/1.08  
% 0.44/1.08  resolution(
% 0.44/1.08  clause( 95, [ ~( person( husband ) ), knight( husband ) ] )
% 0.44/1.08  , clause( 5, [ ~( person( X ) ), ~( 'a_truth'( 'statement_by'( X ) ) ), 
% 0.44/1.08    knight( X ) ] )
% 0.44/1.08  , 1, clause( 16, [ 'a_truth'( 'statement_by'( husband ) ) ] )
% 0.44/1.08  , 0, substitution( 0, [ :=( X, husband )] ), substitution( 1, [] )).
% 0.44/1.08  
% 0.44/1.08  
% 0.44/1.08  resolution(
% 0.44/1.08  clause( 96, [ knight( husband ) ] )
% 0.44/1.08  , clause( 95, [ ~( person( husband ) ), knight( husband ) ] )
% 0.44/1.08  , 0, clause( 9, [ person( husband ) ] )
% 0.44/1.08  , 0, substitution( 0, [] ), substitution( 1, [] )).
% 0.44/1.08  
% 0.44/1.08  
% 0.44/1.08  subsumption(
% 0.44/1.08  clause( 47, [ knight( husband ) ] )
% 0.44/1.08  , clause( 96, [ knight( husband ) ] )
% 0.44/1.08  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.44/1.08  
% 0.44/1.08  
% 0.44/1.08  resolution(
% 0.44/1.08  clause( 97, [] )
% 0.44/1.08  , clause( 17, [ ~( knight( husband ) ) ] )
% 0.74/1.08  , 0, clause( 47, [ knight( husband ) ] )
% 0.74/1.08  , 0, substitution( 0, [] ), substitution( 1, [] )).
% 0.74/1.08  
% 0.74/1.08  
% 0.74/1.08  subsumption(
% 0.74/1.08  clause( 52, [] )
% 0.74/1.08  , clause( 97, [] )
% 0.74/1.08  , substitution( 0, [] ), permutation( 0, [] ) ).
% 0.74/1.08  
% 0.74/1.08  
% 0.74/1.08  end.
% 0.74/1.08  
% 0.74/1.08  % ABCDEFGHIJKLMNOPQRSTUVWXYZ
% 0.74/1.08  
% 0.74/1.08  Memory use:
% 0.74/1.08  
% 0.74/1.08  space for terms:        749
% 0.74/1.08  space for clauses:      2658
% 0.74/1.08  
% 0.74/1.08  
% 0.74/1.08  clauses generated:      94
% 0.74/1.08  clauses kept:           53
% 0.74/1.08  clauses selected:       24
% 0.74/1.08  clauses deleted:        3
% 0.74/1.08  clauses inuse deleted:  0
% 0.74/1.08  
% 0.74/1.08  subsentry:          152
% 0.74/1.08  literals s-matched: 115
% 0.74/1.08  literals matched:   115
% 0.74/1.08  full subsumption:   15
% 0.74/1.08  
% 0.74/1.08  checksum:           1102834924
% 0.74/1.08  
% 0.74/1.08  
% 0.74/1.08  Bliksem ended
%------------------------------------------------------------------------------