# Checking the sheaf condition on the underlying presheaf of types. #

If `G : C ⥤ D`

is a functor which reflects isomorphisms and preserves limits
(we assume all limits exist in `C`

),
then checking the sheaf condition for a presheaf `F : Presheaf C X`

is equivalent to checking the sheaf condition for `F ⋙ G`

.

The important special case is when
`C`

is a concrete category with a forgetful functor
that preserves limits and reflects isomorphisms.
Then to check the sheaf condition it suffices
to check it on the underlying sheaf of types.

## References #

If `G : C ⥤ D`

is a functor which reflects isomorphisms and preserves limits
(we assume all limits exist in `C`

),
then checking the sheaf condition for a presheaf `F : Presheaf C X`

is equivalent to checking the sheaf condition for `F ⋙ G`

.

The important special case is when
`C`

is a concrete category with a forgetful functor
that preserves limits and reflects isomorphisms.
Then to check the sheaf condition it suffices to check it on the underlying sheaf of types.

Another useful example is the forgetful functor `TopCommRingCat ⥤ TopCat`

.

See https://stacks.math.columbia.edu/tag/0073. In fact we prove a stronger version with arbitrary target category.

As an example, we now have everything we need to check the sheaf condition for a presheaf of commutative rings, merely by checking the sheaf condition for the underlying sheaf of types.

Note that the universes for `TopCat`

and `CommRingCat`

must be the same for this argument
to go through.