Personally, I find illuminating to rewrite (functionally) equivalent verbs
in J. Thus, one can rewrite the dyadic bonding form (X&u) as (X&u@[^:[) and
the hook (u v) as ([ u v@]). Moreover, symbolic verbs and nouns provide a
visualization and confirmation of tautologies.
NB. Symbolic verbs and nouns...
u=. ('('"_ , 'u '"_ , ] , ')'"_) :('('"_ , [ , ' u '"_ , ] , ')'"_)
:.(('('"_ , 'u^:_1 '"_ , ] , ')'"_) :('('"_ , [ , ' u^:_1 '"_ , ] , ')'"_))
v=. ('('"_ , 'v '"_ , ] , ')'"_) :('('"_ , [ , ' v '"_ , ] , ')'"_)
:.(('('"_ , 'v^:_1 '"_ , ] , ')'"_) :('('"_ , [ , ' v^:_1 '"_ , ] , ')'"_))
'X Y'=. 'X' ; 'Y'
u Y
(u Y)
X u Y
(X u Y)
v inv Y
(v^:_1 Y)
X v inv Y
(X v^:_1 Y)
NB. Bond (dyadic form), (X&u) -: (X&u@]^:[) ...
(i:999) ( X&u -: X&u@]^:[ ) Y
1
(i:3) X&u Y
(X u^:_1 (X u^:_1 (X u^:_1 Y)))
(X u^:_1 (X u^:_1 Y))
(X u^:_1 Y)
Y
(X u Y)
(X u (X u Y))
(X u (X u (X u Y)))
(i:3) X&u@]^:[ Y
(X u^:_1 (X u^:_1 (X u^:_1 Y)))
(X u^:_1 (X u^:_1 Y))
(X u^:_1 Y)
Y
(X u Y)
(X u (X u Y))
(X u (X u (X u Y)))
NB. Hook, (u v) -: ([ u v@]) ...
( (u v) -: ([ u v@]) ) Y
1
X ( (u v) -: ([ u v@]) ) Y
1
(u v) Y
(Y u (v Y))
X (u v) Y
(X u (v Y))
([ u v@]) Y
(Y u (v Y))
X ([ u v@]) Y
(X u (v Y))
Of course, matching symbolic verbs does not necessarily imply a general
equivalence ; for example, the ranks of the verbs must be considered.
Anyway, these and other tautologies are on page three of the cheatsheet at
http://www.2bestsystems.com/foundation/j/patches/j%20cheatsheet.pdf
PS. J experts: I would appreciate if you point out any errors that you
might find.
On Sat, May 3, 2014 at 1:47 PM, Joe Bogner <[email protected]> wrote:
> On May 3, 2014 1:33 PM, "Alex Giannakopoulos" <[email protected]>
> wrote:
> >
> > Just FYI.
> > I thought you might like the insight into the workings of the mind of a
> > noob, since you went to all that trouble to help...
> >
> >
>
> I am glad you asked. I didn't know the answer until working through it.
>
> I assume it's like a class or like customer satisfaction -- for every one
> person that asks a question there is probably 4 wondering the same thing
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm