Definition foldleft {E} (e : E) (m : binop E) {n : nat} (x: ⟦n⟧ -> E) : E. Proof. intros. induction n as [|n foldleft]. + exact e. + exact (m (foldleft (x ∘ (dni lastelement))) (x lastelement)). Defined.
Require Import UniMath.MoreFoundations.Tactics. Require Import UniMath.MoreFoundations.DecidablePropositions. Require Import UniMath.MoreFoundations.NegativePropositions.