%------------------------------------------------------------------------------
% File : Z3---4.15.1
% Problem : COM221_1 : TPTP v9.3.0. Released v9.3.0.
% Transfm : none
% Format : tptp
% Command : run_E %s %d THM
% Computer : n024.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.06s 0.28s
% Output : Proof 0.06s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.06 % Problem : COM221_1 : TPTP v9.3.0. Released v9.3.0.
% 0.00/0.06 % Command : run_E %s %d THM
% 0.06/0.24 % Computer : n024.cluster.edu
% 0.06/0.24 % Model : x86_64 x86_64
% 0.06/0.24 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.06/0.24 % Memory : 8042.1875MB
% 0.06/0.24 % OS : Linux 3.10.0-693.el7.x86_64
% 0.06/0.24 % CPULimit : 300
% 0.06/0.24 % WCLimit : 300
% 0.06/0.24 % DateTime : Mon May 4 14:04:58 EDT 2026
% 0.06/0.24 % CPUTime :
% 0.06/0.28 % SZS status Theorem
% 0.06/0.28 % SZS output start Proof
% 0.06/0.28 tff(visNV_type, type, (
% 0.06/0.28 visNV: vTerm > $o)).
% 0.06/0.28 tff(vt1_type, type, (
% 0.06/0.28 vt1: vTerm)).
% 0.06/0.28 tff(vptchecksimple_type, type, (
% 0.06/0.28 vptchecksimple: ( vTerm * vTy ) > $o)).
% 0.06/0.28 tff(tptp_fun_VT_63_type, type, (
% 0.06/0.28 tptp_fun_VT_63: vTy)).
% 0.06/0.28 tff(tptp_fun_Vtres_62_type, type, (
% 0.06/0.28 tptp_fun_Vtres_62: vTerm)).
% 0.06/0.28 tff(vsomeTerm_type, type, (
% 0.06/0.28 vsomeTerm: vTerm > vOptTerm)).
% 0.06/0.28 tff(vreduce_type, type, (
% 0.06/0.28 vreduce: vTerm > vOptTerm)).
% 0.06/0.28 tff(vPlus_type, type, (
% 0.06/0.28 vPlus: ( vTerm * vTerm ) > vTerm)).
% 0.06/0.28 tff(vt2_type, type, (
% 0.06/0.28 vt2: vTerm)).
% 0.06/0.28 tff(1,plain,
% 0.06/0.28 ((~![VT: vTy, Vtres: vTerm] : ((~(vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))) <=> (~![VT: vTy, Vtres: vTerm] : ((~(vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)))),
% 0.06/0.28 inference(rewrite,[status(thm)],[])).
% 0.06/0.28 tff(2,plain,
% 0.06/0.28 ((~![VT: vTy, Vtres: vTerm] : ((vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT))) <=> (~![VT: vTy, Vtres: vTerm] : ((~(vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)))),
% 0.06/0.28 inference(rewrite,[status(thm)],[])).
% 0.06/0.28 tff(3,axiom,(~![VT: vTy, Vtres: vTerm] : ((vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p',''Preservation-Plus'')).
% 0.06/0.28 tff(4,plain,
% 0.06/0.28 (~![VT: vTy, Vtres: vTerm] : ((~(vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.06/0.28 inference(modus_ponens,[status(thm)],[3, 2])).
% 0.06/0.28 tff(5,plain,
% 0.06/0.28 (~![VT: vTy, Vtres: vTerm] : ((~(vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.06/0.28 inference(modus_ponens,[status(thm)],[4, 1])).
% 0.06/0.28 tff(6,plain,
% 0.06/0.28 (~![VT: vTy, Vtres: vTerm] : ((~(vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.06/0.28 inference(modus_ponens,[status(thm)],[5, 1])).
% 0.06/0.28 tff(7,plain,
% 0.06/0.28 (~![VT: vTy, Vtres: vTerm] : ((~(vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.06/0.28 inference(modus_ponens,[status(thm)],[6, 1])).
% 0.06/0.28 tff(8,plain,(
% 0.06/0.28 ~((~(vptchecksimple(vPlus(vt1, vt2), VT!63) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62)))) | vptchecksimple(Vtres!62, VT!63))),
% 0.06/0.28 inference(skolemize,[status(sab)],[7])).
% 0.06/0.28 tff(9,plain,
% 0.06/0.28 (~vptchecksimple(Vtres!62, VT!63)),
% 0.06/0.28 inference(or_elim,[status(thm)],[8])).
% 0.06/0.28 tff(10,plain,
% 0.06/0.28 (vptchecksimple(vPlus(vt1, vt2), VT!63) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62))),
% 0.06/0.28 inference(or_elim,[status(thm)],[8])).
% 0.06/0.28 tff(11,plain,
% 0.06/0.28 (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62)),
% 0.06/0.28 inference(and_elim,[status(thm)],[10])).
% 0.06/0.28 tff(12,plain,
% 0.06/0.28 (vptchecksimple(vPlus(vt1, vt2), VT!63)),
% 0.06/0.28 inference(and_elim,[status(thm)],[10])).
% 0.06/0.28 tff(13,plain,
% 0.06/0.28 (^[VT: vTy, Vtres: vTerm] : refl((vptchecksimple(Vtres, VT) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) <=> (vptchecksimple(Vtres, VT) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))))),
% 0.06/0.28 inference(bind,[status(th)],[])).
% 0.06/0.28 tff(14,plain,
% 0.06/0.28 (![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) <=> ![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))),
% 0.06/0.28 inference(quant_intro,[status(thm)],[13])).
% 0.06/0.28 tff(15,plain,
% 0.06/0.28 (^[VT: vTy, Vtres: vTerm] : trans(monotonicity(trans(monotonicity(rewrite(((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))) <=> (~(visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))))), ((~((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) <=> (~(~(visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))))))), rewrite((~(~(visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))))) <=> (visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))), ((~((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) <=> (visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))))), (((~((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> ((visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)))), rewrite(((visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> (vptchecksimple(Vtres, VT) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))), (((~((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> (vptchecksimple(Vtres, VT) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))))),
% 0.06/0.28 inference(bind,[status(th)],[])).
% 0.06/0.28 tff(16,plain,
% 0.06/0.28 (![VT: vTy, Vtres: vTerm] : ((~((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> ![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))),
% 0.06/0.28 inference(quant_intro,[status(thm)],[15])).
% 0.06/0.28 tff(17,plain,
% 0.06/0.28 (![VT: vTy, Vtres: vTerm] : ((~((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> ![VT: vTy, Vtres: vTerm] : ((~((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.06/0.28 inference(rewrite,[status(thm)],[])).
% 0.06/0.28 tff(18,plain,
% 0.06/0.28 (^[VT: vTy, Vtres: vTerm] : trans(monotonicity(rewrite((((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT)) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))) <=> ((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))), (((((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT)) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> (((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)))), rewrite((((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> ((~((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))), (((((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT)) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> ((~((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))))),
% 0.06/0.28 inference(bind,[status(th)],[])).
% 0.06/0.28 tff(19,plain,
% 0.06/0.28 (![VT: vTy, Vtres: vTerm] : ((((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT)) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> ![VT: vTy, Vtres: vTerm] : ((~((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.06/0.28 inference(quant_intro,[status(thm)],[18])).
% 0.06/0.28 tff(20,axiom,(![VT: vTy, Vtres: vTerm] : ((((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT)) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p',''Preservation-Plus-isNV-False'')).
% 0.06/0.28 tff(21,plain,
% 0.06/0.28 (![VT: vTy, Vtres: vTerm] : ((~((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.06/0.28 inference(modus_ponens,[status(thm)],[20, 19])).
% 0.06/0.28 tff(22,plain,
% 0.06/0.28 (![VT: vTy, Vtres: vTerm] : ((~((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.06/0.28 inference(modus_ponens,[status(thm)],[21, 17])).
% 0.06/0.28 tff(23,plain,(
% 0.06/0.28 ![VT: vTy, Vtres: vTerm] : ((~((~visNV(vt1)) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.06/0.28 inference(skolemize,[status(sab)],[22])).
% 0.06/0.28 tff(24,plain,
% 0.06/0.28 (![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))),
% 0.06/0.28 inference(modus_ponens,[status(thm)],[23, 16])).
% 0.06/0.28 tff(25,plain,
% 0.06/0.28 (![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))),
% 0.06/0.28 inference(modus_ponens,[status(thm)],[24, 14])).
% 0.06/0.28 tff(26,plain,
% 0.06/0.28 (((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))) | (visNV(vt1) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62))))) <=> ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))) | visNV(vt1) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62))))),
% 0.06/0.28 inference(rewrite,[status(thm)],[])).
% 0.06/0.28 tff(27,plain,
% 0.06/0.28 ((vptchecksimple(Vtres!62, VT!63) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62)))) <=> (visNV(vt1) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62))))),
% 0.06/0.28 inference(rewrite,[status(thm)],[])).
% 0.06/0.28 tff(28,plain,
% 0.06/0.28 (((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))) | (vptchecksimple(Vtres!62, VT!63) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62))))) <=> ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))) | (visNV(vt1) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62)))))),
% 0.06/0.28 inference(monotonicity,[status(thm)],[27])).
% 0.06/0.28 tff(29,plain,
% 0.06/0.28 (((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))) | (vptchecksimple(Vtres!62, VT!63) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62))))) <=> ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))) | visNV(vt1) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62))))),
% 0.06/0.28 inference(transitivity,[status(thm)],[28, 26])).
% 0.06/0.28 tff(30,plain,
% 0.06/0.28 ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))) | (vptchecksimple(Vtres!62, VT!63) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62))))),
% 0.06/0.28 inference(quant_inst,[status(thm)],[])).
% 0.06/0.28 tff(31,plain,
% 0.06/0.29 ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | visNV(vt1) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))) | visNV(vt1) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62)))),
% 0.06/0.29 inference(modus_ponens,[status(thm)],[30, 29])).
% 0.06/0.29 tff(32,plain,
% 0.06/0.29 (visNV(vt1)),
% 0.06/0.29 inference(unit_resolution,[status(thm)],[31, 25, 12, 11, 9])).
% 0.06/0.29 tff(33,plain,
% 0.06/0.29 (^[VT: vTy, Vtres: vTerm] : refl((vptchecksimple(Vtres, VT) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) <=> (vptchecksimple(Vtres, VT) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))))),
% 0.06/0.29 inference(bind,[status(th)],[])).
% 0.06/0.29 tff(34,plain,
% 0.06/0.29 (![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) <=> ![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))),
% 0.06/0.29 inference(quant_intro,[status(thm)],[33])).
% 0.06/0.29 tff(35,plain,
% 0.06/0.29 (^[VT: vTy, Vtres: vTerm] : trans(monotonicity(trans(monotonicity(rewrite((visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))) <=> (~((~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))))), ((~(visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) <=> (~(~((~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))))))), rewrite((~(~((~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))))) <=> ((~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))), ((~(visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) <=> ((~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))))), (((~(visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> (((~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)))), rewrite((((~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> (vptchecksimple(Vtres, VT) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))), (((~(visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> (vptchecksimple(Vtres, VT) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))))),
% 0.06/0.29 inference(bind,[status(th)],[])).
% 0.06/0.29 tff(36,plain,
% 0.06/0.29 (![VT: vTy, Vtres: vTerm] : ((~(visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> ![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))),
% 0.06/0.29 inference(quant_intro,[status(thm)],[35])).
% 0.06/0.29 tff(37,plain,
% 0.06/0.29 (![VT: vTy, Vtres: vTerm] : ((~(visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT)) <=> ![VT: vTy, Vtres: vTerm] : ((~(visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.06/0.29 inference(rewrite,[status(thm)],[])).
% 0.06/0.29 tff(38,plain,
% 0.06/0.29 (^[VT: vTy, Vtres: vTerm] : trans(monotonicity(rewrite(((visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT)) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))) <=> (visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))), ((((visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT)) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> ((visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)))), rewrite(((visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> ((~(visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))), ((((visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT)) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> ((~(visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))))),
% 0.06/0.29 inference(bind,[status(th)],[])).
% 0.06/0.29 tff(39,plain,
% 0.06/0.29 (![VT: vTy, Vtres: vTerm] : (((visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT)) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT)) <=> ![VT: vTy, Vtres: vTerm] : ((~(visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.06/0.29 inference(quant_intro,[status(thm)],[38])).
% 0.06/0.29 tff(40,axiom,(![VT: vTy, Vtres: vTerm] : (((visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT)) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))) => vptchecksimple(Vtres, VT))), file('/export/starexec/sandbox2/benchmark/theBenchmark.p',''Preservation-Plus-isNV-True'')).
% 0.06/0.29 tff(41,plain,
% 0.06/0.29 (![VT: vTy, Vtres: vTerm] : ((~(visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.06/0.29 inference(modus_ponens,[status(thm)],[40, 39])).
% 0.06/0.29 tff(42,plain,
% 0.06/0.29 (![VT: vTy, Vtres: vTerm] : ((~(visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.06/0.29 inference(modus_ponens,[status(thm)],[41, 37])).
% 0.06/0.29 tff(43,plain,(
% 0.06/0.29 ![VT: vTy, Vtres: vTerm] : ((~(visNV(vt1) & vptchecksimple(vPlus(vt1, vt2), VT) & (vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres)))) | vptchecksimple(Vtres, VT))),
% 0.06/0.29 inference(skolemize,[status(sab)],[42])).
% 0.06/0.29 tff(44,plain,
% 0.06/0.29 (![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))),
% 0.06/0.29 inference(modus_ponens,[status(thm)],[43, 36])).
% 0.06/0.29 tff(45,plain,
% 0.06/0.29 (![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))),
% 0.06/0.29 inference(modus_ponens,[status(thm)],[44, 34])).
% 0.06/0.29 tff(46,plain,
% 0.06/0.29 (((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))) | ((~visNV(vt1)) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62))))) <=> ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))) | (~visNV(vt1)) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62))))),
% 0.06/0.29 inference(rewrite,[status(thm)],[])).
% 0.06/0.29 tff(47,plain,
% 0.06/0.29 ((vptchecksimple(Vtres!62, VT!63) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62)))) <=> ((~visNV(vt1)) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62))))),
% 0.06/0.29 inference(rewrite,[status(thm)],[])).
% 0.06/0.29 tff(48,plain,
% 0.06/0.29 (((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))) | (vptchecksimple(Vtres!62, VT!63) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62))))) <=> ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))) | ((~visNV(vt1)) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62)))))),
% 0.06/0.29 inference(monotonicity,[status(thm)],[47])).
% 0.06/0.29 tff(49,plain,
% 0.06/0.29 (((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))) | (vptchecksimple(Vtres!62, VT!63) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62))))) <=> ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))) | (~visNV(vt1)) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62))))),
% 0.06/0.29 inference(transitivity,[status(thm)],[48, 46])).
% 0.06/0.29 tff(50,plain,
% 0.06/0.29 ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))) | (vptchecksimple(Vtres!62, VT!63) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62))))),
% 0.06/0.29 inference(quant_inst,[status(thm)],[])).
% 0.06/0.29 tff(51,plain,
% 0.06/0.29 ((~![VT: vTy, Vtres: vTerm] : (vptchecksimple(Vtres, VT) | (~visNV(vt1)) | (~vptchecksimple(vPlus(vt1, vt2), VT)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres))))) | (~visNV(vt1)) | vptchecksimple(Vtres!62, VT!63) | (~vptchecksimple(vPlus(vt1, vt2), VT!63)) | (~(vreduce(vPlus(vt1, vt2)) = vsomeTerm(Vtres!62)))),
% 0.06/0.29 inference(modus_ponens,[status(thm)],[50, 49])).
% 0.06/0.29 tff(52,plain,
% 0.06/0.29 ($false),
% 0.06/0.29 inference(unit_resolution,[status(thm)],[51, 45, 12, 11, 9, 32])).
% 0.06/0.29 % SZS output end Proof
% 0.06/0.29 % E exiting
%------------------------------------------------------------------------------