135 | +# deserialize the to_spend and to_sign transactions from the proof, and fail if the proof contains extraneous bytes
136 | +# verify that any additional inputs being proven (proof of funds) are included as inputs in the to_sign transaction, exactly once
137 | +# reconstruct the to_spend' and to_sign' transactions, based on the specification above, copying the version, lock time, and sequence values
138 | +# verify that to_spend = to_spend', that to_sign has at least 1 input, has exactly 1 output, and that to_sign.vin[0] = to_sign'.vin[0]
139 | +# optional: set the "in_future" flag if the transaction's lock time is in the future according to consensus rules
140 | +# in "coins", a mapping of outpoints (hash, vout) to coins (scriptPubKey, amount), let coins(to_spend.txid, 0) = (to_spend.vout[0], 0)
The next sentence uses the phrase "coins map". I think using it here would make this easier to read: Establish a "coins map": a mapping of outpoints (hash, vout) to coins (scriptPubKey, amount), initialized to coins(to_spend.txid, 0) => (to_spend.vout[0].scriptPubKey, 0)