我有类型
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'
。