fact: Fixpoint exec (c : code) (x:A) (s: stack) : option config := match c, s with nil, _ => Some (x,s) | MUL::c, y::s => exec c (mul x y) s | SQR::c, s => exec c (mul x x) s | PUSH::c, s => exec c x (x::s) | SWAP::c, y::z::s => exec c x (z::y::s) | _,_ => None end.
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)