TSTP Solution File: SEU039+1 by Princess---230619
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : Princess---230619
% Problem : SEU039+1 : TPTP v8.1.2. Released v3.2.0.
% Transfm : none
% Format : tptp
% Command : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s
% Computer : n031.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 : 300s
% DateTime : Thu Aug 31 17:42:22 EDT 2023
% Result : Theorem 18.03s 3.18s
% Output : Proof 18.50s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.13 % Problem : SEU039+1 : TPTP v8.1.2. Released v3.2.0.
% 0.13/0.14 % Command : princess -inputFormat=tptp +threads -portfolio=casc +printProof -timeoutSec=%d %s
% 0.13/0.35 % Computer : n031.cluster.edu
% 0.13/0.35 % Model : x86_64 x86_64
% 0.13/0.35 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.35 % Memory : 8042.1875MB
% 0.13/0.35 % OS : Linux 3.10.0-693.el7.x86_64
% 0.13/0.35 % CPULimit : 300
% 0.13/0.35 % WCLimit : 300
% 0.13/0.35 % DateTime : Thu Aug 24 01:58:05 EDT 2023
% 0.20/0.35 % CPUTime :
% 0.20/0.63 ________ _____
% 0.20/0.63 ___ __ \_________(_)________________________________
% 0.20/0.63 __ /_/ /_ ___/_ /__ __ \ ___/ _ \_ ___/_ ___/
% 0.20/0.63 _ ____/_ / _ / _ / / / /__ / __/(__ )_(__ )
% 0.20/0.63 /_/ /_/ /_/ /_/ /_/\___/ \___//____/ /____/
% 0.20/0.63
% 0.20/0.63 A Theorem Prover for First-Order Logic modulo Linear Integer Arithmetic
% 0.20/0.63 (2023-06-19)
% 0.20/0.63
% 0.20/0.63 (c) Philipp Rümmer, 2009-2023
% 0.20/0.63 Contributors: Peter Backeman, Peter Baumgartner, Angelo Brillout, Zafer Esen,
% 0.20/0.63 Amanda Stjerna.
% 0.20/0.63 Free software under BSD-3-Clause.
% 0.20/0.63
% 0.20/0.63 For more information, visit http://www.philipp.ruemmer.org/princess.shtml
% 0.20/0.63
% 0.20/0.63 Loading /export/starexec/sandbox/benchmark/theBenchmark.p ...
% 0.20/0.64 Running up to 7 provers in parallel.
% 0.20/0.66 Prover 0: Options: +triggersInConjecture +genTotalityAxioms +tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1042961893
% 0.20/0.66 Prover 1: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-1571432423
% 0.20/0.66 Prover 2: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMinimalAndEmpty -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1065072994
% 0.20/0.66 Prover 3: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=1922548996
% 0.20/0.66 Prover 5: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allMaximal -realRatSaturationRounds=1 -ignoreQuantifiers -constructProofs=never -generateTriggers=complete -randomSeed=1259561288
% 0.20/0.66 Prover 4: Options: +triggersInConjecture -genTotalityAxioms -tightFunctionScopes -clausifier=simple -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=1868514696
% 0.20/0.66 Prover 6: Options: -triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=none +reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximalOutermost -realRatSaturationRounds=0 -ignoreQuantifiers -constructProofs=never -generateTriggers=all -randomSeed=-1399714365
% 2.73/1.14 Prover 4: Preprocessing ...
% 2.73/1.14 Prover 1: Preprocessing ...
% 3.34/1.18 Prover 6: Preprocessing ...
% 3.34/1.18 Prover 5: Preprocessing ...
% 3.34/1.18 Prover 3: Preprocessing ...
% 3.34/1.18 Prover 2: Preprocessing ...
% 3.34/1.18 Prover 0: Preprocessing ...
% 6.56/1.67 Prover 1: Warning: ignoring some quantifiers
% 7.10/1.74 Prover 1: Constructing countermodel ...
% 7.67/1.77 Prover 3: Warning: ignoring some quantifiers
% 7.67/1.77 Prover 5: Proving ...
% 7.70/1.80 Prover 3: Constructing countermodel ...
% 7.90/1.80 Prover 6: Proving ...
% 8.59/1.92 Prover 2: Proving ...
% 10.59/2.18 Prover 4: Warning: ignoring some quantifiers
% 11.01/2.24 Prover 4: Constructing countermodel ...
% 11.01/2.30 Prover 0: Proving ...
% 13.07/2.50 Prover 3: gave up
% 13.07/2.50 Prover 7: Options: +triggersInConjecture -genTotalityAxioms +tightFunctionScopes -clausifier=simple +reverseFunctionalityPropagation +boolFunsAsPreds -triggerStrategy=allUni -realRatSaturationRounds=1 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-236303470
% 13.07/2.54 Prover 7: Preprocessing ...
% 14.09/2.69 Prover 7: Warning: ignoring some quantifiers
% 14.09/2.70 Prover 7: Constructing countermodel ...
% 17.04/3.05 Prover 1: gave up
% 17.04/3.05 Prover 8: Options: +triggersInConjecture +genTotalityAxioms -tightFunctionScopes -clausifier=none -reverseFunctionalityPropagation -boolFunsAsPreds -triggerStrategy=maximal -realRatSaturationRounds=0 +ignoreQuantifiers -constructProofs=always -generateTriggers=all -randomSeed=-200781089
% 17.56/3.09 Prover 8: Preprocessing ...
% 17.56/3.09 Prover 7: Found proof (size 39)
% 17.56/3.09 Prover 7: proved (590ms)
% 17.56/3.09 Prover 2: stopped
% 17.56/3.09 Prover 5: stopped
% 17.56/3.10 Prover 0: stopped
% 17.56/3.10 Prover 4: stopped
% 17.56/3.10 Prover 6: stopped
% 18.03/3.17 Prover 8: Warning: ignoring some quantifiers
% 18.03/3.18 Prover 8: Constructing countermodel ...
% 18.03/3.18 Prover 8: stopped
% 18.03/3.18
% 18.03/3.18 % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p
% 18.03/3.18
% 18.03/3.19 % SZS output start Proof for theBenchmark
% 18.03/3.20 Assumptions after simplification:
% 18.03/3.20 ---------------------------------
% 18.03/3.20
% 18.03/3.20 (d3_xboole_0)
% 18.03/3.23 ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : ( ~
% 18.03/3.23 (set_intersection2(v0, v1) = v2) | ~ $i(v3) | ~ $i(v2) | ~ $i(v1) | ~
% 18.03/3.23 $i(v0) | ~ in(v3, v2) | in(v3, v1)) & ! [v0: $i] : ! [v1: $i] : ! [v2:
% 18.03/3.23 $i] : ! [v3: $i] : ( ~ (set_intersection2(v0, v1) = v2) | ~ $i(v3) | ~
% 18.03/3.23 $i(v2) | ~ $i(v1) | ~ $i(v0) | ~ in(v3, v2) | in(v3, v0)) & ! [v0: $i] :
% 18.03/3.23 ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : ( ~ (set_intersection2(v0, v1) = v2)
% 18.03/3.23 | ~ $i(v3) | ~ $i(v2) | ~ $i(v1) | ~ $i(v0) | ~ in(v3, v1) | ~ in(v3,
% 18.03/3.23 v0) | in(v3, v2)) & ? [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i]
% 18.03/3.23 : (v3 = v0 | ~ (set_intersection2(v1, v2) = v3) | ~ $i(v2) | ~ $i(v1) | ~
% 18.03/3.23 $i(v0) | ? [v4: $i] : ($i(v4) & ( ~ in(v4, v2) | ~ in(v4, v1) | ~ in(v4,
% 18.03/3.23 v0)) & (in(v4, v0) | (in(v4, v2) & in(v4, v1)))))
% 18.03/3.23
% 18.03/3.23 (d5_funct_1)
% 18.03/3.23 ! [v0: $i] : ! [v1: $i] : ( ~ (relation_rng(v0) = v1) | ~ $i(v0) | ~
% 18.03/3.23 relation(v0) | ~ function(v0) | ? [v2: $i] : (relation_dom(v0) = v2 &
% 18.03/3.23 $i(v2) & ! [v3: $i] : ! [v4: $i] : ( ~ (apply(v0, v4) = v3) | ~ $i(v4)
% 18.03/3.23 | ~ $i(v3) | ~ $i(v1) | ~ in(v4, v2) | in(v3, v1)) & ! [v3: $i] : (
% 18.03/3.23 ~ $i(v3) | ~ $i(v1) | ~ in(v3, v1) | ? [v4: $i] : (apply(v0, v4) = v3
% 18.03/3.23 & $i(v4) & in(v4, v2))) & ? [v3: $i] : (v3 = v1 | ~ $i(v3) | ? [v4:
% 18.03/3.23 $i] : ? [v5: $i] : ? [v6: $i] : ($i(v5) & $i(v4) & ( ~ in(v4, v3) |
% 18.03/3.23 ! [v7: $i] : ( ~ (apply(v0, v7) = v4) | ~ $i(v7) | ~ in(v7, v2)))
% 18.03/3.23 & (in(v4, v3) | (v6 = v4 & apply(v0, v5) = v4 & in(v5, v2))))))) & !
% 18.03/3.23 [v0: $i] : ! [v1: $i] : ( ~ (relation_dom(v0) = v1) | ~ $i(v0) | ~
% 18.03/3.23 relation(v0) | ~ function(v0) | ? [v2: $i] : (relation_rng(v0) = v2 &
% 18.03/3.23 $i(v2) & ! [v3: $i] : ! [v4: $i] : ( ~ (apply(v0, v4) = v3) | ~ $i(v4)
% 18.03/3.23 | ~ $i(v3) | ~ in(v4, v1) | in(v3, v2)) & ! [v3: $i] : ( ~ $i(v3) |
% 18.03/3.23 ~ in(v3, v2) | ? [v4: $i] : (apply(v0, v4) = v3 & $i(v4) & in(v4, v1)))
% 18.03/3.23 & ? [v3: $i] : (v3 = v2 | ~ $i(v3) | ? [v4: $i] : ? [v5: $i] : ? [v6:
% 18.03/3.23 $i] : ($i(v5) & $i(v4) & ( ~ in(v4, v3) | ! [v7: $i] : ( ~ (apply(v0,
% 18.03/3.23 v7) = v4) | ~ $i(v7) | ~ in(v7, v1))) & (in(v4, v3) | (v6 =
% 18.03/3.23 v4 & apply(v0, v5) = v4 & in(v5, v1)))))))
% 18.03/3.23
% 18.03/3.23 (dt_k7_relat_1)
% 18.03/3.23 ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ( ~ (relation_dom_restriction(v0,
% 18.03/3.23 v1) = v2) | ~ $i(v1) | ~ $i(v0) | ~ relation(v0) | relation(v2))
% 18.03/3.23
% 18.03/3.23 (fc4_funct_1)
% 18.03/3.23 ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ( ~ (relation_dom_restriction(v0,
% 18.03/3.23 v1) = v2) | ~ $i(v1) | ~ $i(v0) | ~ relation(v0) | ~ function(v0) |
% 18.03/3.23 relation(v2)) & ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ( ~
% 18.03/3.23 (relation_dom_restriction(v0, v1) = v2) | ~ $i(v1) | ~ $i(v0) | ~
% 18.03/3.23 relation(v0) | ~ function(v0) | function(v2))
% 18.03/3.23
% 18.03/3.23 (t68_funct_1)
% 18.03/3.24 ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : ! [v4: $i] : ( ~
% 18.03/3.24 (relation_dom_restriction(v3, v0) = v4) | ~ (relation_dom(v1) = v2) | ~
% 18.03/3.24 $i(v3) | ~ $i(v1) | ~ $i(v0) | ~ relation(v3) | ~ relation(v1) | ~
% 18.03/3.24 function(v3) | ~ function(v1) | ? [v5: $i] : ? [v6: $i] : ? [v7: $i] :
% 18.03/3.24 ? [v8: $i] : ? [v9: $i] : ($i(v7) & ( ~ (v4 = v1) | (v6 = v2 &
% 18.03/3.24 relation_dom(v3) = v5 & set_intersection2(v5, v0) = v2 & $i(v5) &
% 18.03/3.24 $i(v2) & ! [v10: $i] : ! [v11: $i] : ( ~ (apply(v3, v10) = v11) | ~
% 18.03/3.24 $i(v10) | ~ in(v10, v2) | (apply(v1, v10) = v11 & $i(v11))) & !
% 18.03/3.24 [v10: $i] : ! [v11: $i] : ( ~ (apply(v1, v10) = v11) | ~ $i(v10) |
% 18.03/3.24 ~ in(v10, v2) | (apply(v3, v10) = v11 & $i(v11))))) & (v4 = v1 | ( ~
% 18.03/3.24 (v9 = v8) & apply(v3, v7) = v9 & apply(v1, v7) = v8 & $i(v9) & $i(v8)
% 18.03/3.24 & in(v7, v2)) | ( ~ (v6 = v2) & relation_dom(v3) = v5 &
% 18.03/3.24 set_intersection2(v5, v0) = v6 & $i(v6) & $i(v5))))) & ? [v0: $i] :
% 18.03/3.24 ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : ! [v4: $i] : ( ~ (relation_dom(v3) =
% 18.03/3.24 v4) | ~ (relation_dom(v1) = v2) | ~ $i(v3) | ~ $i(v1) | ~ $i(v0) | ~
% 18.03/3.24 relation(v3) | ~ relation(v1) | ~ function(v3) | ~ function(v1) | ? [v5:
% 18.03/3.24 $i] : ? [v6: $i] : ? [v7: $i] : ? [v8: $i] : ? [v9: $i] : ($i(v7) &
% 18.03/3.24 ((v6 = v2 & set_intersection2(v4, v0) = v2 & $i(v2) & ! [v10: $i] : !
% 18.03/3.24 [v11: $i] : ( ~ (apply(v3, v10) = v11) | ~ $i(v10) | ~ in(v10, v2) |
% 18.03/3.24 (apply(v1, v10) = v11 & $i(v11))) & ! [v10: $i] : ! [v11: $i] : (
% 18.03/3.24 ~ (apply(v1, v10) = v11) | ~ $i(v10) | ~ in(v10, v2) | (apply(v3,
% 18.03/3.24 v10) = v11 & $i(v11)))) | ( ~ (v5 = v1) &
% 18.03/3.24 relation_dom_restriction(v3, v0) = v5 & $i(v5))) & ((v5 = v1 &
% 18.03/3.24 relation_dom_restriction(v3, v0) = v1) | ( ~ (v9 = v8) & apply(v3, v7)
% 18.03/3.24 = v9 & apply(v1, v7) = v8 & $i(v9) & $i(v8) & in(v7, v2)) | ( ~ (v6 =
% 18.03/3.24 v2) & set_intersection2(v4, v0) = v6 & $i(v6)))))
% 18.03/3.24
% 18.03/3.24 (t73_funct_1)
% 18.03/3.24 ? [v0: $i] : ? [v1: $i] : ? [v2: $i] : ? [v3: $i] : ? [v4: $i] : ? [v5:
% 18.03/3.24 $i] : ? [v6: $i] : (relation_dom_restriction(v2, v0) = v5 &
% 18.03/3.24 relation_rng(v5) = v6 & relation_dom(v2) = v3 & apply(v2, v1) = v4 & $i(v6)
% 18.03/3.24 & $i(v5) & $i(v4) & $i(v3) & $i(v2) & $i(v1) & $i(v0) & relation(v2) &
% 18.03/3.24 function(v2) & in(v1, v3) & in(v1, v0) & ~ in(v4, v6))
% 18.03/3.24
% 18.03/3.24 (function-axioms)
% 18.03/3.24 ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : (v1 = v0 | ~
% 18.03/3.24 (relation_dom_restriction(v3, v2) = v1) | ~ (relation_dom_restriction(v3,
% 18.03/3.24 v2) = v0)) & ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : (v1
% 18.03/3.24 = v0 | ~ (apply(v3, v2) = v1) | ~ (apply(v3, v2) = v0)) & ! [v0: $i] : !
% 18.03/3.24 [v1: $i] : ! [v2: $i] : ! [v3: $i] : (v1 = v0 | ~ (set_intersection2(v3,
% 18.03/3.24 v2) = v1) | ~ (set_intersection2(v3, v2) = v0)) & ! [v0: $i] : ! [v1:
% 18.03/3.24 $i] : ! [v2: $i] : (v1 = v0 | ~ (powerset(v2) = v1) | ~ (powerset(v2) =
% 18.03/3.24 v0)) & ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : (v1 = v0 | ~
% 18.03/3.24 (relation_rng(v2) = v1) | ~ (relation_rng(v2) = v0)) & ! [v0: $i] : !
% 18.03/3.24 [v1: $i] : ! [v2: $i] : (v1 = v0 | ~ (relation_dom(v2) = v1) | ~
% 18.03/3.24 (relation_dom(v2) = v0))
% 18.03/3.24
% 18.03/3.24 Further assumptions not needed in the proof:
% 18.03/3.24 --------------------------------------------
% 18.03/3.24 antisymmetry_r2_hidden, cc1_funct_1, cc1_relat_1, cc2_funct_1,
% 18.03/3.24 commutativity_k3_xboole_0, existence_m1_subset_1, fc12_relat_1, fc13_relat_1,
% 18.03/3.24 fc1_relat_1, fc1_subset_1, fc1_xboole_0, fc4_relat_1, fc5_relat_1, fc6_relat_1,
% 18.03/3.24 fc7_relat_1, fc8_relat_1, idempotence_k3_xboole_0, rc1_funct_1, rc1_relat_1,
% 18.03/3.24 rc1_subset_1, rc1_xboole_0, rc2_funct_1, rc2_relat_1, rc2_subset_1,
% 18.03/3.24 rc2_xboole_0, rc3_funct_1, rc3_relat_1, reflexivity_r1_tarski, t1_subset,
% 18.03/3.24 t2_boole, t2_subset, t3_subset, t4_subset, t5_subset, t6_boole, t72_funct_1,
% 18.03/3.24 t7_boole, t8_boole
% 18.03/3.24
% 18.03/3.24 Those formulas are unsatisfiable:
% 18.03/3.24 ---------------------------------
% 18.03/3.24
% 18.03/3.24 Begin of proof
% 18.03/3.24 |
% 18.03/3.25 | ALPHA: (d3_xboole_0) implies:
% 18.03/3.25 | (1) ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : ( ~
% 18.03/3.25 | (set_intersection2(v0, v1) = v2) | ~ $i(v3) | ~ $i(v2) | ~ $i(v1)
% 18.03/3.25 | | ~ $i(v0) | ~ in(v3, v1) | ~ in(v3, v0) | in(v3, v2))
% 18.03/3.25 |
% 18.03/3.25 | ALPHA: (d5_funct_1) implies:
% 18.03/3.25 | (2) ! [v0: $i] : ! [v1: $i] : ( ~ (relation_dom(v0) = v1) | ~ $i(v0) |
% 18.03/3.25 | ~ relation(v0) | ~ function(v0) | ? [v2: $i] : (relation_rng(v0) =
% 18.03/3.25 | v2 & $i(v2) & ! [v3: $i] : ! [v4: $i] : ( ~ (apply(v0, v4) = v3)
% 18.03/3.25 | | ~ $i(v4) | ~ $i(v3) | ~ in(v4, v1) | in(v3, v2)) & ! [v3:
% 18.03/3.25 | $i] : ( ~ $i(v3) | ~ in(v3, v2) | ? [v4: $i] : (apply(v0, v4) =
% 18.03/3.25 | v3 & $i(v4) & in(v4, v1))) & ? [v3: $i] : (v3 = v2 | ~ $i(v3)
% 18.03/3.25 | | ? [v4: $i] : ? [v5: $i] : ? [v6: $i] : ($i(v5) & $i(v4) & (
% 18.03/3.25 | ~ in(v4, v3) | ! [v7: $i] : ( ~ (apply(v0, v7) = v4) | ~
% 18.03/3.25 | $i(v7) | ~ in(v7, v1))) & (in(v4, v3) | (v6 = v4 &
% 18.03/3.25 | apply(v0, v5) = v4 & in(v5, v1)))))))
% 18.03/3.25 | (3) ! [v0: $i] : ! [v1: $i] : ( ~ (relation_rng(v0) = v1) | ~ $i(v0) |
% 18.03/3.25 | ~ relation(v0) | ~ function(v0) | ? [v2: $i] : (relation_dom(v0) =
% 18.03/3.25 | v2 & $i(v2) & ! [v3: $i] : ! [v4: $i] : ( ~ (apply(v0, v4) = v3)
% 18.03/3.25 | | ~ $i(v4) | ~ $i(v3) | ~ $i(v1) | ~ in(v4, v2) | in(v3, v1))
% 18.03/3.25 | & ! [v3: $i] : ( ~ $i(v3) | ~ $i(v1) | ~ in(v3, v1) | ? [v4:
% 18.03/3.25 | $i] : (apply(v0, v4) = v3 & $i(v4) & in(v4, v2))) & ? [v3: $i]
% 18.03/3.25 | : (v3 = v1 | ~ $i(v3) | ? [v4: $i] : ? [v5: $i] : ? [v6: $i] :
% 18.03/3.25 | ($i(v5) & $i(v4) & ( ~ in(v4, v3) | ! [v7: $i] : ( ~ (apply(v0,
% 18.03/3.25 | v7) = v4) | ~ $i(v7) | ~ in(v7, v2))) & (in(v4, v3) |
% 18.03/3.25 | (v6 = v4 & apply(v0, v5) = v4 & in(v5, v2)))))))
% 18.03/3.25 |
% 18.03/3.25 | ALPHA: (fc4_funct_1) implies:
% 18.03/3.25 | (4) ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ( ~
% 18.03/3.25 | (relation_dom_restriction(v0, v1) = v2) | ~ $i(v1) | ~ $i(v0) | ~
% 18.03/3.25 | relation(v0) | ~ function(v0) | function(v2))
% 18.03/3.25 |
% 18.03/3.25 | ALPHA: (t68_funct_1) implies:
% 18.03/3.25 | (5) ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : ! [v3: $i] : ! [v4: $i] : (
% 18.03/3.25 | ~ (relation_dom_restriction(v3, v0) = v4) | ~ (relation_dom(v1) =
% 18.03/3.25 | v2) | ~ $i(v3) | ~ $i(v1) | ~ $i(v0) | ~ relation(v3) | ~
% 18.03/3.25 | relation(v1) | ~ function(v3) | ~ function(v1) | ? [v5: $i] : ?
% 18.03/3.25 | [v6: $i] : ? [v7: $i] : ? [v8: $i] : ? [v9: $i] : ($i(v7) & ( ~
% 18.03/3.25 | (v4 = v1) | (v6 = v2 & relation_dom(v3) = v5 &
% 18.03/3.25 | set_intersection2(v5, v0) = v2 & $i(v5) & $i(v2) & ! [v10: $i]
% 18.03/3.25 | : ! [v11: $i] : ( ~ (apply(v3, v10) = v11) | ~ $i(v10) | ~
% 18.03/3.25 | in(v10, v2) | (apply(v1, v10) = v11 & $i(v11))) & ! [v10:
% 18.03/3.25 | $i] : ! [v11: $i] : ( ~ (apply(v1, v10) = v11) | ~ $i(v10)
% 18.03/3.25 | | ~ in(v10, v2) | (apply(v3, v10) = v11 & $i(v11))))) & (v4
% 18.03/3.25 | = v1 | ( ~ (v9 = v8) & apply(v3, v7) = v9 & apply(v1, v7) = v8 &
% 18.03/3.25 | $i(v9) & $i(v8) & in(v7, v2)) | ( ~ (v6 = v2) &
% 18.03/3.25 | relation_dom(v3) = v5 & set_intersection2(v5, v0) = v6 & $i(v6)
% 18.03/3.25 | & $i(v5)))))
% 18.03/3.25 |
% 18.03/3.25 | ALPHA: (function-axioms) implies:
% 18.03/3.26 | (6) ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : (v1 = v0 | ~
% 18.03/3.26 | (relation_dom(v2) = v1) | ~ (relation_dom(v2) = v0))
% 18.03/3.26 | (7) ! [v0: $i] : ! [v1: $i] : ! [v2: $i] : (v1 = v0 | ~
% 18.03/3.26 | (relation_rng(v2) = v1) | ~ (relation_rng(v2) = v0))
% 18.03/3.26 |
% 18.03/3.26 | DELTA: instantiating (t73_funct_1) with fresh symbols all_54_0, all_54_1,
% 18.03/3.26 | all_54_2, all_54_3, all_54_4, all_54_5, all_54_6 gives:
% 18.03/3.26 | (8) relation_dom_restriction(all_54_4, all_54_6) = all_54_1 &
% 18.03/3.26 | relation_rng(all_54_1) = all_54_0 & relation_dom(all_54_4) = all_54_3 &
% 18.03/3.26 | apply(all_54_4, all_54_5) = all_54_2 & $i(all_54_0) & $i(all_54_1) &
% 18.03/3.26 | $i(all_54_2) & $i(all_54_3) & $i(all_54_4) & $i(all_54_5) &
% 18.03/3.26 | $i(all_54_6) & relation(all_54_4) & function(all_54_4) & in(all_54_5,
% 18.03/3.26 | all_54_3) & in(all_54_5, all_54_6) & ~ in(all_54_2, all_54_0)
% 18.03/3.26 |
% 18.03/3.26 | ALPHA: (8) implies:
% 18.03/3.26 | (9) ~ in(all_54_2, all_54_0)
% 18.03/3.26 | (10) in(all_54_5, all_54_6)
% 18.03/3.26 | (11) in(all_54_5, all_54_3)
% 18.03/3.26 | (12) function(all_54_4)
% 18.03/3.26 | (13) relation(all_54_4)
% 18.03/3.26 | (14) $i(all_54_6)
% 18.03/3.26 | (15) $i(all_54_5)
% 18.03/3.26 | (16) $i(all_54_4)
% 18.03/3.26 | (17) $i(all_54_1)
% 18.03/3.26 | (18) apply(all_54_4, all_54_5) = all_54_2
% 18.03/3.26 | (19) relation_dom(all_54_4) = all_54_3
% 18.03/3.26 | (20) relation_rng(all_54_1) = all_54_0
% 18.03/3.26 | (21) relation_dom_restriction(all_54_4, all_54_6) = all_54_1
% 18.03/3.26 |
% 18.03/3.26 | GROUND_INST: instantiating (2) with all_54_4, all_54_3, simplifying with (12),
% 18.03/3.26 | (13), (16), (19) gives:
% 18.03/3.26 | (22) ? [v0: $i] : (relation_rng(all_54_4) = v0 & $i(v0) & ! [v1: $i] : !
% 18.03/3.26 | [v2: $i] : ( ~ (apply(all_54_4, v2) = v1) | ~ $i(v2) | ~ $i(v1) |
% 18.03/3.26 | ~ in(v2, all_54_3) | in(v1, v0)) & ! [v1: $i] : ( ~ $i(v1) | ~
% 18.03/3.26 | in(v1, v0) | ? [v2: $i] : (apply(all_54_4, v2) = v1 & $i(v2) &
% 18.03/3.26 | in(v2, all_54_3))) & ? [v1: $i] : (v1 = v0 | ~ $i(v1) | ?
% 18.03/3.26 | [v2: $i] : ? [v3: $i] : ? [v4: $i] : ($i(v3) & $i(v2) & ( ~
% 18.03/3.26 | in(v2, v1) | ! [v5: $i] : ( ~ (apply(all_54_4, v5) = v2) | ~
% 18.03/3.26 | $i(v5) | ~ in(v5, all_54_3))) & (in(v2, v1) | (v4 = v2 &
% 18.03/3.26 | apply(all_54_4, v3) = v2 & in(v3, all_54_3))))))
% 18.03/3.26 |
% 18.03/3.26 | GROUND_INST: instantiating (4) with all_54_4, all_54_6, all_54_1, simplifying
% 18.03/3.26 | with (12), (13), (14), (16), (21) gives:
% 18.03/3.26 | (23) function(all_54_1)
% 18.03/3.26 |
% 18.03/3.26 | GROUND_INST: instantiating (dt_k7_relat_1) with all_54_4, all_54_6, all_54_1,
% 18.03/3.26 | simplifying with (13), (14), (16), (21) gives:
% 18.03/3.26 | (24) relation(all_54_1)
% 18.03/3.26 |
% 18.03/3.26 | DELTA: instantiating (22) with fresh symbol all_70_0 gives:
% 18.50/3.27 | (25) relation_rng(all_54_4) = all_70_0 & $i(all_70_0) & ! [v0: $i] : !
% 18.50/3.27 | [v1: $i] : ( ~ (apply(all_54_4, v1) = v0) | ~ $i(v1) | ~ $i(v0) | ~
% 18.50/3.27 | in(v1, all_54_3) | in(v0, all_70_0)) & ! [v0: $i] : ( ~ $i(v0) | ~
% 18.50/3.27 | in(v0, all_70_0) | ? [v1: $i] : (apply(all_54_4, v1) = v0 & $i(v1)
% 18.50/3.27 | & in(v1, all_54_3))) & ? [v0: any] : (v0 = all_70_0 | ~ $i(v0) |
% 18.50/3.27 | ? [v1: $i] : ? [v2: $i] : ? [v3: $i] : ($i(v2) & $i(v1) & ( ~
% 18.50/3.27 | in(v1, v0) | ! [v4: $i] : ( ~ (apply(all_54_4, v4) = v1) | ~
% 18.50/3.27 | $i(v4) | ~ in(v4, all_54_3))) & (in(v1, v0) | (v3 = v1 &
% 18.50/3.27 | apply(all_54_4, v2) = v1 & in(v2, all_54_3)))))
% 18.50/3.27 |
% 18.50/3.27 | ALPHA: (25) implies:
% 18.50/3.27 | (26) relation_rng(all_54_4) = all_70_0
% 18.50/3.27 |
% 18.50/3.27 | GROUND_INST: instantiating (3) with all_54_1, all_54_0, simplifying with (17),
% 18.50/3.27 | (20), (23), (24) gives:
% 18.50/3.27 | (27) ? [v0: $i] : (relation_dom(all_54_1) = v0 & $i(v0) & ! [v1: $i] : !
% 18.50/3.27 | [v2: $i] : ( ~ (apply(all_54_1, v2) = v1) | ~ $i(v2) | ~ $i(v1) |
% 18.50/3.27 | ~ $i(all_54_0) | ~ in(v2, v0) | in(v1, all_54_0)) & ! [v1: $i] :
% 18.50/3.27 | ( ~ $i(v1) | ~ $i(all_54_0) | ~ in(v1, all_54_0) | ? [v2: $i] :
% 18.50/3.27 | (apply(all_54_1, v2) = v1 & $i(v2) & in(v2, v0))) & ? [v1: any] :
% 18.50/3.27 | (v1 = all_54_0 | ~ $i(v1) | ? [v2: $i] : ? [v3: $i] : ? [v4: $i]
% 18.50/3.27 | : ($i(v3) & $i(v2) & ( ~ in(v2, v1) | ! [v5: $i] : ( ~
% 18.50/3.27 | (apply(all_54_1, v5) = v2) | ~ $i(v5) | ~ in(v5, v0))) &
% 18.50/3.27 | (in(v2, v1) | (v4 = v2 & apply(all_54_1, v3) = v2 & in(v3,
% 18.50/3.27 | v0))))))
% 18.50/3.27 |
% 18.50/3.27 | GROUND_INST: instantiating (3) with all_54_4, all_70_0, simplifying with (12),
% 18.50/3.27 | (13), (16), (26) gives:
% 18.50/3.27 | (28) ? [v0: $i] : (relation_dom(all_54_4) = v0 & $i(v0) & ! [v1: $i] : !
% 18.50/3.27 | [v2: $i] : ( ~ (apply(all_54_4, v2) = v1) | ~ $i(v2) | ~ $i(v1) |
% 18.50/3.27 | ~ $i(all_70_0) | ~ in(v2, v0) | in(v1, all_70_0)) & ! [v1: $i] :
% 18.50/3.27 | ( ~ $i(v1) | ~ $i(all_70_0) | ~ in(v1, all_70_0) | ? [v2: $i] :
% 18.50/3.27 | (apply(all_54_4, v2) = v1 & $i(v2) & in(v2, v0))) & ? [v1: any] :
% 18.50/3.27 | (v1 = all_70_0 | ~ $i(v1) | ? [v2: $i] : ? [v3: $i] : ? [v4: $i]
% 18.50/3.27 | : ($i(v3) & $i(v2) & ( ~ in(v2, v1) | ! [v5: $i] : ( ~
% 18.50/3.27 | (apply(all_54_4, v5) = v2) | ~ $i(v5) | ~ in(v5, v0))) &
% 18.50/3.27 | (in(v2, v1) | (v4 = v2 & apply(all_54_4, v3) = v2 & in(v3,
% 18.50/3.27 | v0))))))
% 18.50/3.27 |
% 18.50/3.27 | DELTA: instantiating (28) with fresh symbol all_87_0 gives:
% 18.50/3.27 | (29) relation_dom(all_54_4) = all_87_0 & $i(all_87_0) & ! [v0: $i] : !
% 18.50/3.27 | [v1: $i] : ( ~ (apply(all_54_4, v1) = v0) | ~ $i(v1) | ~ $i(v0) | ~
% 18.50/3.27 | $i(all_70_0) | ~ in(v1, all_87_0) | in(v0, all_70_0)) & ! [v0: $i]
% 18.50/3.27 | : ( ~ $i(v0) | ~ $i(all_70_0) | ~ in(v0, all_70_0) | ? [v1: $i] :
% 18.50/3.27 | (apply(all_54_4, v1) = v0 & $i(v1) & in(v1, all_87_0))) & ? [v0:
% 18.50/3.27 | any] : (v0 = all_70_0 | ~ $i(v0) | ? [v1: $i] : ? [v2: $i] : ?
% 18.50/3.27 | [v3: $i] : ($i(v2) & $i(v1) & ( ~ in(v1, v0) | ! [v4: $i] : ( ~
% 18.50/3.27 | (apply(all_54_4, v4) = v1) | ~ $i(v4) | ~ in(v4, all_87_0)))
% 18.50/3.27 | & (in(v1, v0) | (v3 = v1 & apply(all_54_4, v2) = v1 & in(v2,
% 18.50/3.27 | all_87_0)))))
% 18.50/3.27 |
% 18.50/3.27 | ALPHA: (29) implies:
% 18.50/3.27 | (30) relation_dom(all_54_4) = all_87_0
% 18.50/3.27 |
% 18.50/3.27 | DELTA: instantiating (27) with fresh symbol all_93_0 gives:
% 18.50/3.28 | (31) relation_dom(all_54_1) = all_93_0 & $i(all_93_0) & ! [v0: $i] : !
% 18.50/3.28 | [v1: $i] : ( ~ (apply(all_54_1, v1) = v0) | ~ $i(v1) | ~ $i(v0) | ~
% 18.50/3.28 | $i(all_54_0) | ~ in(v1, all_93_0) | in(v0, all_54_0)) & ! [v0: $i]
% 18.50/3.28 | : ( ~ $i(v0) | ~ $i(all_54_0) | ~ in(v0, all_54_0) | ? [v1: $i] :
% 18.50/3.28 | (apply(all_54_1, v1) = v0 & $i(v1) & in(v1, all_93_0))) & ? [v0:
% 18.50/3.28 | any] : (v0 = all_54_0 | ~ $i(v0) | ? [v1: $i] : ? [v2: $i] : ?
% 18.50/3.28 | [v3: $i] : ($i(v2) & $i(v1) & ( ~ in(v1, v0) | ! [v4: $i] : ( ~
% 18.50/3.28 | (apply(all_54_1, v4) = v1) | ~ $i(v4) | ~ in(v4, all_93_0)))
% 18.50/3.28 | & (in(v1, v0) | (v3 = v1 & apply(all_54_1, v2) = v1 & in(v2,
% 18.50/3.28 | all_93_0)))))
% 18.50/3.28 |
% 18.50/3.28 | ALPHA: (31) implies:
% 18.50/3.28 | (32) relation_dom(all_54_1) = all_93_0
% 18.50/3.28 | (33) ! [v0: $i] : ! [v1: $i] : ( ~ (apply(all_54_1, v1) = v0) | ~ $i(v1)
% 18.50/3.28 | | ~ $i(v0) | ~ $i(all_54_0) | ~ in(v1, all_93_0) | in(v0,
% 18.50/3.28 | all_54_0))
% 18.50/3.28 |
% 18.50/3.28 | GROUND_INST: instantiating (6) with all_54_3, all_87_0, all_54_4, simplifying
% 18.50/3.28 | with (19), (30) gives:
% 18.50/3.28 | (34) all_87_0 = all_54_3
% 18.50/3.28 |
% 18.50/3.28 | GROUND_INST: instantiating (5) with all_54_6, all_54_1, all_93_0, all_54_4,
% 18.50/3.28 | all_54_1, simplifying with (12), (13), (14), (16), (17), (21),
% 18.50/3.28 | (23), (24), (32) gives:
% 18.50/3.28 | (35) ? [v0: $i] : ? [v1: $i] : (relation_dom(all_54_4) = v0 &
% 18.50/3.28 | set_intersection2(v0, all_54_6) = all_93_0 & $i(v1) & $i(v0) &
% 18.50/3.28 | $i(all_93_0) & ! [v2: $i] : ! [v3: $i] : ( ~ (apply(all_54_1, v2)
% 18.50/3.28 | = v3) | ~ $i(v2) | ~ in(v2, all_93_0) | (apply(all_54_4, v2) =
% 18.50/3.28 | v3 & $i(v3))) & ! [v2: $i] : ! [v3: $i] : ( ~ (apply(all_54_4,
% 18.50/3.28 | v2) = v3) | ~ $i(v2) | ~ in(v2, all_93_0) | (apply(all_54_1,
% 18.50/3.28 | v2) = v3 & $i(v3))))
% 18.50/3.28 |
% 18.50/3.28 | GROUND_INST: instantiating (2) with all_54_1, all_93_0, simplifying with (17),
% 18.50/3.28 | (23), (24), (32) gives:
% 18.50/3.28 | (36) ? [v0: $i] : (relation_rng(all_54_1) = v0 & $i(v0) & ! [v1: $i] : !
% 18.50/3.28 | [v2: $i] : ( ~ (apply(all_54_1, v2) = v1) | ~ $i(v2) | ~ $i(v1) |
% 18.50/3.28 | ~ in(v2, all_93_0) | in(v1, v0)) & ! [v1: $i] : ( ~ $i(v1) | ~
% 18.50/3.28 | in(v1, v0) | ? [v2: $i] : (apply(all_54_1, v2) = v1 & $i(v2) &
% 18.50/3.28 | in(v2, all_93_0))) & ? [v1: $i] : (v1 = v0 | ~ $i(v1) | ?
% 18.50/3.28 | [v2: $i] : ? [v3: $i] : ? [v4: $i] : ($i(v3) & $i(v2) & ( ~
% 18.50/3.28 | in(v2, v1) | ! [v5: $i] : ( ~ (apply(all_54_1, v5) = v2) | ~
% 18.50/3.28 | $i(v5) | ~ in(v5, all_93_0))) & (in(v2, v1) | (v4 = v2 &
% 18.50/3.28 | apply(all_54_1, v3) = v2 & in(v3, all_93_0))))))
% 18.50/3.28 |
% 18.50/3.28 | DELTA: instantiating (35) with fresh symbols all_107_0, all_107_1 gives:
% 18.50/3.28 | (37) relation_dom(all_54_4) = all_107_1 & set_intersection2(all_107_1,
% 18.50/3.28 | all_54_6) = all_93_0 & $i(all_107_0) & $i(all_107_1) & $i(all_93_0)
% 18.50/3.28 | & ! [v0: $i] : ! [v1: $i] : ( ~ (apply(all_54_1, v0) = v1) | ~
% 18.50/3.28 | $i(v0) | ~ in(v0, all_93_0) | (apply(all_54_4, v0) = v1 & $i(v1)))
% 18.50/3.28 | & ! [v0: $i] : ! [v1: $i] : ( ~ (apply(all_54_4, v0) = v1) | ~
% 18.50/3.28 | $i(v0) | ~ in(v0, all_93_0) | (apply(all_54_1, v0) = v1 & $i(v1)))
% 18.50/3.28 |
% 18.50/3.28 | ALPHA: (37) implies:
% 18.50/3.28 | (38) $i(all_93_0)
% 18.50/3.28 | (39) $i(all_107_1)
% 18.50/3.28 | (40) set_intersection2(all_107_1, all_54_6) = all_93_0
% 18.50/3.28 | (41) relation_dom(all_54_4) = all_107_1
% 18.50/3.28 | (42) ! [v0: $i] : ! [v1: $i] : ( ~ (apply(all_54_4, v0) = v1) | ~ $i(v0)
% 18.50/3.28 | | ~ in(v0, all_93_0) | (apply(all_54_1, v0) = v1 & $i(v1)))
% 18.50/3.28 |
% 18.50/3.28 | GROUND_INST: instantiating (42) with all_54_5, all_54_2, simplifying with
% 18.50/3.28 | (15), (18) gives:
% 18.50/3.28 | (43) ~ in(all_54_5, all_93_0) | (apply(all_54_1, all_54_5) = all_54_2 &
% 18.50/3.28 | $i(all_54_2))
% 18.50/3.28 |
% 18.50/3.28 | DELTA: instantiating (36) with fresh symbol all_110_0 gives:
% 18.50/3.29 | (44) relation_rng(all_54_1) = all_110_0 & $i(all_110_0) & ! [v0: $i] : !
% 18.50/3.29 | [v1: $i] : ( ~ (apply(all_54_1, v1) = v0) | ~ $i(v1) | ~ $i(v0) | ~
% 18.50/3.29 | in(v1, all_93_0) | in(v0, all_110_0)) & ! [v0: $i] : ( ~ $i(v0) |
% 18.50/3.29 | ~ in(v0, all_110_0) | ? [v1: $i] : (apply(all_54_1, v1) = v0 &
% 18.50/3.29 | $i(v1) & in(v1, all_93_0))) & ? [v0: any] : (v0 = all_110_0 | ~
% 18.50/3.29 | $i(v0) | ? [v1: $i] : ? [v2: $i] : ? [v3: $i] : ($i(v2) & $i(v1)
% 18.50/3.29 | & ( ~ in(v1, v0) | ! [v4: $i] : ( ~ (apply(all_54_1, v4) = v1) |
% 18.50/3.29 | ~ $i(v4) | ~ in(v4, all_93_0))) & (in(v1, v0) | (v3 = v1 &
% 18.50/3.29 | apply(all_54_1, v2) = v1 & in(v2, all_93_0)))))
% 18.50/3.29 |
% 18.50/3.29 | ALPHA: (44) implies:
% 18.50/3.29 | (45) $i(all_110_0)
% 18.50/3.29 | (46) relation_rng(all_54_1) = all_110_0
% 18.50/3.29 |
% 18.50/3.29 | GROUND_INST: instantiating (6) with all_54_3, all_107_1, all_54_4, simplifying
% 18.50/3.29 | with (19), (41) gives:
% 18.50/3.29 | (47) all_107_1 = all_54_3
% 18.50/3.29 |
% 18.50/3.29 | GROUND_INST: instantiating (7) with all_54_0, all_110_0, all_54_1, simplifying
% 18.50/3.29 | with (20), (46) gives:
% 18.50/3.29 | (48) all_110_0 = all_54_0
% 18.50/3.29 |
% 18.50/3.29 | REDUCE: (40), (47) imply:
% 18.50/3.29 | (49) set_intersection2(all_54_3, all_54_6) = all_93_0
% 18.50/3.29 |
% 18.50/3.29 | REDUCE: (45), (48) imply:
% 18.50/3.29 | (50) $i(all_54_0)
% 18.50/3.29 |
% 18.50/3.29 | REDUCE: (39), (47) imply:
% 18.50/3.29 | (51) $i(all_54_3)
% 18.50/3.29 |
% 18.50/3.29 | GROUND_INST: instantiating (1) with all_54_3, all_54_6, all_93_0, all_54_5,
% 18.50/3.29 | simplifying with (10), (11), (14), (15), (38), (49), (51) gives:
% 18.50/3.29 | (52) in(all_54_5, all_93_0)
% 18.50/3.29 |
% 18.50/3.29 | BETA: splitting (43) gives:
% 18.50/3.29 |
% 18.50/3.29 | Case 1:
% 18.50/3.29 | |
% 18.50/3.29 | | (53) ~ in(all_54_5, all_93_0)
% 18.50/3.29 | |
% 18.50/3.29 | | PRED_UNIFY: (52), (53) imply:
% 18.50/3.29 | | (54) $false
% 18.50/3.29 | |
% 18.50/3.29 | | CLOSE: (54) is inconsistent.
% 18.50/3.29 | |
% 18.50/3.29 | Case 2:
% 18.50/3.29 | |
% 18.50/3.29 | | (55) apply(all_54_1, all_54_5) = all_54_2 & $i(all_54_2)
% 18.50/3.29 | |
% 18.50/3.29 | | ALPHA: (55) implies:
% 18.50/3.29 | | (56) $i(all_54_2)
% 18.50/3.29 | | (57) apply(all_54_1, all_54_5) = all_54_2
% 18.50/3.29 | |
% 18.50/3.29 | | GROUND_INST: instantiating (33) with all_54_2, all_54_5, simplifying with
% 18.50/3.29 | | (9), (15), (50), (52), (56), (57) gives:
% 18.50/3.29 | | (58) $false
% 18.50/3.29 | |
% 18.50/3.29 | | CLOSE: (58) is inconsistent.
% 18.50/3.29 | |
% 18.50/3.29 | End of split
% 18.50/3.29 |
% 18.50/3.29 End of proof
% 18.50/3.29 % SZS output end Proof for theBenchmark
% 18.50/3.29
% 18.50/3.29 2660ms
%------------------------------------------------------------------------------