12 text{*The lemma and section numbers refer to an unpublished article ``Towards |
11 text{*The lemma and section numbers refer to an unpublished article ``Towards |
13 the Mechanization of the Proofs of Some Classical Theorems of Set Theory,'' by |
12 the Mechanization of the Proofs of Some Classical Theorems of Set Theory,'' by |
14 Abrial and Laffitte. *} |
13 Abrial and Laffitte. *} |
15 |
14 |
16 constdefs |
15 constdefs |
17 chain :: "'a::ord set => 'a set set" |
16 chain :: "'a set set => 'a set set set" |
18 "chain S == {F. F \<subseteq> S & (\<forall>x \<in> F. \<forall>y \<in> F. x \<subseteq> y | y \<subseteq> x)}" |
17 "chain S == {F. F \<subseteq> S & (\<forall>x \<in> F. \<forall>y \<in> F. x \<subseteq> y | y \<subseteq> x)}" |
19 |
18 |
20 super :: "['a::ord set,'a set] => 'a set set" |
19 super :: "['a set set,'a set set] => 'a set set set" |
21 "super S c == {d. d \<in> chain(S) & c < d}" |
20 "super S c == {d. d \<in> chain(S) & c < d}" |
22 |
21 |
23 maxchain :: "'a::ord set => 'a set set" |
22 maxchain :: "'a set set => 'a set set set" |
24 "maxchain S == {c. c \<in> chain S & super S c = {}}" |
23 "maxchain S == {c. c \<in> chain S & super S c = {}}" |
25 |
24 |
26 succ :: "['a::ord set,'a set] => 'a set" |
25 succ :: "['a set set,'a set set] => 'a set set" |
27 "succ S c == if (c \<notin> chain S| c \<in> maxchain S) |
26 "succ S c == if (c \<notin> chain S| c \<in> maxchain S) |
28 then c else (@c'. c': (super S c))" |
27 then c else (@c'. c': (super S c))" |
29 |
28 |
30 consts |
29 consts |
31 "TFin" :: "'a::ord set => 'a set set" |
30 "TFin" :: "'a set set => 'a set set set" |
32 |
31 |
33 inductive "TFin(S)" |
32 inductive "TFin(S)" |
34 intros |
33 intros |
35 succI: "x \<in> TFin S ==> succ S x \<in> TFin S" |
34 succI: "x \<in> TFin S ==> succ S x \<in> TFin S" |
36 Pow_UnionI: "Y \<in> Pow(TFin S) ==> Union(Y) \<in> TFin S" |
35 Pow_UnionI: "Y \<in> Pow(TFin S) ==> Union(Y) \<in> TFin S" |