A.1.7 W-types


For W-types we introduce primitive constants c𝖶 and c𝗌𝗎𝗉. An expression of the form c𝖶(A,λx.B) is written as 𝖶(x:A)⁢B, and an expression of the form c𝗌𝗎𝗉⁢(x,u) is written as 𝗌𝗎𝗉⁢(x,u):

  • •

    if A:𝒰n and B:A→𝒰n, then 𝖶(x:A)⁢B⁢(x):𝒰n

  • •

    if moreover, a:A and g:B⁢(a)→𝖶(x:A)⁢B⁢(x) then 𝗌𝗎𝗉⁢(a,g):𝖶(x:A)⁢B⁢(x).

Here also we can define functions by total recursion. If we have A and B as above and C:𝖶(x:A)⁢B⁢(x)→𝒰m, then we can introduce a defined constant f:∏(z:𝖶(x:A)B(x))C⁢(z) whenever we have

d:∏(x:A)∏(u:B(x)→𝖶(x:A)B(x))((∏(y:B(x))C(u(y)))→C(𝗌𝗎𝗉(x,u)))

with the defining equation

f(𝗌𝗎𝗉(x,u)):≡d(x,u,f∘u).
Title A.1.7 W-types
\metatable