Skip to main content
2 of 3
saved 2 bytes
Arnauld
  • 197.7k
  • 20
  • 179
  • 650

#JavaScript (ES6),  79  77 bytes

Takes input as (B)(A), where \$B\$ is a list of sets and \$A\$ is a list of lists. Returns a falsy value (false or undefined) if \$A\preceq B\$, or true otherwise.

B=>g=([a,...A],u)=>a&&B.every((b,i)=>u>>i&1|a.some(v=>!b.has(v))|g(A,u|1<<i))

Try it online!

Arnauld
  • 197.7k
  • 20
  • 179
  • 650