Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Parametricity Axiom

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Parametricity Axiom


Chronological Thread 
  • From: Maximilian Wuttke <mwuttke97 AT posteo.de>
  • To: Coq Club <coq-club AT inria.fr>
  • Subject: [Coq-Club] Parametricity Axiom
  • Date: Thu, 18 Feb 2021 22:45:52 +0100
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=mwuttke97 AT posteo.de; spf=Pass smtp.mailfrom=mwuttke97 AT posteo.de; spf=None smtp.helo=postmaster AT mout02.posteo.de
  • Ironport-phdr: 9a23:SDqxBh0WwS19k6xWsmDT+DRfVm0co7zxezQtwd8ZseIQLvad9pjvdHbS+e9qxAeQG9mCurQb16GJ6OjJYi8p2d65qncMcZhBBVcuqP49uEgeOvODElDxN/XwbiY3T4xoXV5h+GynYwAOQJ6tL1LdrWev4jEMBx7xKRR6JvjvGo7Vks+7y/2+94fcbglVgDexe7F/IRq5oQjTuMQdnJdvJLs2xhbVuHVDZv5YxXlvJVKdnhb84tm/8Zt++ClOuPwv6tBNX7zic6s3UbJXAjImM3so5MLwrhnMURGP5noHXWoIlBdDHhXI4wv7Xpf1tSv6q/Z91SyHNsD4Ubw4RTKv5LpwRRT2lCkIKSI28GDPisxxkq1bpg6hpwdiyILQeY2ZKeZycr/Ycd4cWGFPXNteVzZZD42ib4UBEukPM+hWoIbyu1QAogCzBRWvCe711jNEmnH70K883u88EQ/GxgsgH9cWvXrTttr0O6YSUeW0zKnMzDXMdfVW0ir954jVbhAhvfKMUqxtesfWzEkuGR7FjkmMqYzmITyY0uYAvnOD7+pnTuKvl3AoqwZrrjey2Mghk4/EjZ8axV7Y7yt22po1JcGmR05hZ96pCJVduj+UOoV2Qs0vR3xktSQkxrMIt5C2fCwHxps5yxPDaPGKcoiF7xLjWeifLjl1hG5pdrKiixux7EStyPHwW9Wy3V1XrSRFisHBum0O2hHT8MSKS/lw8l2v1DuOzQze6+BJLVg3mKffMZIt37E9m5sJvUjdACP6hF/6gLKYe0k4/OWj9v7pba/8ppCGMo95kgH+Pboqmsy4Gek4Nw8OX3WH+eigyrHv51X5QLJRjv0qjKbZt4rWKtkFqaKhAg9V1Jgs6wqnAju709kVnWMLIVNHdR6dgYXkOkvCLfH5APunhlSjijZrx/TIPr37BZXNK2DOkLLvfLZg905c1Akzws5b6p9WEbwBOPXzWlTttNPGCR81KRG7zPj/BNVnyoweQX6PArOeMK7KrVCI4fsvL/CQa48RpTbyMOMo5+XujH88gV8SZ7Ol3ZoRaHCiH/RpOV+VYXT2goRJLWBflQ0nBMfulVfKBTVUfjO5W782zjA9EoOvS4nZENODmruEiQKyDpxTZ2RHA1bELmr0a4aJE6MJdz+OPsxsw2MsTb+6V4Imkx2j4lypg4F7J/bZr3VL/ano08J4sqiKzUlrqW5ESv+F2mTIdFla23sSTmZvjrh4ulBwzRGP3Pog2q0KJZlo//pMFzwCG9vZxu1+Bcr1X1uYLM+OU0qrRZOqDGNoF49j85o1e094Xu6aoFXD0i6tWu9HkruWGMRutLrbxGT8IIBxxiSe2Q==

Hi Club,

Quite some time after I finished a complicated Coq development, I
noticed that I could have simplified it a lot by admitting the following
axiom:

```
From Coq.Vectors Require Import Vector.
Axiom tam :
forall ϕ1 ϕ2 (f : forall {X}, ((Vector.t nat ϕ1) -> X) -> ((Vector.t
nat ϕ2) -> X)),
exists g : (Vector.t nat ϕ2) -> (Vector.t nat ϕ1),
forall (X : Type) (i : Vector.t nat ϕ1 -> X) (ys : Vector.t nat ϕ2),
f i ys = i (g ys).
```

I believe this axiom is admissible but not provable inside Coq. It looks
like an axiom that should hold due to parametricity.

The special case ϕ1=ϕ2=0 can be simplified to the following goal:

```
f : forall X : Type, (unit -> X) -> unit -> X
X : Type
i : unit -> X
============================
f X i tt = i tt
```

Entirely out of curiosity (I don't plan to change my Coq development):
Are there "standard" axioms, that entail this goal?


-- Maximilian



Archive powered by MHonArc 2.6.19+.

Top of Page