0.03/0.13 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.14/0.13 % Command : twee %s --tstp --casc --quiet --explain-encoding --conditional-encoding if --smaller --drop-non-horn 0.14/0.35 % Computer : n023.cluster.edu 0.14/0.35 % Model : x86_64 x86_64 0.14/0.35 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.14/0.35 % Memory : 8042.1875MB 0.14/0.35 % OS : Linux 3.10.0-693.el7.x86_64 0.14/0.35 % CPULimit : 180 0.14/0.35 % DateTime : Thu Aug 29 13:36:52 EDT 2019 0.14/0.35 % CPUTime : 179.37/179.68 % SZS status Theorem 179.37/179.68 179.37/179.68 % SZS output start Proof 179.37/179.68 Take the following subset of the input axioms: 179.37/179.68 fof(conj_0, conjecture, c_Hoare__Mirabelle_Ohoare__derivs(t_a, hAPP(hAPP(c_Set_Oinsert(tc_Hoare__Mirabelle_Otriple(t_a)), v_t), c_Orderings_Obot__class_Obot(tc_fun(tc_Hoare__Mirabelle_Otriple(t_a), tc_HOL_Obool))), hAPP(hAPP(c_Set_Oinsert(tc_Hoare__Mirabelle_Otriple(t_a)), v_t), c_Orderings_Obot__class_Obot(tc_fun(tc_Hoare__Mirabelle_Otriple(t_a), tc_HOL_Obool))))). 179.37/179.68 fof(fact_Collect__def, axiom, ![V_P_2, T_b]: hAPP(c_Set_OCollect(T_b), V_P_2)=V_P_2). 179.37/179.68 fof(fact_asm, axiom, ![T_b, V_ts_2, V_G_2]: (c_Hoare__Mirabelle_Ohoare__derivs(T_b, V_G_2, V_ts_2) <= hBOOL(hAPP(hAPP(c_Orderings_Oord__class_Oless__eq(tc_fun(tc_Hoare__Mirabelle_Otriple(T_b), tc_HOL_Obool)), V_ts_2), V_G_2)))). 179.37/179.68 fof(fact_equalityD2, axiom, ![T_b, V_A_2, V_B_2]: (V_B_2=V_A_2 => hBOOL(hAPP(hAPP(c_Orderings_Oord__class_Oless__eq(tc_fun(T_b, tc_HOL_Obool)), V_B_2), V_A_2)))). 179.37/179.68 fof(fact_singleton__conv2, axiom, ![T_b, V_a_2]: hAPP(c_Set_OCollect(T_b), hAPP(c_fequal, V_a_2))=hAPP(hAPP(c_Set_Oinsert(T_b), V_a_2), c_Orderings_Obot__class_Obot(tc_fun(T_b, tc_HOL_Obool)))). 179.37/179.68 179.37/179.68 Now clausify the problem and encode Horn clauses using encoding 3 of 179.37/179.68 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 179.37/179.68 We repeatedly replace C & s=t => u=v by the two clauses: 179.37/179.68 fresh(y, y, x1...xn) = u 179.37/179.68 C => fresh(s, t, x1...xn) = v 179.37/179.68 where fresh is a fresh function symbol and x1..xn are the free 179.37/179.68 variables of u and v. 179.37/179.68 A predicate p(X) is encoded as p(X)=true (this is sound, because the 179.37/179.68 input problem has no model of domain size 1). 179.37/179.68 179.37/179.68 The encoding turns the above axioms into the following unit equations and goals: 179.37/179.68 179.37/179.68 Axiom 1 (fact_Collect__conv__if2_1): fresh4462(X, X, Y, Z, W) = hAPP(hAPP(c_Set_Oinsert(Y), Z), c_Orderings_Obot__class_Obot(tc_fun(Y, tc_HOL_Obool))). 179.37/179.68 Axiom 2 (fact_abs__le__D1): fresh4036(X, X, Y, Z, W) = hBOOL(hAPP(hAPP(c_Orderings_Oord__class_Oless__eq(W), Z), Y)). 179.37/179.68 Axiom 3 (fact_asm): fresh3835(X, X, Y, Z, W) = true2. 179.37/179.68 Axiom 4 (fact_atMost__Int__atLeast): fresh3812(X, X, Y, Z) = hAPP(hAPP(c_Set_Oinsert(Z), Y), c_Orderings_Obot__class_Obot(tc_fun(Z, tc_HOL_Obool))). 179.37/179.68 Axiom 5 (fact_le__fun__def): fresh2679(X, X, Y, Z, W, V) = hBOOL(hAPP(hAPP(c_Orderings_Oord__class_Oless__eq(tc_fun(W, V)), Z), Y)). 179.37/179.68 Axiom 6 (fact_order__fun_I1_J_1): fresh5427(X, X, Y, Z, W, V) = hBOOL(hAPP(hAPP(c_Orderings_Oord__class_Oless__eq(tc_fun(W, V)), Z), Y)). 179.37/179.68 Axiom 7 (fact_order__fun_I2_J): fresh6743(X, X, Y, Z, W, V) = hBOOL(hAPP(hAPP(c_Orderings_Oord__class_Oless__eq(tc_fun(W, V)), Z), Y)). 179.37/179.68 Axiom 8 (fact_Collect__def): hAPP(c_Set_OCollect(X), Y) = Y. 179.37/179.68 Axiom 9 (fact_equalityD2): hBOOL(hAPP(hAPP(c_Orderings_Oord__class_Oless__eq(tc_fun(X, tc_HOL_Obool)), Y), Y)) = true2. 179.37/179.68 Axiom 10 (fact_asm): fresh3835(hBOOL(hAPP(hAPP(c_Orderings_Oord__class_Oless__eq(tc_fun(tc_Hoare__Mirabelle_Otriple(X), tc_HOL_Obool)), Y), Z)), true2, Z, Y, X) = c_Hoare__Mirabelle_Ohoare__derivs(X, Z, Y). 179.37/179.68 Axiom 11 (fact_singleton__conv2): hAPP(c_Set_OCollect(X), hAPP(c_fequal, Y)) = hAPP(hAPP(c_Set_Oinsert(X), Y), c_Orderings_Obot__class_Obot(tc_fun(X, tc_HOL_Obool))). 179.37/179.68 179.37/179.68 Lemma 12: fresh4462(?, ?, Z, Y, ?) = fresh3812(?, ?, Y, Z). 179.37/179.68 Proof: 179.37/179.68 fresh4462(?, ?, Z, Y, ?) 179.37/179.68 = { by axiom 1 (fact_Collect__conv__if2_1) } 179.37/179.68 hAPP(hAPP(c_Set_Oinsert(Z), Y), c_Orderings_Obot__class_Obot(tc_fun(Z, tc_HOL_Obool))) 179.37/179.68 = { by axiom 4 (fact_atMost__Int__atLeast) } 179.37/179.68 fresh3812(?, ?, Y, Z) 179.37/179.68 179.37/179.68 Lemma 13: hAPP(hAPP(c_Set_Oinsert(Y), Z), c_Orderings_Obot__class_Obot(tc_fun(Y, tc_HOL_Obool))) = hAPP(c_fequal, Z). 179.37/179.68 Proof: 179.37/179.68 hAPP(hAPP(c_Set_Oinsert(Y), Z), c_Orderings_Obot__class_Obot(tc_fun(Y, tc_HOL_Obool))) 179.37/179.68 = { by axiom 1 (fact_Collect__conv__if2_1) } 179.37/179.68 fresh4462(?, ?, Y, Z, ?) 179.37/179.68 = { by axiom 1 (fact_Collect__conv__if2_1) } 179.37/179.68 hAPP(hAPP(c_Set_Oinsert(Y), Z), c_Orderings_Obot__class_Obot(tc_fun(Y, tc_HOL_Obool))) 179.37/179.68 = { by axiom 11 (fact_singleton__conv2) } 179.37/179.68 hAPP(c_Set_OCollect(Y), hAPP(c_fequal, Z)) 179.37/179.68 = { by axiom 8 (fact_Collect__def) } 179.37/179.68 hAPP(c_fequal, Z) 179.37/179.68 179.37/179.68 Lemma 14: fresh4036(?, ?, Y, Z, tc_fun(W, V)) = fresh2679(?, ?, Y, Z, W, V). 179.37/179.68 Proof: 179.37/179.68 fresh4036(?, ?, Y, Z, tc_fun(W, V)) 179.37/179.68 = { by axiom 2 (fact_abs__le__D1) } 179.37/179.68 hBOOL(hAPP(hAPP(c_Orderings_Oord__class_Oless__eq(tc_fun(W, V)), Z), Y)) 179.37/179.68 = { by axiom 5 (fact_le__fun__def) } 179.37/179.68 fresh2679(?, ?, Y, Z, W, V) 179.37/179.68 179.37/179.68 Lemma 15: fresh2679(?, ?, Y, Z, W, V) = fresh5427(?, ?, Y, Z, W, V). 179.37/179.68 Proof: 179.37/179.68 fresh2679(?, ?, Y, Z, W, V) 179.37/179.68 = { by lemma 14 } 179.37/179.68 fresh4036(?, ?, Y, Z, tc_fun(W, V)) 179.37/179.68 = { by axiom 2 (fact_abs__le__D1) } 179.37/179.68 hBOOL(hAPP(hAPP(c_Orderings_Oord__class_Oless__eq(tc_fun(W, V)), Z), Y)) 179.37/179.68 = { by axiom 6 (fact_order__fun_I1_J_1) } 179.37/179.68 fresh5427(?, ?, Y, Z, W, V) 179.37/179.68 179.37/179.68 Lemma 16: fresh5427(?, ?, Y, Z, W, V) = fresh6743(?, ?, Y, Z, W, V). 179.37/179.68 Proof: 179.37/179.68 fresh5427(?, ?, Y, Z, W, V) 179.37/179.68 = { by lemma 15 } 179.37/179.68 fresh2679(?, ?, Y, Z, W, V) 179.37/179.68 = { by lemma 14 } 179.37/179.68 fresh4036(?, ?, Y, Z, tc_fun(W, V)) 179.37/179.68 = { by axiom 2 (fact_abs__le__D1) } 179.37/179.68 hBOOL(hAPP(hAPP(c_Orderings_Oord__class_Oless__eq(tc_fun(W, V)), Z), Y)) 179.37/179.68 = { by axiom 7 (fact_order__fun_I2_J) } 179.37/179.68 fresh6743(?, ?, Y, Z, W, V) 179.37/179.68 179.37/179.68 Goal 1 (conj_0): c_Hoare__Mirabelle_Ohoare__derivs(t_a, hAPP(hAPP(c_Set_Oinsert(tc_Hoare__Mirabelle_Otriple(t_a)), v_t), c_Orderings_Obot__class_Obot(tc_fun(tc_Hoare__Mirabelle_Otriple(t_a), tc_HOL_Obool))), hAPP(hAPP(c_Set_Oinsert(tc_Hoare__Mirabelle_Otriple(t_a)), v_t), c_Orderings_Obot__class_Obot(tc_fun(tc_Hoare__Mirabelle_Otriple(t_a), tc_HOL_Obool)))) = true2. 179.37/179.68 Proof: 179.37/179.68 c_Hoare__Mirabelle_Ohoare__derivs(t_a, hAPP(hAPP(c_Set_Oinsert(tc_Hoare__Mirabelle_Otriple(t_a)), v_t), c_Orderings_Obot__class_Obot(tc_fun(tc_Hoare__Mirabelle_Otriple(t_a), tc_HOL_Obool))), hAPP(hAPP(c_Set_Oinsert(tc_Hoare__Mirabelle_Otriple(t_a)), v_t), c_Orderings_Obot__class_Obot(tc_fun(tc_Hoare__Mirabelle_Otriple(t_a), tc_HOL_Obool)))) 179.37/179.68 = { by lemma 13 } 179.37/179.68 c_Hoare__Mirabelle_Ohoare__derivs(t_a, hAPP(c_fequal, v_t), hAPP(hAPP(c_Set_Oinsert(tc_Hoare__Mirabelle_Otriple(t_a)), v_t), c_Orderings_Obot__class_Obot(tc_fun(tc_Hoare__Mirabelle_Otriple(t_a), tc_HOL_Obool)))) 179.37/179.68 = { by lemma 13 } 179.37/179.68 c_Hoare__Mirabelle_Ohoare__derivs(t_a, hAPP(c_fequal, v_t), hAPP(c_fequal, v_t)) 179.37/179.68 = { by axiom 10 (fact_asm) } 179.37/179.68 fresh3835(hBOOL(hAPP(hAPP(c_Orderings_Oord__class_Oless__eq(tc_fun(tc_Hoare__Mirabelle_Otriple(t_a), tc_HOL_Obool)), hAPP(c_fequal, v_t)), hAPP(c_fequal, v_t))), true2, hAPP(c_fequal, v_t), hAPP(c_fequal, v_t), t_a) 179.37/179.68 = { by axiom 9 (fact_equalityD2) } 179.37/179.68 fresh3835(true2, true2, hAPP(c_fequal, v_t), hAPP(c_fequal, v_t), t_a) 179.37/179.68 = { by axiom 3 (fact_asm) } 179.37/179.68 true2 179.37/179.68 % SZS output end Proof 179.37/179.68 179.37/179.68 RESULT: Theorem (the conjecture is true). 179.62/179.90 EOF