я получаю следующее сообщение об ошибке:Частичное применение не допускается при использовании функции
"failure in proveterminate Error: Partial application of function convert_btree_to_tree in its body is not allowed while using Function"
из следующего куска Coq сценария, но я понятия не имею, что это неправильно. Может ли кто-нибудь дать мне совет?
Function convert_btree_to_tree (t: btree (non_terminal' non_terminal terminal) terminal) {measure (fun t => bheight _ _ t)}:
tree (non_terminal' non_terminal terminal) terminal:=
let tl:= decompose t in
let ttl:= map convert_btree_to_tree tl in
let ttl':= convert_list_tree_to_tree_list ttl in
match broot _ _ t with
| inl n => node _ _ n ttl'
| inr t => node_t _ _ t
end.
Документация по функции очень ограничена в справочном руководстве, кто-нибудь знает о более полной и подробной справке, если возможно, с комментариями и примерами?
Спасибо за ответ. Извините, я не упомянул об этом, но да, они одного типа. Определение: Индуктивное дерево: Тип: = | node_t: terminal -> tree | node_n: non_terminal -> дерево | node: non_terminal -> tree_list -> дерево с tree_list: Тип: = | tl_nil: tree_list | tl_cons: tree -> tree_list -> tree_list. – Marcus