Section Find.
Context {X: Type}.
Context {D: Dis X}.
Fixpoint find (x: X) (A: list X) : option nat :=
match A with
| nil => None
| y :: A => if x == y then Some 0 else option_map S (find x A)
end.

Lemma find_in x A:
x ∈ A -> exists n, find x A = Some n.