intros.
elim EXPH4.
elim LmerK.
elim Lmers4.
elim LmerTnd.
elim LmerL.
elim CommTn_dL.
elim CommTn_ds4.
elim CommLs4.
elim CommKs4.
elim (SC3 (seq (Tn_d d e1) (S i)) (K i)).
elim CommTn_dK.
elim CommKL.
repeat elim A6.
repeat elim A6'.
unfold Y2 in |- *.
elim (SC6 (seq (ia frame s5 (tuple e1)) (R i)) (L i)).
elim (SC6 (mer (seq (ia frame s5 (tuple e1)) (R i)) (L i)) (K i)).
elim
(SC6 (mer (mer (seq (ia frame s5 (tuple e1)) (R i)) (L i)) (K i))
(seq (Tn_d d e1) (S i))).
elim SC7.
elim SC7.
elim (SC6 (mer (K i) (seq (Tn_d d e1) (S i))) (L i)).
elim SC7.
apply refl_equal.
Qed.

(* Specifications: *)
Theorem Lem18 :
forall d : D,
seq (ia frame c5 (tuple e0))
(enc H
(mer (seq (Rn e0) (R i))
(mer
(alt (seq (ia one int i) (seq (ia frame s6 (tuple e0)) (L i)))
(seq (ia one int i) (seq (ia frame s6 sce) (L i))))
(mer (K i) (seq (Tn_d d e1) (S i)))))) =
enc H
(mer (K i)
(mer (seq (ia frame s5 (tuple e0)) (seq (Rn e0) (R i)))
(mer (seq (Tn_d d e1) (S i)) (L i)))).