↑ Up

Z3---4.15.1.THM-Prf.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% 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
%------------------------------------------------------------------------------