%------------------------------------------------------------------------------
% File : Z3---4.15.1
% Problem : COM217_1 : TPTP v9.3.0. Released v9.3.0.
% Transfm : none
% Format : tptp
% Command : run_E %s %d THM
% Computer : n016.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 : Tue May 5 06:23:01 PM UTC 2026
% Result : Theorem 0.21s 0.44s
% Output : Proof 0.31s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.12/0.13 % Problem : COM217_1 : TPTP v9.3.0. Released v9.3.0.
% 0.12/0.13 % Command : run_E %s %d THM
% 0.17/0.34 % Computer : n016.cluster.edu
% 0.17/0.34 % Model : x86_64 x86_64
% 0.17/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.17/0.34 % Memory : 8042.1875MB
% 0.17/0.34 % OS : Linux 3.10.0-693.el7.x86_64
% 0.17/0.34 % CPULimit : 300
% 0.17/0.34 % WCLimit : 300
% 0.17/0.34 % DateTime : Mon May 4 18:59:07 EDT 2026
% 0.17/0.35 % CPUTime :
% 0.21/0.44 % SZS status Theorem
% 0.21/0.44 % SZS output start Proof
% 0.21/0.44 tff(vTrue_type, type, (
% 0.21/0.44 vTrue: vTerm)).
% 0.21/0.44 tff(vt1_type, type, (
% 0.21/0.44 vt1: vTerm)).
% 0.21/0.44 tff(vptchecksimple_type, type, (
% 0.21/0.44 vptchecksimple: ( vTerm * vTy ) > $o)).
% 0.21/0.44 tff(tptp_fun_VT_63_type, type, (
% 0.21/0.44 tptp_fun_VT_63: vTy)).
% 0.21/0.44 tff(tptp_fun_Vtres_62_type, type, (
% 0.21/0.44 tptp_fun_Vtres_62: vTerm)).
% 0.21/0.44 tff(vsomeTerm_type, type, (
% 0.21/0.44 vsomeTerm: vTerm > vOptTerm)).
% 0.21/0.44 tff(vreduce_type, type, (
% 0.21/0.44 vreduce: vTerm > vOptTerm)).
% 0.21/0.44 tff(vIfelse_type, type, (
% 0.21/0.44 vIfelse: ( vTerm * vTerm * vTerm ) > vTerm)).
% 0.21/0.44 tff(vt3_type, type, (
% 0.21/0.44 vt3: vTerm)).
% 0.21/0.44 tff(vt2_type, type, (
% 0.21/0.44 vt2: vTerm)).
% 0.21/0.44 tff(vFalse_type, type, (
% 0.21/0.44 vFalse: vTerm)).
% 0.21/0.44 tff(1,plain,
% 0.21/0.44 ((~![VT: vTy, Vtres: vTerm] : ((~(vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))) <=> (~![VT: vTy, Vtres: vTerm] : ((~(vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)))),
% 0.21/0.44 inference(rewrite,[status(thm)],[])).
% 0.21/0.44 tff(2,plain,
% 0.21/0.44 ((~![VT: vTy, Vtres: vTerm] : ((vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT))) <=> (~![VT: vTy, Vtres: vTerm] : ((~(vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)))),
% 0.21/0.44 inference(rewrite,[status(thm)],[])).
% 0.21/0.44 tff(3,axiom,(~![VT: vTy, Vtres: vTerm] : ((vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p',''Preservation-Ifelse'')).
% 0.21/0.44 tff(4,plain,
% 0.21/0.44 (~![VT: vTy, Vtres: vTerm] : ((~(vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.21/0.44 inference(modus_ponens,[status(thm)],[3, 2])).
% 0.21/0.44 tff(5,plain,
% 0.21/0.44 (~![VT: vTy, Vtres: vTerm] : ((~(vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.21/0.44 inference(modus_ponens,[status(thm)],[4, 1])).
% 0.21/0.44 tff(6,plain,
% 0.21/0.44 (~![VT: vTy, Vtres: vTerm] : ((~(vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.21/0.44 inference(modus_ponens,[status(thm)],[5, 1])).
% 0.21/0.44 tff(7,plain,
% 0.21/0.44 (~![VT: vTy, Vtres: vTerm] : ((~(vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.21/0.44 inference(modus_ponens,[status(thm)],[6, 1])).
% 0.21/0.44 tff(8,plain,(
% 0.21/0.44 ~((~(vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62)))) | vptchecksimple(Vtres!62, VT!63))),
% 0.21/0.44 inference(skolemize,[status(sab)],[7])).
% 0.21/0.44 tff(9,plain,
% 0.21/0.44 (~vptchecksimple(Vtres!62, VT!63)),
% 0.21/0.44 inference(or_elim,[status(thm)],[8])).
% 0.21/0.44 tff(10,plain,
% 0.21/0.44 (vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))),
% 0.21/0.44 inference(or_elim,[status(thm)],[8])).
% 0.21/0.44 tff(11,plain,
% 0.21/0.44 (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62)),
% 0.21/0.44 inference(and_elim,[status(thm)],[10])).
% 0.21/0.44 tff(12,plain,
% 0.21/0.44 (vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)),
% 0.21/0.44 inference(and_elim,[status(thm)],[10])).
% 0.21/0.44 tff(13,plain,
% 0.21/0.44 (^[VT: vTy, Vtres: vTerm] : refl((vptchecksimple(Vtres, VT) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) <=> (vptchecksimple(Vtres, VT) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))))),
% 0.21/0.44 inference(bind,[status(th)],[])).
% 0.21/0.44 tff(14,plain,
% 0.21/0.44 (![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) <=> ![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))),
% 0.21/0.44 inference(quant_intro,[status(thm)],[13])).
% 0.21/0.44 tff(15,plain,
% 0.21/0.44 (^[VT: vTy, Vtres: vTerm] : trans(monotonicity(trans(monotonicity(rewrite(((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) <=> (~((~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))))), ((~((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) <=> (~(~((~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))))))), rewrite((~(~((~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))))) <=> ((~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))), ((~((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) <=> ((~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))))), (((~((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> (((~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)))), rewrite((((~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> (vptchecksimple(Vtres, VT) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))), (((~((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> (vptchecksimple(Vtres, VT) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))))),
% 0.21/0.44 inference(bind,[status(th)],[])).
% 0.21/0.44 tff(16,plain,
% 0.21/0.44 (![VT: vTy, Vtres: vTerm] : ((~((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> ![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))),
% 0.21/0.44 inference(quant_intro,[status(thm)],[15])).
% 0.21/0.44 tff(17,plain,
% 0.21/0.44 (![VT: vTy, Vtres: vTerm] : ((~((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> ![VT: vTy, Vtres: vTerm] : ((~((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.21/0.44 inference(rewrite,[status(thm)],[])).
% 0.21/0.44 tff(18,plain,
% 0.21/0.44 (^[VT: vTy, Vtres: vTerm] : trans(monotonicity(rewrite((((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) <=> ((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))), (((((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> (((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)))), rewrite((((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> ((~((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))), (((((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> ((~((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))))),
% 0.21/0.45 inference(bind,[status(th)],[])).
% 0.21/0.45 tff(19,plain,
% 0.21/0.45 (![VT: vTy, Vtres: vTerm] : ((((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> ![VT: vTy, Vtres: vTerm] : ((~((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.21/0.45 inference(quant_intro,[status(thm)],[18])).
% 0.21/0.45 tff(20,axiom,(![VT: vTy, Vtres: vTerm] : ((((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p',''Preservation-Ifelse-True'')).
% 0.21/0.45 tff(21,plain,
% 0.21/0.45 (![VT: vTy, Vtres: vTerm] : ((~((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.21/0.45 inference(modus_ponens,[status(thm)],[20, 19])).
% 0.21/0.45 tff(22,plain,
% 0.21/0.45 (![VT: vTy, Vtres: vTerm] : ((~((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.21/0.45 inference(modus_ponens,[status(thm)],[21, 17])).
% 0.21/0.45 tff(23,plain,(
% 0.21/0.45 ![VT: vTy, Vtres: vTerm] : ((~((vt1 = vTrue) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.21/0.45 inference(skolemize,[status(sab)],[22])).
% 0.21/0.45 tff(24,plain,
% 0.21/0.45 (![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))),
% 0.21/0.45 inference(modus_ponens,[status(thm)],[23, 16])).
% 0.21/0.45 tff(25,plain,
% 0.21/0.45 (![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))),
% 0.21/0.45 inference(modus_ponens,[status(thm)],[24, 14])).
% 0.21/0.45 tff(26,plain,
% 0.21/0.45 (((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | ((~(vt1 = vTrue)) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))) <=> ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | (~(vt1 = vTrue)) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))),
% 0.21/0.45 inference(rewrite,[status(thm)],[])).
% 0.21/0.45 tff(27,plain,
% 0.21/0.45 ((vptchecksimple(Vtres!62, VT!63) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62)))) <=> ((~(vt1 = vTrue)) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))),
% 0.21/0.45 inference(rewrite,[status(thm)],[])).
% 0.21/0.45 tff(28,plain,
% 0.21/0.45 (((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | (vptchecksimple(Vtres!62, VT!63) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))) <=> ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | ((~(vt1 = vTrue)) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62)))))),
% 0.21/0.45 inference(monotonicity,[status(thm)],[27])).
% 0.21/0.45 tff(29,plain,
% 0.21/0.45 (((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | (vptchecksimple(Vtres!62, VT!63) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))) <=> ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | (~(vt1 = vTrue)) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))),
% 0.21/0.45 inference(transitivity,[status(thm)],[28, 26])).
% 0.21/0.45 tff(30,plain,
% 0.21/0.45 ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | (vptchecksimple(Vtres!62, VT!63) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))),
% 0.21/0.45 inference(quant_inst,[status(thm)],[])).
% 0.21/0.45 tff(31,plain,
% 0.21/0.45 ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~(vt1 = vTrue)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | (~(vt1 = vTrue)) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62)))),
% 0.21/0.45 inference(modus_ponens,[status(thm)],[30, 29])).
% 0.21/0.45 tff(32,plain,
% 0.21/0.45 (~(vt1 = vTrue)),
% 0.21/0.45 inference(unit_resolution,[status(thm)],[31, 25, 12, 11, 9])).
% 0.21/0.45 tff(33,plain,
% 0.21/0.45 (^[VT: vTy, Vtres: vTerm] : refl((vptchecksimple(Vtres, VT) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) <=> (vptchecksimple(Vtres, VT) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))))),
% 0.21/0.45 inference(bind,[status(th)],[])).
% 0.21/0.45 tff(34,plain,
% 0.21/0.45 (![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) <=> ![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))),
% 0.21/0.45 inference(quant_intro,[status(thm)],[33])).
% 0.21/0.45 tff(35,plain,
% 0.21/0.45 (^[VT: vTy, Vtres: vTerm] : trans(monotonicity(trans(monotonicity(rewrite(((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) <=> (~((vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))))), ((~((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) <=> (~(~((vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))))))), rewrite((~(~((vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))))) <=> ((vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))), ((~((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) <=> ((vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))))), (((~((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> (((vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)))), rewrite((((vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> (vptchecksimple(Vtres, VT) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))), (((~((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> (vptchecksimple(Vtres, VT) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))))),
% 0.31/0.46 inference(bind,[status(th)],[])).
% 0.31/0.46 tff(36,plain,
% 0.31/0.46 (![VT: vTy, Vtres: vTerm] : ((~((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> ![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))),
% 0.31/0.46 inference(quant_intro,[status(thm)],[35])).
% 0.31/0.46 tff(37,plain,
% 0.31/0.46 (![VT: vTy, Vtres: vTerm] : ((~((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> ![VT: vTy, Vtres: vTerm] : ((~((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.31/0.46 inference(rewrite,[status(thm)],[])).
% 0.31/0.46 tff(38,plain,
% 0.31/0.46 (^[VT: vTy, Vtres: vTerm] : trans(monotonicity(trans(monotonicity(rewrite((((~(vt1 = vTrue)) & (vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) <=> ((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT))), (((((~(vt1 = vTrue)) & (vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) <=> (((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))), rewrite((((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) <=> ((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))), (((((~(vt1 = vTrue)) & (vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) <=> ((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))), ((((((~(vt1 = vTrue)) & (vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> (((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)))), rewrite((((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> ((~((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))), ((((((~(vt1 = vTrue)) & (vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> ((~((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))))),
% 0.31/0.46 inference(bind,[status(th)],[])).
% 0.31/0.46 tff(39,plain,
% 0.31/0.46 (![VT: vTy, Vtres: vTerm] : (((((~(vt1 = vTrue)) & (vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> ![VT: vTy, Vtres: vTerm] : ((~((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.31/0.46 inference(quant_intro,[status(thm)],[38])).
% 0.31/0.46 tff(40,axiom,(![VT: vTy, Vtres: vTerm] : (((((~(vt1 = vTrue)) & (vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p',''Preservation-Ifelse-False'')).
% 0.31/0.46 tff(41,plain,
% 0.31/0.46 (![VT: vTy, Vtres: vTerm] : ((~((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.31/0.46 inference(modus_ponens,[status(thm)],[40, 39])).
% 0.31/0.46 tff(42,plain,
% 0.31/0.46 (![VT: vTy, Vtres: vTerm] : ((~((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.31/0.46 inference(modus_ponens,[status(thm)],[41, 37])).
% 0.31/0.46 tff(43,plain,(
% 0.31/0.46 ![VT: vTy, Vtres: vTerm] : ((~((~(vt1 = vTrue)) & (vt1 = vFalse) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.31/0.46 inference(skolemize,[status(sab)],[42])).
% 0.31/0.46 tff(44,plain,
% 0.31/0.46 (![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))),
% 0.31/0.46 inference(modus_ponens,[status(thm)],[43, 36])).
% 0.31/0.46 tff(45,plain,
% 0.31/0.46 (![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))),
% 0.31/0.46 inference(modus_ponens,[status(thm)],[44, 34])).
% 0.31/0.46 tff(46,plain,
% 0.31/0.46 (((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | ((vt1 = vTrue) | (~(vt1 = vFalse)) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))) <=> ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | (vt1 = vTrue) | (~(vt1 = vFalse)) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))),
% 0.31/0.46 inference(rewrite,[status(thm)],[])).
% 0.31/0.46 tff(47,plain,
% 0.31/0.46 ((vptchecksimple(Vtres!62, VT!63) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62)))) <=> ((vt1 = vTrue) | (~(vt1 = vFalse)) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))),
% 0.31/0.46 inference(rewrite,[status(thm)],[])).
% 0.31/0.46 tff(48,plain,
% 0.31/0.46 (((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | (vptchecksimple(Vtres!62, VT!63) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))) <=> ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | ((vt1 = vTrue) | (~(vt1 = vFalse)) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62)))))),
% 0.31/0.46 inference(monotonicity,[status(thm)],[47])).
% 0.31/0.46 tff(49,plain,
% 0.31/0.46 (((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | (vptchecksimple(Vtres!62, VT!63) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))) <=> ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | (vt1 = vTrue) | (~(vt1 = vFalse)) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))),
% 0.31/0.46 inference(transitivity,[status(thm)],[48, 46])).
% 0.31/0.46 tff(50,plain,
% 0.31/0.46 ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | (vptchecksimple(Vtres!62, VT!63) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))),
% 0.31/0.46 inference(quant_inst,[status(thm)],[])).
% 0.31/0.46 tff(51,plain,
% 0.31/0.46 ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vTrue) | (~(vt1 = vFalse)) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | (vt1 = vTrue) | (~(vt1 = vFalse)) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62)))),
% 0.31/0.46 inference(modus_ponens,[status(thm)],[50, 49])).
% 0.31/0.46 tff(52,plain,
% 0.31/0.46 (~(vt1 = vFalse)),
% 0.31/0.46 inference(unit_resolution,[status(thm)],[51, 45, 12, 11, 9, 32])).
% 0.31/0.46 tff(53,plain,
% 0.31/0.46 (^[VT: vTy, Vtres: vTerm] : refl((vptchecksimple(Vtres, VT) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) <=> (vptchecksimple(Vtres, VT) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))))),
% 0.31/0.46 inference(bind,[status(th)],[])).
% 0.31/0.46 tff(54,plain,
% 0.31/0.46 (![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) <=> ![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))),
% 0.31/0.46 inference(quant_intro,[status(thm)],[53])).
% 0.31/0.46 tff(55,plain,
% 0.31/0.46 (^[VT: vTy, Vtres: vTerm] : trans(monotonicity(trans(monotonicity(rewrite(((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) <=> (~((vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))))), ((~((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) <=> (~(~((vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))))))), rewrite((~(~((vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))))) <=> ((vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))), ((~((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) <=> ((vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))))), (((~((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> (((vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)))), rewrite((((vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> (vptchecksimple(Vtres, VT) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))), (((~((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> (vptchecksimple(Vtres, VT) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))))),
% 0.31/0.47 inference(bind,[status(th)],[])).
% 0.31/0.47 tff(56,plain,
% 0.31/0.47 (![VT: vTy, Vtres: vTerm] : ((~((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> ![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))),
% 0.31/0.47 inference(quant_intro,[status(thm)],[55])).
% 0.31/0.47 tff(57,plain,
% 0.31/0.47 (![VT: vTy, Vtres: vTerm] : ((~((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> ![VT: vTy, Vtres: vTerm] : ((~((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.31/0.47 inference(rewrite,[status(thm)],[])).
% 0.31/0.47 tff(58,plain,
% 0.31/0.47 (^[VT: vTy, Vtres: vTerm] : trans(monotonicity(trans(monotonicity(rewrite((((~(vt1 = vTrue)) & (~(vt1 = vFalse))) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) <=> ((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT))), (((((~(vt1 = vTrue)) & (~(vt1 = vFalse))) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) <=> (((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))), rewrite((((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) <=> ((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))), (((((~(vt1 = vTrue)) & (~(vt1 = vFalse))) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) <=> ((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))), ((((((~(vt1 = vTrue)) & (~(vt1 = vFalse))) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> (((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)))), rewrite((((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> ((~((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))), ((((((~(vt1 = vTrue)) & (~(vt1 = vFalse))) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> ((~((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))))),
% 0.31/0.47 inference(bind,[status(th)],[])).
% 0.31/0.47 tff(59,plain,
% 0.31/0.47 (![VT: vTy, Vtres: vTerm] : (((((~(vt1 = vTrue)) & (~(vt1 = vFalse))) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> ![VT: vTy, Vtres: vTerm] : ((~((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.31/0.47 inference(quant_intro,[status(thm)],[58])).
% 0.31/0.47 tff(60,axiom,(![VT: vTy, Vtres: vTerm] : (((((~(vt1 = vTrue)) & (~(vt1 = vFalse))) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p',''Preservation-Ifelse-t1'')).
% 0.31/0.47 tff(61,plain,
% 0.31/0.47 (![VT: vTy, Vtres: vTerm] : ((~((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.31/0.47 inference(modus_ponens,[status(thm)],[60, 59])).
% 0.31/0.47 tff(62,plain,
% 0.31/0.47 (![VT: vTy, Vtres: vTerm] : ((~((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.31/0.47 inference(modus_ponens,[status(thm)],[61, 57])).
% 0.31/0.47 tff(63,plain,(
% 0.31/0.47 ![VT: vTy, Vtres: vTerm] : ((~((~(vt1 = vTrue)) & (~(vt1 = vFalse)) & vptchecksimple(vIfelse(vt1, vt2, vt3), VT) & (vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.31/0.47 inference(skolemize,[status(sab)],[62])).
% 0.31/0.47 tff(64,plain,
% 0.31/0.47 (![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))),
% 0.31/0.47 inference(modus_ponens,[status(thm)],[63, 56])).
% 0.31/0.47 tff(65,plain,
% 0.31/0.47 (![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))),
% 0.31/0.47 inference(modus_ponens,[status(thm)],[64, 54])).
% 0.31/0.47 tff(66,plain,
% 0.31/0.47 (((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | ((vt1 = vFalse) | (vt1 = vTrue) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))) <=> ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | (vt1 = vFalse) | (vt1 = vTrue) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))),
% 0.31/0.47 inference(rewrite,[status(thm)],[])).
% 0.31/0.47 tff(67,plain,
% 0.31/0.47 ((vptchecksimple(Vtres!62, VT!63) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62)))) <=> ((vt1 = vFalse) | (vt1 = vTrue) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))),
% 0.31/0.47 inference(rewrite,[status(thm)],[])).
% 0.31/0.47 tff(68,plain,
% 0.31/0.47 (((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | (vptchecksimple(Vtres!62, VT!63) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))) <=> ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | ((vt1 = vFalse) | (vt1 = vTrue) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62)))))),
% 0.31/0.48 inference(monotonicity,[status(thm)],[67])).
% 0.31/0.48 tff(69,plain,
% 0.31/0.48 (((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | (vptchecksimple(Vtres!62, VT!63) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))) <=> ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | (vt1 = vFalse) | (vt1 = vTrue) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))),
% 0.31/0.48 inference(transitivity,[status(thm)],[68, 66])).
% 0.31/0.48 tff(70,plain,
% 0.31/0.48 ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | (vptchecksimple(Vtres!62, VT!63) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62))))),
% 0.31/0.48 inference(quant_inst,[status(thm)],[])).
% 0.31/0.48 tff(71,plain,
% 0.31/0.48 ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (vt1 = vFalse) | (vt1 = vTrue) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres))))) | (vt1 = vFalse) | (vt1 = vTrue) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vIfelse(vt1, vt2, vt3), VT!63)) | (~(vreduce(vIfelse(vt1, vt2, vt3)) = vsomeTerm(Vtres!62)))),
% 0.31/0.48 inference(modus_ponens,[status(thm)],[70, 69])).
% 0.31/0.48 tff(72,plain,
% 0.31/0.48 ((vt1 = vFalse) | (vt1 = vTrue)),
% 0.31/0.48 inference(unit_resolution,[status(thm)],[71, 65, 12, 11, 9])).
% 0.31/0.48 tff(73,plain,
% 0.31/0.48 ($false),
% 0.31/0.48 inference(unit_resolution,[status(thm)],[72, 52, 32])).
% 0.31/0.48 % SZS output end Proof
% 0.31/0.49 % E exiting
%------------------------------------------------------------------------------