This domain provides a function-like type that can be queried
for domain and co-domain.
aldor
#include "axiom.as"
T ==> SetCategory;
Signature(source:T, target:T): with {
domain:%->T;
codomain:%->T;
coerce:(source->target) -> %;
coerce:%->(source->target);
coerce:%->OutputForm;
} == (source->target) add {
Rep == (source->target);
domain(p:%):T == source;
codomain(p:%):T == target;
coerce(r:(source->target)):% == per(r);
coerce(p:%):(source->target) == p pretend (source->target);
coerce(p:%):OutputForm == p pretend OutputForm;
};
aldor
Compiling FriCAS source code from file
/var/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/sig.as using
Aldor compiler and options
-O -Fasy -Fao -Flsp -lfricas -Mno-ALDOR_W_WillObsolete -DFriCAS -Y $FRICAS/algebra -I $FRICAS/algebra
Use the system command )set compiler args to change these
options.
The )library system command was not called after compilation.
aldor
#include "axiom.as"
T ==> SetCategory;
Signature2(source1:T, source2:T, target:T): with {
domain:%->T;
codomain:%->T;
coerce:((source1,source2)->target) -> %;
coerce:%->((source1,source2)->target);
coerce:%->OutputForm;
} == ((source1,source2)->target) add {
Rep == ((source1,source2)->target);
domain(p:%):T == Product(source1,source2);
codomain(p:%):T == target;
coerce(r:(source1,source2)->target):% == per(r);
coerce(p:%):((source1,source2)->target) == p pretend ((source1,source2)->target);
coerce(p:%):OutputForm == p pretend OutputForm;
}
aldor
Compiling FriCAS source code from file
/var/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/sig2.as using
Aldor compiler and options
-O -Fasy -Fao -Flsp -lfricas -Mno-ALDOR_W_WillObsolete -DFriCAS -Y $FRICAS/algebra -I $FRICAS/algebra
Use the system command )set compiler args to change these
options.
The )library system command was not called after compilation.
fricas
f:Signature(Float, Integer)
There are no library operations named Signature
Use HyperDoc Browse or issue
)what op Signature
to learn if there is any operation containing " Signature " in
its name.
Cannot find a definition or applicable library operation named
Signature with argument type(s)
Type
Type
Perhaps you should use "@" to indicate the required return type,
or "$" to specify which version of the function you need.
fricas
f2:Signature2(Float,Float, Float)
There are no library operations named Signature2
Use HyperDoc Browse or issue
)what op Signature2
to learn if there is any operation containing " Signature2 " in
its name.
Cannot find a definition or applicable library operation named
Signature2 with argument type(s)
Type
Type
Type
Perhaps you should use "@" to indicate the required return type,
or "$" to specify which version of the function you need.
Try this is Axiom
SandBoxMorphism