src/HOL/Transitive_Closure.thy
changeset 69276 3d954183b707
parent 68618 3db8520941a4
child 69593 3dda49e08b9d
equal deleted inserted replaced
69275:9bbd5497befd 69276:3d954183b707
  1062 qed
  1062 qed
  1063 
  1063 
  1064 lemma relpow_finite_bounded:
  1064 lemma relpow_finite_bounded:
  1065   fixes R :: "('a \<times> 'a) set"
  1065   fixes R :: "('a \<times> 'a) set"
  1066   assumes "finite R"
  1066   assumes "finite R"
  1067   shows "R^^k \<subseteq> (UN n:{n. n \<le> card R}. R^^n)"
  1067   shows "R^^k \<subseteq> (\<Union>n\<in>{n. n \<le> card R}. R^^n)"
  1068   apply (cases k, force)
  1068   apply (cases k, force)
  1069   apply (use relpow_finite_bounded1[OF assms, of k] in auto)
  1069   apply (use relpow_finite_bounded1[OF assms, of k] in auto)
  1070   done
  1070   done
  1071 
  1071 
  1072 lemma rtrancl_finite_eq_relpow: "finite R \<Longrightarrow> R\<^sup>* = (\<Union>n\<in>{n. n \<le> card R}. R^^n)"
  1072 lemma rtrancl_finite_eq_relpow: "finite R \<Longrightarrow> R\<^sup>* = (\<Union>n\<in>{n. n \<le> card R}. R^^n)"