* Step 1: Sum WORST_CASE(Omega(n^1),?) + Considered Problem: - Strict TRS: bool(And(a1,a2)) -> False() bool(F()) -> True() bool(Or(o1,o2)) -> False() bool(T()) -> True() conj(And(t1,t2)) -> and(disj(t1),conj(t1)) conj(F()) -> True() conj(Or(o1,o2)) -> False() conj(T()) -> True() disj(And(a1,a2)) -> conj(And(a1,a2)) disj(F()) -> True() disj(Or(t1,t2)) -> and(conj(t1),disj(t1)) disj(T()) -> True() disjconj(p) -> disj(p) getFirst(And(t1,t2)) -> t1 getFirst(Or(t1,t2)) -> t1 getSecond(And(t1,t2)) -> t1 getSecond(Or(t1,t2)) -> t1 isAnd(And(t1,t2)) -> True() isAnd(F()) -> False() isAnd(Or(t1,t2)) -> False() isAnd(T()) -> False() isConsTerm(And(a1,a2),And(y1,y2)) -> True() isConsTerm(And(a1,a2),F()) -> False() isConsTerm(And(a1,a2),Or(x1,x2)) -> False() isConsTerm(And(a1,a2),T()) -> False() isConsTerm(F(),And(y1,y2)) -> False() isConsTerm(F(),F()) -> True() isConsTerm(F(),Or(x1,x2)) -> False() isConsTerm(F(),T()) -> False() isConsTerm(Or(o1,o2),And(y1,y2)) -> False() isConsTerm(Or(o1,o2),F()) -> False() isConsTerm(Or(o1,o2),Or(x1,x2)) -> True() isConsTerm(Or(o1,o2),T()) -> False() isConsTerm(T(),And(y1,y2)) -> False() isConsTerm(T(),F()) -> False() isConsTerm(T(),Or(x1,x2)) -> False() isConsTerm(T(),T()) -> True() isOp(And(t1,t2)) -> True() isOp(F()) -> False() isOp(Or(t1,t2)) -> True() isOp(T()) -> False() - Weak TRS: and(False(),False()) -> False() and(False(),True()) -> False() and(True(),False()) -> False() and(True(),True()) -> True() - Signature: {and/2,bool/1,conj/1,disj/1,disjconj/1,getFirst/1,getSecond/1,isAnd/1,isConsTerm/2,isOp/1} / {And/2,F/0 ,False/0,Or/2,T/0,True/0} - Obligation: innermost runtime complexity wrt. defined symbols {and,bool,conj,disj,disjconj,getFirst,getSecond,isAnd ,isConsTerm,isOp} and constructors {And,F,False,Or,T,True} + Applied Processor: Sum {left = someStrategy, right = someStrategy} + Details: () * Step 2: DecreasingLoops WORST_CASE(Omega(n^1),?) + Considered Problem: - Strict TRS: bool(And(a1,a2)) -> False() bool(F()) -> True() bool(Or(o1,o2)) -> False() bool(T()) -> True() conj(And(t1,t2)) -> and(disj(t1),conj(t1)) conj(F()) -> True() conj(Or(o1,o2)) -> False() conj(T()) -> True() disj(And(a1,a2)) -> conj(And(a1,a2)) disj(F()) -> True() disj(Or(t1,t2)) -> and(conj(t1),disj(t1)) disj(T()) -> True() disjconj(p) -> disj(p) getFirst(And(t1,t2)) -> t1 getFirst(Or(t1,t2)) -> t1 getSecond(And(t1,t2)) -> t1 getSecond(Or(t1,t2)) -> t1 isAnd(And(t1,t2)) -> True() isAnd(F()) -> False() isAnd(Or(t1,t2)) -> False() isAnd(T()) -> False() isConsTerm(And(a1,a2),And(y1,y2)) -> True() isConsTerm(And(a1,a2),F()) -> False() isConsTerm(And(a1,a2),Or(x1,x2)) -> False() isConsTerm(And(a1,a2),T()) -> False() isConsTerm(F(),And(y1,y2)) -> False() isConsTerm(F(),F()) -> True() isConsTerm(F(),Or(x1,x2)) -> False() isConsTerm(F(),T()) -> False() isConsTerm(Or(o1,o2),And(y1,y2)) -> False() isConsTerm(Or(o1,o2),F()) -> False() isConsTerm(Or(o1,o2),Or(x1,x2)) -> True() isConsTerm(Or(o1,o2),T()) -> False() isConsTerm(T(),And(y1,y2)) -> False() isConsTerm(T(),F()) -> False() isConsTerm(T(),Or(x1,x2)) -> False() isConsTerm(T(),T()) -> True() isOp(And(t1,t2)) -> True() isOp(F()) -> False() isOp(Or(t1,t2)) -> True() isOp(T()) -> False() - Weak TRS: and(False(),False()) -> False() and(False(),True()) -> False() and(True(),False()) -> False() and(True(),True()) -> True() - Signature: {and/2,bool/1,conj/1,disj/1,disjconj/1,getFirst/1,getSecond/1,isAnd/1,isConsTerm/2,isOp/1} / {And/2,F/0 ,False/0,Or/2,T/0,True/0} - Obligation: innermost runtime complexity wrt. defined symbols {and,bool,conj,disj,disjconj,getFirst,getSecond,isAnd ,isConsTerm,isOp} and constructors {And,F,False,Or,T,True} + Applied Processor: DecreasingLoops {bound = AnyLoop, narrow = 10} + Details: The system has following decreasing Loops: conj(x){x -> And(x,y)} = conj(And(x,y)) ->^+ and(disj(x),conj(x)) = C[conj(x) = conj(x){}] WORST_CASE(Omega(n^1),?)