TSTP Solution File: LAT381+3 by Bliksem---1.12
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Bliksem---1.12
% Problem : LAT381+3 : TPTP v8.1.0. Released v4.0.0.
% Transfm : none
% Format : tptp:raw
% Command : bliksem %s
% Computer : n004.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 03:51:50 EDT 2022
% Result : Theorem 0.45s 1.13s
% Output : Refutation 0.45s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.06/0.12 % Problem : LAT381+3 : TPTP v8.1.0. Released v4.0.0.
% 0.06/0.13 % Command : bliksem %s
% 0.13/0.34 % Computer : n004.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 : Tue Jun 28 18:53:23 EDT 2022
% 0.13/0.34 % CPUTime :
% 0.45/1.13 *** allocated 10000 integers for termspace/termends
% 0.45/1.13 *** allocated 10000 integers for clauses
% 0.45/1.13 *** allocated 10000 integers for justifications
% 0.45/1.13 Bliksem 1.12
% 0.45/1.13
% 0.45/1.13
% 0.45/1.13 Automatic Strategy Selection
% 0.45/1.13
% 0.45/1.13
% 0.45/1.13 Clauses:
% 0.45/1.13
% 0.45/1.13 { && }.
% 0.45/1.13 { && }.
% 0.45/1.13 { ! aSet0( X ), ! aElementOf0( Y, X ), aElement0( Y ) }.
% 0.45/1.13 { ! aSet0( X ), ! isEmpty0( X ), ! aElementOf0( Y, X ) }.
% 0.45/1.13 { ! aSet0( X ), aElementOf0( skol1( X ), X ), isEmpty0( X ) }.
% 0.45/1.13 { ! aSet0( X ), ! aSubsetOf0( Y, X ), aSet0( Y ) }.
% 0.45/1.13 { ! aSet0( X ), ! aSubsetOf0( Y, X ), alpha1( X, Y ) }.
% 0.45/1.13 { ! aSet0( X ), ! aSet0( Y ), ! alpha1( X, Y ), aSubsetOf0( Y, X ) }.
% 0.45/1.13 { ! alpha1( X, Y ), ! aElementOf0( Z, Y ), aElementOf0( Z, X ) }.
% 0.45/1.13 { aElementOf0( skol2( Z, Y ), Y ), alpha1( X, Y ) }.
% 0.45/1.13 { ! aElementOf0( skol2( X, Y ), X ), alpha1( X, Y ) }.
% 0.45/1.13 { && }.
% 0.45/1.13 { ! aElement0( X ), sdtlseqdt0( X, X ) }.
% 0.45/1.13 { ! aElement0( X ), ! aElement0( Y ), ! sdtlseqdt0( X, Y ), ! sdtlseqdt0( Y
% 0.45/1.13 , X ), X = Y }.
% 0.45/1.13 { ! aElement0( X ), ! aElement0( Y ), ! aElement0( Z ), ! sdtlseqdt0( X, Y
% 0.45/1.13 ), ! sdtlseqdt0( Y, Z ), sdtlseqdt0( X, Z ) }.
% 0.45/1.13 { ! aSet0( X ), ! aSubsetOf0( Y, X ), ! aLowerBoundOfIn0( Z, Y, X ),
% 0.45/1.13 aElementOf0( Z, X ) }.
% 0.45/1.13 { ! aSet0( X ), ! aSubsetOf0( Y, X ), ! aLowerBoundOfIn0( Z, Y, X ), alpha2
% 0.45/1.13 ( Y, Z ) }.
% 0.45/1.13 { ! aSet0( X ), ! aSubsetOf0( Y, X ), ! aElementOf0( Z, X ), ! alpha2( Y, Z
% 0.45/1.13 ), aLowerBoundOfIn0( Z, Y, X ) }.
% 0.45/1.13 { ! alpha2( X, Y ), ! aElementOf0( Z, X ), sdtlseqdt0( Y, Z ) }.
% 0.45/1.13 { ! sdtlseqdt0( Y, skol3( Z, Y ) ), alpha2( X, Y ) }.
% 0.45/1.13 { aElementOf0( skol3( X, Y ), X ), alpha2( X, Y ) }.
% 0.45/1.13 { ! aSet0( X ), ! aSubsetOf0( Y, X ), ! aUpperBoundOfIn0( Z, Y, X ),
% 0.45/1.13 aElementOf0( Z, X ) }.
% 0.45/1.13 { ! aSet0( X ), ! aSubsetOf0( Y, X ), ! aUpperBoundOfIn0( Z, Y, X ), alpha3
% 0.45/1.13 ( Y, Z ) }.
% 0.45/1.13 { ! aSet0( X ), ! aSubsetOf0( Y, X ), ! aElementOf0( Z, X ), ! alpha3( Y, Z
% 0.45/1.13 ), aUpperBoundOfIn0( Z, Y, X ) }.
% 0.45/1.13 { ! alpha3( X, Y ), ! aElementOf0( Z, X ), sdtlseqdt0( Z, Y ) }.
% 0.45/1.13 { ! sdtlseqdt0( skol4( Z, Y ), Y ), alpha3( X, Y ) }.
% 0.45/1.13 { aElementOf0( skol4( X, Y ), X ), alpha3( X, Y ) }.
% 0.45/1.13 { ! aSet0( X ), ! aSubsetOf0( Y, X ), ! aInfimumOfIn0( Z, Y, X ),
% 0.45/1.13 aElementOf0( Z, X ) }.
% 0.45/1.13 { ! aSet0( X ), ! aSubsetOf0( Y, X ), ! aInfimumOfIn0( Z, Y, X ), alpha4( X
% 0.45/1.13 , Y, Z ) }.
% 0.45/1.13 { ! aSet0( X ), ! aSubsetOf0( Y, X ), ! aElementOf0( Z, X ), ! alpha4( X, Y
% 0.45/1.13 , Z ), aInfimumOfIn0( Z, Y, X ) }.
% 0.45/1.13 { ! alpha4( X, Y, Z ), aLowerBoundOfIn0( Z, Y, X ) }.
% 0.45/1.13 { ! alpha4( X, Y, Z ), alpha6( X, Y, Z ) }.
% 0.45/1.13 { ! aLowerBoundOfIn0( Z, Y, X ), ! alpha6( X, Y, Z ), alpha4( X, Y, Z ) }.
% 0.45/1.13 { ! alpha6( X, Y, Z ), ! aLowerBoundOfIn0( T, Y, X ), sdtlseqdt0( T, Z ) }
% 0.45/1.13 .
% 0.45/1.13 { ! sdtlseqdt0( skol5( T, U, Z ), Z ), alpha6( X, Y, Z ) }.
% 0.45/1.13 { aLowerBoundOfIn0( skol5( X, Y, Z ), Y, X ), alpha6( X, Y, Z ) }.
% 0.45/1.13 { ! aSet0( X ), ! aSubsetOf0( Y, X ), ! aSupremumOfIn0( Z, Y, X ),
% 0.45/1.13 aElementOf0( Z, X ) }.
% 0.45/1.13 { ! aSet0( X ), ! aSubsetOf0( Y, X ), ! aSupremumOfIn0( Z, Y, X ), alpha5(
% 0.45/1.13 X, Y, Z ) }.
% 0.45/1.13 { ! aSet0( X ), ! aSubsetOf0( Y, X ), ! aElementOf0( Z, X ), ! alpha5( X, Y
% 0.45/1.13 , Z ), aSupremumOfIn0( Z, Y, X ) }.
% 0.45/1.13 { ! alpha5( X, Y, Z ), aUpperBoundOfIn0( Z, Y, X ) }.
% 0.45/1.13 { ! alpha5( X, Y, Z ), alpha7( X, Y, Z ) }.
% 0.45/1.13 { ! aUpperBoundOfIn0( Z, Y, X ), ! alpha7( X, Y, Z ), alpha5( X, Y, Z ) }.
% 0.45/1.13 { ! alpha7( X, Y, Z ), ! aUpperBoundOfIn0( T, Y, X ), sdtlseqdt0( Z, T ) }
% 0.45/1.13 .
% 0.45/1.13 { ! sdtlseqdt0( Z, skol6( T, U, Z ) ), alpha7( X, Y, Z ) }.
% 0.45/1.13 { aUpperBoundOfIn0( skol6( X, Y, Z ), Y, X ), alpha7( X, Y, Z ) }.
% 0.45/1.13 { aSet0( xT ) }.
% 0.45/1.13 { aSet0( xS ) }.
% 0.45/1.13 { ! aElementOf0( X, xS ), aElementOf0( X, xT ) }.
% 0.45/1.13 { aSubsetOf0( xS, xT ) }.
% 0.45/1.13 { aElementOf0( xu, xT ) }.
% 0.45/1.13 { aElementOf0( xu, xT ) }.
% 0.45/1.13 { ! aElementOf0( X, xS ), sdtlseqdt0( X, xu ) }.
% 0.45/1.13 { aUpperBoundOfIn0( xu, xS, xT ) }.
% 0.45/1.13 { alpha8( X ), sdtlseqdt0( xu, X ) }.
% 0.45/1.13 { aSupremumOfIn0( xu, xS, xT ) }.
% 0.45/1.13 { aElementOf0( xv, xT ) }.
% 0.45/1.13 { aElementOf0( xv, xT ) }.
% 0.45/1.13 { ! aElementOf0( X, xS ), sdtlseqdt0( X, xv ) }.
% 0.45/1.13 { aUpperBoundOfIn0( xv, xS, xT ) }.
% 0.45/1.13 { ! aElementOf0( X, xT ), aElementOf0( skol7( Y ), xS ), sdtlseqdt0( xv, X
% 0.45/1.13 ) }.
% 0.45/1.13 { ! aElementOf0( X, xT ), ! sdtlseqdt0( skol7( X ), X ), sdtlseqdt0( xv, X
% 0.45/1.13 ) }.
% 0.45/1.13 { ! aUpperBoundOfIn0( X, xS, xT ), sdtlseqdt0( xv, X ) }.
% 0.45/1.13 { aSupremumOfIn0( xv, xS, xT ) }.
% 0.45/1.13 { ! alpha8( X ), alpha9( X ) }.
% 0.45/1.13 { ! alpha8( X ), ! aUpperBoundOfIn0( X, xS, xT ) }.
% 0.45/1.13 { ! alpha9( X ), aUpperBoundOfIn0( X, xS, xT ), alpha8( X ) }.
% 0.45/1.13 { ! alpha9( X ), ! aElementOf0( X, xT ), aElementOf0( skol8( Y ), xS ) }.
% 0.45/1.13 { ! alpha9( X ), ! aElementOf0( X, xT ), ! sdtlseqdt0( skol8( X ), X ) }.
% 0.45/1.13 { aElementOf0( X, xT ), alpha9( X ) }.
% 0.45/1.13 { ! aElementOf0( Y, xS ), sdtlseqdt0( Y, X ), alpha9( X ) }.
% 0.45/1.13 { ! xu = xv }.
% 0.45/1.13
% 0.45/1.13 percentage equality = 0.011236, percentage horn = 0.835821
% 0.45/1.13 This is a problem with some equality
% 0.45/1.13
% 0.45/1.13
% 0.45/1.13
% 0.45/1.13 Options Used:
% 0.45/1.13
% 0.45/1.13 useres = 1
% 0.45/1.13 useparamod = 1
% 0.45/1.13 useeqrefl = 1
% 0.45/1.13 useeqfact = 1
% 0.45/1.13 usefactor = 1
% 0.45/1.13 usesimpsplitting = 0
% 0.45/1.13 usesimpdemod = 5
% 0.45/1.13 usesimpres = 3
% 0.45/1.13
% 0.45/1.13 resimpinuse = 1000
% 0.45/1.13 resimpclauses = 20000
% 0.45/1.13 substype = eqrewr
% 0.45/1.13 backwardsubs = 1
% 0.45/1.13 selectoldest = 5
% 0.45/1.13
% 0.45/1.13 litorderings [0] = split
% 0.45/1.13 litorderings [1] = extend the termordering, first sorting on arguments
% 0.45/1.13
% 0.45/1.13 termordering = kbo
% 0.45/1.13
% 0.45/1.13 litapriori = 0
% 0.45/1.13 termapriori = 1
% 0.45/1.13 litaposteriori = 0
% 0.45/1.13 termaposteriori = 0
% 0.45/1.13 demodaposteriori = 0
% 0.45/1.13 ordereqreflfact = 0
% 0.45/1.13
% 0.45/1.13 litselect = negord
% 0.45/1.13
% 0.45/1.13 maxweight = 15
% 0.45/1.13 maxdepth = 30000
% 0.45/1.13 maxlength = 115
% 0.45/1.13 maxnrvars = 195
% 0.45/1.13 excuselevel = 1
% 0.45/1.13 increasemaxweight = 1
% 0.45/1.13
% 0.45/1.13 maxselected = 10000000
% 0.45/1.13 maxnrclauses = 10000000
% 0.45/1.13
% 0.45/1.13 showgenerated = 0
% 0.45/1.13 showkept = 0
% 0.45/1.13 showselected = 0
% 0.45/1.13 showdeleted = 0
% 0.45/1.13 showresimp = 1
% 0.45/1.13 showstatus = 2000
% 0.45/1.13
% 0.45/1.13 prologoutput = 0
% 0.45/1.13 nrgoals = 5000000
% 0.45/1.13 totalproof = 1
% 0.45/1.13
% 0.45/1.13 Symbols occurring in the translation:
% 0.45/1.13
% 0.45/1.13 {} [0, 0] (w:1, o:2, a:1, s:1, b:0),
% 0.45/1.13 . [1, 2] (w:1, o:27, a:1, s:1, b:0),
% 0.45/1.13 && [3, 0] (w:1, o:4, a:1, s:1, b:0),
% 0.45/1.13 ! [4, 1] (w:0, o:14, a:1, s:1, b:0),
% 0.45/1.13 = [13, 2] (w:1, o:0, a:0, s:1, b:0),
% 0.45/1.13 ==> [14, 2] (w:1, o:0, a:0, s:1, b:0),
% 0.45/1.13 aSet0 [36, 1] (w:1, o:19, a:1, s:1, b:0),
% 0.45/1.13 aElement0 [37, 1] (w:1, o:20, a:1, s:1, b:0),
% 0.45/1.13 aElementOf0 [39, 2] (w:1, o:51, a:1, s:1, b:0),
% 0.45/1.13 isEmpty0 [40, 1] (w:1, o:21, a:1, s:1, b:0),
% 0.45/1.13 aSubsetOf0 [41, 2] (w:1, o:52, a:1, s:1, b:0),
% 0.45/1.13 sdtlseqdt0 [43, 2] (w:1, o:53, a:1, s:1, b:0),
% 0.45/1.13 aLowerBoundOfIn0 [44, 3] (w:1, o:60, a:1, s:1, b:0),
% 0.45/1.13 aUpperBoundOfIn0 [46, 3] (w:1, o:61, a:1, s:1, b:0),
% 0.45/1.13 aInfimumOfIn0 [47, 3] (w:1, o:62, a:1, s:1, b:0),
% 0.45/1.13 aSupremumOfIn0 [48, 3] (w:1, o:63, a:1, s:1, b:0),
% 0.45/1.13 xT [49, 0] (w:1, o:11, a:1, s:1, b:0),
% 0.45/1.13 xS [50, 0] (w:1, o:10, a:1, s:1, b:0),
% 0.45/1.13 xu [51, 0] (w:1, o:12, a:1, s:1, b:0),
% 0.45/1.13 xv [52, 0] (w:1, o:13, a:1, s:1, b:0),
% 0.45/1.13 alpha1 [53, 2] (w:1, o:54, a:1, s:1, b:1),
% 0.45/1.13 alpha2 [54, 2] (w:1, o:55, a:1, s:1, b:1),
% 0.45/1.13 alpha3 [55, 2] (w:1, o:56, a:1, s:1, b:1),
% 0.45/1.13 alpha4 [56, 3] (w:1, o:64, a:1, s:1, b:1),
% 0.45/1.13 alpha5 [57, 3] (w:1, o:65, a:1, s:1, b:1),
% 0.45/1.13 alpha6 [58, 3] (w:1, o:66, a:1, s:1, b:1),
% 0.45/1.13 alpha7 [59, 3] (w:1, o:67, a:1, s:1, b:1),
% 0.45/1.13 alpha8 [60, 1] (w:1, o:22, a:1, s:1, b:1),
% 0.45/1.13 alpha9 [61, 1] (w:1, o:23, a:1, s:1, b:1),
% 0.45/1.13 skol1 [62, 1] (w:1, o:24, a:1, s:1, b:1),
% 0.45/1.13 skol2 [63, 2] (w:1, o:57, a:1, s:1, b:1),
% 0.45/1.13 skol3 [64, 2] (w:1, o:58, a:1, s:1, b:1),
% 0.45/1.13 skol4 [65, 2] (w:1, o:59, a:1, s:1, b:1),
% 0.45/1.13 skol5 [66, 3] (w:1, o:68, a:1, s:1, b:1),
% 0.45/1.13 skol6 [67, 3] (w:1, o:69, a:1, s:1, b:1),
% 0.45/1.13 skol7 [68, 1] (w:1, o:25, a:1, s:1, b:1),
% 0.45/1.13 skol8 [69, 1] (w:1, o:26, a:1, s:1, b:1).
% 0.45/1.13
% 0.45/1.13
% 0.45/1.13 Starting Search:
% 0.45/1.13
% 0.45/1.13 *** allocated 15000 integers for clauses
% 0.45/1.13 *** allocated 22500 integers for clauses
% 0.45/1.13 *** allocated 33750 integers for clauses
% 0.45/1.13 *** allocated 15000 integers for termspace/termends
% 0.45/1.13 *** allocated 50625 integers for clauses
% 0.45/1.13 Resimplifying inuse:
% 0.45/1.13 Done
% 0.45/1.13
% 0.45/1.13 *** allocated 22500 integers for termspace/termends
% 0.45/1.13 *** allocated 75937 integers for clauses
% 0.45/1.13
% 0.45/1.13 Bliksems!, er is een bewijs:
% 0.45/1.13 % SZS status Theorem
% 0.45/1.13 % SZS output start Refutation
% 0.45/1.13
% 0.45/1.13 (1) {G0,W7,D2,L3,V2,M3} I { ! aSet0( X ), ! aElementOf0( Y, X ), aElement0
% 0.45/1.13 ( Y ) }.
% 0.45/1.13 (11) {G0,W13,D2,L5,V2,M5} I { ! aElement0( X ), ! aElement0( Y ), !
% 0.45/1.13 sdtlseqdt0( X, Y ), ! sdtlseqdt0( Y, X ), X = Y }.
% 0.45/1.13 (16) {G0,W9,D2,L3,V3,M3} I { ! alpha2( X, Y ), ! aElementOf0( Z, X ),
% 0.45/1.13 sdtlseqdt0( Y, Z ) }.
% 0.45/1.13 (17) {G0,W8,D3,L2,V3,M2} I { ! sdtlseqdt0( Y, skol3( Z, Y ) ), alpha2( X, Y
% 0.45/1.13 ) }.
% 0.45/1.13 (18) {G0,W8,D3,L2,V2,M2} I { aElementOf0( skol3( X, Y ), X ), alpha2( X, Y
% 0.45/1.13 ) }.
% 0.45/1.13 (43) {G0,W2,D2,L1,V0,M1} I { aSet0( xT ) }.
% 0.45/1.13 (47) {G0,W3,D2,L1,V0,M1} I { aElementOf0( xu, xT ) }.
% 0.45/1.13 (48) {G0,W6,D2,L2,V1,M2} I { ! aElementOf0( X, xS ), sdtlseqdt0( X, xu )
% 0.45/1.13 }.
% 0.45/1.13 (50) {G0,W5,D2,L2,V1,M2} I { alpha8( X ), sdtlseqdt0( xu, X ) }.
% 0.45/1.13 (52) {G0,W3,D2,L1,V0,M1} I { aElementOf0( xv, xT ) }.
% 0.45/1.13 (54) {G0,W4,D2,L1,V0,M1} I { aUpperBoundOfIn0( xv, xS, xT ) }.
% 0.45/1.13 (55) {G0,W10,D3,L3,V2,M3} I { ! aElementOf0( X, xT ), aElementOf0( skol7( Y
% 0.45/1.13 ), xS ), sdtlseqdt0( xv, X ) }.
% 0.45/1.13 (56) {G0,W10,D3,L3,V1,M3} I { ! aElementOf0( X, xT ), ! sdtlseqdt0( skol7(
% 0.45/1.13 X ), X ), sdtlseqdt0( xv, X ) }.
% 0.45/1.13 (60) {G0,W6,D2,L2,V1,M2} I { ! alpha8( X ), ! aUpperBoundOfIn0( X, xS, xT )
% 0.45/1.13 }.
% 0.45/1.13 (66) {G0,W3,D2,L1,V0,M1} I { ! xv ==> xu }.
% 0.45/1.13 (68) {G1,W2,D2,L1,V0,M1} R(1,52);r(43) { aElement0( xv ) }.
% 0.45/1.13 (71) {G1,W2,D2,L1,V0,M1} R(47,1);r(43) { aElement0( xu ) }.
% 0.45/1.13 (220) {G2,W11,D2,L4,V1,M4} P(11,66);r(68) { ! X = xu, ! aElement0( X ), !
% 0.45/1.13 sdtlseqdt0( xv, X ), ! sdtlseqdt0( X, xv ) }.
% 0.45/1.13 (223) {G3,W6,D2,L2,V0,M2} Q(220);r(71) { ! sdtlseqdt0( xv, xu ), !
% 0.45/1.13 sdtlseqdt0( xu, xv ) }.
% 0.45/1.13 (281) {G1,W2,D2,L1,V0,M1} R(60,54) { ! alpha8( xv ) }.
% 0.45/1.13 (284) {G2,W3,D2,L1,V0,M1} R(281,50) { sdtlseqdt0( xu, xv ) }.
% 0.45/1.13 (374) {G4,W3,D2,L1,V0,M1} S(223);r(284) { ! sdtlseqdt0( xv, xu ) }.
% 0.45/1.13 (392) {G5,W6,D2,L2,V1,M2} R(374,16) { ! alpha2( X, xv ), ! aElementOf0( xu
% 0.45/1.13 , X ) }.
% 0.45/1.13 (508) {G6,W3,D2,L1,V0,M1} R(392,47) { ! alpha2( xT, xv ) }.
% 0.45/1.13 (524) {G7,W5,D3,L1,V0,M1} R(508,18) { aElementOf0( skol3( xT, xv ), xT )
% 0.45/1.13 }.
% 0.45/1.13 (525) {G7,W5,D3,L1,V1,M1} R(508,17) { ! sdtlseqdt0( xv, skol3( X, xv ) )
% 0.45/1.13 }.
% 0.45/1.13 (1228) {G8,W4,D3,L1,V1,M1} R(55,524);r(525) { aElementOf0( skol7( X ), xS )
% 0.45/1.13 }.
% 0.45/1.13 (1248) {G9,W4,D3,L1,V1,M1} R(1228,48) { sdtlseqdt0( skol7( X ), xu ) }.
% 0.45/1.13 (1306) {G10,W3,D2,L1,V0,M1} R(56,47);r(1248) { sdtlseqdt0( xv, xu ) }.
% 0.45/1.13 (1309) {G11,W0,D0,L0,V0,M0} S(1306);r(374) { }.
% 0.45/1.13
% 0.45/1.13
% 0.45/1.13 % SZS output end Refutation
% 0.45/1.13 found a proof!
% 0.45/1.13
% 0.45/1.13
% 0.45/1.13 Unprocessed initial clauses:
% 0.45/1.13
% 0.45/1.13 (1311) {G0,W1,D1,L1,V0,M1} { && }.
% 0.45/1.13 (1312) {G0,W1,D1,L1,V0,M1} { && }.
% 0.45/1.13 (1313) {G0,W7,D2,L3,V2,M3} { ! aSet0( X ), ! aElementOf0( Y, X ),
% 0.45/1.13 aElement0( Y ) }.
% 0.45/1.13 (1314) {G0,W7,D2,L3,V2,M3} { ! aSet0( X ), ! isEmpty0( X ), ! aElementOf0
% 0.45/1.13 ( Y, X ) }.
% 0.45/1.13 (1315) {G0,W8,D3,L3,V1,M3} { ! aSet0( X ), aElementOf0( skol1( X ), X ),
% 0.45/1.13 isEmpty0( X ) }.
% 0.45/1.13 (1316) {G0,W7,D2,L3,V2,M3} { ! aSet0( X ), ! aSubsetOf0( Y, X ), aSet0( Y
% 0.45/1.13 ) }.
% 0.45/1.13 (1317) {G0,W8,D2,L3,V2,M3} { ! aSet0( X ), ! aSubsetOf0( Y, X ), alpha1( X
% 0.45/1.13 , Y ) }.
% 0.45/1.13 (1318) {G0,W10,D2,L4,V2,M4} { ! aSet0( X ), ! aSet0( Y ), ! alpha1( X, Y )
% 0.45/1.13 , aSubsetOf0( Y, X ) }.
% 0.45/1.13 (1319) {G0,W9,D2,L3,V3,M3} { ! alpha1( X, Y ), ! aElementOf0( Z, Y ),
% 0.45/1.13 aElementOf0( Z, X ) }.
% 0.45/1.13 (1320) {G0,W8,D3,L2,V3,M2} { aElementOf0( skol2( Z, Y ), Y ), alpha1( X, Y
% 0.45/1.13 ) }.
% 0.45/1.13 (1321) {G0,W8,D3,L2,V2,M2} { ! aElementOf0( skol2( X, Y ), X ), alpha1( X
% 0.45/1.13 , Y ) }.
% 0.45/1.13 (1322) {G0,W1,D1,L1,V0,M1} { && }.
% 0.45/1.13 (1323) {G0,W5,D2,L2,V1,M2} { ! aElement0( X ), sdtlseqdt0( X, X ) }.
% 0.45/1.13 (1324) {G0,W13,D2,L5,V2,M5} { ! aElement0( X ), ! aElement0( Y ), !
% 0.45/1.13 sdtlseqdt0( X, Y ), ! sdtlseqdt0( Y, X ), X = Y }.
% 0.45/1.13 (1325) {G0,W15,D2,L6,V3,M6} { ! aElement0( X ), ! aElement0( Y ), !
% 0.45/1.13 aElement0( Z ), ! sdtlseqdt0( X, Y ), ! sdtlseqdt0( Y, Z ), sdtlseqdt0( X
% 0.45/1.13 , Z ) }.
% 0.45/1.13 (1326) {G0,W12,D2,L4,V3,M4} { ! aSet0( X ), ! aSubsetOf0( Y, X ), !
% 0.45/1.13 aLowerBoundOfIn0( Z, Y, X ), aElementOf0( Z, X ) }.
% 0.45/1.13 (1327) {G0,W12,D2,L4,V3,M4} { ! aSet0( X ), ! aSubsetOf0( Y, X ), !
% 0.45/1.13 aLowerBoundOfIn0( Z, Y, X ), alpha2( Y, Z ) }.
% 0.45/1.13 (1328) {G0,W15,D2,L5,V3,M5} { ! aSet0( X ), ! aSubsetOf0( Y, X ), !
% 0.45/1.13 aElementOf0( Z, X ), ! alpha2( Y, Z ), aLowerBoundOfIn0( Z, Y, X ) }.
% 0.45/1.13 (1329) {G0,W9,D2,L3,V3,M3} { ! alpha2( X, Y ), ! aElementOf0( Z, X ),
% 0.45/1.13 sdtlseqdt0( Y, Z ) }.
% 0.45/1.13 (1330) {G0,W8,D3,L2,V3,M2} { ! sdtlseqdt0( Y, skol3( Z, Y ) ), alpha2( X,
% 0.45/1.13 Y ) }.
% 0.45/1.13 (1331) {G0,W8,D3,L2,V2,M2} { aElementOf0( skol3( X, Y ), X ), alpha2( X, Y
% 0.45/1.13 ) }.
% 0.45/1.13 (1332) {G0,W12,D2,L4,V3,M4} { ! aSet0( X ), ! aSubsetOf0( Y, X ), !
% 0.45/1.13 aUpperBoundOfIn0( Z, Y, X ), aElementOf0( Z, X ) }.
% 0.45/1.13 (1333) {G0,W12,D2,L4,V3,M4} { ! aSet0( X ), ! aSubsetOf0( Y, X ), !
% 0.45/1.13 aUpperBoundOfIn0( Z, Y, X ), alpha3( Y, Z ) }.
% 0.45/1.13 (1334) {G0,W15,D2,L5,V3,M5} { ! aSet0( X ), ! aSubsetOf0( Y, X ), !
% 0.45/1.13 aElementOf0( Z, X ), ! alpha3( Y, Z ), aUpperBoundOfIn0( Z, Y, X ) }.
% 0.45/1.13 (1335) {G0,W9,D2,L3,V3,M3} { ! alpha3( X, Y ), ! aElementOf0( Z, X ),
% 0.45/1.13 sdtlseqdt0( Z, Y ) }.
% 0.45/1.13 (1336) {G0,W8,D3,L2,V3,M2} { ! sdtlseqdt0( skol4( Z, Y ), Y ), alpha3( X,
% 0.45/1.13 Y ) }.
% 0.45/1.13 (1337) {G0,W8,D3,L2,V2,M2} { aElementOf0( skol4( X, Y ), X ), alpha3( X, Y
% 0.45/1.13 ) }.
% 0.45/1.13 (1338) {G0,W12,D2,L4,V3,M4} { ! aSet0( X ), ! aSubsetOf0( Y, X ), !
% 0.45/1.13 aInfimumOfIn0( Z, Y, X ), aElementOf0( Z, X ) }.
% 0.45/1.13 (1339) {G0,W13,D2,L4,V3,M4} { ! aSet0( X ), ! aSubsetOf0( Y, X ), !
% 0.45/1.13 aInfimumOfIn0( Z, Y, X ), alpha4( X, Y, Z ) }.
% 0.45/1.13 (1340) {G0,W16,D2,L5,V3,M5} { ! aSet0( X ), ! aSubsetOf0( Y, X ), !
% 0.45/1.13 aElementOf0( Z, X ), ! alpha4( X, Y, Z ), aInfimumOfIn0( Z, Y, X ) }.
% 0.45/1.13 (1341) {G0,W8,D2,L2,V3,M2} { ! alpha4( X, Y, Z ), aLowerBoundOfIn0( Z, Y,
% 0.45/1.13 X ) }.
% 0.45/1.13 (1342) {G0,W8,D2,L2,V3,M2} { ! alpha4( X, Y, Z ), alpha6( X, Y, Z ) }.
% 0.45/1.13 (1343) {G0,W12,D2,L3,V3,M3} { ! aLowerBoundOfIn0( Z, Y, X ), ! alpha6( X,
% 0.45/1.13 Y, Z ), alpha4( X, Y, Z ) }.
% 0.45/1.13 (1344) {G0,W11,D2,L3,V4,M3} { ! alpha6( X, Y, Z ), ! aLowerBoundOfIn0( T,
% 0.45/1.13 Y, X ), sdtlseqdt0( T, Z ) }.
% 0.45/1.13 (1345) {G0,W10,D3,L2,V5,M2} { ! sdtlseqdt0( skol5( T, U, Z ), Z ), alpha6
% 0.45/1.13 ( X, Y, Z ) }.
% 0.45/1.13 (1346) {G0,W11,D3,L2,V3,M2} { aLowerBoundOfIn0( skol5( X, Y, Z ), Y, X ),
% 0.45/1.13 alpha6( X, Y, Z ) }.
% 0.45/1.13 (1347) {G0,W12,D2,L4,V3,M4} { ! aSet0( X ), ! aSubsetOf0( Y, X ), !
% 0.45/1.13 aSupremumOfIn0( Z, Y, X ), aElementOf0( Z, X ) }.
% 0.45/1.13 (1348) {G0,W13,D2,L4,V3,M4} { ! aSet0( X ), ! aSubsetOf0( Y, X ), !
% 0.45/1.13 aSupremumOfIn0( Z, Y, X ), alpha5( X, Y, Z ) }.
% 0.45/1.13 (1349) {G0,W16,D2,L5,V3,M5} { ! aSet0( X ), ! aSubsetOf0( Y, X ), !
% 0.45/1.13 aElementOf0( Z, X ), ! alpha5( X, Y, Z ), aSupremumOfIn0( Z, Y, X ) }.
% 0.45/1.13 (1350) {G0,W8,D2,L2,V3,M2} { ! alpha5( X, Y, Z ), aUpperBoundOfIn0( Z, Y,
% 0.45/1.13 X ) }.
% 0.45/1.13 (1351) {G0,W8,D2,L2,V3,M2} { ! alpha5( X, Y, Z ), alpha7( X, Y, Z ) }.
% 0.45/1.13 (1352) {G0,W12,D2,L3,V3,M3} { ! aUpperBoundOfIn0( Z, Y, X ), ! alpha7( X,
% 0.45/1.13 Y, Z ), alpha5( X, Y, Z ) }.
% 0.45/1.13 (1353) {G0,W11,D2,L3,V4,M3} { ! alpha7( X, Y, Z ), ! aUpperBoundOfIn0( T,
% 0.45/1.13 Y, X ), sdtlseqdt0( Z, T ) }.
% 0.45/1.13 (1354) {G0,W10,D3,L2,V5,M2} { ! sdtlseqdt0( Z, skol6( T, U, Z ) ), alpha7
% 0.45/1.13 ( X, Y, Z ) }.
% 0.45/1.13 (1355) {G0,W11,D3,L2,V3,M2} { aUpperBoundOfIn0( skol6( X, Y, Z ), Y, X ),
% 0.45/1.13 alpha7( X, Y, Z ) }.
% 0.45/1.13 (1356) {G0,W2,D2,L1,V0,M1} { aSet0( xT ) }.
% 0.45/1.13 (1357) {G0,W2,D2,L1,V0,M1} { aSet0( xS ) }.
% 0.45/1.13 (1358) {G0,W6,D2,L2,V1,M2} { ! aElementOf0( X, xS ), aElementOf0( X, xT )
% 0.45/1.13 }.
% 0.45/1.13 (1359) {G0,W3,D2,L1,V0,M1} { aSubsetOf0( xS, xT ) }.
% 0.45/1.13 (1360) {G0,W3,D2,L1,V0,M1} { aElementOf0( xu, xT ) }.
% 0.45/1.13 (1361) {G0,W3,D2,L1,V0,M1} { aElementOf0( xu, xT ) }.
% 0.45/1.13 (1362) {G0,W6,D2,L2,V1,M2} { ! aElementOf0( X, xS ), sdtlseqdt0( X, xu )
% 0.45/1.13 }.
% 0.45/1.13 (1363) {G0,W4,D2,L1,V0,M1} { aUpperBoundOfIn0( xu, xS, xT ) }.
% 0.45/1.13 (1364) {G0,W5,D2,L2,V1,M2} { alpha8( X ), sdtlseqdt0( xu, X ) }.
% 0.45/1.13 (1365) {G0,W4,D2,L1,V0,M1} { aSupremumOfIn0( xu, xS, xT ) }.
% 0.45/1.13 (1366) {G0,W3,D2,L1,V0,M1} { aElementOf0( xv, xT ) }.
% 0.45/1.13 (1367) {G0,W3,D2,L1,V0,M1} { aElementOf0( xv, xT ) }.
% 0.45/1.13 (1368) {G0,W6,D2,L2,V1,M2} { ! aElementOf0( X, xS ), sdtlseqdt0( X, xv )
% 0.45/1.13 }.
% 0.45/1.13 (1369) {G0,W4,D2,L1,V0,M1} { aUpperBoundOfIn0( xv, xS, xT ) }.
% 0.45/1.13 (1370) {G0,W10,D3,L3,V2,M3} { ! aElementOf0( X, xT ), aElementOf0( skol7(
% 0.45/1.13 Y ), xS ), sdtlseqdt0( xv, X ) }.
% 0.45/1.13 (1371) {G0,W10,D3,L3,V1,M3} { ! aElementOf0( X, xT ), ! sdtlseqdt0( skol7
% 0.45/1.13 ( X ), X ), sdtlseqdt0( xv, X ) }.
% 0.45/1.13 (1372) {G0,W7,D2,L2,V1,M2} { ! aUpperBoundOfIn0( X, xS, xT ), sdtlseqdt0(
% 0.45/1.13 xv, X ) }.
% 0.45/1.13 (1373) {G0,W4,D2,L1,V0,M1} { aSupremumOfIn0( xv, xS, xT ) }.
% 0.45/1.13 (1374) {G0,W4,D2,L2,V1,M2} { ! alpha8( X ), alpha9( X ) }.
% 0.45/1.13 (1375) {G0,W6,D2,L2,V1,M2} { ! alpha8( X ), ! aUpperBoundOfIn0( X, xS, xT
% 0.45/1.13 ) }.
% 0.45/1.13 (1376) {G0,W8,D2,L3,V1,M3} { ! alpha9( X ), aUpperBoundOfIn0( X, xS, xT )
% 0.45/1.13 , alpha8( X ) }.
% 0.45/1.13 (1377) {G0,W9,D3,L3,V2,M3} { ! alpha9( X ), ! aElementOf0( X, xT ),
% 0.45/1.13 aElementOf0( skol8( Y ), xS ) }.
% 0.45/1.13 (1378) {G0,W9,D3,L3,V1,M3} { ! alpha9( X ), ! aElementOf0( X, xT ), !
% 0.45/1.13 sdtlseqdt0( skol8( X ), X ) }.
% 0.45/1.13 (1379) {G0,W5,D2,L2,V1,M2} { aElementOf0( X, xT ), alpha9( X ) }.
% 0.45/1.13 (1380) {G0,W8,D2,L3,V2,M3} { ! aElementOf0( Y, xS ), sdtlseqdt0( Y, X ),
% 0.45/1.13 alpha9( X ) }.
% 0.45/1.13 (1381) {G0,W3,D2,L1,V0,M1} { ! xu = xv }.
% 0.45/1.13
% 0.45/1.13
% 0.45/1.13 Total Proof:
% 0.45/1.13
% 0.45/1.13 subsumption: (1) {G0,W7,D2,L3,V2,M3} I { ! aSet0( X ), ! aElementOf0( Y, X
% 0.45/1.13 ), aElement0( Y ) }.
% 0.45/1.13 parent0: (1313) {G0,W7,D2,L3,V2,M3} { ! aSet0( X ), ! aElementOf0( Y, X )
% 0.45/1.13 , aElement0( Y ) }.
% 0.45/1.13 substitution0:
% 0.45/1.13 X := X
% 0.45/1.13 Y := Y
% 0.45/1.13 end
% 0.45/1.13 permutation0:
% 0.45/1.13 0 ==> 0
% 0.45/1.13 1 ==> 1
% 0.45/1.13 2 ==> 2
% 0.45/1.13 end
% 0.45/1.13
% 0.45/1.13 subsumption: (11) {G0,W13,D2,L5,V2,M5} I { ! aElement0( X ), ! aElement0( Y
% 0.45/1.13 ), ! sdtlseqdt0( X, Y ), ! sdtlseqdt0( Y, X ), X = Y }.
% 0.45/1.13 parent0: (1324) {G0,W13,D2,L5,V2,M5} { ! aElement0( X ), ! aElement0( Y )
% 0.45/1.13 , ! sdtlseqdt0( X, Y ), ! sdtlseqdt0( Y, X ), X = Y }.
% 0.45/1.13 substitution0:
% 0.45/1.13 X := X
% 0.45/1.13 Y := Y
% 0.45/1.13 end
% 0.45/1.13 permutation0:
% 0.45/1.13 0 ==> 0
% 0.45/1.13 1 ==> 1
% 0.45/1.13 2 ==> 2
% 0.45/1.13 3 ==> 3
% 0.45/1.13 4 ==> 4
% 0.45/1.13 end
% 0.45/1.13
% 0.45/1.13 subsumption: (16) {G0,W9,D2,L3,V3,M3} I { ! alpha2( X, Y ), ! aElementOf0(
% 0.45/1.13 Z, X ), sdtlseqdt0( Y, Z ) }.
% 0.45/1.13 parent0: (1329) {G0,W9,D2,L3,V3,M3} { ! alpha2( X, Y ), ! aElementOf0( Z,
% 0.45/1.13 X ), sdtlseqdt0( Y, Z ) }.
% 0.45/1.13 substitution0:
% 0.45/1.13 X := X
% 0.45/1.13 Y := Y
% 0.45/1.13 Z := Z
% 0.45/1.13 end
% 0.45/1.13 permutation0:
% 0.45/1.13 0 ==> 0
% 0.45/1.13 1 ==> 1
% 0.45/1.13 2 ==> 2
% 0.45/1.13 end
% 0.45/1.13
% 0.45/1.13 subsumption: (17) {G0,W8,D3,L2,V3,M2} I { ! sdtlseqdt0( Y, skol3( Z, Y ) )
% 0.45/1.13 , alpha2( X, Y ) }.
% 0.45/1.13 parent0: (1330) {G0,W8,D3,L2,V3,M2} { ! sdtlseqdt0( Y, skol3( Z, Y ) ),
% 0.45/1.13 alpha2( X, Y ) }.
% 0.45/1.13 substitution0:
% 0.45/1.13 X := X
% 0.45/1.13 Y := Y
% 0.45/1.13 Z := Z
% 0.45/1.13 end
% 0.45/1.13 permutation0:
% 0.45/1.13 0 ==> 0
% 0.45/1.13 1 ==> 1
% 0.45/1.13 end
% 0.45/1.13
% 0.45/1.13 subsumption: (18) {G0,W8,D3,L2,V2,M2} I { aElementOf0( skol3( X, Y ), X ),
% 0.45/1.13 alpha2( X, Y ) }.
% 0.45/1.13 parent0: (1331) {G0,W8,D3,L2,V2,M2} { aElementOf0( skol3( X, Y ), X ),
% 0.45/1.13 alpha2( X, Y ) }.
% 0.45/1.13 substitution0:
% 0.45/1.13 X := X
% 0.45/1.13 Y := Y
% 0.45/1.13 end
% 0.45/1.13 permutation0:
% 0.45/1.13 0 ==> 0
% 0.45/1.13 1 ==> 1
% 0.45/1.13 end
% 0.45/1.13
% 0.45/1.13 subsumption: (43) {G0,W2,D2,L1,V0,M1} I { aSet0( xT ) }.
% 0.45/1.13 parent0: (1356) {G0,W2,D2,L1,V0,M1} { aSet0( xT ) }.
% 0.45/1.13 substitution0:
% 0.45/1.13 end
% 0.45/1.13 permutation0:
% 0.45/1.13 0 ==> 0
% 0.45/1.13 end
% 0.45/1.13
% 0.45/1.13 subsumption: (47) {G0,W3,D2,L1,V0,M1} I { aElementOf0( xu, xT ) }.
% 0.45/1.13 parent0: (1360) {G0,W3,D2,L1,V0,M1} { aElementOf0( xu, xT ) }.
% 0.45/1.13 substitution0:
% 0.45/1.13 end
% 0.45/1.13 permutation0:
% 0.45/1.13 0 ==> 0
% 0.45/1.14 end
% 0.45/1.14
% 0.45/1.14 subsumption: (48) {G0,W6,D2,L2,V1,M2} I { ! aElementOf0( X, xS ),
% 0.45/1.14 sdtlseqdt0( X, xu ) }.
% 0.45/1.14 parent0: (1362) {G0,W6,D2,L2,V1,M2} { ! aElementOf0( X, xS ), sdtlseqdt0(
% 0.45/1.14 X, xu ) }.
% 0.45/1.14 substitution0:
% 0.45/1.14 X := X
% 0.45/1.14 end
% 0.45/1.14 permutation0:
% 0.45/1.14 0 ==> 0
% 0.45/1.14 1 ==> 1
% 0.45/1.14 end
% 0.45/1.14
% 0.45/1.14 subsumption: (50) {G0,W5,D2,L2,V1,M2} I { alpha8( X ), sdtlseqdt0( xu, X )
% 0.45/1.14 }.
% 0.45/1.14 parent0: (1364) {G0,W5,D2,L2,V1,M2} { alpha8( X ), sdtlseqdt0( xu, X ) }.
% 0.45/1.14 substitution0:
% 0.45/1.14 X := X
% 0.45/1.14 end
% 0.45/1.14 permutation0:
% 0.45/1.14 0 ==> 0
% 0.45/1.14 1 ==> 1
% 0.45/1.14 end
% 0.45/1.14
% 0.45/1.14 subsumption: (52) {G0,W3,D2,L1,V0,M1} I { aElementOf0( xv, xT ) }.
% 0.45/1.14 parent0: (1366) {G0,W3,D2,L1,V0,M1} { aElementOf0( xv, xT ) }.
% 0.45/1.14 substitution0:
% 0.45/1.14 end
% 0.45/1.14 permutation0:
% 0.45/1.14 0 ==> 0
% 0.45/1.14 end
% 0.45/1.14
% 0.45/1.14 subsumption: (54) {G0,W4,D2,L1,V0,M1} I { aUpperBoundOfIn0( xv, xS, xT )
% 0.45/1.14 }.
% 0.45/1.14 parent0: (1369) {G0,W4,D2,L1,V0,M1} { aUpperBoundOfIn0( xv, xS, xT ) }.
% 0.45/1.14 substitution0:
% 0.45/1.14 end
% 0.45/1.14 permutation0:
% 0.45/1.14 0 ==> 0
% 0.45/1.14 end
% 0.45/1.14
% 0.45/1.14 subsumption: (55) {G0,W10,D3,L3,V2,M3} I { ! aElementOf0( X, xT ),
% 0.45/1.14 aElementOf0( skol7( Y ), xS ), sdtlseqdt0( xv, X ) }.
% 0.45/1.14 parent0: (1370) {G0,W10,D3,L3,V2,M3} { ! aElementOf0( X, xT ), aElementOf0
% 0.45/1.14 ( skol7( Y ), xS ), sdtlseqdt0( xv, X ) }.
% 0.45/1.14 substitution0:
% 0.45/1.14 X := X
% 0.45/1.14 Y := Y
% 0.45/1.14 end
% 0.45/1.14 permutation0:
% 0.45/1.14 0 ==> 0
% 0.45/1.14 1 ==> 1
% 0.45/1.14 2 ==> 2
% 0.45/1.14 end
% 0.45/1.14
% 0.45/1.14 subsumption: (56) {G0,W10,D3,L3,V1,M3} I { ! aElementOf0( X, xT ), !
% 0.45/1.14 sdtlseqdt0( skol7( X ), X ), sdtlseqdt0( xv, X ) }.
% 0.45/1.14 parent0: (1371) {G0,W10,D3,L3,V1,M3} { ! aElementOf0( X, xT ), !
% 0.45/1.14 sdtlseqdt0( skol7( X ), X ), sdtlseqdt0( xv, X ) }.
% 0.45/1.14 substitution0:
% 0.45/1.14 X := X
% 0.45/1.14 end
% 0.45/1.14 permutation0:
% 0.45/1.14 0 ==> 0
% 0.45/1.14 1 ==> 1
% 0.45/1.14 2 ==> 2
% 0.45/1.14 end
% 0.45/1.14
% 0.45/1.14 subsumption: (60) {G0,W6,D2,L2,V1,M2} I { ! alpha8( X ), ! aUpperBoundOfIn0
% 0.45/1.14 ( X, xS, xT ) }.
% 0.45/1.14 parent0: (1375) {G0,W6,D2,L2,V1,M2} { ! alpha8( X ), ! aUpperBoundOfIn0( X
% 0.45/1.14 , xS, xT ) }.
% 0.45/1.14 substitution0:
% 0.45/1.14 X := X
% 0.45/1.14 end
% 0.45/1.14 permutation0:
% 0.45/1.14 0 ==> 0
% 0.45/1.14 1 ==> 1
% 0.45/1.14 end
% 0.45/1.14
% 0.45/1.14 eqswap: (1516) {G0,W3,D2,L1,V0,M1} { ! xv = xu }.
% 0.45/1.14 parent0[0]: (1381) {G0,W3,D2,L1,V0,M1} { ! xu = xv }.
% 0.45/1.14 substitution0:
% 0.45/1.14 end
% 0.45/1.14
% 0.45/1.14 subsumption: (66) {G0,W3,D2,L1,V0,M1} I { ! xv ==> xu }.
% 0.45/1.14 parent0: (1516) {G0,W3,D2,L1,V0,M1} { ! xv = xu }.
% 0.45/1.14 substitution0:
% 0.45/1.14 end
% 0.45/1.14 permutatioCputime limit exceeded (core dumped)
%------------------------------------------------------------------------------