0.07/0.12 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.07/0.12 % Command : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof 0.12/0.33 % Computer : n002.cluster.edu 0.12/0.33 % Model : x86_64 x86_64 0.12/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.12/0.33 % Memory : 8042.1875MB 0.12/0.33 % OS : Linux 3.10.0-693.el7.x86_64 0.12/0.33 % CPULimit : 1200 0.12/0.33 % WCLimit : 120 0.12/0.33 % DateTime : Tue Jul 13 15:44:03 EDT 2021 0.12/0.34 % CPUTime : 10.16/1.68 % SZS status Theorem 10.16/1.68 10.16/1.69 % SZS output start Proof 10.16/1.69 Take the following subset of the input axioms: 10.16/1.69 fof(thm_2Ebool_2Ebool__case__thm, axiom, ![A_27a]: (![V2t1_2E0, V3t2_2E0]: s(A_27a, V3t2_2E0)=s(A_27a, c_2Ebool_2ECOND_2E3(s(tyop_2Emin_2Ebool, c_2Ebool_2EF_2E0), s(A_27a, V2t1_2E0), s(A_27a, V3t2_2E0))) & ![V0t1_2E0, V1t2_2E0]: s(A_27a, V0t1_2E0)=s(A_27a, c_2Ebool_2ECOND_2E3(s(tyop_2Emin_2Ebool, c_2Ebool_2ET_2E0), s(A_27a, V0t1_2E0), s(A_27a, V1t2_2E0))))). 10.16/1.69 fof(thm_2Einteger_2EINT__LT__CALCULATE, axiom, ![V0n_2E0, V1m_2E0]: (s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__lt_2E2(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, V0n_2E0))), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, V1m_2E0)))))=s(tyop_2Emin_2Ebool, c_2Eprim__rec_2E_3C_2E2(s(tyop_2Enum_2Enum, V0n_2E0), s(tyop_2Enum_2Enum, V1m_2E0))) & (s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__lt_2E2(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, V0n_2E0))), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, V1m_2E0)))))))=s(tyop_2Emin_2Ebool, c_2Ebool_2EF_2E0) & ((p(s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__lt_2E2(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, V0n_2E0))))), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, V1m_2E0)))))) <=> (s(tyop_2Enum_2Enum, V1m_2E0)!=s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0) | s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0)!=s(tyop_2Enum_2Enum, V0n_2E0))) & s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__lt_2E2(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, V0n_2E0))))), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, V1m_2E0)))))))=s(tyop_2Emin_2Ebool, c_2Eprim__rec_2E_3C_2E2(s(tyop_2Enum_2Enum, V1m_2E0), s(tyop_2Enum_2Enum, V0n_2E0))))))). 10.16/1.69 fof(thm_2Einteger_2EINT__NEG__0, axiom, s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0)))=s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0)))))). 10.16/1.69 fof(thm_2Einteger_2ENUM__OF__INT, axiom, ![V0n_2E0]: s(tyop_2Enum_2Enum, V0n_2E0)=s(tyop_2Enum_2Enum, c_2Einteger_2ENum_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, V0n_2E0)))))). 10.16/1.69 fof(thm_2Einteger__word_2Ei2w__0, conjecture, ![A_27a]: s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, A_27a), c_2Ewords_2En2w_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0)))=s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, A_27a), c_2Einteger__word_2Ei2w_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0)))))). 10.16/1.69 fof(thm_2Einteger__word_2Ei2w__def, axiom, ![A_27a, V0i_2E0]: s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, A_27a), c_2Ebool_2ECOND_2E3(s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__lt_2E2(s(tyop_2Einteger_2Eint, V0i_2E0), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0))))), s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, A_27a), c_2Ewords_2Eword__2comp_2E1(s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, A_27a), c_2Ewords_2En2w_2E1(s(tyop_2Enum_2Enum, c_2Einteger_2ENum_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, V0i_2E0))))))))), s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, A_27a), c_2Ewords_2En2w_2E1(s(tyop_2Enum_2Enum, c_2Einteger_2ENum_2E1(s(tyop_2Einteger_2Eint, V0i_2E0)))))))=s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, A_27a), c_2Einteger__word_2Ei2w_2E1(s(tyop_2Einteger_2Eint, V0i_2E0)))). 10.16/1.69 10.16/1.69 Now clausify the problem and encode Horn clauses using encoding 3 of 10.16/1.69 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 10.16/1.69 We repeatedly replace C & s=t => u=v by the two clauses: 10.16/1.69 fresh(y, y, x1...xn) = u 10.16/1.69 C => fresh(s, t, x1...xn) = v 10.16/1.69 where fresh is a fresh function symbol and x1..xn are the free 10.16/1.69 variables of u and v. 10.16/1.69 A predicate p(X) is encoded as p(X)=true (this is sound, because the 10.16/1.69 input problem has no model of domain size 1). 10.16/1.69 10.16/1.69 The encoding turns the above axioms into the following unit equations and goals: 10.16/1.69 10.16/1.69 Axiom 1 (thm_2Einteger_2ENUM__OF__INT): s(tyop_2Enum_2Enum, X) = s(tyop_2Enum_2Enum, c_2Einteger_2ENum_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, X))))). 10.16/1.69 Axiom 2 (thm_2Einteger_2EINT__NEG__0): s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0))) = s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0))))). 10.16/1.69 Axiom 3 (thm_2Ebool_2Ebool__case__thm): s(X, Y) = s(X, c_2Ebool_2ECOND_2E3(s(tyop_2Emin_2Ebool, c_2Ebool_2EF_2E0), s(X, Z), s(X, Y))). 10.16/1.69 Axiom 4 (thm_2Einteger_2EINT__LT__CALCULATE): s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__lt_2E2(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, X))), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, Y))))))) = s(tyop_2Emin_2Ebool, c_2Ebool_2EF_2E0). 10.16/1.69 Axiom 5 (thm_2Einteger__word_2Ei2w__def): s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, X), c_2Ebool_2ECOND_2E3(s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__lt_2E2(s(tyop_2Einteger_2Eint, Y), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0))))), s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, X), c_2Ewords_2Eword__2comp_2E1(s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, X), c_2Ewords_2En2w_2E1(s(tyop_2Enum_2Enum, c_2Einteger_2ENum_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, Y))))))))), s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, X), c_2Ewords_2En2w_2E1(s(tyop_2Enum_2Enum, c_2Einteger_2ENum_2E1(s(tyop_2Einteger_2Eint, Y))))))) = s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, X), c_2Einteger__word_2Ei2w_2E1(s(tyop_2Einteger_2Eint, Y))). 10.16/1.69 10.16/1.69 Goal 1 (thm_2Einteger__word_2Ei2w__0): s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, a_27a), c_2Ewords_2En2w_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0))) = s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, a_27a), c_2Einteger__word_2Ei2w_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0))))). 10.16/1.69 Proof: 10.16/1.69 s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, a_27a), c_2Ewords_2En2w_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0))) 10.16/1.69 = { by axiom 1 (thm_2Einteger_2ENUM__OF__INT) } 10.16/1.69 s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, a_27a), c_2Ewords_2En2w_2E1(s(tyop_2Enum_2Enum, c_2Einteger_2ENum_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0))))))) 10.16/1.69 = { by axiom 3 (thm_2Ebool_2Ebool__case__thm) } 10.16/1.69 s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, a_27a), c_2Ebool_2ECOND_2E3(s(tyop_2Emin_2Ebool, c_2Ebool_2EF_2E0), s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, a_27a), c_2Ewords_2Eword__2comp_2E1(s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, a_27a), c_2Ewords_2En2w_2E1(s(tyop_2Enum_2Enum, c_2Einteger_2ENum_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0))))))))))), s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, a_27a), c_2Ewords_2En2w_2E1(s(tyop_2Enum_2Enum, c_2Einteger_2ENum_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0))))))))) 10.16/1.69 = { by axiom 4 (thm_2Einteger_2EINT__LT__CALCULATE) R->L } 10.16/1.69 s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, a_27a), c_2Ebool_2ECOND_2E3(s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__lt_2E2(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0))), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0))))))), s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, a_27a), c_2Ewords_2Eword__2comp_2E1(s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, a_27a), c_2Ewords_2En2w_2E1(s(tyop_2Enum_2Enum, c_2Einteger_2ENum_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0))))))))))), s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, a_27a), c_2Ewords_2En2w_2E1(s(tyop_2Enum_2Enum, c_2Einteger_2ENum_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0))))))))) 10.16/1.69 = { by axiom 2 (thm_2Einteger_2EINT__NEG__0) R->L } 10.16/1.69 s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, a_27a), c_2Ebool_2ECOND_2E3(s(tyop_2Emin_2Ebool, c_2Einteger_2Eint__lt_2E2(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0))), s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0))))), s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, a_27a), c_2Ewords_2Eword__2comp_2E1(s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, a_27a), c_2Ewords_2En2w_2E1(s(tyop_2Enum_2Enum, c_2Einteger_2ENum_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__neg_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0))))))))))), s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, a_27a), c_2Ewords_2En2w_2E1(s(tyop_2Enum_2Enum, c_2Einteger_2ENum_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0))))))))) 10.16/1.69 = { by axiom 5 (thm_2Einteger__word_2Ei2w__def) } 10.16/1.69 s(tyop_2Efcp_2Ecart(tyop_2Emin_2Ebool, a_27a), c_2Einteger__word_2Ei2w_2E1(s(tyop_2Einteger_2Eint, c_2Einteger_2Eint__of__num_2E1(s(tyop_2Enum_2Enum, c_2Enum_2E0_2E0))))) 10.16/1.69 % SZS output end Proof 10.16/1.69 10.16/1.69 RESULT: Theorem (the conjecture is true). 10.16/1.70 EOF