code: def simplify(self):
          
          if self.iscanonical:
              return self
  
          expr = self.cancel()
          if not isinstance(expr, self.__class__):
              return expr.simplify()
  
          if expr.args[0] in (self.TRUE, self.FALSE,):
              return expr.args[0].dual
  
          expr = self.__class__(expr.args[0].simplify())
          expr.iscanonical = True
          return expr
docs: Return a simplified expr in canonical form.
  
          This means double negations are canceled out and all contained boolean
          objects are in their canonical form.