Inductive SkipList: list T -> list T -> Prop :=
    | SkipList_head (x: T) l l': SkipList l l' -> SkipList (x :: l) (x :: l')
    | SkipList_tail (x: T) l l': SkipList l l' -> SkipList l (x :: l')
    | SkipList_nil l: SkipList nil l.Inductive SkipList: list T -> list T -> Prop :=
    | SkipList_head (x: T) l l': SkipList l l' -> SkipList (x :: l) (x :: l')
    | SkipList_tail (x: T) l l': SkipList l l' -> SkipList l (x :: l')
    | SkipList_nil l: SkipList nil l.Inductive SkipList: list T -> list T -> Prop :=
    | SkipList_head (x: T) l l': SkipList l l' -> SkipList (x :: l) (x :: l')
    | SkipList_tail (x: T) l l': SkipList l l' -> SkipList l (x :: l')
    | SkipList_nil l: SkipList nil l.Inductive SkipList: list T -> list T -> Prop :=
    | SkipList_head (x: T) l l': SkipList l l' -> SkipList (x :: l) (x :: l')
    | SkipList_tail (x: T) l l': SkipList l l' -> SkipList l (x :: l')
    | SkipList_nil l: SkipList nil l.

Lemma SkipList_map (A: Set) (x y: list A): SkipList x y -> forall (B: Set) (f: A -> B), SkipList (map f x) (map f y).