首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理相互冲突的模块定义?

如何处理相互冲突的模块定义?
EN

Stack Overflow用户
提问于 2019-10-31 11:25:52
回答 1查看 101关注 0票数 0
代码语言:javascript
复制
open import Data.Vec
open import Data.Nat
open import Data.Fin
open import Data.Integer
open import Data.Rational
open import Data.Product
open import Relation.Binary.PropositionalEquality using (_≡_; refl)

Infoset = ℕ
Size = ℕ
Player = ℤ

data GameTree (infoset-size : Infoset → Size) : Set where
  Terminal : (reward : ℚ) → GameTree infoset-size
  Response : (id : Infoset) → (subnodes : Vec (GameTree infoset-size) (infoset-size id)) → GameTree infoset-size

record Policy (infoset-size : Infoset → Size) : Set where
  field
    σ : ∀ (id : Infoset) → Vec ℚ (infoset-size id)
    wf-elem : ∀ (id : Infoset) (i : Fin (infoset-size id)) → 0ℚ Data.Rational.≤ lookup (σ id) i × lookup (σ id) i Data.Rational.≤ 1ℚ

如果我像0ℚ ≤ lookup (σ id) i × lookup (σ id) i ≤ 1ℚ那样编写上面的代码,我就会得到以下类型的错误。

代码语言:javascript
复制
Ambiguous name _≤_. It could refer to any one of
  Data.Nat._≤_ bound at
    C:\Users\Marko\AppData\Roaming\cabal\x86_64-windows-ghc-8.6.5\Agda-2.6.0\lib\agda-stdlib\src\Data\Nat\Base.agda:33,6-9
  Data.Fin._≤_ bound at
    C:\Users\Marko\AppData\Roaming\cabal\x86_64-windows-ghc-8.6.5\Agda-2.6.0\lib\agda-stdlib\src\Data\Fin\Base.agda:218,1-4
  Data.Integer._≤_ bound at
    C:\Users\Marko\AppData\Roaming\cabal\x86_64-windows-ghc-8.6.5\Agda-2.6.0\lib\agda-stdlib\src\Data\Integer\Base.agda:44,6-9
  Data.Rational._≤_ bound at
    C:\Users\Marko\AppData\Roaming\cabal\x86_64-windows-ghc-8.6.5\Agda-2.6.0\lib\agda-stdlib\src\Data\Rational\Base.agda:71,6-9

有什么优雅的方法可以使Agda推断出它自己使用的正确的函数吗?在这里,它应该能够做正确的事情,因为类型是已知的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-01 10:05:22

Agda允许模棱两可的构造函数和模棱两可的投射,但任何其他名称在使用的位置都必须是明确的。

为了避免歧义,可以使用open import Data.Nat renaming (_≤_ to _≤Nat_)语法重命名符号。或者,您可以使用open import Data.Nat as Natx Nat.≤ y

不同的库设计可以使用实例参数来提供临时重载(例如,Agda序曲)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58642349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档