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

View Problem - Process Solution

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

% Computer : n020.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.87s 1.29s
% Output   : Refutation 0.87s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12  % Problem  : PUZ021-1 : TPTP v8.1.0. Released v1.0.0.
% 0.07/0.12  % Command  : bliksem %s
% 0.13/0.33  % Computer : n020.cluster.edu
% 0.13/0.33  % Model    : x86_64 x86_64
% 0.13/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.33  % Memory   : 8042.1875MB
% 0.13/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.33  % CPULimit : 300
% 0.13/0.33  % DateTime : Sat May 28 21:42:39 EDT 2022
% 0.13/0.34  % CPUTime  : 
% 0.87/1.29  *** allocated 10000 integers for termspace/termends
% 0.87/1.29  *** allocated 10000 integers for clauses
% 0.87/1.29  *** allocated 10000 integers for justifications
% 0.87/1.29  Bliksem 1.12
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  Automatic Strategy Selection
% 0.87/1.29  
% 0.87/1.29  Clauses:
% 0.87/1.29  [
% 0.87/1.29     [ ~( 'a_truth'( knight( X ), Y ) ), ~( 'a_truth'( knave( X ), Y ) ) ]
% 0.87/1.29    ,
% 0.87/1.29     [ 'a_truth'( knight( X ), Y ), 'a_truth'( knave( X ), Y ) ],
% 0.87/1.29     [ ~( 'a_truth'( rich( X ), Y ) ), ~( 'a_truth'( poor( X ), Y ) ) ],
% 0.87/1.29     [ 'a_truth'( rich( X ), Y ), 'a_truth'( poor( X ), Y ) ],
% 0.87/1.29     [ ~( 'a_truth'( knight( X ), Y ) ), ~( says( X, Z ) ), 'a_truth'( Z, Y )
% 0.87/1.29     ],
% 0.87/1.29     [ ~( 'a_truth'( knight( X ), Y ) ), says( X, Z ), ~( 'a_truth'( Z, Y ) )
% 0.87/1.29     ],
% 0.87/1.29     [ ~( 'a_truth'( knave( X ), Y ) ), ~( says( X, Z ) ), ~( 'a_truth'( Z, Y
% 0.87/1.29     ) ) ],
% 0.87/1.29     [ ~( 'a_truth'( knave( X ), Y ) ), says( X, Z ), 'a_truth'( Z, Y ) ]
% 0.87/1.29    ,
% 0.87/1.29     [ ~( 'a_truth'( and( X, Y ), Z ) ), 'a_truth'( X, Z ) ],
% 0.87/1.29     [ ~( 'a_truth'( and( X, Y ), Z ) ), 'a_truth'( Y, Z ) ],
% 0.87/1.29     [ 'a_truth'( and( X, Y ), Z ), ~( 'a_truth'( X, Z ) ), ~( 'a_truth'( Y, 
% 0.87/1.29    Z ) ) ],
% 0.87/1.29     [ ~( says( me, X ) ), ~( 'a_truth'( and( knave( me ), rich( me ) ), X )
% 0.87/1.29     ) ],
% 0.87/1.29     [ says( me, X ), 'a_truth'( and( knave( me ), rich( me ) ), X ) ]
% 0.87/1.29  ] .
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  percentage equality = 0.000000, percentage horn = 0.692308
% 0.87/1.29  This a non-horn, non-equality problem
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  Options Used:
% 0.87/1.29  
% 0.87/1.29  useres =            1
% 0.87/1.29  useparamod =        0
% 0.87/1.29  useeqrefl =         0
% 0.87/1.29  useeqfact =         0
% 0.87/1.29  usefactor =         1
% 0.87/1.29  usesimpsplitting =  0
% 0.87/1.29  usesimpdemod =      0
% 0.87/1.29  usesimpres =        3
% 0.87/1.29  
% 0.87/1.29  resimpinuse      =  1000
% 0.87/1.29  resimpclauses =     20000
% 0.87/1.29  substype =          standard
% 0.87/1.29  backwardsubs =      1
% 0.87/1.29  selectoldest =      5
% 0.87/1.29  
% 0.87/1.29  litorderings [0] =  split
% 0.87/1.29  litorderings [1] =  liftord
% 0.87/1.29  
% 0.87/1.29  termordering =      none
% 0.87/1.29  
% 0.87/1.29  litapriori =        1
% 0.87/1.29  termapriori =       0
% 0.87/1.29  litaposteriori =    0
% 0.87/1.29  termaposteriori =   0
% 0.87/1.29  demodaposteriori =  0
% 0.87/1.29  ordereqreflfact =   0
% 0.87/1.29  
% 0.87/1.29  litselect =         none
% 0.87/1.29  
% 0.87/1.29  maxweight =         15
% 0.87/1.29  maxdepth =          30000
% 0.87/1.29  maxlength =         115
% 0.87/1.29  maxnrvars =         195
% 0.87/1.29  excuselevel =       1
% 0.87/1.29  increasemaxweight = 1
% 0.87/1.29  
% 0.87/1.29  maxselected =       10000000
% 0.87/1.29  maxnrclauses =      10000000
% 0.87/1.29  
% 0.87/1.29  showgenerated =    0
% 0.87/1.29  showkept =         0
% 0.87/1.29  showselected =     0
% 0.87/1.29  showdeleted =      0
% 0.87/1.29  showresimp =       1
% 0.87/1.29  showstatus =       2000
% 0.87/1.29  
% 0.87/1.29  prologoutput =     1
% 0.87/1.29  nrgoals =          5000000
% 0.87/1.29  totalproof =       1
% 0.87/1.29  
% 0.87/1.29  Symbols occurring in the translation:
% 0.87/1.29  
% 0.87/1.29  {}  [0, 0]      (w:1, o:2, a:1, s:1, b:0), 
% 0.87/1.29  .  [1, 2]      (w:1, o:22, a:1, s:1, b:0), 
% 0.87/1.29  !  [4, 1]      (w:0, o:13, a:1, s:1, b:0), 
% 0.87/1.29  =  [13, 2]      (w:1, o:0, a:0, s:1, b:0), 
% 0.87/1.29  ==>  [14, 2]      (w:1, o:0, a:0, s:1, b:0), 
% 0.87/1.29  knight  [40, 1]      (w:1, o:18, a:1, s:1, b:0), 
% 0.87/1.29  'a_truth'  [42, 2]      (w:1, o:47, a:1, s:1, b:0), 
% 0.87/1.29  knave  [43, 1]      (w:1, o:19, a:1, s:1, b:0), 
% 0.87/1.29  rich  [44, 1]      (w:1, o:20, a:1, s:1, b:0), 
% 0.87/1.29  poor  [45, 1]      (w:1, o:21, a:1, s:1, b:0), 
% 0.87/1.29  says  [47, 2]      (w:1, o:48, a:1, s:1, b:0), 
% 0.87/1.29  and  [48, 2]      (w:1, o:49, a:1, s:1, b:0), 
% 0.87/1.29  me  [49, 0]      (w:1, o:12, a:1, s:1, b:0).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  Starting Search:
% 0.87/1.29  
% 0.87/1.29  Resimplifying inuse:
% 0.87/1.29  Done
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  Intermediate Status:
% 0.87/1.29  Generated:    18455
% 0.87/1.29  Kept:         2029
% 0.87/1.29  Inuse:        222
% 0.87/1.29  Deleted:      41
% 0.87/1.29  Deletedinuse: 31
% 0.87/1.29  
% 0.87/1.29  Resimplifying inuse:
% 0.87/1.29  Done
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  Bliksems!, er is een bewijs:
% 0.87/1.29  % SZS status Unsatisfiable
% 0.87/1.29  % SZS output start Refutation
% 0.87/1.29  
% 0.87/1.29  clause( 0, [ ~( 'a_truth'( knight( X ), Y ) ), ~( 'a_truth'( knave( X ), Y
% 0.87/1.29     ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 1, [ 'a_truth'( knight( X ), Y ), 'a_truth'( knave( X ), Y ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 4, [ ~( 'a_truth'( knight( X ), Y ) ), 'a_truth'( Z, Y ), ~( says( 
% 0.87/1.29    X, Z ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 5, [ ~( 'a_truth'( knight( X ), Y ) ), ~( 'a_truth'( Z, Y ) ), says( 
% 0.87/1.29    X, Z ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 6, [ ~( 'a_truth'( knave( X ), Y ) ), ~( 'a_truth'( Z, Y ) ), ~( 
% 0.87/1.29    says( X, Z ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 7, [ ~( 'a_truth'( knave( X ), Y ) ), 'a_truth'( Z, Y ), says( X, Z
% 0.87/1.29     ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 8, [ 'a_truth'( X, Z ), ~( 'a_truth'( and( X, Y ), Z ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 9, [ 'a_truth'( Y, Z ), ~( 'a_truth'( and( X, Y ), Z ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 11, [ ~( 'a_truth'( and( knave( me ), rich( me ) ), X ) ), ~( says( 
% 0.87/1.29    me, X ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 12, [ 'a_truth'( and( knave( me ), rich( me ) ), X ), says( me, X )
% 0.87/1.29     ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 13, [ ~( 'a_truth'( knight( X ), Y ) ), says( X, knight( X ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 14, [ ~( 'a_truth'( knave( X ), Y ) ), ~( says( X, knave( X ) ) ) ]
% 0.87/1.29     )
% 0.87/1.29  .
% 0.87/1.29  clause( 23, [ ~( 'a_truth'( knight( X ), Y ) ), ~( 'a_truth'( and( knave( X
% 0.87/1.29     ), Z ), Y ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 35, [ 'a_truth'( Z, Y ), ~( 'a_truth'( knight( X ), T ) ), 
% 0.87/1.29    'a_truth'( Z, T ), ~( 'a_truth'( knave( X ), Y ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 36, [ ~( 'a_truth'( Z, Y ) ), ~( 'a_truth'( knave( X ), T ) ), 
% 0.87/1.29    'a_truth'( Z, T ), ~( 'a_truth'( knave( X ), Y ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 37, [ ~( 'a_truth'( Z, Y ) ), ~( 'a_truth'( knave( X ), T ) ), ~( 
% 0.87/1.29    'a_truth'( Z, T ) ), ~( 'a_truth'( knight( X ), Y ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 138, [ ~( 'a_truth'( knight( me ), Y ) ), 'a_truth'( X, Y ), 
% 0.87/1.29    'a_truth'( and( knave( me ), rich( me ) ), X ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 139, [ ~( 'a_truth'( knave( me ), X ) ), 'a_truth'( and( knave( me
% 0.87/1.29     ), rich( me ) ), knave( me ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 140, [ ~( 'a_truth'( knight( me ), and( knave( me ), rich( me ) ) )
% 0.87/1.29     ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 216, [ ~( 'a_truth'( knight( me ), knave( me ) ) ), ~( 'a_truth'( 
% 0.87/1.29    knave( me ), X ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 221, [ 'a_truth'( knave( me ), knave( me ) ), ~( 'a_truth'( knave( 
% 0.87/1.29    me ), X ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 235, [ 'a_truth'( knight( me ), X ), ~( 'a_truth'( knight( me ), 
% 0.87/1.29    knave( me ) ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 242, [ ~( 'a_truth'( knight( me ), knave( me ) ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 257, [ ~( 'a_truth'( and( X, knight( me ) ), knave( me ) ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 274, [ ~( 'a_truth'( Y, Z ) ), 'a_truth'( Y, knave( me ) ), ~( 
% 0.87/1.29    'a_truth'( knave( me ), Z ) ), ~( 'a_truth'( knave( me ), X ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 284, [ 'a_truth'( knight( me ), X ), 'a_truth'( knave( me ), knave( 
% 0.87/1.29    me ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 288, [ 'a_truth'( X, knave( me ) ), ~( 'a_truth'( knave( me ), Y )
% 0.87/1.29     ), ~( 'a_truth'( X, Y ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 290, [ 'a_truth'( knave( me ), knave( me ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 298, [ ~( 'a_truth'( X, knave( me ) ) ), ~( 'a_truth'( knight( me )
% 0.87/1.29    , Y ) ), ~( 'a_truth'( X, Y ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 301, [ 'a_truth'( and( knave( me ), rich( me ) ), knave( me ) ) ]
% 0.87/1.29     )
% 0.87/1.29  .
% 0.87/1.29  clause( 302, [ ~( 'a_truth'( knight( me ), Y ) ), 'a_truth'( X, Y ), 
% 0.87/1.29    'a_truth'( X, knave( me ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 323, [ 'a_truth'( rich( me ), knave( me ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 351, [ ~( 'a_truth'( knight( me ), X ) ), ~( 'a_truth'( rich( me )
% 0.87/1.29    , X ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 388, [ ~( 'a_truth'( knight( me ), X ) ), ~( 'a_truth'( and( rich( 
% 0.87/1.29    me ), Y ), X ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 406, [ ~( 'a_truth'( knight( me ), X ) ), 'a_truth'( and( Y, knight( 
% 0.87/1.29    me ) ), X ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 450, [ ~( 'a_truth'( knight( me ), X ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 977, [ ~( 'a_truth'( X, Y ) ), 'a_truth'( X, knave( me ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 1009, [ ~( 'a_truth'( Z, knave( me ) ) ), ~( 'a_truth'( knave( X )
% 0.87/1.29    , T ) ), 'a_truth'( Z, T ), ~( 'a_truth'( knave( X ), Y ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 1046, [ ~( 'a_truth'( knave( Y ), Z ) ), 'a_truth'( X, Z ), ~( 
% 0.87/1.29    'a_truth'( X, knave( me ) ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 1696, [ 'a_truth'( Z, Y ), ~( 'a_truth'( Z, T ) ), ~( 'a_truth'( 
% 0.87/1.29    knave( X ), Y ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 1700, [ 'a_truth'( knave( me ), Y ), ~( 'a_truth'( knave( X ), Y )
% 0.87/1.29     ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 1737, [ 'a_truth'( knight( Y ), X ), 'a_truth'( knave( me ), X ) ]
% 0.87/1.29     )
% 0.87/1.29  .
% 0.87/1.29  clause( 1796, [ ~( 'a_truth'( X, Z ) ), 'a_truth'( knight( T ), Y ), 
% 0.87/1.29    'a_truth'( X, Y ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 1840, [ 'a_truth'( X, Z ), ~( 'a_truth'( X, Y ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 1934, [ 'a_truth'( and( knave( me ), rich( me ) ), X ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 1935, [ 'a_truth'( knave( me ), X ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 2054, [ ~( says( me, X ) ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 2055, [ 'a_truth'( Y, X ) ] )
% 0.87/1.29  .
% 0.87/1.29  clause( 2056, [] )
% 0.87/1.29  .
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  % SZS output end Refutation
% 0.87/1.29  found a proof!
% 0.87/1.29  
% 0.87/1.29  % ABCDEFGHIJKLMNOPQRSTUVWXYZ
% 0.87/1.29  
% 0.87/1.29  initialclauses(
% 0.87/1.29  [ clause( 2058, [ ~( 'a_truth'( knight( X ), Y ) ), ~( 'a_truth'( knave( X
% 0.87/1.29     ), Y ) ) ] )
% 0.87/1.29  , clause( 2059, [ 'a_truth'( knight( X ), Y ), 'a_truth'( knave( X ), Y ) ]
% 0.87/1.29     )
% 0.87/1.29  , clause( 2060, [ ~( 'a_truth'( rich( X ), Y ) ), ~( 'a_truth'( poor( X ), 
% 0.87/1.29    Y ) ) ] )
% 0.87/1.29  , clause( 2061, [ 'a_truth'( rich( X ), Y ), 'a_truth'( poor( X ), Y ) ] )
% 0.87/1.29  , clause( 2062, [ ~( 'a_truth'( knight( X ), Y ) ), ~( says( X, Z ) ), 
% 0.87/1.29    'a_truth'( Z, Y ) ] )
% 0.87/1.29  , clause( 2063, [ ~( 'a_truth'( knight( X ), Y ) ), says( X, Z ), ~( 
% 0.87/1.29    'a_truth'( Z, Y ) ) ] )
% 0.87/1.29  , clause( 2064, [ ~( 'a_truth'( knave( X ), Y ) ), ~( says( X, Z ) ), ~( 
% 0.87/1.29    'a_truth'( Z, Y ) ) ] )
% 0.87/1.29  , clause( 2065, [ ~( 'a_truth'( knave( X ), Y ) ), says( X, Z ), 'a_truth'( 
% 0.87/1.29    Z, Y ) ] )
% 0.87/1.29  , clause( 2066, [ ~( 'a_truth'( and( X, Y ), Z ) ), 'a_truth'( X, Z ) ] )
% 0.87/1.29  , clause( 2067, [ ~( 'a_truth'( and( X, Y ), Z ) ), 'a_truth'( Y, Z ) ] )
% 0.87/1.29  , clause( 2068, [ 'a_truth'( and( X, Y ), Z ), ~( 'a_truth'( X, Z ) ), ~( 
% 0.87/1.29    'a_truth'( Y, Z ) ) ] )
% 0.87/1.29  , clause( 2069, [ ~( says( me, X ) ), ~( 'a_truth'( and( knave( me ), rich( 
% 0.87/1.29    me ) ), X ) ) ] )
% 0.87/1.29  , clause( 2070, [ says( me, X ), 'a_truth'( and( knave( me ), rich( me ) )
% 0.87/1.29    , X ) ] )
% 0.87/1.29  ] ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 0, [ ~( 'a_truth'( knight( X ), Y ) ), ~( 'a_truth'( knave( X ), Y
% 0.87/1.29     ) ) ] )
% 0.87/1.29  , clause( 2058, [ ~( 'a_truth'( knight( X ), Y ) ), ~( 'a_truth'( knave( X
% 0.87/1.29     ), Y ) ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 0
% 0.87/1.29     ), ==>( 1, 1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 1, [ 'a_truth'( knight( X ), Y ), 'a_truth'( knave( X ), Y ) ] )
% 0.87/1.29  , clause( 2059, [ 'a_truth'( knight( X ), Y ), 'a_truth'( knave( X ), Y ) ]
% 0.87/1.29     )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 0
% 0.87/1.29     ), ==>( 1, 1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 4, [ ~( 'a_truth'( knight( X ), Y ) ), 'a_truth'( Z, Y ), ~( says( 
% 0.87/1.29    X, Z ) ) ] )
% 0.87/1.29  , clause( 2062, [ ~( 'a_truth'( knight( X ), Y ) ), ~( says( X, Z ) ), 
% 0.87/1.29    'a_truth'( Z, Y ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] ), 
% 0.87/1.29    permutation( 0, [ ==>( 0, 0 ), ==>( 1, 2 ), ==>( 2, 1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 5, [ ~( 'a_truth'( knight( X ), Y ) ), ~( 'a_truth'( Z, Y ) ), says( 
% 0.87/1.29    X, Z ) ] )
% 0.87/1.29  , clause( 2063, [ ~( 'a_truth'( knight( X ), Y ) ), says( X, Z ), ~( 
% 0.87/1.29    'a_truth'( Z, Y ) ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] ), 
% 0.87/1.29    permutation( 0, [ ==>( 0, 0 ), ==>( 1, 2 ), ==>( 2, 1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 6, [ ~( 'a_truth'( knave( X ), Y ) ), ~( 'a_truth'( Z, Y ) ), ~( 
% 0.87/1.29    says( X, Z ) ) ] )
% 0.87/1.29  , clause( 2064, [ ~( 'a_truth'( knave( X ), Y ) ), ~( says( X, Z ) ), ~( 
% 0.87/1.29    'a_truth'( Z, Y ) ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] ), 
% 0.87/1.29    permutation( 0, [ ==>( 0, 0 ), ==>( 1, 2 ), ==>( 2, 1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 7, [ ~( 'a_truth'( knave( X ), Y ) ), 'a_truth'( Z, Y ), says( X, Z
% 0.87/1.29     ) ] )
% 0.87/1.29  , clause( 2065, [ ~( 'a_truth'( knave( X ), Y ) ), says( X, Z ), 'a_truth'( 
% 0.87/1.29    Z, Y ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] ), 
% 0.87/1.29    permutation( 0, [ ==>( 0, 0 ), ==>( 1, 2 ), ==>( 2, 1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 8, [ 'a_truth'( X, Z ), ~( 'a_truth'( and( X, Y ), Z ) ) ] )
% 0.87/1.29  , clause( 2066, [ ~( 'a_truth'( and( X, Y ), Z ) ), 'a_truth'( X, Z ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] ), 
% 0.87/1.29    permutation( 0, [ ==>( 0, 1 ), ==>( 1, 0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 9, [ 'a_truth'( Y, Z ), ~( 'a_truth'( and( X, Y ), Z ) ) ] )
% 0.87/1.29  , clause( 2067, [ ~( 'a_truth'( and( X, Y ), Z ) ), 'a_truth'( Y, Z ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] ), 
% 0.87/1.29    permutation( 0, [ ==>( 0, 1 ), ==>( 1, 0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 11, [ ~( 'a_truth'( and( knave( me ), rich( me ) ), X ) ), ~( says( 
% 0.87/1.29    me, X ) ) ] )
% 0.87/1.29  , clause( 2069, [ ~( says( me, X ) ), ~( 'a_truth'( and( knave( me ), rich( 
% 0.87/1.29    me ) ), X ) ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 1 ), ==>( 1, 
% 0.87/1.29    0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 12, [ 'a_truth'( and( knave( me ), rich( me ) ), X ), says( me, X )
% 0.87/1.29     ] )
% 0.87/1.29  , clause( 2070, [ says( me, X ), 'a_truth'( and( knave( me ), rich( me ) )
% 0.87/1.29    , X ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 1 ), ==>( 1, 
% 0.87/1.29    0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  factor(
% 0.87/1.29  clause( 2086, [ ~( 'a_truth'( knight( X ), Y ) ), says( X, knight( X ) ) ]
% 0.87/1.29     )
% 0.87/1.29  , clause( 5, [ ~( 'a_truth'( knight( X ), Y ) ), ~( 'a_truth'( Z, Y ) ), 
% 0.87/1.29    says( X, Z ) ] )
% 0.87/1.29  , 0, 1, substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, knight( X ) )] )
% 0.87/1.29    ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 13, [ ~( 'a_truth'( knight( X ), Y ) ), says( X, knight( X ) ) ] )
% 0.87/1.29  , clause( 2086, [ ~( 'a_truth'( knight( X ), Y ) ), says( X, knight( X ) )
% 0.87/1.29     ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 0
% 0.87/1.29     ), ==>( 1, 1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  factor(
% 0.87/1.29  clause( 2087, [ ~( 'a_truth'( knave( X ), Y ) ), ~( says( X, knave( X ) ) )
% 0.87/1.29     ] )
% 0.87/1.29  , clause( 6, [ ~( 'a_truth'( knave( X ), Y ) ), ~( 'a_truth'( Z, Y ) ), ~( 
% 0.87/1.29    says( X, Z ) ) ] )
% 0.87/1.29  , 0, 1, substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, knave( X ) )] )
% 0.87/1.29    ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 14, [ ~( 'a_truth'( knave( X ), Y ) ), ~( says( X, knave( X ) ) ) ]
% 0.87/1.29     )
% 0.87/1.29  , clause( 2087, [ ~( 'a_truth'( knave( X ), Y ) ), ~( says( X, knave( X ) )
% 0.87/1.29     ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 0
% 0.87/1.29     ), ==>( 1, 1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2089, [ ~( 'a_truth'( knight( X ), Y ) ), ~( 'a_truth'( and( knave( 
% 0.87/1.29    X ), Z ), Y ) ) ] )
% 0.87/1.29  , clause( 0, [ ~( 'a_truth'( knight( X ), Y ) ), ~( 'a_truth'( knave( X ), 
% 0.87/1.29    Y ) ) ] )
% 0.87/1.29  , 1, clause( 8, [ 'a_truth'( X, Z ), ~( 'a_truth'( and( X, Y ), Z ) ) ] )
% 0.87/1.29  , 0, substitution( 0, [ :=( X, X ), :=( Y, Y )] ), substitution( 1, [ :=( X
% 0.87/1.29    , knave( X ) ), :=( Y, Z ), :=( Z, Y )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 23, [ ~( 'a_truth'( knight( X ), Y ) ), ~( 'a_truth'( and( knave( X
% 0.87/1.29     ), Z ), Y ) ) ] )
% 0.87/1.29  , clause( 2089, [ ~( 'a_truth'( knight( X ), Y ) ), ~( 'a_truth'( and( 
% 0.87/1.29    knave( X ), Z ), Y ) ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] ), 
% 0.87/1.29    permutation( 0, [ ==>( 0, 0 ), ==>( 1, 1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2092, [ ~( 'a_truth'( knight( X ), Y ) ), 'a_truth'( Z, Y ), ~( 
% 0.87/1.29    'a_truth'( knave( X ), T ) ), 'a_truth'( Z, T ) ] )
% 0.87/1.29  , clause( 4, [ ~( 'a_truth'( knight( X ), Y ) ), 'a_truth'( Z, Y ), ~( says( 
% 0.87/1.29    X, Z ) ) ] )
% 0.87/1.29  , 2, clause( 7, [ ~( 'a_truth'( knave( X ), Y ) ), 'a_truth'( Z, Y ), says( 
% 0.87/1.29    X, Z ) ] )
% 0.87/1.29  , 2, substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] ), 
% 0.87/1.29    substitution( 1, [ :=( X, X ), :=( Y, T ), :=( Z, Z )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 35, [ 'a_truth'( Z, Y ), ~( 'a_truth'( knight( X ), T ) ), 
% 0.87/1.29    'a_truth'( Z, T ), ~( 'a_truth'( knave( X ), Y ) ) ] )
% 0.87/1.29  , clause( 2092, [ ~( 'a_truth'( knight( X ), Y ) ), 'a_truth'( Z, Y ), ~( 
% 0.87/1.29    'a_truth'( knave( X ), T ) ), 'a_truth'( Z, T ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, T ), :=( Z, Z ), :=( T, Y )] ), 
% 0.87/1.29    permutation( 0, [ ==>( 0, 1 ), ==>( 1, 2 ), ==>( 2, 3 ), ==>( 3, 0 )] )
% 0.87/1.29     ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2096, [ ~( 'a_truth'( knave( X ), Y ) ), ~( 'a_truth'( Z, Y ) ), 
% 0.87/1.29    ~( 'a_truth'( knave( X ), T ) ), 'a_truth'( Z, T ) ] )
% 0.87/1.29  , clause( 6, [ ~( 'a_truth'( knave( X ), Y ) ), ~( 'a_truth'( Z, Y ) ), ~( 
% 0.87/1.29    says( X, Z ) ) ] )
% 0.87/1.29  , 2, clause( 7, [ ~( 'a_truth'( knave( X ), Y ) ), 'a_truth'( Z, Y ), says( 
% 0.87/1.29    X, Z ) ] )
% 0.87/1.29  , 2, substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] ), 
% 0.87/1.29    substitution( 1, [ :=( X, X ), :=( Y, T ), :=( Z, Z )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 36, [ ~( 'a_truth'( Z, Y ) ), ~( 'a_truth'( knave( X ), T ) ), 
% 0.87/1.29    'a_truth'( Z, T ), ~( 'a_truth'( knave( X ), Y ) ) ] )
% 0.87/1.29  , clause( 2096, [ ~( 'a_truth'( knave( X ), Y ) ), ~( 'a_truth'( Z, Y ) ), 
% 0.87/1.29    ~( 'a_truth'( knave( X ), T ) ), 'a_truth'( Z, T ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, T )] ), 
% 0.87/1.29    permutation( 0, [ ==>( 0, 3 ), ==>( 1, 0 ), ==>( 2, 1 ), ==>( 3, 2 )] )
% 0.87/1.29     ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2102, [ ~( 'a_truth'( knave( X ), Y ) ), ~( 'a_truth'( Z, Y ) ), 
% 0.87/1.29    ~( 'a_truth'( knight( X ), T ) ), ~( 'a_truth'( Z, T ) ) ] )
% 0.87/1.29  , clause( 6, [ ~( 'a_truth'( knave( X ), Y ) ), ~( 'a_truth'( Z, Y ) ), ~( 
% 0.87/1.29    says( X, Z ) ) ] )
% 0.87/1.29  , 2, clause( 5, [ ~( 'a_truth'( knight( X ), Y ) ), ~( 'a_truth'( Z, Y ) )
% 0.87/1.29    , says( X, Z ) ] )
% 0.87/1.29  , 2, substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] ), 
% 0.87/1.29    substitution( 1, [ :=( X, X ), :=( Y, T ), :=( Z, Z )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 37, [ ~( 'a_truth'( Z, Y ) ), ~( 'a_truth'( knave( X ), T ) ), ~( 
% 0.87/1.29    'a_truth'( Z, T ) ), ~( 'a_truth'( knight( X ), Y ) ) ] )
% 0.87/1.29  , clause( 2102, [ ~( 'a_truth'( knave( X ), Y ) ), ~( 'a_truth'( Z, Y ) ), 
% 0.87/1.29    ~( 'a_truth'( knight( X ), T ) ), ~( 'a_truth'( Z, T ) ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, T ), :=( Z, Z ), :=( T, Y )] ), 
% 0.87/1.29    permutation( 0, [ ==>( 0, 1 ), ==>( 1, 2 ), ==>( 2, 3 ), ==>( 3, 0 )] )
% 0.87/1.29     ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2106, [ ~( 'a_truth'( knight( me ), X ) ), 'a_truth'( Y, X ), 
% 0.87/1.29    'a_truth'( and( knave( me ), rich( me ) ), Y ) ] )
% 0.87/1.29  , clause( 4, [ ~( 'a_truth'( knight( X ), Y ) ), 'a_truth'( Z, Y ), ~( says( 
% 0.87/1.29    X, Z ) ) ] )
% 0.87/1.29  , 2, clause( 12, [ 'a_truth'( and( knave( me ), rich( me ) ), X ), says( me
% 0.87/1.29    , X ) ] )
% 0.87/1.29  , 1, substitution( 0, [ :=( X, me ), :=( Y, X ), :=( Z, Y )] ), 
% 0.87/1.29    substitution( 1, [ :=( X, Y )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 138, [ ~( 'a_truth'( knight( me ), Y ) ), 'a_truth'( X, Y ), 
% 0.87/1.29    'a_truth'( and( knave( me ), rich( me ) ), X ) ] )
% 0.87/1.29  , clause( 2106, [ ~( 'a_truth'( knight( me ), X ) ), 'a_truth'( Y, X ), 
% 0.87/1.29    'a_truth'( and( knave( me ), rich( me ) ), Y ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, Y ), :=( Y, X )] ), permutation( 0, [ ==>( 0, 0
% 0.87/1.29     ), ==>( 1, 1 ), ==>( 2, 2 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2108, [ ~( 'a_truth'( knave( me ), X ) ), 'a_truth'( and( knave( me
% 0.87/1.29     ), rich( me ) ), knave( me ) ) ] )
% 0.87/1.29  , clause( 14, [ ~( 'a_truth'( knave( X ), Y ) ), ~( says( X, knave( X ) ) )
% 0.87/1.29     ] )
% 0.87/1.29  , 1, clause( 12, [ 'a_truth'( and( knave( me ), rich( me ) ), X ), says( me
% 0.87/1.29    , X ) ] )
% 0.87/1.29  , 1, substitution( 0, [ :=( X, me ), :=( Y, X )] ), substitution( 1, [ :=( 
% 0.87/1.29    X, knave( me ) )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 139, [ ~( 'a_truth'( knave( me ), X ) ), 'a_truth'( and( knave( me
% 0.87/1.29     ), rich( me ) ), knave( me ) ) ] )
% 0.87/1.29  , clause( 2108, [ ~( 'a_truth'( knave( me ), X ) ), 'a_truth'( and( knave( 
% 0.87/1.29    me ), rich( me ) ), knave( me ) ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1, 
% 0.87/1.29    1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  factor(
% 0.87/1.29  clause( 2109, [ ~( 'a_truth'( knight( me ), and( knave( me ), rich( me ) )
% 0.87/1.29     ) ), 'a_truth'( and( knave( me ), rich( me ) ), and( knave( me ), rich( 
% 0.87/1.29    me ) ) ) ] )
% 0.87/1.29  , clause( 138, [ ~( 'a_truth'( knight( me ), Y ) ), 'a_truth'( X, Y ), 
% 0.87/1.29    'a_truth'( and( knave( me ), rich( me ) ), X ) ] )
% 0.87/1.29  , 1, 2, substitution( 0, [ :=( X, and( knave( me ), rich( me ) ) ), :=( Y, 
% 0.87/1.29    and( knave( me ), rich( me ) ) )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2110, [ ~( 'a_truth'( knight( me ), and( knave( me ), rich( me ) )
% 0.87/1.29     ) ), ~( 'a_truth'( knight( me ), and( knave( me ), rich( me ) ) ) ) ] )
% 0.87/1.29  , clause( 23, [ ~( 'a_truth'( knight( X ), Y ) ), ~( 'a_truth'( and( knave( 
% 0.87/1.29    X ), Z ), Y ) ) ] )
% 0.87/1.29  , 1, clause( 2109, [ ~( 'a_truth'( knight( me ), and( knave( me ), rich( me
% 0.87/1.29     ) ) ) ), 'a_truth'( and( knave( me ), rich( me ) ), and( knave( me ), 
% 0.87/1.29    rich( me ) ) ) ] )
% 0.87/1.29  , 1, substitution( 0, [ :=( X, me ), :=( Y, and( knave( me ), rich( me ) )
% 0.87/1.29     ), :=( Z, rich( me ) )] ), substitution( 1, [] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  factor(
% 0.87/1.29  clause( 2111, [ ~( 'a_truth'( knight( me ), and( knave( me ), rich( me ) )
% 0.87/1.29     ) ) ] )
% 0.87/1.29  , clause( 2110, [ ~( 'a_truth'( knight( me ), and( knave( me ), rich( me )
% 0.87/1.29     ) ) ), ~( 'a_truth'( knight( me ), and( knave( me ), rich( me ) ) ) ) ]
% 0.87/1.29     )
% 0.87/1.29  , 0, 1, substitution( 0, [] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 140, [ ~( 'a_truth'( knight( me ), and( knave( me ), rich( me ) ) )
% 0.87/1.29     ) ] )
% 0.87/1.29  , clause( 2111, [ ~( 'a_truth'( knight( me ), and( knave( me ), rich( me )
% 0.87/1.29     ) ) ) ] )
% 0.87/1.29  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2112, [ ~( 'a_truth'( knight( me ), knave( me ) ) ), ~( 'a_truth'( 
% 0.87/1.29    knave( me ), X ) ) ] )
% 0.87/1.29  , clause( 23, [ ~( 'a_truth'( knight( X ), Y ) ), ~( 'a_truth'( and( knave( 
% 0.87/1.29    X ), Z ), Y ) ) ] )
% 0.87/1.29  , 1, clause( 139, [ ~( 'a_truth'( knave( me ), X ) ), 'a_truth'( and( knave( 
% 0.87/1.29    me ), rich( me ) ), knave( me ) ) ] )
% 0.87/1.29  , 1, substitution( 0, [ :=( X, me ), :=( Y, knave( me ) ), :=( Z, rich( me
% 0.87/1.29     ) )] ), substitution( 1, [ :=( X, X )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 216, [ ~( 'a_truth'( knight( me ), knave( me ) ) ), ~( 'a_truth'( 
% 0.87/1.29    knave( me ), X ) ) ] )
% 0.87/1.29  , clause( 2112, [ ~( 'a_truth'( knight( me ), knave( me ) ) ), ~( 'a_truth'( 
% 0.87/1.29    knave( me ), X ) ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1, 
% 0.87/1.29    1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2114, [ 'a_truth'( knave( me ), knave( me ) ), ~( 'a_truth'( knave( 
% 0.87/1.29    me ), X ) ) ] )
% 0.87/1.29  , clause( 8, [ 'a_truth'( X, Z ), ~( 'a_truth'( and( X, Y ), Z ) ) ] )
% 0.87/1.29  , 1, clause( 139, [ ~( 'a_truth'( knave( me ), X ) ), 'a_truth'( and( knave( 
% 0.87/1.29    me ), rich( me ) ), knave( me ) ) ] )
% 0.87/1.29  , 1, substitution( 0, [ :=( X, knave( me ) ), :=( Y, rich( me ) ), :=( Z, 
% 0.87/1.29    knave( me ) )] ), substitution( 1, [ :=( X, X )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 221, [ 'a_truth'( knave( me ), knave( me ) ), ~( 'a_truth'( knave( 
% 0.87/1.29    me ), X ) ) ] )
% 0.87/1.29  , clause( 2114, [ 'a_truth'( knave( me ), knave( me ) ), ~( 'a_truth'( 
% 0.87/1.29    knave( me ), X ) ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1, 
% 0.87/1.29    1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2116, [ ~( 'a_truth'( knight( me ), knave( me ) ) ), 'a_truth'( 
% 0.87/1.29    knight( me ), X ) ] )
% 0.87/1.29  , clause( 216, [ ~( 'a_truth'( knight( me ), knave( me ) ) ), ~( 'a_truth'( 
% 0.87/1.29    knave( me ), X ) ) ] )
% 0.87/1.29  , 1, clause( 1, [ 'a_truth'( knight( X ), Y ), 'a_truth'( knave( X ), Y ) ]
% 0.87/1.29     )
% 0.87/1.29  , 1, substitution( 0, [ :=( X, X )] ), substitution( 1, [ :=( X, me ), :=( 
% 0.87/1.29    Y, X )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 235, [ 'a_truth'( knight( me ), X ), ~( 'a_truth'( knight( me ), 
% 0.87/1.29    knave( me ) ) ) ] )
% 0.87/1.29  , clause( 2116, [ ~( 'a_truth'( knight( me ), knave( me ) ) ), 'a_truth'( 
% 0.87/1.29    knight( me ), X ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 1 ), ==>( 1, 
% 0.87/1.29    0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2117, [ ~( 'a_truth'( knight( me ), knave( me ) ) ) ] )
% 0.87/1.29  , clause( 140, [ ~( 'a_truth'( knight( me ), and( knave( me ), rich( me ) )
% 0.87/1.29     ) ) ] )
% 0.87/1.29  , 0, clause( 235, [ 'a_truth'( knight( me ), X ), ~( 'a_truth'( knight( me
% 0.87/1.29     ), knave( me ) ) ) ] )
% 0.87/1.29  , 0, substitution( 0, [] ), substitution( 1, [ :=( X, and( knave( me ), 
% 0.87/1.29    rich( me ) ) )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 242, [ ~( 'a_truth'( knight( me ), knave( me ) ) ) ] )
% 0.87/1.29  , clause( 2117, [ ~( 'a_truth'( knight( me ), knave( me ) ) ) ] )
% 0.87/1.29  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2118, [ ~( 'a_truth'( and( X, knight( me ) ), knave( me ) ) ) ] )
% 0.87/1.29  , clause( 242, [ ~( 'a_truth'( knight( me ), knave( me ) ) ) ] )
% 0.87/1.29  , 0, clause( 9, [ 'a_truth'( Y, Z ), ~( 'a_truth'( and( X, Y ), Z ) ) ] )
% 0.87/1.29  , 0, substitution( 0, [] ), substitution( 1, [ :=( X, X ), :=( Y, knight( 
% 0.87/1.29    me ) ), :=( Z, knave( me ) )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 257, [ ~( 'a_truth'( and( X, knight( me ) ), knave( me ) ) ) ] )
% 0.87/1.29  , clause( 2118, [ ~( 'a_truth'( and( X, knight( me ) ), knave( me ) ) ) ]
% 0.87/1.29     )
% 0.87/1.29  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2123, [ ~( 'a_truth'( X, Y ) ), 'a_truth'( X, knave( me ) ), ~( 
% 0.87/1.29    'a_truth'( knave( me ), Y ) ), ~( 'a_truth'( knave( me ), Z ) ) ] )
% 0.87/1.29  , clause( 36, [ ~( 'a_truth'( Z, Y ) ), ~( 'a_truth'( knave( X ), T ) ), 
% 0.87/1.29    'a_truth'( Z, T ), ~( 'a_truth'( knave( X ), Y ) ) ] )
% 0.87/1.29  , 1, clause( 221, [ 'a_truth'( knave( me ), knave( me ) ), ~( 'a_truth'( 
% 0.87/1.29    knave( me ), X ) ) ] )
% 0.87/1.29  , 0, substitution( 0, [ :=( X, me ), :=( Y, Y ), :=( Z, X ), :=( T, knave( 
% 0.87/1.29    me ) )] ), substitution( 1, [ :=( X, Z )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 274, [ ~( 'a_truth'( Y, Z ) ), 'a_truth'( Y, knave( me ) ), ~( 
% 0.87/1.29    'a_truth'( knave( me ), Z ) ), ~( 'a_truth'( knave( me ), X ) ) ] )
% 0.87/1.29  , clause( 2123, [ ~( 'a_truth'( X, Y ) ), 'a_truth'( X, knave( me ) ), ~( 
% 0.87/1.29    'a_truth'( knave( me ), Y ) ), ~( 'a_truth'( knave( me ), Z ) ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, Y ), :=( Y, Z ), :=( Z, Z )] ), 
% 0.87/1.29    permutation( 0, [ ==>( 0, 0 ), ==>( 1, 1 ), ==>( 2, 2 ), ==>( 3, 2 )] )
% 0.87/1.29     ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2132, [ 'a_truth'( knave( me ), knave( me ) ), 'a_truth'( knight( 
% 0.87/1.29    me ), X ) ] )
% 0.87/1.29  , clause( 221, [ 'a_truth'( knave( me ), knave( me ) ), ~( 'a_truth'( knave( 
% 0.87/1.29    me ), X ) ) ] )
% 0.87/1.29  , 1, clause( 1, [ 'a_truth'( knight( X ), Y ), 'a_truth'( knave( X ), Y ) ]
% 0.87/1.29     )
% 0.87/1.29  , 1, substitution( 0, [ :=( X, X )] ), substitution( 1, [ :=( X, me ), :=( 
% 0.87/1.29    Y, X )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 284, [ 'a_truth'( knight( me ), X ), 'a_truth'( knave( me ), knave( 
% 0.87/1.29    me ) ) ] )
% 0.87/1.29  , clause( 2132, [ 'a_truth'( knave( me ), knave( me ) ), 'a_truth'( knight( 
% 0.87/1.29    me ), X ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 1 ), ==>( 1, 
% 0.87/1.29    0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  factor(
% 0.87/1.29  clause( 2134, [ ~( 'a_truth'( X, Y ) ), 'a_truth'( X, knave( me ) ), ~( 
% 0.87/1.29    'a_truth'( knave( me ), Y ) ) ] )
% 0.87/1.29  , clause( 274, [ ~( 'a_truth'( Y, Z ) ), 'a_truth'( Y, knave( me ) ), ~( 
% 0.87/1.29    'a_truth'( knave( me ), Z ) ), ~( 'a_truth'( knave( me ), X ) ) ] )
% 0.87/1.29  , 2, 3, substitution( 0, [ :=( X, Y ), :=( Y, X ), :=( Z, Y )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 288, [ 'a_truth'( X, knave( me ) ), ~( 'a_truth'( knave( me ), Y )
% 0.87/1.29     ), ~( 'a_truth'( X, Y ) ) ] )
% 0.87/1.29  , clause( 2134, [ ~( 'a_truth'( X, Y ) ), 'a_truth'( X, knave( me ) ), ~( 
% 0.87/1.29    'a_truth'( knave( me ), Y ) ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 2
% 0.87/1.29     ), ==>( 1, 0 ), ==>( 2, 1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2136, [ 'a_truth'( knave( me ), knave( me ) ) ] )
% 0.87/1.29  , clause( 242, [ ~( 'a_truth'( knight( me ), knave( me ) ) ) ] )
% 0.87/1.29  , 0, clause( 284, [ 'a_truth'( knight( me ), X ), 'a_truth'( knave( me ), 
% 0.87/1.29    knave( me ) ) ] )
% 0.87/1.29  , 0, substitution( 0, [] ), substitution( 1, [ :=( X, knave( me ) )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 290, [ 'a_truth'( knave( me ), knave( me ) ) ] )
% 0.87/1.29  , clause( 2136, [ 'a_truth'( knave( me ), knave( me ) ) ] )
% 0.87/1.29  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2138, [ ~( 'a_truth'( X, Y ) ), ~( 'a_truth'( X, knave( me ) ) ), 
% 0.87/1.29    ~( 'a_truth'( knight( me ), Y ) ) ] )
% 0.87/1.29  , clause( 37, [ ~( 'a_truth'( Z, Y ) ), ~( 'a_truth'( knave( X ), T ) ), 
% 0.87/1.29    ~( 'a_truth'( Z, T ) ), ~( 'a_truth'( knight( X ), Y ) ) ] )
% 0.87/1.29  , 1, clause( 290, [ 'a_truth'( knave( me ), knave( me ) ) ] )
% 0.87/1.29  , 0, substitution( 0, [ :=( X, me ), :=( Y, Y ), :=( Z, X ), :=( T, knave( 
% 0.87/1.29    me ) )] ), substitution( 1, [] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 298, [ ~( 'a_truth'( X, knave( me ) ) ), ~( 'a_truth'( knight( me )
% 0.87/1.29    , Y ) ), ~( 'a_truth'( X, Y ) ) ] )
% 0.87/1.29  , clause( 2138, [ ~( 'a_truth'( X, Y ) ), ~( 'a_truth'( X, knave( me ) ) )
% 0.87/1.29    , ~( 'a_truth'( knight( me ), Y ) ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 2
% 0.87/1.29     ), ==>( 1, 0 ), ==>( 2, 1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2143, [ 'a_truth'( and( knave( me ), rich( me ) ), knave( me ) ) ]
% 0.87/1.29     )
% 0.87/1.29  , clause( 139, [ ~( 'a_truth'( knave( me ), X ) ), 'a_truth'( and( knave( 
% 0.87/1.29    me ), rich( me ) ), knave( me ) ) ] )
% 0.87/1.29  , 0, clause( 290, [ 'a_truth'( knave( me ), knave( me ) ) ] )
% 0.87/1.29  , 0, substitution( 0, [ :=( X, knave( me ) )] ), substitution( 1, [] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 301, [ 'a_truth'( and( knave( me ), rich( me ) ), knave( me ) ) ]
% 0.87/1.29     )
% 0.87/1.29  , clause( 2143, [ 'a_truth'( and( knave( me ), rich( me ) ), knave( me ) )
% 0.87/1.29     ] )
% 0.87/1.29  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2144, [ 'a_truth'( X, knave( me ) ), ~( 'a_truth'( knight( me ), Y
% 0.87/1.29     ) ), 'a_truth'( X, Y ) ] )
% 0.87/1.29  , clause( 35, [ 'a_truth'( Z, Y ), ~( 'a_truth'( knight( X ), T ) ), 
% 0.87/1.29    'a_truth'( Z, T ), ~( 'a_truth'( knave( X ), Y ) ) ] )
% 0.87/1.29  , 3, clause( 290, [ 'a_truth'( knave( me ), knave( me ) ) ] )
% 0.87/1.29  , 0, substitution( 0, [ :=( X, me ), :=( Y, knave( me ) ), :=( Z, X ), :=( 
% 0.87/1.29    T, Y )] ), substitution( 1, [] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 302, [ ~( 'a_truth'( knight( me ), Y ) ), 'a_truth'( X, Y ), 
% 0.87/1.29    'a_truth'( X, knave( me ) ) ] )
% 0.87/1.29  , clause( 2144, [ 'a_truth'( X, knave( me ) ), ~( 'a_truth'( knight( me ), 
% 0.87/1.29    Y ) ), 'a_truth'( X, Y ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 2
% 0.87/1.29     ), ==>( 1, 0 ), ==>( 2, 1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2146, [ 'a_truth'( rich( me ), knave( me ) ) ] )
% 0.87/1.29  , clause( 9, [ 'a_truth'( Y, Z ), ~( 'a_truth'( and( X, Y ), Z ) ) ] )
% 0.87/1.29  , 1, clause( 301, [ 'a_truth'( and( knave( me ), rich( me ) ), knave( me )
% 0.87/1.29     ) ] )
% 0.87/1.29  , 0, substitution( 0, [ :=( X, knave( me ) ), :=( Y, rich( me ) ), :=( Z, 
% 0.87/1.29    knave( me ) )] ), substitution( 1, [] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 323, [ 'a_truth'( rich( me ), knave( me ) ) ] )
% 0.87/1.29  , clause( 2146, [ 'a_truth'( rich( me ), knave( me ) ) ] )
% 0.87/1.29  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2147, [ ~( 'a_truth'( knight( me ), X ) ), ~( 'a_truth'( rich( me )
% 0.87/1.29    , X ) ) ] )
% 0.87/1.29  , clause( 298, [ ~( 'a_truth'( X, knave( me ) ) ), ~( 'a_truth'( knight( me
% 0.87/1.29     ), Y ) ), ~( 'a_truth'( X, Y ) ) ] )
% 0.87/1.29  , 0, clause( 323, [ 'a_truth'( rich( me ), knave( me ) ) ] )
% 0.87/1.29  , 0, substitution( 0, [ :=( X, rich( me ) ), :=( Y, X )] ), substitution( 1
% 0.87/1.29    , [] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 351, [ ~( 'a_truth'( knight( me ), X ) ), ~( 'a_truth'( rich( me )
% 0.87/1.29    , X ) ) ] )
% 0.87/1.29  , clause( 2147, [ ~( 'a_truth'( knight( me ), X ) ), ~( 'a_truth'( rich( me
% 0.87/1.29     ), X ) ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 ), ==>( 1, 
% 0.87/1.29    1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2149, [ ~( 'a_truth'( knight( me ), X ) ), ~( 'a_truth'( and( rich( 
% 0.87/1.29    me ), Y ), X ) ) ] )
% 0.87/1.29  , clause( 351, [ ~( 'a_truth'( knight( me ), X ) ), ~( 'a_truth'( rich( me
% 0.87/1.29     ), X ) ) ] )
% 0.87/1.29  , 1, clause( 8, [ 'a_truth'( X, Z ), ~( 'a_truth'( and( X, Y ), Z ) ) ] )
% 0.87/1.29  , 0, substitution( 0, [ :=( X, X )] ), substitution( 1, [ :=( X, rich( me )
% 0.87/1.29     ), :=( Y, Y ), :=( Z, X )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 388, [ ~( 'a_truth'( knight( me ), X ) ), ~( 'a_truth'( and( rich( 
% 0.87/1.29    me ), Y ), X ) ) ] )
% 0.87/1.29  , clause( 2149, [ ~( 'a_truth'( knight( me ), X ) ), ~( 'a_truth'( and( 
% 0.87/1.29    rich( me ), Y ), X ) ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 0
% 0.87/1.29     ), ==>( 1, 1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2151, [ ~( 'a_truth'( knight( me ), Y ) ), 'a_truth'( and( X, 
% 0.87/1.29    knight( me ) ), Y ) ] )
% 0.87/1.29  , clause( 257, [ ~( 'a_truth'( and( X, knight( me ) ), knave( me ) ) ) ] )
% 0.87/1.29  , 0, clause( 302, [ ~( 'a_truth'( knight( me ), Y ) ), 'a_truth'( X, Y ), 
% 0.87/1.29    'a_truth'( X, knave( me ) ) ] )
% 0.87/1.29  , 2, substitution( 0, [ :=( X, X )] ), substitution( 1, [ :=( X, and( X, 
% 0.87/1.29    knight( me ) ) ), :=( Y, Y )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 406, [ ~( 'a_truth'( knight( me ), X ) ), 'a_truth'( and( Y, knight( 
% 0.87/1.29    me ) ), X ) ] )
% 0.87/1.29  , clause( 2151, [ ~( 'a_truth'( knight( me ), Y ) ), 'a_truth'( and( X, 
% 0.87/1.29    knight( me ) ), Y ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, Y ), :=( Y, X )] ), permutation( 0, [ ==>( 0, 0
% 0.87/1.29     ), ==>( 1, 1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2152, [ ~( 'a_truth'( knight( me ), X ) ), ~( 'a_truth'( knight( me
% 0.87/1.29     ), X ) ) ] )
% 0.87/1.29  , clause( 388, [ ~( 'a_truth'( knight( me ), X ) ), ~( 'a_truth'( and( rich( 
% 0.87/1.29    me ), Y ), X ) ) ] )
% 0.87/1.29  , 1, clause( 406, [ ~( 'a_truth'( knight( me ), X ) ), 'a_truth'( and( Y, 
% 0.87/1.29    knight( me ) ), X ) ] )
% 0.87/1.29  , 1, substitution( 0, [ :=( X, X ), :=( Y, knight( me ) )] ), 
% 0.87/1.29    substitution( 1, [ :=( X, X ), :=( Y, rich( me ) )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  factor(
% 0.87/1.29  clause( 2153, [ ~( 'a_truth'( knight( me ), X ) ) ] )
% 0.87/1.29  , clause( 2152, [ ~( 'a_truth'( knight( me ), X ) ), ~( 'a_truth'( knight( 
% 0.87/1.29    me ), X ) ) ] )
% 0.87/1.29  , 0, 1, substitution( 0, [ :=( X, X )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 450, [ ~( 'a_truth'( knight( me ), X ) ) ] )
% 0.87/1.29  , clause( 2153, [ ~( 'a_truth'( knight( me ), X ) ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2154, [ 'a_truth'( X, knave( me ) ), ~( 'a_truth'( X, Y ) ), 
% 0.87/1.29    'a_truth'( knight( me ), Y ) ] )
% 0.87/1.29  , clause( 288, [ 'a_truth'( X, knave( me ) ), ~( 'a_truth'( knave( me ), Y
% 0.87/1.29     ) ), ~( 'a_truth'( X, Y ) ) ] )
% 0.87/1.29  , 1, clause( 1, [ 'a_truth'( knight( X ), Y ), 'a_truth'( knave( X ), Y ) ]
% 0.87/1.29     )
% 0.87/1.29  , 1, substitution( 0, [ :=( X, X ), :=( Y, Y )] ), substitution( 1, [ :=( X
% 0.87/1.29    , me ), :=( Y, Y )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2159, [ 'a_truth'( Y, knave( me ) ), ~( 'a_truth'( Y, X ) ) ] )
% 0.87/1.29  , clause( 450, [ ~( 'a_truth'( knight( me ), X ) ) ] )
% 0.87/1.29  , 0, clause( 2154, [ 'a_truth'( X, knave( me ) ), ~( 'a_truth'( X, Y ) ), 
% 0.87/1.29    'a_truth'( knight( me ), Y ) ] )
% 0.87/1.29  , 2, substitution( 0, [ :=( X, X )] ), substitution( 1, [ :=( X, Y ), :=( Y
% 0.87/1.29    , X )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 977, [ ~( 'a_truth'( X, Y ) ), 'a_truth'( X, knave( me ) ) ] )
% 0.87/1.29  , clause( 2159, [ 'a_truth'( Y, knave( me ) ), ~( 'a_truth'( Y, X ) ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, Y ), :=( Y, X )] ), permutation( 0, [ ==>( 0, 1
% 0.87/1.29     ), ==>( 1, 0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2166, [ ~( 'a_truth'( X, knave( me ) ) ), ~( 'a_truth'( knave( Y )
% 0.87/1.29    , Z ) ), 'a_truth'( X, Z ), ~( 'a_truth'( knave( Y ), T ) ) ] )
% 0.87/1.29  , clause( 36, [ ~( 'a_truth'( Z, Y ) ), ~( 'a_truth'( knave( X ), T ) ), 
% 0.87/1.29    'a_truth'( Z, T ), ~( 'a_truth'( knave( X ), Y ) ) ] )
% 0.87/1.29  , 3, clause( 977, [ ~( 'a_truth'( X, Y ) ), 'a_truth'( X, knave( me ) ) ]
% 0.87/1.29     )
% 0.87/1.29  , 1, substitution( 0, [ :=( X, Y ), :=( Y, knave( me ) ), :=( Z, X ), :=( T
% 0.87/1.29    , Z )] ), substitution( 1, [ :=( X, knave( Y ) ), :=( Y, T )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 1009, [ ~( 'a_truth'( Z, knave( me ) ) ), ~( 'a_truth'( knave( X )
% 0.87/1.29    , T ) ), 'a_truth'( Z, T ), ~( 'a_truth'( knave( X ), Y ) ) ] )
% 0.87/1.29  , clause( 2166, [ ~( 'a_truth'( X, knave( me ) ) ), ~( 'a_truth'( knave( Y
% 0.87/1.29     ), Z ) ), 'a_truth'( X, Z ), ~( 'a_truth'( knave( Y ), T ) ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, Z ), :=( Y, X ), :=( Z, T ), :=( T, T )] ), 
% 0.87/1.29    permutation( 0, [ ==>( 0, 0 ), ==>( 1, 1 ), ==>( 2, 2 ), ==>( 3, 1 )] )
% 0.87/1.29     ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  factor(
% 0.87/1.29  clause( 2176, [ ~( 'a_truth'( X, knave( me ) ) ), ~( 'a_truth'( knave( Y )
% 0.87/1.29    , Z ) ), 'a_truth'( X, Z ) ] )
% 0.87/1.29  , clause( 1009, [ ~( 'a_truth'( Z, knave( me ) ) ), ~( 'a_truth'( knave( X
% 0.87/1.29     ), T ) ), 'a_truth'( Z, T ), ~( 'a_truth'( knave( X ), Y ) ) ] )
% 0.87/1.29  , 1, 3, substitution( 0, [ :=( X, Y ), :=( Y, Z ), :=( Z, X ), :=( T, Z )] )
% 0.87/1.29    ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 1046, [ ~( 'a_truth'( knave( Y ), Z ) ), 'a_truth'( X, Z ), ~( 
% 0.87/1.29    'a_truth'( X, knave( me ) ) ) ] )
% 0.87/1.29  , clause( 2176, [ ~( 'a_truth'( X, knave( me ) ) ), ~( 'a_truth'( knave( Y
% 0.87/1.29     ), Z ) ), 'a_truth'( X, Z ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] ), 
% 0.87/1.29    permutation( 0, [ ==>( 0, 2 ), ==>( 1, 0 ), ==>( 2, 1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2179, [ ~( 'a_truth'( knave( X ), Y ) ), 'a_truth'( Z, Y ), ~( 
% 0.87/1.29    'a_truth'( Z, T ) ) ] )
% 0.87/1.29  , clause( 1046, [ ~( 'a_truth'( knave( Y ), Z ) ), 'a_truth'( X, Z ), ~( 
% 0.87/1.29    'a_truth'( X, knave( me ) ) ) ] )
% 0.87/1.29  , 2, clause( 977, [ ~( 'a_truth'( X, Y ) ), 'a_truth'( X, knave( me ) ) ]
% 0.87/1.29     )
% 0.87/1.29  , 1, substitution( 0, [ :=( X, Z ), :=( Y, X ), :=( Z, Y )] ), 
% 0.87/1.29    substitution( 1, [ :=( X, Z ), :=( Y, T )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 1696, [ 'a_truth'( Z, Y ), ~( 'a_truth'( Z, T ) ), ~( 'a_truth'( 
% 0.87/1.29    knave( X ), Y ) ) ] )
% 0.87/1.29  , clause( 2179, [ ~( 'a_truth'( knave( X ), Y ) ), 'a_truth'( Z, Y ), ~( 
% 0.87/1.29    'a_truth'( Z, T ) ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, T )] ), 
% 0.87/1.29    permutation( 0, [ ==>( 0, 2 ), ==>( 1, 0 ), ==>( 2, 1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2183, [ ~( 'a_truth'( knave( X ), Y ) ), 'a_truth'( knave( me ), Y
% 0.87/1.29     ) ] )
% 0.87/1.29  , clause( 1046, [ ~( 'a_truth'( knave( Y ), Z ) ), 'a_truth'( X, Z ), ~( 
% 0.87/1.29    'a_truth'( X, knave( me ) ) ) ] )
% 0.87/1.29  , 2, clause( 290, [ 'a_truth'( knave( me ), knave( me ) ) ] )
% 0.87/1.29  , 0, substitution( 0, [ :=( X, knave( me ) ), :=( Y, X ), :=( Z, Y )] ), 
% 0.87/1.29    substitution( 1, [] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 1700, [ 'a_truth'( knave( me ), Y ), ~( 'a_truth'( knave( X ), Y )
% 0.87/1.29     ) ] )
% 0.87/1.29  , clause( 2183, [ ~( 'a_truth'( knave( X ), Y ) ), 'a_truth'( knave( me ), 
% 0.87/1.29    Y ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 1
% 0.87/1.29     ), ==>( 1, 0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2184, [ 'a_truth'( knave( me ), X ), 'a_truth'( knight( Y ), X ) ]
% 0.87/1.29     )
% 0.87/1.29  , clause( 1700, [ 'a_truth'( knave( me ), Y ), ~( 'a_truth'( knave( X ), Y
% 0.87/1.29     ) ) ] )
% 0.87/1.29  , 1, clause( 1, [ 'a_truth'( knight( X ), Y ), 'a_truth'( knave( X ), Y ) ]
% 0.87/1.29     )
% 0.87/1.29  , 1, substitution( 0, [ :=( X, Y ), :=( Y, X )] ), substitution( 1, [ :=( X
% 0.87/1.29    , Y ), :=( Y, X )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 1737, [ 'a_truth'( knight( Y ), X ), 'a_truth'( knave( me ), X ) ]
% 0.87/1.29     )
% 0.87/1.29  , clause( 2184, [ 'a_truth'( knave( me ), X ), 'a_truth'( knight( Y ), X )
% 0.87/1.29     ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 1
% 0.87/1.29     ), ==>( 1, 0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2187, [ 'a_truth'( X, Y ), ~( 'a_truth'( X, Z ) ), 'a_truth'( 
% 0.87/1.29    knight( T ), Y ) ] )
% 0.87/1.29  , clause( 1696, [ 'a_truth'( Z, Y ), ~( 'a_truth'( Z, T ) ), ~( 'a_truth'( 
% 0.87/1.29    knave( X ), Y ) ) ] )
% 0.87/1.29  , 2, clause( 1737, [ 'a_truth'( knight( Y ), X ), 'a_truth'( knave( me ), X
% 0.87/1.29     ) ] )
% 0.87/1.29  , 1, substitution( 0, [ :=( X, me ), :=( Y, Y ), :=( Z, X ), :=( T, Z )] )
% 0.87/1.29    , substitution( 1, [ :=( X, Y ), :=( Y, T )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 1796, [ ~( 'a_truth'( X, Z ) ), 'a_truth'( knight( T ), Y ), 
% 0.87/1.29    'a_truth'( X, Y ) ] )
% 0.87/1.29  , clause( 2187, [ 'a_truth'( X, Y ), ~( 'a_truth'( X, Z ) ), 'a_truth'( 
% 0.87/1.29    knight( T ), Y ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, T )] ), 
% 0.87/1.29    permutation( 0, [ ==>( 0, 2 ), ==>( 1, 0 ), ==>( 2, 1 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2189, [ ~( 'a_truth'( Y, Z ) ), 'a_truth'( Y, X ) ] )
% 0.87/1.29  , clause( 450, [ ~( 'a_truth'( knight( me ), X ) ) ] )
% 0.87/1.29  , 0, clause( 1796, [ ~( 'a_truth'( X, Z ) ), 'a_truth'( knight( T ), Y ), 
% 0.87/1.29    'a_truth'( X, Y ) ] )
% 0.87/1.29  , 1, substitution( 0, [ :=( X, X )] ), substitution( 1, [ :=( X, Y ), :=( Y
% 0.87/1.29    , X ), :=( Z, Z ), :=( T, me )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 1840, [ 'a_truth'( X, Z ), ~( 'a_truth'( X, Y ) ) ] )
% 0.87/1.29  , clause( 2189, [ ~( 'a_truth'( Y, Z ) ), 'a_truth'( Y, X ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, Z ), :=( Y, X ), :=( Z, Y )] ), 
% 0.87/1.29    permutation( 0, [ ==>( 0, 1 ), ==>( 1, 0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2191, [ 'a_truth'( and( knave( me ), rich( me ) ), X ) ] )
% 0.87/1.29  , clause( 1840, [ 'a_truth'( X, Z ), ~( 'a_truth'( X, Y ) ) ] )
% 0.87/1.29  , 1, clause( 301, [ 'a_truth'( and( knave( me ), rich( me ) ), knave( me )
% 0.87/1.29     ) ] )
% 0.87/1.29  , 0, substitution( 0, [ :=( X, and( knave( me ), rich( me ) ) ), :=( Y, 
% 0.87/1.29    knave( me ) ), :=( Z, X )] ), substitution( 1, [] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 1934, [ 'a_truth'( and( knave( me ), rich( me ) ), X ) ] )
% 0.87/1.29  , clause( 2191, [ 'a_truth'( and( knave( me ), rich( me ) ), X ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2192, [ 'a_truth'( knave( me ), X ) ] )
% 0.87/1.29  , clause( 1840, [ 'a_truth'( X, Z ), ~( 'a_truth'( X, Y ) ) ] )
% 0.87/1.29  , 1, clause( 290, [ 'a_truth'( knave( me ), knave( me ) ) ] )
% 0.87/1.29  , 0, substitution( 0, [ :=( X, knave( me ) ), :=( Y, knave( me ) ), :=( Z, 
% 0.87/1.29    X )] ), substitution( 1, [] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 1935, [ 'a_truth'( knave( me ), X ) ] )
% 0.87/1.29  , clause( 2192, [ 'a_truth'( knave( me ), X ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2193, [ ~( says( me, X ) ) ] )
% 0.87/1.29  , clause( 11, [ ~( 'a_truth'( and( knave( me ), rich( me ) ), X ) ), ~( 
% 0.87/1.29    says( me, X ) ) ] )
% 0.87/1.29  , 0, clause( 1934, [ 'a_truth'( and( knave( me ), rich( me ) ), X ) ] )
% 0.87/1.29  , 0, substitution( 0, [ :=( X, X )] ), substitution( 1, [ :=( X, X )] )
% 0.87/1.29    ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 2054, [ ~( says( me, X ) ) ] )
% 0.87/1.29  , clause( 2193, [ ~( says( me, X ) ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X )] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2194, [ ~( 'a_truth'( knave( me ), Y ) ), 'a_truth'( X, Y ) ] )
% 0.87/1.29  , clause( 2054, [ ~( says( me, X ) ) ] )
% 0.87/1.29  , 0, clause( 7, [ ~( 'a_truth'( knave( X ), Y ) ), 'a_truth'( Z, Y ), says( 
% 0.87/1.29    X, Z ) ] )
% 0.87/1.29  , 2, substitution( 0, [ :=( X, X )] ), substitution( 1, [ :=( X, me ), :=( 
% 0.87/1.29    Y, Y ), :=( Z, X )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2195, [ 'a_truth'( Y, X ) ] )
% 0.87/1.29  , clause( 2194, [ ~( 'a_truth'( knave( me ), Y ) ), 'a_truth'( X, Y ) ] )
% 0.87/1.29  , 0, clause( 1935, [ 'a_truth'( knave( me ), X ) ] )
% 0.87/1.29  , 0, substitution( 0, [ :=( X, Y ), :=( Y, X )] ), substitution( 1, [ :=( X
% 0.87/1.29    , X )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 2055, [ 'a_truth'( Y, X ) ] )
% 0.87/1.29  , clause( 2195, [ 'a_truth'( Y, X ) ] )
% 0.87/1.29  , substitution( 0, [ :=( X, X ), :=( Y, Y )] ), permutation( 0, [ ==>( 0, 0
% 0.87/1.29     )] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2196, [ ~( 'a_truth'( knight( me ), X ) ) ] )
% 0.87/1.29  , clause( 2054, [ ~( says( me, X ) ) ] )
% 0.87/1.29  , 0, clause( 13, [ ~( 'a_truth'( knight( X ), Y ) ), says( X, knight( X ) )
% 0.87/1.29     ] )
% 0.87/1.29  , 1, substitution( 0, [ :=( X, knight( me ) )] ), substitution( 1, [ :=( X
% 0.87/1.29    , me ), :=( Y, X )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  resolution(
% 0.87/1.29  clause( 2197, [] )
% 0.87/1.29  , clause( 2196, [ ~( 'a_truth'( knight( me ), X ) ) ] )
% 0.87/1.29  , 0, clause( 2055, [ 'a_truth'( Y, X ) ] )
% 0.87/1.29  , 0, substitution( 0, [ :=( X, X )] ), substitution( 1, [ :=( X, X ), :=( Y
% 0.87/1.29    , knight( me ) )] )).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  subsumption(
% 0.87/1.29  clause( 2056, [] )
% 0.87/1.29  , clause( 2197, [] )
% 0.87/1.29  , substitution( 0, [] ), permutation( 0, [] ) ).
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  end.
% 0.87/1.29  
% 0.87/1.29  % ABCDEFGHIJKLMNOPQRSTUVWXYZ
% 0.87/1.29  
% 0.87/1.29  Memory use:
% 0.87/1.29  
% 0.87/1.29  space for terms:        29887
% 0.87/1.29  space for clauses:      105448
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  clauses generated:      18547
% 0.87/1.29  clauses kept:           2057
% 0.87/1.29  clauses selected:       224
% 0.87/1.29  clauses deleted:        150
% 0.87/1.29  clauses inuse deleted:  140
% 0.87/1.29  
% 0.87/1.29  subsentry:          73186
% 0.87/1.29  literals s-matched: 37685
% 0.87/1.29  literals matched:   35187
% 0.87/1.29  full subsumption:   6750
% 0.87/1.29  
% 0.87/1.29  checksum:           1012181721
% 0.87/1.29  
% 0.87/1.29  
% 0.87/1.29  Bliksem ended
%------------------------------------------------------------------------------