Certo, então você quer posts escritos por alguém que não seja $user onde nenhuma "instância" (parece significar "resposta") para $user aparece. Deste conjunto você deseja selecionar dez postos distintos.
Se esse for um enquadramento preciso do problema, isso fará o que você deseja:
SELECT *
FROM posts p
WHERE p.user_id <> 3
AND NOT EXISTS (
SELECT 1
FROM instances i
WHERE i.post_id = p.id
AND i.helped_by_user_id = 3
)
ORDER BY p.id
LIMIT 10;
No geral, parece que o problema aqui é que o problema não é realmente enquadrado com clareza. Normalmente, se você pode dizer em inglês claro o que deseja de um conjunto de dados, é muito fácil traduzi-lo em SQL útil.