我们如何获得"+"
或"++"
List
等符号的定义/类型?
我尝试过:Search ++
,Search "++"
,Search (++)
,
SearchAbout ...
和
Check ++
,Check "++"
,Check(++)
。
但是它们都不起作用......
SearchAbout "++"
确实显示了一些信息,但没有显示"++"
的定义。
答案 0 :(得分:17)
执行:
Locate "++".
查找符号。
然后,您可以Print
/ Check
表示实际字词。
答案 1 :(得分:7)
除了之前的回答,您可以使用Unfold "++"
展开其定义,而无需先找到它。
示例:
Coq < Goal forall A (l : list A), l ++ [] = [].
1 subgoal
============================
forall (A : Type) (l : list A), l ++ [] = []
Unnamed_thm < unfold "++".
1 subgoal
============================
forall (A : Type) (l : list A),
(fix app (l0 m : list A) {struct l0} : list A :=
match l0 with
| [] => m
| a :: l1 => a :: app l1 m
end) l [] = []