0
У меня есть list list nat
Я хочу, чтобы написать функцию, чтобы разобрать в этом списке, например:шаблон согласования списка список
Definition my_function (l : list list nat) :=
let fix aux acc l :=
match l with
| nil => acc
| c :: l' => match c with
| nil => acc
| d :: l'' => aux d l'
end
end in aux 0 l.
Здесь я не знаю, как я могу использовать l''
. Есть ли лучший способ написать эту функцию? Большое спасибо.
EDIT: Я хочу знать об алгоритме, который я могу проверить весь список l
.
Может вы пытаетесь лучше объяснить, что вы хотите сделать с этой функцией? Прямо сейчас он возвращает первый элемент списка прямо перед первым пустым списком, и я не знаю, зачем вам «там». –
Не могли бы вы также написать синтаксически правильный Coq, пожалуйста? Я не знаю, спросите ли вы о синтаксисе или о каком-то необъяснимом алгоритме. – Vinz