equal
deleted
inserted
replaced
224 shows "|Func A {x}| =o |{x}|" |
224 shows "|Func A {x}| =o |{x}|" |
225 proof (rule ordIso_symmetric) |
225 proof (rule ordIso_symmetric) |
226 def f \<equiv> "\<lambda>y a. if y = x \<and> a \<in> A then x else undefined" |
226 def f \<equiv> "\<lambda>y a. if y = x \<and> a \<in> A then x else undefined" |
227 have "Func A {x} \<subseteq> f ` {x}" unfolding f_def Func_def by (force simp: fun_eq_iff) |
227 have "Func A {x} \<subseteq> f ` {x}" unfolding f_def Func_def by (force simp: fun_eq_iff) |
228 hence "bij_betw f {x} (Func A {x})" unfolding bij_betw_def inj_on_def f_def Func_def |
228 hence "bij_betw f {x} (Func A {x})" unfolding bij_betw_def inj_on_def f_def Func_def |
229 by (auto split: split_if_asm) |
229 by (auto split: if_split_asm) |
230 thus "|{x}| =o |Func A {x}|" using card_of_ordIso by blast |
230 thus "|{x}| =o |Func A {x}|" using card_of_ordIso by blast |
231 qed |
231 qed |
232 |
232 |
233 lemma cone_cexp: "cone ^c r =o cone" |
233 lemma cone_cexp: "cone ^c r =o cone" |
234 unfolding cexp_def cone_def Field_card_of by (rule Func_singleton) |
234 unfolding cexp_def cone_def Field_card_of by (rule Func_singleton) |
237 fixes A :: "'a set" |
237 fixes A :: "'a set" |
238 shows "|Func (UNIV :: bool set) A| =o |A \<times> A|" |
238 shows "|Func (UNIV :: bool set) A| =o |A \<times> A|" |
239 proof (rule ordIso_symmetric) |
239 proof (rule ordIso_symmetric) |
240 def f \<equiv> "\<lambda>(x::'a,y) b. if A = {} then undefined else if b then x else y" |
240 def f \<equiv> "\<lambda>(x::'a,y) b. if A = {} then undefined else if b then x else y" |
241 have "Func (UNIV :: bool set) A \<subseteq> f ` (A \<times> A)" unfolding f_def Func_def |
241 have "Func (UNIV :: bool set) A \<subseteq> f ` (A \<times> A)" unfolding f_def Func_def |
242 by (auto simp: image_iff fun_eq_iff split: option.splits split_if_asm) blast |
242 by (auto simp: image_iff fun_eq_iff split: option.splits if_split_asm) blast |
243 hence "bij_betw f (A \<times> A) (Func (UNIV :: bool set) A)" |
243 hence "bij_betw f (A \<times> A) (Func (UNIV :: bool set) A)" |
244 unfolding bij_betw_def inj_on_def f_def Func_def by (auto simp: fun_eq_iff) |
244 unfolding bij_betw_def inj_on_def f_def Func_def by (auto simp: fun_eq_iff) |
245 thus "|A \<times> A| =o |Func (UNIV :: bool set) A|" using card_of_ordIso by blast |
245 thus "|A \<times> A| =o |Func (UNIV :: bool set) A|" using card_of_ordIso by blast |
246 qed |
246 qed |
247 |
247 |