我对在定理中使用大括号表示命题感到非常困惑。请参阅以下四个片段:
theorem contrapositive_1 : ∀ (P Q : Prop),
(P -> Q) -> (¬ Q -> ¬ P) := sorry
theorem contrapositive_2 (P Q : Prop) :
(P -> Q) -> (¬ Q -> ¬ P) := sorry
theorem contrapositive_3 : ∀ {P Q : Prop},
(P -> Q) -> (¬ Q -> ¬ P) := sorry
theorem contrapositive_4 {P Q : Prop} :
(P -> Q) -> (¬ Q -> ¬ P) := sorry
我想,它们都是一样的,但显然它们不是,因为当我想使用contraprositive_1
并contraprositive_2
在另一个定理的证明中,lean
显示类型不匹配的错误:
术语 h1 具有类型 P → Q : Prop 但预计具有类型 Prop : Type
另一方面,contraprositive_3
工作contraprositive_4
正常。
大括号和圆括号有什么区别?