Checking Predicate Logic Using Coq - Beginner Syntax

I am trying to prove the following in Coq:

Target (forall x: X, P (x) / \ Q (x)) → ((for all x: X, P (x)) / \ (for all x: X, Q (x))).

Can anybody help? I am not sure to split, make an assumption, etc.

I apologize for being a complete noob

+3
source share
2 answers
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.
+4
source

Just a few tips: I recommend you use an intro to name your hypothesis, split it to separate goals, and accurate to provide evidence (which may include proj1 or proj2).

+3
source

Source: https://habr.com/ru/post/1744021/


All Articles