Fixpoint isin1(l:list)(z:dart){struct l}:Prop:=
  match l with
     lam => False
   | cons x x' l0 => x = z \/ isin1 l0 z 
  end.Fixpoint isin2(l:list)(z:dart){struct l}:Prop:=
  match l with
     lam => False
   | cons x x' l0 => x' = z \/ isin2 l0 z 
  end.

Lemma isin1_dec:forall(l:list)(z:dart), {isin1 l z} + {~ isin1 l z}.