Section defs.
Variable A : Setoid.
Inductive is_subseq :
forall (m : Nat) (w : seq m A) (n : Nat) (v : seq n A), Prop :=
| is_subseq_empty :
forall (n : Nat) (v : seq n A) (w : seq 0 A), is_subseq w v
| is_subseq_of_tail :
forall (m : Nat) (w : seq m A) (n : Nat) (v : seq n A),
is_subseq w v -> forall a : A, is_subseq w (a;; v)
| is_subseq_cons :
forall (m : Nat) (w : seq m A) (n : Nat) (v : seq n A),
is_subseq w v -> forall a : A, is_subseq (a;; w) (a;; v)
| is_subseq_comp :
forall (m : Nat) (w w' : seq m A) (n : Nat) (v v' : seq n A),
is_subseq w' v' -> w =' w' in _ -> v =' v' in _ -> is_subseq w v.

Lemma subseq_has_right_elements :
forall (m : Nat) (w : seq m A) (n : Nat) (v : seq n A),
is_subseq w v -> forall i : fin m, exists i' : fin n, w i =' v i' in _.