TSTP Solution File: SEU178+1 by ePrincess---1.0
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : ePrincess---1.0
% Problem : SEU178+1 : TPTP v8.1.0. Released v3.3.0.
% Transfm : none
% Format : tptp:raw
% Command : ePrincess-casc -timeout=%d %s
% Computer : n025.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:21 EDT 2022
% Result : Theorem 5.00s 1.84s
% Output : Proof 6.98s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.07/0.12 % Problem : SEU178+1 : TPTP v8.1.0. Released v3.3.0.
% 0.07/0.12 % Command : ePrincess-casc -timeout=%d %s
% 0.13/0.33 % Computer : n025.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 % WCLimit : 600
% 0.13/0.33 % DateTime : Mon Jun 20 05:15:59 EDT 2022
% 0.13/0.34 % CPUTime :
% 0.19/0.58 ____ _
% 0.19/0.58 ___ / __ \_____(_)___ ________ __________
% 0.19/0.58 / _ \/ /_/ / ___/ / __ \/ ___/ _ \/ ___/ ___/
% 0.19/0.58 / __/ ____/ / / / / / / /__/ __(__ |__ )
% 0.19/0.58 \___/_/ /_/ /_/_/ /_/\___/\___/____/____/
% 0.19/0.58
% 0.19/0.58 A Theorem Prover for First-Order Logic
% 0.19/0.59 (ePrincess v.1.0)
% 0.19/0.59
% 0.19/0.59 (c) Philipp Rümmer, 2009-2015
% 0.19/0.59 (c) Peter Backeman, 2014-2015
% 0.19/0.59 (contributions by Angelo Brillout, Peter Baumgartner)
% 0.19/0.59 Free software under GNU Lesser General Public License (LGPL).
% 0.19/0.59 Bug reports to peter@backeman.se
% 0.19/0.59
% 0.19/0.59 For more information, visit http://user.uu.se/~petba168/breu/
% 0.19/0.59
% 0.19/0.59 Loading /export/starexec/sandbox/benchmark/theBenchmark.p ...
% 0.68/0.66 Prover 0: Options: -triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMaximal -resolutionMethod=nonUnifying +ignoreQuantifiers -generateTriggers=all
% 1.55/0.95 Prover 0: Preprocessing ...
% 2.24/1.21 Prover 0: Warning: ignoring some quantifiers
% 2.33/1.23 Prover 0: Constructing countermodel ...
% 3.60/1.58 Prover 0: gave up
% 3.60/1.58 Prover 1: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -resolutionMethod=normal +ignoreQuantifiers -generateTriggers=all
% 3.60/1.61 Prover 1: Preprocessing ...
% 4.22/1.73 Prover 1: Warning: ignoring some quantifiers
% 4.22/1.74 Prover 1: Constructing countermodel ...
% 5.00/1.84 Prover 1: proved (262ms)
% 5.00/1.84
% 5.00/1.84 No countermodel exists, formula is valid
% 5.00/1.84 % SZS status Theorem for theBenchmark
% 5.00/1.85
% 5.00/1.85 Generating proof ... Warning: ignoring some quantifiers
% 6.69/2.24 found it (size 35)
% 6.69/2.24
% 6.69/2.24 % SZS output start Proof for theBenchmark
% 6.69/2.24 Assumed formulas after preprocessing and simplification:
% 6.69/2.24 | (0) ? [v0] : ? [v1] : ? [v2] : ? [v3] : ? [v4] : ? [v5] : ? [v6] : ? [v7] : ? [v8] : ( ~ (v6 = 0) & ~ (v4 = 0) & cartesian_product2(v1, v2) = v3 & empty(v8) = 0 & empty(v7) = 0 & empty(v5) = v6 & empty(empty_set) = 0 & relation_rng(v0) = v2 & relation_dom(v0) = v1 & subset(v0, v3) = v4 & relation(v8) = 0 & relation(v0) = 0 & ! [v9] : ! [v10] : ! [v11] : ! [v12] : ! [v13] : ! [v14] : ! [v15] : (v15 = 0 | ~ (cartesian_product2(v11, v12) = v14) | ~ (ordered_pair(v9, v10) = v13) | ~ (in(v13, v14) = v15) | ? [v16] : ? [v17] : (in(v10, v12) = v17 & in(v9, v11) = v16 & ( ~ (v17 = 0) | ~ (v16 = 0)))) & ! [v9] : ! [v10] : ! [v11] : ! [v12] : ! [v13] : ! [v14] : (v12 = 0 | ~ (relation_rng(v9) = v10) | ~ (ordered_pair(v13, v11) = v14) | ~ (in(v14, v9) = 0) | ~ (in(v11, v10) = v12) | ? [v15] : ( ~ (v15 = 0) & relation(v9) = v15)) & ! [v9] : ! [v10] : ! [v11] : ! [v12] : ! [v13] : ! [v14] : (v12 = 0 | ~ (relation_dom(v9) = v10) | ~ (ordered_pair(v11, v13) = v14) | ~ (in(v14, v9) = 0) | ~ (in(v11, v10) = v12) | ? [v15] : ( ~ (v15 = 0) & relation(v9) = v15)) & ! [v9] : ! [v10] : ! [v11] : ! [v12] : ! [v13] : ! [v14] : ( ~ (cartesian_product2(v11, v12) = v14) | ~ (ordered_pair(v9, v10) = v13) | ~ (in(v13, v14) = 0) | (in(v10, v12) = 0 & in(v9, v11) = 0)) & ! [v9] : ! [v10] : ! [v11] : ! [v12] : ! [v13] : (v13 = 0 | ~ (powerset(v11) = v12) | ~ (element(v10, v12) = 0) | ~ (element(v9, v11) = v13) | ? [v14] : ( ~ (v14 = 0) & in(v9, v10) = v14)) & ! [v9] : ! [v10] : ! [v11] : ! [v12] : ! [v13] : ( ~ (singleton(v9) = v12) | ~ (unordered_pair(v11, v12) = v13) | ~ (unordered_pair(v9, v10) = v11) | ordered_pair(v9, v10) = v13) & ! [v9] : ! [v10] : ! [v11] : ! [v12] : (v12 = 0 | ~ (powerset(v10) = v11) | ~ (element(v9, v11) = v12) | ? [v13] : ( ~ (v13 = 0) & subset(v9, v10) = v13)) & ! [v9] : ! [v10] : ! [v11] : ! [v12] : (v10 = v9 | ~ (cartesian_product2(v12, v11) = v10) | ~ (cartesian_product2(v12, v11) = v9)) & ! [v9] : ! [v10] : ! [v11] : ! [v12] : (v10 = v9 | ~ (element(v12, v11) = v10) | ~ (element(v12, v11) = v9)) & ! [v9] : ! [v10] : ! [v11] : ! [v12] : (v10 = v9 | ~ (subset(v12, v11) = v10) | ~ (subset(v12, v11) = v9)) & ! [v9] : ! [v10] : ! [v11] : ! [v12] : (v10 = v9 | ~ (ordered_pair(v12, v11) = v10) | ~ (ordered_pair(v12, v11) = v9)) & ! [v9] : ! [v10] : ! [v11] : ! [v12] : (v10 = v9 | ~ (unordered_pair(v12, v11) = v10) | ~ (unordered_pair(v12, v11) = v9)) & ! [v9] : ! [v10] : ! [v11] : ! [v12] : (v10 = v9 | ~ (in(v12, v11) = v10) | ~ (in(v12, v11) = v9)) & ! [v9] : ! [v10] : ! [v11] : ! [v12] : ( ~ (powerset(v11) = v12) | ~ (element(v10, v12) = 0) | ~ (in(v9, v10) = 0) | ? [v13] : ( ~ (v13 = 0) & empty(v11) = v13)) & ! [v9] : ! [v10] : ! [v11] : (v11 = 0 | ~ (element(v9, v10) = v11) | ? [v12] : ( ~ (v12 = 0) & in(v9, v10) = v12)) & ! [v9] : ! [v10] : ! [v11] : (v11 = 0 | ~ (subset(v9, v10) = v11) | ? [v12] : ? [v13] : ( ~ (v13 = 0) & in(v12, v10) = v13 & in(v12, v9) = 0)) & ! [v9] : ! [v10] : ! [v11] : (v10 = v9 | ~ (powerset(v11) = v10) | ~ (powerset(v11) = v9)) & ! [v9] : ! [v10] : ! [v11] : (v10 = v9 | ~ (empty(v11) = v10) | ~ (empty(v11) = v9)) & ! [v9] : ! [v10] : ! [v11] : (v10 = v9 | ~ (singleton(v11) = v10) | ~ (singleton(v11) = v9)) & ! [v9] : ! [v10] : ! [v11] : (v10 = v9 | ~ (relation_rng(v11) = v10) | ~ (relation_rng(v11) = v9)) & ! [v9] : ! [v10] : ! [v11] : (v10 = v9 | ~ (relation_dom(v11) = v10) | ~ (relation_dom(v11) = v9)) & ! [v9] : ! [v10] : ! [v11] : (v10 = v9 | ~ (relation(v11) = v10) | ~ (relation(v11) = v9)) & ! [v9] : ! [v10] : ! [v11] : ( ~ (cartesian_product2(v9, v10) = v11) | ? [v12] : ? [v13] : ? [v14] : (empty(v11) = v14 & empty(v10) = v13 & empty(v9) = v12 & ( ~ (v14 = 0) | v13 = 0 | v12 = 0))) & ! [v9] : ! [v10] : ! [v11] : ( ~ (powerset(v10) = v11) | ~ (element(v9, v11) = 0) | subset(v9, v10) = 0) & ! [v9] : ! [v10] : ! [v11] : ( ~ (relation_rng(v9) = v10) | ~ (in(v11, v10) = 0) | ? [v12] : ? [v13] : ? [v14] : ((v14 = 0 & ordered_pair(v12, v11) = v13 & in(v13, v9) = 0) | ( ~ (v12 = 0) & relation(v9) = v12))) & ! [v9] : ! [v10] : ! [v11] : ( ~ (relation_dom(v9) = v10) | ~ (in(v11, v10) = 0) | ? [v12] : ? [v13] : ? [v14] : ((v14 = 0 & ordered_pair(v11, v12) = v13 & in(v13, v9) = 0) | ( ~ (v12 = 0) & relation(v9) = v12))) & ! [v9] : ! [v10] : ! [v11] : ( ~ (subset(v9, v10) = 0) | ~ (in(v11, v9) = 0) | in(v11, v10) = 0) & ! [v9] : ! [v10] : ! [v11] : ( ~ (ordered_pair(v9, v10) = v11) | ? [v12] : ( ~ (v12 = 0) & empty(v11) = v12)) & ! [v9] : ! [v10] : ! [v11] : ( ~ (unordered_pair(v9, v10) = v11) | unordered_pair(v10, v9) = v11) & ! [v9] : ! [v10] : ! [v11] : ( ~ (unordered_pair(v9, v10) = v11) | ? [v12] : ( ~ (v12 = 0) & empty(v11) = v12)) & ? [v9] : ! [v10] : ! [v11] : (v11 = v9 | ~ (relation_rng(v10) = v11) | ? [v12] : ? [v13] : ? [v14] : ? [v15] : ? [v16] : (( ~ (v12 = 0) & relation(v10) = v12) | (in(v12, v9) = v13 & ( ~ (v13 = 0) | ! [v17] : ! [v18] : ( ~ (ordered_pair(v17, v12) = v18) | ~ (in(v18, v10) = 0))) & (v13 = 0 | (v16 = 0 & ordered_pair(v14, v12) = v15 & in(v15, v10) = 0))))) & ? [v9] : ! [v10] : ! [v11] : (v11 = v9 | ~ (relation_dom(v10) = v11) | ? [v12] : ? [v13] : ? [v14] : ? [v15] : ? [v16] : (( ~ (v12 = 0) & relation(v10) = v12) | (in(v12, v9) = v13 & ( ~ (v13 = 0) | ! [v17] : ! [v18] : ( ~ (ordered_pair(v12, v17) = v18) | ~ (in(v18, v10) = 0))) & (v13 = 0 | (v16 = 0 & ordered_pair(v12, v14) = v15 & in(v15, v10) = 0))))) & ! [v9] : ! [v10] : (v10 = v9 | ~ (empty(v10) = 0) | ~ (empty(v9) = 0)) & ! [v9] : ! [v10] : (v10 = 0 | ~ (subset(v9, v9) = v10)) & ! [v9] : ! [v10] : (v10 = 0 | ~ (relation(v9) = v10) | ? [v11] : (in(v11, v9) = 0 & ! [v12] : ! [v13] : ~ (ordered_pair(v12, v13) = v11))) & ! [v9] : ! [v10] : ( ~ (powerset(v9) = v10) | ? [v11] : ? [v12] : ? [v13] : ((v12 = 0 & ~ (v13 = 0) & empty(v11) = v13 & element(v11, v10) = 0) | (v11 = 0 & empty(v9) = 0))) & ! [v9] : ! [v10] : ( ~ (powerset(v9) = v10) | ? [v11] : ( ~ (v11 = 0) & empty(v10) = v11)) & ! [v9] : ! [v10] : ( ~ (powerset(v9) = v10) | ? [v11] : (empty(v11) = 0 & element(v11, v10) = 0)) & ! [v9] : ! [v10] : ( ~ (element(v9, v10) = 0) | ? [v11] : ? [v12] : (empty(v10) = v11 & in(v9, v10) = v12 & (v12 = 0 | v11 = 0))) & ! [v9] : ! [v10] : ( ~ (singleton(v9) = v10) | ? [v11] : ( ~ (v11 = 0) & empty(v10) = v11)) & ! [v9] : ! [v10] : ( ~ (relation(v9) = 0) | ~ (in(v10, v9) = 0) | ? [v11] : ? [v12] : ordered_pair(v11, v12) = v10) & ! [v9] : ! [v10] : ( ~ (in(v9, v10) = 0) | ? [v11] : ( ~ (v11 = 0) & empty(v10) = v11)) & ! [v9] : ! [v10] : ( ~ (in(v9, v10) = 0) | ? [v11] : ( ~ (v11 = 0) & in(v10, v9) = v11)) & ! [v9] : (v9 = empty_set | ~ (empty(v9) = 0)) & ? [v9] : ? [v10] : element(v10, v9) = 0)
% 6.98/2.29 | Instantiating (0) with all_0_0_0, all_0_1_1, all_0_2_2, all_0_3_3, all_0_4_4, all_0_5_5, all_0_6_6, all_0_7_7, all_0_8_8 yields:
% 6.98/2.29 | (1) ~ (all_0_2_2 = 0) & ~ (all_0_4_4 = 0) & cartesian_product2(all_0_7_7, all_0_6_6) = all_0_5_5 & empty(all_0_0_0) = 0 & empty(all_0_1_1) = 0 & empty(all_0_3_3) = all_0_2_2 & empty(empty_set) = 0 & relation_rng(all_0_8_8) = all_0_6_6 & relation_dom(all_0_8_8) = all_0_7_7 & subset(all_0_8_8, all_0_5_5) = all_0_4_4 & relation(all_0_0_0) = 0 & relation(all_0_8_8) = 0 & ! [v0] : ! [v1] : ! [v2] : ! [v3] : ! [v4] : ! [v5] : ! [v6] : (v6 = 0 | ~ (cartesian_product2(v2, v3) = v5) | ~ (ordered_pair(v0, v1) = v4) | ~ (in(v4, v5) = v6) | ? [v7] : ? [v8] : (in(v1, v3) = v8 & in(v0, v2) = v7 & ( ~ (v8 = 0) | ~ (v7 = 0)))) & ! [v0] : ! [v1] : ! [v2] : ! [v3] : ! [v4] : ! [v5] : (v3 = 0 | ~ (relation_rng(v0) = v1) | ~ (ordered_pair(v4, v2) = v5) | ~ (in(v5, v0) = 0) | ~ (in(v2, v1) = v3) | ? [v6] : ( ~ (v6 = 0) & relation(v0) = v6)) & ! [v0] : ! [v1] : ! [v2] : ! [v3] : ! [v4] : ! [v5] : (v3 = 0 | ~ (relation_dom(v0) = v1) | ~ (ordered_pair(v2, v4) = v5) | ~ (in(v5, v0) = 0) | ~ (in(v2, v1) = v3) | ? [v6] : ( ~ (v6 = 0) & relation(v0) = v6)) & ! [v0] : ! [v1] : ! [v2] : ! [v3] : ! [v4] : ! [v5] : ( ~ (cartesian_product2(v2, v3) = v5) | ~ (ordered_pair(v0, v1) = v4) | ~ (in(v4, v5) = 0) | (in(v1, v3) = 0 & in(v0, v2) = 0)) & ! [v0] : ! [v1] : ! [v2] : ! [v3] : ! [v4] : (v4 = 0 | ~ (powerset(v2) = v3) | ~ (element(v1, v3) = 0) | ~ (element(v0, v2) = v4) | ? [v5] : ( ~ (v5 = 0) & in(v0, v1) = v5)) & ! [v0] : ! [v1] : ! [v2] : ! [v3] : ! [v4] : ( ~ (singleton(v0) = v3) | ~ (unordered_pair(v2, v3) = v4) | ~ (unordered_pair(v0, v1) = v2) | ordered_pair(v0, v1) = v4) & ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v3 = 0 | ~ (powerset(v1) = v2) | ~ (element(v0, v2) = v3) | ? [v4] : ( ~ (v4 = 0) & subset(v0, v1) = v4)) & ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (cartesian_product2(v3, v2) = v1) | ~ (cartesian_product2(v3, v2) = v0)) & ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (element(v3, v2) = v1) | ~ (element(v3, v2) = v0)) & ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (subset(v3, v2) = v1) | ~ (subset(v3, v2) = v0)) & ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (ordered_pair(v3, v2) = v1) | ~ (ordered_pair(v3, v2) = v0)) & ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (unordered_pair(v3, v2) = v1) | ~ (unordered_pair(v3, v2) = v0)) & ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (in(v3, v2) = v1) | ~ (in(v3, v2) = v0)) & ! [v0] : ! [v1] : ! [v2] : ! [v3] : ( ~ (powerset(v2) = v3) | ~ (element(v1, v3) = 0) | ~ (in(v0, v1) = 0) | ? [v4] : ( ~ (v4 = 0) & empty(v2) = v4)) & ! [v0] : ! [v1] : ! [v2] : (v2 = 0 | ~ (element(v0, v1) = v2) | ? [v3] : ( ~ (v3 = 0) & in(v0, v1) = v3)) & ! [v0] : ! [v1] : ! [v2] : (v2 = 0 | ~ (subset(v0, v1) = v2) | ? [v3] : ? [v4] : ( ~ (v4 = 0) & in(v3, v1) = v4 & in(v3, v0) = 0)) & ! [v0] : ! [v1] : ! [v2] : (v1 = v0 | ~ (powerset(v2) = v1) | ~ (powerset(v2) = v0)) & ! [v0] : ! [v1] : ! [v2] : (v1 = v0 | ~ (empty(v2) = v1) | ~ (empty(v2) = v0)) & ! [v0] : ! [v1] : ! [v2] : (v1 = v0 | ~ (singleton(v2) = v1) | ~ (singleton(v2) = v0)) & ! [v0] : ! [v1] : ! [v2] : (v1 = v0 | ~ (relation_rng(v2) = v1) | ~ (relation_rng(v2) = v0)) & ! [v0] : ! [v1] : ! [v2] : (v1 = v0 | ~ (relation_dom(v2) = v1) | ~ (relation_dom(v2) = v0)) & ! [v0] : ! [v1] : ! [v2] : (v1 = v0 | ~ (relation(v2) = v1) | ~ (relation(v2) = v0)) & ! [v0] : ! [v1] : ! [v2] : ( ~ (cartesian_product2(v0, v1) = v2) | ? [v3] : ? [v4] : ? [v5] : (empty(v2) = v5 & empty(v1) = v4 & empty(v0) = v3 & ( ~ (v5 = 0) | v4 = 0 | v3 = 0))) & ! [v0] : ! [v1] : ! [v2] : ( ~ (powerset(v1) = v2) | ~ (element(v0, v2) = 0) | subset(v0, v1) = 0) & ! [v0] : ! [v1] : ! [v2] : ( ~ (relation_rng(v0) = v1) | ~ (in(v2, v1) = 0) | ? [v3] : ? [v4] : ? [v5] : ((v5 = 0 & ordered_pair(v3, v2) = v4 & in(v4, v0) = 0) | ( ~ (v3 = 0) & relation(v0) = v3))) & ! [v0] : ! [v1] : ! [v2] : ( ~ (relation_dom(v0) = v1) | ~ (in(v2, v1) = 0) | ? [v3] : ? [v4] : ? [v5] : ((v5 = 0 & ordered_pair(v2, v3) = v4 & in(v4, v0) = 0) | ( ~ (v3 = 0) & relation(v0) = v3))) & ! [v0] : ! [v1] : ! [v2] : ( ~ (subset(v0, v1) = 0) | ~ (in(v2, v0) = 0) | in(v2, v1) = 0) & ! [v0] : ! [v1] : ! [v2] : ( ~ (ordered_pair(v0, v1) = v2) | ? [v3] : ( ~ (v3 = 0) & empty(v2) = v3)) & ! [v0] : ! [v1] : ! [v2] : ( ~ (unordered_pair(v0, v1) = v2) | unordered_pair(v1, v0) = v2) & ! [v0] : ! [v1] : ! [v2] : ( ~ (unordered_pair(v0, v1) = v2) | ? [v3] : ( ~ (v3 = 0) & empty(v2) = v3)) & ? [v0] : ! [v1] : ! [v2] : (v2 = v0 | ~ (relation_rng(v1) = v2) | ? [v3] : ? [v4] : ? [v5] : ? [v6] : ? [v7] : (( ~ (v3 = 0) & relation(v1) = v3) | (in(v3, v0) = v4 & ( ~ (v4 = 0) | ! [v8] : ! [v9] : ( ~ (ordered_pair(v8, v3) = v9) | ~ (in(v9, v1) = 0))) & (v4 = 0 | (v7 = 0 & ordered_pair(v5, v3) = v6 & in(v6, v1) = 0))))) & ? [v0] : ! [v1] : ! [v2] : (v2 = v0 | ~ (relation_dom(v1) = v2) | ? [v3] : ? [v4] : ? [v5] : ? [v6] : ? [v7] : (( ~ (v3 = 0) & relation(v1) = v3) | (in(v3, v0) = v4 & ( ~ (v4 = 0) | ! [v8] : ! [v9] : ( ~ (ordered_pair(v3, v8) = v9) | ~ (in(v9, v1) = 0))) & (v4 = 0 | (v7 = 0 & ordered_pair(v3, v5) = v6 & in(v6, v1) = 0))))) & ! [v0] : ! [v1] : (v1 = v0 | ~ (empty(v1) = 0) | ~ (empty(v0) = 0)) & ! [v0] : ! [v1] : (v1 = 0 | ~ (subset(v0, v0) = v1)) & ! [v0] : ! [v1] : (v1 = 0 | ~ (relation(v0) = v1) | ? [v2] : (in(v2, v0) = 0 & ! [v3] : ! [v4] : ~ (ordered_pair(v3, v4) = v2))) & ! [v0] : ! [v1] : ( ~ (powerset(v0) = v1) | ? [v2] : ? [v3] : ? [v4] : ((v3 = 0 & ~ (v4 = 0) & empty(v2) = v4 & element(v2, v1) = 0) | (v2 = 0 & empty(v0) = 0))) & ! [v0] : ! [v1] : ( ~ (powerset(v0) = v1) | ? [v2] : ( ~ (v2 = 0) & empty(v1) = v2)) & ! [v0] : ! [v1] : ( ~ (powerset(v0) = v1) | ? [v2] : (empty(v2) = 0 & element(v2, v1) = 0)) & ! [v0] : ! [v1] : ( ~ (element(v0, v1) = 0) | ? [v2] : ? [v3] : (empty(v1) = v2 & in(v0, v1) = v3 & (v3 = 0 | v2 = 0))) & ! [v0] : ! [v1] : ( ~ (singleton(v0) = v1) | ? [v2] : ( ~ (v2 = 0) & empty(v1) = v2)) & ! [v0] : ! [v1] : ( ~ (relation(v0) = 0) | ~ (in(v1, v0) = 0) | ? [v2] : ? [v3] : ordered_pair(v2, v3) = v1) & ! [v0] : ! [v1] : ( ~ (in(v0, v1) = 0) | ? [v2] : ( ~ (v2 = 0) & empty(v1) = v2)) & ! [v0] : ! [v1] : ( ~ (in(v0, v1) = 0) | ? [v2] : ( ~ (v2 = 0) & in(v1, v0) = v2)) & ! [v0] : (v0 = empty_set | ~ (empty(v0) = 0)) & ? [v0] : ? [v1] : element(v1, v0) = 0
% 6.98/2.30 |
% 6.98/2.30 | Applying alpha-rule on (1) yields:
% 6.98/2.30 | (2) empty(all_0_3_3) = all_0_2_2
% 6.98/2.30 | (3) ! [v0] : ! [v1] : ! [v2] : ( ~ (relation_dom(v0) = v1) | ~ (in(v2, v1) = 0) | ? [v3] : ? [v4] : ? [v5] : ((v5 = 0 & ordered_pair(v2, v3) = v4 & in(v4, v0) = 0) | ( ~ (v3 = 0) & relation(v0) = v3)))
% 6.98/2.30 | (4) ! [v0] : ! [v1] : ! [v2] : ( ~ (relation_rng(v0) = v1) | ~ (in(v2, v1) = 0) | ? [v3] : ? [v4] : ? [v5] : ((v5 = 0 & ordered_pair(v3, v2) = v4 & in(v4, v0) = 0) | ( ~ (v3 = 0) & relation(v0) = v3)))
% 6.98/2.30 | (5) ! [v0] : ! [v1] : ! [v2] : ( ~ (cartesian_product2(v0, v1) = v2) | ? [v3] : ? [v4] : ? [v5] : (empty(v2) = v5 & empty(v1) = v4 & empty(v0) = v3 & ( ~ (v5 = 0) | v4 = 0 | v3 = 0)))
% 6.98/2.30 | (6) ! [v0] : ! [v1] : (v1 = 0 | ~ (subset(v0, v0) = v1))
% 6.98/2.31 | (7) relation_dom(all_0_8_8) = all_0_7_7
% 6.98/2.31 | (8) ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (subset(v3, v2) = v1) | ~ (subset(v3, v2) = v0))
% 6.98/2.31 | (9) ! [v0] : ! [v1] : ! [v2] : ( ~ (unordered_pair(v0, v1) = v2) | ? [v3] : ( ~ (v3 = 0) & empty(v2) = v3))
% 6.98/2.31 | (10) ! [v0] : (v0 = empty_set | ~ (empty(v0) = 0))
% 6.98/2.31 | (11) relation(all_0_8_8) = 0
% 6.98/2.31 | (12) ! [v0] : ! [v1] : ! [v2] : (v2 = 0 | ~ (element(v0, v1) = v2) | ? [v3] : ( ~ (v3 = 0) & in(v0, v1) = v3))
% 6.98/2.31 | (13) empty(empty_set) = 0
% 6.98/2.31 | (14) ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (in(v3, v2) = v1) | ~ (in(v3, v2) = v0))
% 6.98/2.31 | (15) ! [v0] : ! [v1] : ! [v2] : ( ~ (powerset(v1) = v2) | ~ (element(v0, v2) = 0) | subset(v0, v1) = 0)
% 6.98/2.31 | (16) cartesian_product2(all_0_7_7, all_0_6_6) = all_0_5_5
% 6.98/2.31 | (17) ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (cartesian_product2(v3, v2) = v1) | ~ (cartesian_product2(v3, v2) = v0))
% 6.98/2.31 | (18) subset(all_0_8_8, all_0_5_5) = all_0_4_4
% 6.98/2.31 | (19) ! [v0] : ! [v1] : ! [v2] : (v1 = v0 | ~ (empty(v2) = v1) | ~ (empty(v2) = v0))
% 6.98/2.31 | (20) ! [v0] : ! [v1] : ! [v2] : (v1 = v0 | ~ (relation(v2) = v1) | ~ (relation(v2) = v0))
% 6.98/2.31 | (21) ! [v0] : ! [v1] : ! [v2] : ( ~ (subset(v0, v1) = 0) | ~ (in(v2, v0) = 0) | in(v2, v1) = 0)
% 6.98/2.31 | (22) ! [v0] : ! [v1] : ! [v2] : (v1 = v0 | ~ (powerset(v2) = v1) | ~ (powerset(v2) = v0))
% 6.98/2.31 | (23) ! [v0] : ! [v1] : ( ~ (relation(v0) = 0) | ~ (in(v1, v0) = 0) | ? [v2] : ? [v3] : ordered_pair(v2, v3) = v1)
% 6.98/2.31 | (24) ! [v0] : ! [v1] : ! [v2] : ( ~ (unordered_pair(v0, v1) = v2) | unordered_pair(v1, v0) = v2)
% 6.98/2.31 | (25) ! [v0] : ! [v1] : ( ~ (element(v0, v1) = 0) | ? [v2] : ? [v3] : (empty(v1) = v2 & in(v0, v1) = v3 & (v3 = 0 | v2 = 0)))
% 6.98/2.31 | (26) ! [v0] : ! [v1] : ! [v2] : ! [v3] : ! [v4] : ! [v5] : (v3 = 0 | ~ (relation_dom(v0) = v1) | ~ (ordered_pair(v2, v4) = v5) | ~ (in(v5, v0) = 0) | ~ (in(v2, v1) = v3) | ? [v6] : ( ~ (v6 = 0) & relation(v0) = v6))
% 6.98/2.31 | (27) ! [v0] : ! [v1] : (v1 = 0 | ~ (relation(v0) = v1) | ? [v2] : (in(v2, v0) = 0 & ! [v3] : ! [v4] : ~ (ordered_pair(v3, v4) = v2)))
% 6.98/2.31 | (28) ! [v0] : ! [v1] : ( ~ (powerset(v0) = v1) | ? [v2] : (empty(v2) = 0 & element(v2, v1) = 0))
% 6.98/2.31 | (29) ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (unordered_pair(v3, v2) = v1) | ~ (unordered_pair(v3, v2) = v0))
% 6.98/2.31 | (30) ? [v0] : ! [v1] : ! [v2] : (v2 = v0 | ~ (relation_rng(v1) = v2) | ? [v3] : ? [v4] : ? [v5] : ? [v6] : ? [v7] : (( ~ (v3 = 0) & relation(v1) = v3) | (in(v3, v0) = v4 & ( ~ (v4 = 0) | ! [v8] : ! [v9] : ( ~ (ordered_pair(v8, v3) = v9) | ~ (in(v9, v1) = 0))) & (v4 = 0 | (v7 = 0 & ordered_pair(v5, v3) = v6 & in(v6, v1) = 0)))))
% 6.98/2.31 | (31) ! [v0] : ! [v1] : ! [v2] : ( ~ (ordered_pair(v0, v1) = v2) | ? [v3] : ( ~ (v3 = 0) & empty(v2) = v3))
% 6.98/2.31 | (32) ~ (all_0_4_4 = 0)
% 6.98/2.31 | (33) ! [v0] : ! [v1] : ! [v2] : ! [v3] : ! [v4] : (v4 = 0 | ~ (powerset(v2) = v3) | ~ (element(v1, v3) = 0) | ~ (element(v0, v2) = v4) | ? [v5] : ( ~ (v5 = 0) & in(v0, v1) = v5))
% 6.98/2.31 | (34) relation_rng(all_0_8_8) = all_0_6_6
% 6.98/2.31 | (35) ! [v0] : ! [v1] : ( ~ (in(v0, v1) = 0) | ? [v2] : ( ~ (v2 = 0) & empty(v1) = v2))
% 6.98/2.31 | (36) ! [v0] : ! [v1] : ! [v2] : ! [v3] : ( ~ (powerset(v2) = v3) | ~ (element(v1, v3) = 0) | ~ (in(v0, v1) = 0) | ? [v4] : ( ~ (v4 = 0) & empty(v2) = v4))
% 6.98/2.32 | (37) ! [v0] : ! [v1] : ! [v2] : ! [v3] : ! [v4] : ! [v5] : ! [v6] : (v6 = 0 | ~ (cartesian_product2(v2, v3) = v5) | ~ (ordered_pair(v0, v1) = v4) | ~ (in(v4, v5) = v6) | ? [v7] : ? [v8] : (in(v1, v3) = v8 & in(v0, v2) = v7 & ( ~ (v8 = 0) | ~ (v7 = 0))))
% 6.98/2.32 | (38) ! [v0] : ! [v1] : ! [v2] : ! [v3] : ! [v4] : ! [v5] : (v3 = 0 | ~ (relation_rng(v0) = v1) | ~ (ordered_pair(v4, v2) = v5) | ~ (in(v5, v0) = 0) | ~ (in(v2, v1) = v3) | ? [v6] : ( ~ (v6 = 0) & relation(v0) = v6))
% 6.98/2.32 | (39) ! [v0] : ! [v1] : ( ~ (powerset(v0) = v1) | ? [v2] : ? [v3] : ? [v4] : ((v3 = 0 & ~ (v4 = 0) & empty(v2) = v4 & element(v2, v1) = 0) | (v2 = 0 & empty(v0) = 0)))
% 6.98/2.32 | (40) ! [v0] : ! [v1] : ! [v2] : (v1 = v0 | ~ (relation_dom(v2) = v1) | ~ (relation_dom(v2) = v0))
% 6.98/2.32 | (41) ! [v0] : ! [v1] : (v1 = v0 | ~ (empty(v1) = 0) | ~ (empty(v0) = 0))
% 6.98/2.32 | (42) ! [v0] : ! [v1] : ! [v2] : ! [v3] : ! [v4] : ( ~ (singleton(v0) = v3) | ~ (unordered_pair(v2, v3) = v4) | ~ (unordered_pair(v0, v1) = v2) | ordered_pair(v0, v1) = v4)
% 6.98/2.32 | (43) empty(all_0_1_1) = 0
% 6.98/2.32 | (44) ! [v0] : ! [v1] : ! [v2] : (v1 = v0 | ~ (singleton(v2) = v1) | ~ (singleton(v2) = v0))
% 6.98/2.32 | (45) ! [v0] : ! [v1] : ! [v2] : (v2 = 0 | ~ (subset(v0, v1) = v2) | ? [v3] : ? [v4] : ( ~ (v4 = 0) & in(v3, v1) = v4 & in(v3, v0) = 0))
% 6.98/2.32 | (46) ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v3 = 0 | ~ (powerset(v1) = v2) | ~ (element(v0, v2) = v3) | ? [v4] : ( ~ (v4 = 0) & subset(v0, v1) = v4))
% 6.98/2.32 | (47) ~ (all_0_2_2 = 0)
% 6.98/2.32 | (48) ! [v0] : ! [v1] : ( ~ (in(v0, v1) = 0) | ? [v2] : ( ~ (v2 = 0) & in(v1, v0) = v2))
% 6.98/2.32 | (49) ! [v0] : ! [v1] : ( ~ (powerset(v0) = v1) | ? [v2] : ( ~ (v2 = 0) & empty(v1) = v2))
% 6.98/2.32 | (50) ! [v0] : ! [v1] : ( ~ (singleton(v0) = v1) | ? [v2] : ( ~ (v2 = 0) & empty(v1) = v2))
% 6.98/2.32 | (51) ? [v0] : ? [v1] : element(v1, v0) = 0
% 6.98/2.32 | (52) relation(all_0_0_0) = 0
% 6.98/2.32 | (53) ! [v0] : ! [v1] : ! [v2] : (v1 = v0 | ~ (relation_rng(v2) = v1) | ~ (relation_rng(v2) = v0))
% 6.98/2.32 | (54) ? [v0] : ! [v1] : ! [v2] : (v2 = v0 | ~ (relation_dom(v1) = v2) | ? [v3] : ? [v4] : ? [v5] : ? [v6] : ? [v7] : (( ~ (v3 = 0) & relation(v1) = v3) | (in(v3, v0) = v4 & ( ~ (v4 = 0) | ! [v8] : ! [v9] : ( ~ (ordered_pair(v3, v8) = v9) | ~ (in(v9, v1) = 0))) & (v4 = 0 | (v7 = 0 & ordered_pair(v3, v5) = v6 & in(v6, v1) = 0)))))
% 6.98/2.32 | (55) ! [v0] : ! [v1] : ! [v2] : ! [v3] : ! [v4] : ! [v5] : ( ~ (cartesian_product2(v2, v3) = v5) | ~ (ordered_pair(v0, v1) = v4) | ~ (in(v4, v5) = 0) | (in(v1, v3) = 0 & in(v0, v2) = 0))
% 6.98/2.32 | (56) empty(all_0_0_0) = 0
% 6.98/2.32 | (57) ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (ordered_pair(v3, v2) = v1) | ~ (ordered_pair(v3, v2) = v0))
% 6.98/2.32 | (58) ! [v0] : ! [v1] : ! [v2] : ! [v3] : (v1 = v0 | ~ (element(v3, v2) = v1) | ~ (element(v3, v2) = v0))
% 6.98/2.32 |
% 6.98/2.32 | Instantiating formula (45) with all_0_4_4, all_0_5_5, all_0_8_8 and discharging atoms subset(all_0_8_8, all_0_5_5) = all_0_4_4, yields:
% 6.98/2.32 | (59) all_0_4_4 = 0 | ? [v0] : ? [v1] : ( ~ (v1 = 0) & in(v0, all_0_5_5) = v1 & in(v0, all_0_8_8) = 0)
% 6.98/2.32 |
% 6.98/2.33 +-Applying beta-rule and splitting (59), into two cases.
% 6.98/2.33 |-Branch one:
% 6.98/2.33 | (60) all_0_4_4 = 0
% 6.98/2.33 |
% 6.98/2.33 | Equations (60) can reduce 32 to:
% 6.98/2.33 | (61) $false
% 6.98/2.33 |
% 6.98/2.33 |-The branch is then unsatisfiable
% 6.98/2.33 |-Branch two:
% 6.98/2.33 | (32) ~ (all_0_4_4 = 0)
% 6.98/2.33 | (63) ? [v0] : ? [v1] : ( ~ (v1 = 0) & in(v0, all_0_5_5) = v1 & in(v0, all_0_8_8) = 0)
% 6.98/2.33 |
% 6.98/2.33 | Instantiating (63) with all_34_0_18, all_34_1_19 yields:
% 6.98/2.33 | (64) ~ (all_34_0_18 = 0) & in(all_34_1_19, all_0_5_5) = all_34_0_18 & in(all_34_1_19, all_0_8_8) = 0
% 6.98/2.33 |
% 6.98/2.33 | Applying alpha-rule on (64) yields:
% 6.98/2.33 | (65) ~ (all_34_0_18 = 0)
% 6.98/2.33 | (66) in(all_34_1_19, all_0_5_5) = all_34_0_18
% 6.98/2.33 | (67) in(all_34_1_19, all_0_8_8) = 0
% 6.98/2.33 |
% 6.98/2.33 | Instantiating formula (23) with all_34_1_19, all_0_8_8 and discharging atoms relation(all_0_8_8) = 0, in(all_34_1_19, all_0_8_8) = 0, yields:
% 6.98/2.33 | (68) ? [v0] : ? [v1] : ordered_pair(v0, v1) = all_34_1_19
% 6.98/2.33 |
% 6.98/2.33 | Instantiating (68) with all_45_0_22, all_45_1_23 yields:
% 6.98/2.33 | (69) ordered_pair(all_45_1_23, all_45_0_22) = all_34_1_19
% 6.98/2.33 |
% 6.98/2.33 | Instantiating formula (37) with all_34_0_18, all_0_5_5, all_34_1_19, all_0_6_6, all_0_7_7, all_45_0_22, all_45_1_23 and discharging atoms cartesian_product2(all_0_7_7, all_0_6_6) = all_0_5_5, ordered_pair(all_45_1_23, all_45_0_22) = all_34_1_19, in(all_34_1_19, all_0_5_5) = all_34_0_18, yields:
% 6.98/2.33 | (70) all_34_0_18 = 0 | ? [v0] : ? [v1] : (in(all_45_0_22, all_0_6_6) = v1 & in(all_45_1_23, all_0_7_7) = v0 & ( ~ (v1 = 0) | ~ (v0 = 0)))
% 6.98/2.33 |
% 6.98/2.33 +-Applying beta-rule and splitting (70), into two cases.
% 6.98/2.33 |-Branch one:
% 6.98/2.33 | (71) all_34_0_18 = 0
% 6.98/2.33 |
% 6.98/2.33 | Equations (71) can reduce 65 to:
% 6.98/2.33 | (61) $false
% 6.98/2.33 |
% 6.98/2.33 |-The branch is then unsatisfiable
% 6.98/2.33 |-Branch two:
% 6.98/2.33 | (65) ~ (all_34_0_18 = 0)
% 6.98/2.33 | (74) ? [v0] : ? [v1] : (in(all_45_0_22, all_0_6_6) = v1 & in(all_45_1_23, all_0_7_7) = v0 & ( ~ (v1 = 0) | ~ (v0 = 0)))
% 6.98/2.33 |
% 6.98/2.33 | Instantiating (74) with all_58_0_25, all_58_1_26 yields:
% 6.98/2.33 | (75) in(all_45_0_22, all_0_6_6) = all_58_0_25 & in(all_45_1_23, all_0_7_7) = all_58_1_26 & ( ~ (all_58_0_25 = 0) | ~ (all_58_1_26 = 0))
% 6.98/2.33 |
% 6.98/2.33 | Applying alpha-rule on (75) yields:
% 6.98/2.33 | (76) in(all_45_0_22, all_0_6_6) = all_58_0_25
% 6.98/2.33 | (77) in(all_45_1_23, all_0_7_7) = all_58_1_26
% 6.98/2.33 | (78) ~ (all_58_0_25 = 0) | ~ (all_58_1_26 = 0)
% 6.98/2.33 |
% 6.98/2.33 | Instantiating formula (38) with all_34_1_19, all_45_1_23, all_58_0_25, all_45_0_22, all_0_6_6, all_0_8_8 and discharging atoms relation_rng(all_0_8_8) = all_0_6_6, ordered_pair(all_45_1_23, all_45_0_22) = all_34_1_19, in(all_45_0_22, all_0_6_6) = all_58_0_25, in(all_34_1_19, all_0_8_8) = 0, yields:
% 6.98/2.33 | (79) all_58_0_25 = 0 | ? [v0] : ( ~ (v0 = 0) & relation(all_0_8_8) = v0)
% 6.98/2.33 |
% 6.98/2.33 | Instantiating formula (26) with all_34_1_19, all_45_0_22, all_58_1_26, all_45_1_23, all_0_7_7, all_0_8_8 and discharging atoms relation_dom(all_0_8_8) = all_0_7_7, ordered_pair(all_45_1_23, all_45_0_22) = all_34_1_19, in(all_45_1_23, all_0_7_7) = all_58_1_26, in(all_34_1_19, all_0_8_8) = 0, yields:
% 6.98/2.33 | (80) all_58_1_26 = 0 | ? [v0] : ( ~ (v0 = 0) & relation(all_0_8_8) = v0)
% 6.98/2.33 |
% 6.98/2.33 +-Applying beta-rule and splitting (80), into two cases.
% 6.98/2.33 |-Branch one:
% 6.98/2.33 | (81) all_58_1_26 = 0
% 6.98/2.33 |
% 6.98/2.33 +-Applying beta-rule and splitting (78), into two cases.
% 6.98/2.33 |-Branch one:
% 6.98/2.33 | (82) ~ (all_58_0_25 = 0)
% 6.98/2.33 |
% 6.98/2.33 +-Applying beta-rule and splitting (79), into two cases.
% 6.98/2.33 |-Branch one:
% 6.98/2.33 | (83) all_58_0_25 = 0
% 6.98/2.33 |
% 6.98/2.33 | Equations (83) can reduce 82 to:
% 6.98/2.33 | (61) $false
% 6.98/2.33 |
% 6.98/2.33 |-The branch is then unsatisfiable
% 6.98/2.33 |-Branch two:
% 6.98/2.33 | (82) ~ (all_58_0_25 = 0)
% 6.98/2.33 | (86) ? [v0] : ( ~ (v0 = 0) & relation(all_0_8_8) = v0)
% 6.98/2.33 |
% 6.98/2.33 | Instantiating (86) with all_98_0_32 yields:
% 6.98/2.33 | (87) ~ (all_98_0_32 = 0) & relation(all_0_8_8) = all_98_0_32
% 6.98/2.33 |
% 6.98/2.33 | Applying alpha-rule on (87) yields:
% 6.98/2.33 | (88) ~ (all_98_0_32 = 0)
% 6.98/2.33 | (89) relation(all_0_8_8) = all_98_0_32
% 6.98/2.33 |
% 6.98/2.33 | Instantiating formula (20) with all_0_8_8, all_98_0_32, 0 and discharging atoms relation(all_0_8_8) = all_98_0_32, relation(all_0_8_8) = 0, yields:
% 6.98/2.33 | (90) all_98_0_32 = 0
% 6.98/2.33 |
% 6.98/2.33 | Equations (90) can reduce 88 to:
% 6.98/2.33 | (61) $false
% 6.98/2.33 |
% 6.98/2.33 |-The branch is then unsatisfiable
% 6.98/2.33 |-Branch two:
% 6.98/2.33 | (83) all_58_0_25 = 0
% 6.98/2.34 | (93) ~ (all_58_1_26 = 0)
% 6.98/2.34 |
% 6.98/2.34 | Equations (81) can reduce 93 to:
% 6.98/2.34 | (61) $false
% 6.98/2.34 |
% 6.98/2.34 |-The branch is then unsatisfiable
% 6.98/2.34 |-Branch two:
% 6.98/2.34 | (93) ~ (all_58_1_26 = 0)
% 6.98/2.34 | (86) ? [v0] : ( ~ (v0 = 0) & relation(all_0_8_8) = v0)
% 6.98/2.34 |
% 6.98/2.34 | Instantiating (86) with all_71_0_33 yields:
% 6.98/2.34 | (97) ~ (all_71_0_33 = 0) & relation(all_0_8_8) = all_71_0_33
% 6.98/2.34 |
% 6.98/2.34 | Applying alpha-rule on (97) yields:
% 6.98/2.34 | (98) ~ (all_71_0_33 = 0)
% 6.98/2.34 | (99) relation(all_0_8_8) = all_71_0_33
% 6.98/2.34 |
% 6.98/2.34 | Instantiating formula (20) with all_0_8_8, all_71_0_33, 0 and discharging atoms relation(all_0_8_8) = all_71_0_33, relation(all_0_8_8) = 0, yields:
% 6.98/2.34 | (100) all_71_0_33 = 0
% 6.98/2.34 |
% 6.98/2.34 | Equations (100) can reduce 98 to:
% 6.98/2.34 | (61) $false
% 6.98/2.34 |
% 6.98/2.34 |-The branch is then unsatisfiable
% 6.98/2.34 % SZS output end Proof for theBenchmark
% 6.98/2.34
% 6.98/2.34 1738ms
%------------------------------------------------------------------------------