proposition: Lemma diff_Z_ind : forall P : Z -> Prop, (forall m n : nat, P (m - n)%Z) -> forall z : Z, P z.
proof: Proof. intros P H z. apply nats_Z_ind. intro n. replace (Z_of_nat n) with (n - 0%nat)%Z. apply H. simpl in |- *. auto with zarith. intro n. replace (- n)%Z with (0%nat - n)%Z. apply H. simpl in |- *. reflexivity. Qed.
imports: Coq(Lia) CoRN.stdlib_omissions.List Coq.Logic.Eqdep_dec Coq.Setoids.Setoid