的頭我有型以選項元素列表
Variable l: list (a * b * option c * option d).
Variable ls : list (list l).
我想從列表的頭部取型option d
,之後檢查整個列表。我的代碼如下所示:
Definition test (l: list (a * b * option c * option d)):=
match l with
| nil => ... (* not important *)
| (_,_,_,od) :: l' =>
match od with
| None => ... (* not important *)
| Some d => if forallb (fun li => forallb (fun ci => do_something ci d)) ls) l'
end
end.
我的問題是,測試if forallb (fun li => forallb (fun ci =>do_something ci d))ls)l'
我加forallb (fun li =>...)
,因爲我想它在整個名單l'
測試。但我根本沒有使用論據li
。
編輯:我的問題集中在if forallb (fun li => forallb (fun ci => do_something ci d))ls)l'
。我加了forallb (fun li =>
,因爲我想測試列表l'
的其餘部分。沒有forallb (fun li
我可以存檔此測試if (forallb (fun ci => do_something ci d))ls
但我不知道如何在列表l'
中再次測試此條件。
什麼是定義中的'ls'?爲什麼內在的'forallb'?你的解釋很不明確,因爲你試圖達到的目標很不明確。 – Ptival
我編輯了我的問題。 – Quyen