fact: Definition mults_squares c := let fix count (c: code) mults squares := match c with nil => (mults, squares) | PUSH :: c' | SWAP :: c' => count c' mults squares | SQR :: c' => count c' mults (S squares) | MUL :: c' => count c' (S mults) squares end in count c 0%nat 0%nat.
imports: Coq(List PArith Relations Lia) additions(Monoid_def Monoid_instances Strategies) Coq(Recdef Wf_nat) additions(More_on_positive Pow Euclidean_Chains Dichotomy BinaryStrat)