33 lines
527 B
Coq
33 lines
527 B
Coq
Require Import String
|
|
Open Scope String.
|
|
|
|
Definition digit2str (n:nat):string:=
|
|
match n with
|
|
| 0 => "0"
|
|
| 1 => "1"
|
|
| 2 => "2"
|
|
| 3 => "3"
|
|
| 4 => "4"
|
|
| 5 => "5"
|
|
| 6 => "6"
|
|
| 7 => "7"
|
|
| 8 => "8"
|
|
| 9 => "9"
|
|
| _ => ""
|
|
end.
|
|
|
|
Fixpoint nat2str_helper (n:nat) : string :=
|
|
match n with
|
|
| O => ""
|
|
| _ =>
|
|
let digit := Nat.modulo n 10 in
|
|
(nat2str_helper (Nat.div n 10)) ++ (digit2str digit)
|
|
end.
|
|
|
|
Definition nat2str (n:nat) : string :=
|
|
match n with
|
|
| O => "0"
|
|
| _ => nat2str_helper n
|
|
end.
|
|
|