A language whose denoted programs form a group under program concatenation