Intuitively: unordered container where all the values are unique, just like C++ std::set.
More precisely for set theory formalization of mathematics:
  • everything is a set, including the elements of sets
  • string manipulation wise:
    • {} is an empty set. The natural number 0 is defined as {} as well.
    • {{}} is a set that contains an empty set
    • {{}, {{}}} is a set that contains two sets: {} and {{}}
    • {{}, {}} is not well formed, because it contains {} twice
The size of a set.
For finite sizes, the definition is simple, and the intuitive name "size" matches well.
But for infinity, things are messier, e.g. the size of the real numbers is strictly larger than the size of the integers as shown by Cantor's diagonal argument, which is kind of what justifies a fancier word "cardinality" to distinguish it from the more normal word "size".
The key idea is to compare set sizes with bijections.