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