Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
Definition of a Structured Verification in Maple
Description
A structured verification is a Maple expression other than a symbol which can be interpreted as a verification. A typical example would be . This specifies that the two objects must be lists with two operands, and that each pair of operands must have the property that their difference when simplified, equals zero.
This help page first gives a formal grammatical description of the valid structured verifications, then notes on some of the special verifications, and lastly, examples.
In the formal definition below, read "::=" to mean "is defined to be", "|" to mean "or", and "*" to mean "zero or more occurrences of".
Syntax
Matches
verification ::=
{ verification* }
alternation; any of the verifications
| [ verification* ]
a list of the given verifications
| complex(numeric)
match complex numerical constants exactly
| string
match strings exactly
| verification = verification
an equation of the corresponding verifications
| verification <> verification
an inequality compared with given verifications
| verification < verification
a relation compared with given verifications
| verification <= verification
| verification > verification
| verification >= verification
| verification .. verification
a range compared with given verifications
| verification and verification
an AND of the corresponding verifications
| verification or verification
an OR of the corresponding verifications
| not verification
a NOT of the corresponding verification
| verification &+ verification ...
a sum of the corresponding verifications
| verification &* verification ...
a product of the corresponding verifications
| verification &. verification ...
a dot product of the corresponding verifications
| verification ^ verification
a power compared with the given verifications
| fcnverification
a function or special verification
fcnverification ::=
set(verification)
sets of elements compared with the given verification
| list(verification)
lists of elements compared with the given verification
| `&+`(verification)
a sum of terms of the given verifications
| `&*`(verification)
a product of factors of the given verifications
| specfunc(verification,foo)
the function foo with arguments compared with the given verification
| anyfunc(verification*)
any functions with arguments compared with the given verifications
| function(verification)
any function with arguments compared with given verification
| name(verification)
any name with a value of the given verification
| foo(verification*)
a verification defined by a procedure addverify(foo::name, bar::procedure)
the function foo with arguments compared with the given verifications
The square brackets [ and ] are used to check for a fixed argument sequence. The verification checks the equality of two lists, each with exactly 2 arguments, the first checked with simple equality and the second with simplify.
The set brackets { and } are used for alternation. The verification {set(float(10)),list(float(10))} matches either lists or sets of floating-point numbers which are considered equal if they are within 10 units in the last place.
The verification does a simple comparison.
The verifications compares two objects, complex(numeric) or string, to the expression expr.
The verification matches any two functions with arguments where the arguments agree according to the appropriate verifications.
The verification specfunc(ver, n) matches functions with 0 or more arguments where the arguments agree according to the verification ver. Thus verify(f, g, specfunc(ver, n)) is equivalent to all five of the forms, type(f, function), type(g, function), , , and verify([op(f)], [op(g)], list(ver)).
Examples
See Also
verify
Download Help Document