src/HOL/ex/Set_Theory.thy
changeset 46752 e9e7209eb375
parent 45966 03ce2b2a29a2
child 58889 5b7a9633cfa8
equal deleted inserted replaced
46751:6b94c39b7366 46752:e9e7209eb375
   126 proof -
   126 proof -
   127   let ?N = "%a. card(R `` {a} - {a})"
   127   let ?N = "%a. card(R `` {a} - {a})"
   128   let ?n = "card A"
   128   let ?n = "card A"
   129   have "finite A" using `card A \<ge> 2` by(auto intro:ccontr)
   129   have "finite A" using `card A \<ge> 2` by(auto intro:ccontr)
   130   have 0: "R `` A <= A" using `sym R` `Domain R <= A`
   130   have 0: "R `` A <= A" using `sym R` `Domain R <= A`
   131     unfolding Domain_def sym_def by blast
   131     unfolding Domain_unfold sym_def by blast
   132   have h: "ALL a:A. R `` {a} <= A" using 0 by blast
   132   have h: "ALL a:A. R `` {a} <= A" using 0 by blast
   133   hence 1: "ALL a:A. finite(R `` {a})" using `finite A`
   133   hence 1: "ALL a:A. finite(R `` {a})" using `finite A`
   134     by(blast intro: finite_subset)
   134     by(blast intro: finite_subset)
   135   have sub: "?N ` A <= {0..<?n}"
   135   have sub: "?N ` A <= {0..<?n}"
   136   proof -
   136   proof -