Changes http://wiki.axiom-developer.org/CartesianProduct/diff
--
??changed:
size == size$A * size$B
- index(n) == [index((((n::Integer) quo size$A
)+1)::PositiveInteger)$A,
- index((((n::Integer) rem size$A
)+1)::PositiveInteger)$B]
+ index(n) == [index((((n::Integer-1) quo size$B
)+1)::PositiveInteger)$A,
+ index((((n::Integer-1) rem size$B
)+1)::PositiveInteger)$B]
random() == [random()$A,random()$B]
??changed:
random() == [random()$A,random()$B]
- lookup(x) == lookup(x.acomp)$A * size$A::PositiveInteger +
lookup(x.bcomp)$B
+ lookup(x) == ((lookup(x.acomp)$A::Integer-1) * size$B::Integer +
lookup(x.bcomp)$B::Integer)::PositiveInteger
hash(x) == hash(x.acomp)$A * size$A::SingleInteger + hash(x.bcomp)$B
??changed:
\begin{axiom}
-X:=Product(IntegerMod 3,Set PrimeField 2)
+X:=Product(IntegerMod 3,Set PF 3)
size()$X
[index(i)$X for i in 1..size()$X::PositiveInteger]
++added:
+reduce(_and,[(lookup(index(i)$X)=i)::Boolean for i in
1..size()$X::PositiveInteger])
lookup(makeprod(2,[2])$X)
--
forwarded from http://wiki.axiom-developer.org/[EMAIL PROTECTED]