I know that the current UTXO set is the set of all unspent transaction outputs in the blockchain that is equal to the total number of all bitcoins mined currently and that each UTXO has a reference to its input UTXO that was unlocked to create it. I'm interested in understanding how Bitcoin establishes that each UTXO is proper initially before it begins to operate on further blocks. I assume this is a necessary initial step for any node syncing to the network in order to trust any future assumptions and validation on future UTXOs.
How are unspent TX output values verified? Does the bitcoin software walk back all UTXOs from the current UTXO set all the way to their coinbase block for "properness"?
Is there a way to walk forwards from the genesis block to compute the value of each UTXO as the UTXO set changes each block?