docs: def permut2expr(self, P):
          ''' Convert a substitution table into an arybo application
  
          Args:
              P: list of integers. The list must not contain more than 2**nbits elements.
  
          Returns:
              A tuple containing an :class:`MBAVariable` object with the result
              and the symbolic input variable used in this object. A typical use
              case is to feed these into vectorial_decomp.
  
          Example:
              >>> mba = MBA(4)
              >>> P = [i^7 for i in range(16)]
              >>> E,X = mba.permut2expr(P)
              >>> E.vectorial_decomp([X])
              App NL = Vec([
              0,
              0,
              0,
              0
              ])
              AffApp matrix = Mat([
              [1, 0, 0, 0]
              [0, 1, 0, 0]
              [0, 0, 1, 0]
              [0, 0, 0, 1]
              ])
              AffApp cst = Vec([
              1,
              1,
              1,
              0
              ])
          '''
          if len(P) > (1<<self.nbits):
              raise ValueError("P must not contain more than %d elements" % (1<<self.nbits))
          X = self.var('X')
          ret = super(MBA, self).permut2expr(P, X.vec)
          return self.from_vec(ret), X