coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Vladimir Voevodsky <vladimir AT ias.edu>
- To: sk AT mathematik.uni-ulm.de
- Cc: coq-club AT pauillac.inria.fr
- Subject: Re: [Coq-Club] The type of 'fun i:nat=>Type(i)' [Was: What Set is good for?]
- Date: Sat, 23 Jul 2005 13:03:44 -0400
- List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>
Well, this is doable. One uses Type_i or Type(i) or some other syntax like that but treats Type_1, Type_2 etc. as atomic expressions i.e. not as combinations of something with an integral index but as a collection of completely distinct names. Could just as well use use Type_alpha, Type_beta, Type_gamma etc. In the normal course of events one should not need more than a few of them.
Vladimir.
On Jul 23, 2005, at 10:42 AM, Stefan Karrmann wrote:
If we use the index in the hierarchy of Typ(i)'s explicitly, we have
forall i j:nat, i < j -> Type(i):Type(j)
in Coq.
What is the type of 'fun i:nat => Type(i)' or 'Type' ???
Is it 'forall i:nat, Type(i+1)'?
But this is a tangled recursive definition of a value *and* its type.
Or is it something like 'Type omega' where omega is the smallest infinite
ordinal? But then Type must have type 'forall o:ord, Type(ord_succ o)' where:
Inductive ord:Set :=
| ord_zero : ord
| ord_succ : ord -> ord
| ord_limit : (nat -> ord) -> ord.
Fixpoint nat_to_ord (n:nat):ord :=
match n with
| 0 => ord_zero
| S m => ord_succ (nat_to_ord m)
end.
Coercion nat_to_ord : nat >-> ord.
Definition omega : ord := ord_limit nat_to_ord.
Note: The specification ord does belong to Set, although the collection of
ordinals is a proper class in the sense of Von Neumann- Bernays-Gödel
set theory (NBG)! This looks paradoxical.
Regards,
--
Stefan
--------------------------------------------------------
Bug reports: http://coq.inria.fr/bin/coq-bugs
Archives: http://pauillac.inria.fr/pipermail/coq-club
http://pauillac.inria.fr/bin/wilma/coq-club
Info: http://pauillac.inria.fr/mailman/listinfo/coq-club
- [Coq-Club] What Set is good for?, Vladimir Voevodsky
- Re: [Coq-Club] What Set is good for?, Bas Spitters
- Re: [Coq-Club] What Set is good for?,
Benjamin Werner
- [Coq-Club] The type of 'fun i:nat=>Type(i)' [Was: What Set is good for?],
Stefan Karrmann
- Re: [Coq-Club] The type of 'fun i:nat=>Type(i)' [Was: What Set is good for?], Vladimir Voevodsky
- [Coq-Club] The type of 'fun i:nat=>Type(i)' [Was: What Set is good for?],
Stefan Karrmann
Archive powered by MhonArc 2.6.16.