Вот в этой статье https://pdfs.semanticscholar.org/3860/e0242db9b618def3425ab59724711c0345c5.pdf описан обобщённый алгоритм поиска кратчайших путей в графе.
Основная мысль в том, что веса, ассоциированные с дугами графа, и операции над этими весами ⊕ (обобщённая сумма) и ⊗ (обобщённое произведение) должны удовлетворять некоторым алгебраическим законам, и в этом случае алгоритм работает правильно. В частности, веса и операции над ними должны образовывать полукольцо.
Вопрос: зачем нужна левая дистрибутивность суммы над произведением? Иными словами, зачем нужен закон:
a ⊗ (b ⊕ c) = (a ⊗ b) ⊕ (a ⊗ c)
Можно ли его убрать, что сломается?