added a rule about useless function wrapping and a rule about complement