YES *** Computating Strongly Quasi-Reducible Parts *** TRS: [ min(0,?y) -> 0, min(?x,0) -> 0, min(s(?x),s(?y)) -> s(min(?x,?y)), le(0,?y) -> true, le(s(?x),0) -> false, le(s(?x),s(?y)) -> le(?x,?y), le(min(?x,?y),?x) -> true, le(min(?x,?y),?y) -> true, min(?x,?y) -> min(?y,?x) ] Constructors: {0,s,true,false} Defined function symbols: {le,min} Constructor subsystem: [ ] Rule part & Conj Part: [ min(0,?y) -> 0, min(?x,0) -> 0, min(s(?x),s(?y)) -> s(min(?x,?y)), le(0,?y) -> true, le(s(?x),0) -> false, le(s(?x),s(?y)) -> le(?x,?y) ] [ le(min(?x,?y),?x) -> true, le(min(?x,?y),?y) -> true, min(?x,?y) -> min(?y,?x) ] Trying with: R: [ min(0,?y) -> 0, min(?x,0) -> 0, min(s(?x),s(?y)) -> s(min(?x,?y)), le(0,?y) -> true, le(s(?x),0) -> false, le(s(?x),s(?y)) -> le(?x,?y) ] E: [ le(min(?x,?y),?x) = true, le(min(?x,?y),?y) = true, min(?x,?y) = min(?y,?x) ] *** Ground Confluence Check by Rewriting Induction *** Sort: {Nat,Bool} Signature: [ min : Nat,Nat -> Nat, le : Nat,Nat -> Bool, true : Bool, false : Bool, s : Nat -> Nat, 0 : Nat ] Rule Part: [ min(0,?y) -> 0, min(?x,0) -> 0, min(s(?x),s(?y)) -> s(min(?x,?y)), le(0,?y) -> true, le(s(?x),0) -> false, le(s(?x),s(?y)) -> le(?x,?y) ] Conjecture Part: [ le(min(?x,?y),?x) = true, le(min(?x,?y),?y) = true, min(?x,?y) = min(?y,?x) ] Precedence (by weight): {(0,1),(s,6),(le,5),(min,7),(true,2),(false,0)} Rule part is confluent. R0 is ground confluent. Check conj part consists of inductive theorems of R0. Rules: [ min(0,?y) -> 0, min(?x,0) -> 0, min(s(?x),s(?y)) -> s(min(?x,?y)), le(0,?y) -> true, le(s(?x),0) -> false, le(s(?x),s(?y)) -> le(?x,?y) ] Conjectures: [ le(min(?x,?y),?x) = true, le(min(?x,?y),?y) = true, min(?x,?y) = min(?y,?x) ] STEP 0 ES: [ le(min(?x,?y),?x) = true, le(min(?x,?y),?y) = true, min(?x,?y) = min(?y,?x) ] HS: [ ] ES0: [ le(min(?x,?y),?x) = true, le(min(?x,?y),?y) = true, min(?x,?y) = min(?y,?x) ] HS0: [ ] ES1: [ le(min(?x,?y),?x) = true, le(min(?x,?y),?y) = true, min(?x,?y) = min(?y,?x) ] HS1: [ ] Expand le(min(?x,?y),?x) = true [ le(0,0) = true, le(0,?x_2) = true, le(s(min(?x_3,?y_3)),s(?x_3)) = true ] ES2: [ true = true, true = true, le(min(?x_3,?y_3),?x_3) = true, min(?x,?y) = min(?y,?x), le(min(?x,?y),?y) = true ] HS2: [ le(min(?x,?y),?x) -> true ] STEP 1 ES: [ true = true, true = true, le(min(?x_3,?y_3),?x_3) = true, min(?x,?y) = min(?y,?x), le(min(?x,?y),?y) = true ] HS: [ le(min(?x,?y),?x) -> true ] ES0: [ true = true, true = true, true = true, min(?x,?y) = min(?y,?x), le(min(?x,?y),?y) = true ] HS0: [ le(min(?x,?y),?x) -> true ] ES1: [ min(?x,?y) = min(?y,?x), le(min(?x,?y),?y) = true ] HS1: [ le(min(?x,?y),?x) -> true ] Expand min(?x,?y) = min(?y,?x) [ 0 = min(?y_1,0), 0 = min(0,?x_2), s(min(?x_3,?y_3)) = min(s(?y_3),s(?x_3)) ] ES2: [ 0 = min(?y_1,0), 0 = min(0,?x_2), s(min(?x_3,?y_3)) = min(s(?y_3),s(?x_3)), le(min(?x,?y),?y) = true ] HS2: [ min(?x,?y) -> min(?y,?x), le(min(?x,?y),?x) -> true ] STEP 2 ES: [ 0 = min(?y_1,0), 0 = min(0,?x_2), s(min(?x_3,?y_3)) = min(s(?y_3),s(?x_3)), le(min(?x,?y),?y) = true ] HS: [ min(?x,?y) -> min(?y,?x), le(min(?x,?y),?x) -> true ] ES0: [ 0 = 0, 0 = 0, s(min(?x_3,?y_3)) = s(min(?y_3,?x_3)), le(min(?x,?y),?y) = true ] HS0: [ min(?x,?y) -> min(?y,?x), le(min(?x,?y),?x) -> true ] ES1: [ le(min(?x,?y),?y) = true ] HS1: [ min(?x,?y) -> min(?y,?x), le(min(?x,?y),?x) -> true ] Expand le(min(?x,?y),?y) = true [ le(0,?y_1) = true, le(0,0) = true, le(s(min(?x_3,?y_3)),s(?y_3)) = true ] ES2: [ true = true, true = true, true = true ] HS2: [ le(min(?x,?y),?y) -> true, min(?x,?y) -> min(?y,?x), le(min(?x,?y),?x) -> true ] STEP 3 ES: [ true = true, true = true, true = true ] HS: [ le(min(?x,?y),?y) -> true, min(?x,?y) -> min(?y,?x), le(min(?x,?y),?x) -> true ] ES0: [ true = true, true = true, true = true ] HS0: [ le(min(?x,?y),?y) -> true, min(?x,?y) -> min(?y,?x), le(min(?x,?y),?x) -> true ] ES1: [ ] HS1: [ le(min(?x,?y),?y) -> true, min(?x,?y) -> min(?y,?x), le(min(?x,?y),?x) -> true ] Conj part consisits of inductive theorems of R0. new/min.trs: Success(GCR) (13 msec.)