Remark

Definition

An objectPP in a categoryCC is (externally) projective iff the hom-functorC(P,−):C→SetC(P, -): C \to Set takes epis to epis. This is the same as saying: given an epi p:B→Ap: B \to A and a map f:P→Af: P \to A, there exists a lift g:P→Bg: P \to B in the sense that f=p∘gf = p \circ g.

To be explicit, every set AA should have a ‘completely presented’ set of ‘canonical’ elements, that is elements given directly as they are constructed without regard for the equality relation imposed upon them. For canonical elements, equality is identity, so the BHK interpretation of logic justifies the axiom of choice for a completely presented set. This set is PP, and AA is obtained from it as a quotient by the relation of equality on AA. This argument can be made precise in many forms of type theory (including those of Martin-Löf and Thierry Coquand), which thus justify CoSHEP, much as they are widely known to justify dependent choice.

But the weaker assumption of CoSHEP is already sufficient for this purpose: while not every free module will be projective, one can still use CoSHEP to find a projective presentation for every free module (and thus for every module). This is discussed in more detail here.

Note that we normally assume (3) for the category of sets, which is true in any (constructively) well-pointed pretopos and true internally in any pretopos whatsoever, so one normally says that DC and CC simply follow from the existence of enough projectives (CoSHEP). Equivalently, internal DC and internal CC follow from internal CoSHEP.

Proof

Condition 1 easily implies 2. Condition 2 says precisely that the natural numbers objectℕ\mathbb{N} is externally projective, and since 11 is a retract of ℕ\mathbb{N}, it is projective under condition 2, so 2 implies 3. It remains to show 3 implies 1.

Let XX be inhabited, so there exists an entire relation given by a jointly monic span

Example

A topos in which CoSHEP holds but 11 is not projective is SetCSet^C, where CC is the category with three objects and exactly two non-identity arrows a→b←ca \to b \leftarrow c. For if U:C→SetU: C \to Set is a functor with U(a)={a0}U(a) = \{a_0\}, U(b)={b0,b1}U(b) = \{b_0, b_1\}, and U(c)={c0}U(c) = \{c_0\}, with U(a→b)(a0)=b0U(a \to b)(a_0) = b_0 and U(c→b)(c0)=b1U(c \to b)(c_0) = b_1, then the map U→1U \to 1 is epi but has no section, so 11 is not projective. On the other hand, as noted below, every presheaf topos satisfies CoSHEP, assuming that SetSet itself does.

In a topos

When working in the internal logic of a topos, the “internal” meaning of CoSHEP is “every object is covered by an internally projective object.” (Compare with the internal axiom of choice: every object is internally projective.) As regards foundational axioms for toposes (in the sort of sense that the axiom of choice is regarded as “foundational”), the internal version of the presentation axiom should be taken as the default version.

Proposition

Internal PAx does not follows from external PAx; see Example 3. However, if every object is projective (AC), then every object is internally projective (IAC).

A stronger version of PAx may be worth considering. Say that an object is stably projective if its pullback to any slice category is projective. Then stably projective objects are internally projective (proof?). Similarly, if we say that a topos EE satisfies stable PAx if every object is covered by a stably projective object, then a topos satisfies internal PAx if it satisfies stable PAx.

Example

Every presheaf toposSetCopSet^{C^{op}} has enough projectives, since any coproduct of representables is projective. If in addition CC has binary products, then by this result, SetCopSet^{C^{op}} validates internal PAx.

Counterexample

However, not every presheaf topos validates internal PAx, even though every presheaf topos validates external PAx. As an example, let CC be the category where Ob(C)Ob(C) is the disjoint sum ℕ∪{a,b}\mathbb{N} \cup \{a, b\}, and preordered by taking the reflexive transitive closure of relations n≤n+1n \leq n+1, n≤an \leq a, n≤bn \leq b. The claim is that neither C(−,a)C(-, a), nor any presheaf PP that maps epimorphically onto C(−,a)C(-, a), can be internally projective. Indeed, consider the presheaf FF defined by F(a)=F(b)=∅F(a) = F(b) = \emptyset and F(n)=[n,∞)F(n) = [n,\infty), with F(n+1→n)F(n+1 \to n) the evident inclusion. Let GG be the support of FF, so that we have an epi e:F→Ge \colon F \to G. Then it may be shown that for any PP covering C(−,a)C(-, a), the set FP(b)F^P(b) is empty and the set GP(b)G^P(b) is nonempty, so that the map eP:FP→GPe^P \colon F^P \to G^P cannot be epic.

Counterexample

Any topos that violates countable choice, of which there are plenty, must also violate internal PAx.

Example

An interesting example of a topos that has enough projectives and satisfies internal CoSHEP (at least, assuming the axiom of choice in Set), although it violates the full (internal) axiom of choice, is the effective topos, and more generally any realizability topos. The reason for this is quite similar to the intuitive justification for CoSHEP given above. Technically, it results from the fact that realizability toposes are exact completions; an explanation is given in this remark.

Further properties

Since Set is (essentially regardless of foundations) an exact category, if it has enough projectives then it must be the freeexact categoryPSetex/lexPSet_{ex/lex} generated by its subcategoryPSetPSet of projective objects. By the construction of the ex/lex completionPSetex/lexPSet_{ex/lex}, it follows that every set is the quotient of some “pseudo-equivalence relation” in PSetPSet; i.e., the result of imposing an equality relation on some completely presented set. See SEAR+ε for an application of this idea.