agda - 如何在 Agda 中排长队

标签 agda

我需要打破这条长线:

假设 FlipH/cw/cw/flipH : ∀ (t : Tile) -> FlipH (cw (cw (flipH t))) ≡ cw (cw t)

Agda 不会接受以下任何一项:

postulate flipH/cw/cw/flipH
  : ∀ (t : Tile) -> flipH (cw (cw (flipH t))) ≡ cw (cw t)

postulate flipH/cw/cw/flipH : ∀ (t : Tile) ->
  flipH (cw (cw (flipH t))) ≡ cw (cw t)


但它确实接受了这不是很理想,因为在它再次变长之前它没有给我太多的工作空间:

postulate flipH/cw/cw/flipH : ∀ (t : Tile) ->
                            flipH (cw (cw (flipH t))) ≡ cw (cw t)

有没有一种方法可以像我们在 Haskell 中那样断行?

最佳答案

postulate 是一个 block 关键字,这意味着它被设置为在单次出现 postulate 时解析多个假设。例如:

postulate
  A : Set
  B : Set → Set

这意味着当您将 flipH/cw/cw/flipH 放在新行时,您的运气会更好。例如,您可能想写:

postulate
  flipH/cw/cw/flipH : ∀ (t : Tile) ->
    flipH (cw (cw (flipH t))) ≡ cw (cw t)

关于agda - 如何在 Agda 中排长队,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68698675/

相关文章:

typechecking - 为什么 Agda 类型检查器会在这个程序上崩溃

isabelle - 如何在agda中定义抽象类型

constructor - Agda 中的构造函数是否不相交? (或如何反驳 inj₁ x ≡ inj₂ y)

parsing - Agda:解析嵌套列表

agda - 为什么 Agda 中的 Haskell 类型类以 `Raw` 开头?

agda - 用不相关的术语证明不相关的事情

pattern-matching - 什么是公理K?

record - 有没有更方便的方法来使用嵌套记录?

agda - 如何从命令行/从另一种语言使用 Agda?

agda - Agda 中类型归属的一般形式是什么?