Can we say the Bitcoin wallet applications (at least some) behave as Simplified Payment Verification(SPV) nodes?
How does the wallet application find the corresponding user's unspent transaction outputs, while creating a new transaction (to be included into the new transaction)?
The SPV will query full nodes using a Bloom filter to retrieve those transactions: https://bitcoin.org/en/developer-guide#bloom-filters