OFFSET
0,2
COMMENTS
Row n of the triangle shows the atoms among n-ary Boolean functions:
1 01
3 5 0011 0101
15 51 85 00001111 00110011 01010101
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.
An easier generalized way is the enumeration from right to left, here shown with k starting from 0, so that n-ary x_k = T(n, n-k-1). As numbers in the diagonals on the right have the same bit pattern, this corresponds to the infinitary definition of x_k as a binary fraction 1/A000215(k) = 1/(2^2^k + 1):
2-ary x_0=0101=5, 3-ary x_0=01010101=85, infinitary x_0 = 1/3 = .010101...
2-ary x_1=0011=3, 3-ary x_1=00110011=51, infinitary x_1 = 1/5 = .001100110011...
LINKS
Tilman Piesk, Table of n, a(n) for n = 0..65
Tilman Piesk, Atomic Boolean functions in Sierpinski triangle (Wikimedia Commons)
PROG
(MATLAB)
Seq = sym(zeros(55, 1)) ;
Filledlines = 0 ;
for m=1:10
for n=1:m
Sum = sym(0) ;
for k=0:2^m-1
if mod( floor( k/2^(m-n) ) , 2) == 0
Sum = Sum + 2^sym(k) ;
end
end
Seq( Filledlines + n ) = Sum ;
end
Filledlines = Filledlines + m ;
end
(Python)
from itertools import count, islice
def A211344_gen(): # generator of terms
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))
(Python)
def arity_and_atom_to_integer(arity, atom):
result = 0
max_place = (1 << arity) - (1 << atom) - 1
for exponent in range(max_place + 1):
if not bool(~max_place & max_place - exponent):
place_value = 1 << exponent
result += place_value
return result
def A211344(n, k):
return arity_and_atom_to_integer(n, n-k-1) # Tilman Piesk, Jan 25 2025
CROSSREFS
KEYWORD
nonn,tabl
AUTHOR
Tilman Piesk, Jul 24 2012
STATUS
approved
