在coq中,a: prop是什麼意思

在Coq中,a: prop 表示 a 是一個 proposition(命題)。在Coq的邏輯中,命題是用來陳述真假值的,它們可以是定理、公理、性質或其他可以證明或假設為真的東西。

Coq的命題系統基於階層式的類型論,其中 prop 類型是用來表示不可證明的命題的,這些命題只能被接受或拒絕。在Coq中,命題可以分為兩種類型:

  1. Set: 這是用來表示可證明的命題的類型,例如定理、性質等。在Coq中,任何可證明的命題都是 Set 類型的元素。

  2. Prop: 這是用來表示不可證明的命題的類型,例如公理、定義等。在Coq中,任何不可證明的命題都是 Prop 類型的元素。

當你聲明一個變量 aprop 類型時,你就是在告訴Coq,a 代表一個不可證明的命題。這意味著你不能在Coq中證明 a 是真實的,但你可以在Coq中假設 a 是真實的,並以此為基礎來證明其他命題。

例如,你可以這樣做:

Parameter P : Prop.
Assume P.

這會引入一個新的命題 P,並假設 P 是真實的。然後,你可以使用 P 來證明其他命題,例如:

Theorem Q : Prop.
Proof.
  intros.
  apply P.
Qed.

這會定義一個新的命題 Q,並使用 P 來證明 Q 是真實的。當然,這只是一個簡單的例子,實際上你可以用 Prop 來做很多更複雜的事情。