Definition of a Structured Verification in Maple
Description
Examples
A structured verification is a Maple expression other than a symbol which can be interpreted as a verification. A typical example would be simplify,simplify. 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 boolean,simplify 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 boolean does a simple comparison.
The verifications identical⁡expr compares two objects, complex(numeric) or string, to the expression expr.
The verification anyfunc⁡t1,...,tn matches any two functions with n arguments where the arguments agree according to the appropriate verifications.
The verification specfunc(ver, n) matches functions n 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), op⁡0,f=n, op⁡0,g=n, and verify([op(f)], [op(g)], list(ver)).
verify⁡string,string,identical⁡string
true
verify⁡evalf⁡abs⁡1,x+sqrt⁡1−cos⁡22,abs⁡1,x+sin⁡2.,abs⁡1,polynom⁡float⁡1,x
verify⁡x2−12.0002,x−1⁢x+12.00003,normalfloat⁡1.×106
evalb⁡2.,1−x2=2,1−x⁢1+x
false
verify⁡2.0000001,1−x2,2,1−x⁢1+x,float⁡10000.,expand
verify⁡0.32,0.319996,0.320002,set⁡float⁡100000.
verify⁡evalr⁡sin⁡INTERVAL⁡−1..−1.5,INTERVAL⁡−0.9974949866..−sin⁡1,INTERVAL⁡float⁡1..boolean
solns≔dsolve⁡D⁡f⁡x=f⁡x,f⁡x
solns≔f⁡x=c__1⁢ⅇx
verify⁡solns,f⁡x=_C1⁢cosh⁡x+sinh⁡x,boolean=testeq
zero≔0.,c−aloga⁡c,cos⁡x2+sin⁡x2−1,x2−1−x−1⁢x+1
zero≔0.,c−aln⁡cln⁡a,x2−1−x−1⁢x+1,cos⁡x2+sin⁡x2−1
verify⁡0,zero,set⁡simplify
See Also
verify
Download Help Document