explain the property of op that should guarantee left-fold and right-fold