NO Problem 1: Infeasibility Problem: [(VAR vNonEmpty z y x vNonEmpty x1 x x2 x3) (STRATEGY CONTEXTSENSITIVE (gcd 1 2) (iadd 1) (u1 1) (0) (add 1 2) (fSNonEmpty) (s 1) (tp2 1 2) ) (RULES gcd(0,x) -> x gcd(z,y) -> gcd(x,y) | iadd(z) ->* tp2(x,y) gcd(y,z) -> gcd(x,y) | iadd(z) ->* tp2(x,y) gcd(x,0) -> x iadd(add(x,y)) -> tp2(x,y) iadd(s(z)) -> u1(iadd(z)) iadd(y) -> tp2(0,y) u1(tp2(x,y)) -> tp2(s(x),y) ) ] Infeasibility Conditions: iadd(x1) ->* tp2(x,x2), iadd(x2) ->* tp2(x3,x1) Problem 1: Obtaining a proof using Prover9: -> Prover9 Output: ============================== Prover9 =============================== Prover9 (64) version 2009-11A, November 2009. Process 3275905 was started by sandbox2 on z034.star.cs.uiowa.edu, Tue Jul 30 09:22:10 2024 The command was "./prover9 -f /tmp/prover93275898-0.in". ============================== end of head =========================== ============================== INPUT ================================= % Reading from file /tmp/prover93275898-0.in assign(max_seconds,20). formulas(assumptions). ->_s0(x1,y) -> ->_s0(gcd(x1,x2),gcd(y,x2)) # label(congruence). ->_s0(x2,y) -> ->_s0(gcd(x1,x2),gcd(x1,y)) # label(congruence). ->_s0(x1,y) -> ->_s0(iadd(x1),iadd(y)) # label(congruence). ->_s0(x1,y) -> ->_s0(u1(x1),u1(y)) # label(congruence). ->_s0(x1,y) -> ->_s0(add(x1,x2),add(y,x2)) # label(congruence). ->_s0(x2,y) -> ->_s0(add(x1,x2),add(x1,y)) # label(congruence). ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence). ->_s0(x1,y) -> ->_s0(tp2(x1,x2),tp2(y,x2)) # label(congruence). ->_s0(x2,y) -> ->_s0(tp2(x1,x2),tp2(x1,y)) # label(congruence). ->_s0(gcd(0,x3),x3) # label(replacement). ->*_s0(iadd(x1),tp2(x3,x2)) -> ->_s0(gcd(x1,x2),gcd(x3,x2)) # label(replacement). ->*_s0(iadd(x1),tp2(x3,x2)) -> ->_s0(gcd(x2,x1),gcd(x3,x2)) # label(replacement). ->_s0(gcd(x3,0),x3) # label(replacement). ->_s0(iadd(add(x3,x2)),tp2(x3,x2)) # label(replacement). ->_s0(iadd(s(x1)),u1(iadd(x1))) # label(replacement). ->_s0(iadd(x2),tp2(0,x2)) # label(replacement). ->_s0(u1(tp2(x3,x2)),tp2(s(x3),x2)) # label(replacement). ->*_s0(x,x) # label(reflexivity). ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity). end_of_list. formulas(goals). (exists x5 exists x6 exists x7 exists x8 (->*_s0(iadd(x5),tp2(x6,x7)) & ->*_s0(iadd(x7),tp2(x8,x5)))) # label(goal). end_of_list. ============================== end of input ========================== ============================== PROCESS NON-CLAUSAL FORMULAS ========== % Formulas that are not ordinary clauses: 1 ->_s0(x1,y) -> ->_s0(gcd(x1,x2),gcd(y,x2)) # label(congruence) # label(non_clause). [assumption]. 2 ->_s0(x2,y) -> ->_s0(gcd(x1,x2),gcd(x1,y)) # label(congruence) # label(non_clause). [assumption]. 3 ->_s0(x1,y) -> ->_s0(iadd(x1),iadd(y)) # label(congruence) # label(non_clause). [assumption]. 4 ->_s0(x1,y) -> ->_s0(u1(x1),u1(y)) # label(congruence) # label(non_clause). [assumption]. 5 ->_s0(x1,y) -> ->_s0(add(x1,x2),add(y,x2)) # label(congruence) # label(non_clause). [assumption]. 6 ->_s0(x2,y) -> ->_s0(add(x1,x2),add(x1,y)) # label(congruence) # label(non_clause). [assumption]. 7 ->_s0(x1,y) -> ->_s0(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 8 ->_s0(x1,y) -> ->_s0(tp2(x1,x2),tp2(y,x2)) # label(congruence) # label(non_clause). [assumption]. 9 ->_s0(x2,y) -> ->_s0(tp2(x1,x2),tp2(x1,y)) # label(congruence) # label(non_clause). [assumption]. 10 ->*_s0(iadd(x1),tp2(x3,x2)) -> ->_s0(gcd(x1,x2),gcd(x3,x2)) # label(replacement) # label(non_clause). [assumption]. 11 ->*_s0(iadd(x1),tp2(x3,x2)) -> ->_s0(gcd(x2,x1),gcd(x3,x2)) # label(replacement) # label(non_clause). [assumption]. 12 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 13 (exists x5 exists x6 exists x7 exists x8 (->*_s0(iadd(x5),tp2(x6,x7)) & ->*_s0(iadd(x7),tp2(x8,x5)))) # label(goal) # label(non_clause) # label(goal). [goal]. ============================== end of process non-clausal formulas === ============================== PROCESS INITIAL CLAUSES =============== % Clauses before input processing: formulas(usable). end_of_list. formulas(sos). -->_s0(x,y) | ->_s0(gcd(x,z),gcd(y,z)) # label(congruence). [clausify(1)]. -->_s0(x,y) | ->_s0(gcd(z,x),gcd(z,y)) # label(congruence). [clausify(2)]. -->_s0(x,y) | ->_s0(iadd(x),iadd(y)) # label(congruence). [clausify(3)]. -->_s0(x,y) | ->_s0(u1(x),u1(y)) # label(congruence). [clausify(4)]. -->_s0(x,y) | ->_s0(add(x,z),add(y,z)) # label(congruence). [clausify(5)]. -->_s0(x,y) | ->_s0(add(z,x),add(z,y)) # label(congruence). [clausify(6)]. -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(7)]. -->_s0(x,y) | ->_s0(tp2(x,z),tp2(y,z)) # label(congruence). [clausify(8)]. -->_s0(x,y) | ->_s0(tp2(z,x),tp2(z,y)) # label(congruence). [clausify(9)]. ->_s0(gcd(0,x),x) # label(replacement). [assumption]. -->*_s0(iadd(x),tp2(y,z)) | ->_s0(gcd(x,z),gcd(y,z)) # label(replacement). [clausify(10)]. -->*_s0(iadd(x),tp2(y,z)) | ->_s0(gcd(z,x),gcd(y,z)) # label(replacement). [clausify(11)]. ->_s0(gcd(x,0),x) # label(replacement). [assumption]. ->_s0(iadd(add(x,y)),tp2(x,y)) # label(replacement). [assumption]. ->_s0(iadd(s(x)),u1(iadd(x))) # label(replacement). [assumption]. ->_s0(iadd(x),tp2(0,x)) # label(replacement). [assumption]. ->_s0(u1(tp2(x,y)),tp2(s(x),y)) # label(replacement). [assumption]. ->*_s0(x,x) # label(reflexivity). [assumption]. -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(12)]. -->*_s0(iadd(x),tp2(y,z)) | -->*_s0(iadd(z),tp2(u,x)) # label(goal). [deny(13)]. end_of_list. formulas(demodulators). end_of_list. ============================== PREDICATE ELIMINATION ================= No predicates eliminated. ============================== end predicate elimination ============= Auto_denials: % copying label goal to answer in negative clause Term ordering decisions: Predicate symbol precedence: predicate_order([ ->_s0, ->*_s0 ]). Function symbol precedence: function_order([ 0, gcd, tp2, add, iadd, u1, s ]). After inverse_order: (no changes). Unfolding symbols: (none). Auto_inference settings: % set(neg_binary_resolution). % (HNE depth_diff=-9) % clear(ordered_res). % (HNE depth_diff=-9) % set(ur_resolution). % (HNE depth_diff=-9) % set(ur_resolution) -> set(pos_ur_resolution). % set(ur_resolution) -> set(neg_ur_resolution). Auto_process settings: % set(unit_deletion). % (Horn set with negative nonunits) kept: 14 -->_s0(x,y) | ->_s0(gcd(x,z),gcd(y,z)) # label(congruence). [clausify(1)]. kept: 15 -->_s0(x,y) | ->_s0(gcd(z,x),gcd(z,y)) # label(congruence). [clausify(2)]. kept: 16 -->_s0(x,y) | ->_s0(iadd(x),iadd(y)) # label(congruence). [clausify(3)]. kept: 17 -->_s0(x,y) | ->_s0(u1(x),u1(y)) # label(congruence). [clausify(4)]. kept: 18 -->_s0(x,y) | ->_s0(add(x,z),add(y,z)) # label(congruence). [clausify(5)]. kept: 19 -->_s0(x,y) | ->_s0(add(z,x),add(z,y)) # label(congruence). [clausify(6)]. kept: 20 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(7)]. kept: 21 -->_s0(x,y) | ->_s0(tp2(x,z),tp2(y,z)) # label(congruence). [clausify(8)]. kept: 22 -->_s0(x,y) | ->_s0(tp2(z,x),tp2(z,y)) # label(congruence). [clausify(9)]. kept: 23 ->_s0(gcd(0,x),x) # label(replacement). [assumption]. kept: 24 -->*_s0(iadd(x),tp2(y,z)) | ->_s0(gcd(x,z),gcd(y,z)) # label(replacement). [clausify(10)]. kept: 25 -->*_s0(iadd(x),tp2(y,z)) | ->_s0(gcd(z,x),gcd(y,z)) # label(replacement). [clausify(11)]. kept: 26 ->_s0(gcd(x,0),x) # label(replacement). [assumption]. kept: 27 ->_s0(iadd(add(x,y)),tp2(x,y)) # label(replacement). [assumption]. kept: 28 ->_s0(iadd(s(x)),u1(iadd(x))) # label(replacement). [assumption]. kept: 29 ->_s0(iadd(x),tp2(0,x)) # label(replacement). [assumption]. kept: 30 ->_s0(u1(tp2(x,y)),tp2(s(x),y)) # label(replacement). [assumption]. kept: 31 ->*_s0(x,x) # label(reflexivity). [assumption]. kept: 32 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(12)]. kept: 33 -->*_s0(iadd(x),tp2(y,z)) | -->*_s0(iadd(z),tp2(u,x)) # label(goal) # answer(goal). [deny(13)]. ============================== end of process initial clauses ======== ============================== CLAUSES FOR SEARCH ==================== % Clauses after input processing: formulas(usable). end_of_list. formulas(sos). 14 -->_s0(x,y) | ->_s0(gcd(x,z),gcd(y,z)) # label(congruence). [clausify(1)]. 15 -->_s0(x,y) | ->_s0(gcd(z,x),gcd(z,y)) # label(congruence). [clausify(2)]. 16 -->_s0(x,y) | ->_s0(iadd(x),iadd(y)) # label(congruence). [clausify(3)]. 17 -->_s0(x,y) | ->_s0(u1(x),u1(y)) # label(congruence). [clausify(4)]. 18 -->_s0(x,y) | ->_s0(add(x,z),add(y,z)) # label(congruence). [clausify(5)]. 19 -->_s0(x,y) | ->_s0(add(z,x),add(z,y)) # label(congruence). [clausify(6)]. 20 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(7)]. 21 -->_s0(x,y) | ->_s0(tp2(x,z),tp2(y,z)) # label(congruence). [clausify(8)]. 22 -->_s0(x,y) | ->_s0(tp2(z,x),tp2(z,y)) # label(congruence). [clausify(9)]. 23 ->_s0(gcd(0,x),x) # label(replacement). [assumption]. 24 -->*_s0(iadd(x),tp2(y,z)) | ->_s0(gcd(x,z),gcd(y,z)) # label(replacement). [clausify(10)]. 25 -->*_s0(iadd(x),tp2(y,z)) | ->_s0(gcd(z,x),gcd(y,z)) # label(replacement). [clausify(11)]. 26 ->_s0(gcd(x,0),x) # label(replacement). [assumption]. 27 ->_s0(iadd(add(x,y)),tp2(x,y)) # label(replacement). [assumption]. 28 ->_s0(iadd(s(x)),u1(iadd(x))) # label(replacement). [assumption]. 29 ->_s0(iadd(x),tp2(0,x)) # label(replacement). [assumption]. 30 ->_s0(u1(tp2(x,y)),tp2(s(x),y)) # label(replacement). [assumption]. 31 ->*_s0(x,x) # label(reflexivity). [assumption]. 32 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(12)]. 33 -->*_s0(iadd(x),tp2(y,z)) | -->*_s0(iadd(z),tp2(u,x)) # label(goal) # answer(goal). [deny(13)]. end_of_list. formulas(demodulators). end_of_list. ============================== end of clauses for search ============= ============================== SEARCH ================================ % Starting search at 0.01 seconds. given #1 (I,wt=10): 14 -->_s0(x,y) | ->_s0(gcd(x,z),gcd(y,z)) # label(congruence). [clausify(1)]. given #2 (I,wt=10): 15 -->_s0(x,y) | ->_s0(gcd(z,x),gcd(z,y)) # label(congruence). [clausify(2)]. given #3 (I,wt=8): 16 -->_s0(x,y) | ->_s0(iadd(x),iadd(y)) # label(congruence). [clausify(3)]. given #4 (I,wt=8): 17 -->_s0(x,y) | ->_s0(u1(x),u1(y)) # label(congruence). [clausify(4)]. given #5 (I,wt=10): 18 -->_s0(x,y) | ->_s0(add(x,z),add(y,z)) # label(congruence). [clausify(5)]. given #6 (I,wt=10): 19 -->_s0(x,y) | ->_s0(add(z,x),add(z,y)) # label(congruence). [clausify(6)]. given #7 (I,wt=8): 20 -->_s0(x,y) | ->_s0(s(x),s(y)) # label(congruence). [clausify(7)]. given #8 (I,wt=10): 21 -->_s0(x,y) | ->_s0(tp2(x,z),tp2(y,z)) # label(congruence). [clausify(8)]. given #9 (I,wt=10): 22 -->_s0(x,y) | ->_s0(tp2(z,x),tp2(z,y)) # label(congruence). [clausify(9)]. given #10 (I,wt=5): 23 ->_s0(gcd(0,x),x) # label(replacement). [assumption]. given #11 (I,wt=13): 24 -->*_s0(iadd(x),tp2(y,z)) | ->_s0(gcd(x,z),gcd(y,z)) # label(replacement). [clausify(10)]. given #12 (I,wt=13): 25 -->*_s0(iadd(x),tp2(y,z)) | ->_s0(gcd(z,x),gcd(y,z)) # label(replacement). [clausify(11)]. given #13 (I,wt=5): 26 ->_s0(gcd(x,0),x) # label(replacement). [assumption]. given #14 (I,wt=8): 27 ->_s0(iadd(add(x,y)),tp2(x,y)) # label(replacement). [assumption]. given #15 (I,wt=7): 28 ->_s0(iadd(s(x)),u1(iadd(x))) # label(replacement). [assumption]. given #16 (I,wt=6): 29 ->_s0(iadd(x),tp2(0,x)) # label(replacement). [assumption]. given #17 (I,wt=9): 30 ->_s0(u1(tp2(x,y)),tp2(s(x),y)) # label(replacement). [assumption]. given #18 (I,wt=3): 31 ->*_s0(x,x) # label(reflexivity). [assumption]. given #19 (I,wt=9): 32 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(12)]. given #20 (I,wt=12): 33 -->*_s0(iadd(x),tp2(y,z)) | -->*_s0(iadd(z),tp2(u,x)) # label(goal) # answer(goal). [deny(13)]. given #21 (A,wt=9): 34 ->_s0(tp2(x,gcd(0,y)),tp2(x,y)). [ur(22,a,23,a)]. given #22 (F,wt=15): 94 -->*_s0(iadd(x),tp2(y,z)) | -->_s0(iadd(z),u) | -->*_s0(u,tp2(w,x)) # answer(goal). [resolve(33,a,32,c)]. ============================== PROOF ================================= % Proof 1 at 0.01 (+ 0.00) seconds: goal. % Length of proof is 10. % Level of proof is 4. % Maximum clause weight is 15.000. % Given clauses 22. 12 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 13 (exists x5 exists x6 exists x7 exists x8 (->*_s0(iadd(x5),tp2(x6,x7)) & ->*_s0(iadd(x7),tp2(x8,x5)))) # label(goal) # label(non_clause) # label(goal). [goal]. 29 ->_s0(iadd(x),tp2(0,x)) # label(replacement). [assumption]. 31 ->*_s0(x,x) # label(reflexivity). [assumption]. 32 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(12)]. 33 -->*_s0(iadd(x),tp2(y,z)) | -->*_s0(iadd(z),tp2(u,x)) # label(goal) # answer(goal). [deny(13)]. 89 ->*_s0(iadd(x),tp2(0,x)). [ur(32,a,29,a,b,31,a)]. 94 -->*_s0(iadd(x),tp2(y,z)) | -->_s0(iadd(z),u) | -->*_s0(u,tp2(w,x)) # answer(goal). [resolve(33,a,32,c)]. 112 -->*_s0(iadd(x),tp2(y,x)) # answer(goal). [ur(94,b,29,a,c,31,a)]. 113 $F # answer(goal). [resolve(112,a,89,a)]. ============================== end of proof ========================== ============================== STATISTICS ============================ Given=22. Generated=100. Kept=99. proofs=1. Usable=22. Sos=69. Demods=0. Limbo=7, Disabled=20. Hints=0. Kept_by_rule=0, Deleted_by_rule=0. Forward_subsumed=1. Back_subsumed=0. Sos_limit_deleted=0. Sos_displaced=0. Sos_removed=0. New_demodulators=0 (0 lex), Back_demodulated=0. Back_unit_deleted=0. Demod_attempts=0. Demod_rewrites=0. Res_instance_prunes=0. Para_instance_prunes=0. Basic_paramod_prunes=0. Nonunit_fsub_feature_tests=16. Nonunit_bsub_feature_tests=23. Megabytes=0.24. User_CPU=0.01, System_CPU=0.00, Wall_clock=0. ============================== end of statistics ===================== ============================== end of search ========================= THEOREM PROVED Exiting with 1 proof. Process 3275905 exit (max_proofs) Tue Jul 30 09:22:10 2024 The problem is feasible.