-
Notifications
You must be signed in to change notification settings - Fork 9
/
transparent.t
80 lines (69 loc) · 1.2 KB
/
transparent.t
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
Transparency and translucency
$ narya - <<EOF
> axiom A : Type
> axiom a : A
> axiom B : Type
> axiom b : B
> def prod1 : Type ≔ sig ( fst : A, snd : B)
> axiom x1 : prod1
> echo x1
> def y1 : prod1 ≔ (a,b)
> echo y1
> def prod2a : Type ≔ sig #(transparent) ( fst : A, snd : B)
> axiom x2a : prod2a
> echo x2a
> def y2a : prod2a ≔ (a,b)
> echo y2a
> def prod2b : Type ≔ sig #(transparent positional) ( fst : A, snd : B)
> axiom x2b : prod2b
> echo x2b
> def y2b : prod2b ≔ (a,b)
> echo y2b
> def prod3a : Type ≔ sig #(translucent) ( fst : A, snd : B)
> axiom x3a : prod3a
> echo x3a
> def y3a : prod3a ≔ (a,b)
> echo y3a
> def prod3b : Type ≔ sig #(translucent positional) ( fst : A, snd : B)
> axiom x3b : prod3b
> echo x3b
> def y3b : prod3b ≔ (a,b)
> echo y3b
x1
: prod1
y1
: prod1
(
fst ≔ x2a .fst,
snd ≔ x2a .snd,
)
: prod2a
(
fst ≔ a,
snd ≔ b,
)
: prod2a
(
x2b .fst,
x2b .snd,
)
: prod2b
(
a,
b,
)
: prod2b
x3a
: prod3a
(
fst ≔ a,
snd ≔ b,
)
: prod3a
x3b
: prod3b
(
a,
b,
)
: prod3b