Mathematica > Attributes >

Flat

Flat
is an attribute that can be assigned to a symbol f to indicate that all expressions involving nested functions f should be flattened out. This property is accounted for in pattern matching.
  • Flat corresponds to the mathematical property of associativity.
  • For a symbol f with attribute Flat, f[f[a, b], f[c]] is automatically reduced to f[a, b, c].
  • For a Flat function f, the variables x and y in the pattern f[x_, y_] can correspond to any sequence of arguments.
  • The Flat attribute must be assigned before defining any values for a Flat function.
  • When functions that are Flat are used in pattern matching, they often also require the attribute OneIdentity.
New in 1
© 2008 Wolfram Research, Inc. japanese.gif
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team