Section Linking.

(** [if_asm] is denoted as the ktree first denoting the branching condition, then looking-up the appropriate variable and following with either denotation. *)
Lemma if_asm_correct {A} (e : list instr) (tp fp : asm 1 A) :
denote_asm (if_asm e tp fp)
⩯ ((fun _ =>
denote_list e ;;
v <- trigger (GetReg tmp_if) ;;
if v : value then denote_asm fp f0 else denote_asm tp f0)).