YES Problem 1: Infeasibility Problem: [(VAR vNonEmpty x vNonEmpty x) (STRATEGY CONTEXTSENSITIVE (even 1) (odd 1) (zero 1) (0) (fSNonEmpty) (false) (s 1) (true) ) (RULES even(s(x)) -> false | even(x) ->* true even(s(x)) -> true | odd(x) ->* true even(x) -> true | zero(x) ->* true odd(s(x)) -> false | odd(x) ->* true odd(s(x)) -> true | even(x) ->* true odd(x) -> false | zero(x) ->* true zero(0) -> true zero(s(x)) -> false ) ] Infeasibility Conditions: even(x) ->* true, odd(x) ->* true Problem 1: Obtaining a model using Mace4: -> Usable Rules: even(s(x)) -> false | even(x) ->* true even(s(x)) -> true | odd(x) ->* true even(x) -> true | zero(x) ->* true odd(s(x)) -> false | odd(x) ->* true odd(s(x)) -> true | even(x) ->* true odd(x) -> false | zero(x) ->* true zero(0) -> true zero(s(x)) -> false -> Mace4 Output: ============================== Mace4 ================================= Mace4 (64) version 2009-11A, November 2009. Process 2749335 was started by sandbox on z019.star.cs.uiowa.edu, Thu Jun 27 11:11:01 2024 The command was "./mace4 -c -f /tmp/mace42749321-2.in". ============================== end of head =========================== ============================== INPUT ================================= % Reading from file /tmp/mace42749321-2.in assign(max_seconds,100). formulas(assumptions). ->(x1,y) -> ->(even(x1),even(y)) # label(congruence). ->(x1,y) -> ->(odd(x1),odd(y)) # label(congruence). ->(x1,y) -> ->(zero(x1),zero(y)) # label(congruence). ->(x1,y) -> ->(s(x1),s(y)) # label(congruence). ->*(even(x1),true) -> ->(even(s(x1)),false) # label(replacement). ->*(odd(x1),true) -> ->(even(s(x1)),true) # label(replacement). ->*(zero(x1),true) -> ->(even(x1),true) # label(replacement). ->*(odd(x1),true) -> ->(odd(s(x1)),false) # label(replacement). ->*(even(x1),true) -> ->(odd(s(x1)),true) # label(replacement). ->*(zero(x1),true) -> ->(odd(x1),false) # label(replacement). ->(zero(0),true) # label(replacement). ->(zero(s(x1)),false) # label(replacement). ->*(x,x) # label(reflexivity). ->(x,y) & ->*(y,z) -> ->*(x,z) # label(transitivity). end_of_list. formulas(goals). (exists x3 (->*(even(x3),true) & ->*(odd(x3),true))) # label(goal). end_of_list. ============================== end of input ========================== ============================== PROCESS NON-CLAUSAL FORMULAS ========== % Formulas that are not ordinary clauses: 1 ->(x1,y) -> ->(even(x1),even(y)) # label(congruence) # label(non_clause). [assumption]. 2 ->(x1,y) -> ->(odd(x1),odd(y)) # label(congruence) # label(non_clause). [assumption]. 3 ->(x1,y) -> ->(zero(x1),zero(y)) # label(congruence) # label(non_clause). [assumption]. 4 ->(x1,y) -> ->(s(x1),s(y)) # label(congruence) # label(non_clause). [assumption]. 5 ->*(even(x1),true) -> ->(even(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 6 ->*(odd(x1),true) -> ->(even(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 7 ->*(zero(x1),true) -> ->(even(x1),true) # label(replacement) # label(non_clause). [assumption]. 8 ->*(odd(x1),true) -> ->(odd(s(x1)),false) # label(replacement) # label(non_clause). [assumption]. 9 ->*(even(x1),true) -> ->(odd(s(x1)),true) # label(replacement) # label(non_clause). [assumption]. 10 ->*(zero(x1),true) -> ->(odd(x1),false) # label(replacement) # label(non_clause). [assumption]. 11 ->(x,y) & ->*(y,z) -> ->*(x,z) # label(transitivity) # label(non_clause). [assumption]. 12 (exists x3 (->*(even(x3),true) & ->*(odd(x3),true))) # label(goal) # label(non_clause) # label(goal). [goal]. ============================== end of process non-clausal formulas === ============================== CLAUSES FOR SEARCH ==================== formulas(mace4_clauses). -->(x,y) | ->(even(x),even(y)) # label(congruence). -->(x,y) | ->(odd(x),odd(y)) # label(congruence). -->(x,y) | ->(zero(x),zero(y)) # label(congruence). -->(x,y) | ->(s(x),s(y)) # label(congruence). -->*(even(x),true) | ->(even(s(x)),false) # label(replacement). -->*(odd(x),true) | ->(even(s(x)),true) # label(replacement). -->*(zero(x),true) | ->(even(x),true) # label(replacement). -->*(odd(x),true) | ->(odd(s(x)),false) # label(replacement). -->*(even(x),true) | ->(odd(s(x)),true) # label(replacement). -->*(zero(x),true) | ->(odd(x),false) # label(replacement). ->(zero(0),true) # label(replacement). ->(zero(s(x)),false) # label(replacement). ->*(x,x) # label(reflexivity). -->(x,y) | -->*(y,z) | ->*(x,z) # label(transitivity). -->*(even(x),true) | -->*(odd(x),true) # label(goal). end_of_list. ============================== end of clauses for search ============= % There are no natural numbers in the input. ============================== DOMAIN SIZE 2 ========================= ============================== STATISTICS ============================ For domain size 2. Current CPU time: 0.00 seconds (total CPU time: 0.01 seconds). Ground clauses: seen=43, kept=39. Selections=20, assignments=39, propagations=76, current_models=0. Rewrite_terms=451, rewrite_bools=307, indexes=115. Rules_from_neg_clauses=18, cross_offs=18. ============================== end of statistics ===================== ============================== DOMAIN SIZE 3 ========================= ============================== MODEL ================================= interpretation( 3, [number=1, seconds=0], [ function(0, [ 0 ]), function(false, [ 0 ]), function(true, [ 1 ]), function(even(_), [ 1, 0, 1 ]), function(odd(_), [ 0, 1, 0 ]), function(zero(_), [ 1, 0, 0 ]), function(s(_), [ 1, 2, 1 ]), relation(->*(_,_), [ 1, 0, 0, 0, 1, 0, 0, 0, 1 ]), relation(->(_,_), [ 1, 0, 0, 0, 1, 0, 0, 0, 1 ]) ]). ============================== end of model ========================== ============================== STATISTICS ============================ For domain size 3. Current CPU time: 0.00 seconds (total CPU time: 0.01 seconds). Ground clauses: seen=91, kept=82. Selections=28, assignments=51, propagations=84, current_models=1. Rewrite_terms=469, rewrite_bools=451, indexes=110. Rules_from_neg_clauses=3, cross_offs=15. ============================== end of statistics ===================== User_CPU=0.01, System_CPU=0.00, Wall_clock=0. Exiting with 1 model. Process 2749335 exit (max_models) Thu Jun 27 11:11:01 2024 The process finished Thu Jun 27 11:11:01 2024 Mace4 cooked interpretation: % number = 1 % seconds = 0 % Interpretation of size 3 0 = 0. false = 0. true = 1. even(0) = 1. even(1) = 0. even(2) = 1. odd(0) = 0. odd(1) = 1. odd(2) = 0. zero(0) = 1. zero(1) = 0. zero(2) = 0. s(0) = 1. s(1) = 2. s(2) = 1. ->*(0,0). - ->*(0,1). - ->*(0,2). - ->*(1,0). ->*(1,1). - ->*(1,2). - ->*(2,0). - ->*(2,1). ->*(2,2). ->(0,0). - ->(0,1). - ->(0,2). - ->(1,0). ->(1,1). - ->(1,2). - ->(2,0). - ->(2,1). ->(2,2). The problem is infeasible.