No. This portion is incorrect.
Mary sends 4 BTC to Freddie.
What will happen is two outgoing transactions, both signed by Mary's public key.
One worth 4 BTC that goes to Freddie and one worth 3 BTC that goes to a fresh address in Mary's wallet.
The transaction from Mary will be a single transaction
Input0: 7 BTC sent from Bob.
Output0: 4 BTC to Freddie
Output1: 3 BTC "change" back to Mary.
It is best to always think about transactions as simply inputs and outputs. In Bob's case if he received 7x 1 BTC inputs it doesn't matter if they were sent to 7 addresses or all 7 to one address regardless they are 7 discrete inputs. So Bob's tx would look like this
Input0: 1 BTC
Input1: 1 BTC
Input2: 1 BTC
Input3: 1 BTC
Input4: 1 BTC
Input5: 1 BTC
Input6: 1 BTC
Output: 7 BTC (to mary)
A couple of general rules
1) Transactions consists of one or more inputs and outputs.
2) The sum of the inputs of a tx must be equal to or greater than the sum of the outputs
3) If the sum of inputs is greater than the sum of the outputs the difference is the fee paid to miners.
4) All tx (except coinbase txs) have as their inputs, the unspent outputs of prior transactions.
5) Outputs can only be unspent or spent. You can't spend part of an output.