NO Problem 1: Infeasibility Problem: [(VAR vNonEmpty x y z vNonEmpty x y z) (STRATEGY CONTEXTSENSITIVE (and 1 2) (f 1) (implies 1 2) (not 1) (or 1 2) (0) (1) (fSNonEmpty) ) (RULES and(not(x),x) -> 0 and(0,x) -> 0 and(1,x) -> x and(x,not(x)) -> 0 and(x,0) -> 0 and(x,1) -> x f(x) -> f(0) | implies(x,0) ->* y, implies(x,y) ->* z, implies(z,0) ->* 1 implies(x,y) -> 0 | x ->* 1, y ->* 0 implies(x,y) -> 1 | not(x) ->* 1 implies(x,y) -> 1 | y ->* 1 not(0) -> 1 not(1) -> 0 or(not(x),x) -> 1 or(0,x) -> x or(1,x) -> 1 or(x,not(x)) -> 1 or(x,0) -> x or(x,1) -> 1 ) ] Infeasibility Conditions: implies(x,0) ->* y, implies(x,y) ->* z, implies(z,0) ->* 1 Problem 1: Obtaining a proof using Prover9: -> Prover9 Output: ============================== Prover9 =============================== Prover9 (64) version 2009-11A, November 2009. Process 3450203 was started by sandbox2 on z028.star.cs.uiowa.edu, Tue Jul 30 09:55:40 2024 The command was "./prover9 -f /tmp/prover93450196-0.in". ============================== end of head =========================== ============================== INPUT ================================= % Reading from file /tmp/prover93450196-0.in assign(max_seconds,20). formulas(assumptions). ->_s0(x1,y) -> ->_s0(and(x1,x2),and(y,x2)) # label(congruence). ->_s0(x2,y) -> ->_s0(and(x1,x2),and(x1,y)) # label(congruence). ->_s0(x1,y) -> ->_s0(f(x1),f(y)) # label(congruence). ->_s0(x1,y) -> ->_s0(implies(x1,x2),implies(y,x2)) # label(congruence). ->_s0(x2,y) -> ->_s0(implies(x1,x2),implies(x1,y)) # label(congruence). ->_s0(x1,y) -> ->_s0(not(x1),not(y)) # label(congruence). ->_s0(x1,y) -> ->_s0(or(x1,x2),or(y,x2)) # label(congruence). ->_s0(x2,y) -> ->_s0(or(x1,x2),or(x1,y)) # label(congruence). ->_s0(and(not(x1),x1),0) # label(replacement). ->_s0(and(0,x1),0) # label(replacement). ->_s0(and(1,x1),x1) # label(replacement). ->_s0(and(x1,not(x1)),0) # label(replacement). ->_s0(and(x1,0),0) # label(replacement). ->_s0(and(x1,1),x1) # label(replacement). ->*_s0(implies(x1,0),x2) & ->*_s0(implies(x1,x2),x3) & ->*_s0(implies(x3,0),1) -> ->_s0(f(x1),f(0)) # label(replacement). ->*_s0(x1,1) & ->*_s0(x2,0) -> ->_s0(implies(x1,x2),0) # label(replacement). ->*_s0(not(x1),1) -> ->_s0(implies(x1,x2),1) # label(replacement). ->*_s0(x2,1) -> ->_s0(implies(x1,x2),1) # label(replacement). ->_s0(not(0),1) # label(replacement). ->_s0(not(1),0) # label(replacement). ->_s0(or(not(x1),x1),1) # label(replacement). ->_s0(or(0,x1),x1) # label(replacement). ->_s0(or(1,x1),1) # label(replacement). ->_s0(or(x1,not(x1)),1) # label(replacement). ->_s0(or(x1,0),x1) # label(replacement). ->_s0(or(x1,1),1) # 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 (->*_s0(implies(x5,0),x6) & ->*_s0(implies(x5,x6),x7) & ->*_s0(implies(x7,0),1))) # label(goal). end_of_list. ============================== end of input ========================== ============================== PROCESS NON-CLAUSAL FORMULAS ========== % Formulas that are not ordinary clauses: 1 ->_s0(x1,y) -> ->_s0(and(x1,x2),and(y,x2)) # label(congruence) # label(non_clause). [assumption]. 2 ->_s0(x2,y) -> ->_s0(and(x1,x2),and(x1,y)) # label(congruence) # label(non_clause). [assumption]. 3 ->_s0(x1,y) -> ->_s0(f(x1),f(y)) # label(congruence) # label(non_clause). [assumption]. 4 ->_s0(x1,y) -> ->_s0(implies(x1,x2),implies(y,x2)) # label(congruence) # label(non_clause). [assumption]. 5 ->_s0(x2,y) -> ->_s0(implies(x1,x2),implies(x1,y)) # label(congruence) # label(non_clause). [assumption]. 6 ->_s0(x1,y) -> ->_s0(not(x1),not(y)) # label(congruence) # label(non_clause). [assumption]. 7 ->_s0(x1,y) -> ->_s0(or(x1,x2),or(y,x2)) # label(congruence) # label(non_clause). [assumption]. 8 ->_s0(x2,y) -> ->_s0(or(x1,x2),or(x1,y)) # label(congruence) # label(non_clause). [assumption]. 9 ->*_s0(implies(x1,0),x2) & ->*_s0(implies(x1,x2),x3) & ->*_s0(implies(x3,0),1) -> ->_s0(f(x1),f(0)) # label(replacement) # label(non_clause). [assumption]. 10 ->*_s0(x1,1) & ->*_s0(x2,0) -> ->_s0(implies(x1,x2),0) # label(replacement) # label(non_clause). [assumption]. 11 ->*_s0(not(x1),1) -> ->_s0(implies(x1,x2),1) # label(replacement) # label(non_clause). [assumption]. 12 ->*_s0(x2,1) -> ->_s0(implies(x1,x2),1) # label(replacement) # label(non_clause). [assumption]. 13 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 14 (exists x5 exists x6 exists x7 (->*_s0(implies(x5,0),x6) & ->*_s0(implies(x5,x6),x7) & ->*_s0(implies(x7,0),1))) # 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(and(x,z),and(y,z)) # label(congruence). [clausify(1)]. -->_s0(x,y) | ->_s0(and(z,x),and(z,y)) # label(congruence). [clausify(2)]. -->_s0(x,y) | ->_s0(f(x),f(y)) # label(congruence). [clausify(3)]. -->_s0(x,y) | ->_s0(implies(x,z),implies(y,z)) # label(congruence). [clausify(4)]. -->_s0(x,y) | ->_s0(implies(z,x),implies(z,y)) # label(congruence). [clausify(5)]. -->_s0(x,y) | ->_s0(not(x),not(y)) # label(congruence). [clausify(6)]. -->_s0(x,y) | ->_s0(or(x,z),or(y,z)) # label(congruence). [clausify(7)]. -->_s0(x,y) | ->_s0(or(z,x),or(z,y)) # label(congruence). [clausify(8)]. ->_s0(and(not(x),x),0) # label(replacement). [assumption]. ->_s0(and(0,x),0) # label(replacement). [assumption]. ->_s0(and(1,x),x) # label(replacement). [assumption]. ->_s0(and(x,not(x)),0) # label(replacement). [assumption]. ->_s0(and(x,0),0) # label(replacement). [assumption]. ->_s0(and(x,1),x) # label(replacement). [assumption]. -->*_s0(implies(x,0),y) | -->*_s0(implies(x,y),z) | -->*_s0(implies(z,0),1) | ->_s0(f(x),f(0)) # label(replacement). [clausify(9)]. -->*_s0(x,1) | -->*_s0(y,0) | ->_s0(implies(x,y),0) # label(replacement). [clausify(10)]. -->*_s0(not(x),1) | ->_s0(implies(x,y),1) # label(replacement). [clausify(11)]. -->*_s0(x,1) | ->_s0(implies(y,x),1) # label(replacement). [clausify(12)]. ->_s0(not(0),1) # label(replacement). [assumption]. ->_s0(not(1),0) # label(replacement). [assumption]. ->_s0(or(not(x),x),1) # label(replacement). [assumption]. ->_s0(or(0,x),x) # label(replacement). [assumption]. ->_s0(or(1,x),1) # label(replacement). [assumption]. ->_s0(or(x,not(x)),1) # label(replacement). [assumption]. ->_s0(or(x,0),x) # label(replacement). [assumption]. ->_s0(or(x,1),1) # label(replacement). [assumption]. ->*_s0(x,x) # label(reflexivity). [assumption]. -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(13)]. -->*_s0(implies(x,0),y) | -->*_s0(implies(x,y),z) | -->*_s0(implies(z,0),1) # label(goal). [deny(14)]. 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([ 1, 0, and, implies, or, not, f ]). After inverse_order: (no changes). Unfolding symbols: (none). Auto_inference settings: % set(neg_binary_resolution). % (HNE depth_diff=-10) % clear(ordered_res). % (HNE depth_diff=-10) % set(ur_resolution). % (HNE depth_diff=-10) % 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: 15 -->_s0(x,y) | ->_s0(and(x,z),and(y,z)) # label(congruence). [clausify(1)]. kept: 16 -->_s0(x,y) | ->_s0(and(z,x),and(z,y)) # label(congruence). [clausify(2)]. kept: 17 -->_s0(x,y) | ->_s0(f(x),f(y)) # label(congruence). [clausify(3)]. kept: 18 -->_s0(x,y) | ->_s0(implies(x,z),implies(y,z)) # label(congruence). [clausify(4)]. kept: 19 -->_s0(x,y) | ->_s0(implies(z,x),implies(z,y)) # label(congruence). [clausify(5)]. kept: 20 -->_s0(x,y) | ->_s0(not(x),not(y)) # label(congruence). [clausify(6)]. kept: 21 -->_s0(x,y) | ->_s0(or(x,z),or(y,z)) # label(congruence). [clausify(7)]. kept: 22 -->_s0(x,y) | ->_s0(or(z,x),or(z,y)) # label(congruence). [clausify(8)]. kept: 23 ->_s0(and(not(x),x),0) # label(replacement). [assumption]. kept: 24 ->_s0(and(0,x),0) # label(replacement). [assumption]. kept: 25 ->_s0(and(1,x),x) # label(replacement). [assumption]. kept: 26 ->_s0(and(x,not(x)),0) # label(replacement). [assumption]. kept: 27 ->_s0(and(x,0),0) # label(replacement). [assumption]. kept: 28 ->_s0(and(x,1),x) # label(replacement). [assumption]. kept: 29 -->*_s0(implies(x,0),y) | -->*_s0(implies(x,y),z) | -->*_s0(implies(z,0),1) | ->_s0(f(x),f(0)) # label(replacement). [clausify(9)]. kept: 30 -->*_s0(x,1) | -->*_s0(y,0) | ->_s0(implies(x,y),0) # label(replacement). [clausify(10)]. kept: 31 -->*_s0(not(x),1) | ->_s0(implies(x,y),1) # label(replacement). [clausify(11)]. kept: 32 -->*_s0(x,1) | ->_s0(implies(y,x),1) # label(replacement). [clausify(12)]. kept: 33 ->_s0(not(0),1) # label(replacement). [assumption]. kept: 34 ->_s0(not(1),0) # label(replacement). [assumption]. kept: 35 ->_s0(or(not(x),x),1) # label(replacement). [assumption]. kept: 36 ->_s0(or(0,x),x) # label(replacement). [assumption]. kept: 37 ->_s0(or(1,x),1) # label(replacement). [assumption]. kept: 38 ->_s0(or(x,not(x)),1) # label(replacement). [assumption]. kept: 39 ->_s0(or(x,0),x) # label(replacement). [assumption]. kept: 40 ->_s0(or(x,1),1) # label(replacement). [assumption]. kept: 41 ->*_s0(x,x) # label(reflexivity). [assumption]. kept: 42 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(13)]. kept: 43 -->*_s0(implies(x,0),y) | -->*_s0(implies(x,y),z) | -->*_s0(implies(z,0),1) # label(goal) # answer(goal). [deny(14)]. ============================== end of process initial clauses ======== ============================== CLAUSES FOR SEARCH ==================== % Clauses after input processing: formulas(usable). end_of_list. formulas(sos). 15 -->_s0(x,y) | ->_s0(and(x,z),and(y,z)) # label(congruence). [clausify(1)]. 16 -->_s0(x,y) | ->_s0(and(z,x),and(z,y)) # label(congruence). [clausify(2)]. 17 -->_s0(x,y) | ->_s0(f(x),f(y)) # label(congruence). [clausify(3)]. 18 -->_s0(x,y) | ->_s0(implies(x,z),implies(y,z)) # label(congruence). [clausify(4)]. 19 -->_s0(x,y) | ->_s0(implies(z,x),implies(z,y)) # label(congruence). [clausify(5)]. 20 -->_s0(x,y) | ->_s0(not(x),not(y)) # label(congruence). [clausify(6)]. 21 -->_s0(x,y) | ->_s0(or(x,z),or(y,z)) # label(congruence). [clausify(7)]. 22 -->_s0(x,y) | ->_s0(or(z,x),or(z,y)) # label(congruence). [clausify(8)]. 23 ->_s0(and(not(x),x),0) # label(replacement). [assumption]. 24 ->_s0(and(0,x),0) # label(replacement). [assumption]. 25 ->_s0(and(1,x),x) # label(replacement). [assumption]. 26 ->_s0(and(x,not(x)),0) # label(replacement). [assumption]. 27 ->_s0(and(x,0),0) # label(replacement). [assumption]. 28 ->_s0(and(x,1),x) # label(replacement). [assumption]. 30 -->*_s0(x,1) | -->*_s0(y,0) | ->_s0(implies(x,y),0) # label(replacement). [clausify(10)]. 31 -->*_s0(not(x),1) | ->_s0(implies(x,y),1) # label(replacement). [clausify(11)]. 32 -->*_s0(x,1) | ->_s0(implies(y,x),1) # label(replacement). [clausify(12)]. 33 ->_s0(not(0),1) # label(replacement). [assumption]. 34 ->_s0(not(1),0) # label(replacement). [assumption]. 35 ->_s0(or(not(x),x),1) # label(replacement). [assumption]. 36 ->_s0(or(0,x),x) # label(replacement). [assumption]. 37 ->_s0(or(1,x),1) # label(replacement). [assumption]. 38 ->_s0(or(x,not(x)),1) # label(replacement). [assumption]. 39 ->_s0(or(x,0),x) # label(replacement). [assumption]. 40 ->_s0(or(x,1),1) # label(replacement). [assumption]. 41 ->*_s0(x,x) # label(reflexivity). [assumption]. 42 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(13)]. 43 -->*_s0(implies(x,0),y) | -->*_s0(implies(x,y),z) | -->*_s0(implies(z,0),1) # label(goal) # answer(goal). [deny(14)]. 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): 15 -->_s0(x,y) | ->_s0(and(x,z),and(y,z)) # label(congruence). [clausify(1)]. given #2 (I,wt=10): 16 -->_s0(x,y) | ->_s0(and(z,x),and(z,y)) # label(congruence). [clausify(2)]. given #3 (I,wt=8): 17 -->_s0(x,y) | ->_s0(f(x),f(y)) # label(congruence). [clausify(3)]. given #4 (I,wt=10): 18 -->_s0(x,y) | ->_s0(implies(x,z),implies(y,z)) # label(congruence). [clausify(4)]. given #5 (I,wt=10): 19 -->_s0(x,y) | ->_s0(implies(z,x),implies(z,y)) # label(congruence). [clausify(5)]. given #6 (I,wt=8): 20 -->_s0(x,y) | ->_s0(not(x),not(y)) # label(congruence). [clausify(6)]. given #7 (I,wt=10): 21 -->_s0(x,y) | ->_s0(or(x,z),or(y,z)) # label(congruence). [clausify(7)]. given #8 (I,wt=10): 22 -->_s0(x,y) | ->_s0(or(z,x),or(z,y)) # label(congruence). [clausify(8)]. given #9 (I,wt=6): 23 ->_s0(and(not(x),x),0) # label(replacement). [assumption]. given #10 (I,wt=5): 24 ->_s0(and(0,x),0) # label(replacement). [assumption]. given #11 (I,wt=5): 25 ->_s0(and(1,x),x) # label(replacement). [assumption]. given #12 (I,wt=6): 26 ->_s0(and(x,not(x)),0) # label(replacement). [assumption]. given #13 (I,wt=5): 27 ->_s0(and(x,0),0) # label(replacement). [assumption]. given #14 (I,wt=5): 28 ->_s0(and(x,1),x) # label(replacement). [assumption]. given #15 (I,wt=11): 30 -->*_s0(x,1) | -->*_s0(y,0) | ->_s0(implies(x,y),0) # label(replacement). [clausify(10)]. given #16 (I,wt=9): 31 -->*_s0(not(x),1) | ->_s0(implies(x,y),1) # label(replacement). [clausify(11)]. given #17 (I,wt=8): 32 -->*_s0(x,1) | ->_s0(implies(y,x),1) # label(replacement). [clausify(12)]. given #18 (I,wt=4): 33 ->_s0(not(0),1) # label(replacement). [assumption]. given #19 (I,wt=4): 34 ->_s0(not(1),0) # label(replacement). [assumption]. given #20 (I,wt=6): 35 ->_s0(or(not(x),x),1) # label(replacement). [assumption]. given #21 (I,wt=5): 36 ->_s0(or(0,x),x) # label(replacement). [assumption]. given #22 (I,wt=5): 37 ->_s0(or(1,x),1) # label(replacement). [assumption]. given #23 (I,wt=6): 38 ->_s0(or(x,not(x)),1) # label(replacement). [assumption]. given #24 (I,wt=5): 39 ->_s0(or(x,0),x) # label(replacement). [assumption]. given #25 (I,wt=5): 40 ->_s0(or(x,1),1) # label(replacement). [assumption]. given #26 (I,wt=3): 41 ->*_s0(x,x) # label(reflexivity). [assumption]. given #27 (I,wt=9): 42 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(13)]. given #28 (I,wt=15): 43 -->*_s0(implies(x,0),y) | -->*_s0(implies(x,y),z) | -->*_s0(implies(z,0),1) # label(goal) # answer(goal). [deny(14)]. given #29 (A,wt=10): 44 ->_s0(or(x,and(not(y),y)),or(x,0)). [ur(22,a,23,a)]. given #30 (F,wt=9): 177 -->*_s0(implies(implies(x,implies(x,0)),0),1) # answer(goal). [ur(43,a,41,a,b,41,a)]. given #31 (F,wt=9): 188 -->_s0(implies(implies(x,implies(x,0)),0),1) # answer(goal). [ur(42,b,41,a,c,177,a)]. given #32 (F,wt=3): 189 -->*_s0(0,1) # answer(goal). [resolve(188,a,32,b)]. given #33 (F,wt=3): 192 -->_s0(0,1) # answer(goal). [ur(42,b,41,a,c,189,a)]. given #34 (T,wt=4): 164 ->*_s0(not(1),0). [ur(42,a,34,a,b,41,a)]. given #35 (T,wt=4): 165 ->*_s0(not(0),1). [ur(42,a,33,a,b,41,a)]. given #36 (T,wt=5): 156 ->_s0(implies(x,1),1). [ur(32,a,41,a)]. given #37 (T,wt=5): 157 ->_s0(implies(1,0),0). [ur(30,a,41,a,b,41,a)]. given #38 (A,wt=10): 45 ->_s0(or(and(not(x),x),y),or(0,y)). [ur(21,a,23,a)]. given #39 (F,wt=4): 202 -->_s0(0,not(0)) # answer(goal). [ur(42,b,165,a,c,189,a)]. given #40 (F,wt=6): 191 -->_s0(0,x) | -->*_s0(x,1) # answer(goal). [resolve(189,a,42,c)]. given #41 (F,wt=8): 190 -->*_s0(not(implies(x,implies(x,0))),1) # answer(goal). [resolve(188,a,31,b)]. given #42 (F,wt=8): 234 -->_s0(not(implies(x,implies(x,0))),1) # answer(goal). [ur(42,b,41,a,c,190,a)]. given #43 (T,wt=5): 158 ->*_s0(or(x,1),1). [ur(42,a,40,a,b,41,a)]. given #44 (T,wt=5): 159 ->*_s0(or(x,0),x). [ur(42,a,39,a,b,41,a)]. given #45 (T,wt=5): 161 ->*_s0(or(1,x),1). [ur(42,a,37,a,b,41,a)]. given #46 (T,wt=5): 162 ->*_s0(or(0,x),x). [ur(42,a,36,a,b,41,a)]. given #47 (A,wt=8): 46 ->_s0(not(and(not(x),x)),not(0)). [ur(20,a,23,a)]. given #48 (F,wt=5): 235 -->_s0(0,or(x,1)) # answer(goal). [resolve(158,a,191,b)]. given #49 (F,wt=5): 261 -->_s0(0,or(1,x)) # answer(goal). [resolve(161,a,191,b)]. given #50 (F,wt=9): 231 -->_s0(0,x) | -->_s0(x,y) | -->*_s0(y,1) # answer(goal). [resolve(191,b,42,c)]. given #51 (F,wt=5): 287 -->_s0(0,implies(x,1)) # answer(goal). [resolve(231,b,156,a),unit_del(b,41)]. given #52 (T,wt=5): 166 ->*_s0(and(x,1),x). [ur(42,a,28,a,b,41,a)]. given #53 (T,wt=5): 167 ->*_s0(and(x,0),0). [ur(42,a,27,a,b,41,a)]. given #54 (T,wt=5): 169 ->*_s0(and(1,x),x). [ur(42,a,25,a,b,41,a)]. given #55 (T,wt=5): 170 ->*_s0(and(0,x),0). [ur(42,a,24,a,b,41,a)]. given #56 (A,wt=10): 47 ->_s0(implies(x,and(not(y),y)),implies(x,0)). [ur(19,a,23,a)]. given #57 (F,wt=5): 323 -->_s0(0,and(1,1)) # answer(goal). [ur(231,b,28,a,c,41,a)]. given #58 (F,wt=6): 292 -->_s0(0,or(x,not(x))) # answer(goal). [resolve(231,b,38,a),unit_del(b,41)]. given #59 (F,wt=6): 294 -->_s0(0,or(not(x),x)) # answer(goal). [resolve(231,b,35,a),unit_del(b,41)]. given #60 (F,wt=6): 312 -->_s0(0,x) | -->_s0(x,1) # answer(goal). [resolve(231,c,41,a)]. given #61 (T,wt=5): 199 ->_s0(implies(0,x),1). [ur(31,a,165,a)]. given #62 (T,wt=5): 204 ->*_s0(implies(x,1),1). [ur(42,a,156,a,b,41,a)]. given #63 (T,wt=5): 213 ->*_s0(implies(1,0),0). [ur(42,a,157,a,b,41,a)]. ============================== PROOF ================================= % Proof 1 at 0.02 (+ 0.00) seconds: goal. % Length of proof is 16. % Level of proof is 5. % Maximum clause weight is 15.000. % Given clauses 63. 10 ->*_s0(x1,1) & ->*_s0(x2,0) -> ->_s0(implies(x1,x2),0) # label(replacement) # label(non_clause). [assumption]. 11 ->*_s0(not(x1),1) -> ->_s0(implies(x1,x2),1) # label(replacement) # label(non_clause). [assumption]. 13 ->_s0(x,y) & ->*_s0(y,z) -> ->*_s0(x,z) # label(transitivity) # label(non_clause). [assumption]. 14 (exists x5 exists x6 exists x7 (->*_s0(implies(x5,0),x6) & ->*_s0(implies(x5,x6),x7) & ->*_s0(implies(x7,0),1))) # label(goal) # label(non_clause) # label(goal). [goal]. 30 -->*_s0(x,1) | -->*_s0(y,0) | ->_s0(implies(x,y),0) # label(replacement). [clausify(10)]. 31 -->*_s0(not(x),1) | ->_s0(implies(x,y),1) # label(replacement). [clausify(11)]. 33 ->_s0(not(0),1) # label(replacement). [assumption]. 41 ->*_s0(x,x) # label(reflexivity). [assumption]. 42 -->_s0(x,y) | -->*_s0(y,z) | ->*_s0(x,z) # label(transitivity). [clausify(13)]. 43 -->*_s0(implies(x,0),y) | -->*_s0(implies(x,y),z) | -->*_s0(implies(z,0),1) # label(goal) # answer(goal). [deny(14)]. 157 ->_s0(implies(1,0),0). [ur(30,a,41,a,b,41,a)]. 165 ->*_s0(not(0),1). [ur(42,a,33,a,b,41,a)]. 199 ->_s0(implies(0,x),1). [ur(31,a,165,a)]. 213 ->*_s0(implies(1,0),0). [ur(42,a,157,a,b,41,a)]. 384 ->*_s0(implies(0,x),1). [ur(42,a,199,a,b,41,a)]. 412 $F # answer(goal). [resolve(213,a,43,b),unit_del(a,213),unit_del(b,384)]. ============================== end of proof ========================== ============================== STATISTICS ============================ Given=63. Generated=531. Kept=397. proofs=1. Usable=63. Sos=311. Demods=0. Limbo=0, Disabled=52. Hints=0. Kept_by_rule=0, Deleted_by_rule=0. Forward_subsumed=133. Back_subsumed=23. 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=60. Nonunit_bsub_feature_tests=136. Megabytes=0.59. User_CPU=0.02, System_CPU=0.00, Wall_clock=0. ============================== end of statistics ===================== ============================== end of search ========================= THEOREM PROVED Exiting with 1 proof. Process 3450203 exit (max_proofs) Tue Jul 30 09:55:40 2024 The problem is feasible.