Library hw05_predicates
Require Import Classical.
Require Import Classical_Prop.
Section Homework5_Problems.
Variables A : Set.
Variables something: A.
Variables P Q : A->Prop.
Lemma ex_dist_or_for : (exists x:A, P x \/ Q x) -> (ex P) \/ (ex Q).
Proof.
Admitted.
Lemma demorgan_forall : (forall x : A, P x) -> ~ (exists y : A, ~P y).
Proof.
Admitted.
Lemma distribute_forall:
(forall (x:A), (P x) /\ (Q x)) <-> (forall (x:A),(P x)) /\ (forall (x:A), (Q x)).
Proof.
Admitted.
Lemma allIMPL_exIMPL: ((forall (x:A), (P x)) -> (forall (x:A), (Q x))) -> (exists (x:A), (P x) -> (Q x)).
Proof.
Admitted.
Lemma sample5_1:
(exists (y:A), (P y)) \/ (exists (y:A), (Q y)) <->
exists (x:A), (P x) \/ (Q x).
Proof.
Admitted.
(exists (y:A), (P y)) \/ (exists (y:A), (Q y)) <->
exists (x:A), (P x) \/ (Q x).
Proof.
Admitted.
H5.Q5.Lemma2: Some variant of De Morgans law
Lemma sample5_2: (exists (x:A), ~~(P x)) <-> ~(forall (y:A), ~(P y)).
Proof.
Admitted.
Proof.
Admitted.
H5.Q5.Lemma3: If (P x) always implies (Q x), then the existence
of some (P x0) leads to existence of some (Q x1)
Lemma sample5_3: (forall (x:A), P x -> Q x) -> ((exists (x:A), (P x)) -> exists (x:A), (Q x)).
Proof.
Admitted.
Proof.
Admitted.
H5.Q5.Lemma4: If P being true sometimes implies that also Q is true sometimes,
then there is some x0 for which (P x) implies (Q x) Note: This result would not be true, if set A is empty. It is the reason why
element <tt>something</tt> was introduced.
Lemma sample5_4: ((exists (x:A), (P x)) -> (exists (x:A), (Q x))) -> (exists (x:A), ((P x) -> (Q x))).
Proof.
Admitted.
H5.Q5.Lemma5: If P(x) always implies Q(x), and P(x) is always true, then Q(x) is always true.
Lemma sample5_5: (forall (x:A), ((P x) -> (Q x))) -> ((forall (x:A), (P x)) -> forall (x:A), (Q x)).
Proof.
Admitted.
End Homework5_Problems.
Proof.
Admitted.
End Homework5_Problems.