<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def name(self):
 """ The name of the functional. If the functional is not found in the aliases, the string has the form X_NAME+C_NAME """

        if self.xc in self.defined_aliases: return self.defined_aliases[self.xc].name
        xc = (self.x, self.c)
        if xc in self.defined_aliases: return self.defined_aliases[xc].name
        if self.xc is not None: return self.xc.name
        return "+".join([self.x.name, self.c.name])