Доказательство логики предиката с использованием синтаксиса Coq - Beginner - PullRequest
3 голосов
/ 04 мая 2010

Я пытаюсь доказать следующее в Coq:

Цель (для x: X, P (x) / \ Q (x)) -> ((для x: X, P (x)) / \ (для x: X, Q (x)))

Может кто-нибудь помочь, пожалуйста? Я не уверен, стоит ли делить, делать предположения и т. Д.

Мои извинения за то, что я полный нуб

Ответы [ 2 ]

4 голосов
/ 16 июня 2010
Goal forall (X : Type) (P Q : X->Prop), 
    (forall x : X, P x /\ Q x) -> (forall x : X, P x) /\ (forall x : X, Q x).
Proof.
  intros X P Q H; split; intro x; apply (H x).
Qed.
3 голосов
/ 14 мая 2010

Просто несколько подсказок: Я рекомендую вам использовать вступления, чтобы назвать свою гипотезу, разделить, чтобы отделить цели, и точно предоставить условия доказательства (которые могут включать proj1 или proj2).

...