TSTP Solution File: PUZ025-1 by Z3---4.8.9.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Z3---4.8.9.0
% Problem  : PUZ025-1 : TPTP v8.1.0. Released v1.0.0.
% Transfm  : none
% Format   : tptp
% Command  : z3_tptp -proof -model -t:%d -file:%s

% Computer : n019.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 : Sun Sep 18 14:10:55 EDT 2022

% Result   : Unsatisfiable 0.20s 0.40s
% Output   : Proof 0.20s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.03/0.12  % Problem  : PUZ025-1 : TPTP v8.1.0. Released v1.0.0.
% 0.13/0.13  % Command  : z3_tptp -proof -model -t:%d -file:%s
% 0.13/0.34  % Computer : n019.cluster.edu
% 0.13/0.34  % Model    : x86_64 x86_64
% 0.13/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.13/0.34  % Memory   : 8042.1875MB
% 0.13/0.34  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.13/0.34  % CPULimit : 300
% 0.13/0.34  % WCLimit  : 300
% 0.13/0.34  % DateTime : Fri Sep  2 18:23:35 EDT 2022
% 0.13/0.35  % CPUTime  : 
% 0.20/0.35  Z3tptp [4.8.9.0] (c) 2006-20**. Microsoft Corp.
% 0.20/0.35  Usage: tptp [options] [-file:]file
% 0.20/0.35    -h, -?       prints this message.
% 0.20/0.35    -smt2        print SMT-LIB2 benchmark.
% 0.20/0.35    -m, -model   generate model.
% 0.20/0.35    -p, -proof   generate proof.
% 0.20/0.35    -c, -core    generate unsat core of named formulas.
% 0.20/0.35    -st, -statistics display statistics.
% 0.20/0.35    -t:timeout   set timeout (in second).
% 0.20/0.35    -smt2status  display status in smt2 format instead of SZS.
% 0.20/0.35    -check_status check the status produced by Z3 against annotation in benchmark.
% 0.20/0.35    -<param>:<value> configuration parameter and value.
% 0.20/0.35    -o:<output-file> file to place output in.
% 0.20/0.40  % SZS status Unsatisfiable
% 0.20/0.40  % SZS output start Proof
% 0.20/0.40  tff(a_truth_type, type, (
% 0.20/0.40     a_truth: $i > $o)).
% 0.20/0.40  tff(equal_type_type, type, (
% 0.20/0.40     equal_type: ( $i * $i ) > $i)).
% 0.20/0.40  tff(c_type, type, (
% 0.20/0.40     c: $i)).
% 0.20/0.40  tff(b_type, type, (
% 0.20/0.40     b: $i)).
% 0.20/0.40  tff(answer_type, type, (
% 0.20/0.40     answer: $i > $o)).
% 0.20/0.40  tff(yes_type, type, (
% 0.20/0.40     yes: $i)).
% 0.20/0.40  tff(truthteller_type, type, (
% 0.20/0.40     truthteller: $i > $i)).
% 0.20/0.40  tff(a_type, type, (
% 0.20/0.40     a: $i)).
% 0.20/0.40  tff(liar_type, type, (
% 0.20/0.40     liar: $i > $i)).
% 0.20/0.40  tff(ask_1_if_2_type, type, (
% 0.20/0.40     ask_1_if_2: ( $i * $i ) > $o)).
% 0.20/0.40  tff(says_type, type, (
% 0.20/0.40     says: ( $i * $i ) > $i)).
% 0.20/0.40  tff(1,assumption,(answer(yes)), introduced(assumption)).
% 0.20/0.40  tff(2,plain,
% 0.20/0.40      (^[Answer: $i] : refl((~answer(Answer)) <=> (~answer(Answer)))),
% 0.20/0.40      inference(bind,[status(th)],[])).
% 0.20/0.40  tff(3,plain,
% 0.20/0.40      (![Answer: $i] : (~answer(Answer)) <=> ![Answer: $i] : (~answer(Answer))),
% 0.20/0.40      inference(quant_intro,[status(thm)],[2])).
% 0.20/0.40  tff(4,plain,
% 0.20/0.40      (![Answer: $i] : (~answer(Answer)) <=> ![Answer: $i] : (~answer(Answer))),
% 0.20/0.40      inference(rewrite,[status(thm)],[])).
% 0.20/0.40  tff(5,axiom,(![Answer: $i] : (~answer(Answer))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','prove_there_is_an_answer')).
% 0.20/0.40  tff(6,plain,
% 0.20/0.40      (![Answer: $i] : (~answer(Answer))),
% 0.20/0.40      inference(modus_ponens,[status(thm)],[5, 4])).
% 0.20/0.40  tff(7,plain,(
% 0.20/0.40      ![Answer: $i] : (~answer(Answer))),
% 0.20/0.40      inference(skolemize,[status(sab)],[6])).
% 0.20/0.40  tff(8,plain,
% 0.20/0.40      (![Answer: $i] : (~answer(Answer))),
% 0.20/0.40      inference(modus_ponens,[status(thm)],[7, 3])).
% 0.20/0.40  tff(9,plain,
% 0.20/0.40      ((~![Answer: $i] : (~answer(Answer))) | (~answer(yes))),
% 0.20/0.40      inference(quant_inst,[status(thm)],[])).
% 0.20/0.40  tff(10,plain,
% 0.20/0.40      ($false),
% 0.20/0.40      inference(unit_resolution,[status(thm)],[9, 8, 1])).
% 0.20/0.40  tff(11,plain,(~answer(yes)), inference(lemma,lemma(discharge,[]))).
% 0.20/0.40  tff(12,assumption,(~a_truth(equal_type(b, c))), introduced(assumption)).
% 0.20/0.40  tff(13,assumption,(~answer(yes)), introduced(assumption)).
% 0.20/0.40  tff(14,assumption,(~a_truth(equal_type(a, b))), introduced(assumption)).
% 0.20/0.40  tff(15,plain,
% 0.20/0.40      (ask_1_if_2(c, equal_type(a, b)) <=> ask_1_if_2(c, equal_type(a, b))),
% 0.20/0.40      inference(rewrite,[status(thm)],[])).
% 0.20/0.40  tff(16,axiom,(ask_1_if_2(c, equal_type(a, b))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','ask_c_if_a_and_b_equal')).
% 0.20/0.40  tff(17,plain,
% 0.20/0.40      (ask_1_if_2(c, equal_type(a, b))),
% 0.20/0.40      inference(modus_ponens,[status(thm)],[16, 15])).
% 0.20/0.40  tff(18,plain,
% 0.20/0.40      (^[Y: $i, X: $i] : refl(((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y))) <=> ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y))))),
% 0.20/0.40      inference(bind,[status(th)],[])).
% 0.20/0.40  tff(19,plain,
% 0.20/0.40      (![Y: $i, X: $i] : ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y))) <=> ![Y: $i, X: $i] : ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y)))),
% 0.20/0.40      inference(quant_intro,[status(thm)],[18])).
% 0.20/0.40  tff(20,plain,
% 0.20/0.40      (![Y: $i, X: $i] : ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y))) <=> ![Y: $i, X: $i] : ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y)))),
% 0.20/0.40      inference(rewrite,[status(thm)],[])).
% 0.20/0.40  tff(21,plain,
% 0.20/0.40      (^[Y: $i, X: $i] : trans(monotonicity(rewrite((((~ask_1_if_2(X, Y)) | (~a_truth(liar(X)))) | a_truth(Y)) <=> ((~a_truth(liar(X))) | a_truth(Y) | (~ask_1_if_2(X, Y)))), (((((~ask_1_if_2(X, Y)) | (~a_truth(liar(X)))) | a_truth(Y)) | answer(yes)) <=> (((~a_truth(liar(X))) | a_truth(Y) | (~ask_1_if_2(X, Y))) | answer(yes)))), rewrite((((~a_truth(liar(X))) | a_truth(Y) | (~ask_1_if_2(X, Y))) | answer(yes)) <=> ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y)))), (((((~ask_1_if_2(X, Y)) | (~a_truth(liar(X)))) | a_truth(Y)) | answer(yes)) <=> ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y)))))),
% 0.20/0.40      inference(bind,[status(th)],[])).
% 0.20/0.40  tff(22,plain,
% 0.20/0.40      (![Y: $i, X: $i] : ((((~ask_1_if_2(X, Y)) | (~a_truth(liar(X)))) | a_truth(Y)) | answer(yes)) <=> ![Y: $i, X: $i] : ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y)))),
% 0.20/0.40      inference(quant_intro,[status(thm)],[21])).
% 0.20/0.40  tff(23,axiom,(![Y: $i, X: $i] : ((((~ask_1_if_2(X, Y)) | (~a_truth(liar(X)))) | a_truth(Y)) | answer(yes))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','liar_supports_lies')).
% 0.20/0.40  tff(24,plain,
% 0.20/0.40      (![Y: $i, X: $i] : ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y)))),
% 0.20/0.40      inference(modus_ponens,[status(thm)],[23, 22])).
% 0.20/0.40  tff(25,plain,
% 0.20/0.40      (![Y: $i, X: $i] : ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y)))),
% 0.20/0.40      inference(modus_ponens,[status(thm)],[24, 20])).
% 0.20/0.40  tff(26,plain,(
% 0.20/0.40      ![Y: $i, X: $i] : ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y)))),
% 0.20/0.40      inference(skolemize,[status(sab)],[25])).
% 0.20/0.40  tff(27,plain,
% 0.20/0.40      (![Y: $i, X: $i] : ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y)))),
% 0.20/0.40      inference(modus_ponens,[status(thm)],[26, 19])).
% 0.20/0.40  tff(28,plain,
% 0.20/0.40      (((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y)))) | (answer(yes) | (~a_truth(liar(c))) | a_truth(equal_type(a, b)) | (~ask_1_if_2(c, equal_type(a, b))))) <=> ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y)))) | answer(yes) | (~a_truth(liar(c))) | a_truth(equal_type(a, b)) | (~ask_1_if_2(c, equal_type(a, b))))),
% 0.20/0.40      inference(rewrite,[status(thm)],[])).
% 0.20/0.40  tff(29,plain,
% 0.20/0.40      (((~a_truth(liar(c))) | answer(yes) | a_truth(equal_type(a, b)) | (~ask_1_if_2(c, equal_type(a, b)))) <=> (answer(yes) | (~a_truth(liar(c))) | a_truth(equal_type(a, b)) | (~ask_1_if_2(c, equal_type(a, b))))),
% 0.20/0.40      inference(rewrite,[status(thm)],[])).
% 0.20/0.40  tff(30,plain,
% 0.20/0.40      (((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y)))) | ((~a_truth(liar(c))) | answer(yes) | a_truth(equal_type(a, b)) | (~ask_1_if_2(c, equal_type(a, b))))) <=> ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y)))) | (answer(yes) | (~a_truth(liar(c))) | a_truth(equal_type(a, b)) | (~ask_1_if_2(c, equal_type(a, b)))))),
% 0.20/0.40      inference(monotonicity,[status(thm)],[29])).
% 0.20/0.40  tff(31,plain,
% 0.20/0.40      (((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y)))) | ((~a_truth(liar(c))) | answer(yes) | a_truth(equal_type(a, b)) | (~ask_1_if_2(c, equal_type(a, b))))) <=> ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y)))) | answer(yes) | (~a_truth(liar(c))) | a_truth(equal_type(a, b)) | (~ask_1_if_2(c, equal_type(a, b))))),
% 0.20/0.40      inference(transitivity,[status(thm)],[30, 28])).
% 0.20/0.40  tff(32,plain,
% 0.20/0.40      ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y)))) | ((~a_truth(liar(c))) | answer(yes) | a_truth(equal_type(a, b)) | (~ask_1_if_2(c, equal_type(a, b))))),
% 0.20/0.40      inference(quant_inst,[status(thm)],[])).
% 0.20/0.40  tff(33,plain,
% 0.20/0.40      ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | answer(yes) | a_truth(Y) | (~ask_1_if_2(X, Y)))) | answer(yes) | (~a_truth(liar(c))) | a_truth(equal_type(a, b)) | (~ask_1_if_2(c, equal_type(a, b)))),
% 0.20/0.40      inference(modus_ponens,[status(thm)],[32, 31])).
% 0.20/0.40  tff(34,plain,
% 0.20/0.40      (answer(yes) | (~a_truth(liar(c))) | a_truth(equal_type(a, b))),
% 0.20/0.40      inference(unit_resolution,[status(thm)],[33, 27, 17])).
% 0.20/0.40  tff(35,plain,
% 0.20/0.40      (~a_truth(liar(c))),
% 0.20/0.40      inference(unit_resolution,[status(thm)],[34, 14, 13])).
% 0.20/0.40  tff(36,plain,
% 0.20/0.40      (a_truth(says(a, equal_type(b, c))) <=> a_truth(says(a, equal_type(b, c)))),
% 0.20/0.40      inference(rewrite,[status(thm)],[])).
% 0.20/0.40  tff(37,axiom,(a_truth(says(a, equal_type(b, c)))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','a_says_b_and_c_equal')).
% 0.20/0.40  tff(38,plain,
% 0.20/0.40      (a_truth(says(a, equal_type(b, c)))),
% 0.20/0.40      inference(modus_ponens,[status(thm)],[37, 36])).
% 0.20/0.40  tff(39,plain,
% 0.20/0.40      (^[Liar: $i, Statement: $i] : refl((a_truth(Statement) | (~a_truth(says(Liar, Statement))) | a_truth(liar(Liar))) <=> (a_truth(Statement) | (~a_truth(says(Liar, Statement))) | a_truth(liar(Liar))))),
% 0.20/0.40      inference(bind,[status(th)],[])).
% 0.20/0.40  tff(40,plain,
% 0.20/0.40      (![Liar: $i, Statement: $i] : (a_truth(Statement) | (~a_truth(says(Liar, Statement))) | a_truth(liar(Liar))) <=> ![Liar: $i, Statement: $i] : (a_truth(Statement) | (~a_truth(says(Liar, Statement))) | a_truth(liar(Liar)))),
% 0.20/0.40      inference(quant_intro,[status(thm)],[39])).
% 0.20/0.40  tff(41,plain,
% 0.20/0.40      (![Liar: $i, Statement: $i] : (a_truth(Statement) | (~a_truth(says(Liar, Statement))) | a_truth(liar(Liar))) <=> ![Liar: $i, Statement: $i] : (a_truth(Statement) | (~a_truth(says(Liar, Statement))) | a_truth(liar(Liar)))),
% 0.20/0.40      inference(rewrite,[status(thm)],[])).
% 0.20/0.40  tff(42,plain,
% 0.20/0.40      (^[Liar: $i, Statement: $i] : rewrite(((a_truth(Statement) | (~a_truth(says(Liar, Statement)))) | a_truth(liar(Liar))) <=> (a_truth(Statement) | (~a_truth(says(Liar, Statement))) | a_truth(liar(Liar))))),
% 0.20/0.40      inference(bind,[status(th)],[])).
% 0.20/0.40  tff(43,plain,
% 0.20/0.40      (![Liar: $i, Statement: $i] : ((a_truth(Statement) | (~a_truth(says(Liar, Statement)))) | a_truth(liar(Liar))) <=> ![Liar: $i, Statement: $i] : (a_truth(Statement) | (~a_truth(says(Liar, Statement))) | a_truth(liar(Liar)))),
% 0.20/0.40      inference(quant_intro,[status(thm)],[42])).
% 0.20/0.40  tff(44,axiom,(![Liar: $i, Statement: $i] : ((a_truth(Statement) | (~a_truth(says(Liar, Statement)))) | a_truth(liar(Liar)))), file('/export/starexec/sandbox/benchmark/Axioms/PUZ002-0.ax','liars_are_told_by_liars')).
% 0.20/0.40  tff(45,plain,
% 0.20/0.40      (![Liar: $i, Statement: $i] : (a_truth(Statement) | (~a_truth(says(Liar, Statement))) | a_truth(liar(Liar)))),
% 0.20/0.40      inference(modus_ponens,[status(thm)],[44, 43])).
% 0.20/0.40  tff(46,plain,
% 0.20/0.40      (![Liar: $i, Statement: $i] : (a_truth(Statement) | (~a_truth(says(Liar, Statement))) | a_truth(liar(Liar)))),
% 0.20/0.40      inference(modus_ponens,[status(thm)],[45, 41])).
% 0.20/0.40  tff(47,plain,(
% 0.20/0.40      ![Liar: $i, Statement: $i] : (a_truth(Statement) | (~a_truth(says(Liar, Statement))) | a_truth(liar(Liar)))),
% 0.20/0.40      inference(skolemize,[status(sab)],[46])).
% 0.20/0.40  tff(48,plain,
% 0.20/0.40      (![Liar: $i, Statement: $i] : (a_truth(Statement) | (~a_truth(says(Liar, Statement))) | a_truth(liar(Liar)))),
% 0.20/0.40      inference(modus_ponens,[status(thm)],[47, 40])).
% 0.20/0.40  tff(49,plain,
% 0.20/0.40      (((~![Liar: $i, Statement: $i] : (a_truth(Statement) | (~a_truth(says(Liar, Statement))) | a_truth(liar(Liar)))) | (a_truth(equal_type(b, c)) | (~a_truth(says(a, equal_type(b, c)))) | a_truth(liar(a)))) <=> ((~![Liar: $i, Statement: $i] : (a_truth(Statement) | (~a_truth(says(Liar, Statement))) | a_truth(liar(Liar)))) | a_truth(equal_type(b, c)) | (~a_truth(says(a, equal_type(b, c)))) | a_truth(liar(a)))),
% 0.20/0.40      inference(rewrite,[status(thm)],[])).
% 0.20/0.40  tff(50,plain,
% 0.20/0.40      ((~![Liar: $i, Statement: $i] : (a_truth(Statement) | (~a_truth(says(Liar, Statement))) | a_truth(liar(Liar)))) | (a_truth(equal_type(b, c)) | (~a_truth(says(a, equal_type(b, c)))) | a_truth(liar(a)))),
% 0.20/0.40      inference(quant_inst,[status(thm)],[])).
% 0.20/0.40  tff(51,plain,
% 0.20/0.40      ((~![Liar: $i, Statement: $i] : (a_truth(Statement) | (~a_truth(says(Liar, Statement))) | a_truth(liar(Liar)))) | a_truth(equal_type(b, c)) | (~a_truth(says(a, equal_type(b, c)))) | a_truth(liar(a))),
% 0.20/0.40      inference(modus_ponens,[status(thm)],[50, 49])).
% 0.20/0.40  tff(52,plain,
% 0.20/0.40      (a_truth(equal_type(b, c)) | a_truth(liar(a))),
% 0.20/0.40      inference(unit_resolution,[status(thm)],[51, 48, 38])).
% 0.20/0.40  tff(53,plain,
% 0.20/0.40      (a_truth(liar(a))),
% 0.20/0.40      inference(unit_resolution,[status(thm)],[52, 12])).
% 0.20/0.40  tff(54,plain,
% 0.20/0.40      (^[Y: $i, X: $i] : refl(((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y))) <=> ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y))))),
% 0.20/0.40      inference(bind,[status(th)],[])).
% 0.20/0.40  tff(55,plain,
% 0.20/0.40      (![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y))) <=> ![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))),
% 0.20/0.40      inference(quant_intro,[status(thm)],[54])).
% 0.20/0.40  tff(56,plain,
% 0.20/0.40      (![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y))) <=> ![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))),
% 0.20/0.40      inference(rewrite,[status(thm)],[])).
% 0.20/0.40  tff(57,plain,
% 0.20/0.40      (^[Y: $i, X: $i] : trans(monotonicity(rewrite(((~a_truth(liar(X))) | a_truth(equal_type(X, Y))) <=> ((~a_truth(liar(X))) | a_truth(equal_type(X, Y)))), ((((~a_truth(liar(X))) | a_truth(equal_type(X, Y))) | a_truth(truthteller(Y))) <=> (((~a_truth(liar(X))) | a_truth(equal_type(X, Y))) | a_truth(truthteller(Y))))), rewrite((((~a_truth(liar(X))) | a_truth(equal_type(X, Y))) | a_truth(truthteller(Y))) <=> ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))), ((((~a_truth(liar(X))) | a_truth(equal_type(X, Y))) | a_truth(truthteller(Y))) <=> ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))))),
% 0.20/0.41      inference(bind,[status(th)],[])).
% 0.20/0.41  tff(58,plain,
% 0.20/0.41      (![Y: $i, X: $i] : (((~a_truth(liar(X))) | a_truth(equal_type(X, Y))) | a_truth(truthteller(Y))) <=> ![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))),
% 0.20/0.41      inference(quant_intro,[status(thm)],[57])).
% 0.20/0.41  tff(59,axiom,(![Y: $i, X: $i] : (((~a_truth(liar(X))) | a_truth(equal_type(X, Y))) | a_truth(truthteller(Y)))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','liar_not_equal_truthteller')).
% 0.20/0.41  tff(60,plain,
% 0.20/0.41      (![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))),
% 0.20/0.41      inference(modus_ponens,[status(thm)],[59, 58])).
% 0.20/0.41  tff(61,plain,
% 0.20/0.41      (![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))),
% 0.20/0.41      inference(modus_ponens,[status(thm)],[60, 56])).
% 0.20/0.41  tff(62,plain,(
% 0.20/0.41      ![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))),
% 0.20/0.41      inference(skolemize,[status(sab)],[61])).
% 0.20/0.41  tff(63,plain,
% 0.20/0.41      (![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))),
% 0.20/0.41      inference(modus_ponens,[status(thm)],[62, 55])).
% 0.20/0.41  tff(64,plain,
% 0.20/0.41      (((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))) | ((~a_truth(liar(a))) | a_truth(truthteller(b)) | a_truth(equal_type(a, b)))) <=> ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))) | (~a_truth(liar(a))) | a_truth(truthteller(b)) | a_truth(equal_type(a, b)))),
% 0.20/0.41      inference(rewrite,[status(thm)],[])).
% 0.20/0.41  tff(65,plain,
% 0.20/0.41      ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))) | ((~a_truth(liar(a))) | a_truth(truthteller(b)) | a_truth(equal_type(a, b)))),
% 0.20/0.41      inference(quant_inst,[status(thm)],[])).
% 0.20/0.41  tff(66,plain,
% 0.20/0.41      ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))) | (~a_truth(liar(a))) | a_truth(truthteller(b)) | a_truth(equal_type(a, b))),
% 0.20/0.41      inference(modus_ponens,[status(thm)],[65, 64])).
% 0.20/0.41  tff(67,plain,
% 0.20/0.41      ((~a_truth(liar(a))) | a_truth(truthteller(b)) | a_truth(equal_type(a, b))),
% 0.20/0.41      inference(unit_resolution,[status(thm)],[66, 63])).
% 0.20/0.41  tff(68,plain,
% 0.20/0.41      (a_truth(truthteller(b))),
% 0.20/0.41      inference(unit_resolution,[status(thm)],[67, 14, 53])).
% 0.20/0.41  tff(69,plain,
% 0.20/0.41      (^[Y: $i, X: $i] : refl(((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y))) <=> ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y))))),
% 0.20/0.41      inference(bind,[status(th)],[])).
% 0.20/0.41  tff(70,plain,
% 0.20/0.41      (![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y))) <=> ![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))),
% 0.20/0.41      inference(quant_intro,[status(thm)],[69])).
% 0.20/0.41  tff(71,plain,
% 0.20/0.41      (![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y))) <=> ![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))),
% 0.20/0.41      inference(rewrite,[status(thm)],[])).
% 0.20/0.41  tff(72,plain,
% 0.20/0.41      (^[Y: $i, X: $i] : trans(monotonicity(rewrite(((~a_truth(truthteller(X))) | a_truth(equal_type(X, Y))) <=> ((~a_truth(truthteller(X))) | a_truth(equal_type(X, Y)))), ((((~a_truth(truthteller(X))) | a_truth(equal_type(X, Y))) | a_truth(liar(Y))) <=> (((~a_truth(truthteller(X))) | a_truth(equal_type(X, Y))) | a_truth(liar(Y))))), rewrite((((~a_truth(truthteller(X))) | a_truth(equal_type(X, Y))) | a_truth(liar(Y))) <=> ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))), ((((~a_truth(truthteller(X))) | a_truth(equal_type(X, Y))) | a_truth(liar(Y))) <=> ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))))),
% 0.20/0.41      inference(bind,[status(th)],[])).
% 0.20/0.41  tff(73,plain,
% 0.20/0.41      (![Y: $i, X: $i] : (((~a_truth(truthteller(X))) | a_truth(equal_type(X, Y))) | a_truth(liar(Y))) <=> ![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))),
% 0.20/0.41      inference(quant_intro,[status(thm)],[72])).
% 0.20/0.41  tff(74,axiom,(![Y: $i, X: $i] : (((~a_truth(truthteller(X))) | a_truth(equal_type(X, Y))) | a_truth(liar(Y)))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','truthteller_not_equal_liar')).
% 0.20/0.41  tff(75,plain,
% 0.20/0.41      (![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))),
% 0.20/0.41      inference(modus_ponens,[status(thm)],[74, 73])).
% 0.20/0.41  tff(76,plain,
% 0.20/0.41      (![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))),
% 0.20/0.41      inference(modus_ponens,[status(thm)],[75, 71])).
% 0.20/0.41  tff(77,plain,(
% 0.20/0.41      ![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))),
% 0.20/0.41      inference(skolemize,[status(sab)],[76])).
% 0.20/0.41  tff(78,plain,
% 0.20/0.41      (![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))),
% 0.20/0.41      inference(modus_ponens,[status(thm)],[77, 70])).
% 0.20/0.41  tff(79,plain,
% 0.20/0.41      (((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))) | (a_truth(equal_type(b, c)) | a_truth(liar(c)) | (~a_truth(truthteller(b))))) <=> ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))) | a_truth(equal_type(b, c)) | a_truth(liar(c)) | (~a_truth(truthteller(b))))),
% 0.20/0.41      inference(rewrite,[status(thm)],[])).
% 0.20/0.41  tff(80,plain,
% 0.20/0.41      (((~a_truth(truthteller(b))) | a_truth(liar(c)) | a_truth(equal_type(b, c))) <=> (a_truth(equal_type(b, c)) | a_truth(liar(c)) | (~a_truth(truthteller(b))))),
% 0.20/0.41      inference(rewrite,[status(thm)],[])).
% 0.20/0.41  tff(81,plain,
% 0.20/0.41      (((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))) | ((~a_truth(truthteller(b))) | a_truth(liar(c)) | a_truth(equal_type(b, c)))) <=> ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))) | (a_truth(equal_type(b, c)) | a_truth(liar(c)) | (~a_truth(truthteller(b)))))),
% 0.20/0.41      inference(monotonicity,[status(thm)],[80])).
% 0.20/0.41  tff(82,plain,
% 0.20/0.41      (((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))) | ((~a_truth(truthteller(b))) | a_truth(liar(c)) | a_truth(equal_type(b, c)))) <=> ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))) | a_truth(equal_type(b, c)) | a_truth(liar(c)) | (~a_truth(truthteller(b))))),
% 0.20/0.41      inference(transitivity,[status(thm)],[81, 79])).
% 0.20/0.41  tff(83,plain,
% 0.20/0.41      ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))) | ((~a_truth(truthteller(b))) | a_truth(liar(c)) | a_truth(equal_type(b, c)))),
% 0.20/0.41      inference(quant_inst,[status(thm)],[])).
% 0.20/0.41  tff(84,plain,
% 0.20/0.41      ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))) | a_truth(equal_type(b, c)) | a_truth(liar(c)) | (~a_truth(truthteller(b)))),
% 0.20/0.41      inference(modus_ponens,[status(thm)],[83, 82])).
% 0.20/0.41  tff(85,plain,
% 0.20/0.41      (a_truth(equal_type(b, c)) | a_truth(liar(c)) | (~a_truth(truthteller(b)))),
% 0.20/0.41      inference(unit_resolution,[status(thm)],[84, 78])).
% 0.20/0.41  tff(86,plain,
% 0.20/0.41      ($false),
% 0.20/0.41      inference(unit_resolution,[status(thm)],[85, 68, 35, 12])).
% 0.20/0.41  tff(87,plain,(a_truth(equal_type(a, b)) | a_truth(equal_type(b, c)) | answer(yes)), inference(lemma,lemma(discharge,[]))).
% 0.20/0.41  tff(88,plain,
% 0.20/0.41      (a_truth(equal_type(a, b))),
% 0.20/0.41      inference(unit_resolution,[status(thm)],[87, 13, 12])).
% 0.20/0.41  tff(89,plain,
% 0.20/0.41      (^[Y: $i, X: $i] : refl(((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y))) <=> ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y))))),
% 0.20/0.41      inference(bind,[status(th)],[])).
% 0.20/0.41  tff(90,plain,
% 0.20/0.41      (![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y))) <=> ![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y)))),
% 0.20/0.41      inference(quant_intro,[status(thm)],[89])).
% 0.20/0.41  tff(91,plain,
% 0.20/0.41      (![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y))) <=> ![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y)))),
% 0.20/0.41      inference(rewrite,[status(thm)],[])).
% 0.20/0.41  tff(92,plain,
% 0.20/0.41      (^[Y: $i, X: $i] : trans(monotonicity(rewrite((((~ask_1_if_2(X, Y)) | (~a_truth(truthteller(X)))) | (~a_truth(Y))) <=> ((~a_truth(truthteller(X))) | (~a_truth(Y)) | (~ask_1_if_2(X, Y)))), (((((~ask_1_if_2(X, Y)) | (~a_truth(truthteller(X)))) | (~a_truth(Y))) | answer(yes)) <=> (((~a_truth(truthteller(X))) | (~a_truth(Y)) | (~ask_1_if_2(X, Y))) | answer(yes)))), rewrite((((~a_truth(truthteller(X))) | (~a_truth(Y)) | (~ask_1_if_2(X, Y))) | answer(yes)) <=> ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y)))), (((((~ask_1_if_2(X, Y)) | (~a_truth(truthteller(X)))) | (~a_truth(Y))) | answer(yes)) <=> ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y)))))),
% 0.20/0.41      inference(bind,[status(th)],[])).
% 0.20/0.41  tff(93,plain,
% 0.20/0.41      (![Y: $i, X: $i] : ((((~ask_1_if_2(X, Y)) | (~a_truth(truthteller(X)))) | (~a_truth(Y))) | answer(yes)) <=> ![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y)))),
% 0.20/0.41      inference(quant_intro,[status(thm)],[92])).
% 0.20/0.41  tff(94,axiom,(![Y: $i, X: $i] : ((((~ask_1_if_2(X, Y)) | (~a_truth(truthteller(X)))) | (~a_truth(Y))) | answer(yes))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','truthteller_identifies_truths')).
% 0.20/0.41  tff(95,plain,
% 0.20/0.41      (![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y)))),
% 0.20/0.41      inference(modus_ponens,[status(thm)],[94, 93])).
% 0.20/0.41  tff(96,plain,
% 0.20/0.41      (![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y)))),
% 0.20/0.41      inference(modus_ponens,[status(thm)],[95, 91])).
% 0.20/0.41  tff(97,plain,(
% 0.20/0.41      ![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y)))),
% 0.20/0.41      inference(skolemize,[status(sab)],[96])).
% 0.20/0.41  tff(98,plain,
% 0.20/0.41      (![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y)))),
% 0.20/0.41      inference(modus_ponens,[status(thm)],[97, 90])).
% 0.20/0.41  tff(99,plain,
% 0.20/0.41      (((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y)))) | (answer(yes) | (~a_truth(truthteller(c))) | (~a_truth(equal_type(a, b))) | (~ask_1_if_2(c, equal_type(a, b))))) <=> ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y)))) | answer(yes) | (~a_truth(truthteller(c))) | (~a_truth(equal_type(a, b))) | (~ask_1_if_2(c, equal_type(a, b))))),
% 0.20/0.41      inference(rewrite,[status(thm)],[])).
% 0.20/0.41  tff(100,plain,
% 0.20/0.41      (((~a_truth(truthteller(c))) | answer(yes) | (~a_truth(equal_type(a, b))) | (~ask_1_if_2(c, equal_type(a, b)))) <=> (answer(yes) | (~a_truth(truthteller(c))) | (~a_truth(equal_type(a, b))) | (~ask_1_if_2(c, equal_type(a, b))))),
% 0.20/0.41      inference(rewrite,[status(thm)],[])).
% 0.20/0.41  tff(101,plain,
% 0.20/0.41      (((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y)))) | ((~a_truth(truthteller(c))) | answer(yes) | (~a_truth(equal_type(a, b))) | (~ask_1_if_2(c, equal_type(a, b))))) <=> ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y)))) | (answer(yes) | (~a_truth(truthteller(c))) | (~a_truth(equal_type(a, b))) | (~ask_1_if_2(c, equal_type(a, b)))))),
% 0.20/0.41      inference(monotonicity,[status(thm)],[100])).
% 0.20/0.41  tff(102,plain,
% 0.20/0.41      (((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y)))) | ((~a_truth(truthteller(c))) | answer(yes) | (~a_truth(equal_type(a, b))) | (~ask_1_if_2(c, equal_type(a, b))))) <=> ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y)))) | answer(yes) | (~a_truth(truthteller(c))) | (~a_truth(equal_type(a, b))) | (~ask_1_if_2(c, equal_type(a, b))))),
% 0.20/0.41      inference(transitivity,[status(thm)],[101, 99])).
% 0.20/0.41  tff(103,plain,
% 0.20/0.41      ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y)))) | ((~a_truth(truthteller(c))) | answer(yes) | (~a_truth(equal_type(a, b))) | (~ask_1_if_2(c, equal_type(a, b))))),
% 0.20/0.41      inference(quant_inst,[status(thm)],[])).
% 0.20/0.41  tff(104,plain,
% 0.20/0.41      ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | answer(yes) | (~a_truth(Y)) | (~ask_1_if_2(X, Y)))) | answer(yes) | (~a_truth(truthteller(c))) | (~a_truth(equal_type(a, b))) | (~ask_1_if_2(c, equal_type(a, b)))),
% 0.20/0.41      inference(modus_ponens,[status(thm)],[103, 102])).
% 0.20/0.41  tff(105,plain,
% 0.20/0.41      (answer(yes) | (~a_truth(truthteller(c))) | (~a_truth(equal_type(a, b)))),
% 0.20/0.41      inference(unit_resolution,[status(thm)],[104, 98, 17])).
% 0.20/0.41  tff(106,plain,
% 0.20/0.41      (~a_truth(truthteller(c))),
% 0.20/0.41      inference(unit_resolution,[status(thm)],[105, 88, 13])).
% 0.20/0.41  tff(107,plain,
% 0.20/0.41      (^[Y: $i, X: $i] : refl(((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y)))) <=> ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y)))))),
% 0.20/0.41      inference(bind,[status(th)],[])).
% 0.20/0.41  tff(108,plain,
% 0.20/0.41      (![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y)))) <=> ![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))),
% 0.20/0.41      inference(quant_intro,[status(thm)],[107])).
% 0.20/0.41  tff(109,plain,
% 0.20/0.41      (![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y)))) <=> ![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))),
% 0.20/0.41      inference(rewrite,[status(thm)],[])).
% 0.20/0.41  tff(110,plain,
% 0.20/0.41      (^[Y: $i, X: $i] : trans(monotonicity(rewrite(((~a_truth(equal_type(X, Y))) | (~a_truth(liar(X)))) <=> ((~a_truth(liar(X))) | (~a_truth(equal_type(X, Y))))), ((((~a_truth(equal_type(X, Y))) | (~a_truth(liar(X)))) | a_truth(liar(Y))) <=> (((~a_truth(liar(X))) | (~a_truth(equal_type(X, Y)))) | a_truth(liar(Y))))), rewrite((((~a_truth(liar(X))) | (~a_truth(equal_type(X, Y)))) | a_truth(liar(Y))) <=> ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))), ((((~a_truth(equal_type(X, Y))) | (~a_truth(liar(X)))) | a_truth(liar(Y))) <=> ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))))),
% 0.20/0.41      inference(bind,[status(th)],[])).
% 0.20/0.41  tff(111,plain,
% 0.20/0.41      (![Y: $i, X: $i] : (((~a_truth(equal_type(X, Y))) | (~a_truth(liar(X)))) | a_truth(liar(Y))) <=> ![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))),
% 0.20/0.41      inference(quant_intro,[status(thm)],[110])).
% 0.20/0.41  tff(112,axiom,(![Y: $i, X: $i] : (((~a_truth(equal_type(X, Y))) | (~a_truth(liar(X)))) | a_truth(liar(Y)))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','liar_equals_liar')).
% 0.20/0.41  tff(113,plain,
% 0.20/0.41      (![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))),
% 0.20/0.41      inference(modus_ponens,[status(thm)],[112, 111])).
% 0.20/0.41  tff(114,plain,
% 0.20/0.41      (![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))),
% 0.20/0.41      inference(modus_ponens,[status(thm)],[113, 109])).
% 0.20/0.41  tff(115,plain,(
% 0.20/0.41      ![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))),
% 0.20/0.41      inference(skolemize,[status(sab)],[114])).
% 0.20/0.41  tff(116,plain,
% 0.20/0.41      (![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))),
% 0.20/0.41      inference(modus_ponens,[status(thm)],[115, 108])).
% 0.20/0.41  tff(117,plain,
% 0.20/0.41      (((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))) | ((~a_truth(liar(a))) | a_truth(liar(b)) | (~a_truth(equal_type(a, b))))) <=> ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))) | (~a_truth(liar(a))) | a_truth(liar(b)) | (~a_truth(equal_type(a, b))))),
% 0.20/0.41      inference(rewrite,[status(thm)],[])).
% 0.20/0.41  tff(118,plain,
% 0.20/0.41      ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))) | ((~a_truth(liar(a))) | a_truth(liar(b)) | (~a_truth(equal_type(a, b))))),
% 0.20/0.41      inference(quant_inst,[status(thm)],[])).
% 0.20/0.41  tff(119,plain,
% 0.20/0.41      ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))) | (~a_truth(liar(a))) | a_truth(liar(b)) | (~a_truth(equal_type(a, b)))),
% 0.20/0.42      inference(modus_ponens,[status(thm)],[118, 117])).
% 0.20/0.42  tff(120,plain,
% 0.20/0.42      ((~a_truth(liar(a))) | a_truth(liar(b)) | (~a_truth(equal_type(a, b)))),
% 0.20/0.42      inference(unit_resolution,[status(thm)],[119, 116])).
% 0.20/0.42  tff(121,plain,
% 0.20/0.42      (a_truth(liar(b))),
% 0.20/0.42      inference(unit_resolution,[status(thm)],[120, 88, 53])).
% 0.20/0.42  tff(122,plain,
% 0.20/0.42      (((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))) | (a_truth(equal_type(b, c)) | (~a_truth(liar(b))) | a_truth(truthteller(c)))) <=> ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))) | a_truth(equal_type(b, c)) | (~a_truth(liar(b))) | a_truth(truthteller(c)))),
% 0.20/0.42      inference(rewrite,[status(thm)],[])).
% 0.20/0.42  tff(123,plain,
% 0.20/0.42      (((~a_truth(liar(b))) | a_truth(truthteller(c)) | a_truth(equal_type(b, c))) <=> (a_truth(equal_type(b, c)) | (~a_truth(liar(b))) | a_truth(truthteller(c)))),
% 0.20/0.42      inference(rewrite,[status(thm)],[])).
% 0.20/0.42  tff(124,plain,
% 0.20/0.42      (((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))) | ((~a_truth(liar(b))) | a_truth(truthteller(c)) | a_truth(equal_type(b, c)))) <=> ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))) | (a_truth(equal_type(b, c)) | (~a_truth(liar(b))) | a_truth(truthteller(c))))),
% 0.20/0.42      inference(monotonicity,[status(thm)],[123])).
% 0.20/0.42  tff(125,plain,
% 0.20/0.42      (((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))) | ((~a_truth(liar(b))) | a_truth(truthteller(c)) | a_truth(equal_type(b, c)))) <=> ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))) | a_truth(equal_type(b, c)) | (~a_truth(liar(b))) | a_truth(truthteller(c)))),
% 0.20/0.42      inference(transitivity,[status(thm)],[124, 122])).
% 0.20/0.42  tff(126,plain,
% 0.20/0.42      ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))) | ((~a_truth(liar(b))) | a_truth(truthteller(c)) | a_truth(equal_type(b, c)))),
% 0.20/0.42      inference(quant_inst,[status(thm)],[])).
% 0.20/0.42  tff(127,plain,
% 0.20/0.42      ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(truthteller(Y)) | a_truth(equal_type(X, Y)))) | a_truth(equal_type(b, c)) | (~a_truth(liar(b))) | a_truth(truthteller(c))),
% 0.20/0.42      inference(modus_ponens,[status(thm)],[126, 125])).
% 0.20/0.42  tff(128,plain,
% 0.20/0.42      (a_truth(equal_type(b, c)) | (~a_truth(liar(b))) | a_truth(truthteller(c))),
% 0.20/0.42      inference(unit_resolution,[status(thm)],[127, 63])).
% 0.20/0.42  tff(129,plain,
% 0.20/0.42      ($false),
% 0.20/0.42      inference(unit_resolution,[status(thm)],[128, 121, 106, 12])).
% 0.20/0.42  tff(130,plain,(answer(yes) | a_truth(equal_type(b, c))), inference(lemma,lemma(discharge,[]))).
% 0.20/0.42  tff(131,plain,
% 0.20/0.42      (a_truth(equal_type(b, c))),
% 0.20/0.42      inference(unit_resolution,[status(thm)],[130, 11])).
% 0.20/0.42  tff(132,plain,
% 0.20/0.42      (~a_truth(liar(c))),
% 0.20/0.42      inference(unit_resolution,[status(thm)],[34, 14, 11])).
% 0.20/0.42  tff(133,plain,
% 0.20/0.42      (^[Truthteller: $i, Statement: $i] : refl(((~a_truth(says(Truthteller, Statement))) | a_truth(truthteller(Truthteller)) | (~a_truth(Statement))) <=> ((~a_truth(says(Truthteller, Statement))) | a_truth(truthteller(Truthteller)) | (~a_truth(Statement))))),
% 0.20/0.42      inference(bind,[status(th)],[])).
% 0.20/0.42  tff(134,plain,
% 0.20/0.42      (![Truthteller: $i, Statement: $i] : ((~a_truth(says(Truthteller, Statement))) | a_truth(truthteller(Truthteller)) | (~a_truth(Statement))) <=> ![Truthteller: $i, Statement: $i] : ((~a_truth(says(Truthteller, Statement))) | a_truth(truthteller(Truthteller)) | (~a_truth(Statement)))),
% 0.20/0.42      inference(quant_intro,[status(thm)],[133])).
% 0.20/0.42  tff(135,plain,
% 0.20/0.42      (![Truthteller: $i, Statement: $i] : ((~a_truth(says(Truthteller, Statement))) | a_truth(truthteller(Truthteller)) | (~a_truth(Statement))) <=> ![Truthteller: $i, Statement: $i] : ((~a_truth(says(Truthteller, Statement))) | a_truth(truthteller(Truthteller)) | (~a_truth(Statement)))),
% 0.20/0.42      inference(rewrite,[status(thm)],[])).
% 0.20/0.42  tff(136,plain,
% 0.20/0.42      (^[Truthteller: $i, Statement: $i] : rewrite((((~a_truth(Statement)) | (~a_truth(says(Truthteller, Statement)))) | a_truth(truthteller(Truthteller))) <=> ((~a_truth(says(Truthteller, Statement))) | a_truth(truthteller(Truthteller)) | (~a_truth(Statement))))),
% 0.20/0.42      inference(bind,[status(th)],[])).
% 0.20/0.42  tff(137,plain,
% 0.20/0.42      (![Truthteller: $i, Statement: $i] : (((~a_truth(Statement)) | (~a_truth(says(Truthteller, Statement)))) | a_truth(truthteller(Truthteller))) <=> ![Truthteller: $i, Statement: $i] : ((~a_truth(says(Truthteller, Statement))) | a_truth(truthteller(Truthteller)) | (~a_truth(Statement)))),
% 0.20/0.42      inference(quant_intro,[status(thm)],[136])).
% 0.20/0.42  tff(138,axiom,(![Truthteller: $i, Statement: $i] : (((~a_truth(Statement)) | (~a_truth(says(Truthteller, Statement)))) | a_truth(truthteller(Truthteller)))), file('/export/starexec/sandbox/benchmark/Axioms/PUZ002-0.ax','truths_are_told_by_truthtellers')).
% 0.20/0.42  tff(139,plain,
% 0.20/0.42      (![Truthteller: $i, Statement: $i] : ((~a_truth(says(Truthteller, Statement))) | a_truth(truthteller(Truthteller)) | (~a_truth(Statement)))),
% 0.20/0.42      inference(modus_ponens,[status(thm)],[138, 137])).
% 0.20/0.42  tff(140,plain,
% 0.20/0.42      (![Truthteller: $i, Statement: $i] : ((~a_truth(says(Truthteller, Statement))) | a_truth(truthteller(Truthteller)) | (~a_truth(Statement)))),
% 0.20/0.42      inference(modus_ponens,[status(thm)],[139, 135])).
% 0.20/0.42  tff(141,plain,(
% 0.20/0.42      ![Truthteller: $i, Statement: $i] : ((~a_truth(says(Truthteller, Statement))) | a_truth(truthteller(Truthteller)) | (~a_truth(Statement)))),
% 0.20/0.42      inference(skolemize,[status(sab)],[140])).
% 0.20/0.42  tff(142,plain,
% 0.20/0.42      (![Truthteller: $i, Statement: $i] : ((~a_truth(says(Truthteller, Statement))) | a_truth(truthteller(Truthteller)) | (~a_truth(Statement)))),
% 0.20/0.42      inference(modus_ponens,[status(thm)],[141, 134])).
% 0.20/0.42  tff(143,plain,
% 0.20/0.42      (((~![Truthteller: $i, Statement: $i] : ((~a_truth(says(Truthteller, Statement))) | a_truth(truthteller(Truthteller)) | (~a_truth(Statement)))) | ((~a_truth(says(a, equal_type(b, c)))) | a_truth(truthteller(a)) | (~a_truth(equal_type(b, c))))) <=> ((~![Truthteller: $i, Statement: $i] : ((~a_truth(says(Truthteller, Statement))) | a_truth(truthteller(Truthteller)) | (~a_truth(Statement)))) | (~a_truth(says(a, equal_type(b, c)))) | a_truth(truthteller(a)) | (~a_truth(equal_type(b, c))))),
% 0.20/0.42      inference(rewrite,[status(thm)],[])).
% 0.20/0.42  tff(144,plain,
% 0.20/0.42      ((~![Truthteller: $i, Statement: $i] : ((~a_truth(says(Truthteller, Statement))) | a_truth(truthteller(Truthteller)) | (~a_truth(Statement)))) | ((~a_truth(says(a, equal_type(b, c)))) | a_truth(truthteller(a)) | (~a_truth(equal_type(b, c))))),
% 0.20/0.42      inference(quant_inst,[status(thm)],[])).
% 0.20/0.42  tff(145,plain,
% 0.20/0.42      ((~![Truthteller: $i, Statement: $i] : ((~a_truth(says(Truthteller, Statement))) | a_truth(truthteller(Truthteller)) | (~a_truth(Statement)))) | (~a_truth(says(a, equal_type(b, c)))) | a_truth(truthteller(a)) | (~a_truth(equal_type(b, c)))),
% 0.20/0.42      inference(modus_ponens,[status(thm)],[144, 143])).
% 0.20/0.42  tff(146,plain,
% 0.20/0.42      (a_truth(truthteller(a)) | (~a_truth(equal_type(b, c)))),
% 0.20/0.42      inference(unit_resolution,[status(thm)],[145, 142, 38])).
% 0.20/0.42  tff(147,plain,
% 0.20/0.42      (a_truth(truthteller(a))),
% 0.20/0.42      inference(unit_resolution,[status(thm)],[146, 131])).
% 0.20/0.42  tff(148,plain,
% 0.20/0.42      (((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))) | ((~a_truth(truthteller(a))) | a_truth(liar(b)) | a_truth(equal_type(a, b)))) <=> ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))) | (~a_truth(truthteller(a))) | a_truth(liar(b)) | a_truth(equal_type(a, b)))),
% 0.20/0.42      inference(rewrite,[status(thm)],[])).
% 0.20/0.42  tff(149,plain,
% 0.20/0.42      ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))) | ((~a_truth(truthteller(a))) | a_truth(liar(b)) | a_truth(equal_type(a, b)))),
% 0.20/0.42      inference(quant_inst,[status(thm)],[])).
% 0.20/0.42  tff(150,plain,
% 0.20/0.42      ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(liar(Y)) | a_truth(equal_type(X, Y)))) | (~a_truth(truthteller(a))) | a_truth(liar(b)) | a_truth(equal_type(a, b))),
% 0.20/0.42      inference(modus_ponens,[status(thm)],[149, 148])).
% 0.20/0.42  tff(151,plain,
% 0.20/0.42      ((~a_truth(truthteller(a))) | a_truth(liar(b)) | a_truth(equal_type(a, b))),
% 0.20/0.42      inference(unit_resolution,[status(thm)],[150, 78])).
% 0.20/0.42  tff(152,plain,
% 0.20/0.42      (a_truth(liar(b))),
% 0.20/0.42      inference(unit_resolution,[status(thm)],[151, 14, 147])).
% 0.20/0.42  tff(153,plain,
% 0.20/0.42      (((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))) | ((~a_truth(equal_type(b, c))) | (~a_truth(liar(b))) | a_truth(liar(c)))) <=> ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))) | (~a_truth(equal_type(b, c))) | (~a_truth(liar(b))) | a_truth(liar(c)))),
% 0.20/0.42      inference(rewrite,[status(thm)],[])).
% 0.20/0.42  tff(154,plain,
% 0.20/0.42      (((~a_truth(liar(b))) | a_truth(liar(c)) | (~a_truth(equal_type(b, c)))) <=> ((~a_truth(equal_type(b, c))) | (~a_truth(liar(b))) | a_truth(liar(c)))),
% 0.20/0.42      inference(rewrite,[status(thm)],[])).
% 0.20/0.42  tff(155,plain,
% 0.20/0.42      (((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))) | ((~a_truth(liar(b))) | a_truth(liar(c)) | (~a_truth(equal_type(b, c))))) <=> ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))) | ((~a_truth(equal_type(b, c))) | (~a_truth(liar(b))) | a_truth(liar(c))))),
% 0.20/0.42      inference(monotonicity,[status(thm)],[154])).
% 0.20/0.42  tff(156,plain,
% 0.20/0.42      (((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))) | ((~a_truth(liar(b))) | a_truth(liar(c)) | (~a_truth(equal_type(b, c))))) <=> ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))) | (~a_truth(equal_type(b, c))) | (~a_truth(liar(b))) | a_truth(liar(c)))),
% 0.20/0.42      inference(transitivity,[status(thm)],[155, 153])).
% 0.20/0.42  tff(157,plain,
% 0.20/0.42      ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))) | ((~a_truth(liar(b))) | a_truth(liar(c)) | (~a_truth(equal_type(b, c))))),
% 0.20/0.42      inference(quant_inst,[status(thm)],[])).
% 0.20/0.42  tff(158,plain,
% 0.20/0.42      ((~![Y: $i, X: $i] : ((~a_truth(liar(X))) | a_truth(liar(Y)) | (~a_truth(equal_type(X, Y))))) | (~a_truth(equal_type(b, c))) | (~a_truth(liar(b))) | a_truth(liar(c))),
% 0.20/0.42      inference(modus_ponens,[status(thm)],[157, 156])).
% 0.20/0.42  tff(159,plain,
% 0.20/0.42      ((~a_truth(equal_type(b, c))) | (~a_truth(liar(b))) | a_truth(liar(c))),
% 0.20/0.42      inference(unit_resolution,[status(thm)],[158, 116])).
% 0.20/0.42  tff(160,plain,
% 0.20/0.42      ($false),
% 0.20/0.42      inference(unit_resolution,[status(thm)],[159, 152, 132, 131])).
% 0.20/0.42  tff(161,plain,(a_truth(equal_type(a, b))), inference(lemma,lemma(discharge,[]))).
% 0.20/0.42  tff(162,plain,
% 0.20/0.42      (~a_truth(truthteller(c))),
% 0.20/0.42      inference(unit_resolution,[status(thm)],[105, 161, 11])).
% 0.20/0.42  tff(163,plain,
% 0.20/0.42      (^[Y: $i, X: $i] : refl(((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y)))) <=> ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y)))))),
% 0.20/0.42      inference(bind,[status(th)],[])).
% 0.20/0.42  tff(164,plain,
% 0.20/0.42      (![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y)))) <=> ![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))),
% 0.20/0.42      inference(quant_intro,[status(thm)],[163])).
% 0.20/0.42  tff(165,plain,
% 0.20/0.42      (![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y)))) <=> ![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))),
% 0.20/0.42      inference(rewrite,[status(thm)],[])).
% 0.20/0.42  tff(166,plain,
% 0.20/0.42      (^[Y: $i, X: $i] : trans(monotonicity(rewrite(((~a_truth(equal_type(X, Y))) | (~a_truth(truthteller(X)))) <=> ((~a_truth(truthteller(X))) | (~a_truth(equal_type(X, Y))))), ((((~a_truth(equal_type(X, Y))) | (~a_truth(truthteller(X)))) | a_truth(truthteller(Y))) <=> (((~a_truth(truthteller(X))) | (~a_truth(equal_type(X, Y)))) | a_truth(truthteller(Y))))), rewrite((((~a_truth(truthteller(X))) | (~a_truth(equal_type(X, Y)))) | a_truth(truthteller(Y))) <=> ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))), ((((~a_truth(equal_type(X, Y))) | (~a_truth(truthteller(X)))) | a_truth(truthteller(Y))) <=> ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))))),
% 0.20/0.42      inference(bind,[status(th)],[])).
% 0.20/0.42  tff(167,plain,
% 0.20/0.42      (![Y: $i, X: $i] : (((~a_truth(equal_type(X, Y))) | (~a_truth(truthteller(X)))) | a_truth(truthteller(Y))) <=> ![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))),
% 0.20/0.42      inference(quant_intro,[status(thm)],[166])).
% 0.20/0.42  tff(168,axiom,(![Y: $i, X: $i] : (((~a_truth(equal_type(X, Y))) | (~a_truth(truthteller(X)))) | a_truth(truthteller(Y)))), file('/export/starexec/sandbox/benchmark/theBenchmark.p','truthteller_equals_truthtller')).
% 0.20/0.42  tff(169,plain,
% 0.20/0.42      (![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))),
% 0.20/0.42      inference(modus_ponens,[status(thm)],[168, 167])).
% 0.20/0.42  tff(170,plain,
% 0.20/0.42      (![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))),
% 0.20/0.42      inference(modus_ponens,[status(thm)],[169, 165])).
% 0.20/0.42  tff(171,plain,(
% 0.20/0.42      ![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))),
% 0.20/0.42      inference(skolemize,[status(sab)],[170])).
% 0.20/0.42  tff(172,plain,
% 0.20/0.42      (![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))),
% 0.20/0.42      inference(modus_ponens,[status(thm)],[171, 164])).
% 0.20/0.42  tff(173,plain,
% 0.20/0.42      (((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))) | ((~a_truth(truthteller(a))) | a_truth(truthteller(b)) | (~a_truth(equal_type(a, b))))) <=> ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))) | (~a_truth(truthteller(a))) | a_truth(truthteller(b)) | (~a_truth(equal_type(a, b))))),
% 0.20/0.42      inference(rewrite,[status(thm)],[])).
% 0.20/0.42  tff(174,plain,
% 0.20/0.42      ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))) | ((~a_truth(truthteller(a))) | a_truth(truthteller(b)) | (~a_truth(equal_type(a, b))))),
% 0.20/0.42      inference(quant_inst,[status(thm)],[])).
% 0.20/0.42  tff(175,plain,
% 0.20/0.42      ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))) | (~a_truth(truthteller(a))) | a_truth(truthteller(b)) | (~a_truth(equal_type(a, b)))),
% 0.20/0.42      inference(modus_ponens,[status(thm)],[174, 173])).
% 0.20/0.42  tff(176,plain,
% 0.20/0.42      ((~a_truth(truthteller(a))) | a_truth(truthteller(b)) | (~a_truth(equal_type(a, b)))),
% 0.20/0.42      inference(unit_resolution,[status(thm)],[175, 172])).
% 0.20/0.42  tff(177,plain,
% 0.20/0.42      (a_truth(truthteller(b))),
% 0.20/0.42      inference(unit_resolution,[status(thm)],[176, 161, 147])).
% 0.20/0.42  tff(178,plain,
% 0.20/0.42      (((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))) | ((~a_truth(equal_type(b, c))) | (~a_truth(truthteller(b))) | a_truth(truthteller(c)))) <=> ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))) | (~a_truth(equal_type(b, c))) | (~a_truth(truthteller(b))) | a_truth(truthteller(c)))),
% 0.20/0.42      inference(rewrite,[status(thm)],[])).
% 0.20/0.42  tff(179,plain,
% 0.20/0.42      (((~a_truth(truthteller(b))) | a_truth(truthteller(c)) | (~a_truth(equal_type(b, c)))) <=> ((~a_truth(equal_type(b, c))) | (~a_truth(truthteller(b))) | a_truth(truthteller(c)))),
% 0.20/0.42      inference(rewrite,[status(thm)],[])).
% 0.20/0.42  tff(180,plain,
% 0.20/0.42      (((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))) | ((~a_truth(truthteller(b))) | a_truth(truthteller(c)) | (~a_truth(equal_type(b, c))))) <=> ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))) | ((~a_truth(equal_type(b, c))) | (~a_truth(truthteller(b))) | a_truth(truthteller(c))))),
% 0.20/0.42      inference(monotonicity,[status(thm)],[179])).
% 0.20/0.42  tff(181,plain,
% 0.20/0.42      (((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))) | ((~a_truth(truthteller(b))) | a_truth(truthteller(c)) | (~a_truth(equal_type(b, c))))) <=> ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))) | (~a_truth(equal_type(b, c))) | (~a_truth(truthteller(b))) | a_truth(truthteller(c)))),
% 0.20/0.42      inference(transitivity,[status(thm)],[180, 178])).
% 0.20/0.42  tff(182,plain,
% 0.20/0.42      ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))) | ((~a_truth(truthteller(b))) | a_truth(truthteller(c)) | (~a_truth(equal_type(b, c))))),
% 0.20/0.43      inference(quant_inst,[status(thm)],[])).
% 0.20/0.43  tff(183,plain,
% 0.20/0.43      ((~![Y: $i, X: $i] : ((~a_truth(truthteller(X))) | a_truth(truthteller(Y)) | (~a_truth(equal_type(X, Y))))) | (~a_truth(equal_type(b, c))) | (~a_truth(truthteller(b))) | a_truth(truthteller(c))),
% 0.20/0.43      inference(modus_ponens,[status(thm)],[182, 181])).
% 0.20/0.43  tff(184,plain,
% 0.20/0.43      ((~a_truth(equal_type(b, c))) | (~a_truth(truthteller(b))) | a_truth(truthteller(c))),
% 0.20/0.43      inference(unit_resolution,[status(thm)],[183, 172])).
% 0.20/0.43  tff(185,plain,
% 0.20/0.43      ($false),
% 0.20/0.43      inference(unit_resolution,[status(thm)],[184, 177, 162, 131])).
% 0.20/0.43  % SZS output end Proof
%------------------------------------------------------------------------------