## Future Extensions
Now that the functions of the
First, some obvious shortcomings of It would be nice to be able to calculate the implied interest rate given the value of a bond.
Even though this is conceptually a reasonable thing to do, there is no closed form solution for in terms of , , and
More importantly, the issue of assumptions and how
Let us revisit the previous example for
If an assumptions mechanism were present, it would be desirable to allow the user to ask and receive answers to questions like "Assuming ?" To answer this, let us re-examine the underlying rules that `foo[z]` Semantica generates for `foo.`
As mentioned previously, in general it is difficult to determine if the conditions imposed on the original semantic assignment, such as , are sufficient to be able to eliminate all but one of the solutions before the specific input is known. However, there are sometimes ways around this which also allow simplification of the rules generated and are consistent with a future uniform assumptions mechanism. For our example, let us examine an equivalent set of reductions to the set
Examining the rather complicated equations above we can see that there are three solutions if . Internally we can work out the answers on each of these branches by introducing the final left hand side as a variable, say , in an equation, in this case , then solve for while eliminating and . Finally, we include the conditions on the other variables to get the solutions and their regions of validity.
`a<0`
In this way we can see that we have found solutions where the conditions on the solutions are only dependent on the semantic variables, in this case , and the matched input . We did not have to use any of the pattern matching symbols, which in this case are and . If we had a general assumptions mechanism, it would be a simple matter to determine which branches of the solution structure satisfy the assumptions and then return the appropriate solutions. As one can see, the form of the solution is also nicer than the rules generated by `b` Semantica.
Implementing a general routine that incorporates this behavior is sometimes possible, as has been demonstrated. It is fairly easy to imagine generalizations of the above. However, there are some obvious consequences. Due to the diverse nature of the structure of the solution set, one has to be much more careful in the implementation. Also, the experimental implementation of cylindrical algebraic decomposition found in Converted by Mathematica
September 30, 1999
[Prev Page][Next Page] |