Читал код борроу-чекера rustc'шного. Подверждаю, что
@MikailBag все верно говорит. С выводом типов, кстати та же история. Там нет какого-то маленького набора постулатов, из которых все выводится. Растовые типы (как и борроучекер) - это огромный гигантский невиданных размеров список всяких спешл-кейсов, из которых и состоит весь их код. Любая попытка это формализовать будет не меньше собственно реализации