Теорема, которая компилируется, ещё не теорема с доказательством. sorry закрывает любую цель, и Lean принимает файл с предупреждением. В зависимости, собранной где-то ещё, этого предупреждения перед глазами нет.
Проверка - #print axioms. Она транзитивно проходит по всем константам, которые использует теорема, и перечисляет аксиомы, до которых они доходят.
theorem small : 2 + 2 = 4 := rfl
theorem big : 2 ^ 64 % 7 = 2 := by native_decide
#print axioms small
#print axioms big
Первая сообщает, что аксиом нет. Вторая перечисляет Lean.ofReduceBool. native_decide выполняет разрешающую процедуру как скомпилированный код, и ядро принимает результат на веру. sorry где угодно ниже проявляется как sorryAx.
Обычная тройка - propext, Classical.choice и Quot.sound. Всё прочее в списке значит, что часть результата принята без проверки ядром.