%I #28 Feb 19 2021 20:32:59
%S 0,1,3,5,8,11,16
%N Minimum size of a partial order that contains all partial orders of size n.
%C a(n) is the minimum number of elements in a poset P such that every poset of size n is isomorphic to a subset of P, where the subset inherits the order from P.
%C Elementary bounds are a(n) >= 2n-1 because it must contain a chain and an antichain, and a(n) <= 2^n-1 because every partial order embeds into the powerset partial order on n elements. It is shown in the MathOverflow link that a(n) has no polynomial upper bound. This is in particular derived from binomial(a(n),n) >= A000112(n).
%C a(4) = 8 verified using a computer-assisted proof with a SAT solver.
%C a(5) = 11 proven on MathOverflow.
%C a(6) = 16 and 16 <= a(7) <= 25 proven on MathOverflow. - _Jukka Kohonen_, Jan 15 2021
%H Joel David Hamkins and Fedor Petrov, <a href="https://mathoverflow.net/questions/25874/what-is-the-minimal-size-of-a-partial-order-that-is-universal-for-all-partial-or">What is the minimal size of a partial order that is universal for all partial orders of size n?</a>, MathOverflow.
%H Jukka Kohonen, <a href="https://mathoverflow.net/a/380314/32499">What is the minimum size of a partial order containing all partial orders of size 5?</a> (proofs of a(5)=11, a(6)=16 and 16 <= a(7) <= 25), MathOverflow.
%H Caleb Stanford, <a href="https://github.com/cdstanford/curiosities/blob/master/universal-poset/universal-poset.als">Alloy program to verify a(n) for small n</a>, GitHub.
%e a(2) = 3 because there are 2 nonisomorphic posets on two elements, and both embed into the poset of three elements {a, b, c} with ordering a < b (and other pairs are incomparable).
%e a(3) = 5 because all posets on three elements can be embedded into {a, b, c, d, e} with ordering a < d, b < c < d, and b < e.
%o (Sage)
%o # Find an u-poset that contains all n-posets as induced posets.
%o def find_universal_poset(n,u):
%o PP = list(Posets(n))
%o for U in Posets(u):
%o ok = True
%o for P in PP:
%o if not U.has_isomorphic_subposet(P):
%o ok = False
%o break
%o if ok:
%o return U
%o return None
%Y Cf. A000112, A001035, A004401, A097911.
%K nonn,more
%O 0,3
%A _Caleb Stanford_, Jan 04 2021
%E a(6) from _Jukka Kohonen_, Jan 15 2021