src/ZF/Univ.thy
changeset 435 ca5356bd315a
parent 124 858ab9a9b047
child 490 e6f0214ddac3
equal deleted inserted replaced
434:89d45187f04d 435:ca5356bd315a
     8 Standard notation for Vset(i) is V(i), but users might want V for a variable
     8 Standard notation for Vset(i) is V(i), but users might want V for a variable
     9 *)
     9 *)
    10 
    10 
    11 Univ = Arith + Sum + "mono" +
    11 Univ = Arith + Sum + "mono" +
    12 consts
    12 consts
    13     Limit       ::      "i=>o"
    13     Vfrom       :: "[i,i]=>i"
    14     Vfrom       ::      "[i,i]=>i"
    14     Vset        :: "i=>i"
    15     Vset        ::      "i=>i"
    15     Vrec        :: "[i, [i,i]=>i] =>i"
    16     Vrec        ::      "[i, [i,i]=>i] =>i"
    16     univ        :: "i=>i"
    17     univ        ::      "i=>i"
       
    18 
    17 
    19 translations
    18 translations
    20     "Vset(x)"   == 	"Vfrom(0,x)"
    19     "Vset(x)"   == 	"Vfrom(0,x)"
    21 
    20 
    22 rules
    21 rules
    23     Limit_def   "Limit(i) == Ord(i) & 0<i & (ALL y. y<i --> succ(y)<i)"
       
    24 
       
    25     Vfrom_def   "Vfrom(A,i) == transrec(i, %x f. A Un (UN y:x. Pow(f`y)))"
    22     Vfrom_def   "Vfrom(A,i) == transrec(i, %x f. A Un (UN y:x. Pow(f`y)))"
    26 
    23 
    27     Vrec_def
    24     Vrec_def
    28    	"Vrec(a,H) == transrec(rank(a), %x g. lam z: Vset(succ(x)).      \
    25    	"Vrec(a,H) == transrec(rank(a), %x g. lam z: Vset(succ(x)).      \
    29 \                             H(z, lam w:Vset(x). g`rank(w)`w)) ` a"
    26 \                             H(z, lam w:Vset(x). g`rank(w)`w)) ` a"