self reducibility