induction l1 generalizing w v
W : Type
M : KripkeModel W
l1 l2 : List Program
w v : W
⊢ relateSeq M (l1 ++ l2) w v ↔ ∃ u, relateSeq M l1 w u ∧ relateSeq M l2 u v
case nil
W : Type
M : KripkeModel W
l2 : List Program
w v : W
⊢ relateSeq M ([] ++ l2) w v ↔ ∃ u, relateSeq M [] w u ∧ relateSeq M l2 u v

case cons
W : Type
M : KripkeModel W
l2 : List Program
head✝ : Program
tail✝ : List Program
tail_ih✝ : ∀ (w v : W), relateSeq M (tail✝ ++ l2) w v ↔ ∃ u, relateSeq M tail✝ w u ∧ relateSeq M l2 u v
w v : W
⊢ relateSeq M (head✝ :: tail✝ ++ l2) w v ↔ ∃ u, relateSeq M (head✝ :: tail✝) w u ∧ relateSeq M l2 u v