This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Implicative algebras II:
completeness w.r.t. Set-based triposes

Alexandre Miquel Instituto de Matemática y Estadística Prof. Ing. Rafael Laguardia
Facultad de Ingeniería – Universidad de la República
Julio Herrera y Reissig 565 – Montevideo C.P. 11300 – URUGUAY
(Date: November, 2020)
Abstract.

We prove that all 𝐒𝐞𝐭\mathbf{Set}-based triposes are implicative triposes.

1. Introduction

In [3], we introduced the notion of implicative algebra, a simple algebraic structure that is intended to factorize the model constructions underlying forcing and realizability, both in intuitionistic and classical logic. We showed that this algebraic structure induces a large class of (𝐒𝐞𝐭\mathbf{Set}-based) triposes—the implicative triposes—, that encompasses all (intuitionistic and classical) forcing triposes, all classical realizability triposes (both in the sense of Streicher [6] and Krivine [3]) as well as all the intuitionistic realizability triposes induced by partial combinatory algebras (in the style of Hyland, Johnstone and Pitts [2]).

The aim of this paper is to prove that the class of implicative triposes actually encompasses all 𝐒𝐞𝐭\mathbf{Set}-based triposes, in the sense that:

Theorem 1.1.

Each 𝐒𝐞𝐭\mathbf{Set}-based tripos is (isomorphic to) an implicative tripos.

For that, we first recall some notions about triposes and implicative algebras.

1.1. 𝐒𝐞𝐭\mathbf{Set}-based triposes

In what follows, we write:

  • 𝐒𝐞𝐭\mathbf{Set} the category of sets equipped with all functions;

  • 𝐏𝐨𝐬\mathbf{Pos} the category of posets equipped with monotonic functions;

  • 𝐇𝐀\mathbf{HA} the category of Heyting algebras equipped with the corresponding morphisms.

In the category 𝐒𝐞𝐭\mathbf{Set}, we write:

  • 11 the terminal object (i.e. a fixed singleton);

  • 1X:X11_{X}:X\to 1 the unique map from a given set XX to 11;

  • X×YX\times Y the Cartesian product of two sets XX and YY, and

  • πX,Y:X×YX\pi_{X,Y}:X\times Y\to X and πX,Y:X×YY\pi^{\prime}_{X,Y}:X\times Y\to Y the associated projections.

  • Finally, given two functions f:ZXf:Z\to X and g:ZYg:Z\to Y, we write f,g:ZX×Y\langle f,g\rangle:Z\to X\times Y the unique function such that πX,Yf,g=f\pi_{X,Y}\circ\langle f,g\rangle=f and πX,Yf,g=g\pi^{\prime}_{X,Y}\circ\langle f,g\rangle=g.

Definition 1.2 (𝐒𝐞𝐭\mathbf{Set}-based triposes).

A 𝐒𝐞𝐭\mathbf{Set}-based tripos is a functor 𝖯:𝐒𝐞𝐭op𝐇𝐀\mathsf{P}:\mathbf{Set}^{\mathrm{op}}\to\mathbf{HA} that fulfills the following three conditions:

  1. (1)

    For each map f:XYf:X\to Y (X,Y𝐒𝐞𝐭X,Y\in\mathbf{Set}), the corresponding map 𝖯f:𝖯Y𝖯X\mathsf{P}{f}:\mathsf{P}{Y}\to\mathsf{P}{X} has left and right adjoints in 𝐏𝐨𝐬\mathbf{Pos}, that are monotonic maps f,f:𝖯X𝖯Y\exists{f},\forall{f}:\mathsf{P}{X}\to\mathsf{P}{Y} such that

    (for allp𝖯X,q𝖯Y) f(p)qp𝖯f(q)qf(p)𝖯f(q)p\begin{array}[]{rcl}\exists{f}(p)\leq q&\Leftrightarrow&p\leq\mathsf{P}{f}(q)\\[3.0pt] q\leq\forall{f}(p)&\Leftrightarrow&\mathsf{P}{f}(q)\leq p\\ \end{array}
  2. (2)

    Beck-Chevalley condition. Each pullback square in 𝐒𝐞𝐭\mathbf{Set} (on the left-hand side) induces the following two commutative diagrams in 𝐏𝐨𝐬\mathbf{Pos} (on the right-hand side):

    Xf1f2X1g1X2g2Y𝖯Xf1𝖯X1𝖯X2𝖯f2g2𝖯Y𝖯g1𝖯Xf1𝖯X1𝖯X2𝖯f2g2𝖯Y𝖯g1\begin{array}[]{@{}c@{}}\lx@xy@svg{\hbox{\raise 0.0pt\hbox{\kern 12.18057pt\hbox{\ignorespaces\ignorespaces\ignorespaces\hbox{\vtop{\kern 0.0pt\offinterlineskip\halign{\entry@#!@&&\entry@@#!@\cr&\\&\\}}}\ignorespaces{\hbox{\kern-7.53471pt\raise 0.0pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{X\hbox to0.0pt{\vbox to0.0pt{\hbox to6.0pt{\vbox to6.0pt{\hbox to6.0pt{\hfil}\vfil\hrule}\hskip-0.4pt\vrule}\vss}\hss}\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$}}}}}}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern 14.84442pt\raise 6.1111pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-1.75pt\hbox{$\scriptstyle{f_{1}}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 32.93471pt\raise 0.0pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern-12.18057pt\raise-19.31888pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-1.75pt\hbox{$\scriptstyle{f_{2}}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 0.0pt\raise-28.80444pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}{\hbox{\kern 32.93471pt\raise 0.0pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{X_{1}\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$}}}}}}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern 41.86942pt\raise-19.31888pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-0.8264pt\hbox{$\scriptstyle{g_{1}}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 41.86942pt\raise-28.80444pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}{\hbox{\kern-8.93471pt\raise-38.63776pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{X_{2}\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$}}}}}}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern 15.13976pt\raise-43.82524pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-0.8264pt\hbox{$\scriptstyle{g_{2}}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 34.85553pt\raise-38.63776pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}{\hbox{\kern 34.85553pt\raise-38.63776pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{Y}$}}}}}}}\ignorespaces}}}}\ignorespaces\\ \end{array}\qquad{\Rightarrow}\qquad\begin{array}[]{c@{\qquad}c}\lx@xy@svg{\hbox{\raise 0.0pt\hbox{\kern 16.94447pt\hbox{\ignorespaces\ignorespaces\ignorespaces\hbox{\vtop{\kern 0.0pt\offinterlineskip\halign{\entry@#!@&&\entry@@#!@\cr&\\&\\}}}\ignorespaces{\hbox{\kern-10.9375pt\raise 0.0pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{\mathsf{P}{X}\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$}}}}}}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern 15.46945pt\raise 6.1111pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-1.75pt\hbox{$\scriptstyle{\exists{f_{1}}}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 36.3375pt\raise 0.0pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}{\hbox{\kern 36.3375pt\raise 0.0pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{\mathsf{P}{X_{1}}}$}}}}}}}{\hbox{\kern-12.3375pt\raise-38.63776pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{\mathsf{P}{X_{2}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$}}}}}}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern-16.94447pt\raise-19.31888pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-1.75pt\hbox{$\scriptstyle{\mathsf{P}{f_{2}}}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 0.0pt\raise-3.0pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern 15.76477pt\raise-44.74886pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-1.75pt\hbox{$\scriptstyle{\exists{g_{2}}}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 38.25832pt\raise-38.63776pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}{\hbox{\kern 38.25832pt\raise-38.63776pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{\mathsf{P}{Y}\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$}}}}}}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern 48.67499pt\raise-19.31888pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-1.71112pt\hbox{$\scriptstyle{\mathsf{P}{g_{1}}}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 48.67499pt\raise-4.80444pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}\ignorespaces}}}}\ignorespaces&\lx@xy@svg{\hbox{\raise 0.0pt\hbox{\kern 16.94447pt\hbox{\ignorespaces\ignorespaces\ignorespaces\hbox{\vtop{\kern 0.0pt\offinterlineskip\halign{\entry@#!@&&\entry@@#!@\cr&\\&\\}}}\ignorespaces{\hbox{\kern-10.9375pt\raise 0.0pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{\mathsf{P}{X}\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$}}}}}}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern 15.46945pt\raise 6.1111pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-1.75pt\hbox{$\scriptstyle{\forall{f_{1}}}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 36.3375pt\raise 0.0pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}{\hbox{\kern 36.3375pt\raise 0.0pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{\mathsf{P}{X_{1}}}$}}}}}}}{\hbox{\kern-12.3375pt\raise-38.63776pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{\mathsf{P}{X_{2}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$}}}}}}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern-16.94447pt\raise-19.31888pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-1.75pt\hbox{$\scriptstyle{\mathsf{P}{f_{2}}}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 0.0pt\raise-3.0pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern 15.76477pt\raise-44.74886pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-1.75pt\hbox{$\scriptstyle{\forall{g_{2}}}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 38.25832pt\raise-38.63776pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}{\hbox{\kern 38.25832pt\raise-38.63776pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{\mathsf{P}{Y}\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$}}}}}}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern 48.67499pt\raise-19.31888pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-1.71112pt\hbox{$\scriptstyle{\mathsf{P}{g_{1}}}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 48.67499pt\raise-4.80444pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}\ignorespaces}}}}\ignorespaces\\ \end{array}

    That is: f1𝖯f2=𝖯g1g2\exists{f_{1}}\circ\mathsf{P}{f_{2}}~{}=~{}\mathsf{P}{g_{1}}\circ\exists{g_{2}} and f1𝖯f2=𝖯g1g2\forall{f_{1}}\circ\mathsf{P}{f_{2}}~{}=~{}\mathsf{P}{g_{1}}\circ\forall{g_{2}}.

  3. (3)

    The functor 𝖯:𝐒𝐞𝐭op𝐇𝐀\mathsf{P}:\mathbf{Set}^{\mathrm{op}}\to\mathbf{HA} has a generic predicate, that is: a predicate trΣ𝖯Σ\textit{tr}_{\Sigma}\in\mathsf{P}\Sigma (for some set Σ\Sigma) such that for all sets XX, the following map is surjective:

    ΣX𝖯Xσ𝖯σ(trΣ)\begin{array}[]{r@{~{}~}c@{~{}~}l}\Sigma^{X}~{}{}&\to\hfil~{}{}&\mathsf{P}{X}\\ \sigma~{}{}&\mapsto\hfil~{}{}&\mathsf{P}\sigma(\textit{tr}_{\Sigma})\\ \end{array}
Remarks 1.3.

(1) Given a map f:XYf:X\to Y, the left and right adjoints f,f:𝖯X𝖯Y\exists{f},\forall{f}:\mathsf{P}{X}\to\mathsf{P}{Y} of the substitution map 𝖯f:𝖯Y𝖯X\mathsf{P}{f}:\mathsf{P}{Y}\to\mathsf{P}{X} are always monotonic functions (due to the adjunction), but in general they are not morphisms of Heyting algebras. Moreover, both correspondences fff\mapsto\exists{f} and fff\mapsto\forall{f} are functorial, in the sense that

(gf)=gfidX=id𝖯X(gf)=gfidX=id𝖯X\begin{array}[]{c@{\qquad\qquad}c}\exists(g\circ f)~{}=~{}\exists{g}\circ\exists{f}&\exists\mathrm{id}_{X}~{}=~{}\mathrm{id}_{\mathsf{P}{X}}\\ \forall(g\circ f)~{}=~{}\forall{g}\circ\forall{f}&\forall\mathrm{id}_{X}~{}=~{}\mathrm{id}_{\mathsf{P}{X}}\\ \end{array}

for all sets XX, YY, ZZ and for all maps f:XYf:X\to Y and g:YZg:Y\to Z. So that we can see \exists and \forall as covariant functors from 𝐒𝐞𝐭\mathbf{Set} to 𝐏𝐨𝐬\mathbf{Pos}, whose action on sets is given by X=X=𝖯X\exists{X}=\forall{X}=\mathsf{P}{X}.

(2) When defining the notion of tripos, some authors [5] require that the Beck-Chevalley condition hold only for the pullback squares of the form

(in𝐒𝐞𝐭) Z×XπZ,Xf×idXZfZ×XπZ,XZ\begin{array}[]{@{}c@{}}\lx@xy@svg{\hbox{\raise 0.0pt\hbox{\kern 25.08615pt\hbox{\ignorespaces\ignorespaces\ignorespaces\hbox{\vtop{\kern 0.0pt\offinterlineskip\halign{\entry@#!@&&\entry@@#!@\cr&\\&\\}}}\ignorespaces{\hbox{\kern-17.41661pt\raise 0.0pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{Z\times X\hbox to0.0pt{\vbox to0.0pt{\hbox to6.0pt{\vbox to6.0pt{\hbox to6.0pt{\hfil}\vfil\hrule}\hskip-0.4pt\vrule}\vss}\hss}\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$}}}}}}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern 21.71696pt\raise 5.57916pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-0.43472pt\hbox{$\scriptstyle{\pi_{Z,X}}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 54.18661pt\raise 0.0pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern-25.08615pt\raise-19.2222pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-1.74722pt\hbox{$\scriptstyle{f\times\mathrm{id}_{X}}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 0.0pt\raise-27.05554pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}{\hbox{\kern 54.18661pt\raise 0.0pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{Z\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$}}}}}}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern 60.95744pt\raise-19.2222pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-1.75pt\hbox{$\scriptstyle{f}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 60.95744pt\raise-27.05554pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}{\hbox{\kern-17.07553pt\raise-38.44441pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{Z^{\prime}\times X\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$}}}}}}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern 21.16586pt\raise-44.24579pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-0.21251pt\hbox{$\scriptstyle{\pi_{Z^{\prime},X}}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 53.41661pt\raise-38.44441pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}{\hbox{\kern 53.41661pt\raise-38.44441pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{Z^{\prime}}$}}}}}}}\ignorespaces}}}}\ignorespaces\end{array}

Here, we follow [2, 3] by requiring that the Beck-Chevalley condition hold more generally for all pullback squares in 𝐒𝐞𝐭\mathbf{Set}.

(3) The meaning of the generic predicate trΣ𝖯Σ\textit{tr}_{\Sigma}\in\mathsf{P}\Sigma will be explained in Section 2.1.

Let us also recall that:

Definition 1.4 (Isomorphism of triposes).

Two triposes 𝖯,𝖯:𝐒𝐞𝐭op𝐇𝐀\mathsf{P},\mathsf{P}^{\prime}:\mathbf{Set}^{\mathrm{op}}\to\mathbf{HA} are isomorphic when there is a natural isomorphism φ:𝖯𝖯\varphi:\mathsf{P}\Rightarrow\mathsf{P}^{\prime}.

Remark 1.5.

By a natural isomorphism φ:𝖯𝖯\varphi:\mathsf{P}\Rightarrow\mathsf{P}^{\prime}, we mean any family of isomorphisms φX:𝖯X𝖯X\varphi_{X}:\mathsf{P}{X}\to\mathsf{P}^{\prime}{X} (indexed by X𝐒𝐞𝐭X\in\mathbf{Set}) such that for all maps f:XYf:X\to Y (X,Y𝐒𝐞𝐭X,Y\in\mathbf{Set}), the following diagram commutes:

X\textstyle{X\ignorespaces\ignorespaces\ignorespaces\ignorespaces}f\scriptstyle{f}𝖯X\textstyle{\mathsf{P}{X}\ignorespaces\ignorespaces\ignorespaces\ignorespaces}φX\scriptstyle{\varphi_{X}}\scriptstyle{\sim}𝖯X\textstyle{\mathsf{P}^{\prime}{X}}Y\textstyle{Y}𝖯Y\textstyle{\mathsf{P}{Y}\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}𝖯f\scriptstyle{\mathsf{P}{f}}φY\scriptstyle{\varphi_{Y}}\scriptstyle{\sim}𝖯Y\textstyle{\mathsf{P}^{\prime}{Y}\ignorespaces\ignorespaces\ignorespaces\ignorespaces}𝖯f\scriptstyle{\mathsf{P}^{\prime}{f}}

Note that here, the notion of isomorphism can be taken indifferently in the sense of 𝐇𝐀\mathbf{HA} or 𝐏𝐨𝐬\mathbf{Pos}, since a map φX:𝖯X𝖯X\varphi_{X}:\mathsf{P}{X}\to\mathsf{P}^{\prime}{X} is an isomorphism of Heyting algebras if and only if it is an isomorphism between the underlying posets.

To conclude this presentation of triposes, we recall a few facts about left and right adjoints:

Lemma 1.6.

For all maps f:XYf:X\to Y and for all predicates p,p𝖯Xp,p^{\prime}\in\mathsf{P}{X}, we have:

f(pp)=f(p)f(p)f(X)=Yf(pp)=f(p)f(p)f(X)=Y\begin{array}[]{l@{\qquad\qquad}l}\exists{f}(p\lor p^{\prime})~{}=~{}\exists{f}(p)\lor\exists{f}(p^{\prime})&\exists{f}(\bot_{X})~{}=~{}\bot_{Y}\\[3.0pt] \forall{f}(p\land p^{\prime})~{}=~{}\forall{f}(p)\land\forall{f}(p^{\prime})&\forall{f}(\top_{X})~{}=~{}\top_{Y}\\ \end{array}
Proof.

Let us treat the case of f\exists{f}. For all q𝖯Yq\in\mathsf{P}{Y}, we have

f(pp)qiffpp𝖯f(q)iffp𝖯f(q)andp𝖯f(q)ifff(p)qandf(p)qifff(p)f(p)q\begin{array}[]{r@{\quad}c@{\quad}l}\exists{f}(p\lor p^{\prime})\leq q&\text{iff}&p\lor p^{\prime}\leq\mathsf{P}{f}(q)\\ &\text{iff}&p\leq\mathsf{P}{f}(q)~{}{}~{}\text{and}~{}{}~{}p^{\prime}\leq\mathsf{P}{f}(q)\\ &\text{iff}&\exists{f}(p)\leq q~{}{}~{}\text{and}~{}{}~{}\exists{f}(p^{\prime})\leq q\\ &\text{iff}&\exists{f}(p)\lor\exists{f}(p^{\prime})\leq q\\ \end{array}

hence f(pp)=f(p)f(p)\exists{f}(p\lor p^{\prime})=\exists{f}(p)\lor\exists{f}(p^{\prime}). Moreover, we have X𝖯f(Y)\bot_{X}\leq\mathsf{P}{f}(\bot_{Y}), hence f(X)Y\exists{f}(\bot_{X})\leq\bot_{Y}, and thus f(X)=Y\exists{f}(\bot_{X})=\bot_{Y}. The proofs of the corresponding properties for f\forall{f} proceed dually. ∎

Lemma 1.7.

Given a map f:XYf:X\to Y:

  1. (1)

    If ff has an inverse (i.e. ff is bijective), then f\exists{f} and f\forall{f} are the inverse of 𝖯f\mathsf{P}{f}:

    f=f=𝖯f1=(𝖯f)1.\exists{f}~{}=~{}\forall{f}~{}=~{}\mathsf{P}{f^{-1}}~{}=~{}(\mathsf{P}{f})^{-1}\,.
  2. (2)

    If ff has a right inverse, then f\exists{f} and f\forall{f} are left inverses of 𝖯f\mathsf{P}{f}:

    f𝖯f=f𝖯f=id𝖯Y.\exists{f}\circ\mathsf{P}{f}~{}=~{}\forall{f}\circ\mathsf{P}{f}~{}=~{}\mathrm{id}_{\mathsf{P}{Y}}\,.
  3. (3)

    If ff has a left inverse, then f\exists{f} and f\forall{f} are right inverses of 𝖯f\mathsf{P}{f}:

    𝖯ff=𝖯ff=id𝖯X.\mathsf{P}{f}\circ\exists{f}~{}=~{}\mathsf{P}{f}\circ\forall{f}~{}=~{}\mathrm{id}_{\mathsf{P}{X}}\,.
Proof.

(1) If f:XYf:X\to Y is bijective, then for all p𝖯Xp\in\mathsf{P}{X} and q𝖯Yq\in\mathsf{P}{Y}, we have

  • f(p)qiffp𝖯f(q)iff(𝖯f)1(p)q\exists{f}(p)\leq q~{}{}~{}\text{iff}~{}{}~{}p\leq\mathsf{P}{f}(q)~{}{}~{}\text{iff}~{}{}~{}(\mathsf{P}{f})^{-1}(p)\leq q, hence: f=(𝖯f)1(p)=𝖯f1(p).\exists{f}=(\mathsf{P}{f})^{-1}(p)=\mathsf{P}{f^{-1}}(p).

  • qf(p)iff𝖯f(q)piffq(𝖯f)1(p)q\leq\forall{f}(p)~{}{}~{}\text{iff}~{}{}~{}\mathsf{P}{f}(q)\leq p~{}{}~{}\text{iff}~{}{}~{}q\leq(\mathsf{P}{f})^{-1}(p), hence: f=(𝖯f)1(p)=𝖯f1(p).\forall{f}=(\mathsf{P}{f})^{-1}(p)=\mathsf{P}{f^{-1}}(p).

(2) Let g:YXg:Y\to X such that fg=idYf\circ g=\mathrm{id}_{Y}. By functoriality, we get 𝖯g𝖯f=id𝖯Y\mathsf{P}{g}\circ\mathsf{P}{f}=\mathrm{id}_{\mathsf{P}{Y}}, hence the map 𝖯f:𝖯Y𝖯X\mathsf{P}{f}:\mathsf{P}{Y}\to\mathsf{P}{X} is an embedding of posets. For all q,q𝖯Yq,q^{\prime}\in\mathsf{P}{Y}, we thus have:

  • f(𝖯f(q))qiff𝖯f(q)𝖯f(q)iffqq\exists{f}(\mathsf{P}{f}(q))\leq q^{\prime}~{}{}~{}\text{iff}~{}{}~{}\mathsf{P}{f}(q)\leq\mathsf{P}{f}(q^{\prime})~{}{}~{}\text{iff}~{}{}~{}q\leq q^{\prime}, hence f𝖯f=id𝖯Y\exists{f}\circ\mathsf{P}{f}=\mathrm{id}_{\mathsf{P}{Y}}.

  • qf(𝖯f(q))iff𝖯f(q)𝖯f(q)iffqqq^{\prime}\leq\forall{f}(\mathsf{P}{f}(q))~{}{}~{}\text{iff}~{}{}~{}\mathsf{P}{f}(q^{\prime})\leq\mathsf{P}{f}(q)~{}{}~{}\text{iff}~{}{}~{}q^{\prime}\leq q, hence f𝖯f=id𝖯Y\forall{f}\circ\mathsf{P}{f}=\mathrm{id}_{\mathsf{P}{Y}}.

(3) Let g:YXg:Y\to X such that gf=idXg\circ f=\mathrm{id}_{X}. By functoriality, we get gf=gf=id𝖯X\forall{g}\circ\forall{f}=\exists{g}\circ\exists{f}=\mathrm{id}_{\mathsf{P}{X}}, hence f,f:𝖯X𝖯Y\exists{f},\forall{f}:\mathsf{P}{X}\to\mathsf{P}{Y} are embeddings of posets. For all p,p𝖯Xp,p^{\prime}\in\mathsf{P}{X}, we thus have:

  • p𝖯f(f(p))ifff(p)f(p)iffppp^{\prime}\leq\mathsf{P}{f}(\exists{f}(p))~{}{}~{}\text{iff}~{}{}~{}\exists{f}(p^{\prime})\leq\exists{f}(p)~{}{}~{}\text{iff}~{}{}~{}p^{\prime}\leq p, hence 𝖯ff=id𝖯X\mathsf{P}{f}\circ\exists{f}=\mathrm{id}_{\mathsf{P}{X}}.

  • 𝖯f(f(p))pifff(p)f(p)iffpp\mathsf{P}{f}(\forall{f}(p))\leq p^{\prime}~{}{}~{}\text{iff}~{}{}~{}\forall{f}(p)\leq\forall{f}(p^{\prime})~{}{}~{}\text{iff}~{}{}~{}p\leq p^{\prime}, hence 𝖯ff=id𝖯X\mathsf{P}{f}\circ\forall{f}=\mathrm{id}_{\mathsf{P}{X}}.∎

1.2. Implicative algebras

Recall that:

  • An implicative structure is a complete (meet-semi)lattice (𝒜,)(\mathscr{A},{\preccurlyeq}) equipped with a binary operation ():𝒜2𝒜({\to}):\mathscr{A}^{2}\to\mathscr{A} such that:

    1. (1)

      If aaa^{\prime}\preccurlyeq a and bbb\preccurlyeq b^{\prime},  then  (ab)(ab)(a\to b)\preccurlyeq(a^{\prime}\to b^{\prime}).

    2. (2)

      For all a𝒜a\in\mathscr{A} and B𝒜B\subseteq\mathscr{A}, we have: abBb=bB(ab)\displaystyle a\to\bigcurlywedge_{b\in B}\!\!b~{}=~{}\bigcurlywedge_{b\in B}\!(a\to b).

  • A separator of an implicative structure (𝒜,,)(\mathscr{A},{\preccurlyeq},{\to}) is a subset S𝒜S\subseteq\mathscr{A} such that:

    1. (1)

      If aSa\in S and aaa\preccurlyeq a^{\prime}, then aSa^{\prime}\in S.

    2. (2)

      a,b𝒜(abc)(=𝐊𝒜)S\bigcurlywedge_{a,b\in\mathscr{A}}(a\to b\to c)~{}{}~{}({=}~{}\mathbf{K}^{\mathscr{A}})~{}\in~{}S and
      a,b,c𝒜((abc)(ab)ac)(=𝐒𝒜)S\bigcurlywedge_{a,b,c\in\mathscr{A}}((a\to b\to c)\to(a\to b)\to a\to c)~{}{}~{}({=}~{}\mathbf{S}^{\mathscr{A}})~{}\in~{}S.

    3. (3)

      If (ab)S(a\to b)\in S and aSa\in S, then bSb\in S.

    Moreover, we say that a separator S𝒜S\subseteq\mathscr{A} is classical when

    1. (4)

      a,b𝒜(((ab)a)a)(=𝐜𝐜𝒜)S\bigcurlywedge_{a,b\in\mathscr{A}}(((a\to b)\to a)\to a)~{}{}~{}({=}~{}\mathbf{cc}^{\mathscr{A}})~{}\in~{}S.

  • An implicative algebra is a quadruple (𝒜,,,S)(\mathscr{A},{\preccurlyeq},{\to},S) where (𝒜,,)(\mathscr{A},{\preccurlyeq},{\to}) is an implicative structure and where S𝒜S\subseteq\mathscr{A} is a separator. An implicative algebra is classical when the underlying separator S𝒜S\subseteq\mathscr{A} is classical.

In [3, §4], we have seen that each implicative algebra (𝒜,,,S)(\mathscr{A},{\preccurlyeq},{\to},S) induces a 𝐒𝐞𝐭\mathbf{Set}-based tripos 𝖯:𝐒𝐞𝐭op𝐇𝐀\mathsf{P}:\mathbf{Set}^{\mathrm{op}}\to\mathbf{HA} that is defined as follows:

  • For each set XX, the corresponding Heyting algebra 𝖯X\mathsf{P}{X} is defined as the poset reflection of the preordered set (𝒜X,S[X])(\mathscr{A}^{X},\vdash_{S[X]}) whose preorder S[X]\vdash_{S[X]} is given by

    (for alla,b𝒜X) aS[X]bxX(axbx)Sa\vdash_{S[X]}b\quad\Leftrightarrow\quad\bigcurlywedge_{x\in X}(a_{x}\to b_{x})~{}\in~{}S

    The quotient 𝒜X/⊣⊢S[X](=𝖯X)\mathscr{A}^{X}/{\mathrel{{\dashv}{\vdash}}_{S[X]}}~{}({=}~{}\mathsf{P}{X}) is also written 𝒜X/S[X]\mathscr{A}^{X}/S[X].

  • For each map f:XYf:X\to Y, the corresponding substitution map 𝖯f:𝖯Y𝖯X\mathsf{P}{f}:\mathsf{P}{Y}\to\mathsf{P}{X} is the (unique) morphism of Heyting algebras that factors the map 𝒜f:𝒜Y𝒜X\mathscr{A}^{f}:\mathscr{A}^{Y}\to\mathscr{A}^{X} through the quotients 𝖯Y=𝒜Y/S[Y]\mathsf{P}{Y}=\mathscr{A}^{Y}/S[Y] and 𝖯X=𝒜X/S[X]\mathsf{P}{X}=\mathscr{A}^{X}/S[X].

The aim of this paper is thus to show that all 𝐒𝐞𝐭\mathbf{Set}-based triposes are of this form.

2. Anatomy of a 𝐒𝐞𝐭\mathbf{Set}-based tripos

The results presented in this section are essentially taken from [2, 4].

2.1. The generic predicate

From now on, we work with a fixed tripos 𝖯:𝐒𝐞𝐭op𝐇𝐀\mathsf{P}:\mathbf{Set}^{\mathrm{op}}\to\mathbf{HA}.

From the definition, 𝖯\mathsf{P} has a generic predicate, that is: a predicate trΣ𝖯Σ\textit{tr}_{\Sigma}\in\mathsf{P}\Sigma (for some set Σ\Sigma) such that for each set XX, the corresponding ‘decoding map’ is surjective:

_X:ΣX𝖯Xσ𝖯σ(trΣ)\begin{array}[]{r@{~{}~}c@{~{}~}l}\llbracket\_\rrbracket_{X}~{}:~{}\Sigma^{X}~{}{}&\to\hfil~{}{}&\mathsf{P}{X}\\ \sigma~{}{}&\mapsto\hfil~{}{}&\mathsf{P}\sigma(\textit{tr}_{\Sigma})\\ \end{array}

Intuitively, Σ\Sigma can be thought of as the set of (codes of) propositions, whereas ΣX\Sigma^{X} can be thought of as the set of propositional functions over XX. The above condition thus expresses that each predicate p𝖯Xp\in\mathsf{P}{X} is represented by at least one propositional function σΣX\sigma\in\Sigma^{X} such that σX=p\llbracket\sigma\rrbracket_{X}=p, which we shall call a code for the predicate pp.

Notation 2.1.

Given a code σΣX\sigma\in\Sigma^{X}, the predicate σX𝖯X\llbracket\sigma\rrbracket_{X}\in\mathsf{P}{X} will be often written σxxX\llbracket\sigma_{x}\rrbracket_{x\in{X}}. In particular, given an individual code ξΣ\xi\in\Sigma, we write (ξ)_1Σ1(\xi)_{\_\in 1}\in\Sigma^{1} the corresponding constant family indexed by the singleton 11, and ξ_1𝖯1\llbracket\xi\rrbracket_{\_\in 1}\in\mathsf{P}{1} the associated predicate.

Fact 2.2 (Naturality of _X\llbracket\_\rrbracket_{X}).

The decoding map _X:ΣX𝖯X\llbracket\_\rrbracket_{X}:\Sigma^{X}\to\mathsf{P}{X} is natural in XX, in the sense that for each map f:XYf:X\to Y, the following diagram commutes:

(σΣY) ΣX_X𝖯XΣY_Y_f𝖯Y𝖯fσfX=𝖯f(σY)\begin{array}[]{@{}c@{}}\lx@xy@svg{\hbox{\raise 0.0pt\hbox{\kern 21.18057pt\hbox{\ignorespaces\ignorespaces\ignorespaces\hbox{\vtop{\kern 0.0pt\offinterlineskip\halign{\entry@#!@&&\entry@@#!@\cr&\\&\\}}}\ignorespaces{\hbox{\kern-9.15056pt\raise 0.0pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{\Sigma^{X}\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$}}}}}}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern 8.23013pt\raise 7.5pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-2.5pt\hbox{$\scriptstyle{\llbracket\_\rrbracket_{X}}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 33.15056pt\raise 0.0pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}{\hbox{\kern 33.15056pt\raise 0.0pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{\mathsf{P}{X}}$}}}}}}}{\hbox{\kern-8.85889pt\raise-38.74664pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{\Sigma^{Y}\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$}}}}}}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern 8.43848pt\raise-46.24664pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-2.5pt\hbox{$\scriptstyle{\llbracket\_\rrbracket_{Y}}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 33.67139pt\raise-38.74664pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern-21.18057pt\raise-19.37332pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-2.5pt\hbox{$\scriptstyle{\_\circ f}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 0.0pt\raise-3.0pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}{\hbox{\kern 33.67139pt\raise-38.74664pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\raise 0.0pt\hbox{$\textstyle{\mathsf{P}{Y}\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$}}}}}}}\ignorespaces\ignorespaces\ignorespaces\ignorespaces{}{\hbox{\lx@xy@droprule}}\ignorespaces\ignorespaces\ignorespaces{\hbox{\kern 44.08806pt\raise-19.37332pt\hbox{{}\hbox{\kern 0.0pt\raise 0.0pt\hbox{\hbox{\kern 3.0pt\hbox{\hbox{\kern 0.0pt\raise-1.75pt\hbox{$\scriptstyle{\mathsf{P}{f}}$}}}\kern 3.0pt}}}}}}\ignorespaces{\hbox{\kern 44.08806pt\raise-3.0pt\hbox{\hbox{\kern 0.0pt\raise 0.0pt\hbox{\lx@xy@tip{1}\lx@xy@tip{-1}}}}}}{\hbox{\lx@xy@droprule}}{\hbox{\lx@xy@droprule}}\ignorespaces}}}}\ignorespaces\\ \end{array}\qquad\llbracket\sigma\circ f\rrbracket_{X}~{}=~{}\mathsf{P}{f}(\llbracket\sigma\rrbracket_{Y})
Proof.

For all σΣY\sigma\in\Sigma^{Y}, we have  σfX=𝖯(σf)(trΣ)=𝖯f(𝖯σ(trΣ))=𝖯f(σY)\llbracket\sigma\circ f\rrbracket_{X}=\mathsf{P}(\sigma\circ f)(\textit{tr}_{\Sigma})=\mathsf{P}{f}(\mathsf{P}\sigma(\textit{tr}_{\Sigma}))=\mathsf{P}{f}(\llbracket\sigma\rrbracket_{Y}). ∎

Remarks 2.3 (Non-uniqueness of generic predicates).

It is important to observe that in a 𝐒𝐞𝐭\mathbf{Set}-based tripos 𝖯\mathsf{P}, the generic predicate is never unique.

  • Indeed, given a generic predicate trΣ𝖯Σ\textit{tr}_{\Sigma}\in\mathsf{P}\Sigma and a surjection h:ΣΣh:\Sigma^{\prime}\to\Sigma, we can always construct another generic predicate trΣ𝖯Σ\textit{tr}_{\Sigma^{\prime}}\in\mathsf{P}\Sigma^{\prime} by letting trΣ=𝖯h(trΣ)\textit{tr}_{\Sigma^{\prime}}=\mathsf{P}{h}(\textit{tr}_{\Sigma})111To prove that trΣ𝖯Σ\textit{tr}_{\Sigma^{\prime}}\in\mathsf{P}\Sigma^{\prime} is another generic predicate, we actually need a right inverse of h:ΣΣh:\Sigma^{\prime}\to\Sigma, which exists by (AC). Without (AC), the same argument works by replacing ‘surjective’ with ‘having a right inverse’..

  • More generally, if trΣ𝖯Σ\textit{tr}_{\Sigma}\in\mathsf{P}\Sigma and trΣ𝖯Σ\textit{tr}_{\Sigma^{\prime}}\in\mathsf{P}\Sigma^{\prime} are two generic predicates of the same tripos 𝖯\mathsf{P}, then there always exist two conversion maps h:ΣΣh:\Sigma^{\prime}\to\Sigma and h:ΣΣh^{\prime}:\Sigma\to\Sigma^{\prime} such that trΣ=𝖯h(trΣ)\textit{tr}_{\Sigma^{\prime}}=\mathsf{P}{h}(\textit{tr}_{\Sigma}) and trΣ=𝖯h(trΣ)\textit{tr}_{\Sigma}=\mathsf{P}{h^{\prime}}(\textit{tr}_{\Sigma^{\prime}}).

In what follows, we will work with a fixed generic predicate trΣ𝖯Σ\textit{tr}_{\Sigma}\in\mathsf{P}\Sigma.

2.2. Defining connectives on Σ\Sigma

We want to show that the operations \land, \lor and \to on each Heyting algebra 𝖯X\mathsf{P}{X} (X𝐒𝐞𝐭X\in\mathbf{Set}) can be derived from analogous operations on the generic set Σ\Sigma of propositions. For that, we pick codes (˙),(˙),(˙)ΣΣ×Σ({\mathbin{\dot{{\land}}}}),({\mathbin{\dot{{\lor}}}}),({\mathbin{\dot{{\to}}}})\in\Sigma^{\Sigma\times\Sigma} such that

˙Σ×Σ=πΣ×ΣπΣ×Σ˙Σ×Σ=πΣ×ΣπΣ×Σ˙Σ×Σ=πΣ×ΣπΣ×Σ(𝖯(Σ×Σ))(𝖯(Σ×Σ))(𝖯(Σ×Σ))\begin{array}[]{r@{~{}~}c@{~{}~}l}\llbracket\mathbin{\dot{{\land}}}\rrbracket_{\Sigma\times\Sigma}~{}{}&=\hfil~{}{}&\llbracket\pi\rrbracket_{\Sigma\times\Sigma}\land\llbracket\pi^{\prime}\rrbracket_{\Sigma\times\Sigma}\\[3.0pt] \llbracket\mathbin{\dot{{\lor}}}\rrbracket_{\Sigma\times\Sigma}~{}{}&=\hfil~{}{}&\llbracket\pi\rrbracket_{\Sigma\times\Sigma}\lor\llbracket\pi^{\prime}\rrbracket_{\Sigma\times\Sigma}\\[3.0pt] \llbracket\mathbin{\dot{{\to}}}\rrbracket_{\Sigma\times\Sigma}~{}{}&=\hfil~{}{}&\llbracket\pi\rrbracket_{\Sigma\times\Sigma}\to\llbracket\pi^{\prime}\rrbracket_{\Sigma\times\Sigma}\\ \end{array}\begin{array}[]{r@{}}({\in}~{}\mathsf{P}(\Sigma\times\Sigma))\\[3.0pt] ({\in}~{}\mathsf{P}(\Sigma\times\Sigma))\\[3.0pt] ({\in}~{}\mathsf{P}(\Sigma\times\Sigma))\\ \end{array}

writing π,π:Σ×ΣΣ\pi,\pi^{\prime}:\Sigma\times\Sigma\to\Sigma the two projections from Σ×Σ\Sigma\times\Sigma to Σ\Sigma.

Proposition 2.4.

Let XX be a set. For all codes σ,τΣX\sigma,\tau\in\Sigma^{X}, we have

σx˙τxxX=σXτXσx˙τxxX=σXτXσx˙τxxX=σXτX(𝖯X)(𝖯X)(𝖯X)\begin{array}[]{r@{~{}~}c@{~{}~}l}\llbracket\sigma_{x}\mathbin{\dot{{\land}}}\tau_{x}\rrbracket_{x\in X}~{}{}&=\hfil~{}{}&\llbracket\sigma\rrbracket_{X}\land\llbracket\tau\rrbracket_{X}\\[3.0pt] \llbracket\sigma_{x}\mathbin{\dot{{\lor}}}\tau_{x}\rrbracket_{x\in X}~{}{}&=\hfil~{}{}&\llbracket\sigma\rrbracket_{X}\lor\llbracket\tau\rrbracket_{X}\\[3.0pt] \llbracket\sigma_{x}\mathbin{\dot{{\to}}}\tau_{x}\rrbracket_{x\in X}~{}{}&=\hfil~{}{}&\llbracket\sigma\rrbracket_{X}\to\llbracket\tau\rrbracket_{X}\\ \end{array}\begin{array}[]{r@{}}({\in}~{}\mathsf{P}{X})\\[3.0pt] ({\in}~{}\mathsf{P}{X})\\[3.0pt] ({\in}~{}\mathsf{P}{X})\\ \end{array}
Proof.

Let us treat (for instance) the case of implication:

σx˙τxxX=(˙)σ,τX=𝖯σ,τ˙Σ×Σ=𝖯σ,τ(πΣ×ΣπΣ×Σ)=𝖯σ,τ(πΣ×Σ)𝖯σ,τ(πΣ×Σ)=πσ,τXπσ,τX=σXτX.\begin{array}[b]{r@{~{}~}c@{~{}~}l}\llbracket\sigma_{x}\mathbin{\dot{{\to}}}\tau_{x}\rrbracket_{x\in X}~{}{}&=\hfil~{}{}&\llbracket({\mathbin{\dot{{\to}}}})\circ\langle\sigma,\tau\rangle\rrbracket_{X}~{}=~{}\mathsf{P}\langle\sigma,\tau\rangle\llbracket{\mathbin{\dot{{\to}}}}\rrbracket_{\Sigma\times\Sigma}\\ ~{}{}&=\hfil~{}{}&\mathsf{P}\langle\sigma,\tau\rangle\bigl{(}\llbracket\pi\rrbracket_{\Sigma\times\Sigma}\to\llbracket\pi^{\prime}\rrbracket_{\Sigma\times\Sigma}\bigr{)}\\ ~{}{}&=\hfil~{}{}&\mathsf{P}\langle\sigma,\tau\rangle\bigl{(}\llbracket\pi\rrbracket_{\Sigma\times\Sigma}\bigr{)}\to\mathsf{P}\langle\sigma,\tau\rangle\bigl{(}\llbracket\pi^{\prime}\rrbracket_{\Sigma\times\Sigma}\bigr{)}\\ ~{}{}&=\hfil~{}{}&\llbracket\pi\circ\langle\sigma,\tau\rangle\rrbracket_{X}\to\llbracket\pi^{\prime}\circ\langle\sigma,\tau\rangle\rrbracket_{X}~{}=~{}\llbracket\sigma\rrbracket_{X}\to\llbracket\tau\rrbracket_{X}\,.\\ \end{array}

Similarly, we pick codes ˙,˙Σ\dot{\bot},\dot{\top}\in\Sigma such that

˙_1=1𝖯(1)and˙_1=1𝖯(1).\llbracket\dot{\bot}\rrbracket_{\_\in 1}=\bot_{1}\in\mathsf{P}(1)\qquad\text{and}\qquad\llbracket\dot{\top}\rrbracket_{\_\in 1}=\top_{1}\in\mathsf{P}(1)\,.

Again, we easily check that:

Proposition 2.5.

For each set XX, we have:

˙xX=X˙xX=X(𝖯X)(𝖯X)\begin{array}[]{r@{~{}~}r@{~{}~}c@{~{}~}l}\llbracket\dot{\bot}\rrbracket_{x\in X}~{}{}&=~{}{}&\bot_{X}\hfil~{}{}\\[3.0pt] \llbracket\dot{\top}\rrbracket_{x\in X}~{}{}&=~{}{}&\top_{X}\hfil~{}{}\\ \end{array}\begin{array}[]{r@{}}({\in}~{}\mathsf{P}{X})\\[3.0pt] ({\in}~{}\mathsf{P}{X})\\ \end{array}
Proof.

Let us treat (for instance) the case of \top:

˙xX=(˙)_11XX=𝖯1X(˙_1)=𝖯1X(1)=X\llbracket\dot{\top}\rrbracket_{x\in X}~{}=~{}\llbracket(\dot{\top})_{\_\in 1}\circ 1_{X}\rrbracket_{X}~{}=~{}\mathsf{P}{1_{X}}(\llbracket\dot{\top}\rrbracket_{\_\in 1})~{}=~{}\mathsf{P}{1_{X}}(\top_{1})~{}=~{}\top_{X}

(writing 1X:X11_{X}:X\to 1 the unique map from XX to 11). ∎

2.3. Defining quantifiers on Σ\Sigma

In this section, we propose to show that the adjoints

(for eachf:XY) f,f:𝖯X𝖯Y\exists{f},\forall{f}~{}:~{}\mathsf{P}{X}\to\mathsf{P}{Y}

can be derived from suitable quantifiers on the generic set Σ\Sigma of propositions. For that, we consider the membership relation E:={(ξ,s):ξs}Σ×𝔓(Σ)E:=\{(\xi,s):\xi\in s\}\subseteq\Sigma\times\mathfrak{P}(\Sigma) and write e1:EΣe_{1}:E\to\Sigma and e2:E𝔓(Σ)e_{2}:E\to\mathfrak{P}(\Sigma) the corresponding projections. We pick two codes ˙,˙Σ𝔓(Σ)\mathbin{\dot{{\bigvee}}},\mathbin{\dot{{\bigwedge}}}\in\Sigma^{\mathfrak{P}(\Sigma)} such that

˙𝔓(Σ)=e2(e1E)˙𝔓(Σ)=e2(e1E)(𝖯(𝔓(Σ)))(𝖯(𝔓(Σ)))\begin{array}[]{r@{~~}c@{~~}l}\llbracket\mathbin{\dot{{\bigvee}}}\rrbracket_{\mathfrak{P}(\Sigma)}~{}~{}&=\hfil~{}~{}&\exists{e_{2}}(\llbracket e_{1}\rrbracket_{E})\\[3.0pt] \llbracket\mathbin{\dot{{\bigwedge}}}\rrbracket_{\mathfrak{P}(\Sigma)}~{}~{}&=\hfil~{}~{}&\forall{e_{2}}(\llbracket e_{1}\rrbracket_{E})\\ \end{array}\begin{array}[]{r@{}}({\in}~{}\mathsf{P}(\mathfrak{P}(\Sigma)))\\[3.0pt] ({\in}~{}\mathsf{P}(\mathfrak{P}(\Sigma)))\\ \end{array}
Proposition 2.6.

Given a code σΣX\sigma\in\Sigma^{X} and a map f:XYf:X\to Y, we have:

˙{σx:xf1(y)}yY=f(σX)˙{σx:xf1(y)}yY=f(σX)(𝖯Y)(𝖯Y)\begin{array}[]{r@{~{}~}c@{~{}~}l}\bigl{\llbracket}\mathbin{\dot{{\bigvee}}}\{\sigma_{x}:x\in f^{-1}(y)\}\bigr{\rrbracket}_{y\in Y}~{}{}&=\hfil~{}{}&\exists{f}(\llbracket\sigma\rrbracket_{X})\\[6.0pt] \bigl{\llbracket}\mathbin{\dot{{\bigwedge}}}\{\sigma_{x}:x\in f^{-1}(y)\}\bigr{\rrbracket}_{y\in Y}~{}{}&=\hfil~{}{}&\forall{f}(\llbracket\sigma\rrbracket_{X})\\ \end{array}\begin{array}[]{r@{}}({\in}~{}\mathsf{P}{Y})\\[6.0pt] ({\in}~{}\mathsf{P}{Y})\\ \end{array}
Proof.

Let us define the map h:Y𝔓(Σ)h:Y\to\mathfrak{P}(\Sigma) by h(y):={σx:xf1(y)}h(y):=\{\sigma_{x}:x\in f^{-1}(y)\} for all yYy\in Y. From this definition and from the definitions of ˙\mathbin{\dot{{\bigvee}}}, ˙\mathbin{\dot{{\bigwedge}}}, we get

˙{σx:xf1(y)}yY=˙hY=𝖯h(˙𝔓(Σ))=𝖯h(e2(e1E))˙{σx:xf1(y)}yY=˙hY=𝖯h(˙𝔓(Σ))=𝖯h(e2(e1E))\begin{array}[]{rcl}\llbracket\mathbin{\dot{{\bigvee}}}\{\sigma_{x}:x\in f^{-1}(y)\}\rrbracket_{y\in Y}&=&\llbracket{\mathbin{\dot{{\bigvee}}}}\circ h\rrbracket_{Y}~{}=~{}\mathsf{P}{h}\bigl{(}\llbracket\mathbin{\dot{{\bigvee}}}\rrbracket_{\mathfrak{P}(\Sigma)}\bigr{)}~{}=~{}\mathsf{P}{h}\bigl{(}\exists{e_{2}}(\llbracket e_{1}\rrbracket_{E})\bigr{)}\\[3.0pt] \llbracket\mathbin{\dot{{\bigwedge}}}\{\sigma_{x}:x\in f^{-1}(y)\}\rrbracket_{y\in Y}&=&\llbracket{\mathbin{\dot{{\bigwedge}}}}\circ h\rrbracket_{Y}~{}=~{}\mathsf{P}{h}\bigl{(}\llbracket\mathbin{\dot{{\bigwedge}}}\rrbracket_{\mathfrak{P}(\Sigma)}\bigr{)}~{}=~{}\mathsf{P}{h}\bigl{(}\forall{e_{2}}(\llbracket e_{1}\rrbracket_{E})\bigr{)}\\ \end{array}

Let us now consider the set GΣ×YG\subseteq\Sigma\times Y defined by G:={(σx,f(x)):xX}G:=\{(\sigma_{x},f(x)):x\in X\} as well as the two functions g:GYg:G\to Y and g:GEg^{\prime}:G\to E given by

(for all(ξ,y)G) g(ξ,y):=yandg(ξ,y):=(ξ,h(y))g(\xi,y)~{}:=~{}y\qquad\text{and}\qquad g^{\prime}(\xi,y)~{}:=~{}(\xi,h(y))

We observe that the following diagram is a pullback in 𝐒𝐞𝐭\mathbf{Set}:

G    \textstyle{G\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\hbox to0.0pt{\vbox to0.0pt{\hbox to6.0pt{\vbox to6.0pt{\hbox to6.0pt{\hfil}\vfil\hrule}\hskip-0.4pt\vrule}\vss}\hss}}g\scriptstyle{g}g\scriptstyle{g^{\prime}}Y\textstyle{Y\ignorespaces\ignorespaces\ignorespaces\ignorespaces}h\scriptstyle{h}E\textstyle{E\ignorespaces\ignorespaces\ignorespaces\ignorespaces}e2\scriptstyle{e_{2}}𝔓(Σ)\textstyle{\mathfrak{P}(\Sigma)}

Hence 𝖯he2=g𝖯g\mathsf{P}{h}\circ\exists{e_{2}}=\exists{g}\circ\mathsf{P}{g^{\prime}} and 𝖯he2=g𝖯g\mathsf{P}{h}\circ\forall{e_{2}}=\forall{g}\circ\mathsf{P}{g^{\prime}} (Beck-Chevalley), and thus:

˙{σx:xf1(y)}yY=(𝖯he2)(e1E)=(g𝖯g)(e1E)˙{σx:xf1(y)}yY=(𝖯he2)(e1E)=(g𝖯g)(e1E)\begin{array}[]{rcl}\bigl{\llbracket}\mathbin{\dot{{\bigvee}}}\{\sigma_{x}:x\in f^{-1}(y)\}\bigr{\rrbracket}_{y\in Y}&=&(\mathsf{P}{h}\circ\exists{e_{2}})(\llbracket e_{1}\rrbracket_{E})~{}=~{}(\exists{g}\circ\mathsf{P}{g^{\prime}})(\llbracket e_{1}\rrbracket_{E})\\[3.0pt] \bigl{\llbracket}\mathbin{\dot{{\bigwedge}}}\{\sigma_{x}:x\in f^{-1}(y)\}\bigr{\rrbracket}_{y\in Y}&=&(\mathsf{P}{h}\circ\forall{e_{2}})(\llbracket e_{1}\rrbracket_{E})~{}=~{}(\forall{g}\circ\mathsf{P}{g^{\prime}})(\llbracket e_{1}\rrbracket_{E})\\ \end{array}

Now we consider the map q:XGq:X\to G defined by q(x)=(σx,f(x))q(x)=(\sigma_{x},f(x)) for all xXx\in X. Since qq is surjective, it has a right inverse by (AC), hence we have q𝖯q=q𝖯q=id𝖯G\exists{q}\circ\mathsf{P}{q}=\forall{q}\circ\mathsf{P}{q}=\mathrm{id}_{\mathsf{P}{G}} by Lemma 1.7 (2). Therefore:

˙{σx:xf1(y)}yY=(g𝖯g)(e1E)=(gq𝖯q𝖯g)(e1E)=((gq)𝖯(gq))(e1E)=f(𝖯(gq)(e1E))=f(e1gqX)=f(σX)\begin{array}[]{r@{~~}c@{~~}l}\bigl{\llbracket}\mathbin{\dot{{\bigvee}}}\{\sigma_{x}:x\in f^{-1}(y)\}\bigr{\rrbracket}_{y\in Y}~{}~{}&=\hfil~{}~{}&(\exists{g}\circ\mathsf{P}{g^{\prime}})(\llbracket e_{1}\rrbracket_{E})~{}=~{}(\exists{g}\circ\exists{q}\circ\mathsf{P}{q}\circ\mathsf{P}{g^{\prime}})(\llbracket e_{1}\rrbracket_{E})\\ ~{}~{}&=\hfil~{}~{}&\bigl{(}\exists(g\circ q)\circ\mathsf{P}(g^{\prime}\circ q)\bigr{)}(\llbracket e_{1}\rrbracket_{E})~{}=~{}\exists{f}\bigl{(}\mathsf{P}(g^{\prime}\circ q)(\llbracket e_{1}\rrbracket_{E})\bigr{)}\\ ~{}~{}&=\hfil~{}~{}&\exists{f}\bigl{(}\llbracket e_{1}\circ g^{\prime}\circ q\rrbracket_{X}\bigr{)}~{}=~{}\exists{f}(\llbracket\sigma\rrbracket_{X})\\ \end{array}

(since gq=fg\circ q=f and e1gq=σe_{1}\circ g^{\prime}\circ q=\sigma). And similarly for {\forall}. ∎

2.4. Defining the ‘filter’ Φ\Phi

In Sections 2.2 and 2.3, we introduced codes (˙),(˙),(˙)ΣΣ×Σ({\mathbin{\dot{{\land}}}}),({\mathbin{\dot{{\lor}}}}),(\mathbin{\dot{{\to}}})\in\Sigma^{\Sigma\times\Sigma} and ˙,˙Σ𝔓(Σ)\mathbin{\dot{{\bigvee}}},\mathbin{\dot{{\bigwedge}}}\in\Sigma^{\mathfrak{P}(\Sigma)} such that for all sets XX and for all predicates p,q𝖯Xp,q\in\mathsf{P}{X}:

  • If σ,τΣX\sigma,\tau\in\Sigma^{X} are codes for p,q𝖯Xp,q\in\mathsf{P}{X}, respectively, then:

    (σx˙τx)xX(ΣX)is a code forpq(𝖯X)(σx˙τx)xX(ΣX)is a code forpq(𝖯X)(σx˙τx)xX(ΣX)is a code forpq(𝖯X)\begin{array}[]{l@{\quad}l@{\qquad}l@{\qquad}l@{\quad}l}(\sigma_{x}\mathbin{\dot{{\land}}}\tau_{x})_{x\in X}&({\in}~{}\Sigma^{X})&\text{is a code for}&p\land q&({\in}~{}\mathsf{P}{X})\\[3.0pt] (\sigma_{x}\mathbin{\dot{{\lor}}}\tau_{x})_{x\in X}&({\in}~{}\Sigma^{X})&\text{is a code for}&p\lor q&({\in}~{}\mathsf{P}{X})\\[3.0pt] (\sigma_{x}\mathbin{\dot{{\to}}}\tau_{x})_{x\in X}&({\in}~{}\Sigma^{X})&\text{is a code for}&p\to q&({\in}~{}\mathsf{P}{X})\\ \end{array}
  • If σΣX\sigma\in\Sigma^{X} is a code for p𝖯Xp\in\mathsf{P}{X} and if f:XYf:X\to Y is any map, then:

    (˙{σx:xf1(y)})yY(ΣY)is a code forf(p)(𝖯Y)(˙{σx:xf1(y)})yY(ΣY)is a code forf(p)(𝖯Y)\begin{array}[]{l@{\quad}l@{\qquad}l@{\qquad}l@{\quad}l}\Bigl{(}{\textstyle\mathbin{\dot{{\bigvee}}}}\bigl{\{}\sigma_{x}:x\in f^{-1}(y)\bigr{\}}\Bigr{)}_{y\in Y}&({\in}~{}\Sigma^{Y})&\text{is a code for}&\exists{f}(p)&({\in}~{}\mathsf{P}{Y})\\[6.0pt] \Bigl{(}{\textstyle\mathbin{\dot{{\bigwedge}}}}\bigl{\{}\sigma_{x}:x\in f^{-1}(y)\bigr{\}}\Bigr{)}_{y\in Y}&({\in}~{}\Sigma^{Y})&\text{is a code for}&\forall{f}(p)&({\in}~{}\mathsf{P}{Y})\\ \end{array}

It now remains to characterize the ordering on each Heyting algebra 𝖯X\mathsf{P}{X} from the above constructions in Σ\Sigma. For that, we consider the set ΦΣ\Phi\subseteq\Sigma defined by Φ:={ξΣ:ξ_1=1}\Phi:=\{\xi\in\Sigma:\llbracket\xi\rrbracket_{\_\in 1}=\top_{1}\}, writing 1\top_{1} the top element of 𝖯1\mathsf{P}{1}. We check that:

Proposition 2.7.

For all X𝐒𝐞𝐭X\in\mathbf{Set} and σ,τΣX\sigma,\tau\in\Sigma^{X}, we have

σXτXiff˙{σx˙τx:xX}Φ.\llbracket\sigma\rrbracket_{X}\leq\llbracket\tau\rrbracket_{X}\qquad\text{iff}\qquad{\textstyle\mathbin{\dot{{\bigwedge}}}}\{\sigma_{x}\mathbin{\dot{{\to}}}\tau_{x}:x\in X\}\in\Phi\,.
Proof.

Writing 1X:X11_{X}:X\to 1 the unique map from XX to 11, we have:

σXτXiffXσXτXiff𝖯1X(1)σx˙τxxXiff11X(σx˙τxxX)iff1˙{σx˙τx:xX}_1iff˙{σx˙τx:xX}Φ\begin{array}[b]{r@{\quad}c@{\quad}l}\llbracket\sigma\rrbracket_{X}\leq\llbracket\tau\rrbracket_{X}&\text{iff}&\top_{X}\leq\llbracket\sigma\rrbracket_{X}\to\llbracket\tau\rrbracket_{X}\\ &\text{iff}&\mathsf{P}{1_{X}}(\top_{1})\leq\llbracket\sigma_{x}\mathbin{\dot{{\to}}}\tau_{x}\rrbracket_{x\in X}\\ &\text{iff}&\top_{1}\leq\forall{1_{X}}\bigl{(}\llbracket\sigma_{x}\mathbin{\dot{{\to}}}\tau_{x}\rrbracket_{x\in X}\bigr{)}\\ &\text{iff}&\top_{1}\leq\bigl{\llbracket}\mathbin{\dot{{\bigwedge}}}\{\sigma_{x}\mathbin{\dot{{\to}}}\tau_{x}:x\in X\}\bigr{\rrbracket}_{\_\in 1}\\ &\text{iff}&\mathbin{\dot{{\bigwedge}}}\{\sigma_{x}\mathbin{\dot{{\to}}}\tau_{x}:x\in X\}\in\Phi\\ \end{array}

So that we can complete the above correspondence between the operations on the Heyting algebra 𝖯X\mathsf{P}{X} and the analogous operations on the set Σ\Sigma by concluding that:

  • If σ,τΣX\sigma,\tau\in\Sigma^{X} are codes for p,q𝖯Xp,q\in\mathsf{P}{X}, respectively, then:

    pq(𝖯X)iff˙xX(σx˙τx)Φ(Σ)p\leq q\quad({\in}~{}\mathsf{P}{X})\qquad\text{iff}\qquad\mathop{\mathbin{\dot{{\bigwedge}}}}\limits_{x\in X}(\sigma_{x}\mathbin{\dot{{\to}}}\tau_{x})~{}\in~{}\Phi\quad({\subseteq}~{}\Sigma)
Remark 2.8.

At this stage, it would be tempting to see the set Σ\Sigma as a complete Heyting algebra whose structure is given by the operations ˙,˙,˙,˙,˙{\mathbin{\dot{{\land}}}},{\mathbin{\dot{{\lor}}}},{\mathbin{\dot{{\to}}}},\mathbin{\dot{{\bigvee}}},\mathbin{\dot{{\bigwedge}}}, while seeing the subset ΦΣ\Phi\subseteq\Sigma as a particular filter of Σ\Sigma. Alas, the above operations come with absolutely no algebraic property, since in general we have

ξ˙ξξ,ξ˙ξξ˙ξ,ξ˙ξ˙,˙{ξ}˙{ξ}ξ,etc.\xi\mathbin{\dot{{\land}}}\xi\neq\xi,\qquad\xi\mathbin{\dot{{\land}}}\xi^{\prime}\neq\xi^{\prime}\mathbin{\dot{{\land}}}\xi,\qquad\xi\mathbin{\dot{{\to}}}\xi\neq\dot{\top},\qquad{\textstyle\mathbin{\dot{{\bigvee}}}}\{\xi\}\neq{\textstyle\mathbin{\dot{{\bigwedge}}}}\{\xi\}\neq\xi,\qquad\text{etc.}

So that in the end, these operations fail to endow the set Σ\Sigma with the structure of a (complete) Heyting algebra—although they are sufficient in practice to characterize the whole structure of the tripos 𝖯:𝐒𝐞𝐭op𝐇𝐀\mathsf{P}:\mathbf{Set}^{\mathrm{op}}\to\mathbf{HA} via the pseudo-filter ΦΣ\Phi\subseteq\Sigma. However, we shall see in Section 3 that the set Σ\Sigma generates an implicative algebra 𝒜\mathscr{A} whose operations (arbitrary meets and implication) capture the whole structure of the tripos 𝖯\mathsf{P} in a more natural way.

2.5. Miscellaneous properties

In this section, we present some properties of the set Σ\Sigma that will be useful to construct the implicative algebra 𝒜\mathscr{A}.

Proposition 2.9 (Merging quantifications).
˙{˙s:sS}S𝔓(𝔓(Σ))=˙(S)S𝔓(𝔓(Σ))˙{˙s:sS}S𝔓(𝔓(Σ))=˙(S)S𝔓(𝔓(Σ))\begin{array}[]{r@{~{}~}c@{~{}~}l}\bigl{\llbracket}{\mathbin{\dot{{\bigvee}}}}\bigl{\{}{\mathbin{\dot{{\bigvee}}}}s:s\in S\bigr{\}}\bigr{\rrbracket}_{S\in\mathfrak{P}(\mathfrak{P}(\Sigma))}~{}{}&=\hfil~{}{}&\bigl{\llbracket}{\mathbin{\dot{{\bigvee}}}}\bigl{(}{\bigcup}S\bigr{)}\bigr{\rrbracket}_{S\in\mathfrak{P}(\mathfrak{P}(\Sigma))}\\[3.0pt] \bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\bigl{\{}{\mathbin{\dot{{\bigwedge}}}}s:s\in S\bigr{\}}\bigr{\rrbracket}_{S\in\mathfrak{P}(\mathfrak{P}(\Sigma))}~{}{}&=\hfil~{}{}&\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\bigl{(}{\bigcup}S\bigr{)}\bigr{\rrbracket}_{S\in\mathfrak{P}(\mathfrak{P}(\Sigma))}\\ \end{array}
Proof.

Let us consider:

  • The membership relation E:={(ξ,s):ξs}Σ×𝔓(Σ)E:=\{(\xi,s):\xi\in s\}\subseteq\Sigma\times\mathfrak{P}(\Sigma) equipped with the projections e1:EΣe_{1}:E\to\Sigma and e2:E𝔓(Σ)e_{2}:E\to\mathfrak{P}(\Sigma) (see Section 2.3 above);

  • The membership relation F:={(s,S):sS}𝔓(Σ)×𝔓(𝔓(Σ))F:=\{(s,S):s\in S\}\subseteq\mathfrak{P}(\Sigma)\times\mathfrak{P}(\mathfrak{P}(\Sigma)) equipped with the projections f1:F𝔓(Σ)f_{1}:F\to\mathfrak{P}(\Sigma) and f2:F𝔓(𝔓(Σ))f_{2}:F\to\mathfrak{P}(\mathfrak{P}(\Sigma));

  • The composed membership relation G:={(ξ,s,S):ξsS}Σ×𝔓(Σ)×𝔓(𝔓(Σ))G:=\{(\xi,s,S):\xi\in s\in S\}\subseteq\Sigma\times\mathfrak{P}(\Sigma)\times\mathfrak{P}(\mathfrak{P}(\Sigma)) equipped with the functions g1:GEg_{1}:G\to E and g2:GFg_{2}:G\to F defined by g1(ξ,s,S)=(ξ,s)g_{1}(\xi,s,S)=(\xi,s) and g2(ξ,s,S)=(s,S)g_{2}(\xi,s,S)=(s,S) for all (ξ,s,S)G(\xi,s,S)\in G.

By construction, we have the following pullback:

G    \textstyle{G\hbox to0.0pt{\vbox to0.0pt{\hbox to6.0pt{\vbox to6.0pt{\hbox to6.0pt{\hfil}\vfil\hrule}\hskip-0.4pt\vrule}\vss}\hss}\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}g1\scriptstyle{g_{1}}g2\scriptstyle{g_{2}}F\textstyle{F\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}f2\scriptstyle{f_{2}}f1\scriptstyle{f_{1}}𝔓(𝔓(Σ))\textstyle{\mathfrak{P}\hbox to0.0pt{$(\mathfrak{P}(\Sigma))$\hss}}E\textstyle{E\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}e1\scriptstyle{e_{1}}e2\scriptstyle{e_{2}}𝔓(Σ)\textstyle{\mathfrak{P}(\Sigma)}Σ\textstyle{\Sigma}

hence 𝖯f1e2=g2𝖯g1\mathsf{P}{f_{1}}\circ\exists{e_{2}}=\exists{g_{2}}\circ\mathsf{P}{g_{1}} and 𝖯f1e2=g2𝖯g1\mathsf{P}{f_{1}}\circ\forall{e_{2}}=\forall{g_{2}}\circ\mathsf{P}{g_{1}} (Beck-Chevalley). Therefore:

˙{˙s:sS}S𝔓(𝔓(Σ))=˙{˙f1(z):zf21(S)}S𝔓(𝔓(Σ))=f2(˙f1F)=(f2𝖯f1)(˙𝔓(Σ))=(f2𝖯f1e2)(e1E)=(f2g2𝖯g1)(e1E)=(f2g2)(e1g1G)=˙{(e1g1)(z):z(f2g2)1(S)}S𝔓(𝔓(Σ))=˙(S)S𝔓(𝔓(Σ))\begin{array}[b]{@{}r@{~{}~}c@{~{}~}l@{\hskip-10pt}}\bigl{\llbracket}\mathbin{\dot{{\bigvee}}}\bigl{\{}{\mathbin{\dot{{\bigvee}}}}s:s\in S\}\bigr{\rrbracket}_{S\in\mathfrak{P}(\mathfrak{P}(\Sigma))}~{}{}&=\hfil~{}{}&\bigl{\llbracket}\mathbin{\dot{{\bigvee}}}\bigl{\{}{\mathbin{\dot{{\bigvee}}}}f_{1}(z):z\in f_{2}^{-1}(S)\bigr{\}}\bigr{\rrbracket}_{S\in\mathfrak{P}(\mathfrak{P}(\Sigma))}~{}=~{}\exists{f_{2}}\bigl{(}\llbracket\mathbin{\dot{{\bigvee}}}\circ f_{1}\rrbracket_{F}\bigr{)}\hfil\hskip-10.\\ ~{}{}&=\hfil~{}{}&(\exists{f_{2}}\circ\mathsf{P}{f_{1}})\bigl{(}\llbracket\mathbin{\dot{{\bigvee}}}\rrbracket_{\mathfrak{P}(\Sigma)}\bigr{)}~{}=~{}(\exists{f_{2}}\circ\mathsf{P}{f_{1}}\circ\exists{e_{2}})\bigl{(}\llbracket e_{1}\rrbracket_{E}\bigr{)}\hfil\hskip-10.\\ ~{}{}&=\hfil~{}{}&(\exists{f_{2}}\circ\exists{g_{2}}\circ\mathsf{P}{g_{1}})\bigl{(}\llbracket e_{1}\rrbracket_{E}\bigr{)}~{}=~{}\exists(f_{2}\circ g_{2})\bigl{(}\llbracket e_{1}\circ g_{1}\rrbracket_{G}\bigr{)}\hfil\hskip-10.\\ ~{}{}&=\hfil~{}{}&\bigl{\llbracket}\mathbin{\dot{{\bigvee}}}\{(e_{1}\circ g_{1})(z):z\in(f_{2}\circ g_{2})^{-1}(S)\}\bigr{\rrbracket}_{S\in\mathfrak{P}(\mathfrak{P}(\Sigma))}\hfil\hskip-10.\\ ~{}{}&=\hfil~{}{}&\bigl{\llbracket}{\mathbin{\dot{{\bigvee}}}}\bigl{(}\bigcup{S}\bigr{)}\bigr{\rrbracket}_{S\in\mathfrak{P}(\mathfrak{P}(\Sigma))}\hfil\hskip-10.\\ \end{array}

And similarly for \forall. ∎

The following proposition expresses that the codes for universal quantification and implication fulfill the usual property of distributivity (on the right-hand side of implication):

Proposition 2.10.

We have: ˙{θ˙ξ:ξs}(θ,s)Σ×𝔓(Σ)=θ˙˙s(θ,s)Σ×𝔓(Σ)\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\{\theta\mathbin{\dot{{\to}}}\xi~{}:~{}\xi\in s\}\bigr{\rrbracket}_{(\theta,s)\in\Sigma\times\mathfrak{P}(\Sigma)}~{}=~{}\bigl{\llbracket}\theta\mathbin{\dot{{\to}}}{\mathbin{\dot{{\bigwedge}}}}s\bigr{\rrbracket}_{(\theta,s)\in\Sigma\times\mathfrak{P}(\Sigma)}.

Proof.

Let us consider the set G:={(θ,ξ,s):ξs}Σ×Σ×𝔓(Σ)G:=\{(\theta,\xi,s):\xi\in s\}\subseteq\Sigma\times\Sigma\times\mathfrak{P}(\Sigma) with the corresponding projections g1,g2:GΣg_{1},g_{2}:G\to\Sigma and g3:G𝔓(Σ)g_{3}:G\to\mathfrak{P}(\Sigma). We also write π:Σ×𝔓(Σ)Σ\pi:\Sigma\times\mathfrak{P}(\Sigma)\to\Sigma the first projection from Σ×𝔓(Σ)\Sigma\times\mathfrak{P}(\Sigma) to Σ\Sigma. For all p𝖯(Σ×𝔓(Σ))p\in\mathsf{P}(\Sigma\times\mathfrak{P}(\Sigma)), we observe that:

p˙{θ˙ξ:ξs}(θ,s)Σ×𝔓(Σ)iffp˙{g1(z)˙g2(z):zg1,g31(θ,s)}(θ,s)Σ×𝔓(Σ)iffpg1,g3(g1Gg2G)iff𝖯g1,g3(p)g1Gg2Giff𝖯g1,g3(p)g1Gg2Giff𝖯g1,g3(p)πg1,g3Gg2Giff𝖯g1,g3(pπΣ×𝔓(Σ))g2GiffpπΣ×𝔓(Σ)g1,g3(g2G)iffpπΣ×𝔓(Σ)g1,g3(g2G)iffpθ(θ,s)Σ×𝔓(Σ)˙{g2(z):zg1,g31(θ,s)}(θ,s)Σ×𝔓(Σ)iffpθ(θ,s)Σ×𝔓(Σ)˙{ξ:ξs}(θ,s)Σ×𝔓(Σ)iffpθ˙˙s(θ,s)Σ×𝔓(Σ)\begin{array}[b]{l@{\quad}l}&p~{}\leq~{}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\{\theta\mathbin{\dot{{\to}}}\xi~{}:~{}\xi\in s\}\bigr{\rrbracket}_{(\theta,s)\in\Sigma\times\mathfrak{P}(\Sigma)}\\ \text{iff}&p~{}\leq~{}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\bigl{\{}g_{1}(z)\mathbin{\dot{{\to}}}g_{2}(z)~{}:~{}z\in\langle g_{1},g_{3}\rangle^{-1}(\theta,s)\bigr{\}}\bigr{\rrbracket}_{(\theta,s)\in\Sigma\times\mathfrak{P}(\Sigma)}\\ \text{iff}&p~{}\leq~{}\forall\langle g_{1},g_{3}\rangle\bigl{(}\llbracket g_{1}\rrbracket_{G}\to\llbracket g_{2}\rrbracket_{G}\bigr{)}\\ \text{iff}&\mathsf{P}\langle g_{1},g_{3}\rangle(p)~{}\leq~{}\llbracket g_{1}\rrbracket_{G}\to\llbracket g_{2}\rrbracket_{G}\\ \text{iff}&\mathsf{P}\langle g_{1},g_{3}\rangle(p)\land\llbracket g_{1}\rrbracket_{G}~{}\leq~{}\llbracket g_{2}\rrbracket_{G}\\ \text{iff}&\mathsf{P}\langle g_{1},g_{3}\rangle(p)\land\llbracket\pi\circ\langle g_{1},g_{3}\rangle\rrbracket_{G}~{}\leq~{}\llbracket g_{2}\rrbracket_{G}\\ \text{iff}&\mathsf{P}\langle g_{1},g_{3}\rangle\bigl{(}p\land\llbracket\pi\rrbracket_{\Sigma\times\mathfrak{P}(\Sigma)}\bigr{)}~{}\leq~{}\llbracket g_{2}\rrbracket_{G}\\ \text{iff}&p\land\llbracket\pi\rrbracket_{\Sigma\times\mathfrak{P}(\Sigma)}~{}\leq~{}\forall\langle g_{1},g_{3}\rangle(\llbracket g_{2}\rrbracket_{G})\\ \text{iff}&p~{}\leq~{}\llbracket\pi\rrbracket_{\Sigma\times\mathfrak{P}(\Sigma)}\to\forall\langle g_{1},g_{3}\rangle(\llbracket g_{2}\rrbracket_{G})\\ \text{iff}&p~{}\leq~{}\llbracket\theta\rrbracket_{(\theta,s)\in\Sigma\times\mathfrak{P}(\Sigma)}\to\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\bigl{\{}g_{2}(z)~{}:~{}z\in\langle g_{1},g_{3}\rangle^{-1}(\theta,s)\bigr{\}}\bigr{\rrbracket}_{(\theta,s)\in\Sigma\times\mathfrak{P}(\Sigma)}\\ \text{iff}&p~{}\leq~{}\llbracket\theta\rrbracket_{(\theta,s)\in\Sigma\times\mathfrak{P}(\Sigma)}\to\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\bigl{\{}\xi~{}:~{}\xi\in s\bigr{\}}\bigr{\rrbracket}_{(\theta,s)\in\Sigma\times\mathfrak{P}(\Sigma)}\\ \text{iff}&p~{}\leq~{}\bigl{\llbracket}\theta\mathbin{\dot{{\to}}}{\mathbin{\dot{{\bigwedge}}}}s\bigr{\rrbracket}_{(\theta,s)\in\Sigma\times\mathfrak{P}(\Sigma)}\\ \end{array}

From which we get the desired equality. ∎

Corollary 2.11.

Given a set XX and two families σΣX\sigma\in\Sigma^{X} and t𝔓(Σ)Xt\in\mathfrak{P}(\Sigma)^{X}, we have:

˙{σx˙ξ:ξtx}xX=σx˙˙txxX\textstyle\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\{\sigma_{x}\mathbin{\dot{{\to}}}\xi~{}:~{}\xi\in t_{x}\}\bigr{\rrbracket}_{x\in X}~{}=~{}\bigl{\llbracket}\sigma_{x}\mathbin{\dot{{\to}}}{\mathbin{\dot{{\bigwedge}}}}t_{x}\bigr{\rrbracket}_{x\in X}
Proof.

Indeed, we have

˙{σx˙ξ:ξtx}xX=𝖯(σ,t)(˙{θ˙ξ:ξs}(θ,s)Σ×𝔓(Σ))=𝖯(σ,t)(θ˙˙s(θ,s)Σ×𝔓(Σ))=σx˙˙txxX(by Prop. 2.10)\begin{array}[b]{r@{~{}~}c@{~{}~}l}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\{\sigma_{x}\mathbin{\dot{{\to}}}\xi~{}:~{}\xi\in t_{x}\}\bigr{\rrbracket}_{x\in X}~{}{}&=\hfil~{}{}&\mathsf{P}(\langle\sigma,t\rangle)\bigl{(}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\{\theta\mathbin{\dot{{\to}}}\xi~{}:~{}\xi\in s\}\bigr{\rrbracket}_{(\theta,s)\in\Sigma\times\mathfrak{P}(\Sigma)}\bigr{)}\\ ~{}{}&=\hfil~{}{}&\mathsf{P}(\langle\sigma,t\rangle)\bigl{(}\bigl{\llbracket}\theta\mathbin{\dot{{\to}}}{\mathbin{\dot{{\bigwedge}}}}s\bigr{\rrbracket}_{(\theta,s)\in\Sigma\times\mathfrak{P}(\Sigma)}\bigr{)}\\ ~{}{}&=\hfil~{}{}&\bigl{\llbracket}\sigma_{x}\mathbin{\dot{{\to}}}{\mathbin{\dot{{\bigwedge}}}}t_{x}\bigr{\rrbracket}_{x\in X}\\ \end{array}\begin{tabular}[b]{r@{}}(by Prop.~{}\ref{p:DistrForallImp})\\ \mbox{\qed}\\ \end{tabular}

From now on, we consider the inclusion relation F:={(s,s):ss}𝔓(Σ)×𝔓(Σ)F:=\{(s,s^{\prime}):s\subseteq s^{\prime}\}\subseteq\mathfrak{P}(\Sigma)\times\mathfrak{P}(\Sigma) together with the corresponding projections f1:F𝔓(Σ)f_{1}:F\to\mathfrak{P}(\Sigma) and f2:F𝔓(Σ)f_{2}:F\to\mathfrak{P}(\Sigma). The following proposition expresses that the operators ˙:𝔓(Σ)Σ{\mathbin{\dot{{\bigvee}}}}:\mathfrak{P}(\Sigma)\to\Sigma and ˙:𝔓(Σ)Σ{\mathbin{\dot{{\bigwedge}}}}:\mathfrak{P}(\Sigma)\to\Sigma are respectively monotonic and antitonic w.r.t. the domain of quantification:

Proposition 2.12.

˙f1F˙f2F\bigl{\llbracket}{\mathbin{\dot{{\bigvee}}}}\circ f_{1}\bigr{\rrbracket}_{F}~{}\leq~{}\bigl{\llbracket}{\mathbin{\dot{{\bigvee}}}}\circ f_{2}\bigr{\rrbracket}_{F}  and  ˙f1F˙f2F\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ f_{1}\bigr{\rrbracket}_{F}~{}\geq~{}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ f_{2}\bigr{\rrbracket}_{F}.

Proof.

Let us consider the set G:={(ξ,ξ,(s,s)):ξs,ξs,(s,s)F}Σ×Σ×FG:=\{(\xi,\xi^{\prime},(s,s^{\prime})):\xi\in s,~{}\xi^{\prime}\in s^{\prime},~{}(s,s^{\prime})\in F\}\subseteq\Sigma\times\Sigma\times F equipped with the three projections g1,g2:GΣg_{1},g_{2}:G\to\Sigma and g3:GFg_{3}:G\to F. We have

˙f1F=˙{g1(z):zg31(s,s)}(s,s)F=g3(g1G)˙f2F=˙{g2(z):zg31(s,s)}(s,s)F=g3(g2G)˙f1F=˙{g1(z):zg31(s,s)}(s,s)F=g3(g1G)˙f1F=˙{g2(z):zg31(s,s)}(s,s)F=g3(g2G)\begin{array}[]{r@{~{}~}c@{~{}~}l}\bigl{\llbracket}{\mathbin{\dot{{\bigvee}}}}\circ f_{1}\bigr{\rrbracket}_{F}~{}{}&=\hfil~{}{}&\bigl{\llbracket}{\mathbin{\dot{{\bigvee}}}}\bigl{\{}g_{1}(z):z\in g_{3}^{-1}(s,s^{\prime})\bigr{\}}\bigr{\rrbracket}_{(s,s^{\prime})\in F}~{}=~{}\exists{g_{3}}(\llbracket g_{1}\rrbracket_{G})\\ \bigl{\llbracket}{\mathbin{\dot{{\bigvee}}}}\circ f_{2}\bigr{\rrbracket}_{F}~{}{}&=\hfil~{}{}&\bigl{\llbracket}{\mathbin{\dot{{\bigvee}}}}\bigl{\{}g_{2}(z):z\in g_{3}^{-1}(s,s^{\prime})\bigr{\}}\bigr{\rrbracket}_{(s,s^{\prime})\in F}~{}=~{}\exists{g_{3}}(\llbracket g_{2}\rrbracket_{G})\\ \bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ f_{1}\bigr{\rrbracket}_{F}~{}{}&=\hfil~{}{}&\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\bigl{\{}g_{1}(z):z\in g_{3}^{-1}(s,s^{\prime})\bigr{\}}\bigr{\rrbracket}_{(s,s^{\prime})\in F}~{}=~{}\forall{g_{3}}(\llbracket g_{1}\rrbracket_{G})\\ \bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ f_{1}\bigr{\rrbracket}_{F}~{}{}&=\hfil~{}{}&\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\bigl{\{}g_{2}(z):z\in g_{3}^{-1}(s,s^{\prime})\bigr{\}}\bigr{\rrbracket}_{(s,s^{\prime})\in F}~{}=~{}\forall{g_{3}}(\llbracket g_{2}\rrbracket_{G})\\ \end{array}

Let us now consider the function g:GGg:G\to G defined by g(ξ,ξ,(s,s))=(ξ,ξ,(s,s))g(\xi,\xi^{\prime},(s,s^{\prime}))=(\xi,\xi,(s,s^{\prime})) for all (ξ,ξ,(s,s))G(\xi,\xi^{\prime},(s,s^{\prime}))\in G. Since g2g=g1g_{2}\circ g=g_{1}, we have 𝖯g(g2G)=g2gG=g1G\mathsf{P}{g}(\llbracket g_{2}\rrbracket_{G})=\llbracket g_{2}\circ g\rrbracket_{G}=\llbracket g_{1}\rrbracket_{G} and thus

(by left/right adjunction) g(g1G)g2Gg(g1G)\exists{g}(\llbracket g_{1}\rrbracket_{G})~{}\leq~{}\llbracket g_{2}\rrbracket_{G}~{}\leq~{}\forall{g}(\llbracket g_{1}\rrbracket_{G})

Combining the above inequalities with the fact that g3g=g3g_{3}\circ g=g_{3}, we deduce that:

˙f1F=g3(g1G)=g3(g(g1G))g3(g2G)=˙f2F˙f1F=g3(g1G)=g3(g(g1G))g3(g2G)=˙f2F.\begin{array}[b]{l}\bigl{\llbracket}{\mathbin{\dot{{\bigvee}}}}\circ f_{1}\bigr{\rrbracket}_{F}~{}=~{}\exists{g_{3}}(\llbracket g_{1}\rrbracket_{G})~{}=~{}\exists{g_{3}}(\exists{g}(\llbracket g_{1}\rrbracket_{G}))~{}\leq~{}\exists{g_{3}}(\llbracket g_{2}\rrbracket_{G})~{}=~{}\bigl{\llbracket}{\mathbin{\dot{{\bigvee}}}}\circ f_{2}\bigr{\rrbracket}_{F}\\ \bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ f_{1}\bigr{\rrbracket}_{F}~{}=~{}\forall{g_{3}}(\llbracket g_{1}\rrbracket_{G})~{}=~{}\forall{g_{3}}(\forall{g}(\llbracket g_{1}\rrbracket_{G}))~{}\geq~{}\forall{g_{3}}(\llbracket g_{2}\rrbracket_{G})~{}=~{}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ f_{2}\bigr{\rrbracket}_{F}\,.\\ \end{array}
Corollary 2.13.

Given a set XX and two families a,b𝔓(Σ)Xa,b\in\mathfrak{P}(\Sigma)^{X} such that axbxa_{x}\subseteq b_{x} for all xXx\in X, we have: ˙aX˙bX\bigl{\llbracket}{\mathbin{\dot{{\bigvee}}}}\circ a\bigr{\rrbracket}_{X}~{}\leq~{}\bigl{\llbracket}{\mathbin{\dot{{\bigvee}}}}\circ b\bigr{\rrbracket}_{X}  and  ˙aX˙bX\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ a\bigr{\rrbracket}_{X}~{}\geq~{}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ b\bigr{\rrbracket}_{X}.

Proof.

Let c:=(ax,bx)xXFXc:=(a_{x},b_{x})_{x\in X}\in F^{X}. From Prop. 2.12 we get:

˙aX=˙f1cX=𝖯c(˙f1)𝖯c(˙f2)=˙f2cX=˙bX˙aX=˙f1cX=𝖯c(˙f1)𝖯c(˙f2)=˙f2cX=˙bX\begin{array}[b]{@{}l@{}}\bigl{\llbracket}{\mathbin{\dot{{\bigvee}}}}\circ a\bigr{\rrbracket}_{X}=\bigl{\llbracket}{\mathbin{\dot{{\bigvee}}}}\circ f_{1}\circ c\bigr{\rrbracket}_{X}=\mathsf{P}{c}\bigl{(}\bigl{\llbracket}{\mathbin{\dot{{\bigvee}}}}\circ f_{1}\bigr{\rrbracket}\bigr{)}\leq\mathsf{P}{c}\bigl{(}\bigl{\llbracket}{\mathbin{\dot{{\bigvee}}}}\circ f_{2}\bigr{\rrbracket}\bigr{)}=\bigl{\llbracket}{\mathbin{\dot{{\bigvee}}}}\circ f_{2}\circ c\bigr{\rrbracket}_{X}=\bigl{\llbracket}{\mathbin{\dot{{\bigvee}}}}\circ b\bigr{\rrbracket}_{X}\\ \bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ a\bigr{\rrbracket}_{X}=\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ f_{1}\circ c\bigr{\rrbracket}_{X}=\mathsf{P}{c}\bigl{(}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ f_{1}\bigr{\rrbracket}\bigr{)}\geq\mathsf{P}{c}\bigl{(}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ f_{2}\bigr{\rrbracket}\bigr{)}=\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ f_{2}\circ c\bigr{\rrbracket}_{X}=\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ b\bigr{\rrbracket}_{X}\\ \end{array}

3. Extracting the implicative algebra

In Section 2.4, we have seen that the structure of the tripos 𝖯:𝐒𝐞𝐭op𝐇𝐀\mathsf{P}:\mathbf{Set}^{\mathrm{op}}\to\mathbf{HA} can be fully characterized from the binary operations (˙),(˙),(˙):Σ×ΣΣ({\mathbin{\dot{{\land}}}}),({\mathbin{\dot{{\lor}}}}),({\mathbin{\dot{{\to}}}}):\Sigma\times\Sigma\to\Sigma and the infinitary operations (˙),(˙):𝔓(Σ)Σ({\mathbin{\dot{{\bigvee}}}}),({\mathbin{\dot{{\bigwedge}}}}):\mathfrak{P}(\Sigma)\to\Sigma via some subset ΦΣ\Phi\subseteq\Sigma (the ‘pseudo-filter’). However, these operations fail to endow the set Σ\Sigma itself with the structure of a complete Heyting algebra, for they lack the most basic algebraic properties that are required by such a structure.

In this section, we shall construct a particular implicative structure 𝒜=(𝒜,,)\mathscr{A}=(\mathscr{A},{\preccurlyeq},{\to}) from the set Σ\Sigma equipped with the only operations (˙):Σ×ΣΣ({\mathbin{\dot{{\to}}}}):\Sigma\times\Sigma\to\Sigma and (˙):𝔓(Σ)Σ({\mathbin{\dot{{\bigwedge}}}}):\mathfrak{P}(\Sigma)\to\Sigma, using a construction that is reminiscent from the construction of graph models [1]. As we shall see, the main interest of such a construction is that:

  1. (1)

    The carrier set 𝒜\mathscr{A} can be used as an alternative set of propositions, for it possesses its own generic predicate tr𝒜𝖯𝒜\textit{tr}_{\mathscr{A}}\in\mathsf{P}\mathscr{A}.

  2. (2)

    The two operations ():𝒜×𝒜𝒜({\to}):\mathscr{A}\times\mathscr{A}\to\mathscr{A} and ():𝔓(𝒜)𝒜({\bigcurlywedge}):\mathfrak{P}(\mathscr{A})\to\mathscr{A} that naturally come with the implicative structure 𝒜\mathscr{A} constitute codes (in the sense of the new generic predicate tr𝒜𝖯𝒜\textit{tr}_{\mathscr{A}}\in\mathsf{P}\mathscr{A}) for implication and universal quantification in the tripos 𝖯\mathsf{P}.

  3. (3)

    The ordering on each Heyting algebra 𝖯X\mathsf{P}{X} (for X𝐒𝐞𝐭X\in\mathbf{Set}) can be characterized from the above two operations via a particular separator S𝒜S\subseteq\mathscr{A}.

From the above properties, we shall easily conclude that the tripos 𝖯:𝐒𝐞𝐭op𝐇𝐀\mathsf{P}:\mathbf{Set}^{\mathrm{op}}\to\mathbf{HA} is isomorphic to the tripos induced by the implicative algebra (𝒜,,,S)(\mathscr{A},{\preccurlyeq},{\to},S).

3.1. Defining the set 𝒜0\mathscr{A}_{0} of atoms

The construction of the implicative structure 𝒜\mathscr{A} is achieved in two steps. First we construct from the set Σ\Sigma of propositions a (larger) set 𝒜0\mathscr{A}_{0} of atoms equipped with a preorder \leq. Then we let 𝒜:=𝔓(𝒜0)\mathscr{A}:=\mathfrak{P}_{\uparrow}(\mathscr{A}_{0}), where 𝔓(𝒜0)\mathfrak{P}_{\uparrow}(\mathscr{A}_{0}) denotes the set of all upwards closed subsets of 𝒜0\mathscr{A}_{0} w.r.t. the preorder \leq. Formally, the set 𝒜0\mathscr{A}_{0} of atoms is inductively defined from the following two clauses:

  1. (1)

    If ξΣ\xi\in\Sigma, then ξ˙𝒜0\dot{\xi}\in\mathscr{A}_{0}222Here, we use the dot notation ξ˙\dot{\xi} only to distinguish the code ξΣ\xi\in\Sigma from its image ξ˙𝒜0\dot{\xi}\in\mathscr{A}_{0}. (base case).

  2. (2)

    If s𝔓(Σ)s\in\mathfrak{P}(\Sigma) and α𝒜0\alpha\in\mathscr{A}_{0}, then (sα)𝒜0(s\mapsto\alpha)\in\mathscr{A}_{0} (inductive case).

In other words, each atom α𝒜0\alpha\in\mathscr{A}_{0} is a finite list of subsets of Σ\Sigma terminated by an element of Σ\Sigma, that is:  α=s1snξ˙\alpha=s_{1}\mapsto\cdots\mapsto s_{n}\mapsto\dot{\xi}  for some s1,,sn𝔓(Σ)s_{1},\ldots,s_{n}\in\mathfrak{P}(\Sigma) and ξΣ\xi\in\Sigma. The set 𝒜0\mathscr{A}_{0} is equipped with the binary relation αβ\alpha\leq\beta that is inductively defined from the two rules

ξ˙ξ˙ssααsαsα\dot{\xi}\leq\dot{\xi}\qquad\qquad s\mapsto\alpha~{}\leq~{}s^{\prime}\mapsto\alpha^{\prime}\lx@proof@logical@and s\subseteq s^{\prime}\quad\alpha\leq\alpha^{\prime}
Fact 3.1.

The relation αβ\alpha\leq\beta is a preorder on 𝒜0\mathscr{A}_{0}.

Proof.

By induction on α𝒜0\alpha\in\mathscr{A}_{0}, we successively prove (1) that αα\alpha\leq\alpha and (2) that αβ\alpha\leq\beta and βγ\beta\leq\gamma together imply that αγ\alpha\leq\gamma, for all β,γ𝒜0\beta,\gamma\in\mathscr{A}_{0}. ∎

Finally, the set 𝒜0\mathscr{A}_{0} is equipped with a conversion function φ0:𝒜0Σ\varphi_{0}:\mathscr{A}_{0}\to\Sigma that is defined by

φ0(ξ˙):=ξandφ0(sα):=(˙s)˙φ0(α)\varphi_{0}(\dot{\xi})~{}:=~{}\xi\qquad\text{and}\qquad\varphi_{0}(s\mapsto\alpha)~{}:=~{}\bigl{(}{\textstyle\mathbin{\dot{{\bigwedge}}}{s}}\bigr{)}\mathbin{\dot{{\to}}}\varphi_{0}(\alpha)

(Note that by construction, this function is surjective.)

Remark 3.2 (Relationship with graph models).

In the theory of graph models [1], the set of atoms 𝒜0\mathscr{A}_{0} would be naturally defined from the grammar

(ξΣ) α,β𝒜0::=ξ˙|{α1,,αn}β\alpha,\beta\in\mathscr{A}_{0}\quad::=\quad\dot{\xi}\quad|\quad\{\alpha_{1},\ldots,\alpha_{n}\}\mapsto\beta

that is, as the least solution of the set-theoretic equation 𝒜0=Σ+𝔓fin(𝒜0)×𝒜0\mathscr{A}_{0}=\Sigma+\mathfrak{P}_{\text{fin}}(\mathscr{A}_{0})\times\mathscr{A}_{0}. However, such a construction would yield an applicative structure upon the set 𝒜=𝔓(𝒜0)\mathscr{A}=\mathfrak{P}_{\uparrow}(\mathscr{A}_{0})—it would even constitute a (DD_{\infty}-like) model of the λ\lambda-calculus—, but it would not yield an implicative structure, for the restriction to the finite subsets of 𝒜0\mathscr{A}_{0} in the left-hand side of the construction {a1,,αn}β\{a_{1},\ldots,\alpha_{n}\}\mapsto\beta actually prevents defining an implication with the desired properties.

To fix this problem, it would be natural to relax the condition of finiteness, by considering instead the equation 𝒜0=Σ+𝔓(𝒜0)×𝒜0\mathscr{A}_{0}=\Sigma+\mathfrak{P}(\mathscr{A}_{0})\times\mathscr{A}_{0}. Alas, such an equation has no solution (for obvious cardinality reasons), so that the trick consists to replace arbitrary subsets of 𝒜0\mathscr{A}_{0} (in the left-hand side of the construction sβs\mapsto\beta) by arbitrary subsets of Σ\Sigma, using the fact that the subsets of 𝒜0\mathscr{A}_{0} can always be converted (element-wise) into subsets of Σ\Sigma, via the conversion function φ0:𝒜0Σ\varphi_{0}:\mathscr{A}_{0}\to\Sigma. So that in the end, we obtain the set-theoretic equation 𝒜0=Σ+𝔓(Σ)×𝒜0\mathscr{A}_{0}=\Sigma+\mathfrak{P}(\Sigma)\times\mathscr{A}_{0}, whose least solution is precisely the set 𝒜0\mathscr{A}_{0} we defined above.

3.2. Defining the implicative structure (𝒜,,)(\mathscr{A},{\preccurlyeq},{\to})

Let 𝒜:=𝔓(𝒜0)\mathscr{A}:=\mathfrak{P}_{\uparrow}(\mathscr{A}_{0}) be the set of upwards closed subsets of 𝒜0\mathscr{A}_{0} (w.r.t. the preorder \leq on 𝒜0\mathscr{A}_{0}), equipped with the ordering aba\preccurlyeq b defined by aba\preccurlyeq b iff aba\supseteq b (reverse inclusion) for all a,b𝒜a,b\in\mathscr{A}. It is clear that:

Proposition 3.3.

The poset (𝒜,)=(𝔓(𝒜0),)(\mathscr{A},{\preccurlyeq})=(\mathfrak{P}_{\uparrow}(\mathscr{A}_{0}),{\supseteq}) is a complete lattice.

Note that in this complete lattice, (finitary or infinitary) meets and joins are respectively given by unions and intersections. In particular, we have 𝒜=𝒜\bot_{\mathscr{A}}=\mathscr{A} and 𝒜=\top_{\mathscr{A}}=\varnothing.

Let φ~0:𝒜𝔓(Σ)\tilde{\varphi}_{0}:\mathscr{A}\to\mathfrak{P}(\Sigma) be the function defined by φ~0(a)={φ0(α):αa}\tilde{\varphi}_{0}(a)=\{\varphi_{0}(\alpha):\alpha\in a\} for all a𝒜a\in\mathscr{A}. For each set of codes s𝔓(Σ)s\in\mathfrak{P}(\Sigma), we write s:={s𝔓(Σ):ss}s^{\subseteq}:=\{s^{\prime}\in\mathfrak{P}(\Sigma):s\subseteq s^{\prime}\}. We now equip the complete lattice (𝒜,)(\mathscr{A},{\preccurlyeq}) with the implication defined by

(for alla,b𝒜) ab:={sβ:sφ~0(a),βb}a\to b~{}:=~{}\bigl{\{}s\mapsto\beta~{}:~{}s\in\tilde{\varphi}_{0}(a)^{\subseteq},~{}\beta\in b\bigr{\}}

Note that by construction, we have (ab)𝒜(=𝔓(𝒜0))(a\to b)\in\mathscr{A}~{}({=}~{}\mathfrak{P}_{\uparrow}(\mathscr{A}_{0})) for all a,b𝒜a,b\in\mathscr{A}.

Proposition 3.4.

The triple (𝒜,,)(\mathscr{A},{\preccurlyeq},{\to}) is an implicative structure.

Proof.

Variance of implication. Let a,a,b,b𝒜a,a^{\prime},b,b^{\prime}\in\mathscr{A} such that aaa^{\prime}\preccurlyeq a and bbb\preccurlyeq b, that is: aaa\subseteq a^{\prime} and bbb^{\prime}\subseteq b. We observe that

ab={sβ:sφ~0(a),βb}{sβ:sφ~0(a),βb}=ab\begin{array}[]{r@{~{}~}c@{~{}~}l}a^{\prime}\to b^{\prime}~{}{}&=\hfil~{}{}&\bigl{\{}s\mapsto\beta~{}:~{}s\in\tilde{\varphi}_{0}(a^{\prime})^{\subseteq},~{}\beta\in b^{\prime}\bigr{\}}\\ ~{}{}&\subseteq\hfil~{}{}&\bigl{\{}s\mapsto\beta~{}:~{}s\in\tilde{\varphi}_{0}(a)^{\subseteq},~{}\beta\in b\bigr{\}}~{}=~{}a\to b\\ \end{array}

(since φ~0(a)φ~0(a)\tilde{\varphi}_{0}(a)\subseteq\tilde{\varphi}_{0}(a^{\prime}) and bbb^{\prime}\subseteq b), which means that (ab)(ab)(a\to b)\preccurlyeq(a^{\prime}\to b^{\prime}).

Distributivity of meets w.r.t. \to. Given a𝒜a\in\mathscr{A} and B𝒜B\subseteq\mathscr{A}, we observe that

aB={sβ:sφ~0(a),βB}=bB{sβ:sφ~0(a),βb}=bB(ab)\begin{array}[b]{r@{~{}~}c@{~{}~}l}a\to\bigcurlywedge\!B~{}{}&=\hfil~{}{}&\displaystyle\bigl{\{}s\mapsto\beta~{}:~{}s\in\tilde{\varphi}_{0}(a)^{\subseteq},~{}\beta\in{\textstyle\bigcup}B\bigr{\}}\\[6.0pt] ~{}{}&=\hfil~{}{}&\displaystyle\bigcup_{b\in B}\bigl{\{}s\mapsto\beta~{}:~{}s\in\tilde{\varphi}_{0}(a)^{\subseteq},~{}\beta\in b\bigr{\}}~{}=~{}\bigcurlywedge_{\!\!b\in B\!\!}(a\to b)\\ \end{array}

3.3. Viewing 𝒜\mathscr{A} as a new set of propositions

Let us now consider the two conversion functions φ:𝒜Σ\varphi:\mathscr{A}\to\Sigma and ψ:Σ𝒜\psi:\Sigma\to\mathscr{A} defined by

φ(a):=˙φ~0(a)=˙{φ0(α):αa}ψ(ξ):={ξ˙}(for alla𝒜)(for allξΣ)\begin{array}[]{r@{~{}~}c@{~{}~}l}\varphi(a)~{}{}&:=\hfil~{}{}&\mathbin{\dot{{\bigwedge}}}\tilde{\varphi}_{0}(a)~{}=~{}\mathbin{\dot{{\bigwedge}}}\{\varphi_{0}(\alpha):\alpha\in a\}\\[3.0pt] \psi(\xi)~{}{}&:=\hfil~{}{}&\{\dot{\xi}\}\\ \end{array}\begin{array}[]{r@{}}(\text{for all}~{}a\in\mathscr{A})\\[3.0pt] (\text{for all}~{}\xi\in\Sigma)\\ \end{array}

as well as the predicate tr𝒜:=𝖯φ(trΣ)(=φ𝒜)𝖯𝒜\textit{tr}_{\mathscr{A}}:=\mathsf{P}\varphi(\textit{tr}_{\Sigma})~{}({=}~{}\llbracket\varphi\rrbracket_{\mathscr{A}})\in\mathsf{P}\mathscr{A}.  We easily check that:

Lemma 3.5.

𝖯ψ(tr𝒜)=trΣ\mathsf{P}\psi(\textit{tr}_{\mathscr{A}})=\textit{tr}_{\Sigma}.

Proof.

Since φ(ψ(ξ))=˙{ξ}\varphi(\psi(\xi))={\mathbin{\dot{{\bigwedge}}}}\{\xi\} for all ξΣ\xi\in\Sigma, we have:

𝖯ψ(tr𝒜)=𝖯ψ(φ𝒜)=φψΣ=˙{ξ}ξΣ=˙{id(ξ):ξid1(ξ)}ξΣ=idΣ(idΣΣ)=idΣΣ=𝖯idΣ(trΣ)=trΣ.\begin{array}[b]{r@{~{}~}c@{~{}~}l}\mathsf{P}\psi(\textit{tr}_{\mathscr{A}})~{}{}&=\hfil~{}{}&\mathsf{P}\psi(\llbracket\varphi\rrbracket_{\mathscr{A}})~{}=~{}\llbracket\varphi\circ\psi\rrbracket_{\Sigma}~{}=~{}\bigl{\llbracket}\mathbin{\dot{{\bigwedge}}}\{\xi\}\bigr{\rrbracket}_{\xi\in\Sigma}~{}=~{}\bigl{\llbracket}\mathbin{\dot{{\bigwedge}}}\bigl{\{}\mathrm{id}(\xi^{\prime}):\xi^{\prime}\in\mathrm{id}^{-1}(\xi)\bigr{\}}\bigr{\rrbracket}_{\xi\in\Sigma}\\ ~{}{}&=\hfil~{}{}&\forall\mathrm{id}_{\Sigma}\bigl{(}\llbracket\mathrm{id}_{\Sigma}\rrbracket_{\Sigma}\bigr{)}~{}=~{}\llbracket\mathrm{id}_{\Sigma}\rrbracket_{\Sigma}~{}=~{}\mathsf{P}\mathrm{id}_{\Sigma}(\textit{tr}_{\Sigma})~{}=~{}\textit{tr}_{\Sigma}\,.\end{array}

Therefore:

Proposition 3.6.

The predicate tr𝒜𝖯𝒜\textit{tr}_{\mathscr{A}}\in\mathsf{P}\mathscr{A} is a generic predicate for the tripos 𝖯\mathsf{P}.

Proof.

For each set XX, we want to show that the function _X:𝒜X𝖯X\langle\mskip-4.0mu\langle\_\rangle\mskip-4.0mu\rangle_{X}:\mathscr{A}^{X}\to\mathsf{P}{X} defined by aX=𝖯a(tr𝒜)\langle\mskip-4.0mu\langle a\rangle\mskip-4.0mu\rangle_{X}=\mathsf{P}{a}(\textit{tr}_{\mathscr{A}}) for all a𝒜Xa\in\mathscr{A}^{X} is surjective. For that, we take p𝖯Xp\in\mathsf{P}{X} and pick a code σΣX\sigma\in\Sigma^{X} such that p=σX=𝖯σ(trΣ)p=\llbracket\sigma\rrbracket_{X}=\mathsf{P}\sigma(\textit{tr}_{\Sigma}). From the above lemma, we get:

p=𝖯σ(trΣ)=𝖯σ(𝖯ψ(tr𝒜))=𝖯(ψσ)(tr𝒜)=ψσXp~{}=~{}\mathsf{P}{\sigma}(\textit{tr}_{\Sigma})~{}=~{}\mathsf{P}{\sigma}(\mathsf{P}\psi(\textit{tr}_{\mathscr{A}}))~{}=~{}\mathsf{P}(\psi\circ\sigma)(\textit{tr}_{\mathscr{A}})~{}=~{}\langle\mskip-4.0mu\langle\psi\circ\sigma\rangle\mskip-4.0mu\rangle_{X}

hence a:=ψσ𝒜Xa:=\psi\circ\sigma\in\mathscr{A}^{X} is a code for pp in the sense of the predicate tr𝒜𝖯𝒜\textit{tr}_{\mathscr{A}}\in\mathsf{P}\mathscr{A}. ∎

To sum up, we now have two sets of propositions Σ\Sigma and 𝒜\mathscr{A}, two generic predicates trΣ𝖯Σ\textit{tr}_{\Sigma}\in\mathsf{P}\Sigma and tr𝒜𝖯𝒜\textit{tr}_{\mathscr{A}}\in\mathsf{P}\mathscr{A}, as well as two decoding functions _X:ΣX𝖯X\llbracket\_\rrbracket_{X}:\Sigma^{X}\to\mathsf{P}{X} and _X:𝒜X𝖯X\langle\mskip-4.0mu\langle\_\rangle\mskip-4.0mu\rangle_{X}:\mathscr{A}^{X}\to\mathsf{P}{X}. As usual, we write φX:𝒜XΣX\varphi^{X}:\mathscr{A}^{X}\to\Sigma^{X} and ψX:ΣX𝒜X\psi^{X}:\Sigma^{X}\to\mathscr{A}^{X} (for X𝐒𝐞𝐭X\in\mathbf{Set}) the natural transformations induced by the two maps φ:𝒜Σ\varphi:\mathscr{A}\to\Sigma and ψ:Σ𝒜\psi:\Sigma\to\mathscr{A}. We easily check that:

Proposition 3.7.

For each set XX, the following two diagrams commute:

ΣX\textstyle{\Sigma^{X}\ignorespaces\ignorespaces\ignorespaces\ignorespaces}_X\scriptstyle{\llbracket\_\rrbracket_{X}}𝖯X\textstyle{\mathsf{P}{X}\ignorespaces\ignorespaces\ignorespaces\ignorespaces}𝒜X\textstyle{\mathscr{A}^{X}\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}φX\scriptstyle{\varphi^{X}}_X\scriptstyle{\langle\mskip-4.0mu\langle\_\rangle\mskip-4.0mu\rangle_{X}}𝖯X\textstyle{\mathsf{P}{X}}            ΣX\textstyle{\Sigma^{X}\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}ψX\scriptstyle{\psi^{X}}_X\scriptstyle{\llbracket\_\rrbracket_{X}}𝖯X\textstyle{\mathsf{P}{X}\ignorespaces\ignorespaces\ignorespaces\ignorespaces}𝒜X\textstyle{\mathscr{A}^{X}\ignorespaces\ignorespaces\ignorespaces\ignorespaces}_X\scriptstyle{\langle\mskip-4.0mu\langle\_\rangle\mskip-4.0mu\rangle_{X}}𝖯X\textstyle{\mathsf{P}{X}}
Proof.

For all a𝒜Xa\in\mathscr{A}^{X}, we have  φX(a)X=φaX=𝖯a(𝖯φ(trΣ))=𝖯a(tr𝒜)=aX\llbracket\varphi^{X}(a)\rrbracket_{X}=\llbracket\varphi\circ a\rrbracket_{X}=\mathsf{P}{a}(\mathsf{P}\varphi(\textit{tr}_{\Sigma}))=\mathsf{P}{a}(\textit{tr}_{\mathscr{A}})=\langle\mskip-4.0mu\langle a\rangle\mskip-4.0mu\rangle_{X}.
And for all σΣX\sigma\in\Sigma^{X}, we have  ψX(σ)X=ψσ=𝖯σ(𝖯ψ(tr𝒜))=𝖯σ(trΣ)=σX\langle\mskip-4.0mu\langle\psi^{X}(\sigma)\rangle\mskip-4.0mu\rangle_{X}=\langle\mskip-4.0mu\langle\psi\circ\sigma\rangle\mskip-4.0mu\rangle=\mathsf{P}{\sigma}(\mathsf{P}\psi(\textit{tr}_{\mathscr{A}}))=\mathsf{P}{\sigma}(\textit{tr}_{\Sigma})=\llbracket\sigma\rrbracket_{X}. ∎

3.4. Universal quantification in 𝒜\mathscr{A}

By analogy with the construction performed in Section 2.3, we now consider the membership relation E:={(a,A):aA}𝒜×𝔓(𝒜)E^{\prime}:=\{(a,A):a\in A\}\subseteq\mathscr{A}\times\mathfrak{P}(\mathscr{A}) together with the corresponding projections e1:E𝒜e^{\prime}_{1}:E^{\prime}\to\mathscr{A} and e2:E𝔓(𝒜)e^{\prime}_{2}:E^{\prime}\to\mathfrak{P}(\mathscr{A}).

The following proposition states that the operator ():𝔓(𝒜)𝒜({\bigcurlywedge}):\mathfrak{P}(\mathscr{A})\to\mathscr{A} is a code for universal quantification in the sense of the generic predicate tr𝒜𝖯𝒜\textit{tr}_{\mathscr{A}}\in\mathsf{P}\mathscr{A}:

Proposition 3.8.

AA𝔓(𝒜)=e2(e1E)\bigl{\langle}\mskip-4.0mu\bigl{\langle}{\bigcurlywedge}A\bigr{\rangle}\mskip-4.0mu\bigr{\rangle}_{A\in\mathfrak{P}(\mathscr{A})}=\forall{e^{\prime}_{2}}\bigl{(}\langle\mskip-4.0mu\langle e^{\prime}_{1}\rangle\mskip-4.0mu\rangle_{E^{\prime}}\bigr{)}.

Proof.

Indeed, we have:

AA𝔓(𝒜)=AA𝔓(𝒜)=φ(A)A𝔓(𝒜)=˙φ~0(A)A𝔓(𝒜)=˙𝔓φ~0(A)A𝔓(𝒜)=𝖯(𝔓φ~0)(˙SS𝔓(𝔓(Σ)))=𝖯(𝔓φ~0)(˙{˙s:sS}S𝔓(𝔓(Σ)))=˙{˙φ~0(a):aA}A𝔓(𝒜)=˙{φ(a):aA}A𝔓(𝒜)=˙{φ(e1(p)):pe21(A)}A𝔓(𝒜)=e2(φe1E)=e2(e1E).(by Prop. 2.9)\begin{array}[b]{r@{~{}~}c@{~{}~}l@{\hskip-5mm}}\bigl{\langle}\mskip-4.0mu\bigl{\langle}{\bigcurlywedge}A\bigr{\rangle}\mskip-4.0mu\bigr{\rangle}_{A\in\mathfrak{P}(\mathscr{A})}~{}{}&=\hfil~{}{}&\bigl{\langle}\mskip-4.0mu\bigl{\langle}{\bigcup}A\bigr{\rangle}\mskip-4.0mu\bigr{\rangle}_{A\in\mathfrak{P}(\mathscr{A})}~{}=~{}\bigl{\llbracket}\varphi\bigl{(}{\bigcup}A\bigr{)}\bigr{\rrbracket}_{A\in\mathfrak{P}(\mathscr{A})}~{}=~{}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\tilde{\varphi}_{0}\bigl{(}{\bigcup}A\bigr{)}\bigr{\rrbracket}_{A\in\mathfrak{P}(\mathscr{A})}\hfil\hskip-14.22636pt\\ ~{}{}&=\hfil~{}{}&\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}{\bigcup}\mathfrak{P}\tilde{\varphi}_{0}(A)\bigr{\rrbracket}_{A\in\mathfrak{P}(\mathscr{A})}~{}=~{}\mathsf{P}(\mathfrak{P}\tilde{\varphi}_{0})\bigl{(}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}{\bigcup}S\bigr{\rrbracket}_{S\in\mathfrak{P}(\mathfrak{P}(\Sigma))}\bigr{)}\hfil\hskip-14.22636pt\\ ~{}{}&=\hfil~{}{}&\mathsf{P}(\mathfrak{P}\tilde{\varphi}_{0})\bigl{(}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\bigl{\{}{\mathbin{\dot{{\bigwedge}}}}s:s\in S\bigr{\}}\bigr{\rrbracket}_{S\in\mathfrak{P}(\mathfrak{P}(\Sigma))}\bigr{)}\hfil\hskip-14.22636pt\\ ~{}{}&=\hfil~{}{}&\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\bigl{\{}{\mathbin{\dot{{\bigwedge}}}}\tilde{\varphi}_{0}(a):a\in A\bigr{\}}\bigr{\rrbracket}_{A\in\mathfrak{P}(\mathscr{A})}~{}=~{}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\bigl{\{}\varphi(a):a\in A\bigr{\}}\bigr{\rrbracket}_{A\in\mathfrak{P}(\mathscr{A})}\hfil\hskip-14.22636pt\\ ~{}{}&=\hfil~{}{}&\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\bigl{\{}\varphi(e^{\prime}_{1}(p)):p\in{e^{\prime}}_{2}^{-1}(A)\}\bigr{\rrbracket}_{A\in\mathfrak{P}(\mathscr{A})}\hfil\hskip-14.22636pt\\ ~{}{}&=\hfil~{}{}&\forall{e^{\prime}_{2}}\bigl{(}\llbracket\varphi\circ e^{\prime}_{1}\rrbracket_{E^{\prime}}\bigr{)}~{}=~{}\forall{e^{\prime}_{2}}\bigl{(}\langle\mskip-4.0mu\langle e^{\prime}_{1}\rangle\mskip-4.0mu\rangle_{E^{\prime}}\bigr{)}\,.\hfil\hskip-14.22636pt\\ \end{array}\begin{tabular}[b]{r@{}}(by Prop.~{}\ref{p:MergeQuantSigma})\\ \\ \\ \mbox{\qed}\\ \end{tabular}

From the above result, we deduce that:

Proposition 3.9.

Given a code a𝒜Xa\in\mathscr{A}^{X} and a map f:XYf:X\to Y, we have:

(𝖯Y) {ax:xf1(y)}yY=f(aX)\textstyle\bigl{\langle}\mskip-4.0mu\bigl{\langle}\bigcurlywedge\{a_{x}:x\in f^{-1}(y)\}\bigr{\rangle}\mskip-4.0mu\bigr{\rangle}_{y\in Y}~{}=~{}\forall{f}(\langle\mskip-4.0mu\langle a\rangle\mskip-4.0mu\rangle_{X})
Proof.

Same argument as for Prop. 2.6 p. 2.6. ∎

3.5. Implication in 𝒜\mathscr{A}

It now remains to show that the operation ():𝒜×𝒜𝒜({\to}):\mathscr{A}\times\mathscr{A}\to\mathscr{A} is a code for implication in the sense of the generic predicate tr𝒜𝖯𝒜\textit{tr}_{\mathscr{A}}\in\mathsf{P}\mathscr{A}. For that, we first need to prove the following technical lemma:

Lemma 3.10.

˙{(˙s)˙ξ:ss,ξt}(s,t)𝔓(Σ)2=˙{(˙s)˙ξ:ξt}(s,t)𝔓(Σ)2\Bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\Bigl{\{}\bigl{(}{\mathbin{\dot{{\bigwedge}}}}s^{\prime}\bigr{)}\mathbin{\dot{{\to}}}\xi~{}:~{}s^{\prime}\in s^{\subseteq},~{}\xi\in t\Bigr{\}}\Bigr{\rrbracket}_{(s,t)\in\mathfrak{P}(\Sigma)^{2}}=\Bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\Bigl{\{}\bigl{(}{\mathbin{\dot{{\bigwedge}}}}s\bigr{)}\mathbin{\dot{{\to}}}\xi~{}:~{}\xi\in t\Bigr{\}}\Bigr{\rrbracket}_{(s,t)\in\mathfrak{P}(\Sigma)^{2}}.

Proof.

Let us consider the set G:={(s,t,s,ξ):ss,ξt}𝔓(Σ)×𝔓(Σ)×𝔓(Σ)×ΣG:=\{(s,t,s^{\prime},\xi):s^{\prime}\supseteq s,~{}\xi\in t\}\subseteq\mathfrak{P}(\Sigma)\times\mathfrak{P}(\Sigma)\times\mathfrak{P}(\Sigma)\times\Sigma equipped with the four projections g1,g2,g3:G𝔓(Σ)g_{1},g_{2},g_{3}:G\to\mathfrak{P}(\Sigma), g4:GΣg_{4}:G\to\Sigma and the function g:GGg:G\to G defined by g(s,t,s,ξ)=g(s,t,s,ξ)g(s,t,s^{\prime},\xi)=g(s,t,s,\xi) for all (s,t,s,ξ)G(s,t,s^{\prime},\xi)\in G. We observe that

˙{(˙s)˙ξ:ss,ξt}(s,t)𝔓(Σ)2=˙{(˙g3(z))˙g4(z):zg1,g21(s,t)}(s,t)𝔓(Σ)2=g1,g2(˙g3Gg4G)\begin{array}[]{l@{~{}~}l}\hfil~{}{}&\Bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\Bigl{\{}\bigl{(}{\mathbin{\dot{{\bigwedge}}}}s^{\prime}\bigr{)}\mathbin{\dot{{\to}}}\xi~{}:~{}s^{\prime}\in s^{\subseteq},~{}\xi\in t\Bigr{\}}\Bigr{\rrbracket}_{(s,t)\in\mathfrak{P}(\Sigma)^{2}}\\ =\hfil~{}{}&\Bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\Bigl{\{}\bigl{(}{\mathbin{\dot{{\bigwedge}}}}g_{3}(z)\bigr{)}\mathbin{\dot{{\to}}}g_{4}(z)~{}:~{}z\in\langle g_{1},g_{2}\rangle^{-1}(s,t)\Bigr{\}}\Bigr{\rrbracket}_{(s,t)\in\mathfrak{P}(\Sigma)^{2}}\\ =\hfil~{}{}&\forall\langle g_{1},g_{2}\rangle\Bigl{(}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ g_{3}\bigr{\rrbracket}_{G}\to\llbracket g_{4}\rrbracket_{G}\Bigr{)}\\ \end{array}

whereas

˙{(˙s)˙ξ:ξt}(s,t)𝔓(Σ)2=˙{(˙g1(z))˙g4(z):zg1,g21(s,t)}(s,t)𝔓(Σ)2=g1,g2(˙g1Gg4G)\begin{array}[]{l@{~{}~}l}\hfil~{}{}&\Bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\Bigl{\{}\bigl{(}{\mathbin{\dot{{\bigwedge}}}}s\bigr{)}\mathbin{\dot{{\to}}}\xi~{}:~{}\xi\in t\Bigr{\}}\Bigr{\rrbracket}_{(s,t)\in\mathfrak{P}(\Sigma)^{2}}\\ =\hfil~{}{}&\Bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\Bigl{\{}\bigl{(}{\mathbin{\dot{{\bigwedge}}}}g_{1}(z)\bigr{)}\mathbin{\dot{{\to}}}g_{4}(z)~{}:~{}z\in\langle g_{1},g_{2}\rangle^{-1}(s,t)\Bigr{\}}\Bigr{\rrbracket}_{(s,t)\in\mathfrak{P}(\Sigma)^{2}}\\ =\hfil~{}{}&\forall\langle g_{1},g_{2}\rangle\Bigl{(}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ g_{1}\bigr{\rrbracket}_{G}\to\llbracket g_{4}\rrbracket_{G}\Bigr{)}\\ \end{array}

So that we have to prove that  g1,g2(˙g3Gg4G)=g1,g2(˙g1Gg4G)\forall\langle g_{1},g_{2}\rangle\Bigl{(}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ g_{3}\bigr{\rrbracket}_{G}\to\llbracket g_{4}\rrbracket_{G}\Bigr{)}~{}=~{}\forall\langle g_{1},g_{2}\rangle\Bigl{(}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ g_{1}\bigr{\rrbracket}_{G}\to\llbracket g_{4}\rrbracket_{G}\Bigr{)}.

()({\leq}) We observe that

𝖯g(˙g3Gg4G)=˙g3gGg4gG=˙g1Gg4F,\textstyle\mathsf{P}{g}\Bigl{(}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ g_{3}\bigr{\rrbracket}_{G}\to\llbracket g_{4}\rrbracket_{G}\Bigr{)}~{}=~{}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ g_{3}\circ g\bigr{\rrbracket}_{G}\to\llbracket g_{4}\circ g\rrbracket_{G}~{}=~{}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ g_{1}\bigr{\rrbracket}_{G}\to\llbracket g_{4}\rrbracket_{F}\,,

since g3g=g1g_{3}\circ g=g_{1} and g4g=g4g_{4}\circ g=g_{4}. By right adjunction we thus get

˙g3Gg4Gg(˙g1Gg4G)g1,g2(˙g3Gg4G)(g1,g2g)(˙g1Gg4G)g1,g2(˙g3Gg4G)g1,g2(˙g1Gg4G),henceand thus\begin{array}[b]{r@{~{}~}c@{~{}~}l}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ g_{3}\bigr{\rrbracket}_{G}\to\llbracket g_{4}\rrbracket_{G}~{}{}&\leq\hfil~{}{}&\forall{g}\Bigl{(}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ g_{1}\bigr{\rrbracket}_{G}\to\llbracket g_{4}\rrbracket_{G}\Bigr{)}\\ \forall\langle g_{1},g_{2}\rangle\Bigl{(}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ g_{3}\bigr{\rrbracket}_{G}\to\llbracket g_{4}\rrbracket_{G}\Bigr{)}~{}{}&\leq\hfil~{}{}&(\forall\langle g_{1},g_{2}\rangle\circ\forall{g})\Bigl{(}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ g_{1}\bigr{\rrbracket}_{G}\to\llbracket g_{4}\rrbracket_{G}\Bigr{)}\\ \forall\langle g_{1},g_{2}\rangle\Bigl{(}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ g_{3}\bigr{\rrbracket}_{G}\to\llbracket g_{4}\rrbracket_{G}\Bigr{)}~{}{}&\leq\hfil~{}{}&\forall\langle g_{1},g_{2}\rangle\Bigl{(}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ g_{1}\bigr{\rrbracket}_{G}\to\llbracket g_{4}\rrbracket_{G}\Bigr{)}\,,\\ \end{array}\begin{tabular}[b]{@{}l}hence\\[3.0pt] and thus\\ \end{tabular}

using the fact that g1,g2g=g1g,g2g=g1,g2\langle g_{1},g_{2}\rangle\circ g=\langle g_{1}\circ g,g_{2}\circ g\rangle=\langle g_{1},g_{2}\rangle.

()({\geq}) From Coro. 2.13, we get ˙g3G˙g1G\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ g_{3}\bigr{\rrbracket}_{G}\leq\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ g_{1}\bigr{\rrbracket}_{G} (since g1(z)g3(z)g_{1}(z)\subseteq g_{3}(z) for all zGz\in G). Hence  ˙g3Gg4G˙g1Gg4G\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ g_{3}\bigr{\rrbracket}_{G}\to\llbracket g_{4}\rrbracket_{G}~{}\geq~{}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ g_{1}\bigr{\rrbracket}_{G}\to\llbracket g_{4}\rrbracket_{G},  and thus:

g1,g2(˙g3Gg4G)g1,g2(˙g1Gg4G).\textstyle\forall\langle g_{1},g_{2}\rangle\Bigl{(}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ g_{3}\bigr{\rrbracket}_{G}\to\llbracket g_{4}\rrbracket_{G}\Bigr{)}~{}\geq~{}\forall\langle g_{1},g_{2}\rangle\Bigl{(}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ g_{1}\bigr{\rrbracket}_{G}\to\llbracket g_{4}\rrbracket_{G}\Bigr{)}\,.

We can now state the desired property:

Proposition 3.11.

ab(a,b)𝒜2=π𝒜2π𝒜2(𝖯(𝒜×𝒜))\langle\mskip-4.0mu\langle a\to b\rangle\mskip-4.0mu\rangle_{(a,b)\in\mathscr{A}^{2}}=\langle\mskip-4.0mu\langle\pi\rangle\mskip-4.0mu\rangle_{\mathscr{A}^{2}}\to\langle\mskip-4.0mu\langle\pi^{\prime}\rangle\mskip-4.0mu\rangle_{\mathscr{A}^{2}}~{}({\in}~{}\mathsf{P}(\mathscr{A}\times\mathscr{A})),
writing π,π:𝒜2𝒜\pi,\pi^{\prime}:\mathscr{A}^{2}\to\mathscr{A} the two projections from 𝒜2\mathscr{A}^{2} to 𝒜\mathscr{A}.

Proof.

Indeed, we have:

ab(a,b)𝒜2=φ(ab)(a,b)𝒜2=φ({sβ:sφ~0(a),βb})(a,b)𝒜2=˙{(˙s)˙ξ:sφ~0(a),ξφ~0(b)}(a,b)𝒜2=𝖯(φ~0×φ~0)(˙{(˙s)˙ξ:ss,ξt}(s,t)𝔓(Σ)2)=𝖯(φ~0×φ~0)(˙{(˙s)˙ξ:ξt}(s,t)𝔓(Σ)2)=𝖯(φ~0×φ~0)((˙s)˙(˙t)(s,t)𝔓(Σ)2)=(˙φ~0(a))˙(˙φ~0(b))(a,b)𝒜2=φ(a)˙φ(b)(a,b)𝒜2=φπ𝒜2φπ𝒜2=π𝒜2π𝒜2(by Lemma 3.10)(by Coro. 2.11)\begin{array}[b]{r@{~{}~}l@{~{}~}l@{\hskip-10mm}}\langle\mskip-4.0mu\langle a\to b\rangle\mskip-4.0mu\rangle_{(a,b)\in\mathscr{A}^{2}}~{}{}&=\hfil~{}{}&\llbracket\varphi(a\to b)\rrbracket_{(a,b)\in\mathscr{A}^{2}}\hfil\hskip-28.45274pt\\ ~{}{}&=\hfil~{}{}&\Bigl{\llbracket}\varphi\Bigl{(}\bigl{\{}s^{\prime}\mapsto\beta~{}:~{}s^{\prime}\in\tilde{\varphi}_{0}(a)^{\subseteq},~{}\beta\in b\bigr{\}}\Bigr{)}\Bigr{\rrbracket}_{(a,b)\in\mathscr{A}^{2}}\hfil\hskip-28.45274pt\\ ~{}{}&=\hfil~{}{}&\Bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\Bigl{\{}\bigl{(}{\mathbin{\dot{{\bigwedge}}}}s^{\prime}\bigr{)}\mathbin{\dot{{\to}}}\xi~{}:~{}s^{\prime}\in\tilde{\varphi}_{0}(a)^{\subseteq},~{}\xi\in\tilde{\varphi}_{0}(b)\Bigr{\}}\Bigr{\rrbracket}_{(a,b)\in\mathscr{A}^{2}}\hfil\hskip-28.45274pt\\ ~{}{}&=\hfil~{}{}&\mathsf{P}(\tilde{\varphi}_{0}\times\tilde{\varphi}_{0})\left(\Bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\Bigl{\{}\bigl{(}{\mathbin{\dot{{\bigwedge}}}}s^{\prime}\bigr{)}\mathbin{\dot{{\to}}}\xi~{}:~{}s^{\prime}\in s^{\subseteq},~{}\xi\in t\Bigr{\}}\Bigr{\rrbracket}_{(s,t)\in\mathfrak{P}(\Sigma)^{2}}\right)\hfil\hskip-28.45274pt\\ ~{}{}&=\hfil~{}{}&\mathsf{P}(\tilde{\varphi}_{0}\times\tilde{\varphi}_{0})\left(\Bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\Bigl{\{}\bigl{(}{\mathbin{\dot{{\bigwedge}}}}s\bigr{)}\mathbin{\dot{{\to}}}\xi~{}:~{}\xi\in t\Bigr{\}}\Bigr{\rrbracket}_{(s,t)\in\mathfrak{P}(\Sigma)^{2}}\right)\hfil\hskip-28.45274pt\\ ~{}{}&=\hfil~{}{}&\mathsf{P}(\tilde{\varphi}_{0}\times\tilde{\varphi}_{0})\left(\bigl{\llbracket}\bigl{(}{\mathbin{\dot{{\bigwedge}}}}s\bigr{)}\mathbin{\dot{{\to}}}\bigl{(}{\mathbin{\dot{{\bigwedge}}}}t\bigr{)}\bigr{\rrbracket}_{(s,t)\in\mathfrak{P}(\Sigma)^{2}}\right)\hfil\hskip-28.45274pt\\ ~{}{}&=\hfil~{}{}&\bigl{\llbracket}\bigl{(}{\mathbin{\dot{{\bigwedge}}}}\tilde{\varphi}_{0}(a)\bigr{)}\mathbin{\dot{{\to}}}\bigl{(}{\mathbin{\dot{{\bigwedge}}}}\tilde{\varphi}_{0}(b)\bigr{)}\bigr{\rrbracket}_{(a,b)\in\mathscr{A}^{2}}~{}=~{}\llbracket\varphi(a)\mathbin{\dot{{\to}}}\varphi(b)\rrbracket_{(a,b)\in\mathscr{A}^{2}}\hfil\hskip-28.45274pt\\ ~{}{}&=\hfil~{}{}&\llbracket\varphi\circ\pi\rrbracket_{\mathscr{A}^{2}}\to\llbracket\varphi\circ\pi^{\prime}\rrbracket_{\mathscr{A}^{2}}~{}=~{}\langle\mskip-4.0mu\langle\pi\rangle\mskip-4.0mu\rangle_{\mathscr{A}^{2}}\to\langle\mskip-4.0mu\langle\pi^{\prime}\rangle\mskip-4.0mu\rangle_{\mathscr{A}^{2}}\hfil\hskip-28.45274pt\\ \end{array}\begin{tabular}[b]{r@{}}(by Lemma~{}\ref{l:ImpTech})\\[5.0pt] (by Coro.~{}\ref{c:DistrForallImp})\\[3.0pt] \\ \mbox{\qed}\\ \end{tabular}
Proposition 3.12.

Let XX be a set. For all codes a,b𝒜Xa,b\in\mathscr{A}^{X}, we have

(𝖯X) axbxxX=aXbX\textstyle\langle\mskip-4.0mu\langle a_{x}\to b_{x}\rangle\mskip-4.0mu\rangle_{x\in X}~{}=~{}\langle\mskip-4.0mu\langle a\rangle\mskip-4.0mu\rangle_{X}\to\langle\mskip-4.0mu\langle b\rangle\mskip-4.0mu\rangle_{X}
Proof.

Same argument as for Prop. 2.4 p. 2.4. ∎

3.6. Defining the separator S𝒜S\subseteq\mathscr{A}

By analogy with the construction of the pseudo-filter ΦΣ\Phi\subseteq\Sigma (cf Section 2.4), we let

(𝒜) S:={a𝒜:a_1=1}S~{}:=~{}\bigl{\{}a\in\mathscr{A}~{}:~{}\langle\mskip-4.0mu\langle a\rangle\mskip-4.0mu\rangle_{\_\in 1}=\top_{1}\bigr{\}}

writing 1\top_{1} the top element of 𝖯1\mathsf{P}{1}. Note that by construction, we have

S={a𝒜:φ(a)_1=1}={a𝒜:φ(a)Φ}=φ1(Φ).S~{}=~{}\bigl{\{}a\in\mathscr{A}~{}:~{}\llbracket\varphi(a)\rrbracket_{\_\in 1}=\top_{1}\bigr{\}}~{}=~{}\bigl{\{}a\in\mathscr{A}~{}:~{}\varphi(a)\in\Phi\bigr{\}}~{}=~{}\varphi^{-1}(\Phi)\,.
Proposition 3.13.

The subset S𝒜S\subseteq\mathscr{A} is a separator of the implicative structure (𝒜,,)(\mathscr{A},{\preccurlyeq},{\to}).

Proof.

SS is upwards closed. Let a,b𝒜a,b\in\mathscr{A} such that aSa\in S and aba\preccurlyeq b (that is: bab\subseteq a). From these assumptions, we have a_1=1\langle\mskip-4.0mu\langle a\rangle\mskip-4.0mu\rangle_{\_\in 1}=\top_{1} and φ~0(b)φ~0(a)\tilde{\varphi}_{0}(b)\subseteq\tilde{\varphi}_{0}(a), hence

1=a_1=˙φ~0(a)_1=˙(φ~0(a))_11˙(φ~0(b))_11=b_1\textstyle\top_{1}~{}=~{}\langle\mskip-4.0mu\langle a\rangle\mskip-4.0mu\rangle_{\_\in 1}~{}=~{}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\tilde{\varphi}_{0}(a)\bigr{\rrbracket}_{\_\in 1}~{}=~{}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ(\tilde{\varphi}_{0}(a))_{\_\in 1}\bigr{\rrbracket}_{1}~{}\leq~{}\bigl{\llbracket}{\mathbin{\dot{{\bigwedge}}}}\circ(\tilde{\varphi}_{0}(b))_{\_\in 1}\bigr{\rrbracket}_{1}~{}=~{}\langle\mskip-4.0mu\langle b\rangle\mskip-4.0mu\rangle_{\_\in 1}

(from Coro. 2.13) and thus b_1=1\langle\mskip-4.0mu\langle b\rangle\mskip-4.0mu\rangle_{\_\in 1}=\top_{1}. Therefore bSb\in S.

SS contains 𝐊𝒜\mathbf{K}^{\mathscr{A}} and 𝐒𝒜\mathbf{S}^{\mathscr{A}}. We observe that

𝐊𝒜_1=a𝒜b(aba)_1=π1,𝒜(b(aba)(_,a)1×𝒜)=π1,𝒜(π1×𝒜,𝒜(aba((_,a),b)(1×𝒜)×𝒜))=π1,𝒜(π1×𝒜,𝒜((1×𝒜)×𝒜))=1\begin{array}[]{r@{~{}~}c@{~{}~}l}\bigl{\langle}\mskip-4.0mu\bigl{\langle}\mathbf{K}^{\mathscr{A}}\bigr{\rangle}\mskip-4.0mu\bigr{\rangle}_{\_\in 1}~{}{}&=\hfil~{}{}&\Bigl{\langle}\mskip-4.0mu\Bigl{\langle}\bigcurlywedge_{a\in\mathscr{A}}\bigcurlywedge_{b\in\mathscr{B}}(a\to b\to a)\Bigr{\rangle}\mskip-4.0mu\Bigr{\rangle}_{\_\in 1}\\[6.0pt] ~{}{}&=\hfil~{}{}&\forall{\pi_{1,\mathscr{A}}}\Bigl{(}\Bigl{\langle}\mskip-4.0mu\Bigl{\langle}\bigcurlywedge_{b\in\mathscr{B}}(a\to b\to a)\Bigr{\rangle}\mskip-4.0mu\Bigr{\rangle}_{(\_\,,a)\in 1\times\mathscr{A}}\Bigr{)}\\[6.0pt] ~{}{}&=\hfil~{}{}&\forall{\pi_{1,\mathscr{A}}}\bigl{(}\forall{\pi_{1\times\mathscr{A},\mathscr{A}}}\bigl{(}\bigl{\langle}\mskip-4.0mu\bigl{\langle}a\to b\to a\bigr{\rangle}\mskip-4.0mu\bigr{\rangle}_{((\_\,,a),b)\in(1\times\mathscr{A})\times\mathscr{A}}\bigr{)}\bigr{)}\\[3.0pt] ~{}{}&=\hfil~{}{}&\forall{\pi_{1,\mathscr{A}}}\bigl{(}\forall{\pi_{1\times\mathscr{A},\mathscr{A}}}\bigl{(}\top_{(1\times\mathscr{A})\times\mathscr{A}}\bigr{)}\bigr{)}~{}=~{}\top_{1}\\ \end{array}

hence 𝐊𝒜S\mathbf{K}^{\mathscr{A}}\in S. The proof that 𝐒𝒜S\mathbf{S}^{\mathscr{A}}\in S is analogous.

SS is closed under modus ponens. Suppose that (ab)S(a\to b)\in S and aSa\in S. This means that ab_1=a_1b_1=1\langle\mskip-4.0mu\langle a\to b\rangle\mskip-4.0mu\rangle_{\_\in 1}=\langle\mskip-4.0mu\langle a\rangle\mskip-4.0mu\rangle_{\_\in 1}\to\langle\mskip-4.0mu\langle b\rangle\mskip-4.0mu\rangle_{\_\in 1}=\top_{1} and a_1=1\langle\mskip-4.0mu\langle a\rangle\mskip-4.0mu\rangle_{\_\in 1}=\top_{1}. Hence b_1=1\langle\mskip-4.0mu\langle b\rangle\mskip-4.0mu\rangle_{\_\in 1}=\top_{1}, and thus bSb\in S. ∎

Similarly to Prop. 2.7 p. 2.7, the following proposition characterizes the ordering on each Heyting algebra 𝖯X\mathsf{P}{X} from the operations of 𝒜\mathscr{A} and the separator S𝒜S\subseteq\mathscr{A}:

Proposition 3.14.

For all sets XX and for all codes a,b𝒜Xa,b\in\mathscr{A}^{X}, we have:

aXbXiffxX(axbx)S.\langle\mskip-4.0mu\langle a\rangle\mskip-4.0mu\rangle_{X}\leq\langle\mskip-4.0mu\langle b\rangle\mskip-4.0mu\rangle_{X}\quad\text{iff}\quad\bigcurlywedge_{x\in X}(a_{x}\to b_{x})~{}\in~{}S\,.
Proof.

Writing 1X:X11_{X}:X\to 1 the unique map from XX to 11, we have:

aXbXiffXaXbXiff𝖯1X(1)axbxxXiff11X(axbxxX)iff1{axbx:xX}_1iffxX(axbx)S.\begin{array}[b]{r@{\quad}c@{\quad}l}\langle\mskip-4.0mu\langle a\rangle\mskip-4.0mu\rangle_{X}\leq\langle\mskip-4.0mu\langle b\rangle\mskip-4.0mu\rangle_{X}&\text{iff}&\top_{X}\leq\langle\mskip-4.0mu\langle a\rangle\mskip-4.0mu\rangle_{X}\to\langle\mskip-4.0mu\langle b\rangle\mskip-4.0mu\rangle_{X}\\ &\text{iff}&\mathsf{P}{1_{X}}(\top_{1})\leq\langle\mskip-4.0mu\langle a_{x}\to b_{x}\rangle\mskip-4.0mu\rangle_{x\in X}\\ &\text{iff}&\top_{1}\leq\forall{1_{X}}\bigl{(}\langle\mskip-4.0mu\langle a_{x}\to b_{x}\rangle\mskip-4.0mu\rangle_{x\in X}\bigr{)}\\ &\text{iff}&\top_{1}\leq\bigl{\langle}\mskip-4.0mu\bigl{\langle}{\bigcurlywedge}\{a_{x}\to b_{x}:x\in X\}\bigr{\rangle}\mskip-4.0mu\bigr{\rangle}_{\_\in 1}\\ &\text{iff}&\displaystyle\bigcurlywedge_{x\in X}(a_{x}\to b_{x})~{}\in~{}S\,.\\ \end{array}

3.7. Constructing the isomorphism

Let us now write 𝖯:𝐒𝐞𝐭op𝐇𝐀\mathsf{P}^{\prime}:\mathbf{Set}^{\mathrm{op}}\to\mathbf{HA} the tripos induced by the implicative algebra (𝒜,,,S)(\mathscr{A},{\preccurlyeq},{\to},S) (Section 1.2). Recall that for each set XX, the Heyting algebra 𝖯X:=𝒜X/S[X]\mathsf{P}^{\prime}{X}:=\mathscr{A}^{X}/S[X] is the poset reflection of the preordered set (𝒜X,S[X])(\mathscr{A}^{X},\vdash_{S[X]}) whose preorder S[X]\vdash_{S[X]} is given by

(for alla,b𝒜X) aS[X]biffxX(axbx)Sa\vdash_{S[X]}b\quad\text{iff}\quad\bigcurlywedge_{x\in X}(a_{x}\to b_{x})~{}\in~{}S

It now remains to show that:

Proposition 3.15.

The implicative tripos 𝖯\mathsf{P}^{\prime} is isomorphic to the tripos 𝖯\mathsf{P}.

Proof.

Let us consider the family of maps ρX:=_X:𝒜X𝖯X\rho_{X}:=\langle\mskip-4.0mu\langle\_\rangle\mskip-4.0mu\rangle_{X}:\mathscr{A}^{X}\to\mathsf{P}{X}, which is clearly natural in the parameter set XX. From Prop. 3.14, we have

(for alla,b𝒜X) aS[X]biffxX(axbx)SiffρX(a)ρX(b)a\vdash_{S[X]}b\quad\text{iff}\quad\bigcurlywedge_{x\in X}(a_{x}\to b_{x})~{}\in~{}S\quad\text{iff}\quad\rho_{X}(a)\leq\rho_{X}(b)

hence ρX:𝒜X𝖯X\rho_{X}:\mathscr{A}^{X}\to\mathsf{P}{X} induces an embedding of posets ρ~X:𝖯X𝖯X\tilde{\rho}_{X}:\mathsf{P}^{\prime}{X}\to\mathsf{P}{X} through the quotient 𝖯X:=𝒜X/S[X]\mathsf{P}^{\prime}{X}:=\mathscr{A}^{X}/S[X]. Moreover, the map ρ~X:𝖯X𝖯X\tilde{\rho}_{X}:\mathsf{P}^{\prime}{X}\to\mathsf{P}{X} is surjective (since ρX\rho_{X} is), therefore it is an isomorphism from the tripos 𝖯\mathsf{P}^{\prime} to the tripos 𝖯\mathsf{P}. ∎

The proof of Theorem 1.1 p. 1.1 is now complete.

3.8. The case of classical triposes

In [3], we showed that each classical implicative tripos (that is: a tripos induced by a classical implicative algebra 𝒜\mathscr{A}) is isomorphic to a Krivine tripos (that is: a tripos induced by an abstract Krivine structure). Combining this result with Theorem 1.1, we deduce that classical realizability provides a complete description of all classical triposes 𝖯:𝐒𝐞𝐭op𝐁𝐀\mathsf{P}:\mathbf{Set}^{\mathrm{op}}\to\mathbf{BA} (writing 𝐁𝐀𝐇𝐀\mathbf{BA}\subset\mathbf{HA} the full subcategory of Boolean algebras):

Corollary 3.16.

Each classical tripos 𝖯:𝐒𝐞𝐭op𝐁𝐀\mathsf{P}:\mathbf{Set}^{\mathrm{op}}\to\mathbf{BA} is isomorphic to a Krivine tripos.

Acknowledgements

We would like to thank Étienne Miquey and Luc Pellissier for their useful remarks and corrections in an earlier version of this draft.

References

  • [1] E. Engeler. Algebras and combinators. Algebra Universalis, 13(1):389–392, 1981.
  • [2] J. M. E. Hyland, P. T. Johnstone, and A. M. Pitts. Tripos theory. In Math. Proc. Cambridge Philos. Soc., volume 88, pages 205–232, 1980.
  • [3] A. Miquel. Implicative algebras: a new foundation for realizability and forcing. Math. Struct. Comput. Sci., 30(5):458–510, 2020.
  • [4] A. M. Pitts. The theory of triposes. PhD thesis, University of Cambridge, 1981.
  • [5] A. M. Pitts. Tripos theory in retrospect. Math. Struct. Comput. Sci., 12(3):265–279, 2002.
  • [6] T. Streicher. Krivine’s classical realisability from a categorical perspective. Math. Struct. Comput. Sci., 23(6):1234–1256, 2013.