src/HOL/Library/Random.thy
changeset 29752 9e94b7078fa5
parent 29743 bebe5a254ba6
child 29760 0ab754d13ccd
     1.1 --- a/src/HOL/Library/Random.thy	Fri Feb 06 09:05:19 2009 +0100
     1.2 +++ b/src/HOL/Library/Random.thy	Fri Feb 06 09:05:19 2009 +0100
     1.3 @@ -1,5 +1,4 @@
     1.4 -(*  Author:     Florian Haftmann, TU Muenchen
     1.5 -*)
     1.6 +(* Author: Florian Haftmann, TU Muenchen *)
     1.7  
     1.8  header {* A HOL random engine *}
     1.9  
    1.10 @@ -77,7 +76,7 @@
    1.11    in range_aux (k - 1) (v + l * 2147483561) s')"
    1.12  by pat_completeness auto
    1.13  termination
    1.14 -  by (relation "measure (nat_of_index o fst)")
    1.15 +  by (relation "measure (Code_Index.nat_of o fst)")
    1.16      (auto simp add: index)
    1.17  
    1.18  definition
    1.19 @@ -103,19 +102,19 @@
    1.20    select :: "'a list \<Rightarrow> seed \<Rightarrow> 'a \<times> seed"
    1.21  where
    1.22    "select xs = (do
    1.23 -     k \<leftarrow> range (index_of_nat (length xs));
    1.24 -     return (nth xs (nat_of_index k))
    1.25 +     k \<leftarrow> range (Code_Index.of_nat (length xs));
    1.26 +     return (nth xs (Code_Index.nat_of k))
    1.27     done)"
    1.28  
    1.29  lemma select:
    1.30    assumes "xs \<noteq> []"
    1.31    shows "fst (select xs s) \<in> set xs"
    1.32  proof -
    1.33 -  from assms have "index_of_nat (length xs) > 0" by simp
    1.34 +  from assms have "Code_Index.of_nat (length xs) > 0" by simp
    1.35    with range have
    1.36 -    "fst (range (index_of_nat (length xs)) s) < index_of_nat (length xs)" by best
    1.37 +    "fst (range (Code_Index.of_nat (length xs)) s) < Code_Index.of_nat (length xs)" by best
    1.38    then have
    1.39 -    "nat_of_index (fst (range (index_of_nat (length xs)) s)) < length xs" by simp
    1.40 +    "Code_Index.nat_of (fst (range (Code_Index.of_nat (length xs)) s)) < length xs" by simp
    1.41    then show ?thesis
    1.42      by (auto simp add: monad_collapse select_def)
    1.43  qed