proposition: Lemma List_eqP : forall (l m: list bool), beq_listP l m <-> l = m.
proof: Proof. induction l; destruct m; simpl; split; intro; try (reflexivity || discriminate); try now contradict H. - destruct H. rewrite H. apply f_equal. apply IHl. exact H0. - inversion H. subst b. subst m. split. + reflexivity. + apply IHl; reflexivity. Qed.
imports: List Bool NArith Psatz Int63 Nnat ZArith Misc ProofIrrelevance