Lemma natdivleh ( a b k : nat ) ( f : ( a * k )%nat = b ) : natleh a b ⨿ ( b = 0%nat ). Proof. intros. destruct k. - rewrite natmultcomm in f. simpl in f. apply ii2. apply pathsinv0. assumption. - rewrite natmultcomm in f. simpl in f. apply ii1. apply natlehdecomp. intro P. intro g. apply g. split with ( k * a )%nat. rewrite natpluscomm. assumption. Defined.
Require Import UniMath.Foundations.PartA. Require Import UniMath.Foundations.Propositions. Require Import UniMath.Foundations.NaturalNumbers. Require Import UniMath.Algebra.RigsAndRings. Require Import UniMath.Algebra.Domains_and_Fields. Require Import UniMath.NumberSystems.Integers. Require Import UniMath.Algebra.Monoids.