user89798: Starting from this text at https://en.bitcoin.it/wiki/Script:
"The script for a typical Bitcoin transfer to destination Bitcoin address D simply encumbers future spending of the bitcoins with two things: the spender must provide 1. a public key that, when hashed, yields destination address D embedded in the script ..."
and then looking at the HTLC script:
OP_IF
    [HASHOP] <digest> OP_EQUALVERIFY OP_DUP OP_HASH160 <seller pubkey hash>            
OP_ELSE
    <num> [TIMEOUTOP] OP_DROP OP_DUP OP_HASH160 <buyer pubkey hash>
OP_ENDIF
OP_EQUALVERIFY
OP_CHECKSIG

My original thought was that the HTLC could only be redeemed to the address behind <seller pubkey hash> or <buyer pubkey hash>: they are the only data relating to addresses embedded in the script so must be the "destination address" referred to above. I understand this to be wrong.
Am I now correct in thinking:

That the two pubkey hashes merely establish the right of the redeemer to take the respective branch;
There is in fact no "destination address D embedded in the script" for an HTLC;
That the seller or buyer may redeem to any address they like;
And that address can remain undecided through the funding and life of the HTLC until the moments before redemption?


user24925: The inputs of a transaction have absolutely no ability to effect the outputs in any situation. They can only define who can spend, not the conditions for how they go about spending it. 

89798: <p>Starting from this text at <a href="https://en.bitcoin.it/wiki/Script" rel="nofollow noreferrer">https://en.bitcoin.it/wiki/Script</a>:</p>

<p><em>"The script for a typical Bitcoin transfer to destination Bitcoin address D simply encumbers future spending of the bitcoins with two things: the spender must provide 1. a public key that, when hashed, yields destination address D embedded in the script ..."</em></p>

<p>and then looking at the HTLC script:</p>

<pre><code>OP_IF
    [HASHOP] &lt;digest&gt; OP_EQUALVERIFY OP_DUP OP_HASH160 &lt;seller pubkey hash&gt;            
OP_ELSE
    &lt;num&gt; [TIMEOUTOP] OP_DROP OP_DUP OP_HASH160 &lt;buyer pubkey hash&gt;
OP_ENDIF
OP_EQUALVERIFY
OP_CHECKSIG
</code></pre>

<p>My original thought was that the HTLC could only be redeemed to the address behind <code>&lt;seller pubkey hash&gt;</code> or <code>&lt;buyer pubkey hash&gt;</code>: they are the only data relating to addresses embedded in the script so must be the "destination address" referred to above. I understand this to be wrong.</p>

<p>Am I now correct in thinking:</p>

<ol>
<li>That the two pubkey hashes merely establish the right of the redeemer to take the respective branch;</li>
<li>There is in fact <strong>no</strong> "destination address D embedded in the script" for an HTLC;</li>
<li>That the seller or buyer may redeem to any address they like;</li>
<li>And that address can remain undecided through the funding and life of the HTLC until the moments before redemption?</li>
</ol>
 24925: <p>The inputs of a transaction have absolutely no ability to effect the outputs in any situation. They can only define who can spend, not the conditions for how they go about spending it. </p>
