(*********************************************)
(* the code generation algorithm  *)
(* the labels A,B,C,A1,A2,A3,B1,B2,C1,C2, in the proof comments correspond to the following places in the program:  Match c with A: (Call_M p) (COND3 A1: (p=3) ... A2: (p=2^q) ... A3: (q=gamma(p)) ...) B: (Call_C n n0) ... if (zerop r) then B1: ... else B2: ...  C: (Call_K n n0) ... if (zerop r) then C1: ... else C2: ... end. *)

(******************************************)
Lemma power_algo : forall n : nat, 0 < n -> addchain_spec n.
End generation.