TSTP Solution File: SEU164+1 by ePrincess---1.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : ePrincess---1.0
% Problem  : SEU164+1 : TPTP v8.1.0. Released v3.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : ePrincess-casc -timeout=%d %s

% Computer : n026.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  : 600s
% DateTime : Tue Jul 19 08:47:11 EDT 2022

% Result   : Theorem 29.60s 9.89s
% Output   : Proof 43.01s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.10  % Problem  : SEU164+1 : TPTP v8.1.0. Released v3.3.0.
% 0.00/0.10  % Command  : ePrincess-casc -timeout=%d %s
% 0.11/0.31  % Computer : n026.cluster.edu
% 0.11/0.31  % Model    : x86_64 x86_64
% 0.11/0.31  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.11/0.31  % Memory   : 8042.1875MB
% 0.11/0.31  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.11/0.31  % CPULimit : 300
% 0.11/0.31  % WCLimit  : 600
% 0.11/0.31  % DateTime : Mon Jun 20 06:27:11 EDT 2022
% 0.11/0.31  % CPUTime  : 
% 0.15/0.55          ____       _                          
% 0.15/0.55    ___  / __ \_____(_)___  ________  __________
% 0.15/0.55   / _ \/ /_/ / ___/ / __ \/ ___/ _ \/ ___/ ___/
% 0.15/0.55  /  __/ ____/ /  / / / / / /__/  __(__  |__  ) 
% 0.15/0.55  \___/_/   /_/  /_/_/ /_/\___/\___/____/____/  
% 0.15/0.55  
% 0.15/0.55  A Theorem Prover for First-Order Logic
% 0.15/0.55  (ePrincess v.1.0)
% 0.15/0.55  
% 0.15/0.55  (c) Philipp Rümmer, 2009-2015
% 0.15/0.55  (c) Peter Backeman, 2014-2015
% 0.15/0.55  (contributions by Angelo Brillout, Peter Baumgartner)
% 0.15/0.55  Free software under GNU Lesser General Public License (LGPL).
% 0.15/0.55  Bug reports to peter@backeman.se
% 0.15/0.55  
% 0.15/0.55  For more information, visit http://user.uu.se/~petba168/breu/
% 0.15/0.55  
% 0.15/0.55  Loading /export/starexec/sandbox2/benchmark/theBenchmark.p ...
% 0.67/0.60  Prover 0: Options:  -triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMaximal -resolutionMethod=nonUnifying +ignoreQuantifiers -generateTriggers=all
% 1.47/0.89  Prover 0: Preprocessing ...
% 1.80/1.07  Prover 0: Warning: ignoring some quantifiers
% 1.80/1.08  Prover 0: Constructing countermodel ...
% 2.51/1.26  Prover 0: gave up
% 2.51/1.26  Prover 1: Options:  +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -resolutionMethod=normal +ignoreQuantifiers -generateTriggers=all
% 2.51/1.28  Prover 1: Preprocessing ...
% 2.87/1.36  Prover 1: Warning: ignoring some quantifiers
% 2.87/1.36  Prover 1: Constructing countermodel ...
% 3.15/1.41  Prover 1: gave up
% 3.15/1.41  Prover 2: Options:  +triggersInConjecture +genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -resolutionMethod=nonUnifying +ignoreQuantifiers -generateTriggers=all
% 3.15/1.42  Prover 2: Preprocessing ...
% 3.48/1.49  Prover 2: Warning: ignoring some quantifiers
% 3.61/1.50  Prover 2: Constructing countermodel ...
% 3.74/1.55  Prover 2: gave up
% 3.74/1.56  Prover 3: Options:  -triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximal -resolutionMethod=nonUnifying +ignoreQuantifiers -generateTriggers=all
% 3.74/1.57  Prover 3: Preprocessing ...
% 3.74/1.59  Prover 3: Warning: ignoring some quantifiers
% 3.74/1.59  Prover 3: Constructing countermodel ...
% 4.20/1.65  Prover 3: gave up
% 4.20/1.65  Prover 4: Options:  +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -resolutionMethod=nonUnifying +ignoreQuantifiers -generateTriggers=complete
% 4.20/1.66  Prover 4: Preprocessing ...
% 4.52/1.73  Prover 4: Warning: ignoring some quantifiers
% 4.52/1.74  Prover 4: Constructing countermodel ...
% 9.29/2.88  Prover 5: Options:  +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allMinimal -resolutionMethod=nonUnifying +ignoreQuantifiers -generateTriggers=all
% 9.29/2.90  Prover 5: Preprocessing ...
% 9.74/2.96  Prover 5: Warning: ignoring some quantifiers
% 9.74/2.96  Prover 5: Constructing countermodel ...
% 10.13/3.01  Prover 5: gave up
% 10.13/3.01  Prover 6: Options:  +triggersInConjecture +genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -resolutionMethod=normal +ignoreQuantifiers -generateTriggers=all
% 10.13/3.03  Prover 6: Preprocessing ...
% 10.13/3.06  Prover 6: Warning: ignoring some quantifiers
% 10.13/3.07  Prover 6: Constructing countermodel ...
% 10.13/3.10  Prover 6: gave up
% 10.13/3.10  Prover 7: Options:  +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=maximalOutermost -resolutionMethod=normal -ignoreQuantifiers -generateTriggers=all
% 10.59/3.11  Prover 7: Preprocessing ...
% 10.59/3.14  Prover 7: Proving ...
% 29.60/9.89  Prover 7: proved (6785ms)
% 29.60/9.89  Prover 4: stopped
% 29.60/9.89  
% 29.60/9.89  % SZS status Theorem for theBenchmark
% 29.60/9.89  
% 29.60/9.89  Generating proof ... found it (size 37)
% 43.01/15.64  
% 43.01/15.64  % SZS output start Proof for theBenchmark
% 43.01/15.64  Assumed formulas after preprocessing and simplification: 
% 43.01/15.64  | (0)  ! [v0] :  ! [v1] :  ! [v2] : (v1 = v0 |  ~ (union(v2) = v1) |  ~ (union(v2) = v0)) &  ! [v0] :  ! [v1] :  ! [v2] : (v1 = v0 |  ~ (powerset(v2) = v1) |  ~ (powerset(v2) = v0)) &  ! [v0] :  ! [v1] :  ! [v2] : (v1 = v0 |  ~ (singleton(v2) = v1) |  ~ (singleton(v2) = v0)) &  ! [v0] :  ! [v1] :  ! [v2] : ( ~ (singleton(v0) = v2) |  ~ subset(v2, v1) | in(v0, v1)) &  ! [v0] :  ! [v1] :  ! [v2] : ( ~ (singleton(v0) = v2) |  ~ in(v0, v1) | subset(v2, v1)) &  ! [v0] :  ! [v1] : (v1 = v0 |  ? [v2] : (( ~ in(v2, v1) |  ~ in(v2, v0)) & (in(v2, v1) | in(v2, v0)))) &  ! [v0] :  ! [v1] : ( ~ (union(v0) = v1) |  ! [v2] : (v2 = v1 |  ? [v3] : (( ~ in(v3, v2) |  ! [v4] : ( ~ in(v4, v0) |  ~ in(v3, v4))) & (in(v3, v2) |  ? [v4] : (in(v4, v0) & in(v3, v4)))))) &  ! [v0] :  ! [v1] : ( ~ (union(v0) = v1) | ( ! [v2] : ( ~ in(v2, v1) |  ? [v3] : (in(v3, v0) & in(v2, v3))) &  ! [v2] : (in(v2, v1) |  ! [v3] : ( ~ in(v3, v0) |  ~ in(v2, v3))))) &  ! [v0] :  ! [v1] : ( ~ (powerset(v0) = v1) |  ! [v2] : (v2 = v1 |  ? [v3] : (( ~ subset(v3, v0) |  ~ in(v3, v2)) & (subset(v3, v0) | in(v3, v2))))) &  ! [v0] :  ! [v1] : ( ~ (powerset(v0) = v1) | ( ! [v2] : ( ~ subset(v2, v0) | in(v2, v1)) &  ! [v2] : ( ~ in(v2, v1) | subset(v2, v0)))) &  ! [v0] :  ! [v1] : ( ~ (singleton(v0) = v1) |  ! [v2] : (v2 = v1 |  ? [v3] : (( ~ (v3 = v0) |  ~ in(v0, v2)) & (v3 = v0 | in(v3, v2))))) &  ! [v0] :  ! [v1] : ( ~ (singleton(v0) = v1) | (in(v0, v1) &  ! [v2] : (v2 = v0 |  ~ in(v2, v1)))) &  ! [v0] :  ! [v1] : ( ~ subset(v0, v1) |  ! [v2] : ( ~ in(v2, v0) | in(v2, v1))) &  ! [v0] :  ! [v1] : ( ~ in(v1, v0) |  ~ in(v0, v1)) &  ! [v0] :  ! [v1] : (subset(v0, v1) |  ? [v2] : (in(v2, v0) &  ~ in(v2, v1))) &  ! [v0] : subset(v0, v0) &  ? [v0] :  ? [v1] :  ? [v2] : ( ~ (v2 = v0) & union(v1) = v2 & powerset(v0) = v1)
% 43.01/15.67  | Applying alpha-rule on (0) yields:
% 43.01/15.67  | (1)  ! [v0] : subset(v0, v0)
% 43.01/15.67  | (2)  ! [v0] :  ! [v1] : ( ~ (union(v0) = v1) | ( ! [v2] : ( ~ in(v2, v1) |  ? [v3] : (in(v3, v0) & in(v2, v3))) &  ! [v2] : (in(v2, v1) |  ! [v3] : ( ~ in(v3, v0) |  ~ in(v2, v3)))))
% 43.01/15.67  | (3)  ! [v0] :  ! [v1] : ( ~ (powerset(v0) = v1) | ( ! [v2] : ( ~ subset(v2, v0) | in(v2, v1)) &  ! [v2] : ( ~ in(v2, v1) | subset(v2, v0))))
% 43.01/15.67  | (4)  ! [v0] :  ! [v1] : ( ~ (singleton(v0) = v1) | (in(v0, v1) &  ! [v2] : (v2 = v0 |  ~ in(v2, v1))))
% 43.01/15.67  | (5)  ! [v0] :  ! [v1] : (subset(v0, v1) |  ? [v2] : (in(v2, v0) &  ~ in(v2, v1)))
% 43.01/15.67  | (6)  ! [v0] :  ! [v1] : ( ~ (powerset(v0) = v1) |  ! [v2] : (v2 = v1 |  ? [v3] : (( ~ subset(v3, v0) |  ~ in(v3, v2)) & (subset(v3, v0) | in(v3, v2)))))
% 43.01/15.67  | (7)  ! [v0] :  ! [v1] :  ! [v2] : (v1 = v0 |  ~ (powerset(v2) = v1) |  ~ (powerset(v2) = v0))
% 43.01/15.67  | (8)  ! [v0] :  ! [v1] : ( ~ in(v1, v0) |  ~ in(v0, v1))
% 43.01/15.67  | (9)  ! [v0] :  ! [v1] :  ! [v2] : (v1 = v0 |  ~ (singleton(v2) = v1) |  ~ (singleton(v2) = v0))
% 43.01/15.67  | (10)  ! [v0] :  ! [v1] : ( ~ subset(v0, v1) |  ! [v2] : ( ~ in(v2, v0) | in(v2, v1)))
% 43.01/15.67  | (11)  ! [v0] :  ! [v1] :  ! [v2] : (v1 = v0 |  ~ (union(v2) = v1) |  ~ (union(v2) = v0))
% 43.01/15.67  | (12)  ! [v0] :  ! [v1] : (v1 = v0 |  ? [v2] : (( ~ in(v2, v1) |  ~ in(v2, v0)) & (in(v2, v1) | in(v2, v0))))
% 43.01/15.67  | (13)  ! [v0] :  ! [v1] : ( ~ (singleton(v0) = v1) |  ! [v2] : (v2 = v1 |  ? [v3] : (( ~ (v3 = v0) |  ~ in(v0, v2)) & (v3 = v0 | in(v3, v2)))))
% 43.01/15.67  | (14)  ! [v0] :  ! [v1] : ( ~ (union(v0) = v1) |  ! [v2] : (v2 = v1 |  ? [v3] : (( ~ in(v3, v2) |  ! [v4] : ( ~ in(v4, v0) |  ~ in(v3, v4))) & (in(v3, v2) |  ? [v4] : (in(v4, v0) & in(v3, v4))))))
% 43.01/15.67  | (15)  ? [v0] :  ? [v1] :  ? [v2] : ( ~ (v2 = v0) & union(v1) = v2 & powerset(v0) = v1)
% 43.01/15.67  | (16)  ! [v0] :  ! [v1] :  ! [v2] : ( ~ (singleton(v0) = v2) |  ~ in(v0, v1) | subset(v2, v1))
% 43.01/15.67  | (17)  ! [v0] :  ! [v1] :  ! [v2] : ( ~ (singleton(v0) = v2) |  ~ subset(v2, v1) | in(v0, v1))
% 43.01/15.67  |
% 43.01/15.67  | Instantiating (15) with all_1_0_0, all_1_1_1, all_1_2_2 yields:
% 43.01/15.67  | (18)  ~ (all_1_0_0 = all_1_2_2) & union(all_1_1_1) = all_1_0_0 & powerset(all_1_2_2) = all_1_1_1
% 43.01/15.67  |
% 43.01/15.67  | Applying alpha-rule on (18) yields:
% 43.01/15.67  | (19)  ~ (all_1_0_0 = all_1_2_2)
% 43.01/15.67  | (20) union(all_1_1_1) = all_1_0_0
% 43.01/15.67  | (21) powerset(all_1_2_2) = all_1_1_1
% 43.01/15.68  |
% 43.01/15.68  | Instantiating formula (14) with all_1_0_0, all_1_1_1 and discharging atoms union(all_1_1_1) = all_1_0_0, yields:
% 43.01/15.68  | (22)  ! [v0] : (v0 = all_1_0_0 |  ? [v1] : (( ~ in(v1, v0) |  ! [v2] : ( ~ in(v2, all_1_1_1) |  ~ in(v1, v2))) & (in(v1, v0) |  ? [v2] : (in(v2, all_1_1_1) & in(v1, v2)))))
% 43.01/15.68  |
% 43.01/15.68  | Instantiating formula (3) with all_1_1_1, all_1_2_2 and discharging atoms powerset(all_1_2_2) = all_1_1_1, yields:
% 43.01/15.68  | (23)  ! [v0] : ( ~ subset(v0, all_1_2_2) | in(v0, all_1_1_1)) &  ! [v0] : ( ~ in(v0, all_1_1_1) | subset(v0, all_1_2_2))
% 43.01/15.68  |
% 43.01/15.68  | Applying alpha-rule on (23) yields:
% 43.01/15.68  | (24)  ! [v0] : ( ~ subset(v0, all_1_2_2) | in(v0, all_1_1_1))
% 43.01/15.68  | (25)  ! [v0] : ( ~ in(v0, all_1_1_1) | subset(v0, all_1_2_2))
% 43.01/15.68  |
% 43.01/15.68  | Introducing new symbol ex_22_0_6 defined by:
% 43.01/15.68  | (26) ex_22_0_6 = all_1_2_2
% 43.01/15.68  |
% 43.01/15.68  | Instantiating formula (1) with ex_22_0_6 yields:
% 43.01/15.68  | (27) subset(ex_22_0_6, ex_22_0_6)
% 43.01/15.68  |
% 43.01/15.68  | Instantiating formula (24) with all_1_2_2 yields:
% 43.01/15.68  | (28)  ~ subset(all_1_2_2, all_1_2_2) | in(all_1_2_2, all_1_1_1)
% 43.01/15.68  |
% 43.01/15.68  +-Applying beta-rule and splitting (28), into two cases.
% 43.01/15.68  |-Branch one:
% 43.01/15.68  | (29) in(all_1_2_2, all_1_1_1)
% 43.01/15.68  |
% 43.01/15.68  	| Introducing new symbol ex_89_0_19 defined by:
% 43.01/15.68  	| (30) ex_89_0_19 = all_1_2_2
% 43.01/15.68  	|
% 43.01/15.68  	| Instantiating formula (22) with ex_89_0_19 yields:
% 43.01/15.68  	| (31) ex_89_0_19 = all_1_0_0 |  ? [v0] : (( ~ in(v0, ex_89_0_19) |  ! [v1] : ( ~ in(v1, all_1_1_1) |  ~ in(v0, v1))) & (in(v0, ex_89_0_19) |  ? [v1] : (in(v1, all_1_1_1) & in(v0, v1))))
% 43.01/15.68  	|
% 43.01/15.68  	+-Applying beta-rule and splitting (31), into two cases.
% 43.01/15.68  	|-Branch one:
% 43.01/15.68  	| (32) ex_89_0_19 = all_1_0_0
% 43.01/15.68  	|
% 43.01/15.68  		| Combining equations (30,32) yields a new equation:
% 43.01/15.68  		| (33) all_1_0_0 = all_1_2_2
% 43.01/15.68  		|
% 43.01/15.68  		| Equations (33) can reduce 19 to:
% 43.01/15.68  		| (34) $false
% 43.01/15.68  		|
% 43.01/15.68  		|-The branch is then unsatisfiable
% 43.01/15.68  	|-Branch two:
% 43.01/15.68  	| (35)  ? [v0] : (( ~ in(v0, ex_89_0_19) |  ! [v1] : ( ~ in(v1, all_1_1_1) |  ~ in(v0, v1))) & (in(v0, ex_89_0_19) |  ? [v1] : (in(v1, all_1_1_1) & in(v0, v1))))
% 43.01/15.68  	|
% 43.01/15.68  		| Instantiating (35) with all_92_0_21 yields:
% 43.01/15.68  		| (36) ( ~ in(all_92_0_21, ex_89_0_19) |  ! [v0] : ( ~ in(v0, all_1_1_1) |  ~ in(all_92_0_21, v0))) & (in(all_92_0_21, ex_89_0_19) |  ? [v0] : (in(v0, all_1_1_1) & in(all_92_0_21, v0)))
% 43.01/15.68  		|
% 43.01/15.68  		| Applying alpha-rule on (36) yields:
% 43.01/15.68  		| (37)  ~ in(all_92_0_21, ex_89_0_19) |  ! [v0] : ( ~ in(v0, all_1_1_1) |  ~ in(all_92_0_21, v0))
% 43.01/15.68  		| (38) in(all_92_0_21, ex_89_0_19) |  ? [v0] : (in(v0, all_1_1_1) & in(all_92_0_21, v0))
% 43.01/15.68  		|
% 43.01/15.68  		+-Applying beta-rule and splitting (37), into two cases.
% 43.01/15.68  		|-Branch one:
% 43.01/15.68  		| (39)  ~ in(all_92_0_21, ex_89_0_19)
% 43.01/15.68  		|
% 43.01/15.68  			+-Applying beta-rule and splitting (38), into two cases.
% 43.01/15.68  			|-Branch one:
% 43.01/15.68  			| (40) in(all_92_0_21, ex_89_0_19)
% 43.01/15.68  			|
% 43.01/15.68  				| Using (40) and (39) yields:
% 43.01/15.68  				| (41) $false
% 43.01/15.68  				|
% 43.01/15.68  				|-The branch is then unsatisfiable
% 43.01/15.68  			|-Branch two:
% 43.01/15.68  			| (42)  ? [v0] : (in(v0, all_1_1_1) & in(all_92_0_21, v0))
% 43.01/15.68  			|
% 43.01/15.68  				| Instantiating (42) with all_103_0_25 yields:
% 43.01/15.68  				| (43) in(all_103_0_25, all_1_1_1) & in(all_92_0_21, all_103_0_25)
% 43.01/15.68  				|
% 43.01/15.68  				| Applying alpha-rule on (43) yields:
% 43.01/15.68  				| (44) in(all_103_0_25, all_1_1_1)
% 43.01/15.68  				| (45) in(all_92_0_21, all_103_0_25)
% 43.01/15.68  				|
% 43.01/15.68  				| Instantiating formula (25) with all_103_0_25 and discharging atoms in(all_103_0_25, all_1_1_1), yields:
% 43.01/15.68  				| (46) subset(all_103_0_25, all_1_2_2)
% 43.01/15.68  				|
% 43.01/15.68  				| Instantiating formula (10) with all_1_2_2, all_103_0_25 and discharging atoms subset(all_103_0_25, all_1_2_2), yields:
% 43.01/15.68  				| (47)  ! [v0] : ( ~ in(v0, all_103_0_25) | in(v0, all_1_2_2))
% 43.01/15.68  				|
% 43.01/15.68  				| Instantiating formula (47) with all_92_0_21 and discharging atoms in(all_92_0_21, all_103_0_25), yields:
% 43.01/15.68  				| (48) in(all_92_0_21, all_1_2_2)
% 43.01/15.68  				|
% 43.01/15.68  				| From (30) and (39) follows:
% 43.01/15.68  				| (49)  ~ in(all_92_0_21, all_1_2_2)
% 43.01/15.68  				|
% 43.01/15.68  				| Using (48) and (49) yields:
% 43.01/15.69  				| (41) $false
% 43.01/15.69  				|
% 43.01/15.69  				|-The branch is then unsatisfiable
% 43.01/15.69  		|-Branch two:
% 43.01/15.69  		| (40) in(all_92_0_21, ex_89_0_19)
% 43.01/15.69  		| (52)  ! [v0] : ( ~ in(v0, all_1_1_1) |  ~ in(all_92_0_21, v0))
% 43.01/15.69  		|
% 43.01/15.69  			| Instantiating formula (52) with all_1_2_2 and discharging atoms in(all_1_2_2, all_1_1_1), yields:
% 43.01/15.69  			| (49)  ~ in(all_92_0_21, all_1_2_2)
% 43.01/15.69  			|
% 43.01/15.69  			| From (30) and (40) follows:
% 43.01/15.69  			| (48) in(all_92_0_21, all_1_2_2)
% 43.01/15.69  			|
% 43.01/15.69  			| Using (48) and (49) yields:
% 43.01/15.69  			| (41) $false
% 43.01/15.69  			|
% 43.01/15.69  			|-The branch is then unsatisfiable
% 43.01/15.69  |-Branch two:
% 43.01/15.69  | (56)  ~ subset(all_1_2_2, all_1_2_2)
% 43.01/15.69  |
% 43.01/15.69  	| From (26)(26) and (27) follows:
% 43.01/15.69  	| (57) subset(all_1_2_2, all_1_2_2)
% 43.01/15.69  	|
% 43.01/15.69  	| Using (57) and (56) yields:
% 43.01/15.69  	| (41) $false
% 43.01/15.69  	|
% 43.01/15.69  	|-The branch is then unsatisfiable
% 43.01/15.69  % SZS output end Proof for theBenchmark
% 43.01/15.69  
% 43.01/15.69  15126ms
%------------------------------------------------------------------------------