В Изабель Холь у меня есть предикат с двумя числами, подобными этому:
definition f :: "nat ⇒ nat ⇒ bool"
where
...
Я могу доказать, что этот предикат морально является функцией:
lemma f_function:
fixes x :: nat
shows "∃! y . f x y""
...
Интуитивно, это должно мне будет достаточно построить функцию f' :: nat ⇒ nat
, которая доказуемо эквивалентна f'
, то есть:
lemma f'_correct:
"f x y = (f' x = y)"
Но как мне это сделать?
definition f' :: "nat ⇒ nat"
where
"f' x ≡ ?"
Что мне делать? поставить вопросительный знак?