type-theory

    1热度

    1回答

    对于从属类型,它可以定义一个感应式的有序列表,例如: data IsSorted : {a: Type} -> (ltRel: (a -> a -> Type)) -> List a -> Type where IsSortedZero : IsSorted {a=a} ltRel Nil IsSortedOne : (x: a) -> IsSorted ltRel [x]

    1热度

    2回答

    我想定义一个归纳类型,可以从精益本身的列表构建。然而 inductive a : Type := | aFromAs : list a → a 给出了错误: failed to infer inductive datatype resultant universe, provide the universe levels explicitly 精细,所以我set_option pp.un

    1热度

    1回答

    在this问题中,未标记的联合被描述为子类型的一种形式。 类型类也是子类型的一种形式。 它们在概念上是否相同?呃他们是,我将如何在Haskell中实现这些?

    4热度

    3回答

    我一直在试图围绕阿达,我一直在阅读关于dependent types阿格达和伊德里斯。 难道Ada中的subtypes等价于依赖类型吗?

    5热度

    1回答

    在维基百科中,bottom type被简单地定义为“没有值的类型”。但是,如果b是这种空白类型,那么产品类型(b,b)也没有值,但似乎与b不同。我同意底部是无人居住的,但我不认为这个属性足以定义它。 通过Curry-Howard correspondence,底部与数学错误相关联。现在有一个逻辑原则,说明False遵循任何命题。通过库里霍华德,这意味着类型forall a. bottom -> a

    3热度

    1回答

    子类型和包含有什么区别?包含意味着隐含的强制吗?

    1热度

    3回答

    显然,在Haskell中有一种叫做无限型的东西。 例如,当我尝试iterate concat上GHCI,我得到这个: *Main> iterate concat <interactive>:24:9: error: • Occurs check: cannot construct the infinite type: a ~ [a] Expected type: [a]

    0热度

    1回答

    精益带有约含排序及其与平等有用的引理,如decidable_linear_order类型类: lemma eq_or_lt_of_not_lt [decidable_linear_order α] {a b : α} (h : ¬ a < b) : a = b ∨ b < a 在这些排序的等式是在=方面都表示: inductive eq {α : Sort u} (a : α) : α → Pro

    9热度

    2回答

    我在哈斯克尔depedent类型的试验,并在“单身”包的paper遇到下列传来: replicate2 :: forall n a. SingI n => a -> Vec a n replicate2 a = case (sing :: Sing n) of SZero -> VNil SSucc _ -> VCons a (replicate2 a) 于是,我就这样实

    4热度

    2回答

    我仍然困惑什么那种设置意味着在COQ。我何时使用Set以及何时使用类型? In Hott a Set定义为一种类型,其中身份证明是唯一的。 但我认为在Coq中它有不同的解释。