OFFSET
0,3
COMMENTS
This automorphism effects the following transformation on the unlabeled rooted plane binary trees (letters A, B, C refer to arbitrary subtrees located on those nodes and () stands for an implied terminal node).
.A...B...........B...C
..\./.............\./
...x...C....-->....x...A...............()..A.........()..A..
....\./.............\./.................\./....-->....\./...
.....x...............x...................x.............x....
((a . b) . c) -> ((b . c) . a) _____ (() . a) ---> (() . a)
In terms of S-expressions, this automorphism rotates caar, cdar and cdr of an S-exp if possible, i.e., if car-side is not ().
See the Karttunen OEIS-Wiki link for a detailed explanation of how to obtain a given integer sequence from this definition.
LINKS
PROG
(Scheme functions implementing this automorphism on list-structures/S-expressions, both constructive (*A089855) and destructive (*A089855!) versions:)
(define (*A089855 s) (if (and (pair? s) (pair? (car s))) (cons (cons (cdar s) (cdr s)) (caar s)) s))
(define (*A089855! s) (cond ((not (pair? s)) s) ((not (pair? (car s))) s) (else (let ((org_cdar (cdar s))) (set-cdr! (car s) (cdr s)) (set-cdr! s (caar s)) (set-car! (car s) org_cdar) s))))
CROSSREFS
KEYWORD
nonn
AUTHOR
Antti Karttunen, Nov 29 2003
EXTENSIONS
Further comments and constructive implementation of Scheme-function (*A089855) added by Antti Karttunen, Jun 04 2011
STATUS
approved