blob: 815f5b9507c036695c059da7255333db485de2c2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
Require Import TestSuite.admit.
Module NonPrim.
Unset Primitive Projections.
Record hProp := hp { hproptype :> Type }.
Goal forall (h : (Type -> hProp) -> (Type -> hProp)) k f,
(forall y, h y = y) ->
h (fun b : Type => {| hproptype := f b |}) = k.
Proof.
intros h k f H.
etransitivity.
apply H.
admit.
Defined.
End NonPrim.
Module Prim.
Set Primitive Projections.
Record hProp := hp { hproptype :> Type }.
Goal forall (h : (Type -> hProp) -> (Type -> hProp)) k f,
(forall y, h y = y) ->
h (fun b : Type => {| hproptype := f b |}) = k.
Proof.
intros h k f H.
etransitivity.
apply H.
|