fact: Fixpoint rec_impl o: (∀ i, op_type (carriers i) o) → op_type carrier o := match o return (∀ i, op_type (carriers i) o) → op_type carrier o with | ne_list.one _ => id | ne_list.cons _ g => λ X X0, rec_impl g (λ i, X i (X0 i)) end.
imports: MathClasses.interfaces.abstract_algebra MathClasses.interfaces.universal_algebra MathClasses.theory.ua_homomorphisms MathClasses.theory.categories MathClasses.categories.varieties