![]() | DISTRIBUTION (Normal and Linear) |
x = (x1 x2 ... xn)↓
y
represents the expression formed by n
expressions equal to y
, where in the order i
has been replaced by xi
.
[I [x1 x2 ... xn] D]
I
indicates the left scope of the expression and D
the right scope. I
and D
may not exist (be null expressions).
[I [x1 x2 ... xn] D] =: I x1 D I x2 D ... I xn D
([(u [a b c] v)]) // rep. ((u a v) (u b v) (u b v) (u c v)) eq. (uav ubv ucv)
([x+[a b]] y) // rep. (x+a x+b y)
([(x+[a b] y)]) // rep. ((x+a y) (x+b y))
(x=([(u [a b] v)])) // rep. (x=(((u a v) (u b v))) eq. (x=(uav ubv))
([x=(u [a b] v)]) // rep. (x=(u a v) x=(u b v))
{[[a b c]+1]} // rep. {a+1 b+1 c+1}
(x = {[[a b c]1]}) // rep. (x = {a1 b1 c1})
([ab[u v w]]) // rep. (abu abv abw)
([x/[a b c] ]) // rep. (x/a x/b x/c)
([x=[1 2 3] ]) // rep. (x=1 x=2 x=3)
([x>[a b c ]) // rep. (x>a x>b x>c)
([[x and z]! ]) // rep. (x! y! z!)
([[x and z]←a]) // rep. (x←a y←a z←a)
([a+[3 5 7]]) // rep. (a+3 a+5 a+7)
([a (b [c d]) e]) // rep. (a (a (b c) e a (b d) e)
(x° = [a b c]°) // ev. x=[a b c]
([u x v]) // rep. (u a v u b v u c v)
For i = n1 To n2
x
Next
([(i=[n1…n2] x)])
〈( ([x [y] z]) = (x y z)) ← (y# = 1) )〉
〈( ([[x]]) = x) ← (x# = 1) )〉
([1 2 3 [abc]]) // ev. (1 2 3 abc)
([[abc] 1 2 3]) // ev. (abc 2 3 4)
([1 2 [abc] 3 4]) // ev. (1 2 abc 3 4)
([[abc]]) // ev. abc
〈( [[x]] = x )〉
[[abc]] // ev. abc
([[a b]]) // ev. (a b)
[]
.
([] = θ)
〈( ([x [] y]) = (x y) )〉
([1 [] 2]) // ev. (1 2)
x=(x1 x2 ... xn)↓
and y=(y1 y2 ... yn)↓
, an informal definition would be:
[I [x] C [y] D] =: [I x1 C [y] D] ... [I xn C [y] D]
I
indicates the left scope of the expression of the two expressions to be distributed, D
the right scope and C
the central scope between the two expressions. I
, C
and D
may not exist (be null expressions).
x
is distributed, and on the result y
is distributed. The second expression is the most rapidly varying.
([[x y] [a b] ]) // rep. (x a x x b y a y b)
([[1 2]*[4 5]]) // rep. (1*4 1*5 2*4 2*4 2*5) ev. (4 5 8 10)
(u = [1 2])
(v = [2 3])
([(a+u)*(b+v)]) // rep. ((a+1)*(b+2)*(a+1)*(b+3)*(a+2)*(b+2)*(a+2)*(b+3))
(x = [a [b c] d]°) // ev. x=[a [b c] d]
(y = [1 [x 2 x] 3]) // rep. (y = [1 [[a [b c] d] 2 [a [b c] d]] 3])
x = (x1 x2 ... xn)↓
y = (y1 y2 ... yn)↓
(I x C y D)↓
is equal to n
open expressions equal to the latter, where in the order expression < code>i has been replaced x
by xi
and y
by yi
.
I
indicates the left scope of the expression of the two expressions to be distributed, D
the right scope and C
the scope between the two expressions. I
, C
and D
may not exist (be null expressions).
[I ⌊x1 x2 ... xn⌋ C ⌊y1 y2 ... yn⌋ D]
[I ⌊x⌋ C ⌊y⌋ D] =: I x1 C y1 D ... I xn C yn D
[(⌊a b⌋ ⌊1 2⌋)]) // rep. ((a 1) (b 2))
([(⌊a b⌋ x ⌊1 2⌋)]) // rep. ((a x 1) (b x 2))
([(⌊x and z⌋ = ⌊1 2 3⌋)]) // rep. ((x = 1) (y = 2) (z = 3))
([(⌊x y⌋ + ⌊a b⌋ + z)]) // rep. ((x+a+z) (y+b+z))
(x = ⌊a b c⌋)
([x x]) // rep. (a a a b b c c) eq. aabbcc
(x = ⌊a b c⌋
(y= [xx])) // rep. (y = aa bb cc)
(z = [yy]) // rep. (z = aaaa bbbb cccc)
([a ⌊1 2⌋ b ⌊4 5 6⌋ c]) // rep. (a 1 b 4 a 2 b 5 a b 6)
([(⌊a b⌋ ⌊c d⌋ ⌊u v⌋ ⌊w x⌋]) // rep. (a c b d u w a c b d u x a c b d v w a c b d v x) eq. acbduwacbduxacbdvwacbdvx
〈( ([x ⌊y] z]) = (x y z)) ← (y# = 1) )〉
〈( ([⌊x⌋]) = x) ← (x# = 1) )〉
([1 2 3 ⌊abc⌋]) // ev. (1 2 3 abc)
([⌊abc⌋ 1 2 3]) // ev. (abc 2 3 4)
([1 2 [abc] 3 4]) // ev. (1 2 abc 3 4)
([[abc]]) // ev. abc
⌊⌋
.
(⌊⌋ = θ)
〈( ([x ⌊⌋ y]) = (x y) )〉
([1 ⌊⌋ 2]) // ev. (1 2)
a[u v w] // rep. au av aw
[u v w]b // rep. ub vb wb
a[u v w]b // rep. aub avb awb
( a[u v w]b ) // rep. (aub avb awb)
a[1...10] // rep. a1 a2 ... a10
a[1...n] // rep. a1 a2 ... an
{a[u v w]} // rep. {au av aw]
a [u v w] b // self-evaluates
[a b]+[a b] // ev. 2*[a b]
(⌊a b⌋+⌊u v⌋) // rep. (a+u b+v)
(⌊3 4⌋*⌊a b⌋) // rep. (3*a 4*b)
a [u v w] b // self-evaluates