The C# language specification defines the empty-statement grammar production, which allows me to do something like this:
static void Main(string[] a
This is an assumption but I would assume it goes to the base grammar for the compiler. Relating it to set theory the "empty set" is inside every single set. That the ; really is to define a set of lexical operations which always must define the ; which also would accept the base case which is empty statement.