We consider the following Problem: Strict Trs: { not(x) -> if(x, false(), true()) , and(x, y) -> if(x, y, false()) , or(x, y) -> if(x, true(), y) , implies(x, y) -> if(x, y, true()) , =(x, x) -> true() , =(x, y) -> if(x, y, not(y)) , if(true(), x, y) -> x , if(false(), x, y) -> y , if(x, x, if(x, false(), true())) -> true() , =(x, y) -> if(x, y, if(y, false(), true()))} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: We consider the following Problem: Strict Trs: { not(x) -> if(x, false(), true()) , and(x, y) -> if(x, y, false()) , or(x, y) -> if(x, true(), y) , implies(x, y) -> if(x, y, true()) , =(x, x) -> true() , =(x, y) -> if(x, y, not(y)) , if(true(), x, y) -> x , if(false(), x, y) -> y , if(x, x, if(x, false(), true())) -> true() , =(x, y) -> if(x, y, if(y, false(), true()))} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: { and(x, y) -> if(x, y, false()) , if(x, x, if(x, false(), true())) -> true()} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(not) = {}, Uargs(if) = {3}, Uargs(and) = {}, Uargs(or) = {}, Uargs(implies) = {}, Uargs(=) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: not(x1) = [0 0] x1 + [0] [0 0] [0] if(x1, x2, x3) = [0 0] x1 + [1 1] x2 + [1 0] x3 + [1] [0 0] [0 0] [0 0] [1] false() = [0] [0] true() = [0] [0] and(x1, x2) = [0 0] x1 + [1 1] x2 + [2] [0 0] [0 0] [2] or(x1, x2) = [0 0] x1 + [1 0] x2 + [0] [0 0] [0 0] [0] implies(x1, x2) = [0 0] x1 + [1 2] x2 + [0] [0 0] [0 0] [0] =(x1, x2) = [0 0] x1 + [1 1] x2 + [0] [0 0] [0 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { not(x) -> if(x, false(), true()) , or(x, y) -> if(x, true(), y) , implies(x, y) -> if(x, y, true()) , =(x, x) -> true() , =(x, y) -> if(x, y, not(y)) , if(true(), x, y) -> x , if(false(), x, y) -> y , =(x, y) -> if(x, y, if(y, false(), true()))} Weak Trs: { and(x, y) -> if(x, y, false()) , if(x, x, if(x, false(), true())) -> true()} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {or(x, y) -> if(x, true(), y)} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(not) = {}, Uargs(if) = {3}, Uargs(and) = {}, Uargs(or) = {}, Uargs(implies) = {}, Uargs(=) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: not(x1) = [0 0] x1 + [0] [0 0] [0] if(x1, x2, x3) = [0 0] x1 + [1 1] x2 + [1 0] x3 + [1] [0 0] [0 0] [0 0] [1] false() = [0] [0] true() = [0] [0] and(x1, x2) = [0 0] x1 + [1 1] x2 + [2] [0 0] [0 0] [2] or(x1, x2) = [0 0] x1 + [1 0] x2 + [2] [0 0] [0 0] [2] implies(x1, x2) = [0 0] x1 + [1 2] x2 + [0] [0 0] [0 0] [0] =(x1, x2) = [0 0] x1 + [1 1] x2 + [0] [0 0] [0 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { not(x) -> if(x, false(), true()) , implies(x, y) -> if(x, y, true()) , =(x, x) -> true() , =(x, y) -> if(x, y, not(y)) , if(true(), x, y) -> x , if(false(), x, y) -> y , =(x, y) -> if(x, y, if(y, false(), true()))} Weak Trs: { or(x, y) -> if(x, true(), y) , and(x, y) -> if(x, y, false()) , if(x, x, if(x, false(), true())) -> true()} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {implies(x, y) -> if(x, y, true())} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(not) = {}, Uargs(if) = {3}, Uargs(and) = {}, Uargs(or) = {}, Uargs(implies) = {}, Uargs(=) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: not(x1) = [0 0] x1 + [0] [0 0] [0] if(x1, x2, x3) = [0 0] x1 + [1 1] x2 + [1 0] x3 + [1] [0 0] [0 0] [0 0] [1] false() = [0] [0] true() = [0] [0] and(x1, x2) = [0 0] x1 + [1 1] x2 + [2] [0 0] [0 0] [2] or(x1, x2) = [0 0] x1 + [1 0] x2 + [2] [0 0] [0 0] [2] implies(x1, x2) = [0 0] x1 + [1 2] x2 + [2] [0 0] [0 0] [2] =(x1, x2) = [0 0] x1 + [1 1] x2 + [0] [0 0] [0 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { not(x) -> if(x, false(), true()) , =(x, x) -> true() , =(x, y) -> if(x, y, not(y)) , if(true(), x, y) -> x , if(false(), x, y) -> y , =(x, y) -> if(x, y, if(y, false(), true()))} Weak Trs: { implies(x, y) -> if(x, y, true()) , or(x, y) -> if(x, true(), y) , and(x, y) -> if(x, y, false()) , if(x, x, if(x, false(), true())) -> true()} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {=(x, x) -> true()} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(not) = {}, Uargs(if) = {3}, Uargs(and) = {}, Uargs(or) = {}, Uargs(implies) = {}, Uargs(=) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: not(x1) = [0 0] x1 + [0] [0 0] [0] if(x1, x2, x3) = [0 0] x1 + [1 1] x2 + [1 0] x3 + [1] [0 0] [0 0] [0 0] [1] false() = [0] [0] true() = [0] [0] and(x1, x2) = [0 0] x1 + [1 1] x2 + [2] [0 0] [0 0] [2] or(x1, x2) = [0 0] x1 + [1 0] x2 + [2] [0 0] [0 0] [2] implies(x1, x2) = [0 0] x1 + [1 2] x2 + [2] [0 0] [0 0] [2] =(x1, x2) = [0 0] x1 + [1 1] x2 + [2] [0 0] [0 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { not(x) -> if(x, false(), true()) , =(x, y) -> if(x, y, not(y)) , if(true(), x, y) -> x , if(false(), x, y) -> y , =(x, y) -> if(x, y, if(y, false(), true()))} Weak Trs: { =(x, x) -> true() , implies(x, y) -> if(x, y, true()) , or(x, y) -> if(x, true(), y) , and(x, y) -> if(x, y, false()) , if(x, x, if(x, false(), true())) -> true()} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {=(x, y) -> if(x, y, not(y))} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(not) = {}, Uargs(if) = {3}, Uargs(and) = {}, Uargs(or) = {}, Uargs(implies) = {}, Uargs(=) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: not(x1) = [0 0] x1 + [0] [0 0] [0] if(x1, x2, x3) = [0 0] x1 + [1 1] x2 + [1 0] x3 + [1] [0 0] [0 0] [0 0] [1] false() = [0] [0] true() = [0] [0] and(x1, x2) = [0 0] x1 + [1 1] x2 + [2] [0 0] [0 0] [2] or(x1, x2) = [0 0] x1 + [1 0] x2 + [2] [0 0] [0 0] [2] implies(x1, x2) = [0 0] x1 + [1 2] x2 + [2] [0 0] [0 0] [2] =(x1, x2) = [0 0] x1 + [1 1] x2 + [2] [0 0] [0 0] [2] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { not(x) -> if(x, false(), true()) , if(true(), x, y) -> x , if(false(), x, y) -> y , =(x, y) -> if(x, y, if(y, false(), true()))} Weak Trs: { =(x, y) -> if(x, y, not(y)) , =(x, x) -> true() , implies(x, y) -> if(x, y, true()) , or(x, y) -> if(x, true(), y) , and(x, y) -> if(x, y, false()) , if(x, x, if(x, false(), true())) -> true()} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: { not(x) -> if(x, false(), true()) , =(x, y) -> if(x, y, if(y, false(), true()))} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(not) = {}, Uargs(if) = {3}, Uargs(and) = {}, Uargs(or) = {}, Uargs(implies) = {}, Uargs(=) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: not(x1) = [0 0] x1 + [2] [0 0] [0] if(x1, x2, x3) = [0 0] x1 + [1 1] x2 + [1 0] x3 + [1] [0 0] [0 0] [0 0] [0] false() = [0] [0] true() = [0] [0] and(x1, x2) = [0 0] x1 + [1 2] x2 + [2] [0 0] [0 0] [0] or(x1, x2) = [0 0] x1 + [1 0] x2 + [2] [0 0] [0 0] [0] implies(x1, x2) = [0 0] x1 + [1 1] x2 + [2] [0 0] [0 0] [0] =(x1, x2) = [0 0] x1 + [1 1] x2 + [3] [0 0] [0 0] [0] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: { if(true(), x, y) -> x , if(false(), x, y) -> y} Weak Trs: { not(x) -> if(x, false(), true()) , =(x, y) -> if(x, y, if(y, false(), true())) , =(x, y) -> if(x, y, not(y)) , =(x, x) -> true() , implies(x, y) -> if(x, y, true()) , or(x, y) -> if(x, true(), y) , and(x, y) -> if(x, y, false()) , if(x, x, if(x, false(), true())) -> true()} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {if(false(), x, y) -> y} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(not) = {}, Uargs(if) = {3}, Uargs(and) = {}, Uargs(or) = {}, Uargs(implies) = {}, Uargs(=) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: not(x1) = [0 0] x1 + [2] [0 0] [2] if(x1, x2, x3) = [0 0] x1 + [1 1] x2 + [1 0] x3 + [1] [0 0] [0 0] [0 1] [1] false() = [0] [0] true() = [0] [0] and(x1, x2) = [0 0] x1 + [1 1] x2 + [2] [0 0] [0 0] [1] or(x1, x2) = [0 0] x1 + [1 0] x2 + [2] [0 0] [0 1] [2] implies(x1, x2) = [0 0] x1 + [1 2] x2 + [2] [0 0] [0 0] [2] =(x1, x2) = [0 0] x1 + [1 1] x2 + [3] [0 0] [0 0] [3] The strictly oriented rules are moved into the weak component. We consider the following Problem: Strict Trs: {if(true(), x, y) -> x} Weak Trs: { if(false(), x, y) -> y , not(x) -> if(x, false(), true()) , =(x, y) -> if(x, y, if(y, false(), true())) , =(x, y) -> if(x, y, not(y)) , =(x, x) -> true() , implies(x, y) -> if(x, y, true()) , or(x, y) -> if(x, true(), y) , and(x, y) -> if(x, y, false()) , if(x, x, if(x, false(), true())) -> true()} StartTerms: basic terms Strategy: innermost Certificate: YES(?,O(n^1)) Proof: The weightgap principle applies, where following rules are oriented strictly: TRS Component: {if(true(), x, y) -> x} Interpretation of nonconstant growth: ------------------------------------- The following argument positions are usable: Uargs(not) = {}, Uargs(if) = {3}, Uargs(and) = {}, Uargs(or) = {}, Uargs(implies) = {}, Uargs(=) = {} We have the following EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation: Interpretation Functions: not(x1) = [0 0] x1 + [2] [0 0] [2] if(x1, x2, x3) = [0 0] x1 + [1 0] x2 + [1 0] x3 + [1] [0 0] [1 1] [0 1] [1] false() = [0] [0] true() = [0] [0] and(x1, x2) = [0 0] x1 + [1 0] x2 + [2] [0 0] [1 1] [2] or(x1, x2) = [0 0] x1 + [1 0] x2 + [2] [0 0] [0 1] [2] implies(x1, x2) = [0 0] x1 + [1 0] x2 + [2] [0 0] [1 1] [2] =(x1, x2) = [0 0] x1 + [1 0] x2 + [3] [0 0] [1 1] [3] The strictly oriented rules are moved into the weak component. We consider the following Problem: Weak Trs: { if(true(), x, y) -> x , if(false(), x, y) -> y , not(x) -> if(x, false(), true()) , =(x, y) -> if(x, y, if(y, false(), true())) , =(x, y) -> if(x, y, not(y)) , =(x, x) -> true() , implies(x, y) -> if(x, y, true()) , or(x, y) -> if(x, true(), y) , and(x, y) -> if(x, y, false()) , if(x, x, if(x, false(), true())) -> true()} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: We consider the following Problem: Weak Trs: { if(true(), x, y) -> x , if(false(), x, y) -> y , not(x) -> if(x, false(), true()) , =(x, y) -> if(x, y, if(y, false(), true())) , =(x, y) -> if(x, y, not(y)) , =(x, x) -> true() , implies(x, y) -> if(x, y, true()) , or(x, y) -> if(x, true(), y) , and(x, y) -> if(x, y, false()) , if(x, x, if(x, false(), true())) -> true()} StartTerms: basic terms Strategy: innermost Certificate: YES(O(1),O(1)) Proof: Empty rules are trivially bounded Hurray, we answered YES(?,O(n^1))