簡體   English   中英

HoTT 的 Coq:證明 || P-> X || -> (P-> ||X||)

[英]Coq for HoTT: proving || P-> X || -> (P-> ||X||)

我需要在 Coq 中證明對於任何類型 X 和任何命題 P(盡管我認為即使 P 是一種類型它也應該工作)存在

截斷實現:|| P-> X || -> (P-> ||X||)

在哪里 ||_|| 是HoTT書中用來表示命題截斷的符號。

我證明了類型論中的陳述:一個人通過使用命題截斷的歸納原理得到論文,假設從 H:|| P-> X || 和 ap: P 即 H=|H'|,其中 H': P->X,然后定義 trunc_impl(p):= |H'(p)|。 (|-| 表示拖拽的構造函數,即|_|: A -> ||A||)。

順便說一句,我不能在 Coq 中編寫它。 任何幫助將不勝感激。

我正在使用 GitHub 上提供的 HoTT 庫。

您需要Require Import Basics. 因為 coq 不知道 Trunc.TruncType 可以強制轉換為 Type 否則。 您要注意的策略是apply Trunc_ind ,它將作用於諸如forall (x: Tr _ _), _之類的目標。

intros xyrevert x將派上用場,以將目標轉換為您想要應用trunc_ind的形式。

您還具有(自定義)策略strip_truncations它將在上下文中搜索任何被截斷包裹的術語,並嘗試對它們進行歸納以刪除它們。 這要求目標被截斷,但這在這里不應該是一個問題。

最后,截斷的構造函數是tr ,所以你可以在那里使用apply

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM