PRODUCTS
Products Overview
Mathematica
Mathematica Student Edition
Mathematica Home Edition
Wolfram
CDF Player
(free download)
Computable Document Format (CDF)
web
Mathematica
grid
Mathematica
Wolfram
Workbench
Wolfram
SystemModeler
Wolfram
Finance Platform
Mathematica
Add-Ons
Wolfram|Alpha Products
SOLUTIONS
Solutions Overview
Engineering
Aerospace Engineering & Defense
Chemical Engineering
Control Systems
Electrical Engineering
Image Processing
Industrial Engineering
Materials Science
Mechanical Engineering
Operations Research
Optics
Petroleum Engineering
Biotechnology & Medicine
Bioinformatics
Medical Imaging
Finance, Statistics & Business Analysis
Actuarial Sciences
Data Analysis & Mining
Econometrics
Economics
Financial Engineering & Mathematics
Financial Risk Management
Statistics
Software Engineering & Content Delivery
Authoring & Publishing
Interface Development
Software Engineering
Web Development
Science
Astronomy
Biological Sciences
Chemistry
Environmental Sciences
Geosciences
Social & Behavioral Sciences
Design, Arts & Entertainment
Game Design, Special Effects & Generative Art
Education
STEM Education Initiative
Higher Education
Community & Technical College Education
Primary & Secondary Education
Students
Technology
Computable Document Format (CDF)
High-Performance & Parallel Computing (HPC)
See Also: Technology Guide
PURCHASE
Online Store
Other Ways to Buy
Volume & Site Licensing
Contact Sales
Software
Service
Upgrades
Training
Books
Merchandise
SUPPORT
Support Overview
Mathematica
Documentation
Knowledge Base
Learning Center
Technical Services
Community & Forums
Training
Does My Site Have a License?
Wolfram User Portal
COMPANY
About Wolfram Research
News
Events
Wolfram Blog
Partnerships
Employment Opportunities
History of
Mathematica
Stephen Wolfram's Home Page
Contact Us
OUR SITES
All Sites
Wolfram|Alpha
Demonstrations Project
MathWorld
Integrator
Wolfram Functions Site
Mathematica Journal
Wolfram Media
Wolfram
Tones
Wolfram Science
Stephen Wolfram
SEARCH MATHEMATICA 8 DOCUMENTATION
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE
DOCUMENTATION CENTER
FOR THE LATEST INFORMATION.
Mathematica
>
Attributes
>
Built-in
Mathematica
Symbol
Flat and Orderless Functions
Attributes
Patterns and Transformation Rules
Tutorials »
|
Orderless
OneIdentity
See Also »
|
Attributes
Patterns
Defining Variables and Functions
More About »
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.
MORE INFORMATION
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
]
.
Functions like
Plus
,
Times
and
Dot
are
Flat
.
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
.
EXAMPLES
CLOSE ALL
Basic Examples
(2)
Nested expressions with flat functions are flattened out:
In[1]:=
In[2]:=
Out[2]=
Flat
implements the notion of associativity:
In[1]:=
Out[1]=
In[2]:=
Out[2]=
Scope
(3)
Properties & Relations
(2)
Possible Issues
(2)
SEE ALSO
Orderless
OneIdentity
TUTORIALS
Flat and Orderless Functions
Attributes
Patterns and Transformation Rules
MORE ABOUT
Attributes
Patterns
Defining Variables and Functions
RELATED LINKS
NKS|Online
(
A New Kind of Science
)
New in 1
© 2013 Wolfram Research, Inc.