P. Dybjer
,
H.Moeneclaey/Electronic Notes in Theoretical Computer Science 336
(
2018
)
119
K
conv
:(
x
,
y
:
CL
)
→app
(
app
(
K
,
x
)
,
y
)
=
CL
x
S
conv
:(x
,
y
,
z:CL)→app(app(app(S
,
x)
,
y)
,
z)=
CL
app(app
(
x
,
z
)
,
app
(
y
,
z
))组合转换的其他规则(反射性、传递性、对称性、应用保
持相等)来自=
CL
是单位类型的事实
CL的
消元规则
表示如何定义函数
f
:(x:CL)→
C
(
x
)通过点和路径构造函数的结构归纳(表明它
preser v
es
ide n
ti t
y
)。
该
规则
具有
a
sumptions
K
:
C
(K)
,
S
:
C(
S
)
,
ap
p
:
(
x
:
CL)→C(x)→(y:CL)→C(y)→C(app(x
,
y)),并且
K
conv
:
(
x
,
y
:
C
L)
→
(
x
:
C
(
x
))
→
(
y
:
C
(
y
))
→
a
p
p
(
app
(
K
,
x
)
,
a
p
p
(
K
,
K
,
x
,
x
)
,
y
,
y
)
=
C
x
S
conv
:
(
x
,
y
,
z
:
C
L
)
→
(
x
:
C
(
x
))
→
(
y
:
C
(
y
))
→
(
z
:
C
(
z
))
→
a p
p
(
app
(
app
(
S
,
x
)
,
y
)
,
a
p
p
(
app
(
S
,
x
)
,
a p p
(
S
,
S
,
x
,
x
)
,
y
,
y
)
,
z
,
z
)
a p
p
(
app
(
x
,
z
)
,
a
p
p(x
,
x
,
z
,
z
)
,
app
(
y
,
z
)
,
a
p
p(
y
,
y
,
z
,
z
)
)
f
(K)
=
K
f
(
S
)
=
S
f
(app(x
,
y
))
=
a
p
p(x
,
f
(
x
)
,
y
,
f
(
y
))
ap
d
f
(
K
conv
(
x
,
y
))
=
K
conv
(
x
,
y
,
f
(
x
)
,
f
(
y
))
ap
d
f
(
S
conv
(
x
,
y
,
z
))
=
S
conv
(
x
,
y
,
z
,
f
(
x
)
,
f
(
y
)
,
f
(
z
))
2.2
Setoid
模型
上面的理论,依赖类型理论,(x:A)→B(x),a=
A
a
J
,CL,有一个setoid模型
[11]
。在这个模型中,类型被解释为
setoid A
,
一个集合
A
0
和一个等价关系
R
。 这里我们把等价
关系
表示
为
二元集合族
(
A1
(
x
,
XJ
))
x
,
x
′
∈
A0
,
如果
A1
(
x
,
XJ
)
是唯一的,
则R(x
,
XJ
)成立,否则为空. 此外,两
个
setoid
A
=
(
A0
,
A1
) 和
B
=
(
B0
,
B1
) 之 间 的
setoid
映 射 是 一 个 函 数
f0
:
A0
→
B0
,
并证明它保持等价关系:
f1
:(
A1
(
x
,
XJ
))
→
B1
(
f
(
x
)
,
f
(
XJ
))
.
有两个原因,这种代表性。虽然我们通常使用集合论作为我们模型构造的元语
言,但我们推测该构造可以在扩展类型论中进行,其中等价关系将由类型族实现。
(Cf Hofmann和Streicher但是,还有另一个优点:
然后,可以将
setoid
模型看作
groupoid
模型的截断版本。一个广群的对象集合
A0
与满
集
A1
(x
,
XJ
)一起形成一个setoid。 在下文中,我们将不区分
A1
族和
它所代表的等价关系R。(We也注意到可拓类型论在经典集合论中有一个直接的解
释[4],所以类型论符号可以被理解为抽象集合论。
关于用族构造范畴的细节,参见
Moeneclaey[18]
。