He doesn't need to prove it to Alice. Alice doesn't care. He needs to prove it to every full node on the entire bitcoin network. Each and every node will verify that Bob fulfilled the necessary requirements when they receive the transaction, and will refuse to relay the transaction to any peers if he didn't. Each and every solo miner, or mining pool, will verify that Bob fulfilled the necessary requirement before they add the transaction to a block they are mining, and will refuse to add it if he didn't. Each and every node on the network will verify that Bob fulfilled the requirements when they receive the mined block and will refuse to relay the block or add the block to their own blockchain if he didn't. If Bob doesn't fulfill the requirements (in the ScriptSig of transaction B), then Transaction B will never be able to leave Bob's wallet/client and get on to the bitcoin network.
Yes i have read it, but it's pretty high level and is honestly badly explained. Anyways I think I got it now. So basically for Bob to send some BTC to Jack he needs to have them himself first, he proves that by placing his PK in scriptSig of Transaction B, which is the same as the PK given by Alice in Transaction A, he also provides his signature to show that it is him who want's the money sent to Jack. Thanks