/-
Copyright (c) 2026 Terence Rokop. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Terence Rokop
-/modulepublicimportGeb.Prototypes.LargeIR.GeneralmetaimportGebMeta-- shake: keep; supplies the cite docstring role
set_optiondoc.versotrue
Prototype: the binder of a universe is not a walking-arrow functor
Throwaway exploration, not upstream-eligible content. Every declaration here
is Classical.choice-free.
A universe closed under dependent products is an inductive-recursive
definition whose product former takes a code a and a family of codes
b : T a → U indexed by the terms of a, decoding to the
dependent product Π x : T a, T (b x). As a code it is
δ 1 (fun T₀ ↦ δ (T₀ ()) (fun T₁ ↦ ι (Π T₁))), whose inner δ has
the arity T₀ (), a decoding rather than a fixed set. On families this
is the assignment (U, T) ↦ Σ (a : U), Σ (b : T a → U), Π (x : T a), T (b x),
whose component b : T a → U is contravariant in the fibre T a,
so it is not a covariant functor on Fam(Type) with its morphisms
proper, and the interpretation of large inductive-recursive definitions of
[GhaniNordvallForsbergMalatesta2015]Neil Ghani, Fredrik Nordvall Forsberg, Lorenzo Malatesta (2015). “Positive Inductive-Recursive Definitions”. Logical Methods in Computer Science 11(1). https://doi.org/10.2168/LMCS-11(1:13)2015. accordingly reaches it only over
Fam(Cᵒᵖ) or over groupoids. The repository's
PresheafIRUniv.univPsh met the same obstruction: its formers are
binary, the family of codes under the binder dropped.
This module states the obstruction against walking-arrow presheaf polynomial
functors, whose values GebProto.LargeIR.elemEquiv computes as a shape
with a base assignment on a fixed set of level-0 directions and an
assignment on a fixed set of level-1 directions. At the presheaf
termsPsh n with one code and n terms, the product former's
level-1 value is Fin n → Fin n, piFormerEquiv, a family
of types no fixed direction sets produce: not_piFormer shows that no
walking-arrow presheaf polynomial functor has level-1 values in
bijection with the product former's at every termsPsh n, the bijections
at n = 0 and n = 1 forcing a single level-1 shape with no
level-1 directions, whose value at n = 2 is then a point rather
than the four functions Fin 2 → Fin 2. The bijections are not asked to
be natural.
Main definitions
termsPsh — the walking-arrow presheaf with one code and n
terms.
PiFormerValue — the level-1 value of the dependent-product
former at a walking-arrow presheaf.
Main statements
piFormerEquiv — at termsPsh n the product former's value is
Fin n → Fin n.
not_piFormer — no walking-arrow presheaf polynomial functor has the
product former's values.
References
[GhaniNordvallForsbergMalatesta2015]Neil Ghani, Fredrik Nordvall Forsberg, Lorenzo Malatesta (2015). “Positive Inductive-Recursive Definitions”. Logical Methods in Computer Science 11(1). https://doi.org/10.2168/LMCS-11(1:13)2015.
[DybjerSetzer2003]Peter Dybjer, Anton Setzer (2003). “Induction--recursion and initial algebras”. Annals of Pure and Applied Logic 124(1--3), pp. 1–47. https://doi.org/10.1016/S0168-0072(02)00096-9.
The level-1 value of the dependent-product former at a walking-arrow
presheaf: a code, a family of codes indexed by its terms, and a term of each
member of the family.