public static void AssertEventNameValidity(Name name)
{
if (name.NumberOfTerms != 5)
throw new Exception("A event name must contain 5 terms");
if(!name.IsGrounded)
throw new Exception("A event name cannot contain variables");
if (name.GetNTerm(0) != EVT_NAME)
throw new Exception("The first term of an event name must be \"Event\"");
if (name.GetNTerm(1).IsComposed)
throw new Exception("The second term of an event name cannot be a composed name.");
if (name.GetNTerm(2).IsComposed)
throw new Exception("The third term of an event name cannot be a composed name.");
if (name.GetNTerm(4).IsComposed)
throw new Exception("The fifth term of an event name cannot be a composed name.");
}