fact: Fixpoint map_op {o: OpType Sorts}: op_type A o → op_type B o := match o return op_type A o → op_type B o with | ne_list.one u => ab u | ne_list.cons _ _ => λ x y, map_op (x (ba _ y)) end.
imports: MathClasses.interfaces.abstract_algebra MathClasses.interfaces.universal_algebra