0.00/0.12 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.12/0.12 % Command : twee %s --tstp --casc --quiet --explain-encoding --conditional-encoding if --smaller --drop-non-horn 0.12/0.33 % Computer : n005.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 : 180 0.12/0.33 % DateTime : Thu Aug 29 10:06:03 EDT 2019 0.12/0.33 % CPUTime : 18.17/18.35 % SZS status Theorem 18.17/18.35 18.17/18.35 % SZS output start Proof 18.17/18.35 Take the following subset of the input axioms: 18.17/18.35 fof(owl_bool_complementof_class, axiom, ![Z, C]: (iext(uri_owl_complementOf, Z, C) => (ic(Z) & (![X]: (icext(Z, X) <=> ~icext(C, X)) & ic(C))))). 18.17/18.35 fof(owl_bool_intersectionof_class_002, axiom, ![Z, S1, C1, S2, C2]: ((iext(uri_owl_intersectionOf, Z, S1) <=> (ic(Z) & (ic(C1) & (![X]: (icext(Z, X) <=> (icext(C1, X) & icext(C2, X))) & ic(C2))))) <= (iext(uri_rdf_first, S2, C2) & (iext(uri_rdf_rest, S2, uri_rdf_nil) & (iext(uri_rdf_rest, S1, S2) & iext(uri_rdf_first, S1, C1)))))). 18.17/18.35 fof(owl_bool_unionof_class_000, axiom, ![Z]: (iext(uri_owl_unionOf, Z, uri_rdf_nil) <=> (ic(Z) & ![X]: ~icext(Z, X)))). 18.17/18.35 fof(owl_class_nothing_ext, axiom, ![X]: ~icext(uri_owl_Nothing, X)). 18.17/18.35 fof(rdfs_cext_def, axiom, ![X, C]: (icext(C, X) <=> iext(uri_rdf_type, X, C))). 18.17/18.35 fof(testcase_premise_fullish_029_Ex_Falso_Quodlibet, axiom, ?[BNODE_x, BNODE_y, BNODE_l1, BNODE_l2]: (iext(uri_owl_intersectionOf, BNODE_x, BNODE_l1) & (iext(uri_rdf_rest, BNODE_l1, BNODE_l2) & (iext(uri_rdf_rest, BNODE_l2, uri_rdf_nil) & (iext(uri_owl_complementOf, BNODE_y, uri_ex_A) & (iext(uri_rdf_first, BNODE_l2, BNODE_y) & (iext(uri_rdf_first, BNODE_l1, uri_ex_A) & (iext(uri_rdf_type, uri_ex_w, BNODE_x) & (iext(uri_rdf_type, uri_ex_B, uri_owl_Class) & iext(uri_rdf_type, uri_ex_A, uri_owl_Class)))))))))). 18.17/18.35 18.17/18.35 Now clausify the problem and encode Horn clauses using encoding 3 of 18.17/18.35 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 18.17/18.35 We repeatedly replace C & s=t => u=v by the two clauses: 18.17/18.35 fresh(y, y, x1...xn) = u 18.17/18.35 C => fresh(s, t, x1...xn) = v 18.17/18.35 where fresh is a fresh function symbol and x1..xn are the free 18.17/18.35 variables of u and v. 18.17/18.35 A predicate p(X) is encoded as p(X)=true (this is sound, because the 18.17/18.35 input problem has no model of domain size 1). 18.17/18.35 18.17/18.35 The encoding turns the above axioms into the following unit equations and goals: 18.17/18.35 18.17/18.35 Axiom 1 (owl_bool_intersectionof_class_002_3): fresh307(X, X, Y, Z, W, V) = sP3_owl_bool_intersectionof_class_002_equiv(Z, W, V). 18.17/18.35 Axiom 2 (owl_bool_intersectionof_class_002_3): fresh309(X, X, Y, Z, W) = true2. 18.17/18.35 Axiom 3 (owl_bool_intersectionof_class_002_3): fresh308(X, X, Y, Z, W, V, U) = fresh309(iext(uri_rdf_first, Y, Z), true2, Z, V, U). 18.17/18.35 Axiom 4 (owl_bool_intersectionof_class_002_3): fresh305(X, X, Y, Z, W, V, U) = fresh308(iext(uri_rdf_rest, Y, W), true2, Y, Z, W, V, U). 18.17/18.35 Axiom 5 (owl_bool_intersectionof_class_002_3): fresh306(X, X, Y, Z, W, V, U) = fresh307(iext(uri_rdf_first, W, V), true2, Y, Z, V, U). 18.17/18.35 Axiom 6 (owl_bool_intersectionof_class_002_3): fresh304(X, X, Y, Z, W, V, U, T) = fresh306(iext(uri_rdf_rest, V, uri_rdf_nil), true2, Z, W, V, U, T). 18.17/18.35 Axiom 7 (owl_bool_intersectionof_class_002_8): fresh134(X, X, Y, Z) = true2. 18.17/18.35 Axiom 8 (owl_bool_intersectionof_class_002_9): fresh133(X, X, Y, Z) = true2. 18.17/18.35 Axiom 9 (rdfs_cext_def): fresh31(X, X, Y, Z) = true2. 18.17/18.35 Axiom 10 (rdfs_cext_def): fresh31(iext(uri_rdf_type, X, Y), true2, X, Y) = icext(Y, X). 18.17/18.35 Axiom 11 (owl_bool_intersectionof_class_002_9): fresh133(sP3_owl_bool_intersectionof_class_002_equiv(X, Y, Z), true2, Y, Z) = icext(Y, Z). 18.17/18.35 Axiom 12 (owl_bool_intersectionof_class_002_8): fresh134(sP3_owl_bool_intersectionof_class_002_equiv(X, Y, Z), true2, X, Z) = icext(X, Z). 18.17/18.35 Axiom 13 (owl_bool_intersectionof_class_002_3): fresh304(icext(X, Y), true2, X, Z, W, V, U, Y) = fresh305(iext(uri_owl_intersectionOf, X, Z), true2, Z, W, V, U, Y). 18.17/18.35 Axiom 14 (testcase_premise_fullish_029_Ex_Falso_Quodlibet_8): iext(uri_owl_complementOf, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_A) = true2. 18.17/18.35 Axiom 15 (testcase_premise_fullish_029_Ex_Falso_Quodlibet_7): iext(uri_owl_intersectionOf, sK3_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_x, sK4_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l1) = true2. 18.17/18.35 Axiom 16 (testcase_premise_fullish_029_Ex_Falso_Quodlibet_6): iext(uri_rdf_rest, sK2_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l2, uri_rdf_nil) = true2. 18.17/18.35 Axiom 17 (testcase_premise_fullish_029_Ex_Falso_Quodlibet_5): iext(uri_rdf_rest, sK4_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l1, sK2_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l2) = true2. 18.17/18.35 Axiom 18 (testcase_premise_fullish_029_Ex_Falso_Quodlibet_4): iext(uri_rdf_first, sK2_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l2, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y) = true2. 18.17/18.35 Axiom 19 (testcase_premise_fullish_029_Ex_Falso_Quodlibet_3): iext(uri_rdf_first, sK4_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l1, uri_ex_A) = true2. 18.17/18.35 Axiom 20 (testcase_premise_fullish_029_Ex_Falso_Quodlibet_1): iext(uri_rdf_type, uri_ex_w, sK3_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_x) = true2. 18.17/18.35 18.17/18.35 Lemma 21: sP3_owl_bool_intersectionof_class_002_equiv(uri_ex_A, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w) = true2. 18.17/18.35 Proof: 18.17/18.35 sP3_owl_bool_intersectionof_class_002_equiv(uri_ex_A, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w) 18.17/18.35 = { by axiom 1 (owl_bool_intersectionof_class_002_3) } 18.17/18.35 fresh307(true2, true2, sK4_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l1, uri_ex_A, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w) 18.17/18.35 = { by axiom 18 (testcase_premise_fullish_029_Ex_Falso_Quodlibet_4) } 18.17/18.35 fresh307(iext(uri_rdf_first, sK2_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l2, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y), true2, sK4_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l1, uri_ex_A, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w) 18.17/18.35 = { by axiom 5 (owl_bool_intersectionof_class_002_3) } 18.17/18.35 fresh306(true2, true2, sK4_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l1, uri_ex_A, sK2_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l2, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w) 18.17/18.35 = { by axiom 16 (testcase_premise_fullish_029_Ex_Falso_Quodlibet_6) } 18.17/18.35 fresh306(iext(uri_rdf_rest, sK2_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l2, uri_rdf_nil), true2, sK4_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l1, uri_ex_A, sK2_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l2, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w) 18.17/18.35 = { by axiom 6 (owl_bool_intersectionof_class_002_3) } 18.17/18.35 fresh304(true2, true2, sK3_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_x, sK4_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l1, uri_ex_A, sK2_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l2, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w) 18.17/18.35 = { by axiom 9 (rdfs_cext_def) } 18.17/18.35 fresh304(fresh31(true2, true2, uri_ex_w, sK3_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_x), true2, sK3_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_x, sK4_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l1, uri_ex_A, sK2_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l2, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w) 18.17/18.35 = { by axiom 20 (testcase_premise_fullish_029_Ex_Falso_Quodlibet_1) } 18.17/18.35 fresh304(fresh31(iext(uri_rdf_type, uri_ex_w, sK3_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_x), true2, uri_ex_w, sK3_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_x), true2, sK3_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_x, sK4_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l1, uri_ex_A, sK2_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l2, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w) 18.17/18.35 = { by axiom 10 (rdfs_cext_def) } 18.17/18.35 fresh304(icext(sK3_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_x, uri_ex_w), true2, sK3_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_x, sK4_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l1, uri_ex_A, sK2_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l2, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w) 18.17/18.35 = { by axiom 13 (owl_bool_intersectionof_class_002_3) } 18.17/18.35 fresh305(iext(uri_owl_intersectionOf, sK3_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_x, sK4_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l1), true2, sK4_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l1, uri_ex_A, sK2_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l2, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w) 18.17/18.35 = { by axiom 15 (testcase_premise_fullish_029_Ex_Falso_Quodlibet_7) } 18.17/18.35 fresh305(true2, true2, sK4_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l1, uri_ex_A, sK2_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l2, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w) 18.17/18.35 = { by axiom 4 (owl_bool_intersectionof_class_002_3) } 18.17/18.35 fresh308(iext(uri_rdf_rest, sK4_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l1, sK2_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l2), true2, sK4_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l1, uri_ex_A, sK2_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l2, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w) 18.17/18.35 = { by axiom 17 (testcase_premise_fullish_029_Ex_Falso_Quodlibet_5) } 18.17/18.35 fresh308(true2, true2, sK4_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l1, uri_ex_A, sK2_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l2, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w) 18.17/18.35 = { by axiom 3 (owl_bool_intersectionof_class_002_3) } 18.17/18.35 fresh309(iext(uri_rdf_first, sK4_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_l1, uri_ex_A), true2, uri_ex_A, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w) 18.17/18.35 = { by axiom 19 (testcase_premise_fullish_029_Ex_Falso_Quodlibet_3) } 18.17/18.35 fresh309(true2, true2, uri_ex_A, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w) 18.17/18.35 = { by axiom 2 (owl_bool_intersectionof_class_002_3) } 18.17/18.35 true2 18.17/18.35 18.17/18.35 Goal 1 (owl_bool_complementof_class_3): tuple(iext(uri_owl_complementOf, X, Y), icext(X, Z), icext(Y, Z)) = tuple(true2, true2, true2). 18.17/18.35 The goal is true when: 18.17/18.35 X = sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y 18.17/18.35 Y = uri_ex_A 18.17/18.35 Z = uri_ex_w 18.17/18.35 18.17/18.35 Proof: 18.17/18.35 tuple(iext(uri_owl_complementOf, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_A), icext(sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w), icext(uri_ex_A, uri_ex_w)) 18.17/18.35 = { by axiom 14 (testcase_premise_fullish_029_Ex_Falso_Quodlibet_8) } 18.17/18.35 tuple(true2, icext(sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w), icext(uri_ex_A, uri_ex_w)) 18.17/18.35 = { by axiom 11 (owl_bool_intersectionof_class_002_9) } 18.17/18.35 tuple(true2, fresh133(sP3_owl_bool_intersectionof_class_002_equiv(uri_ex_A, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w), true2, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w), icext(uri_ex_A, uri_ex_w)) 18.17/18.35 = { by lemma 21 } 18.17/18.35 tuple(true2, fresh133(true2, true2, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w), icext(uri_ex_A, uri_ex_w)) 18.17/18.35 = { by axiom 8 (owl_bool_intersectionof_class_002_9) } 18.17/18.35 tuple(true2, true2, icext(uri_ex_A, uri_ex_w)) 18.17/18.35 = { by axiom 12 (owl_bool_intersectionof_class_002_8) } 18.17/18.35 tuple(true2, true2, fresh134(sP3_owl_bool_intersectionof_class_002_equiv(uri_ex_A, sK1_testcase_premise_fullish_029_Ex_Falso_Quodlibet_BNODE_y, uri_ex_w), true2, uri_ex_A, uri_ex_w)) 18.17/18.35 = { by lemma 21 } 18.17/18.35 tuple(true2, true2, fresh134(true2, true2, uri_ex_A, uri_ex_w)) 18.17/18.35 = { by axiom 7 (owl_bool_intersectionof_class_002_8) } 18.17/18.35 tuple(true2, true2, true2) 18.17/18.35 % SZS output end Proof 18.17/18.35 18.17/18.35 RESULT: Theorem (the conjecture is true). 18.17/18.37 EOF