def validateLeftReduction(fds, leftSides): newfds = fds[:] for i, ls in enumerate(leftSides): newfds[i] = (ls, fds[i][1]) validLeftReduction = True for i, fd in enumerate(fds): if DBnormalizer.closure(fd[0], newfds) != DBnormalizer.closure(fd[0], fds) or DBnormalizer.closure(leftSides[i], newfds) != DBnormalizer.closure(leftSides[i], fds) or not leftSides[i] <= fd[0]: validLeftReduction = False if validLeftReduction: if newfds != DBnormalizer.leftReduction(newfds): validLeftReduction = False if validLeftReduction: return newfds else: return []