login
BII-numbers of T_0 set-systems.
29

%I #9 Jul 26 2024 05:28:26

%S 0,1,2,3,5,6,7,8,9,10,11,13,14,15,17,19,20,21,22,23,24,25,26,27,28,29,

%T 30,31,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,

%U 55,56,57,58,59,60,61,62,63,67,69,70,71,73,74,75,77,78

%N BII-numbers of T_0 set-systems.

%C The dual of a set-system has, for each vertex, one block consisting of the indices (or positions) of the blocks containing that vertex. For example, the dual of {{1,2},{2,3}} is {{1},{1,2},{2}}. The T_0 condition means that the dual is strict (no repeated edges).

%C A binary index of n is any position of a 1 in its reversed binary expansion. The binary indices of n are row n of A048793. We define the set-system with BII-number n to be obtained by taking the binary indices of each binary index of n. Every finite set of finite nonempty sets has a different BII-number. For example, 18 has reversed binary expansion (0,1,0,0,1), and since the binary indices of 2 and 5 are {2} and {1,3} respectively, the BII-number of {{2},{1,3}} is 18. Elements of a set-system are sometimes called edges.

%H John Tyler Rascoe, <a href="/A326947/b326947.txt">Table of n, a(n) for n = 1..10000</a>

%e The sequence of all T_0 set-systems together with their BII numbers begins:

%e 0: {}

%e 1: {{1}}

%e 2: {{2}}

%e 3: {{1},{2}}

%e 5: {{1},{1,2}}

%e 6: {{2},{1,2}}

%e 7: {{1},{2},{1,2}}

%e 8: {{3}}

%e 9: {{1},{3}}

%e 10: {{2},{3}}

%e 11: {{1},{2},{3}}

%e 13: {{1},{1,2},{3}}

%e 14: {{2},{1,2},{3}}

%e 15: {{1},{2},{1,2},{3}}

%e 17: {{1},{1,3}}

%e 19: {{1},{2},{1,3}}

%e 20: {{1,2},{1,3}}

%e 21: {{1},{1,2},{1,3}}

%e 22: {{2},{1,2},{1,3}}

%e 23: {{1},{2},{1,2},{1,3}}

%t bpe[n_]:=Join@@Position[Reverse[IntegerDigits[n,2]],1];

%t dual[eds_]:=Table[First/@Position[eds,x],{x,Union@@eds}];

%t TZQ[sys_]:=UnsameQ@@dual[sys];

%t Select[Range[0,100],TZQ[bpe/@bpe[#]]&]

%o (Python)

%o from itertools import count, chain, islice

%o def bin_i(n): #binary indices

%o return([(i+1) for i, x in enumerate(bin(n)[2:][::-1]) if x =='1'])

%o def a_gen():

%o for n in count(0):

%o a,b,s = [bin_i(k) for k in bin_i(n)],[],set()

%o for i in {i for i in chain.from_iterable(a)}:

%o b.append([])

%o for j in range(len(a)):

%o if i in a[j]:

%o b[-1].append(j)

%o s.add(tuple(b[-1]))

%o if len(s) == len(b):

%o yield n

%o A326947_list = list(islice(a_gen(), 100)) # _John Tyler Rascoe_, Jul 25 2024

%Y T_0 set-systems are counted by A326940, with unlabeled version A326946.

%Y Cf. A059201, A316978, A319559, A319564, A326939, A326941, A326949.

%K nonn,base

%O 1,3

%A _Gus Wiseman_, Aug 08 2019