(STRATEGY
    INNERMOST)

(VAR
    X)
(DATATYPES
    A = µX.< d, c, g(X), h(X) >)
(SIGNATURES
    a__g :: [A] -> A
    a__c :: [] -> A
    a__h :: [A] -> A
    mark :: [A] -> A)
(RULES
    a__g(X) -> a__h(X)
    a__c() -> d()
    a__h(d()) -> a__g(c())
    mark(g(X)) -> a__g(X)
    mark(h(X)) -> a__h(X)
    mark(c()) -> a__c()
    mark(d()) -> d()
    a__g(X) -> g(X)
    a__h(X) -> h(X)
    a__c() -> c())