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