$I1 = Interval("($a,$b]");
(you only need the brackets around the variables inside BEGIN_PGML/END_PGML). Second, in the PGML section, you have used lower-case L's instead of upper case i's. So the variable is not the same one that you set earlier. In fact, the variable is not defined, and so PGML inserts nothing at those locations.
There are two issues: First, you definition for the first interval should be