MAYBE Problem: strict: top(old(x)) -> top(check(x)) top(new(x)) -> top(check(x)) weak: bot() -> new(bot()) check(new(x)) -> new(check(x)) check(old(x)) -> old(check(x)) check(old(x)) -> old(x) Proof: Open