Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] fun <-> forall

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] fun <-> forall


Chronological Thread 
  • From: Clément Pit-Claudel <cpitclaudel AT gmail.com>
  • To: coq-club AT inria.fr, Burak Ekici <ekcburak AT hotmail.com>
  • Subject: Re: [Coq-Club] fun <-> forall
  • Date: Thu, 26 Oct 2017 11:08:04 -0400
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=cpitclaudel AT gmail.com; spf=Pass smtp.mailfrom=cpitclaudel AT gmail.com; spf=None smtp.helo=postmaster AT mail-qk0-f177.google.com
  • Ironport-phdr: 9a23:+wbQZBeShPBGj0x+zWCyoLc0lGMj4u6mDksu8pMizoh2WeGdxc64Zh7h7PlgxGXEQZ/co6odzbGJ4+a9ASQp2tWojjMrSNR0TRgLiMEbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpRZbIBj0NBJ0K+LpAcaSyp3vj6Hhs6HUNg5PnX+2Za54BBSwtwTY8McMxcNIN7w4yVPkoXpDeqwCyGBjL0+JlhXU5sCs+Zdi92JbvPd3pOBaVqCvVKC5SLFeEAMeMnxwz8niqBXOSUPb7WMdTm4SmwdEDgzt4xTzX5O3uSz/4LkukBKGNNH7GOhnEQ+p6L1mHVqx0H8K

On 2017-10-26 10:25, Burak Ekici wrote:
> However, could not make it work whatever I did...

Does the following work for you?

pose proof (fun x y z => eq_ind_r (fun f => f x y z = _ x y z) eq_refl H1c)
as H';
cbv beta in H'.

Here's a complete example:

Axiom catC: Type.
Axiom obj: Type -> Type.
Axiom arrow: forall (catC: Type), obj catC -> obj catC -> Type.
Axiom fmap : forall {C: Type} (a b: obj C), arrow C b a -> Type.
Axiom foo : forall {C a b}, arrow C b a -> arrow C b a.

Goal ((fun (a b : obj catC) (f : arrow catC b a) => fmap a b (foo f)) =
(fun (a b : obj catC) (f : arrow catC b a) => fmap a b f) -> True).
Proof.
intros.
pose proof (fun x y z => eq_ind_r (fun f => f x y z = _ x y z) eq_refl H)
as H';
cbv beta in H'.




Archive powered by MHonArc 2.6.18.

Top of Page