小编dav*_*vik的帖子

Agda如何确定一种类型是不可能的

所以我试图理解为什么这段代码在()周围给出黄色突出显示

data sometype : List ? ? Set where
  constr : (l1 l2 : List ?)(n : ?) ? sometype (l1 ++ (n ? l2))

somef : sometype [] ? ?
somef ()
Run Code Online (Sandbox Code Playgroud)

但事实并非如此

data sometype : List ? ? Set where
  constr : (l1 l2 : List ?)(n : ?) ? sometype (n ? (l1 ++ l2))

somef : sometype [] ? ?
somef ()
Run Code Online (Sandbox Code Playgroud)

两者似乎都是sometype []是空的,但是Agda无法想出第一个?为什么?这背后的代码是什么?我能否以某种方式定义somef以使第一个定义有效?

agda dependent-type

5
推荐指数
1
解决办法
254
查看次数

结肠大于标志的结果是什么意思

例如

Record posreal : Type := mkposreal {pos :> R; cond_pos : 0 < pos}.
Run Code Online (Sandbox Code Playgroud)

":>"是什么意思?我希望这不是重复,但很难找到符号.

coq

4
推荐指数
1
解决办法
232
查看次数

用仿函数在haskell中写XOR

我是相对较新的haskell,我刚刚学习了Applicative Functors,我只使用仿函数和布尔函数为xor创建了这个代码.我想知道你们是否可以用仿函数提出一个更短的解决方案(我确信存在).

xor :: Bool->Bool->Bool
xor=(<$>) (not<$>) ((<*>).((((not<$>)<$>(&&))<$>)<$>((not<$>)<$>(&&)))<*>(||))
Run Code Online (Sandbox Code Playgroud)

我知道这可能不是很好的做法; 对我来说这更像是一个脑筋急转弯.

PS我希望这是允许的

haskell boolean-logic functor applicative

3
推荐指数
2
解决办法
651
查看次数

如何解释agda中的REL

我正在尝试理解Agda标准库的某些部分,我似乎无法弄清楚它的定义REL.FWIW这里的定义是REL:

-- Binary relations

-- Heterogeneous binary relations

REL : ? {a b} ? Set a ? Set b ? (? : Level) ? Set (a ? b ? suc ?)
REL A B ? = A ? B ? Set ?
Run Code Online (Sandbox Code Playgroud)

我在网上找不到任何解释这个的文档,这就是我在这里问的原因.这如何定义二元关系?

agda dependent-type

3
推荐指数
2
解决办法
145
查看次数

Coq中实数更强的完整性公理

这是Coq标准库中定义的完整性公理.

Definition is_upper_bound (E:R -> Prop) (m:R) := forall x:R, E x -> x <= m.

Definition bound (E:R -> Prop) := exists m : R, is_upper_bound E m.

Definition is_lub (E:R -> Prop) (m:R) :=
is_upper_bound E m /\ (forall b:R, is_upper_bound E b -> m <= b).



Axiom completeness :
forall E:R -> Prop,
  bound E -> (exists x : R, E x) -> { m:R | is_lub E m }.
Run Code Online (Sandbox Code Playgroud)

假设我加入

Axiom supremum :forall E:R -> Prop, …
Run Code Online (Sandbox Code Playgroud)

coq real-number

3
推荐指数
1
解决办法
146
查看次数

Agda排除中间的法则

我听说阿格达的Martin-Lof类型理论与排除中的理论是一致的.我如何将其添加为假设?另外,在添加LEM之后,它是经典的一阶逻辑吗?我的意思是,我是否也有(对所有)=存在(不)等价?我不知道类型理论,所以如果你在类型理论中引用任何结果,请添加其他解释.

logic type-theory agda

2
推荐指数
1
解决办法
429
查看次数