summaryrefslogtreecommitdiff
path: root/test-suite/modules/fun_objects.v
blob: 0f8eef847c7b7863776c42fdec9b8f8f80e36593 (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
Implicit Arguments On.

Module Type SIG.
  Parameter id:(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 := O.
  Definition id := [A:Set][x:A]x.
End Nat.

Module Z:=(N Nat).

Check (Z.idid O).

Module P[Y:SIG] := N.

Module Y:=P Nat Z.

Check (Y.id O).