[英]Coq: How are the equality tacticts symmetry and transitivity defined?
我對 Coq 策略symmetry
和transitivity
的實際工作方式很感興趣。 我已經閱讀了 Coq 手冊,但這只描述了它們的作用,而不是它們如何對證明進行操作並更改證明狀態。 作為我正在尋找的示例,在Interactive Theorem Proving and Program Development中,作者 state “自反性策略實際上是apply refl_equal
的同義詞”(第 124 頁)。 但是,作者建議讀者參考symmetry
和transitivity
的參考手冊。 我還沒有找到對這兩種策略以相同方式同義的事物的良好描述。
為了澄清,我問的原因是我已經定義了一個路徑空間paths {A: UU}: A -> A -> UU
notated a = b
(like in UniMath) 除了a = b
不是命題而是類型。 出於這個原因,我無法使用Add Parametric Relation
。 我正在嘗試使用 Ltac 為這種路徑空間關系設計一個symmetry
和transitivity
版本,但我不知道如何更改證明 state; 了解symmetry
和transitivity
的實際工作原理可能會有所幫助。
這些策略僅應用與其在目標中找到的關系的對稱性和傳遞性相對應的引理。 這些是使用類型類機制找到的。
例如你可以聲明
From Coq Require Import RelationClasses.
Instance trans : Transitive R.
這將要求您證明R
是可傳遞的,然后您將能夠使用策略transitivity
來證明R xy
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.