fact: Fixpoint MM_mult (e f:expr) {struct e} : expr := let d := expr_mult e f in match e, f with | expr_mult e1 e2, f => MV_mult (MM_mult e2 f) e1 | expr_int i, f => MI_mult f e | _, _ => d end.
imports: CoRN.logic.CLogic Coq.Bool.Bool