proposition: Lemma List_neq : forall (l m: list bool), beq_list l m = false -> l <> m.
proof: Proof. intro l. induction l. - intros. case m in *; simpl. now contradict H. easy. - intros. simpl in H. case_eq m; intros; rewrite H0 in H. easy. simpl. case_eq (Bool.eqb a b); intros. rewrite H1 in H. rewrite andb_true_l in H. apply Bool.eqb_prop in H1. specialize (IHl l0 H). rewrite H1. unfold not in *. intros. apply IHl. now inversion H2. apply Bool.eqb_false_iff in H1. unfold not in *. intros. apply H1. now inversion H2. Qed.
imports: List Bool NArith Psatz Int63 Nnat ZArith Misc ProofIrrelevance