blob: dce2ffd50b193a57cfd5c19f068c68e754c66a94 (
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
25
26
27
28
29
30
31
32
|
Set Implicit Arguments.
Unset Strict Implicit.
Module Type SIG.
Parameter id : forall A : Set, A -> A.
End SIG.
Module M (X: SIG).
Definition idid := X.id X.id.
Definition id := idid X.id.
End M.
Module N := M.
Module Nat.
Definition T := nat.
Definition x := 0.
Definition id (A : Set) (x : A) := x.
End Nat.
Module Z := N Nat.
Check (Z.idid 0).
Module P (Y: SIG) := N.
Module Y := P Nat Z.
Check (Y.id 0).
|