Wolfram Language
Paclet Repository
Community-contributed installable additions to the Wolfram Language
Primary Navigation
Categories
Cloud & Deployment
Core Language & Structure
Data Manipulation & Analysis
Engineering Data & Computation
External Interfaces & Connections
Financial Data & Computation
Geographic Data & Computation
Geometry
Graphs & Networks
Higher Mathematical Computation
Images
Knowledge Representation & Natural Language
Machine Learning
Notebook Documents & Presentation
Scientific and Medical Data & Computation
Social, Cultural & Linguistic Data
Strings & Text
Symbolic & Numeric Computation
System Operation & Setup
Time-Related Computation
User Interface Construction
Visualization & Graphics
Random Paclet
Alphabetical List
Using Paclets
Create a Paclet
Get Started
Download Definition Notebook
Learn More about
Wolfram Language
CodeEquivalenceUtilities
Guides
Code Equivalence Utilities
Tech Notes
Adding New Transformation Rules
Symbols
CodeEquivalentQ
EquivalenceTestData
FromCanonicalForm
MakeCanonicalForm
ToCanonicalForm
$AllowedEvaluationPatterns
Code Equivalence Utilities
Equivalence for Wolfram Language code can be defined in many ways. The methods used by CodeEquivalenceUtilities attempt to determine intensional equivalence by transforming expressions into a canonical representation.
Equivalence Testing
C
o
d
e
E
q
u
i
v
a
l
e
n
t
Q
— test if two unevaluated expressions are equivalent
E
q
u
i
v
a
l
e
n
c
e
T
e
s
t
D
a
t
a
— get additional information about the equivalence test performed by
C
o
d
e
E
q
u
i
v
a
l
e
n
t
Q
Code Transformation
T
o
C
a
n
o
n
i
c
a
l
F
o
r
m
— convert an expression into a canonical representation for direct comparison
M
a
k
e
C
a
n
o
n
i
c
a
l
F
o
r
m
— convert to canonical form without evaluating the input
F
r
o
m
C
a
n
o
n
i
c
a
l
F
o
r
m
— convert a canonical representation back into a normal evaluatable expression
T
e
c
h
N
o
t
e
s
▪
A
d
d
i
n
g
N
e
w
T
r
a
n
s
f
o
r
m
a
t
i
o
n
R
u
l
e
s
R
e
l
a
t
e
d
L
i
n
k
s
▪
n
L
a
b
-
E
q
u
a
l
i
t
y
"
"