% integer expression expression[varCount: nat] : DATATYPE BEGIN inum(ival: nat) : inum? ivar(varIndex: below(varCount)) : ivar? plus(le: expression, re: expression): plus? END expression