Consider the sampling algorithm as described here section 2.2 specifically Algorithm 2.4.
Essentially we are given a stream of $N$ elements and wish to maintain a uniformly random sample, $S$, of size $k$. Initially we put $k$ elements into $S$ and then for each iteration, $i \in [k+1, N]$ we choose a random number $x \in [1,i]$ and if $x \leq k$ we replace the $x$'th element from $S$ with the element seen at iteration $i$.
I see answers online e.g. here that after iteration $N$ each element from the stream has probability $k/N$ to be in the sample $S$. However what is the probability that two elements $x_l$ and $x_j$ where $l \neq j$ are both in the sample after iteration $N$? As i understand it the event that $x_l$ is sampled is not independent from the event that $x_j$ is sampled since we would have fewer slots to choose from when including $x_j$ assuming it occurs later than $x_l$ in the stream.