coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Benjamin Werner <benjamin.werner AT polytechnique.org>
- To: Vladimir Voevodsky <vladimir AT ias.edu>
- Cc: Coq Club <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] two related questions
- Date: Mon, 25 Oct 2010 13:41:58 +0200
Hello,
Le 18 oct. 2010 à 23:02, Vladimir Voevodsky a écrit :
> Hi, I have the following two questions:
>
> Q.1 Is it impossible to prove in Coq that any two functions from empty
> type to empty type are equal ?
>
> Q.2 Is it possible to preserve extraction after adding the functional
> extensionality axiom ((forall x:X, f x = g x) -> f =g)?
I do not have fundamental information to add to what has been said,
especially on 1. To make things more concrete
for question 2 :
The axiom will indeed not break to properties of the extracted programs.
There is however some subtlety hidden here,
since there are computational elimination schemes for equality proofs :
eq_rect
: forall (A : Type) (x : A) (P : A -> Type),
P x -> forall y : A, x = y -> P y
But the extraction is "clever" enough to give a computational translation of
this scheme :
Coq < Extraction eq_rect.
(** val eq_rect : 'a1 -> 'a2 -> 'a1 -> 'a2 **)
let eq_rect x f y =
f
So the fact that an equality proof comes from an axiom like extentionality
will not appear in the extracted
program
I hope I have not obscured things :)
Best,
Benjamin
- [Coq-Club] two related questions, Vladimir Voevodsky
- Re: [Coq-Club] two related questions,
Adam Chlipala
- Re: [Coq-Club] two related questions, Conor McBride
- Re: [Coq-Club] two related questions,
Thorsten Altenkirch
- Re: [Coq-Club] two related questions, Thorsten Altenkirch
- [Coq-Club] a question,
Vladimir Voevodsky
- Re: [Coq-Club] a question, Adam Chlipala
- <Possible follow-ups>
- Re: [Coq-Club] two related questions, Benjamin Werner
- Re: [Coq-Club] two related questions,
Adam Chlipala
Archive powered by MhonArc 2.6.16.