0.00/0.03 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.00/0.04 % Command : twee %s --tstp --casc --quiet --conditional-encoding if --smaller --drop-non-horn 0.03/0.23 % Computer : n158.star.cs.uiowa.edu 0.03/0.23 % Model : x86_64 x86_64 0.03/0.23 % CPU : Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz 0.03/0.23 % Memory : 32218.625MB 0.03/0.23 % OS : Linux 3.10.0-693.2.2.el7.x86_64 0.03/0.23 % CPULimit : 300 0.03/0.23 % DateTime : Sat Jul 14 04:19:09 CDT 2018 0.03/0.24 % CPUTime : 0.43/0.63 % SZS status Theorem 0.43/0.63 0.43/0.64 % SZS output start Proof 0.43/0.64 Take the following subset of the input axioms: 0.46/0.65 fof(arity_Int_Oint___Int_Onumber__ring, axiom, number_ring(int)). 0.46/0.65 fof(arity_Int_Oint___Rings_Oring__1__no__zero__divisors, axiom, 0.46/0.65 ring_11004092258visors(int)). 0.46/0.65 fof(conj_0, conjecture, 0.46/0.65 power_power(int, 0.46/0.65 plus_plus(int, one_one(int), semiring_1_of_nat(int, n)), 0.46/0.65 number_number_of(nat, bit0(bit1(pls))))!=zero_zero(int)). 0.46/0.65 fof(fact_19_zero__is__num__zero, axiom, 0.46/0.65 number_number_of(int, pls)=zero_zero(int)). 0.46/0.65 fof(fact_35_zadd__strict__right__mono, axiom, 0.46/0.65 ![K, I, J]: 0.46/0.65 (ord_less(int, plus_plus(int, I, K), plus_plus(int, J, K)) 0.46/0.65 <= ord_less(int, I, J))). 0.46/0.65 fof(fact_59_int__0__less__1, axiom, 0.46/0.65 ord_less(int, zero_zero(int), one_one(int))). 0.46/0.65 fof(fact_5_zero__eq__power2, axiom, 0.46/0.65 ![X_a]: 0.46/0.65 (ring_11004092258visors(X_a) 0.46/0.65 => ![A_2]: 0.46/0.65 (ti(X_a, A_2)=zero_zero(X_a) 0.46/0.65 <=> zero_zero(X_a)=power_power(X_a, A_2, 0.46/0.65 number_number_of(nat, bit0(bit1(pls))))))). 0.46/0.65 fof(fact_61_int__less__0__conv, axiom, 0.46/0.65 ![K]: ~ord_less(int, semiring_1_of_nat(int, K), zero_zero(int))). 0.46/0.65 fof(fact_66_rel__simps_I46_J, axiom, ![K]: pls!=bit1(K)). 0.46/0.65 fof(fact_67_rel__simps_I39_J, axiom, ![L]: bit1(L)!=pls). 0.46/0.65 fof(fact_68_rel__simps_I50_J, axiom, ![K, L]: bit1(K)!=bit0(L)). 0.46/0.65 fof(fact_69_rel__simps_I49_J, axiom, ![K, L]: bit1(L)!=bit0(K)). 0.46/0.65 fof(fact_73_Pls__def, axiom, zero_zero(int)=pls). 0.46/0.65 fof(fact_75_add__Pls__right, axiom, 0.46/0.65 ![K]: plus_plus(int, K, pls)=K). 0.46/0.65 fof(fact_76_add__Pls, axiom, ![K]: plus_plus(int, pls, K)=K). 0.46/0.65 fof(fact_79_zadd__0__right, axiom, 0.46/0.65 ![Z]: plus_plus(int, Z, zero_zero(int))=Z). 0.46/0.65 fof(fact_85_add__numeral__0__right, axiom, 0.46/0.65 ![X_a]: 0.46/0.65 (number_ring(X_a) 0.46/0.65 => ![A_1]: 0.46/0.65 ti(X_a, A_1)=plus_plus(X_a, A_1, number_number_of(X_a, pls)))). 0.46/0.65 fof(fact_86_power__eq__0__iff__number__of, axiom, 0.46/0.65 ![X_a]: 0.46/0.65 ((power(X_a) 0.46/0.65 & (mult_zero(X_a) & (zero_neq_one(X_a) & no_zero_divisors(X_a)))) 0.46/0.65 => ![A_2, Wa]: 0.46/0.65 (zero_zero(X_a)=power_power(X_a, A_2, number_number_of(nat, Wa)) 0.46/0.65 <=> (zero_zero(nat)!=number_number_of(nat, Wa) 0.46/0.65 & zero_zero(X_a)=ti(X_a, A_2))))). 0.46/0.65 fof(fact_92_Bit1__def, axiom, 0.46/0.65 ![K]: bit1(K)=plus_plus(int, plus_plus(int, one_one(int), K), K)). 0.46/0.65 fof(fact_93_odd__nonzero, axiom, 0.46/0.65 ![Z]: 0.46/0.65 zero_zero(int)!=plus_plus(int, plus_plus(int, one_one(int), Z), 0.46/0.65 Z)). 0.46/0.65 fof(fact_95_zero__less__power2, axiom, 0.46/0.65 ![X_a]: 0.46/0.65 (![A_2]: 0.46/0.65 (ord_less(X_a, zero_zero(X_a), 0.46/0.65 power_power(X_a, A_2, number_number_of(nat, bit0(bit1(pls))))) 0.46/0.65 <=> zero_zero(X_a)!=ti(X_a, A_2)) 0.46/0.65 <= linordered_idom(X_a))). 0.46/0.65 fof(fact_96_power2__less__0, axiom, 0.46/0.65 ![X_a]: 0.46/0.65 (linordered_idom(X_a) 0.46/0.65 => ![A_1]: 0.46/0.65 ~ord_less(X_a, 0.46/0.65 power_power(X_a, A_1, number_number_of(nat, bit0(bit1(pls)))), 0.46/0.65 zero_zero(X_a)))). 0.46/0.65 fof(fact_97_sum__power2__gt__zero__iff, axiom, 0.46/0.65 ![X_a]: 0.46/0.65 (linordered_idom(X_a) 0.46/0.65 => ![Xa, Ya]: 0.46/0.65 (ord_less(X_a, zero_zero(X_a), 0.46/0.65 plus_plus(X_a, 0.46/0.65 power_power(X_a, Xa, number_number_of(nat, bit0(bit1(pls)))), 0.46/0.65 power_power(X_a, Ya, number_number_of(nat, bit0(bit1(pls)))))) 0.46/0.65 <=> (zero_zero(X_a)!=ti(X_a, Xa) | ti(X_a, Ya)!=zero_zero(X_a))))). 0.46/0.65 0.46/0.65 Now clausify the problem and encode Horn clauses using encoding 3 of 0.46/0.65 http://www.cse.chalmers.se/~nicsma/papers/horn.pdf. 0.46/0.65 We repeatedly replace C & s=t => u=v by the two clauses: 0.46/0.65 $$fresh(y, y, x1...xn) = u 0.46/0.65 C => $$fresh(s, t, x1...xn) = v 0.46/0.65 where $$fresh is a fresh function symbol and x1..xn are the free 0.46/0.65 variables of u and v. 0.46/0.65 A predicate p(X) is encoded as p(X)=$$true (this is sound, because the 0.46/0.65 input problem has no model of domain size 1). 0.46/0.65 0.46/0.65 The encoding turns the above axioms into the following unit equations and goals: 0.46/0.65 0.46/0.65 Axiom 31 (fact_35_zadd__strict__right__mono): $$fresh97(X, X, Y, Z, W) = $$true2. 0.46/0.65 Axiom 73 (fact_5_zero__eq__power2_1): $$fresh69(X, X, Y, Z) = ti(Y, Z). 0.46/0.65 Axiom 74 (fact_5_zero__eq__power2_1): $$fresh68(X, X, Y, Z) = zero_zero(Y). 0.46/0.65 Axiom 104 (fact_85_add__numeral__0__right): $$fresh47(X, X, Y, Z) = ti(Y, Z). 0.46/0.65 Axiom 181 (arity_Int_Oint___Int_Onumber__ring): number_ring(int) = $$true2. 0.46/0.65 Axiom 182 (fact_92_Bit1__def): bit1(X) = plus_plus(int, plus_plus(int, one_one(int), X), X). 0.46/0.65 Axiom 201 (fact_59_int__0__less__1): ord_less(int, zero_zero(int), one_one(int)) = $$true2. 0.46/0.65 Axiom 229 (fact_5_zero__eq__power2_1): $$fresh69(ring_11004092258visors(X), $$true2, X, Y) = $$fresh68(zero_zero(X), power_power(X, Y, number_number_of(nat, bit0(bit1(pls)))), X, Y). 0.46/0.65 Axiom 242 (fact_19_zero__is__num__zero): number_number_of(int, pls) = zero_zero(int). 0.46/0.65 Axiom 265 (fact_35_zadd__strict__right__mono): $$fresh97(ord_less(int, X, Y), $$true2, Z, X, Y) = ord_less(int, plus_plus(int, X, Z), plus_plus(int, Y, Z)). 0.46/0.65 Axiom 298 (fact_75_add__Pls__right): plus_plus(int, X, pls) = X. 0.46/0.65 Axiom 306 (fact_79_zadd__0__right): plus_plus(int, X, zero_zero(int)) = X. 0.46/0.65 Axiom 309 (fact_85_add__numeral__0__right): $$fresh47(number_ring(X), $$true2, X, Y) = plus_plus(X, Y, number_number_of(X, pls)). 0.46/0.65 Axiom 315 (arity_Int_Oint___Rings_Oring__1__no__zero__divisors): ring_11004092258visors(int) = $$true2. 0.46/0.65 Axiom 328 (fact_73_Pls__def): zero_zero(int) = pls. 0.46/0.65 Axiom 329 (fact_76_add__Pls): plus_plus(int, pls, X) = X. 0.46/0.65 Axiom 334 (conj_0): power_power(int, plus_plus(int, one_one(int), semiring_1_of_nat(int, n)), number_number_of(nat, bit0(bit1(pls)))) = zero_zero(int). 0.46/0.65 0.46/0.65 Lemma 335: one_one(int) = bit1(pls). 0.46/0.65 Proof: 0.46/0.65 one_one(int) 0.46/0.65 = { by axiom 298 (fact_75_add__Pls__right) } 0.46/0.65 plus_plus(int, one_one(int), pls) 0.46/0.65 = { by axiom 298 (fact_75_add__Pls__right) } 0.46/0.65 plus_plus(int, plus_plus(int, one_one(int), pls), pls) 0.46/0.65 = { by axiom 182 (fact_92_Bit1__def) } 0.46/0.65 bit1(pls) 0.46/0.65 0.46/0.65 Goal 1 (fact_61_int__less__0__conv): ord_less(int, semiring_1_of_nat(int, X), zero_zero(int)) = $$true2. 0.46/0.65 The goal is true when: 0.46/0.65 X = n 0.46/0.65 0.46/0.65 Proof: 0.46/0.65 ord_less(int, semiring_1_of_nat(int, n), zero_zero(int)) 0.46/0.65 = { by axiom 329 (fact_76_add__Pls) } 0.46/0.65 ord_less(int, plus_plus(int, pls, semiring_1_of_nat(int, n)), zero_zero(int)) 0.46/0.65 = { by axiom 74 (fact_5_zero__eq__power2_1) } 0.46/0.65 ord_less(int, plus_plus(int, pls, semiring_1_of_nat(int, n)), $$fresh68(pls, pls, int, plus_plus(int, bit1(pls), semiring_1_of_nat(int, n)))) 0.46/0.65 = { by axiom 328 (fact_73_Pls__def) } 0.46/0.65 ord_less(int, plus_plus(int, pls, semiring_1_of_nat(int, n)), $$fresh68(zero_zero(int), pls, int, plus_plus(int, bit1(pls), semiring_1_of_nat(int, n)))) 0.46/0.65 = { by axiom 328 (fact_73_Pls__def) } 0.46/0.65 ord_less(int, plus_plus(int, pls, semiring_1_of_nat(int, n)), $$fresh68(zero_zero(int), zero_zero(int), int, plus_plus(int, bit1(pls), semiring_1_of_nat(int, n)))) 0.46/0.65 = { by axiom 334 (conj_0) } 0.46/0.65 ord_less(int, plus_plus(int, pls, semiring_1_of_nat(int, n)), $$fresh68(zero_zero(int), power_power(int, plus_plus(int, one_one(int), semiring_1_of_nat(int, n)), number_number_of(nat, bit0(bit1(pls)))), int, plus_plus(int, bit1(pls), semiring_1_of_nat(int, n)))) 0.46/0.65 = { by lemma 335 } 0.46/0.65 ord_less(int, plus_plus(int, pls, semiring_1_of_nat(int, n)), $$fresh68(zero_zero(int), power_power(int, plus_plus(int, one_one(int), semiring_1_of_nat(int, n)), number_number_of(nat, bit0(bit1(pls)))), int, plus_plus(int, one_one(int), semiring_1_of_nat(int, n)))) 0.46/0.65 = { by axiom 229 (fact_5_zero__eq__power2_1) } 0.46/0.65 ord_less(int, plus_plus(int, pls, semiring_1_of_nat(int, n)), $$fresh69(ring_11004092258visors(int), $$true2, int, plus_plus(int, one_one(int), semiring_1_of_nat(int, n)))) 0.46/0.65 = { by axiom 315 (arity_Int_Oint___Rings_Oring__1__no__zero__divisors) } 0.46/0.66 ord_less(int, plus_plus(int, pls, semiring_1_of_nat(int, n)), $$fresh69($$true2, $$true2, int, plus_plus(int, one_one(int), semiring_1_of_nat(int, n)))) 0.46/0.66 = { by lemma 335 } 0.46/0.66 ord_less(int, plus_plus(int, pls, semiring_1_of_nat(int, n)), $$fresh69($$true2, $$true2, int, plus_plus(int, bit1(pls), semiring_1_of_nat(int, n)))) 0.46/0.66 = { by axiom 73 (fact_5_zero__eq__power2_1) } 0.46/0.66 ord_less(int, plus_plus(int, pls, semiring_1_of_nat(int, n)), ti(int, plus_plus(int, bit1(pls), semiring_1_of_nat(int, n)))) 0.46/0.66 = { by axiom 104 (fact_85_add__numeral__0__right) } 0.46/0.66 ord_less(int, plus_plus(int, pls, semiring_1_of_nat(int, n)), $$fresh47($$true2, $$true2, int, plus_plus(int, bit1(pls), semiring_1_of_nat(int, n)))) 0.46/0.66 = { by axiom 181 (arity_Int_Oint___Int_Onumber__ring) } 0.46/0.66 ord_less(int, plus_plus(int, pls, semiring_1_of_nat(int, n)), $$fresh47(number_ring(int), $$true2, int, plus_plus(int, bit1(pls), semiring_1_of_nat(int, n)))) 0.46/0.66 = { by axiom 309 (fact_85_add__numeral__0__right) } 0.46/0.66 ord_less(int, plus_plus(int, pls, semiring_1_of_nat(int, n)), plus_plus(int, plus_plus(int, bit1(pls), semiring_1_of_nat(int, n)), number_number_of(int, pls))) 0.46/0.66 = { by axiom 242 (fact_19_zero__is__num__zero) } 0.46/0.66 ord_less(int, plus_plus(int, pls, semiring_1_of_nat(int, n)), plus_plus(int, plus_plus(int, bit1(pls), semiring_1_of_nat(int, n)), zero_zero(int))) 0.46/0.66 = { by axiom 306 (fact_79_zadd__0__right) } 0.46/0.66 ord_less(int, plus_plus(int, pls, semiring_1_of_nat(int, n)), plus_plus(int, bit1(pls), semiring_1_of_nat(int, n))) 0.46/0.66 = { by axiom 265 (fact_35_zadd__strict__right__mono) } 0.46/0.66 $$fresh97(ord_less(int, pls, bit1(pls)), $$true2, semiring_1_of_nat(int, n), pls, bit1(pls)) 0.46/0.66 = { by axiom 328 (fact_73_Pls__def) } 0.46/0.66 $$fresh97(ord_less(int, zero_zero(int), bit1(pls)), $$true2, semiring_1_of_nat(int, n), pls, bit1(pls)) 0.46/0.66 = { by lemma 335 } 0.46/0.66 $$fresh97(ord_less(int, zero_zero(int), one_one(int)), $$true2, semiring_1_of_nat(int, n), pls, bit1(pls)) 0.46/0.66 = { by axiom 201 (fact_59_int__0__less__1) } 0.46/0.66 $$fresh97($$true2, $$true2, semiring_1_of_nat(int, n), pls, bit1(pls)) 0.46/0.66 = { by axiom 31 (fact_35_zadd__strict__right__mono) } 0.46/0.66 $$true2 0.46/0.66 % SZS output end Proof 0.46/0.66 0.46/0.66 RESULT: Theorem (the conjecture is true). 0.46/0.66 EOF