Implement weakening rules