Category Theory
Zulip Server
Archive

You're reading the public-facing archive of the Category Theory Zulip server.
To join the server you need an invite. Anybody can get an invite by contacting Matteo Capucci at name dot surname at gmail dot com.
For all things related to this archive refer to the same person.


Stream: theory: type theory & logic

Topic: Dependent function extensionality from nondependent?


view this post on Zulip Daniël Otten (Jul 15 2025 at 09:51):

In Martin-Löf type theory with uip or axiom K we know that the dependent version of function extensionality can be derived from the nondependent one. Is this also true without uip?

Related results show that strong versions of dependent function extensionality can be derived from weak dependent versions. See also section 4.9 of the HoTT book. However I am not aware of results relating the dependent and nondependent versions without other axioms.

view this post on Zulip Madeleine Birchfield (Jul 15 2025 at 11:09):

It is possible to define the dependent function type in terms of ordinary function types, identity types, and dependent sum types with the usual inference rules involving judgmental equality in the conversion rules:

x:AB(x)f:Ax:AB(x)λx.π1(f(x))=AAidA\prod_{x:A} B(x) \equiv \sum_{f:A \to \sum_{x:A} B(x)} \lambda x.\pi_1(f(x)) =_{A \to A} \mathrm{id}_A

where π1:(x:AB(x))A\pi_1:\left(\sum_{x:A} B(x)\right) \to A is the first projection function of the dependent sum type x:AB(x)\sum_{x:A} B(x) and idA\mathrm{id}_A is the identity function on AA. I'll leave it as an exercise to prove that the above type satisfies all 5 inference rules of the dependent function type.

From here, it should be a relatively simple direct proof of dependent function extensionality from non-dependent function extensionality of the types Ax:AB(x)A \to \sum_{x:A} B(x) and AAA \to A.

view this post on Zulip Madeleine Birchfield (Jul 15 2025 at 11:24):

I don't know if the same can be proven in weak type theory where the conversion rules use the identity type instead of judgmental equality.

view this post on Zulip Mike Shulman (Jul 15 2025 at 15:34):

I don't believe that type satisfies η\eta-conversion.

view this post on Zulip Madeleine Birchfield (Jul 15 2025 at 23:45):

It satisfies propositional η\eta-conversion though: Given a function f:Ax:AB(x)f:A \to \sum_{x:A} B(x) such that p:π1f=idAp:\pi_1 \circ f = \mathrm{id}_A the eliminator is given by x:Aπ2(f(x)):B(x)x:A \vdash \pi_2(f(x)):B(x), and composing with the introduction yields a function λx.(x,π2(f(x))):Ax:AB(x)\lambda x.(x, \pi_2(f(x))):A \to \sum_{x:A} B(x), which is equal to fλx.(π1(f(x)),π2(f(x))f \equiv \lambda x.(\pi_1(f(x)), \pi_2(f(x)) by ap across p:π1f=idAp:\pi_1 \circ f = \mathrm{id}_A. The witness that λx.(x,π2(f(x)))\lambda x.(x, \pi_2(f(x))) satisfies the identity in the dependent sum type is given by reflexivity across idA\mathrm{id}_A.

view this post on Zulip Mike Shulman (Jul 15 2025 at 23:48):

I think the eliminator has to transport across the propositional equality π1f=idA\pi_1 \circ f = \mathrm{id}_A to have the right type.

view this post on Zulip Mike Shulman (Jul 15 2025 at 23:50):

For a function f:Ax:AB(x)f:A \to \sum_{x:A} B(x) you actually have x:Aπ2(f(x)):B(π1(f(x)))x:A \vdash \pi_2(f(x)) : B(\pi_1(f(x))).

view this post on Zulip Madeleine Birchfield (Jul 15 2025 at 23:59):

So something like x:Atrp(π2(f(x))):B(x)x:A \vdash \mathrm{tr}_p(\pi_2(f(x))):B(x)?

view this post on Zulip Mike Shulman (Jul 16 2025 at 00:00):

or more precisely trhapply(p,x)\mathrm{tr}_{\mathrm{happly}(p,x)}

view this post on Zulip Mike Shulman (Jul 16 2025 at 00:01):

But yes.

view this post on Zulip Madeleine Birchfield (Jul 16 2025 at 00:03):

Well then the question is still open for dependent function types which satisfy judgmental η\eta-conversion, which is what I think @Daniël Otten was asking about since the types in MLTT usually satisfy judgmental η\eta-conversion.

view this post on Zulip Daniël Otten (Jul 16 2025 at 00:06):

If the type theory already has Pi-types then I think you do still get an equivalence with this type so if we prove function extensionality for it it should transfer. At least, if we are not interested in having a definitional computation rule for function extensionality

view this post on Zulip Daniël Otten (Jul 16 2025 at 00:08):

I think we need to assume a definitional computation rule for the nondependent version of function extensionality to get definitional beta for this new definition of Pi-type

view this post on Zulip Mike Shulman (Jul 16 2025 at 00:09):

Daniël Otten said:

I think we need to assume a definitional computation rule for the nondependent version of function extensionality to get definitional beta for this new definition of Pi-type

I would have thought that would follow instead from definitional computation for Id-elimination, since abstractions in this new Pi-type have refl as their witness.

view this post on Zulip Daniël Otten (Jul 16 2025 at 00:18):

I think you have to define the new λx.b\lambda x.b as λx.π1x,b,funext(x.refl)\langle\lambda x.\pi_1 \langle x,b\rangle, \mathsf{funext}(x.\mathsf{refl})\rangle. And then we define the new application faf a as trhapply(π2f)x(π1fa)\mathsf{tr}_{\mathsf{happly}(\pi_2 f) x} (\pi_1 f a). Then if we have the new (λx.b)a(\lambda x.b) a we need a computation rule for funext(x.refl) to compute to refl.

view this post on Zulip Mike Shulman (Jul 16 2025 at 00:25):

Why can't you define the new λx.b\lambda x.b as λx.x,b,refl\langle \lambda x. \langle x,b \rangle, \mathsf{refl}\rangle?

view this post on Zulip Mike Shulman (Jul 16 2025 at 00:26):

assuming your non-dependent function types have definitional η\eta

view this post on Zulip Daniël Otten (Jul 16 2025 at 00:28):

Ah of course! I was trying to write it out for weak type theory and there you need funext of a more complicated term.

view this post on Zulip Daniël Otten (Jul 16 2025 at 00:32):

Do you even need η\eta in that case? I think you just get λx.x\lambda x.x on both sides if you do a β\beta reduction for Σ\Sigma inside the lambda on the left

view this post on Zulip Daniël Otten (Jul 16 2025 at 00:49):

In that case I think we get a version of Π\Pi-types with definitional β\beta and propositional η\eta with a computation rule (saying that η(λx.b):λx.(λx.b)x=λx.b\eta(\lambda x.b):\lambda x.(\lambda x.b) x=\lambda x.b computes to refl), which is also quite a natural notion as it corresponds to the positive formulation of Π\Pi-types.

view this post on Zulip Mike Shulman (Jul 16 2025 at 01:07):

And I guess that is sufficient to make it propositionally equivalent to any other Π\Pi-types, so that funext for one implies it for the other.

view this post on Zulip Daniël Otten (Jul 16 2025 at 01:15):

Yes so this should completely answer the question: even the most naive versions of funext already imply the strongest ones. With a bonus result that Π\Pi-types already follow from Σ\Sigma-types, \to-types, and ==-types if you only require propositional η\eta with a computation rule. Thank you both!

view this post on Zulip Evan Cavallo (Jul 16 2025 at 09:01):

Just as a historical note, I checked in the TypeTopology library and the version for Π-types with η is recorded there (https://martinescardo.github.io/TypeTopology/UF.FunExt-Properties.html#778) and attributed to Voevodsky (https://github.com/vladimirias/Foundations/blob/master/Generalities/uu0.v, starting on line 2946 I believe).