%I #15 Mar 31 2012 14:02:27
%S 0,1,2,3,5,6,4,7,8,12,13,15,16,19,11,14,9,17,18,10,20,21,22,31,32,34,
%T 35,36,40,41,43,44,47,52,53,56,60,30,33,39,42,51,28,37,23,45,46,24,48,
%U 49,50,29,38,25,54,55,26,57,58,59,27,61,62,63,64,87,88,90,91,92,96,97,99
%N Permutation of natural numbers induced by Catalan automorphism *A089851 acting on the binary trees/parenthesizations encoded by A014486/A063171.
%C 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.)
%C ...B...C...........C...A
%C ....\./.............\./
%C .A...x....-->....B...x.................A..().........A...()..
%C ..\./.............\./...................\./....-->....\./...
%C ...x...............x.....................x.............x....
%C (a . (b . c)) -> (b . (c . a)) ______ (a . ()) ---> (a . ())
%C In terms of S-expressions, this rotates car, cadr and cddr of an S-exp
%C if its length > 1, otherwise keeps it intact.
%C Note that the first clause corresponds to generator C of Thompson's groups T and V.
%C (Cf. also A072796, A074679 and A154121 for other related generators).
%C See "Catalan Automorphisms" OEIS-Wiki page for a detailed explanation how to obtain a given integer sequence from this definition.
%H A. Karttunen, <a href="http://oeis.org/wiki/Catalan_Automorphisms">Catalan Automorphisms</a>
%H A. Karttunen, <a href="/A089408/a089408.c.txt">C-program for computing this sequence</a>
%H <a href="/index/Per#IntegerPermutationCatAuto">Index entries for signature-permutations induced by Catalan automorphisms</a>
%o (Scheme functions implementing this automorphism on list-structures, both constructive (*A089851) and destructive (*A089851!) versions:)
%o (define (*A089851 s) (if (and (pair? s) (pair? (cdr s))) (cons (cadr s) (cons (cddr s) (car s))) s))
%o (define (*A089851! s) (cond ((not (pair? s)) s) ((not (pair? (cdr s))) s) (else (swap! s) (robr! s) s)))
%o (define (swap! s) (let ((ex-car (car s))) (set-car! s (cdr s)) (set-cdr! s ex-car) s))
%o (define (robr! s) (let ((ex-cdr (cdr s))) (set-cdr! s (caar s)) (set-car! (car s) ex-cdr) (swap! (car s)) (swap! s) s))
%Y Inverse of A089853. a(n) = A089850(A072796(n)) = A057163(A089857(A057163(n))). Row 4 of A089840.
%Y Number of cycles: A089847. Number of fixed-points: A089848 (in each range limited by A014137 and A014138).
%K nonn
%O 0,3
%A _Antti Karttunen_, Nov 29 2003
%E The new mail-address, further comments and constructive implementation of Scheme-function (*A089851) added by _Antti Karttunen_, Jun 04 2011