TSTP Solution File: LCL437-2 by Bliksem---1.12

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Bliksem---1.12
% Problem  : LCL437-2 : TPTP v8.1.0. Released v3.2.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : bliksem %s

% Computer : n015.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 : Sun Jul 17 07:53:42 EDT 2022

% Result   : Unsatisfiable 0.64s 1.01s
% Output   : Refutation 0.64s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.10/0.11  % Problem  : LCL437-2 : TPTP v8.1.0. Released v3.2.0.
% 0.10/0.11  % Command  : bliksem %s
% 0.11/0.32  % Computer : n015.cluster.edu
% 0.11/0.32  % Model    : x86_64 x86_64
% 0.11/0.32  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.11/0.32  % Memory   : 8042.1875MB
% 0.11/0.32  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.11/0.32  % CPULimit : 300
% 0.11/0.32  % DateTime : Mon Jul  4 15:32:31 EDT 2022
% 0.11/0.32  % CPUTime  : 
% 0.64/1.01  *** allocated 10000 integers for termspace/termends
% 0.64/1.01  *** allocated 10000 integers for clauses
% 0.64/1.01  *** allocated 10000 integers for justifications
% 0.64/1.01  Bliksem 1.12
% 0.64/1.01  
% 0.64/1.01  
% 0.64/1.01  Automatic Strategy Selection
% 0.64/1.01  
% 0.64/1.01  Clauses:
% 0.64/1.01  [
% 0.64/1.01     [ ~( 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( 'v_p', 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'c_PropLog_Opl_Oop_A_N_62'( 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'v_pa', 'c_PropLog_Opl_Ofalse', 't_a' ), 
% 0.64/1.01    'c_PropLog_Opl_Ofalse', 't_a' ), 'v_pa', 't_a' ), 't_a' ), 
% 0.64/1.01    'c_PropLog_Othms'( 'v_H', 't_a' ), 'tc_PropLog_Opl'( 't_a' ) ) ) ],
% 0.64/1.01     [ 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( 'c_PropLog_Opl_Oop_A_N_62'( 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( X, 'c_PropLog_Opl_Ofalse', Y ), 
% 0.64/1.01    'c_PropLog_Opl_Ofalse', Y ), X, Y ), 'c_PropLog_Othms'( Z, Y ), 
% 0.64/1.01    'tc_PropLog_Opl'( Y ) ) ],
% 0.64/1.01     [ ~( 'c_in'( X, 'c_PropLog_Othms'( Y, Z ), 'tc_PropLog_Opl'( Z ) ) ), 
% 0.64/1.01    'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( T, X, Z ), 'c_PropLog_Othms'( Y, Z )
% 0.64/1.01    , 'tc_PropLog_Opl'( Z ) ) ]
% 0.64/1.01  ] .
% 0.64/1.01  
% 0.64/1.01  
% 0.64/1.01  percentage equality = 0.000000, percentage horn = 1.000000
% 0.64/1.01  This is a near-Horn, non-equality  problem
% 0.64/1.01  
% 0.64/1.01  
% 0.64/1.01  Options Used:
% 0.64/1.01  
% 0.64/1.01  useres =            1
% 0.64/1.01  useparamod =        0
% 0.64/1.01  useeqrefl =         0
% 0.64/1.01  useeqfact =         0
% 0.64/1.01  usefactor =         1
% 0.64/1.01  usesimpsplitting =  0
% 0.64/1.01  usesimpdemod =      0
% 0.64/1.01  usesimpres =        4
% 0.64/1.01  
% 0.64/1.01  resimpinuse      =  1000
% 0.64/1.01  resimpclauses =     20000
% 0.64/1.01  substype =          standard
% 0.64/1.01  backwardsubs =      1
% 0.64/1.01  selectoldest =      5
% 0.64/1.01  
% 0.64/1.01  litorderings [0] =  split
% 0.64/1.01  litorderings [1] =  liftord
% 0.64/1.01  
% 0.64/1.01  termordering =      none
% 0.64/1.01  
% 0.64/1.01  litapriori =        1
% 0.64/1.01  termapriori =       0
% 0.64/1.01  litaposteriori =    0
% 0.64/1.01  termaposteriori =   0
% 0.64/1.01  demodaposteriori =  0
% 0.64/1.01  ordereqreflfact =   0
% 0.64/1.01  
% 0.64/1.01  litselect =         negative
% 0.64/1.01  
% 0.64/1.01  maxweight =         30000
% 0.64/1.01  maxdepth =          30000
% 0.64/1.01  maxlength =         115
% 0.64/1.01  maxnrvars =         195
% 0.64/1.01  excuselevel =       0
% 0.64/1.01  increasemaxweight = 0
% 0.64/1.01  
% 0.64/1.01  maxselected =       10000000
% 0.64/1.01  maxnrclauses =      10000000
% 0.64/1.01  
% 0.64/1.01  showgenerated =    0
% 0.64/1.01  showkept =         0
% 0.64/1.01  showselected =     0
% 0.64/1.01  showdeleted =      0
% 0.64/1.01  showresimp =       1
% 0.64/1.01  showstatus =       2000
% 0.64/1.01  
% 0.64/1.01  prologoutput =     1
% 0.64/1.01  nrgoals =          5000000
% 0.64/1.01  totalproof =       1
% 0.64/1.01  
% 0.64/1.01  Symbols occurring in the translation:
% 0.64/1.01  
% 0.64/1.01  {}  [0, 0]      (w:1, o:2, a:1, s:1, b:0), 
% 0.64/1.01  .  [1, 2]      (w:1, o:24, a:1, s:1, b:0), 
% 0.64/1.01  !  [4, 1]      (w:1, o:18, a:1, s:1, b:0), 
% 0.64/1.01  =  [13, 2]      (w:1, o:0, a:0, s:1, b:0), 
% 0.64/1.01  ==>  [14, 2]      (w:1, o:0, a:0, s:1, b:0), 
% 0.64/1.01  'v_p'  [39, 0]      (w:1, o:9, a:1, s:1, b:0), 
% 0.64/1.01  'v_pa'  [40, 0]      (w:1, o:10, a:1, s:1, b:0), 
% 0.64/1.01  'c_PropLog_Opl_Ofalse'  [41, 0]      (w:1, o:11, a:1, s:1, b:0), 
% 0.64/1.01  't_a'  [42, 0]      (w:1, o:12, a:1, s:1, b:0), 
% 0.64/1.01  'c_PropLog_Opl_Oop_A_N_62'  [43, 3]      (w:1, o:50, a:1, s:1, b:0), 
% 0.64/1.01  'v_H'  [44, 0]      (w:1, o:13, a:1, s:1, b:0), 
% 0.64/1.01  'c_PropLog_Othms'  [45, 2]      (w:1, o:49, a:1, s:1, b:0), 
% 0.64/1.01  'tc_PropLog_Opl'  [46, 1]      (w:1, o:23, a:1, s:1, b:0), 
% 0.64/1.01  'c_in'  [47, 3]      (w:1, o:51, a:1, s:1, b:0).
% 0.64/1.01  
% 0.64/1.01  
% 0.64/1.01  Starting Search:
% 0.64/1.01  
% 0.64/1.01  
% 0.64/1.01  Bliksems!, er is een bewijs:
% 0.64/1.01  % SZS status Unsatisfiable
% 0.64/1.01  % SZS output start Refutation
% 0.64/1.01  
% 0.64/1.01  clause( 0, [ ~( 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( 'v_p', 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'c_PropLog_Opl_Oop_A_N_62'( 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'v_pa', 'c_PropLog_Opl_Ofalse', 't_a' ), 
% 0.64/1.01    'c_PropLog_Opl_Ofalse', 't_a' ), 'v_pa', 't_a' ), 't_a' ), 
% 0.64/1.01    'c_PropLog_Othms'( 'v_H', 't_a' ), 'tc_PropLog_Opl'( 't_a' ) ) ) ] )
% 0.64/1.01  .
% 0.64/1.01  clause( 1, [ 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( 'c_PropLog_Opl_Oop_A_N_62'( 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( X, 'c_PropLog_Opl_Ofalse', Y ), 
% 0.64/1.01    'c_PropLog_Opl_Ofalse', Y ), X, Y ), 'c_PropLog_Othms'( Z, Y ), 
% 0.64/1.01    'tc_PropLog_Opl'( Y ) ) ] )
% 0.64/1.01  .
% 0.64/1.01  clause( 2, [ 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( T, X, Z ), 
% 0.64/1.01    'c_PropLog_Othms'( Y, Z ), 'tc_PropLog_Opl'( Z ) ), ~( 'c_in'( X, 
% 0.64/1.01    'c_PropLog_Othms'( Y, Z ), 'tc_PropLog_Opl'( Z ) ) ) ] )
% 0.64/1.01  .
% 0.64/1.01  clause( 3, [ 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( X, 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'c_PropLog_Opl_Oop_A_N_62'( 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( Y, 'c_PropLog_Opl_Ofalse', Z ), 
% 0.64/1.01    'c_PropLog_Opl_Ofalse', Z ), Y, Z ), Z ), 'c_PropLog_Othms'( T, Z ), 
% 0.64/1.01    'tc_PropLog_Opl'( Z ) ) ] )
% 0.64/1.01  .
% 0.64/1.01  clause( 5, [] )
% 0.64/1.01  .
% 0.64/1.01  
% 0.64/1.01  
% 0.64/1.01  % SZS output end Refutation
% 0.64/1.01  found a proof!
% 0.64/1.01  
% 0.64/1.01  % ABCDEFGHIJKLMNOPQRSTUVWXYZ
% 0.64/1.01  
% 0.64/1.01  initialclauses(
% 0.64/1.01  [ clause( 7, [ ~( 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( 'v_p', 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'c_PropLog_Opl_Oop_A_N_62'( 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'v_pa', 'c_PropLog_Opl_Ofalse', 't_a' ), 
% 0.64/1.01    'c_PropLog_Opl_Ofalse', 't_a' ), 'v_pa', 't_a' ), 't_a' ), 
% 0.64/1.01    'c_PropLog_Othms'( 'v_H', 't_a' ), 'tc_PropLog_Opl'( 't_a' ) ) ) ] )
% 0.64/1.01  , clause( 8, [ 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'c_PropLog_Opl_Oop_A_N_62'( X, 
% 0.64/1.01    'c_PropLog_Opl_Ofalse', Y ), 'c_PropLog_Opl_Ofalse', Y ), X, Y ), 
% 0.64/1.01    'c_PropLog_Othms'( Z, Y ), 'tc_PropLog_Opl'( Y ) ) ] )
% 0.64/1.01  , clause( 9, [ ~( 'c_in'( X, 'c_PropLog_Othms'( Y, Z ), 'tc_PropLog_Opl'( Z
% 0.64/1.01     ) ) ), 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( T, X, Z ), 'c_PropLog_Othms'( 
% 0.64/1.01    Y, Z ), 'tc_PropLog_Opl'( Z ) ) ] )
% 0.64/1.01  ] ).
% 0.64/1.01  
% 0.64/1.01  
% 0.64/1.01  
% 0.64/1.01  subsumption(
% 0.64/1.01  clause( 0, [ ~( 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( 'v_p', 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'c_PropLog_Opl_Oop_A_N_62'( 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'v_pa', 'c_PropLog_Opl_Ofalse', 't_a' ), 
% 0.64/1.01    'c_PropLog_Opl_Ofalse', 't_a' ), 'v_pa', 't_a' ), 't_a' ), 
% 0.64/1.01    'c_PropLog_Othms'( 'v_H', 't_a' ), 'tc_PropLog_Opl'( 't_a' ) ) ) ] )
% 0.64/1.01  , clause( 7, [ ~( 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( 'v_p', 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'c_PropLog_Opl_Oop_A_N_62'( 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'v_pa', 'c_PropLog_Opl_Ofalse', 't_a' ), 
% 0.64/1.01    'c_PropLog_Opl_Ofalse', 't_a' ), 'v_pa', 't_a' ), 't_a' ), 
% 0.64/1.01    'c_PropLog_Othms'( 'v_H', 't_a' ), 'tc_PropLog_Opl'( 't_a' ) ) ) ] )
% 0.64/1.01  , substitution( 0, [] ), permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.64/1.01  
% 0.64/1.01  
% 0.64/1.01  subsumption(
% 0.64/1.01  clause( 1, [ 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( 'c_PropLog_Opl_Oop_A_N_62'( 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( X, 'c_PropLog_Opl_Ofalse', Y ), 
% 0.64/1.01    'c_PropLog_Opl_Ofalse', Y ), X, Y ), 'c_PropLog_Othms'( Z, Y ), 
% 0.64/1.01    'tc_PropLog_Opl'( Y ) ) ] )
% 0.64/1.01  , clause( 8, [ 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'c_PropLog_Opl_Oop_A_N_62'( X, 
% 0.64/1.01    'c_PropLog_Opl_Ofalse', Y ), 'c_PropLog_Opl_Ofalse', Y ), X, Y ), 
% 0.64/1.01    'c_PropLog_Othms'( Z, Y ), 'tc_PropLog_Opl'( Y ) ) ] )
% 0.64/1.01  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z )] ), 
% 0.64/1.01    permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.64/1.01  
% 0.64/1.01  
% 0.64/1.01  subsumption(
% 0.64/1.01  clause( 2, [ 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( T, X, Z ), 
% 0.64/1.01    'c_PropLog_Othms'( Y, Z ), 'tc_PropLog_Opl'( Z ) ), ~( 'c_in'( X, 
% 0.64/1.01    'c_PropLog_Othms'( Y, Z ), 'tc_PropLog_Opl'( Z ) ) ) ] )
% 0.64/1.01  , clause( 9, [ ~( 'c_in'( X, 'c_PropLog_Othms'( Y, Z ), 'tc_PropLog_Opl'( Z
% 0.64/1.01     ) ) ), 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( T, X, Z ), 'c_PropLog_Othms'( 
% 0.64/1.01    Y, Z ), 'tc_PropLog_Opl'( Z ) ) ] )
% 0.64/1.01  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, T )] ), 
% 0.64/1.01    permutation( 0, [ ==>( 0, 1 ), ==>( 1, 0 )] ) ).
% 0.64/1.01  
% 0.64/1.01  
% 0.64/1.01  resolution(
% 0.64/1.01  clause( 10, [ 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( X, 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'c_PropLog_Opl_Oop_A_N_62'( 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( Y, 'c_PropLog_Opl_Ofalse', Z ), 
% 0.64/1.01    'c_PropLog_Opl_Ofalse', Z ), Y, Z ), Z ), 'c_PropLog_Othms'( T, Z ), 
% 0.64/1.01    'tc_PropLog_Opl'( Z ) ) ] )
% 0.64/1.01  , clause( 2, [ 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( T, X, Z ), 
% 0.64/1.01    'c_PropLog_Othms'( Y, Z ), 'tc_PropLog_Opl'( Z ) ), ~( 'c_in'( X, 
% 0.64/1.01    'c_PropLog_Othms'( Y, Z ), 'tc_PropLog_Opl'( Z ) ) ) ] )
% 0.64/1.01  , 1, clause( 1, [ 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'c_PropLog_Opl_Oop_A_N_62'( X, 
% 0.64/1.01    'c_PropLog_Opl_Ofalse', Y ), 'c_PropLog_Opl_Ofalse', Y ), X, Y ), 
% 0.64/1.01    'c_PropLog_Othms'( Z, Y ), 'tc_PropLog_Opl'( Y ) ) ] )
% 0.64/1.01  , 0, substitution( 0, [ :=( X, 'c_PropLog_Opl_Oop_A_N_62'( 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'c_PropLog_Opl_Oop_A_N_62'( Y, 
% 0.64/1.01    'c_PropLog_Opl_Ofalse', Z ), 'c_PropLog_Opl_Ofalse', Z ), Y, Z ) ), :=( Y
% 0.64/1.01    , T ), :=( Z, Z ), :=( T, X )] ), substitution( 1, [ :=( X, Y ), :=( Y, Z
% 0.64/1.01     ), :=( Z, T )] )).
% 0.64/1.01  
% 0.64/1.01  
% 0.64/1.01  subsumption(
% 0.64/1.01  clause( 3, [ 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( X, 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'c_PropLog_Opl_Oop_A_N_62'( 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( Y, 'c_PropLog_Opl_Ofalse', Z ), 
% 0.64/1.01    'c_PropLog_Opl_Ofalse', Z ), Y, Z ), Z ), 'c_PropLog_Othms'( T, Z ), 
% 0.64/1.01    'tc_PropLog_Opl'( Z ) ) ] )
% 0.64/1.01  , clause( 10, [ 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( X, 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'c_PropLog_Opl_Oop_A_N_62'( 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( Y, 'c_PropLog_Opl_Ofalse', Z ), 
% 0.64/1.01    'c_PropLog_Opl_Ofalse', Z ), Y, Z ), Z ), 'c_PropLog_Othms'( T, Z ), 
% 0.64/1.01    'tc_PropLog_Opl'( Z ) ) ] )
% 0.64/1.01  , substitution( 0, [ :=( X, X ), :=( Y, Y ), :=( Z, Z ), :=( T, T )] ), 
% 0.64/1.01    permutation( 0, [ ==>( 0, 0 )] ) ).
% 0.64/1.01  
% 0.64/1.01  
% 0.64/1.01  resolution(
% 0.64/1.01  clause( 11, [] )
% 0.64/1.01  , clause( 0, [ ~( 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( 'v_p', 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'c_PropLog_Opl_Oop_A_N_62'( 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'v_pa', 'c_PropLog_Opl_Ofalse', 't_a' ), 
% 0.64/1.01    'c_PropLog_Opl_Ofalse', 't_a' ), 'v_pa', 't_a' ), 't_a' ), 
% 0.64/1.01    'c_PropLog_Othms'( 'v_H', 't_a' ), 'tc_PropLog_Opl'( 't_a' ) ) ) ] )
% 0.64/1.01  , 0, clause( 3, [ 'c_in'( 'c_PropLog_Opl_Oop_A_N_62'( X, 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( 'c_PropLog_Opl_Oop_A_N_62'( 
% 0.64/1.01    'c_PropLog_Opl_Oop_A_N_62'( Y, 'c_PropLog_Opl_Ofalse', Z ), 
% 0.64/1.01    'c_PropLog_Opl_Ofalse', Z ), Y, Z ), Z ), 'c_PropLog_Othms'( T, Z ), 
% 0.64/1.01    'tc_PropLog_Opl'( Z ) ) ] )
% 0.64/1.01  , 0, substitution( 0, [] ), substitution( 1, [ :=( X, 'v_p' ), :=( Y, 
% 0.64/1.01    'v_pa' ), :=( Z, 't_a' ), :=( T, 'v_H' )] )).
% 0.64/1.01  
% 0.64/1.01  
% 0.64/1.01  subsumption(
% 0.64/1.01  clause( 5, [] )
% 0.64/1.01  , clause( 11, [] )
% 0.64/1.01  , substitution( 0, [] ), permutation( 0, [] ) ).
% 0.64/1.01  
% 0.64/1.01  
% 0.64/1.01  end.
% 0.64/1.01  
% 0.64/1.01  % ABCDEFGHIJKLMNOPQRSTUVWXYZ
% 0.64/1.01  
% 0.64/1.01  Memory use:
% 0.64/1.01  
% 0.64/1.01  space for terms:        224
% 0.64/1.01  space for clauses:      835
% 0.64/1.01  
% 0.64/1.01  
% 0.64/1.01  clauses generated:      6
% 0.64/1.01  clauses kept:           6
% 0.64/1.01  clauses selected:       3
% 0.64/1.01  clauses deleted:        1
% 0.64/1.01  clauses inuse deleted:  0
% 0.64/1.01  
% 0.64/1.01  subsentry:          0
% 0.64/1.01  literals s-matched: 0
% 0.64/1.01  literals matched:   0
% 0.64/1.01  full subsumption:   0
% 0.64/1.01  
% 0.64/1.01  checksum:           -667163452
% 0.64/1.01  
% 0.64/1.01  
% 0.64/1.01  Bliksem ended
%------------------------------------------------------------------------------