%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