Transactions used to form a block I've read the Developers Guide ( bitcoin.org/en/developer-guide ), asked a few peers and I still don't understand how the transactions are used to form the block.

I did get that the transactions are used to form the Merkle tree. Do all people mining the next block use the same transactions to form the Merkle tree?

Let's say that the Bitcoin network has the transactions A, B, C, X, Y, and Z. All of them are unconfirmed.

I'm mining the transactions ABC and you are mining XYZ. If so, if I find a block that contains ABC, will I then mine the XYZ transactions?

If I find a block, you will have to check which transactions were included in the block by me, before forming the next merkle tree, right? If not, you might use, for example, the B transaction again, which was already confirmed by me.
Do all people mining the next block use the same transactions to form the Merkle tree?


No. This can arise because miners choose transactions differently (I say there shouldn't be free transactions!) or because a transaction is only known about by 90% of the network.


  I'm mining the transactions ABC and you are mining XYZ. If so, if I find a block that contains ABC, will I then mine the XYZ transactions?


That depends on why you didn't include XYZ in your first block. 


If you didn't include them because you don't know about them, then you won't.
If you didn't include them because they didn't pay enough fees, then you might.
If you didn't include them because there wasn't enough space in the block, then you probably would.



  If I find a block, you will have to check which transactions were included in the block by me, before forming the next merkle tree, right? If not, you might use, for example, the B transaction again, which was already confirmed by me.


Yes. Mining clients download and fully validate blocks before mining on top of them.