File: bug_17910.v

package info (click to toggle)
coq 8.20.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 44,116 kB
  • sloc: ml: 234,160; sh: 4,301; python: 3,270; ansic: 2,644; makefile: 882; lisp: 172; javascript: 63; xml: 24; sed: 2
file content (26 lines) | stat: -rw-r--r-- 875 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Require Import Morphisms Setoid.

Class Subst {Obj : Type} (Arr : Obj -> Obj -> Type) (Sub : Obj -> Type)
      {subst_of_arr : forall {A B}, Arr A B -> Sub A}  : Prop :=
  { arrow_subst_proper A B :: Proper (eq ==> eq) (@subst_of_arr A B) }.

Record PShf (Obj : Type) := { FO :> Obj -> Type; Peq : forall A, FO A -> FO A -> Prop }.

Inductive kind : Set := KIND : kind.

Axiom Ctx : Type.
Axiom T : PShf Ctx.

Axiom nf : Ctx -> kind -> Type.
Axiom FunX : forall {Δ : Ctx}, T Δ.
Axiom FunY : forall (Δ : Ctx), T Δ.
Axiom reify : forall {κ : kind} {Δ : Ctx} (_ : T Δ), Basics.flip nf κ Δ.
Axiom rew : forall (Δ : Ctx), @Peq Ctx T Δ (@FunY Δ) (@FunX Δ).

Goal forall (Δ : Ctx) (r : nf Δ KIND),
  @eq (nf Δ KIND) (reify (@FunY Δ)) r.
Proof.
intros.
Fail rewrite (rew Δ).
Abort.
(* Anomaly "ill-typed term: found a match on a partially applied constructor." *)