author | lcp |
Thu, 24 Nov 1994 10:23:41 +0100 | |
changeset 737 | 436019ca97d7 |
parent 578 | efc648d29dd0 |
child 806 | 6330ca0a3ac5 |
permissions | -rw-r--r-- |
516 | 1 |
(* Title: ZF/Finite.thy |
2 |
ID: $Id$ |
|
3 |
Author: Lawrence C Paulson, Cambridge University Computer Laboratory |
|
4 |
Copyright 1994 University of Cambridge |
|
5 |
||
6 |
Finite powerset operator |
|
7 |
*) |
|
8 |
||
578
efc648d29dd0
ZF/Inductive.thy,.ML: renamed from "inductive" to allow re-building without
lcp
parents:
534
diff
changeset
|
9 |
Finite = Arith + "Inductive" + |
534 | 10 |
consts |
11 |
Fin :: "i=>i" |
|
12 |
FiniteFun :: "[i,i]=>i" ("(_ -||>/ _)" [61, 60] 60) |
|
13 |
||
516 | 14 |
inductive |
15 |
domains "Fin(A)" <= "Pow(A)" |
|
16 |
intrs |
|
17 |
emptyI "0 : Fin(A)" |
|
18 |
consI "[| a: A; b: Fin(A) |] ==> cons(a,b) : Fin(A)" |
|
19 |
type_intrs "[empty_subsetI, cons_subsetI, PowI]" |
|
20 |
type_elims "[make_elim PowD]" |
|
534 | 21 |
|
22 |
inductive |
|
23 |
domains "FiniteFun(A,B)" <= "Fin(A*B)" |
|
24 |
intrs |
|
25 |
emptyI "0 : A -||> B" |
|
26 |
consI "[| a: A; b: B; h: A -||> B; a ~: domain(h) \ |
|
27 |
\ |] ==> cons(<a,b>,h) : A -||> B" |
|
28 |
type_intrs "Fin.intrs" |
|
516 | 29 |
end |