--- a/src/ZF/Inductive.ML Wed May 08 17:57:05 1996 +0200
+++ b/src/ZF/Inductive.ML Wed May 08 17:59:21 1996 +0200
@@ -29,8 +29,7 @@
struct
val sigma = Const("Sigma", [iT, iT-->iT]--->iT)
val pair = Const("Pair", [iT,iT]--->iT)
- val split_const = Const("split", [[iT,iT]--->iT, iT]--->iT)
- val fsplit_const = Const("split", [[iT,iT]--->oT, iT]--->oT)
+ val split_name = "split"
val pair_iff = Pair_iff
val split_eq = split
val fsplitI = splitI
@@ -38,6 +37,8 @@
val fsplitE = splitE
end;
+structure Standard_CP = CartProd_Fun (Standard_Prod);
+
structure Standard_Sum =
struct
val sum = Const("op +", [iT,iT]--->iT)
@@ -64,8 +65,9 @@
structure Indrule =
Indrule_Fun (structure Inductive=Inductive and
- Pr=Standard_Prod and Su=Standard_Sum and
- Intr_elim=Intr_elim)
+ Pr=Standard_Prod and CP=Standard_CP and
+ Su=Standard_Sum and
+ Intr_elim=Intr_elim)
in
struct
val thy = Intr_elim.thy
@@ -81,7 +83,8 @@
structure Ind = Add_inductive_def_Fun
- (structure Fp=Lfp and Pr=Standard_Prod and Su=Standard_Sum);
+ (structure Fp=Lfp and Pr=Standard_Prod and CP=Standard_CP
+ and Su=Standard_Sum);
structure Gfp =
@@ -98,8 +101,7 @@
struct
val sigma = Const("QSigma", [iT, iT-->iT]--->iT)
val pair = Const("QPair", [iT,iT]--->iT)
- val split_const = Const("qsplit", [[iT,iT]--->iT, iT]--->iT)
- val fsplit_const = Const("qsplit", [[iT,iT]--->oT, iT]--->oT)
+ val split_name = "qsplit"
val pair_iff = QPair_iff
val split_eq = qsplit
val fsplitI = qsplitI
@@ -107,6 +109,8 @@
val fsplitE = qsplitE
end;
+structure Quine_CP = CartProd_Fun (Quine_Prod);
+
structure Quine_Sum =
struct
val sum = Const("op <+>", [iT,iT]--->iT)
@@ -136,7 +140,8 @@
let
structure Intr_elim =
Intr_elim_Fun(structure Inductive=Inductive and Fp=Gfp and
- Pr=Quine_Prod and Su=Quine_Sum);
+ Pr=Quine_Prod and CP=Standard_CP and
+ Su=Quine_Sum);
in
struct
val thy = Intr_elim.thy
@@ -151,5 +156,6 @@
end;
structure CoInd =
- Add_inductive_def_Fun(structure Fp=Gfp and Pr=Quine_Prod and Su=Quine_Sum);
+ Add_inductive_def_Fun(structure Fp=Gfp and Pr=Quine_Prod and CP=Quine_CP
+ and Su=Quine_Sum);