Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Parametric Morphisms

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Parametric Morphisms


Chronological Thread 
  • From: Cedric Auger <sedrikov AT gmail.com>
  • To: "coq-club AT inria.fr" <coq-club AT inria.fr>
  • Subject: Re: [Coq-Club] Parametric Morphisms
  • Date: Tue, 8 Jul 2014 10:05:58 +0200

Maybe you could define a notation to change the order the arguments are parsed/printed and in fact use the expected order for "Parametric Morphism".


2014-07-07 20:32 GMT+02:00 Durward McDonell <Durward.McDonell AT jhuapl.edu>:

Hello.

Here's what I understand: suppose you have two types, "expr" and
"state". Also suppose you have

eq_expr : state -> expr -> expr -> Prop

and that you Add (eq_expr st) as a reflexive, symmetric, and
transitive Parametric Relation for all (st : state). Finally, suppose
you have

foo : state -> expr -> expr -> Prop

that respects eq_expr on both of its expr arguments. Then you can
do

Add Parametric Morphism (st : state) :
    (foo st)
    with signature ((eq_expr st) ==> (eq_expr st) ==> impl)
    as foo_mor.

Subsequently, if you have

H : foo st e f
G : eq_expr st e e'

you can use "rewrite G in H" to get

H : foo st e' f

So far, so good, I hope. My question is what if, for some perverse
reason, you really, really want foo to be

foo' : expr -> expr -> state -> Prop

that is, you just want to reorder the arguments to foo. What do you do
about the Parametric Morphism statement? I've tried a couple of things
that were either unsatisfactory, or simply didn't work. Any suggestion
would be welcome.

--
Durward McDonell
durward.mcdonell AT jhuapl.edu
240-228-2690 (DC)
443-778-2690 (Balt.)




--
.../Sedrikov\...



Archive powered by MHonArc 2.6.18.

Top of Page