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]

Reply via email to