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