Language-independent Language independent arithmetic Language independent data types Language-agnostic Language-independent specification