coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: darktenaibre <darktenaibre AT isomorphis.me>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] proof uninformativeness vs. proof irrelevance
- Date: Sun, 24 Apr 2016 03:09:34 +0200
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=darktenaibre AT isomorphis.me; spf=Pass smtp.mailfrom=darktenaibre AT isomorphis.me; spf=None smtp.helo=postmaster AT macaron.isomorphis.me
- Ironport-phdr: 9a23:MfyNzhTiciqNvYNvUqAOAc4aLNpsv+yvbD5Q0YIujvd0So/mwa64YBCN2/xhgRfzUJnB7Loc0qyN4/CmBjZLu87f+Fk5M7VyFDY9wf0MmAIhBMPXQWbaF9XNKxIAIcJZSVV+9Gu6O0UGUOz3ZlnVv2HgpWVKQka3CwN5K6zPF5LIiIzvjqbpq82VPF8D3mLjKZpJbzyI7izp/vEMhoVjLqtjgjDomVBvP9ps+GVzOFiIlAz97MrjtLRq8iBXpu5zv5UYCfayLOwESulTCy1jOGQo7uXqswPCRE2B/CgySGITxxZBGQvZ4RfzX53rv2OuuuNn2zWXO8T3R6o5cTW56KJsUgfoiTxBMjNvozKfsdB5kK8O+EHpnBd42YOBOIw=
On 04/24/2016 03:00 AM, Jonathan Leivent wrote:
I do not think so, taking T := P * bool and f := fun x => x , true.
On 04/23/2016 08:41 PM, darktenaibre wrote:
Ah, that notprop predicate prevents this stupid observation though. You can certainly write something like (fun T => forall P : Prop, ~ (@eq Type P T)) which will easily block the previous proof, but it's probably unusable this way. I do not have any idea for a clever solution to this problem though.
On 04/24/2016 02:32 AM, darktenaibre wrote:
On 04/24/2016 02:21 AM, Jonathan Leivent wrote:
Hi,
Definition proof_uninformativeness := forall (P : Prop)(S : Set)(f : P -> S)(p1 p2 : P), f p1 = f p2.
If you take f:=id, isn't it just proof irrelevance ?
Lemma proof_uninformativeness_irrelevance : proof_uninformativeness -> forall (P : Prop) (p q : P), p = q.
intros pu P; apply pu.
Qed.
Oops - my (embarrassing) mistake having Prop not be a subtype of Set. :-[
So, there would need to be some usable notprop predicate.
Hmm... maybe types having at least 2 distinguished instances are sufficient? :
Definition distinguished(T : Type) := exists (a b : T), a <> b.
Definition proof_uninformativeness := forall (P : Prop)(T : Type)(f : P -> T)(p1 p2 : P), distinguished T -> f p1 = f p2.
Is this a suitable replacement for all interesting use cases of proof irrelevance?
-- Jonathan
Now that I thought more about it, even my (weaker I think) proposition is bogus in this respect. I conjecture you could take T := P * Type and then try to use the equality P * Type = Q for some (Q : Prop) and exhibit some sort of (Type : Type) paradox to prove false, thus also proving proof_irrelevance from that. But no certainties so far.
- [Coq-Club] proof uninformativeness vs. proof irrelevance, Jonathan Leivent, 04/24/2016
- Re: [Coq-Club] proof uninformativeness vs. proof irrelevance, darktenaibre, 04/24/2016
- Re: [Coq-Club] proof uninformativeness vs. proof irrelevance, darktenaibre, 04/24/2016
- Re: [Coq-Club] proof uninformativeness vs. proof irrelevance, Jonathan Leivent, 04/24/2016
- Re: [Coq-Club] proof uninformativeness vs. proof irrelevance, darktenaibre, 04/24/2016
- Re: [Coq-Club] proof uninformativeness vs. proof irrelevance, Abhishek Anand, 04/24/2016
- Re: [Coq-Club] proof uninformativeness vs. proof irrelevance, Jonathan Leivent, 04/24/2016
- Re: [Coq-Club] proof uninformativeness vs. proof irrelevance, Abhishek Anand, 04/24/2016
- Re: [Coq-Club] proof uninformativeness vs. proof irrelevance, Jonathan Leivent, 04/24/2016
- Re: [Coq-Club] proof uninformativeness vs. proof irrelevance, Abhishek Anand, 04/24/2016
- Re: [Coq-Club] proof uninformativeness vs. proof irrelevance, Jonathan Leivent, 04/24/2016
- Re: [Coq-Club] proof uninformativeness vs. proof irrelevance, Jason Gross, 04/24/2016
- Re: [Coq-Club] proof uninformativeness vs. proof irrelevance, Abhishek Anand, 04/24/2016
- Re: [Coq-Club] proof uninformativeness vs. proof irrelevance, Jason Gross, 04/24/2016
- Re: [Coq-Club] proof uninformativeness vs. proof irrelevance, Abhishek Anand, 04/24/2016
- Re: [Coq-Club] proof uninformativeness vs. proof irrelevance, Jonathan Leivent, 04/24/2016
- Re: [Coq-Club] proof uninformativeness vs. proof irrelevance, Jonathan Leivent, 04/24/2016
- Re: [Coq-Club] proof uninformativeness vs. proof irrelevance, darktenaibre, 04/24/2016
- Re: [Coq-Club] proof uninformativeness vs. proof irrelevance, Gabriel Scherer, 04/24/2016
- Re: [Coq-Club] proof uninformativeness vs. proof irrelevance, darktenaibre, 04/24/2016
Archive powered by MHonArc 2.6.18.