coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Burak Ekici <ekcburak AT hotmail.com>
- To: "coq-club AT inria.fr" <coq-club AT inria.fr>
- Subject: Re: [Coq-Club] fun <-> forall
- Date: Thu, 26 Oct 2017 14:25:34 +0000
- Accept-language: tr-TR, en-US
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=ekcburak AT hotmail.com; spf=Pass smtp.mailfrom=ekcburak AT hotmail.com; spf=Pass smtp.helo=postmaster AT EUR01-VE1-obe.outbound.protection.outlook.com
- Ironport-phdr: 9a23:6TAwXBKZiomd+9jHtNmcpTZWNBhigK39O0sv0rFitYgXLfvxwZ3uMQTl6Ol3ixeRBMOAtKIC1rKempujcFJDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBWB6kG1uHQZHQy6Pg5oLMz0HJTThoK5zar6r5bUekBDgCe3SbJ0NhS/6wvL4Jo4m4xnf4ws0BLK6lZLeu9XjTdlJlmZggz15e+w+4Jm+iVU/fkm8pgTAu3BY60kQOkAX3wdOGcv6ZizuA==
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
Thanks a lot Ralf, Robbert and Anton! Right after asking the question, I noticed that my problem is a bit more complicated than what I've put in the e-mail unless I miss something trivial.
I'm actually trying to prove Mac Lane's (Kleisli) comparison theorem in Coq which basically relates an arbitrary adjunction to the Klesili adjunction via a unique functor. Therefore, I need to prove a structural equality between functors using the fact that two functors are equal if they map objects and arrows in the same way. I brief, at some point, I obtain the following hypothesis H1c : (fun (a b : obj catC) (f : arrow catC b a) => fmap2 a b (f o trans1 a)) = (* where "a" and "b" are objects of a category "catC", "f" is an arrow mapping "a" into "b", "fmap1" and "fmap2" are different functors, and "trans1" is a natural transformation *) and would like to somehow convert it into H1c : forall (a b : obj catC) (f : arrow catC b a), fmap2 a b (f o trans1 a)) = fmap1 a b f. However, could not make it work whatever I did... This is where the problematic case actually appears: https://github.com/ekiciburak/adjunctions_monads_Klesili/blob/master/adj_mon_kl.v#L1714-L1716 I'd be appreciated if you could take a look and give me some pointers! Many thanks! ― Burak. On 26-10-2017 14:30, Ralf Jung wrote:
Oh, right -- I read "Goal" instead of Hypothesis. Sorry for that. ; Ralf On 26.10.2017 13:18, Robbert Krebbers wrote:Unless I am mistaken, what Burak wants goes in the opposite way, so function extensionality is not needed. A simplified example of what I think he asks for: Goal forall (A B : Type) (f g : A -> B), (fun x => f x) = (fun x => g x) -> forall x, f x = g x. Proof. intros A B f g Hfg x. change ((fun x => f x) x = (fun x => g x) x). rewrite Hfg. reflexivity. Qed. On 10/26/2017 01:13 PM, Ralf Jung wrote:Hi Burak, what you are looking for is function extensionality: f = g <-> forall x, f x = g x Function extensionality cannot be proven in Coq, but you can assume it as an axiom. (It is compatible with the theory.) So, the answer to "Is there a way" is "Yes, if you are willing to assume an axiom". You can find it in the standard library at <https://coq.inria.fr/stdlib/Coq.Logic.FunctionalExtensionality.html>. Kind regards, Ralf On 26.10.2017 13:09, Burak Ekici wrote:Hi all, I have an hypothesis of the following form "H : (fun a b f => XX a b f) = (fun a b f => YY a b f)". Is there a way to turn it into "H: forall a b f, XX a b f = YY a b f"? Thanks! Best, ― Burak. |
- [Coq-Club] fun <-> forall, Burak Ekici, 10/26/2017
- Re: [Coq-Club] fun <-> forall, Ralf Jung, 10/26/2017
- Re: [Coq-Club] fun <-> forall, Robbert Krebbers, 10/26/2017
- Re: [Coq-Club] fun <-> forall, Ralf Jung, 10/26/2017
- Re: [Coq-Club] fun <-> forall, Burak Ekici, 10/26/2017
- Re: [Coq-Club] fun <-> forall, Clément Pit-Claudel, 10/26/2017
- Re: [Coq-Club] fun <-> forall, Burak Ekici, 10/26/2017
- Re: [Coq-Club] fun <-> forall, Clément Pit-Claudel, 10/26/2017
- Message not available
- Re: [Coq-Club] fun <-> forall, Samuel Gruetter, 10/28/2017
- [Coq-Club] Macro for Ltac, Dominique Larchey-Wendling, 10/30/2017
- Re: [Coq-Club] Macro for Ltac, Pierre Courtieu, 10/30/2017
- Re: [Coq-Club] Macro for Ltac, Dominique Larchey-Wendling, 10/30/2017
- Re: [Coq-Club] fun <-> forall, Burak Ekici, 10/26/2017
- Re: [Coq-Club] fun <-> forall, Clément Pit-Claudel, 10/30/2017
- Re: [Coq-Club] fun <-> forall, Clément Pit-Claudel, 10/26/2017
- Re: [Coq-Club] fun <-> forall, Burak Ekici, 10/26/2017
- Re: [Coq-Club] fun <-> forall, Jason Gross, 10/31/2017
- Re: [Coq-Club] fun <-> forall, Clément Pit-Claudel, 10/31/2017
- Re: [Coq-Club] fun <-> forall, Ralf Jung, 10/26/2017
- Re: [Coq-Club] fun <-> forall, Robbert Krebbers, 10/26/2017
- Re: [Coq-Club] fun <-> forall, Ralf Jung, 10/26/2017
Archive powered by MHonArc 2.6.18.