paramcoq icon indicating copy to clipboard operation
paramcoq copied to clipboard

Problem with translating terms using SProp

Open tabareau opened this issue 2 months ago • 1 comments

Definition Has_Leibniz (eq : forall A : Type, A -> A -> Prop) :=
    forall (A : Type) (x : A) (P : A -> SProp), P x -> forall y, eq A x y -> P y.

Definition eq_Has_Leibniz_Prop_elimSP : Has_Leibniz (@eq)
  := @eq_sind.

Parametricity eq.

Fail Parametricity eq_Has_Leibniz_Prop_elimSP.

The command has indeed failed with message: Binder (p₁ : "forall (A : Type) (x : A) (P : A -> SProp), P x -> forall y : A, eq₁ A x y -> P y") has relevance mark set to relevant but was expected to be irrelevant (maybe a bugged tactic).

tabareau avatar Oct 03 '25 13:10 tabareau

Simpler example:

Require Import Param.

Definition bug := forall (P : SProp), P.

Parametricity bug.

ppedrot avatar Oct 03 '25 14:10 ppedrot