Theorem implies_to_or_to_de_morgan_not_and_not :
implies_to_or -> de_morgan_not_and_not.
Proof.
unfold implies_to_or, de_morgan_not_and_not, not.
intros.
Admitted.
1 subgoal
H : forall P Q : Prop, (P -> Q) -> (P -> False) \/ Q
P, Q : Prop
H0 : (P -> False) /\ (Q -> False) -> False
______________________________________(1/1)
P \/ Q
Это из пятизвездочного упражнения в конце главы SF Logic.
Я уже слишком много часов бьюсь над этой конкретной проблемой, поэтому мне действительно нужно спросить об этом. Я уже доказал excluded_middle <-> peirce
, peirce <-> double_negation_elimination
, double_negation_elimination <-> de_morgan_not_and_not
, implies_to_or <-> excluded_middle
, de_morgan_not_and_not -> implies_to_or
, поэтому у меня уже есть больше, чем все пройденные пути. Для меня это только делает эту проблему еще более запутанной, и я не понимаю, почему я не могу даже получить это доказательство с земли.
Почему-то здесь не так много работы.
Одним из вариантов было бы сделать exfalso
и попытаться сделать что-то оттуда, но это отбросило бы цель P \/ Q
, и я подозреваю, что это было бы слишком большой потерей информации, даже если бы я мог сделать что-то вроде прогресса.
Еще один вариант - попытаться уничтожить H
, но в этом случае возникает проблема с попыткой доказать P -> Q
без чего-либо пригодного для использования в помещении.
У меня были проблемы с упражнениями на прошлой неделе, и я сумел преодолеть их с усилием, но я не достаточно опытен, чтобы просто позволить этой вещи лежать, не спрашивая совета. Что именно я здесь не вижу?
Очевидно, я не хочу конвертировать de_morgan_not_and_not
в другие
легче решить классический закон (например, исключенную середину), поскольку это было бы помимо точки.