Я только начинаю с Изабель/HOL и пытается доказать простую инструкцию HOL «P (t) ⟶ (∃x. P (x))» с правилами естественной дедукции. Я начал с теорией файлом, содержащим только теоремой:Учитывая теорему «P (t) ⟶ (∃x. P (x))» с логической импликацией объекта, почему доказательная цель «P (t) ⟹ (∃x. P (x))» задана с мета -логическое значение?
theory simple imports Main
begin
lemma T: shows "P(t) ⟶ (∃x . P(x))"
proof
(* x *)
qed
end
В положении, обозначенной х в комментариях, текущая цель уже «Р (т) ⟹ (. ∃x Р (х))», т.е. логическая импликация уже упрощена до мета-логической импликации.
Via проб и ошибок, я пришел к следующему доказательству:
proof
assume "P(t)" then
have "∃ x . P(x)" by (rule exI) then
have "P(t) ⟶ (∃x . P(x))" by (rule impI)
then show "P(t) ⟹ (∃x . P(x))" by (rule impE)
qed
который выглядит как-то странным: я представляю импликации, просто устранить ее в следующем шаге.
Мои вопросы сейчас:
- Где переписывание моей цели прийти и где я могу найти больше об этом?
- Как я могу упростить доказательство (без обхода ND с помощью авто)?
Большое спасибо - кстати, у вас есть дублирование '' 'then'''. –