src/HOL/Quotient.thy
changeset 39956 132b79985660
parent 39946 78faa9b31202
child 40031 2671cce4d25d
equal deleted inserted replaced
39955:cb9cac7eba29 39956:132b79985660
   317   by (auto simp add: in_respects)
   317   by (auto simp add: in_respects)
   318 
   318 
   319 lemma ball_reg_right:
   319 lemma ball_reg_right:
   320   assumes a: "\<And>x. R x \<Longrightarrow> P x \<longrightarrow> Q x"
   320   assumes a: "\<And>x. R x \<Longrightarrow> P x \<longrightarrow> Q x"
   321   shows "All P \<longrightarrow> Ball R Q"
   321   shows "All P \<longrightarrow> Ball R Q"
   322   using a by (metis COMBC_def Collect_def Collect_mem_eq)
   322   using a by (metis Collect_def Collect_mem_eq)
   323 
   323 
   324 lemma bex_reg_left:
   324 lemma bex_reg_left:
   325   assumes a: "\<And>x. R x \<Longrightarrow> Q x \<longrightarrow> P x"
   325   assumes a: "\<And>x. R x \<Longrightarrow> Q x \<longrightarrow> P x"
   326   shows "Bex R Q \<longrightarrow> Ex P"
   326   shows "Bex R Q \<longrightarrow> Ex P"
   327   using a by (metis COMBC_def Collect_def Collect_mem_eq)
   327   using a by (metis Collect_def Collect_mem_eq)
   328 
   328 
   329 lemma ball_reg_left:
   329 lemma ball_reg_left:
   330   assumes a: "equivp R"
   330   assumes a: "equivp R"
   331   shows "(\<And>x. (Q x \<longrightarrow> P x)) \<Longrightarrow> Ball (Respects R) Q \<longrightarrow> All P"
   331   shows "(\<And>x. (Q x \<longrightarrow> P x)) \<Longrightarrow> Ball (Respects R) Q \<longrightarrow> All P"
   332   using a by (metis equivp_reflp in_respects)
   332   using a by (metis equivp_reflp in_respects)
   379 
   379 
   380 lemma ball_reg:
   380 lemma ball_reg:
   381   assumes a: "!x :: 'a. (R x --> P x --> Q x)"
   381   assumes a: "!x :: 'a. (R x --> P x --> Q x)"
   382   and     b: "Ball R P"
   382   and     b: "Ball R P"
   383   shows "Ball R Q"
   383   shows "Ball R Q"
   384   using a b by (metis COMBC_def Collect_def Collect_mem_eq)
   384   using a b by (metis Collect_def Collect_mem_eq)
   385 
   385 
   386 lemma bex_reg:
   386 lemma bex_reg:
   387   assumes a: "!x :: 'a. (R x --> P x --> Q x)"
   387   assumes a: "!x :: 'a. (R x --> P x --> Q x)"
   388   and     b: "Bex R P"
   388   and     b: "Bex R P"
   389   shows "Bex R Q"
   389   shows "Bex R Q"
   390   using a b by (metis COMBC_def Collect_def Collect_mem_eq)
   390   using a b by (metis Collect_def Collect_mem_eq)
   391 
   391 
   392 
   392 
   393 lemma ball_all_comm:
   393 lemma ball_all_comm:
   394   assumes "\<And>y. (\<forall>x\<in>P. A x y) \<longrightarrow> (\<forall>x. B x y)"
   394   assumes "\<And>y. (\<forall>x\<in>P. A x y) \<longrightarrow> (\<forall>x. B x y)"
   395   shows "(\<forall>x\<in>P. \<forall>y. A x y) \<longrightarrow> (\<forall>x. \<forall>y. B x y)"
   395   shows "(\<forall>x\<in>P. \<forall>y. A x y) \<longrightarrow> (\<forall>x. \<forall>y. B x y)"