theory Exercises4 = Main:

text {*
  Proof (in single steps:)
*}

lemma "(\<forall>x. \<forall>y. R x y) = (\<forall>y. \<forall>x. R x y)" 
  oops

lemma "((\<exists>x. P x) \<or> (\<exists>x. Q x)) = (\<exists>x. (P x \<or> Q x))"
  oops

lemma "((\<forall>x. P x) \<and> (\<forall>x. Q x)) = (\<forall>x. (P x \<and> Q x))" 
  oops

lemma "(\<not>(\<forall>x. P x)) = (\<exists>x. \<not> P x)" 
  oops


text {*
  Prove or disprove:

  If every poor person has a rich mother then there is a rich person
  with a rich grandmother.
*}

theorem 
  "\<forall>person. \<not>rich person \<longrightarrow> rich (mother_of person) \<Longrightarrow>  
  \<exists>person. rich (mother_of (mother_of person)) \<and> rich person"
  oops

end
