OCaml : List length and reverse Recall our function for reversing a list: let re
ID: 3799973 • Letter: O
Question
OCaml : List length and reverse
Recall our function for reversing a list:
let rec reverse l = match l with
| [ ] -> [ ]
| x::xs -> reverse xs @ [x]
Using induction show that
length (reverse l) = length l
Your proof may refer to the denition of length in the previous problem. Your proof must explicitly and clearly indicate the base case you prove, the inductive case you prove and what the inductive hypothesis provides in the proof.
Each step in your proof must be accompanied by a justication describing why that step could be taken.
Explanation / Answer
# let rev list = let rec aux acc = function | [] -> acc | h::t -> aux (h::acc) t in aux [] list;; val rev : 'a list -> 'a list = # rev ["a" ; "b" ; "c"];; - : string list = ["c"; "b"; "a"]Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.