0.00/0.09 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.08/0.10 % Command : twee %s --tstp --casc --quiet --explain-encoding --conditional-encoding if --smaller --drop-non-horn 0.09/0.30 % Computer : n015.cluster.edu 0.09/0.30 % Model : x86_64 x86_64 0.09/0.30 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.09/0.30 % Memory : 8042.1875MB 0.09/0.30 % OS : Linux 3.10.0-693.el7.x86_64 0.09/0.30 % CPULimit : 960 0.09/0.30 % WCLimit : 120 0.09/0.30 % DateTime : Thu Jul 2 06:52:15 EDT 2020 0.09/0.30 % CPUTime : 0.15/0.49 % SZS status Theorem 0.15/0.49 0.15/0.49 % SZS output start Proof 0.15/0.49 Take the following subset of the input axioms: 0.15/0.49 fof(and_1, axiom, ![X, Y]: is_a_theorem(implies(and(X, Y), X)) <=> and_1). 0.15/0.49 fof(axiom_m2, axiom, axiom_m2 <=> ![X, Y]: is_a_theorem(strict_implies(and(X, Y), X))). 0.15/0.49 fof(hilbert_and_1, axiom, and_1). 0.15/0.49 fof(km5_necessitation, axiom, necessitation). 0.15/0.49 fof(necessitation, axiom, necessitation <=> ![X]: (is_a_theorem(X) => is_a_theorem(necessarily(X)))). 0.15/0.49 fof(op_strict_implies, axiom, op_strict_implies => ![X, Y]: necessarily(implies(X, Y))=strict_implies(X, Y)). 0.15/0.49 fof(s1_0_axiom_m2, conjecture, axiom_m2). 0.15/0.49 fof(s1_0_op_strict_implies, axiom, op_strict_implies). 0.15/0.49 0.15/0.49 Now clausify the problem and encode Horn clauses using encoding 3 of 0.15/0.49 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 0.15/0.49 We repeatedly replace C & s=t => u=v by the two clauses: 0.15/0.49 fresh(y, y, x1...xn) = u 0.15/0.49 C => fresh(s, t, x1...xn) = v 0.15/0.49 where fresh is a fresh function symbol and x1..xn are the free 0.15/0.49 variables of u and v. 0.15/0.49 A predicate p(X) is encoded as p(X)=true (this is sound, because the 0.15/0.49 input problem has no model of domain size 1). 0.15/0.49 0.15/0.49 The encoding turns the above axioms into the following unit equations and goals: 0.15/0.49 0.15/0.49 Axiom 1 (and_1_1): fresh107(X, X, Y, Z) = true. 0.15/0.49 Axiom 2 (axiom_m2): fresh88(X, X) = true. 0.15/0.49 Axiom 3 (necessitation_1): fresh34(X, X, Y) = is_a_theorem(necessarily(Y)). 0.15/0.49 Axiom 4 (necessitation_1): fresh33(X, X, Y) = true. 0.15/0.49 Axiom 5 (op_strict_implies): fresh23(X, X, Y, Z) = strict_implies(Y, Z). 0.15/0.49 Axiom 6 (and_1_1): fresh107(and_1, true, X, Y) = is_a_theorem(implies(and(X, Y), X)). 0.15/0.49 Axiom 7 (hilbert_and_1): and_1 = true. 0.15/0.49 Axiom 8 (axiom_m2_1): fresh87(axiom_m2, true, X, Y) = is_a_theorem(strict_implies(and(X, Y), X)). 0.15/0.49 Axiom 9 (axiom_m2): fresh88(is_a_theorem(strict_implies(and(sK22_axiom_m2_X, sK21_axiom_m2_Y), sK22_axiom_m2_X)), true) = axiom_m2. 0.15/0.49 Axiom 10 (necessitation_1): fresh34(necessitation, true, X) = fresh33(is_a_theorem(X), true, X). 0.15/0.49 Axiom 11 (op_strict_implies): fresh23(op_strict_implies, true, X, Y) = necessarily(implies(X, Y)). 0.15/0.49 Axiom 12 (km5_necessitation): necessitation = true. 0.15/0.50 Axiom 13 (s1_0_op_strict_implies): op_strict_implies = true. 0.15/0.50 0.15/0.50 Goal 1 (s1_0_axiom_m2): axiom_m2 = true. 0.15/0.50 Proof: 0.15/0.50 axiom_m2 0.15/0.50 = { by axiom 9 (axiom_m2) } 0.15/0.50 fresh88(is_a_theorem(strict_implies(and(sK22_axiom_m2_X, sK21_axiom_m2_Y), sK22_axiom_m2_X)), true) 0.15/0.50 = { by axiom 5 (op_strict_implies) } 0.15/0.50 fresh88(is_a_theorem(fresh23(true, true, and(sK22_axiom_m2_X, sK21_axiom_m2_Y), sK22_axiom_m2_X)), true) 0.15/0.50 = { by axiom 13 (s1_0_op_strict_implies) } 0.15/0.50 fresh88(is_a_theorem(fresh23(op_strict_implies, true, and(sK22_axiom_m2_X, sK21_axiom_m2_Y), sK22_axiom_m2_X)), true) 0.15/0.50 = { by axiom 11 (op_strict_implies) } 0.15/0.50 fresh88(is_a_theorem(necessarily(implies(and(sK22_axiom_m2_X, sK21_axiom_m2_Y), sK22_axiom_m2_X))), true) 0.15/0.50 = { by axiom 3 (necessitation_1) } 0.15/0.50 fresh88(fresh34(true, true, implies(and(sK22_axiom_m2_X, sK21_axiom_m2_Y), sK22_axiom_m2_X)), true) 0.15/0.50 = { by axiom 12 (km5_necessitation) } 0.15/0.50 fresh88(fresh34(necessitation, true, implies(and(sK22_axiom_m2_X, sK21_axiom_m2_Y), sK22_axiom_m2_X)), true) 0.15/0.50 = { by axiom 10 (necessitation_1) } 0.15/0.50 fresh88(fresh33(is_a_theorem(implies(and(sK22_axiom_m2_X, sK21_axiom_m2_Y), sK22_axiom_m2_X)), true, implies(and(sK22_axiom_m2_X, sK21_axiom_m2_Y), sK22_axiom_m2_X)), true) 0.15/0.50 = { by axiom 6 (and_1_1) } 0.15/0.50 fresh88(fresh33(fresh107(and_1, true, sK22_axiom_m2_X, sK21_axiom_m2_Y), true, implies(and(sK22_axiom_m2_X, sK21_axiom_m2_Y), sK22_axiom_m2_X)), true) 0.15/0.50 = { by axiom 7 (hilbert_and_1) } 0.15/0.50 fresh88(fresh33(fresh107(true, true, sK22_axiom_m2_X, sK21_axiom_m2_Y), true, implies(and(sK22_axiom_m2_X, sK21_axiom_m2_Y), sK22_axiom_m2_X)), true) 0.15/0.50 = { by axiom 1 (and_1_1) } 0.15/0.50 fresh88(fresh33(true, true, implies(and(sK22_axiom_m2_X, sK21_axiom_m2_Y), sK22_axiom_m2_X)), true) 0.15/0.50 = { by axiom 4 (necessitation_1) } 0.15/0.50 fresh88(true, true) 0.15/0.50 = { by axiom 2 (axiom_m2) } 0.15/0.50 true 0.15/0.50 % SZS output end Proof 0.15/0.50 0.15/0.50 RESULT: Theorem (the conjecture is true). 0.15/0.50 EOF