File: bug_3023.v

package info (click to toggle)
coq 8.16.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 40,596 kB
  • sloc: ml: 219,376; sh: 3,545; python: 3,231; ansic: 2,529; makefile: 767; lisp: 279; javascript: 63; xml: 24; sed: 2
file content (33 lines) | stat: -rw-r--r-- 843 bytes parent folder | download | duplicates (8)
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
27
28
29
30
31
32
33
Set Implicit Arguments.
Generalizable All Variables.

Record Category {obj : Type} :=
  {
    Morphism : obj -> obj -> Type;

    Identity : forall x, Morphism x x;
    Compose : forall s d d', Morphism d d' -> Morphism s d -> Morphism s d';
    LeftIdentity : forall a b (f : Morphism a b), Compose (Identity b) f = f
  }.


Section DiscreteAdjoints.

  Let C := {|
            Morphism := (fun X Y : Type => X -> Y);
            Identity := (fun X : Type => (fun x : X => x));
            Compose := (fun _ _ _ f g => (fun x => f (g x)));
            LeftIdentity := (fun X Y p => @eq_refl _ p : (fun x : X => p x) = p)
          |}.
  Variable ObjectFunctor : C = C.

  Goal True.
  Proof.
    subst C.
    revert ObjectFunctor.
    intro ObjectFunctor.
    simpl in ObjectFunctor.
    revert ObjectFunctor.
  Abort.

End DiscreteAdjoints.