TSTP Solution File: PUZ007-1 by Zipperpin---2.1.9999

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Zipperpin---2.1.9999
% Problem  : PUZ007-1 : TPTP v8.1.2. Released v1.0.0.
% Transfm  : NO INFORMATION
% Format   : NO INFORMATION
% Command  : python3 /export/starexec/sandbox2/solver/bin/portfolio.lams.parallel.py %s %d /export/starexec/sandbox2/tmp/tmp.V7V0jCtiAl true

% 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 13:30:33 EDT 2023

% Result   : Unsatisfiable 0.22s 0.77s
% Output   : Refutation 0.22s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.12/0.13  % Problem  : PUZ007-1 : TPTP v8.1.2. Released v1.0.0.
% 0.12/0.15  % Command  : python3 /export/starexec/sandbox2/solver/bin/portfolio.lams.parallel.py %s %d /export/starexec/sandbox2/tmp/tmp.V7V0jCtiAl true
% 0.16/0.36  % Computer : n031.cluster.edu
% 0.16/0.36  % Model    : x86_64 x86_64
% 0.16/0.36  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.16/0.36  % Memory   : 8042.1875MB
% 0.16/0.36  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.16/0.36  % CPULimit : 300
% 0.16/0.36  % WCLimit  : 300
% 0.16/0.36  % DateTime : Sat Aug 26 22:27:08 EDT 2023
% 0.16/0.36  % CPUTime  : 
% 0.16/0.36  % Running portfolio for 300 s
% 0.16/0.36  % File         : /export/starexec/sandbox2/benchmark/theBenchmark.p
% 0.16/0.36  % Number of cores: 8
% 0.16/0.36  % Python version: Python 3.6.8
% 0.16/0.36  % Running in FO mode
% 0.22/0.66  % Total configuration time : 435
% 0.22/0.66  % Estimated wc time : 1092
% 0.22/0.66  % Estimated cpu time (7 cpus) : 156.0
% 0.22/0.73  % /export/starexec/sandbox2/solver/bin/fo/fo6_bce.sh running for 75s
% 0.22/0.74  % /export/starexec/sandbox2/solver/bin/fo/fo3_bce.sh running for 75s
% 0.22/0.76  % /export/starexec/sandbox2/solver/bin/fo/fo1_av.sh running for 75s
% 0.22/0.77  % /export/starexec/sandbox2/solver/bin/fo/fo7.sh running for 63s
% 0.22/0.77  % Solved by fo/fo6_bce.sh.
% 0.22/0.77  % BCE start: 28
% 0.22/0.77  % BCE eliminated: 0
% 0.22/0.77  % PE start: 28
% 0.22/0.77  logic: eq
% 0.22/0.77  % PE eliminated: 3
% 0.22/0.77  % done 57 iterations in 0.020s
% 0.22/0.77  % SZS status Theorem for '/export/starexec/sandbox2/benchmark/theBenchmark.p'
% 0.22/0.77  % SZS output start Refutation
% 0.22/0.77  thf(statement_by_type, type, statement_by: $i > $i).
% 0.22/0.77  thf(says_type, type, says: $i > $i > $o).
% 0.22/0.77  thf(from_mars_type, type, from_mars: $i > $o).
% 0.22/0.77  thf(from_venus_type, type, from_venus: $i > $o).
% 0.22/0.77  thf(truthteller_type, type, truthteller: $i > $o).
% 0.22/0.77  thf(a_truth_type, type, a_truth: $i > $o).
% 0.22/0.77  thf(a_type, type, a: $i).
% 0.22/0.77  thf(b_type, type, b: $i).
% 0.22/0.77  thf(a_from_mars_type, type, a_from_mars: $i).
% 0.22/0.77  thf(liar_type, type, liar: $i > $o).
% 0.22/0.77  thf(a_has_lied_type, type, a_has_lied: $i).
% 0.22/0.77  thf(female_type, type, female: $i > $o).
% 0.22/0.77  thf(male_type, type, male: $i > $o).
% 0.22/0.77  thf(marsian_females_are_liars, axiom,
% 0.22/0.77    (( ~( from_mars @ X ) ) | ( ~( female @ X ) ) | ( liar @ X ))).
% 0.22/0.77  thf(zip_derived_cl13, plain,
% 0.22/0.77      (![X0 : $i]: (~ (from_mars @ X0) | ~ (female @ X0) |  (liar @ X0))),
% 0.22/0.77      inference('cnf', [status(esa)], [marsian_females_are_liars])).
% 0.22/0.77  thf(a_says_hes_from_mars, axiom, (says @ a @ a_from_mars)).
% 0.22/0.77  thf(zip_derived_cl16, plain, ( (says @ a @ a_from_mars)),
% 0.22/0.77      inference('cnf', [status(esa)], [a_says_hes_from_mars])).
% 0.22/0.77  thf(liars_make_false_statements, axiom,
% 0.22/0.77    (( ~( liar @ X ) ) | ( ~( says @ X @ Y ) ) | ( ~( a_truth @ Y ) ))).
% 0.22/0.77  thf(zip_derived_cl15, plain,
% 0.22/0.77      (![X0 : $i, X1 : $i]:
% 0.22/0.77         (~ (liar @ X0) | ~ (says @ X0 @ X1) | ~ (a_truth @ X1))),
% 0.22/0.77      inference('cnf', [status(esa)], [liars_make_false_statements])).
% 0.22/0.77  thf(zip_derived_cl140, plain, ((~ (a_truth @ a_from_mars) | ~ (liar @ a))),
% 0.22/0.77      inference('dp-resolution', [status(thm)],
% 0.22/0.77                [zip_derived_cl16, zip_derived_cl15])).
% 0.22/0.77  thf(from_mars_or_venus, axiom, (( from_mars @ X ) | ( from_venus @ X ))).
% 0.22/0.77  thf(zip_derived_cl0, plain,
% 0.22/0.77      (![X0 : $i]: ( (from_mars @ X0) |  (from_venus @ X0))),
% 0.22/0.77      inference('cnf', [status(esa)], [from_mars_or_venus])).
% 0.22/0.77  thf(one_from_mars, conjecture, (~( ( from_mars @ a ) | ( from_mars @ b ) ))).
% 0.22/0.77  thf(zf_stmt_0, negated_conjecture, (( from_mars @ a ) | ( from_mars @ b )),
% 0.22/0.77    inference('cnf.neg', [status(esa)], [one_from_mars])).
% 0.22/0.77  thf(zip_derived_cl26, plain, (( (from_mars @ a) |  (from_mars @ b))),
% 0.22/0.77      inference('cnf', [status(esa)], [zf_stmt_0])).
% 0.22/0.77  thf(male_or_female, axiom, (( male @ X ) | ( female @ X ))).
% 0.22/0.77  thf(zip_derived_cl2, plain, (![X0 : $i]: ( (male @ X0) |  (female @ X0))),
% 0.22/0.77      inference('cnf', [status(esa)], [male_or_female])).
% 0.22/0.77  thf(different_sex2, axiom, (( ~( male @ a ) ) | ( female @ b ))).
% 0.22/0.77  thf(zip_derived_cl25, plain, ((~ (male @ a) |  (female @ b))),
% 0.22/0.77      inference('cnf', [status(esa)], [different_sex2])).
% 0.22/0.77  thf(zip_derived_cl147, plain, (( (female @ a) |  (female @ b))),
% 0.22/0.77      inference('dp-resolution', [status(thm)],
% 0.22/0.77                [zip_derived_cl2, zip_derived_cl25])).
% 0.22/0.77  thf(zip_derived_cl13, plain,
% 0.22/0.77      (![X0 : $i]: (~ (from_mars @ X0) | ~ (female @ X0) |  (liar @ X0))),
% 0.22/0.77      inference('cnf', [status(esa)], [marsian_females_are_liars])).
% 0.22/0.77  thf(truth_of_bs_statement, axiom,
% 0.22/0.77    (( a_truth @ a_from_mars ) | ( a_truth @ ( statement_by @ b ) ))).
% 0.22/0.77  thf(zip_derived_cl23, plain,
% 0.22/0.77      (( (a_truth @ a_from_mars) |  (a_truth @ (statement_by @ b)))),
% 0.22/0.77      inference('cnf', [status(esa)], [truth_of_bs_statement])).
% 0.22/0.77  thf(b_states, axiom, (( statement_by @ b ) = ( a_has_lied ))).
% 0.22/0.77  thf(zip_derived_cl22, plain, (((statement_by @ b) = (a_has_lied))),
% 0.22/0.77      inference('cnf', [status(esa)], [b_states])).
% 0.22/0.77  thf(zip_derived_cl193, plain,
% 0.22/0.77      (( (a_truth @ a_from_mars) |  (a_truth @ a_has_lied))),
% 0.22/0.77      inference('demod', [status(thm)], [zip_derived_cl23, zip_derived_cl22])).
% 0.22/0.77  thf(b_says_a_lies, axiom, (says @ b @ a_has_lied)).
% 0.22/0.77  thf(zip_derived_cl17, plain, ( (says @ b @ a_has_lied)),
% 0.22/0.77      inference('cnf', [status(esa)], [b_says_a_lies])).
% 0.22/0.77  thf(zip_derived_cl15, plain,
% 0.22/0.77      (![X0 : $i, X1 : $i]:
% 0.22/0.77         (~ (liar @ X0) | ~ (says @ X0 @ X1) | ~ (a_truth @ X1))),
% 0.22/0.77      inference('cnf', [status(esa)], [liars_make_false_statements])).
% 0.22/0.77  thf(zip_derived_cl143, plain, ((~ (a_truth @ a_has_lied) | ~ (liar @ b))),
% 0.22/0.77      inference('dp-resolution', [status(thm)],
% 0.22/0.77                [zip_derived_cl17, zip_derived_cl15])).
% 0.22/0.77  thf(zip_derived_cl194, plain, (( (a_truth @ a_from_mars) | ~ (liar @ b))),
% 0.22/0.77      inference('s_sup-', [status(thm)], [zip_derived_cl193, zip_derived_cl143])).
% 0.22/0.77  thf(zip_derived_cl195, plain,
% 0.22/0.77      ((~ (female @ b) | ~ (from_mars @ b) |  (a_truth @ a_from_mars))),
% 0.22/0.77      inference('s_sup-', [status(thm)], [zip_derived_cl13, zip_derived_cl194])).
% 0.22/0.77  thf(zip_derived_cl197, plain,
% 0.22/0.77      (( (female @ a) | ~ (from_mars @ b) |  (a_truth @ a_from_mars))),
% 0.22/0.77      inference('s_sup-', [status(thm)], [zip_derived_cl147, zip_derived_cl195])).
% 0.22/0.77  thf(zip_derived_cl226, plain,
% 0.22/0.77      (( (from_mars @ a) |  (female @ a) |  (a_truth @ a_from_mars))),
% 0.22/0.77      inference('s_sup-', [status(thm)], [zip_derived_cl26, zip_derived_cl197])).
% 0.22/0.77  thf(a_from_mars1, axiom,
% 0.22/0.77    (( ~( from_mars @ a ) ) | ( a_truth @ a_from_mars ))).
% 0.22/0.77  thf(zip_derived_cl18, plain,
% 0.22/0.77      ((~ (from_mars @ a) |  (a_truth @ a_from_mars))),
% 0.22/0.77      inference('cnf', [status(esa)], [a_from_mars1])).
% 0.22/0.77  thf(zip_derived_cl232, plain, (( (a_truth @ a_from_mars) |  (female @ a))),
% 0.22/0.77      inference('clc', [status(thm)], [zip_derived_cl226, zip_derived_cl18])).
% 0.22/0.77  thf(a_states, axiom, (( statement_by @ a ) = ( a_from_mars ))).
% 0.22/0.77  thf(zip_derived_cl21, plain, (((statement_by @ a) = (a_from_mars))),
% 0.22/0.77      inference('cnf', [status(esa)], [a_states])).
% 0.22/0.77  thf(false_statements_made_by_liars, axiom,
% 0.22/0.77    (( a_truth @ ( statement_by @ X ) ) | ( liar @ X ))).
% 0.22/0.77  thf(zip_derived_cl9, plain,
% 0.22/0.77      (![X0 : $i]: ( (a_truth @ (statement_by @ X0)) |  (liar @ X0))),
% 0.22/0.77      inference('cnf', [status(esa)], [false_statements_made_by_liars])).
% 0.22/0.77  thf(zip_derived_cl190, plain, (( (a_truth @ a_from_mars) |  (liar @ a))),
% 0.22/0.77      inference('s_sup+', [status(thm)], [zip_derived_cl21, zip_derived_cl9])).
% 0.22/0.77  thf(venusian_female_are_truthtellers, axiom,
% 0.22/0.77    (( ~( from_venus @ X ) ) | ( ~( female @ X ) ) | ( truthteller @ X ))).
% 0.22/0.77  thf(zip_derived_cl10, plain,
% 0.22/0.77      (![X0 : $i]:
% 0.22/0.77         (~ (from_venus @ X0) | ~ (female @ X0) |  (truthteller @ X0))),
% 0.22/0.77      inference('cnf', [status(esa)], [venusian_female_are_truthtellers])).
% 0.22/0.77  thf(not_truthteller_and_liar, axiom,
% 0.22/0.77    (( ~( truthteller @ X ) ) | ( ~( liar @ X ) ))).
% 0.22/0.77  thf(zip_derived_cl5, plain,
% 0.22/0.77      (![X0 : $i]: (~ (truthteller @ X0) | ~ (liar @ X0))),
% 0.22/0.77      inference('cnf', [status(esa)], [not_truthteller_and_liar])).
% 0.22/0.77  thf(zip_derived_cl149, plain,
% 0.22/0.77      (![X0 : $i]: (~ (female @ X0) | ~ (from_venus @ X0) | ~ (liar @ X0))),
% 0.22/0.77      inference('dp-resolution', [status(thm)],
% 0.22/0.77                [zip_derived_cl10, zip_derived_cl5])).
% 0.22/0.77  thf(zip_derived_cl206, plain,
% 0.22/0.77      (( (a_truth @ a_from_mars) | ~ (female @ a) | ~ (from_venus @ a))),
% 0.22/0.77      inference('s_sup-', [status(thm)], [zip_derived_cl190, zip_derived_cl149])).
% 0.22/0.77  thf(zip_derived_cl234, plain,
% 0.22/0.77      (( (a_truth @ a_from_mars)
% 0.22/0.77        |  (a_truth @ a_from_mars)
% 0.22/0.77        | ~ (from_venus @ a))),
% 0.22/0.77      inference('s_sup-', [status(thm)], [zip_derived_cl232, zip_derived_cl206])).
% 0.22/0.77  thf(zip_derived_cl235, plain,
% 0.22/0.77      ((~ (from_venus @ a) |  (a_truth @ a_from_mars))),
% 0.22/0.77      inference('simplify', [status(thm)], [zip_derived_cl234])).
% 0.22/0.77  thf(zip_derived_cl236, plain,
% 0.22/0.77      (( (from_mars @ a) |  (a_truth @ a_from_mars))),
% 0.22/0.77      inference('s_sup-', [status(thm)], [zip_derived_cl0, zip_derived_cl235])).
% 0.22/0.77  thf(zip_derived_cl18, plain,
% 0.22/0.77      ((~ (from_mars @ a) |  (a_truth @ a_from_mars))),
% 0.22/0.77      inference('cnf', [status(esa)], [a_from_mars1])).
% 0.22/0.77  thf(zip_derived_cl238, plain, ( (a_truth @ a_from_mars)),
% 0.22/0.77      inference('clc', [status(thm)], [zip_derived_cl236, zip_derived_cl18])).
% 0.22/0.77  thf(zip_derived_cl240, plain, (~ (liar @ a)),
% 0.22/0.77      inference('demod', [status(thm)], [zip_derived_cl140, zip_derived_cl238])).
% 0.22/0.77  thf(zip_derived_cl243, plain, ((~ (female @ a) | ~ (from_mars @ a))),
% 0.22/0.77      inference('s_sup-', [status(thm)], [zip_derived_cl13, zip_derived_cl240])).
% 0.22/0.77  thf(a_from_mars2, axiom,
% 0.22/0.77    (( from_mars @ a ) | ( ~( a_truth @ a_from_mars ) ))).
% 0.22/0.77  thf(zip_derived_cl19, plain,
% 0.22/0.77      (( (from_mars @ a) | ~ (a_truth @ a_from_mars))),
% 0.22/0.77      inference('cnf', [status(esa)], [a_from_mars2])).
% 0.22/0.77  thf(zip_derived_cl238, plain, ( (a_truth @ a_from_mars)),
% 0.22/0.77      inference('clc', [status(thm)], [zip_derived_cl236, zip_derived_cl18])).
% 0.22/0.77  thf(zip_derived_cl239, plain, ( (from_mars @ a)),
% 0.22/0.77      inference('demod', [status(thm)], [zip_derived_cl19, zip_derived_cl238])).
% 0.22/0.77  thf(zip_derived_cl245, plain, (~ (female @ a)),
% 0.22/0.77      inference('demod', [status(thm)], [zip_derived_cl243, zip_derived_cl239])).
% 0.22/0.77  thf(one_from_venus, conjecture,
% 0.22/0.77    (~( ( from_venus @ b ) | ( from_venus @ a ) ))).
% 0.22/0.77  thf(zf_stmt_1, negated_conjecture, (( from_venus @ b ) | ( from_venus @ a )),
% 0.22/0.77    inference('cnf.neg', [status(esa)], [one_from_venus])).
% 0.22/0.77  thf(zip_derived_cl27, plain, (( (from_venus @ b) |  (from_venus @ a))),
% 0.22/0.77      inference('cnf', [status(esa)], [zf_stmt_1])).
% 0.22/0.77  thf(zip_derived_cl147, plain, (( (female @ a) |  (female @ b))),
% 0.22/0.77      inference('dp-resolution', [status(thm)],
% 0.22/0.77                [zip_derived_cl2, zip_derived_cl25])).
% 0.22/0.77  thf(zip_derived_cl22, plain, (((statement_by @ b) = (a_has_lied))),
% 0.22/0.77      inference('cnf', [status(esa)], [b_states])).
% 0.22/0.77  thf(zip_derived_cl9, plain,
% 0.22/0.77      (![X0 : $i]: ( (a_truth @ (statement_by @ X0)) |  (liar @ X0))),
% 0.22/0.77      inference('cnf', [status(esa)], [false_statements_made_by_liars])).
% 0.22/0.77  thf(zip_derived_cl192, plain, (( (a_truth @ a_has_lied) |  (liar @ b))),
% 0.22/0.77      inference('s_sup+', [status(thm)], [zip_derived_cl22, zip_derived_cl9])).
% 0.22/0.77  thf(zip_derived_cl149, plain,
% 0.22/0.77      (![X0 : $i]: (~ (female @ X0) | ~ (from_venus @ X0) | ~ (liar @ X0))),
% 0.22/0.77      inference('dp-resolution', [status(thm)],
% 0.22/0.77                [zip_derived_cl10, zip_derived_cl5])).
% 0.22/0.77  thf(zip_derived_cl207, plain,
% 0.22/0.77      (( (a_truth @ a_has_lied) | ~ (female @ b) | ~ (from_venus @ b))),
% 0.22/0.77      inference('s_sup-', [status(thm)], [zip_derived_cl192, zip_derived_cl149])).
% 0.22/0.77  thf(zip_derived_cl212, plain,
% 0.22/0.77      (( (female @ a) |  (a_truth @ a_has_lied) | ~ (from_venus @ b))),
% 0.22/0.77      inference('s_sup-', [status(thm)], [zip_derived_cl147, zip_derived_cl207])).
% 0.22/0.77  thf(zip_derived_cl230, plain,
% 0.22/0.77      (( (from_venus @ a) |  (female @ a) |  (a_truth @ a_has_lied))),
% 0.22/0.77      inference('s_sup-', [status(thm)], [zip_derived_cl27, zip_derived_cl212])).
% 0.22/0.77  thf(zip_derived_cl2, plain, (![X0 : $i]: ( (male @ X0) |  (female @ X0))),
% 0.22/0.77      inference('cnf', [status(esa)], [male_or_female])).
% 0.22/0.77  thf(venusian_males_are_liars, axiom,
% 0.22/0.77    (( ~( from_venus @ X ) ) | ( ~( male @ X ) ) | ( liar @ X ))).
% 0.22/0.77  thf(zip_derived_cl11, plain,
% 0.22/0.77      (![X0 : $i]: (~ (from_venus @ X0) | ~ (male @ X0) |  (liar @ X0))),
% 0.22/0.77      inference('cnf', [status(esa)], [venusian_males_are_liars])).
% 0.22/0.77  thf(zip_derived_cl145, plain,
% 0.22/0.77      (![X0 : $i]: ( (female @ X0) |  (liar @ X0) | ~ (from_venus @ X0))),
% 0.22/0.77      inference('dp-resolution', [status(thm)],
% 0.22/0.77                [zip_derived_cl2, zip_derived_cl11])).
% 0.22/0.77  thf(zip_derived_cl240, plain, (~ (liar @ a)),
% 0.22/0.77      inference('demod', [status(thm)], [zip_derived_cl140, zip_derived_cl238])).
% 0.22/0.77  thf(zip_derived_cl244, plain, ((~ (from_venus @ a) |  (female @ a))),
% 0.22/0.77      inference('s_sup-', [status(thm)], [zip_derived_cl145, zip_derived_cl240])).
% 0.22/0.77  thf(zip_derived_cl245, plain, (~ (female @ a)),
% 0.22/0.77      inference('demod', [status(thm)], [zip_derived_cl243, zip_derived_cl239])).
% 0.22/0.77  thf(zip_derived_cl248, plain, (~ (from_venus @ a)),
% 0.22/0.77      inference('clc', [status(thm)], [zip_derived_cl244, zip_derived_cl245])).
% 0.22/0.77  thf(zip_derived_cl250, plain, (( (female @ a) |  (a_truth @ a_has_lied))),
% 0.22/0.77      inference('demod', [status(thm)], [zip_derived_cl230, zip_derived_cl248])).
% 0.22/0.77  thf(a_from_mars3, axiom,
% 0.22/0.77    (( ~( a_truth @ a_from_mars ) ) | ( ~( a_truth @ ( statement_by @ b ) ) ))).
% 0.22/0.77  thf(zip_derived_cl20, plain,
% 0.22/0.77      ((~ (a_truth @ a_from_mars) | ~ (a_truth @ (statement_by @ b)))),
% 0.22/0.77      inference('cnf', [status(esa)], [a_from_mars3])).
% 0.22/0.77  thf(zip_derived_cl22, plain, (((statement_by @ b) = (a_has_lied))),
% 0.22/0.77      inference('cnf', [status(esa)], [b_states])).
% 0.22/0.77  thf(zip_derived_cl191, plain,
% 0.22/0.77      ((~ (a_truth @ a_from_mars) | ~ (a_truth @ a_has_lied))),
% 0.22/0.77      inference('demod', [status(thm)], [zip_derived_cl20, zip_derived_cl22])).
% 0.22/0.77  thf(zip_derived_cl238, plain, ( (a_truth @ a_from_mars)),
% 0.22/0.77      inference('clc', [status(thm)], [zip_derived_cl236, zip_derived_cl18])).
% 0.22/0.77  thf(zip_derived_cl241, plain, (~ (a_truth @ a_has_lied)),
% 0.22/0.77      inference('demod', [status(thm)], [zip_derived_cl191, zip_derived_cl238])).
% 0.22/0.77  thf(zip_derived_cl256, plain, ( (female @ a)),
% 0.22/0.77      inference('demod', [status(thm)], [zip_derived_cl250, zip_derived_cl241])).
% 0.22/0.77  thf(zip_derived_cl257, plain, ($false),
% 0.22/0.77      inference('demod', [status(thm)], [zip_derived_cl245, zip_derived_cl256])).
% 0.22/0.77  
% 0.22/0.77  % SZS output end Refutation
% 0.22/0.77  
% 0.22/0.77  
% 0.22/0.77  % Terminating...
% 1.51/0.86  % Runner terminated.
% 1.51/0.87  % Zipperpin 1.5 exiting
%------------------------------------------------------------------------------