Example #1
0
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 []
Example #2
0
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 []