0.08/0.13 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.08/0.14 % Command : twee %s --tstp --casc --quiet --explain-encoding --conditional-encoding if --smaller --drop-non-horn 0.14/0.35 % Computer : n014.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 09:16:39 EDT 2019 0.14/0.35 % CPUTime : 1.38/1.55 % SZS status Theorem 1.38/1.55 1.38/1.55 % SZS output start Proof 1.38/1.55 Take the following subset of the input axioms: 1.38/1.55 fof(ax14, axiom, ![U, V]: ((issmallestelement_pq(U, V) & contains_pq(U, V)) => V=findmin_pq_res(U, V))). 1.38/1.55 fof(ax20, axiom, ![U]: ~contains_slb(create_slb, U)). 1.38/1.55 fof(ax22, axiom, ![U, V]: ~pair_in_list(create_slb, U, V)). 1.38/1.55 fof(ax38, axiom, ![X, U, V, W, Y]: (strictly_less_than(X, Y) => (check_cpq(triple(U, insert_slb(V, pair(X, Y)), W)) <=> $false))). 1.38/1.55 fof(ax40, axiom, ![U, V]: (ok(triple(U, V, bad)) <=> $false)). 1.38/1.55 fof(ax58, axiom, ![U, V]: ((contains_pq(U, V) & issmallestelement_pq(U, V)) <=> pi_sharp_find_min(U, V))). 1.38/1.55 fof(ax8, axiom, ![U]: ~contains_pq(create_pq, U)). 1.38/1.55 fof(co4, conjecture, ![U, V, W]: (pi_find_min(triple(U, V, W)) => (?[X]: (findmin_cpq_res(triple(U, V, W))=findmin_pq_res(i(triple(U, V, W)), X) & pi_sharp_find_min(i(triple(U, V, W)), X)) <= phi(findmin_cpq_eff(triple(U, V, W)))))). 1.38/1.55 fof(main4_l7, lemma, ![U, V, W]: (pi_sharp_find_min(i(triple(U, V, W)), findmin_cpq_res(triple(U, V, W))) <= phi(findmin_cpq_eff(triple(U, V, W))))). 1.38/1.55 fof(stricly_smaller_definition, axiom, ![U, V]: (strictly_less_than(U, V) <=> (less_than(U, V) & ~less_than(V, U)))). 1.38/1.55 1.38/1.55 Now clausify the problem and encode Horn clauses using encoding 3 of 1.38/1.55 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 1.38/1.55 We repeatedly replace C & s=t => u=v by the two clauses: 1.38/1.55 fresh(y, y, x1...xn) = u 1.38/1.55 C => fresh(s, t, x1...xn) = v 1.38/1.55 where fresh is a fresh function symbol and x1..xn are the free 1.38/1.55 variables of u and v. 1.38/1.55 A predicate p(X) is encoded as p(X)=true (this is sound, because the 1.38/1.55 input problem has no model of domain size 1). 1.38/1.55 1.38/1.55 The encoding turns the above axioms into the following unit equations and goals: 1.38/1.55 1.38/1.55 Axiom 1 (ax14): fresh(X, X, Y, Z) = Z. 1.38/1.55 Axiom 2 (ax14): fresh50(X, X, Y, Z) = findmin_pq_res(Y, Z). 1.38/1.55 Axiom 3 (ax58_1): fresh22(X, X, Y, Z) = true2. 1.38/1.55 Axiom 4 (ax58_2): fresh21(X, X, Y, Z) = true2. 1.38/1.55 Axiom 5 (main4_l7): fresh7(X, X, Y, Z, W) = true2. 1.38/1.55 Axiom 6 (ax14): fresh50(contains_pq(X, Y), true2, X, Y) = fresh(issmallestelement_pq(X, Y), true2, X, Y). 1.38/1.55 Axiom 7 (ax58_2): fresh21(pi_sharp_find_min(X, Y), true2, X, Y) = contains_pq(X, Y). 1.38/1.55 Axiom 8 (ax58_1): fresh22(pi_sharp_find_min(X, Y), true2, X, Y) = issmallestelement_pq(X, Y). 1.38/1.55 Axiom 9 (main4_l7): fresh7(phi(findmin_cpq_eff(triple(X, Y, Z))), true2, X, Y, Z) = pi_sharp_find_min(i(triple(X, Y, Z)), findmin_cpq_res(triple(X, Y, Z))). 1.38/1.55 Axiom 10 (co4_1): phi(findmin_cpq_eff(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))) = true2. 1.38/1.55 1.38/1.55 Lemma 11: pi_sharp_find_min(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))) = true2. 1.38/1.55 Proof: 1.38/1.55 pi_sharp_find_min(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))) 1.38/1.55 = { by axiom 9 (main4_l7) } 1.38/1.55 fresh7(phi(findmin_cpq_eff(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))), true2, sK3_co4_U, sK2_co4_V, sK1_co4_W) 1.38/1.55 = { by axiom 10 (co4_1) } 1.38/1.55 fresh7(true2, true2, sK3_co4_U, sK2_co4_V, sK1_co4_W) 1.38/1.55 = { by axiom 5 (main4_l7) } 1.38/1.55 true2 1.38/1.55 1.38/1.55 Goal 1 (co4_2): tuple2(findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), pi_sharp_find_min(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), X)) = tuple2(findmin_pq_res(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), X), true2). 1.38/1.55 The goal is true when: 1.38/1.55 X = findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)) 1.38/1.55 1.38/1.55 Proof: 1.38/1.55 tuple2(findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), pi_sharp_find_min(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)))) 1.38/1.55 = { by axiom 1 (ax14) } 1.38/1.55 tuple2(fresh(true2, true2, i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))), pi_sharp_find_min(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)))) 1.38/1.55 = { by axiom 3 (ax58_1) } 1.38/1.55 tuple2(fresh(fresh22(true2, true2, i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))), true2, i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))), pi_sharp_find_min(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)))) 1.38/1.55 = { by lemma 11 } 1.38/1.55 tuple2(fresh(fresh22(pi_sharp_find_min(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))), true2, i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))), true2, i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))), pi_sharp_find_min(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)))) 1.38/1.55 = { by axiom 8 (ax58_1) } 1.38/1.55 tuple2(fresh(issmallestelement_pq(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))), true2, i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))), pi_sharp_find_min(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)))) 1.38/1.55 = { by axiom 6 (ax14) } 1.38/1.55 tuple2(fresh50(contains_pq(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))), true2, i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))), pi_sharp_find_min(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)))) 1.38/1.55 = { by axiom 7 (ax58_2) } 1.38/1.55 tuple2(fresh50(fresh21(pi_sharp_find_min(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))), true2, i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))), true2, i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))), pi_sharp_find_min(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)))) 1.38/1.55 = { by lemma 11 } 1.38/1.55 tuple2(fresh50(fresh21(true2, true2, i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))), true2, i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))), pi_sharp_find_min(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)))) 1.38/1.55 = { by axiom 4 (ax58_2) } 1.38/1.55 tuple2(fresh50(true2, true2, i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))), pi_sharp_find_min(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)))) 1.38/1.55 = { by axiom 2 (ax14) } 1.38/1.55 tuple2(findmin_pq_res(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))), pi_sharp_find_min(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)))) 1.38/1.55 = { by lemma 11 } 1.38/1.55 tuple2(findmin_pq_res(i(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W)), findmin_cpq_res(triple(sK3_co4_U, sK2_co4_V, sK1_co4_W))), true2) 1.38/1.55 % SZS output end Proof 1.38/1.55 1.38/1.55 RESULT: Theorem (the conjecture is true). 1.38/1.56 EOF