Year-end appeal: Please make a donation to the OEIS Foundation to support ongoing development and maintenance of the OEIS. We are now in our 61st year, we have over 378,000 sequences, and we’ve reached 11,000 citations (which often say “discovered thanks to the OEIS”).
%I #20 May 04 2023 02:16:29
%S 1,3,5,15,51,85,255,3855,13107,21845,65535,16711935,252645135,
%T 858993459,1431655765,4294967295,281470681808895,71777214294589695,
%U 1085102592571150095,3689348814741910323,6148914691236517205
%N Atomic Boolean functions interpreted as binary numbers.
%C Row n of the triangle shows the atoms among n-ary Boolean functions:
%C 1 01
%C 3 5 0011 0101
%C 15 51 85 00001111 00110011 01010101
%C Often n-ary x_k = T(n,k), e.g. for 2-ary functions x_1=0011, x_2=0101 and for 3-ary functions x_1=00001111, x_2=00110011, x_3=01010101.
%C An easier generalized way is the enumeration from right to left (preferably from x_0) so that n-ary x_k = T(n,n-k). As numbers in the diagonals on the right have the same bit pattern this goes well together with the infinitary definition of atomic formulas as x_k = 1/A000215(k) = 1/(2^2^k+1) in binary:
%C 2-ary x_0=0101=5, 3-ary x_0=01010101=85, infinitary x_0=1/3=.010101...
%C 2-ary x_1=0011=3, 3-ary x_1=00110011=51, infinitary x_1=1/5=.001100110011...
%H Tilman Piesk, <a href="/A211344/b211344.txt">Table of n, a(n) for n = 0..65</a>
%H Tilman Piesk, <a href="http://commons.wikimedia.org/wiki/File:Atomic_Boolean_functions_in_Sierpinski_triangle.svg">Atomic Boolean functions in Sierpinski triangle</a> (Wikimedia Commons)
%F a = A001317( A089633 )
%o (MATLAB)
%o Seq = sym(zeros(55,1)) ;
%o Filledlines = 0 ;
%o for m=1:10
%o for n=1:m
%o Sum = sym(0) ;
%o for k=0:2^m-1
%o if mod( floor( k/2^(m-n) ) ,2) == 0
%o Sum = Sum + 2^sym(k) ;
%o end
%o end
%o Seq( Filledlines + n ) = Sum ;
%o end
%o Filledlines = Filledlines + m ;
%o end
%o (Python)
%o from itertools import count, islice
%o def A211344_gen(): # generator of terms
%o return (sum((bool(~(m:=(1<<t)-(1<<k)-1)&m-i)^1)<<i for i in range((1<<t)-(1<<k))) for t in count(1) for k in range(t-1, -1, -1))
%o A211344_list = list(islice(A211344_gen(),20)) # _Chai Wah Wu_, May 03 2023
%Y A001317, A089633, A051179 (left diagonal)
%K nonn,tabl
%O 0,2
%A _Tilman Piesk_, Jul 24 2012