src/ZF/Constructible/AC_in_L.thy
changeset 21404 eb85850d3eb7
parent 21233 5a5c8ea5f66a
child 32960 69916a850301
--- a/src/ZF/Constructible/AC_in_L.thy	Fri Nov 17 02:19:55 2006 +0100
+++ b/src/ZF/Constructible/AC_in_L.thy	Fri Nov 17 02:20:03 2006 +0100
@@ -223,18 +223,20 @@
 "DPow(A)"}, we take the minimum such ordinal.*}
 
 definition
-  env_form_r :: "[i,i,i]=>i"
+  env_form_r :: "[i,i,i]=>i" where
     --{*wellordering on (environment, formula) pairs*}
    "env_form_r(f,r,A) ==
       rmult(list(A), rlist(A, r),
 	    formula, measure(formula, enum(f)))"
 
-  env_form_map :: "[i,i,i,i]=>i"
+definition
+  env_form_map :: "[i,i,i,i]=>i" where
     --{*map from (environment, formula) pairs to ordinals*}
    "env_form_map(f,r,A,z)
       == ordermap(list(A) * formula, env_form_r(f,r,A)) ` z"
 
-  DPow_ord :: "[i,i,i,i,i]=>o"
+definition
+  DPow_ord :: "[i,i,i,i,i]=>o" where
     --{*predicate that holds if @{term k} is a valid index for @{term X}*}
    "DPow_ord(f,r,A,X,k) ==
            \<exists>env \<in> list(A). \<exists>p \<in> formula.
@@ -242,11 +244,13 @@
              X = {x\<in>A. sats(A, p, Cons(x,env))} &
              env_form_map(f,r,A,<env,p>) = k"
 
-  DPow_least :: "[i,i,i,i]=>i"
+definition
+  DPow_least :: "[i,i,i,i]=>i" where
     --{*function yielding the smallest index for @{term X}*}
    "DPow_least(f,r,A,X) == \<mu> k. DPow_ord(f,r,A,X,k)"
 
-  DPow_r :: "[i,i,i]=>i"
+definition
+  DPow_r :: "[i,i,i]=>i" where
     --{*a wellordering on @{term "DPow(A)"}*}
    "DPow_r(f,r,A) == measure(DPow(A), DPow_least(f,r,A))"
 
@@ -318,7 +322,7 @@
 of wellorderings for smaller ordinals.*}
 
 definition
-  rlimit :: "[i,i=>i]=>i"
+  rlimit :: "[i,i=>i]=>i" where
   --{*Expresses the wellordering at limit ordinals.  The conditional
       lets us remove the premise @{term "Limit(i)"} from some theorems.*}
     "rlimit(i,r) ==
@@ -329,7 +333,8 @@
 		  (lrank(x') = lrank(x) & <x',x> \<in> r(succ(lrank(x)))))}
        else 0"
 
-  Lset_new :: "i=>i"
+definition
+  Lset_new :: "i=>i" where
   --{*This constant denotes the set of elements introduced at level
       @{term "succ(i)"}*}
     "Lset_new(i) == {x \<in> Lset(succ(i)). lrank(x) = i}"
@@ -401,7 +406,7 @@
 subsection{*Transfinite Definition of the Wellordering on @{term "L"}*}
 
 definition
- L_r :: "[i, i] => i"
+  L_r :: "[i, i] => i" where
   "L_r(f) == %i.
       transrec3(i, 0, \<lambda>x r. DPow_r(f, r, Lset(x)), 
                 \<lambda>x r. rlimit(x, \<lambda>y. r`y))"