TSTP Solution File: PUZ025-1 by cvc5---1.0.5

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cvc5---1.0.5
% Problem  : PUZ025-1 : TPTP v8.2.0. Released v1.0.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : do_cvc5 %s %d

% Computer : n020.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 : Wed May 29 17:39:08 EDT 2024

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

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.04/0.14  % Problem    : PUZ025-1 : TPTP v8.2.0. Released v1.0.0.
% 0.14/0.15  % Command    : do_cvc5 %s %d
% 0.15/0.36  % Computer : n020.cluster.edu
% 0.15/0.36  % Model    : x86_64 x86_64
% 0.15/0.36  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.36  % Memory   : 8042.1875MB
% 0.15/0.36  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.15/0.36  % CPULimit   : 300
% 0.15/0.36  % WCLimit    : 300
% 0.15/0.36  % DateTime   : Sat May 25 19:50:54 EDT 2024
% 0.15/0.36  % CPUTime    : 
% 0.22/0.52  %----Proving TF0_NAR, FOF, or CNF
% 0.22/0.52  --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 10...
% 0.38/0.56  % SZS status Unsatisfiable for /export/starexec/sandbox2/tmp/tmp.W1XFu5Non4/cvc5---1.0.5_1965.smt2
% 0.38/0.56  % SZS output start Proof for /export/starexec/sandbox2/tmp/tmp.W1XFu5Non4/cvc5---1.0.5_1965.smt2
% 0.40/0.57  (assume a0 (forall ((X $$unsorted)) (or (tptp.a_truth (tptp.truthteller X)) (tptp.a_truth (tptp.liar X)))))
% 0.40/0.57  (assume a1 (forall ((X $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth (tptp.liar X))))))
% 0.40/0.57  (assume a2 (forall ((Truthteller $$unsorted) (Statement $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller Truthteller))) (not (tptp.a_truth (tptp.says Truthteller Statement))) (tptp.a_truth Statement))))
% 0.40/0.57  (assume a3 (forall ((Liar $$unsorted) (Statement $$unsorted)) (or (not (tptp.a_truth (tptp.liar Liar))) (not (tptp.a_truth (tptp.says Liar Statement))) (not (tptp.a_truth Statement)))))
% 0.40/0.57  (assume a4 (forall ((Statement $$unsorted) (Truthteller $$unsorted)) (or (not (tptp.a_truth Statement)) (not (tptp.a_truth (tptp.says Truthteller Statement))) (tptp.a_truth (tptp.truthteller Truthteller)))))
% 0.40/0.57  (assume a5 (forall ((Statement $$unsorted) (Liar $$unsorted)) (or (tptp.a_truth Statement) (not (tptp.a_truth (tptp.says Liar Statement))) (tptp.a_truth (tptp.liar Liar)))))
% 0.40/0.57  (assume a6 (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.people X Y Z)) (not (tptp.a_truth (tptp.liar X))) (not (tptp.a_truth (tptp.liar Y))) (tptp.a_truth (tptp.equal_type X Y)))))
% 0.40/0.57  (assume a7 (forall ((X $$unsorted) (Y $$unsorted) (Z $$unsorted)) (or (not (tptp.people X Y Z)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth (tptp.truthteller Y))) (tptp.a_truth (tptp.equal_type X Y)))))
% 0.40/0.57  (assume a8 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y)))))
% 0.40/0.57  (assume a9 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y)))))
% 0.40/0.57  (assume a10 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y)))))
% 0.40/0.57  (assume a11 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y)))))
% 0.40/0.57  (assume a12 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (tptp.a_truth (tptp.equal_type Y X)))))
% 0.40/0.57  (assume a13 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y)) (tptp.answer tptp.yes))))
% 0.40/0.57  (assume a14 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth Y) (tptp.answer tptp.no))))
% 0.40/0.57  (assume a15 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (not (tptp.a_truth Y)) (tptp.answer tptp.no))))
% 0.40/0.57  (assume a16 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y) (tptp.answer tptp.yes))))
% 0.40/0.57  (assume a17 (tptp.people tptp.b tptp.c tptp.a))
% 0.40/0.57  (assume a18 (tptp.people tptp.a tptp.b tptp.a))
% 0.40/0.57  (assume a19 (tptp.people tptp.a tptp.c tptp.b))
% 0.40/0.57  (assume a20 (tptp.people tptp.c tptp.b tptp.a))
% 0.40/0.57  (assume a21 (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c))))
% 0.40/0.57  (assume a22 (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b)))
% 0.40/0.57  (assume a23 (forall ((Answer $$unsorted)) (not (tptp.answer Answer))))
% 0.40/0.57  (step t1 (cl (=> (forall ((Answer $$unsorted)) (not (tptp.answer Answer))) (not (tptp.answer tptp.yes))) (forall ((Answer $$unsorted)) (not (tptp.answer Answer)))) :rule implies_neg1)
% 0.40/0.57  (anchor :step t2)
% 0.40/0.57  (assume t2.a0 (forall ((Answer $$unsorted)) (not (tptp.answer Answer))))
% 0.40/0.57  (step t2.t1 (cl (or (not (forall ((Answer $$unsorted)) (not (tptp.answer Answer)))) (not (tptp.answer tptp.yes)))) :rule forall_inst :args ((:= Answer tptp.yes)))
% 0.40/0.57  (step t2.t2 (cl (not (forall ((Answer $$unsorted)) (not (tptp.answer Answer)))) (not (tptp.answer tptp.yes))) :rule or :premises (t2.t1))
% 0.40/0.57  (step t2.t3 (cl (not (tptp.answer tptp.yes))) :rule resolution :premises (t2.t2 t2.a0))
% 0.40/0.57  (step t2 (cl (not (forall ((Answer $$unsorted)) (not (tptp.answer Answer)))) (not (tptp.answer tptp.yes))) :rule subproof :discharge (t2.a0))
% 0.40/0.57  (step t3 (cl (=> (forall ((Answer $$unsorted)) (not (tptp.answer Answer))) (not (tptp.answer tptp.yes))) (not (tptp.answer tptp.yes))) :rule resolution :premises (t1 t2))
% 0.40/0.57  (step t4 (cl (=> (forall ((Answer $$unsorted)) (not (tptp.answer Answer))) (not (tptp.answer tptp.yes))) (not (not (tptp.answer tptp.yes)))) :rule implies_neg2)
% 0.40/0.57  (step t5 (cl (=> (forall ((Answer $$unsorted)) (not (tptp.answer Answer))) (not (tptp.answer tptp.yes))) (=> (forall ((Answer $$unsorted)) (not (tptp.answer Answer))) (not (tptp.answer tptp.yes)))) :rule resolution :premises (t3 t4))
% 0.40/0.57  (step t6 (cl (=> (forall ((Answer $$unsorted)) (not (tptp.answer Answer))) (not (tptp.answer tptp.yes)))) :rule contraction :premises (t5))
% 0.40/0.57  (step t7 (cl (not (forall ((Answer $$unsorted)) (not (tptp.answer Answer)))) (not (tptp.answer tptp.yes))) :rule implies :premises (t6))
% 0.40/0.57  (step t8 (cl (not (tptp.answer tptp.yes)) (not (forall ((Answer $$unsorted)) (not (tptp.answer Answer))))) :rule reordering :premises (t7))
% 0.40/0.57  (step t9 (cl (not (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.truthteller tptp.b)))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.truthteller tptp.b))) :rule or_pos)
% 0.40/0.57  (step t10 (cl (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.truthteller tptp.b)) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.truthteller tptp.b))))) :rule reordering :premises (t9))
% 0.40/0.57  (step t11 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.truthteller tptp.b)))) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y))))) :rule implies_neg1)
% 0.40/0.57  (anchor :step t12)
% 0.40/0.57  (assume t12.a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y)))))
% 0.40/0.57  (step t12.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y))))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.truthteller tptp.b))))) :rule forall_inst :args ((:= X tptp.a) (:= Y tptp.b)))
% 0.40/0.57  (step t12.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y))))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.truthteller tptp.b)))) :rule or :premises (t12.t1))
% 0.40/0.57  (step t12.t3 (cl (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.truthteller tptp.b)))) :rule resolution :premises (t12.t2 t12.a0))
% 0.40/0.57  (step t12 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y))))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.truthteller tptp.b)))) :rule subproof :discharge (t12.a0))
% 0.40/0.57  (step t13 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.truthteller tptp.b)))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.truthteller tptp.b)))) :rule resolution :premises (t11 t12))
% 0.40/0.57  (step t14 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.truthteller tptp.b)))) (not (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.truthteller tptp.b))))) :rule implies_neg2)
% 0.40/0.57  (step t15 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.truthteller tptp.b)))) (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.truthteller tptp.b))))) :rule resolution :premises (t13 t14))
% 0.40/0.57  (step t16 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.truthteller tptp.b))))) :rule contraction :premises (t15))
% 0.40/0.57  (step t17 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y))))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.truthteller tptp.b)))) :rule implies :premises (t16))
% 0.40/0.57  (step t18 (cl (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.truthteller tptp.b)))) :rule resolution :premises (t17 a8))
% 0.40/0.57  (step t19 (cl (not (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c)))) (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c))) :rule or_pos)
% 0.40/0.57  (step t20 (cl (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c)) (not (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c))))) :rule reordering :premises (t19))
% 0.40/0.57  (step t21 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c)))) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y))))) :rule implies_neg1)
% 0.40/0.57  (anchor :step t22)
% 0.40/0.57  (assume t22.a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y)))))
% 0.40/0.57  (step t22.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y))))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c))))) :rule forall_inst :args ((:= X tptp.b) (:= Y tptp.c)))
% 0.40/0.57  (step t22.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y))))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c)))) :rule or :premises (t22.t1))
% 0.40/0.57  (step t22.t3 (cl (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c)))) :rule resolution :premises (t22.t2 t22.a0))
% 0.40/0.57  (step t22 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y))))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c)))) :rule subproof :discharge (t22.a0))
% 0.40/0.57  (step t23 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c)))) :rule resolution :premises (t21 t22))
% 0.40/0.57  (step t24 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c)))) (not (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c))))) :rule implies_neg2)
% 0.40/0.57  (step t25 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c)))) (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c))))) :rule resolution :premises (t23 t24))
% 0.40/0.57  (step t26 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c))))) :rule contraction :premises (t25))
% 0.40/0.57  (step t27 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.truthteller Y))))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c)))) :rule implies :premises (t26))
% 0.40/0.57  (step t28 (cl (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c)))) :rule resolution :premises (t27 a8))
% 0.40/0.57  (step t29 (cl (not (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.truthteller tptp.a)))) (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.truthteller tptp.a))) :rule or_pos)
% 0.40/0.57  (step t30 (cl (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.truthteller tptp.a)) (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.truthteller tptp.a))))) :rule reordering :premises (t29))
% 0.40/0.57  (step t31 (cl (=> (forall ((Statement $$unsorted) (Truthteller $$unsorted)) (or (not (tptp.a_truth Statement)) (not (tptp.a_truth (tptp.says Truthteller Statement))) (tptp.a_truth (tptp.truthteller Truthteller)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.truthteller tptp.a)))) (forall ((Statement $$unsorted) (Truthteller $$unsorted)) (or (not (tptp.a_truth Statement)) (not (tptp.a_truth (tptp.says Truthteller Statement))) (tptp.a_truth (tptp.truthteller Truthteller))))) :rule implies_neg1)
% 0.40/0.57  (anchor :step t32)
% 0.40/0.57  (assume t32.a0 (forall ((Statement $$unsorted) (Truthteller $$unsorted)) (or (not (tptp.a_truth Statement)) (not (tptp.a_truth (tptp.says Truthteller Statement))) (tptp.a_truth (tptp.truthteller Truthteller)))))
% 0.40/0.57  (step t32.t1 (cl (or (not (forall ((Statement $$unsorted) (Truthteller $$unsorted)) (or (not (tptp.a_truth Statement)) (not (tptp.a_truth (tptp.says Truthteller Statement))) (tptp.a_truth (tptp.truthteller Truthteller))))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.truthteller tptp.a))))) :rule forall_inst :args ((:= Statement (tptp.equal_type tptp.b tptp.c)) (:= Truthteller tptp.a)))
% 0.40/0.57  (step t32.t2 (cl (not (forall ((Statement $$unsorted) (Truthteller $$unsorted)) (or (not (tptp.a_truth Statement)) (not (tptp.a_truth (tptp.says Truthteller Statement))) (tptp.a_truth (tptp.truthteller Truthteller))))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.truthteller tptp.a)))) :rule or :premises (t32.t1))
% 0.40/0.57  (step t32.t3 (cl (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.truthteller tptp.a)))) :rule resolution :premises (t32.t2 t32.a0))
% 0.40/0.57  (step t32 (cl (not (forall ((Statement $$unsorted) (Truthteller $$unsorted)) (or (not (tptp.a_truth Statement)) (not (tptp.a_truth (tptp.says Truthteller Statement))) (tptp.a_truth (tptp.truthteller Truthteller))))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.truthteller tptp.a)))) :rule subproof :discharge (t32.a0))
% 0.40/0.57  (step t33 (cl (=> (forall ((Statement $$unsorted) (Truthteller $$unsorted)) (or (not (tptp.a_truth Statement)) (not (tptp.a_truth (tptp.says Truthteller Statement))) (tptp.a_truth (tptp.truthteller Truthteller)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.truthteller tptp.a)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.truthteller tptp.a)))) :rule resolution :premises (t31 t32))
% 0.40/0.57  (step t34 (cl (=> (forall ((Statement $$unsorted) (Truthteller $$unsorted)) (or (not (tptp.a_truth Statement)) (not (tptp.a_truth (tptp.says Truthteller Statement))) (tptp.a_truth (tptp.truthteller Truthteller)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.truthteller tptp.a)))) (not (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.truthteller tptp.a))))) :rule implies_neg2)
% 0.40/0.57  (step t35 (cl (=> (forall ((Statement $$unsorted) (Truthteller $$unsorted)) (or (not (tptp.a_truth Statement)) (not (tptp.a_truth (tptp.says Truthteller Statement))) (tptp.a_truth (tptp.truthteller Truthteller)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.truthteller tptp.a)))) (=> (forall ((Statement $$unsorted) (Truthteller $$unsorted)) (or (not (tptp.a_truth Statement)) (not (tptp.a_truth (tptp.says Truthteller Statement))) (tptp.a_truth (tptp.truthteller Truthteller)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.truthteller tptp.a))))) :rule resolution :premises (t33 t34))
% 0.40/0.57  (step t36 (cl (=> (forall ((Statement $$unsorted) (Truthteller $$unsorted)) (or (not (tptp.a_truth Statement)) (not (tptp.a_truth (tptp.says Truthteller Statement))) (tptp.a_truth (tptp.truthteller Truthteller)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.truthteller tptp.a))))) :rule contraction :premises (t35))
% 0.40/0.57  (step t37 (cl (not (forall ((Statement $$unsorted) (Truthteller $$unsorted)) (or (not (tptp.a_truth Statement)) (not (tptp.a_truth (tptp.says Truthteller Statement))) (tptp.a_truth (tptp.truthteller Truthteller))))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.truthteller tptp.a)))) :rule implies :premises (t36))
% 0.40/0.57  (step t38 (cl (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.truthteller tptp.a)))) :rule resolution :premises (t37 a4))
% 0.40/0.57  (step t39 (cl (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (tptp.a_truth (tptp.truthteller tptp.c)) (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c)))) :rule resolution :premises (t10 t18 t20 t28 t30 t38 a21))
% 0.40/0.57  (step t40 (cl (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (tptp.a_truth (tptp.truthteller tptp.c))) :rule contraction :premises (t39))
% 0.40/0.57  (step t41 (cl (not (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.liar tptp.b)))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.liar tptp.b))) :rule or_pos)
% 0.40/0.57  (step t42 (cl (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.liar tptp.b)) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.liar tptp.b))))) :rule reordering :premises (t41))
% 0.40/0.57  (step t43 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.liar tptp.b)))) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y))))) :rule implies_neg1)
% 0.40/0.57  (anchor :step t44)
% 0.40/0.57  (assume t44.a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y)))))
% 0.40/0.57  (step t44.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y))))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.liar tptp.b))))) :rule forall_inst :args ((:= X tptp.a) (:= Y tptp.b)))
% 0.40/0.57  (step t44.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y))))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.liar tptp.b)))) :rule or :premises (t44.t1))
% 0.40/0.57  (step t44.t3 (cl (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.liar tptp.b)))) :rule resolution :premises (t44.t2 t44.a0))
% 0.40/0.57  (step t44 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y))))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.liar tptp.b)))) :rule subproof :discharge (t44.a0))
% 0.40/0.57  (step t45 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.liar tptp.b)))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.liar tptp.b)))) :rule resolution :premises (t43 t44))
% 0.40/0.57  (step t46 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.liar tptp.b)))) (not (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.liar tptp.b))))) :rule implies_neg2)
% 0.40/0.57  (step t47 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.liar tptp.b)))) (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.liar tptp.b))))) :rule resolution :premises (t45 t46))
% 0.40/0.57  (step t48 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.liar tptp.b))))) :rule contraction :premises (t47))
% 0.40/0.57  (step t49 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y))))) (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.liar tptp.b)))) :rule implies :premises (t48))
% 0.40/0.57  (step t50 (cl (or (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.liar tptp.b)))) :rule resolution :premises (t49 a9))
% 0.40/0.57  (step t51 (cl (not (or (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c)))) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c))) :rule or_pos)
% 0.40/0.57  (step t52 (cl (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c)) (not (or (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c))))) :rule reordering :premises (t51))
% 0.40/0.57  (step t53 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c)))) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y))))) :rule implies_neg1)
% 0.40/0.57  (anchor :step t54)
% 0.40/0.57  (assume t54.a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y)))))
% 0.40/0.57  (step t54.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y))))) (or (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c))))) :rule forall_inst :args ((:= X tptp.b) (:= Y tptp.c)))
% 0.40/0.57  (step t54.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y))))) (or (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c)))) :rule or :premises (t54.t1))
% 0.40/0.57  (step t54.t3 (cl (or (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c)))) :rule resolution :premises (t54.t2 t54.a0))
% 0.40/0.57  (step t54 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y))))) (or (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c)))) :rule subproof :discharge (t54.a0))
% 0.40/0.57  (step t55 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c)))) (or (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c)))) :rule resolution :premises (t53 t54))
% 0.40/0.57  (step t56 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c)))) (not (or (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c))))) :rule implies_neg2)
% 0.40/0.57  (step t57 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c)))) (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c))))) :rule resolution :premises (t55 t56))
% 0.40/0.57  (step t58 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c))))) :rule contraction :premises (t57))
% 0.40/0.57  (step t59 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y))))) (or (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c)))) :rule implies :premises (t58))
% 0.40/0.57  (step t60 (cl (or (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c)))) :rule resolution :premises (t59 a11))
% 0.40/0.57  (step t61 (cl (not (or (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.liar tptp.a)))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.liar tptp.a))) :rule or_pos)
% 0.40/0.57  (step t62 (cl (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.a)) (not (or (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.liar tptp.a))))) :rule reordering :premises (t61))
% 0.40/0.57  (step t63 (cl (=> (forall ((Statement $$unsorted) (Liar $$unsorted)) (or (tptp.a_truth Statement) (not (tptp.a_truth (tptp.says Liar Statement))) (tptp.a_truth (tptp.liar Liar)))) (or (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.liar tptp.a)))) (forall ((Statement $$unsorted) (Liar $$unsorted)) (or (tptp.a_truth Statement) (not (tptp.a_truth (tptp.says Liar Statement))) (tptp.a_truth (tptp.liar Liar))))) :rule implies_neg1)
% 0.40/0.57  (anchor :step t64)
% 0.40/0.57  (assume t64.a0 (forall ((Statement $$unsorted) (Liar $$unsorted)) (or (tptp.a_truth Statement) (not (tptp.a_truth (tptp.says Liar Statement))) (tptp.a_truth (tptp.liar Liar)))))
% 0.40/0.57  (step t64.t1 (cl (or (not (forall ((Statement $$unsorted) (Liar $$unsorted)) (or (tptp.a_truth Statement) (not (tptp.a_truth (tptp.says Liar Statement))) (tptp.a_truth (tptp.liar Liar))))) (or (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.liar tptp.a))))) :rule forall_inst :args ((:= Statement (tptp.equal_type tptp.b tptp.c)) (:= Liar tptp.a)))
% 0.40/0.57  (step t64.t2 (cl (not (forall ((Statement $$unsorted) (Liar $$unsorted)) (or (tptp.a_truth Statement) (not (tptp.a_truth (tptp.says Liar Statement))) (tptp.a_truth (tptp.liar Liar))))) (or (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.liar tptp.a)))) :rule or :premises (t64.t1))
% 0.40/0.57  (step t64.t3 (cl (or (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.liar tptp.a)))) :rule resolution :premises (t64.t2 t64.a0))
% 0.40/0.57  (step t64 (cl (not (forall ((Statement $$unsorted) (Liar $$unsorted)) (or (tptp.a_truth Statement) (not (tptp.a_truth (tptp.says Liar Statement))) (tptp.a_truth (tptp.liar Liar))))) (or (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.liar tptp.a)))) :rule subproof :discharge (t64.a0))
% 0.40/0.57  (step t65 (cl (=> (forall ((Statement $$unsorted) (Liar $$unsorted)) (or (tptp.a_truth Statement) (not (tptp.a_truth (tptp.says Liar Statement))) (tptp.a_truth (tptp.liar Liar)))) (or (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.liar tptp.a)))) (or (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.liar tptp.a)))) :rule resolution :premises (t63 t64))
% 0.40/0.57  (step t66 (cl (=> (forall ((Statement $$unsorted) (Liar $$unsorted)) (or (tptp.a_truth Statement) (not (tptp.a_truth (tptp.says Liar Statement))) (tptp.a_truth (tptp.liar Liar)))) (or (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.liar tptp.a)))) (not (or (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.liar tptp.a))))) :rule implies_neg2)
% 0.40/0.57  (step t67 (cl (=> (forall ((Statement $$unsorted) (Liar $$unsorted)) (or (tptp.a_truth Statement) (not (tptp.a_truth (tptp.says Liar Statement))) (tptp.a_truth (tptp.liar Liar)))) (or (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.liar tptp.a)))) (=> (forall ((Statement $$unsorted) (Liar $$unsorted)) (or (tptp.a_truth Statement) (not (tptp.a_truth (tptp.says Liar Statement))) (tptp.a_truth (tptp.liar Liar)))) (or (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.liar tptp.a))))) :rule resolution :premises (t65 t66))
% 0.40/0.57  (step t68 (cl (=> (forall ((Statement $$unsorted) (Liar $$unsorted)) (or (tptp.a_truth Statement) (not (tptp.a_truth (tptp.says Liar Statement))) (tptp.a_truth (tptp.liar Liar)))) (or (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.liar tptp.a))))) :rule contraction :premises (t67))
% 0.40/0.57  (step t69 (cl (not (forall ((Statement $$unsorted) (Liar $$unsorted)) (or (tptp.a_truth Statement) (not (tptp.a_truth (tptp.says Liar Statement))) (tptp.a_truth (tptp.liar Liar))))) (or (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.liar tptp.a)))) :rule implies :premises (t68))
% 0.40/0.57  (step t70 (cl (or (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (not (tptp.a_truth (tptp.says tptp.a (tptp.equal_type tptp.b tptp.c)))) (tptp.a_truth (tptp.liar tptp.a)))) :rule resolution :premises (t69 a5))
% 0.40/0.57  (step t71 (cl (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c)) (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) :rule resolution :premises (t42 t50 t52 t60 t62 t70 a21))
% 0.40/0.57  (step t72 (cl (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c))) :rule contraction :premises (t71))
% 0.40/0.57  (step t73 (cl (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c)) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))) :rule reordering :premises (t72))
% 0.40/0.57  (step t74 (cl (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c)) (tptp.a_truth (tptp.truthteller tptp.c)) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))) :rule resolution :premises (t40 t73))
% 0.40/0.57  (step t75 (cl (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (tptp.a_truth (tptp.truthteller tptp.c))) :rule contraction :premises (t74))
% 0.40/0.57  (step t76 (cl (not (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.c))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))))) (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.c))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))) :rule or_pos)
% 0.40/0.57  (step t77 (cl (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.c))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.c))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))))) :rule reordering :premises (t76))
% 0.40/0.57  (step t78 (cl (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.c))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))))) :rule resolution :premises (t75 t77 a22))
% 0.40/0.57  (step t79 (cl (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) (not (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.c))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))))) :rule contraction :premises (t78))
% 0.40/0.57  (step t80 (cl (not (or (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.truthteller tptp.b)))) (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.truthteller tptp.b))) :rule or_pos)
% 0.40/0.57  (step t81 (cl (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.truthteller tptp.b)) (not (or (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.truthteller tptp.b))))) :rule reordering :premises (t80))
% 0.40/0.57  (step t82 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.truthteller tptp.b)))) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y))))) :rule implies_neg1)
% 0.40/0.57  (anchor :step t83)
% 0.40/0.57  (assume t83.a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y)))))
% 0.40/0.57  (step t83.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y))))) (or (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.truthteller tptp.b))))) :rule forall_inst :args ((:= X tptp.a) (:= Y tptp.b)))
% 0.40/0.57  (step t83.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y))))) (or (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.truthteller tptp.b)))) :rule or :premises (t83.t1))
% 0.40/0.57  (step t83.t3 (cl (or (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.truthteller tptp.b)))) :rule resolution :premises (t83.t2 t83.a0))
% 0.40/0.57  (step t83 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y))))) (or (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.truthteller tptp.b)))) :rule subproof :discharge (t83.a0))
% 0.40/0.57  (step t84 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.truthteller tptp.b)))) (or (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.truthteller tptp.b)))) :rule resolution :premises (t82 t83))
% 0.40/0.57  (step t85 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.truthteller tptp.b)))) (not (or (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.truthteller tptp.b))))) :rule implies_neg2)
% 0.40/0.57  (step t86 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.truthteller tptp.b)))) (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.truthteller tptp.b))))) :rule resolution :premises (t84 t85))
% 0.40/0.57  (step t87 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y)))) (or (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.truthteller tptp.b))))) :rule contraction :premises (t86))
% 0.40/0.57  (step t88 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.truthteller Y))))) (or (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.truthteller tptp.b)))) :rule implies :premises (t87))
% 0.40/0.57  (step t89 (cl (or (not (tptp.a_truth (tptp.liar tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.truthteller tptp.b)))) :rule resolution :premises (t88 a11))
% 0.40/0.57  (step t90 (cl (not (or (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c)))) (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c))) :rule or_pos)
% 0.40/0.57  (step t91 (cl (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c)) (not (tptp.a_truth (tptp.truthteller tptp.b))) (not (or (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c))))) :rule reordering :premises (t90))
% 0.40/0.57  (step t92 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c)))) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y))))) :rule implies_neg1)
% 0.40/0.57  (anchor :step t93)
% 0.40/0.57  (assume t93.a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y)))))
% 0.40/0.57  (step t93.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y))))) (or (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c))))) :rule forall_inst :args ((:= X tptp.b) (:= Y tptp.c)))
% 0.40/0.57  (step t93.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y))))) (or (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c)))) :rule or :premises (t93.t1))
% 0.40/0.57  (step t93.t3 (cl (or (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c)))) :rule resolution :premises (t93.t2 t93.a0))
% 0.40/0.57  (step t93 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y))))) (or (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c)))) :rule subproof :discharge (t93.a0))
% 0.40/0.57  (step t94 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c)))) (or (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c)))) :rule resolution :premises (t92 t93))
% 0.40/0.57  (step t95 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c)))) (not (or (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c))))) :rule implies_neg2)
% 0.40/0.57  (step t96 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c)))) (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c))))) :rule resolution :premises (t94 t95))
% 0.40/0.57  (step t97 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c))))) :rule contraction :premises (t96))
% 0.40/0.57  (step t98 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y))))) (or (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c)))) :rule implies :premises (t97))
% 0.40/0.57  (step t99 (cl (or (not (tptp.a_truth (tptp.truthteller tptp.b))) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c)))) :rule resolution :premises (t98 a10))
% 0.40/0.57  (step t100 (cl (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c)) (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) :rule resolution :premises (t81 t89 t91 t99 t62 t70 a21))
% 0.40/0.57  (step t101 (cl (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.equal_type tptp.b tptp.c)) (tptp.a_truth (tptp.liar tptp.c))) :rule contraction :premises (t100))
% 0.40/0.57  (step t102 (cl (not (or (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.liar tptp.b)))) (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.liar tptp.b))) :rule or_pos)
% 0.40/0.57  (step t103 (cl (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.liar tptp.b)) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (not (or (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.liar tptp.b))))) :rule reordering :premises (t102))
% 0.40/0.57  (step t104 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.liar tptp.b)))) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y))))) :rule implies_neg1)
% 0.40/0.57  (anchor :step t105)
% 0.40/0.57  (assume t105.a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y)))))
% 0.40/0.57  (step t105.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y))))) (or (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.liar tptp.b))))) :rule forall_inst :args ((:= X tptp.a) (:= Y tptp.b)))
% 0.40/0.57  (step t105.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y))))) (or (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.liar tptp.b)))) :rule or :premises (t105.t1))
% 0.40/0.57  (step t105.t3 (cl (or (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.liar tptp.b)))) :rule resolution :premises (t105.t2 t105.a0))
% 0.40/0.57  (step t105 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y))))) (or (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.liar tptp.b)))) :rule subproof :discharge (t105.a0))
% 0.40/0.57  (step t106 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.liar tptp.b)))) (or (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.liar tptp.b)))) :rule resolution :premises (t104 t105))
% 0.40/0.57  (step t107 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.liar tptp.b)))) (not (or (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.liar tptp.b))))) :rule implies_neg2)
% 0.40/0.57  (step t108 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.liar tptp.b)))) (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.liar tptp.b))))) :rule resolution :premises (t106 t107))
% 0.40/0.57  (step t109 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.liar tptp.b))))) :rule contraction :premises (t108))
% 0.40/0.57  (step t110 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.truthteller X))) (tptp.a_truth (tptp.equal_type X Y)) (tptp.a_truth (tptp.liar Y))))) (or (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.liar tptp.b)))) :rule implies :premises (t109))
% 0.40/0.57  (step t111 (cl (or (not (tptp.a_truth (tptp.truthteller tptp.a))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.liar tptp.b)))) :rule resolution :premises (t110 a10))
% 0.40/0.57  (step t112 (cl (not (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.liar tptp.c)))) (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.liar tptp.c))) :rule or_pos)
% 0.40/0.57  (step t113 (cl (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.liar tptp.c)) (not (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.liar tptp.c))))) :rule reordering :premises (t112))
% 0.40/0.57  (step t114 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.liar tptp.c)))) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y))))) :rule implies_neg1)
% 0.40/0.57  (anchor :step t115)
% 0.40/0.57  (assume t115.a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y)))))
% 0.40/0.57  (step t115.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y))))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.liar tptp.c))))) :rule forall_inst :args ((:= X tptp.b) (:= Y tptp.c)))
% 0.40/0.57  (step t115.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y))))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.liar tptp.c)))) :rule or :premises (t115.t1))
% 0.40/0.57  (step t115.t3 (cl (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.liar tptp.c)))) :rule resolution :premises (t115.t2 t115.a0))
% 0.40/0.57  (step t115 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y))))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.liar tptp.c)))) :rule subproof :discharge (t115.a0))
% 0.40/0.57  (step t116 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.liar tptp.c)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.liar tptp.c)))) :rule resolution :premises (t114 t115))
% 0.40/0.57  (step t117 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.liar tptp.c)))) (not (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.liar tptp.c))))) :rule implies_neg2)
% 0.40/0.57  (step t118 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.liar tptp.c)))) (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.liar tptp.c))))) :rule resolution :premises (t116 t117))
% 0.40/0.57  (step t119 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y)))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.liar tptp.c))))) :rule contraction :premises (t118))
% 0.40/0.57  (step t120 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.a_truth (tptp.equal_type X Y))) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth (tptp.liar Y))))) (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.liar tptp.c)))) :rule implies :premises (t119))
% 0.40/0.57  (step t121 (cl (or (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (not (tptp.a_truth (tptp.liar tptp.b))) (tptp.a_truth (tptp.liar tptp.c)))) :rule resolution :premises (t120 a9))
% 0.40/0.57  (step t122 (cl (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (tptp.a_truth (tptp.liar tptp.c)) (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c)))) :rule resolution :premises (t103 t111 t113 t121 t30 t38 a21))
% 0.40/0.57  (step t123 (cl (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (tptp.a_truth (tptp.liar tptp.c))) :rule contraction :premises (t122))
% 0.40/0.57  (step t124 (cl (not (tptp.a_truth (tptp.equal_type tptp.b tptp.c))) (tptp.a_truth (tptp.liar tptp.c)) (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) :rule reordering :premises (t123))
% 0.40/0.57  (step t125 (cl (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.liar tptp.c)) (tptp.a_truth (tptp.liar tptp.c)) (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) :rule resolution :premises (t101 t124))
% 0.40/0.57  (step t126 (cl (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.liar tptp.c))) :rule contraction :premises (t125))
% 0.40/0.57  (step t127 (cl (not (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.c))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))) (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.c))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b))) :rule or_pos)
% 0.40/0.57  (step t128 (cl (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.c))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (not (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.c))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b))))) :rule reordering :premises (t127))
% 0.40/0.57  (step t129 (cl (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (not (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.c))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b))))) :rule resolution :premises (t126 t128 a22))
% 0.40/0.57  (step t130 (cl (tptp.a_truth (tptp.equal_type tptp.a tptp.b)) (not (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.c))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b))))) :rule contraction :premises (t129))
% 0.40/0.57  (step t131 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.c))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y)))) :rule implies_neg1)
% 0.40/0.57  (anchor :step t132)
% 0.40/0.57  (assume t132.a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y))))
% 0.40/0.57  (step t132.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y)))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.c))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b))))) :rule forall_inst :args ((:= X tptp.c) (:= Y (tptp.equal_type tptp.a tptp.b))))
% 0.40/0.57  (step t132.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y)))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.c))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))) :rule or :premises (t132.t1))
% 0.40/0.57  (step t132.t3 (cl (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.c))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))) :rule resolution :premises (t132.t2 t132.a0))
% 0.40/0.57  (step t132 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y)))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.c))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))) :rule subproof :discharge (t132.a0))
% 0.40/0.57  (step t133 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.c))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.c))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))) :rule resolution :premises (t131 t132))
% 0.40/0.57  (step t134 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.c))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))) (not (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.c))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b))))) :rule implies_neg2)
% 0.40/0.57  (step t135 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.c))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))) (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.c))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b))))) :rule resolution :premises (t133 t134))
% 0.40/0.57  (step t136 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.c))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b))))) :rule contraction :premises (t135))
% 0.40/0.57  (step t137 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y)))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.liar tptp.c))) (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))) :rule implies :premises (t136))
% 0.40/0.57  (step t138 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y)))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.c))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))))) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y))))) :rule implies_neg1)
% 0.40/0.57  (anchor :step t139)
% 0.40/0.57  (assume t139.a0 (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y)))))
% 0.40/0.57  (step t139.t1 (cl (or (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y))))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.c))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))))) :rule forall_inst :args ((:= X tptp.c) (:= Y (tptp.equal_type tptp.a tptp.b))))
% 0.40/0.57  (step t139.t2 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y))))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.c))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))))) :rule or :premises (t139.t1))
% 0.40/0.57  (step t139.t3 (cl (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.c))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))))) :rule resolution :premises (t139.t2 t139.a0))
% 0.40/0.57  (step t139 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y))))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.c))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))))) :rule subproof :discharge (t139.a0))
% 0.40/0.57  (step t140 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y)))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.c))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.c))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))))) :rule resolution :premises (t138 t139))
% 0.40/0.57  (step t141 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y)))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.c))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))))) (not (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.c))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))))) :rule implies_neg2)
% 0.40/0.57  (step t142 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y)))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.c))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))))) (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y)))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.c))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))))) :rule resolution :premises (t140 t141))
% 0.40/0.57  (step t143 (cl (=> (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y)))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.c))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b)))))) :rule contraction :premises (t142))
% 0.40/0.57  (step t144 (cl (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y))))) (or (not (tptp.ask_1_if_2 tptp.c (tptp.equal_type tptp.a tptp.b))) (not (tptp.a_truth (tptp.truthteller tptp.c))) (not (tptp.a_truth (tptp.equal_type tptp.a tptp.b))))) :rule implies :premises (t143))
% 0.40/0.57  (step t145 (cl (not (= (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y) (tptp.answer tptp.yes))) (or (tptp.answer tptp.yes) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y)))))) (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y) (tptp.answer tptp.yes)))) (or (tptp.answer tptp.yes) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y))))) :rule equiv_pos2)
% 0.40/0.57  (step t146 (cl (= (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y) (tptp.answer tptp.yes))) (or (tptp.answer tptp.yes) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y)))))) :rule all_simplify)
% 0.40/0.57  (step t147 (cl (or (tptp.answer tptp.yes) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y))))) :rule resolution :premises (t145 t146 a16))
% 0.40/0.57  (step t148 (cl (tptp.answer tptp.yes) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.liar X))) (tptp.a_truth Y)))) :rule or :premises (t147))
% 0.40/0.57  (step t149 (cl (not (= (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y)) (tptp.answer tptp.yes))) (or (tptp.answer tptp.yes) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y))))))) (not (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y)) (tptp.answer tptp.yes)))) (or (tptp.answer tptp.yes) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y)))))) :rule equiv_pos2)
% 0.40/0.57  (step t150 (cl (= (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y)) (tptp.answer tptp.yes))) (or (tptp.answer tptp.yes) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y))))))) :rule all_simplify)
% 0.40/0.57  (step t151 (cl (or (tptp.answer tptp.yes) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y)))))) :rule resolution :premises (t149 t150 a13))
% 0.40/0.57  (step t152 (cl (tptp.answer tptp.yes) (forall ((X $$unsorted) (Y $$unsorted)) (or (not (tptp.ask_1_if_2 X Y)) (not (tptp.a_truth (tptp.truthteller X))) (not (tptp.a_truth Y))))) :rule or :premises (t151))
% 0.40/0.57  (step t153 (cl (tptp.answer tptp.yes) (tptp.answer tptp.yes)) :rule resolution :premises (t79 t130 t137 t144 t148 t152))
% 0.40/0.57  (step t154 (cl (tptp.answer tptp.yes)) :rule contraction :premises (t153))
% 0.40/0.57  (step t155 (cl) :rule resolution :premises (t8 t154 a23))
% 0.40/0.57  
% 0.40/0.57  % SZS output end Proof for /export/starexec/sandbox2/tmp/tmp.W1XFu5Non4/cvc5---1.0.5_1965.smt2
% 0.40/0.58  % cvc5---1.0.5 exiting
% 0.40/0.58  % cvc5---1.0.5 exiting
%------------------------------------------------------------------------------