On the nLab, given a local $S$-topos $E$, a concrete sheaf is defined as an object that is separated with respect to the local isomorphisms (the morphisms that are inverted by the global sections functor $\Gamma:E\rightarrow S$): <https://ncatlab.org/nlab/show/concrete+sheaf#in_a_local_topos>


However, separated means that these morphisms are merely send to monos and not to isos. So I cannot see why a concrete sheaf would, in particular, be a sheaf.


I'm pretty sure I made a mistake in my reasoning, so I was wondering if somebody had a simple explanation.



Concrete sheaves
To summarize the discussion in the comments:


* There are two nontrivial Grothendieck topologies used in the definition of a concrete sheaf: the Grothendieck topology T used to define sheaves, and the Grothendieck topology C used to define concrete presheaves.
* The Grothendieck topology T (and its site S) are given to us.
* The Grothendieck topology C is defined by specifying the generating covering family of an object X∈S as the family of all maps 1→X, where 1 is the terminal object in the site S.
* C-separated presheaves are precisely concrete presheaves on S in the usual sense.
* In particular, C-separated T-local presheaves on S (i.e., C-separated T-sheaves) are precisely concrete sheaves on S.
* A C-local presheaf F (i.e., a C-sheaf) has a very simple form: it sends an object Y∈S to the set of maps Y(\*)→F(\*), where F(\*) denotes the set of maps 1→F, where 1 is the terminal object of S.


