src/ZF/CardinalArith.thy
author lcp
Tue, 12 Jul 1994 18:05:03 +0200
changeset 467 92868dab2939
parent 437 435875e4b21d
child 484 70b789956bd3
permissions -rw-r--r--
new cardinal arithmetic developments
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
437
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
     1
(*  Title: 	ZF/CardinalArith.thy
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
     2
    ID:         $Id$
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
     3
    Author: 	Lawrence C Paulson, Cambridge University Computer Laboratory
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
     4
    Copyright   1994  University of Cambridge
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
     5
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
     6
Cardinal Arithmetic
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
     7
*)
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
     8
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
     9
CardinalArith = Cardinal + OrderArith + Arith + 
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    10
consts
467
92868dab2939 new cardinal arithmetic developments
lcp
parents: 437
diff changeset
    11
  jump_cardinal :: "i=>i"
92868dab2939 new cardinal arithmetic developments
lcp
parents: 437
diff changeset
    12
437
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    13
  InfCard     :: "i=>o"
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    14
  "|*|"       :: "[i,i]=>i"       (infixl 70)
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    15
  "|+|"       :: "[i,i]=>i"       (infixl 65)
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    16
  csquare_rel :: "i=>i"
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    17
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    18
rules
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    19
467
92868dab2939 new cardinal arithmetic developments
lcp
parents: 437
diff changeset
    20
  jump_cardinal_def
92868dab2939 new cardinal arithmetic developments
lcp
parents: 437
diff changeset
    21
      "jump_cardinal(K) ==   \
92868dab2939 new cardinal arithmetic developments
lcp
parents: 437
diff changeset
    22
\         UN X:Pow(K). {z. r: Pow(X*X), well_ord(X,r) & z = ordertype(X,r)}"
92868dab2939 new cardinal arithmetic developments
lcp
parents: 437
diff changeset
    23
92868dab2939 new cardinal arithmetic developments
lcp
parents: 437
diff changeset
    24
437
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    25
  InfCard_def  "InfCard(i) == Card(i) & nat le i"
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    26
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    27
  cadd_def     "i |+| j == | i+j |"
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    28
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    29
  cmult_def    "i |*| j == | i*j |"
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    30
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    31
  csquare_rel_def
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    32
  "csquare_rel(k) == rvimage(k*k, lam z:k*k. split(%x y. <x Un y, <x,y>>, z), \
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    33
\                            rmult(k,Memrel(k), k*k, 	\
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    34
\                                  rmult(k,Memrel(k), k,Memrel(k))))"
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    35
435875e4b21d modifications for cardinal arithmetic
lcp
parents:
diff changeset
    36
end