Section If.
Variable n : nat.
Variable sig : finType.
Variable pM1 : pTM sig bool n.
Variable F : finType.
Variable pM2 : pTM sig F n.
Variable pM3 : pTM sig F n.
Definition If := Switch pM1 (fun b => if b then pM2 else pM3).

Lemma If_Realise R1 R2 R3 :
pM1 ⊨ R1 ->
pM2 ⊨ R2 ->
pM3 ⊨ R3 ->
If ⊨ (R1 |_true) ∘ R2 ∪ (R1 |_false) ∘ R3.