'step1ab() gets rid of plurals and -ed or -ing. e.g.
caresses  ->  caress
ponies    ->  poni
ties      ->  ti
caress    ->  caress
cats      ->  cat
feed      ->  feed
agreed    ->  agree
disabled  ->  disable
matting   ->  mat
mating    ->  mate
meeting   ->  meet
milling   ->  mill
messing   ->  mess
meetings  ->  meet'

def step1ab(self):

    if (self.b[self.k] == 's'):
        if self.ends('sses'):
            self.k = (self.k - 2)
        elif self.ends('ies'):
            self.setto('i')
        elif (self.b[(self.k - 1)] != 's'):
            self.k = (self.k - 1)
    if self.ends('eed'):
        if (self.m() > 0):
            self.k = (self.k - 1)
    elif ((self.ends('ed') or self.ends('ing')) and self.vowelinstem()):
        self.k = self.j
        if self.ends('at'):
            self.setto('ate')
        elif self.ends('bl'):
            self.setto('ble')
        elif self.ends('iz'):
            self.setto('ize')
        elif self.doublec(self.k):
            self.k = (self.k - 1)
            ch = self.b[self.k]
            if ((ch == 'l') or (ch == 's') or (ch == 'z')):
                self.k = (self.k + 1)
        elif ((self.m() == 1) and self.cvc(self.k)):
            self.setto('e')
