我是 Coq 的新手,从事集合论证明写作。
我意识到括号被省略了,我很难阅读公式。例如,
1 subgoal
A, B : {set T}
H : B \subset A
______________________________________(1/1)
A :\: A :|: A :&: B = B
但我希望 Coq 打印(A :\: A) :|: (A :&: B) = B
. 上面的输出是通过以下代码获得的。
Require Import ssreflect ssrbool ssrnat fintype finset.
Theorem a_a_b__b' (A B : {set T}) : B \subset A -> (A :\: (A :\: B)) = B.
Proof.
move=> H.
rewrite setDDr.
令我惊讶的是,如果我看到finset.vsetDDr
的原始编码,它的括号如下
Lemma setDDr A B C : A :\: (B :\: C) = (A :\: B) :|: (A :&: C).
Proof. by rewrite !setDE setCI setIUr setCK. Qed.
所以我想知道为什么括号会消失,以及如何强制 Coq 在 CoqIde 中显式打印括号。