structured - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Definition of a Structured Verification in Maple

 

Description

Examples

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

a relation compared with given verifications

 

| verification > verification

a relation compared with given verifications

 

| verification >= verification

a relation compared with given verifications

 

| 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)

 

| foo(verification*)

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

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

(9)

(10)

(11)

See Also

verify

 


Download Help Document