Fixpoint nocc (n : nat) (l : list nat) {struct l} : nat :=
  match l with
  | Nil => 0
  | Cons m x => si nat (egal_nat n m) (S (nocc n x)) (nocc n x)
  end.

Theorem inf_false_true : forall n m : nat, inf_egal n m = false -> inf_egal m n = true.