src/ZF/CardinalArith.thy
changeset 61798 27f3c10b0b50
parent 61401 4d9c716e7786
child 63040 eb4ddd18d635
equal deleted inserted replaced
61797:458b4e3720ab 61798:27f3c10b0b50
    26                   lam <x,y>:K*K. <x \<union> y, x, y>,
    26                   lam <x,y>:K*K. <x \<union> y, x, y>,
    27                   rmult(K,Memrel(K), K*K, rmult(K,Memrel(K), K,Memrel(K))))"
    27                   rmult(K,Memrel(K), K*K, rmult(K,Memrel(K), K,Memrel(K))))"
    28 
    28 
    29 definition
    29 definition
    30   jump_cardinal :: "i=>i"  where
    30   jump_cardinal :: "i=>i"  where
    31     --\<open>This def is more complex than Kunen's but it more easily proved to
    31     \<comment>\<open>This def is more complex than Kunen's but it more easily proved to
    32         be a cardinal\<close>
    32         be a cardinal\<close>
    33     "jump_cardinal(K) ==
    33     "jump_cardinal(K) ==
    34          \<Union>X\<in>Pow(K). {z. r \<in> Pow(K*K), well_ord(X,r) & z = ordertype(X,r)}"
    34          \<Union>X\<in>Pow(K). {z. r \<in> Pow(K*K), well_ord(X,r) & z = ordertype(X,r)}"
    35 
    35 
    36 definition
    36 definition
    37   csucc         :: "i=>i"  where
    37   csucc         :: "i=>i"  where
    38     --\<open>needed because @{term "jump_cardinal(K)"} might not be the successor
    38     \<comment>\<open>needed because @{term "jump_cardinal(K)"} might not be the successor
    39         of @{term K}\<close>
    39         of @{term K}\<close>
    40     "csucc(K) == \<mu> L. Card(L) & K<L"
    40     "csucc(K) == \<mu> L. Card(L) & K<L"
    41 
    41 
    42 
    42 
    43 lemma Card_Union [simp,intro,TC]:
    43 lemma Card_Union [simp,intro,TC]:
   572   also have "... \<approx> |succ(z)| \<times> |succ(z)|" using oz
   572   also have "... \<approx> |succ(z)| \<times> |succ(z)|" using oz
   573     by (blast intro: prod_eqpoll_cong Ord_succ Ord_cardinal_eqpoll eqpoll_sym)
   573     by (blast intro: prod_eqpoll_cong Ord_succ Ord_cardinal_eqpoll eqpoll_sym)
   574   finally show "ordermap(K \<times> K, csquare_rel(K)) ` \<langle>x,y\<rangle> \<lesssim> |succ(z)| \<times> |succ(z)|" .
   574   finally show "ordermap(K \<times> K, csquare_rel(K)) ` \<langle>x,y\<rangle> \<lesssim> |succ(z)| \<times> |succ(z)|" .
   575 qed
   575 qed
   576 
   576 
   577 text\<open>Kunen: "... so the order type is @{text"\<le>"} K"\<close>
   577 text\<open>Kunen: "... so the order type is \<open>\<le>\<close> K"\<close>
   578 lemma ordertype_csquare_le:
   578 lemma ordertype_csquare_le:
   579   assumes IK: "InfCard(K)" and eq: "\<And>y. y\<in>K \<Longrightarrow> InfCard(y) \<Longrightarrow> y \<otimes> y = y"
   579   assumes IK: "InfCard(K)" and eq: "\<And>y. y\<in>K \<Longrightarrow> InfCard(y) \<Longrightarrow> y \<otimes> y = y"
   580   shows "ordertype(K*K, csquare_rel(K)) \<le> K"
   580   shows "ordertype(K*K, csquare_rel(K)) \<le> K"
   581 proof -
   581 proof -
   582   have  CK: "Card(K)" using IK by (rule InfCard_is_Card)
   582   have  CK: "Card(K)" using IK by (rule InfCard_is_Card)