coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Benjamin Werner <Benjamin.werner AT inria.fr>
- To: Yves Bertot <Yves.Bertot AT sophia.inria.fr>, Gerard Huet <Gerard.Huet AT inria.fr>
- Cc: Coq Club <coq-club AT pauillac.inria.fr>
- Subject: Re: [Coq-Club]On the form of the axiom of description
- Date: Tue, 14 Feb 2006 05:22:48 +0100
- List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>
Let me shift the frontier of what we know to know:
Call dd1 and dd2 your two axioms; so dd2->dd1 is obvious.
You can show that dd1+ext -> ~~dd2
(where ext is harmless extentionality for functions :
Axiom ext : forall A : Type , forall B : A->Type , forall f g : (forall a:A,(B a)) ,
(forall a:A , (f a)=(g a)) -> f=g.
so if you accept ext, if you can reformulate the above
~dd2 -> ~dd1
so you do not further endanger consistency by switching from dd1
to dd2.
If you drop the condition for your relation R to be functional, you
do not need ext anymore.
Whether you really need ext, I do not know :-)
So all these axioms are OK with the standart set-theoretic
semantics.
To answer Pierre : all you lose is the assurance that you will
be able to extract a program form any proof. But from the
consistency point of view, requiring that
exists f : A -> B , ...
is already quite strong, since it requires (for most model
constructions) that the function f exists in the model.
I attach the two proof files. They certainly need some
cleaning. Maybye they could even be made really shorter ?
You can thank my kid who made my night short !
Best wishes to all,
Benjamin
Le 10 févr. 06 à 10:41, Yves Bertot a écrit :
I am dissatisfied with the form of the axiom of dependent description,
as it is given in Logic/ClassicalDescription.v and the associated
theorems.
Axiom
dependent_description :
forall (A:Type) (B:A -> Type) (R:forall x:A, B x -> Prop),
(forall x:A,
exists y : B x, R x y /\ (forall y':B x, R x y' -> y = y')) ->
exists f : forall x:A, B x, (forall x:A, R x (f x)).
This axioms gives me the existence of a function but not the possibility
to use this function easily in further definitions. I believe a
stronger version would be the following one:
Axiom
dependent_description' :
forall (A:Type) (B:A -> Type) (R:forall x:A, B x -> Prop),
(forall x:A,
exists y : B x, R x y /\ (forall y':B x, R x y' -> y = y')) ->
sigT (fun f : forall x:A, B x => (forall x:A, R x (f x))).
(the difference between dependent_description and dependent_description'
is that I replaced the last exists by sigT. )
I would like to know whether adding this axiom would yield an
inconsistent logic. Morally, I would be satisfied with the idea that,
in classical logic, the functional notation of Coq is just a short- hand
for "set-theory-like" functions but I am aware that we may be navigating
close to Cantor's naive set theory
I believe the answer can fall in three categories:
1/ No problem, you can already derive dependent_description' from
dependent_description using other axioms of classical logic that
are thought to be sensible (a coq proof would be great).
2/ Big problem, once you do that, you can encode one of the well-known
paradoxes (again a coq proof would be great).
3/ Nobody knows.
Does anyone have a quick answer in the direction of 1 or 2? Does anyone
know that we don't know?
Yves
--------------------------------------------------------
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]On the form of the axiom of description, Yves Bertot
- Re: [Coq-Club]On the form of the axiom of description, Pierre Letouzey
- Re: [Coq-Club]On the form of the axiom of description, Gérard Huet
- Re: [Coq-Club]On the form of the axiom of description, Benjamin Werner
- Re: [Coq-Club]On the form of the axiom of description, Hugo Herbelin
- Re: [Coq-Club]On the form of the axiom of description, Benjamin Werner
Archive powered by MhonArc 2.6.16.