Next time, and every time he does it, turn to face him and ask him ''Did you actually think I said the cats were teenagers/ the cafe was called XYZ ?? and laugh at him like he's the stupidest person on the bloody planet for misunderstanding you !
If he tries to 'correct' you when with others ?
Smile brightly at the others and say ''Geeze, listen to him, trying to tell me what I meant !'' And laugh AT him loud and hard !
The 'others' will assume it's a 'joke' and laugh with you, and he'll be left looking like a bloody prat ! (which he is !)
If he persists, start calling him the ''fun police'' or ''fun sponge'' or the ''accuracy checker'', (and start directing all your conversations towards the cats !)and point out, to the cats, that some people miss the fact that the point of conversation/stories and social interaction in relationships and social situations isn't about 100% 'accuracy', it's about fun, laughter, enjoyment, sharing...............which he is ruining by his behaviour ffs !
If he does it in front of friends, jokingly say ''Hang on guys, we need to make sure everything we say now is 100% fact checked, otherwise Bob here will get his knickers in a twist again, LOL LOL !''
Hopefully he will be able to 'read the room' and realise that he's not coming across well, to anyone, but if not, you should rethink your 'relationship', because that kind of pedantic and insistent 'behaviour' will only annoy you more as time passes.......
Above all, tell him No-one likes a 'know it all'