public override CPDLPos GetCPDL()
        {
            PDLPredecessor posUnary    = this;
            int            repetitions = 1;

            while (posUnary.pos is PDLPredecessor)
            {
                posUnary     = posUnary.pos as PDLPredecessor;
                repetitions += 1;
            }
            CPDLInteger repetitionsChoice = new CPDLInteger(repetitions);
            CPDLPos     pos = posUnary.pos.GetCPDL();

            return(new CPDLPredOrSuccPos(repetitionsChoice, pos));
        }
        public override CPDLSet GetCPDL()
        {
            CPDLPos pos = this.pos.GetCPDL();

            return(new CPDLPosComparisonSet(pos));
        }