> UPOLYCoerce(A: UPOLYC, B: UPOLYC): with > coerce: A -> B > > add > coerce a == > resta := a > res: B := 0 > while not zero? resta repeat > res := res + leadingCoefficient resta * leadingMonomial resta > resta := reductum resta > res
> and this will provide a coercion function from any A to any B in UPOLYC In other words, for any A and B you have a package that implements coerce: A->B. OK. > but I cannot state that for any A and any B in UPOLYC > A has CoercibleTo B Now why do you think this is still important? Onces *you* have programmed UPOLYCoerce and you know that A: UPOLYC and B: UPOLYC then everything is clear and you can simply say (for a: A) b: B := coerce(a)$UPOLYCoerce(A,B) I see no need to require "A has CoercibleTo B". Perhaps, I still didn't get your point. Ralf ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ open-axiom-devel mailing list open-axiom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/open-axiom-devel