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