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_trans (y x: list T): SkipList x y -> forall z, SkipList y z -> SkipList x z.