Ralf Hemmecke wrote:
>
> Not that I know a solution for this problem, but why not taking another
> point of view, namely that everything is without variable names? In
> other words, variable names are just used to achieve a nice looking
> output. I don't think that variable names are important mathematically.
>
> Unfortunately, that would mean some more deep change to Algebra, since
> FriCAS, for example uses differentiate: (%, Symbol) -> % in
> Expression(R) which is basically used in DERHAM (and, of course, it's
> somehow convenient).
It make sense to omit variable names in some cases, for example
SparseUnivariatePolynomial gets a lot of use. But in general
names are important for readability and FriCAS tries to follow
traditional notation. So we should support names.
>
> Of course that would lead to the question whether K[x] is the "same" as
> K[y], but it would remove all of the problems where parameters in types
> have to be *computed* in order to test whether the expression has a
> correct type.
Well, SAE contains no names but may cause problems.
>
> Suppose you have
>
> Foo(l1: List Symbol, Bar(#l1)): ... == ...
>
> And in a session you type
>
> list1 := ['x, 'y]
> list2 := ['x, 'y]
> F1 := Foo(list1, Bar # list1)
> F2 := Foo(list2, Bar # list1)
>
> Should FriCAS already complain in the construction of F2?
> Are F1 and F2 identical?
Your declaration looks incorrct, because second argument in declaration
of Foo should be identifier + type. Assuming that this is fixed
F1 and F2 should be equal: types produced by named constructors are
equal when the the constructor names are equal and values of arguments
are equal.
--
Waldek Hebisch
[email protected]
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.