对于从属类型,它可以定义一个感应式的有序列表,例如: data IsSorted : {a: Type} -> (ltRel: (a -> a -> Type)) -> List a -> Type where
IsSortedZero : IsSorted {a=a} ltRel Nil
IsSortedOne : (x: a) -> IsSorted ltRel [x]
我想定义一个归纳类型,可以从精益本身的列表构建。然而 inductive a : Type :=
| aFromAs : list a → a
给出了错误: failed to infer inductive datatype resultant universe, provide the universe levels explicitly
精细,所以我set_option pp.un
在维基百科中,bottom type被简单地定义为“没有值的类型”。但是,如果b是这种空白类型,那么产品类型(b,b)也没有值,但似乎与b不同。我同意底部是无人居住的,但我不认为这个属性足以定义它。 通过Curry-Howard correspondence,底部与数学错误相关联。现在有一个逻辑原则,说明False遵循任何命题。通过库里霍华德,这意味着类型forall a. bottom -> a
精益带有约含排序及其与平等有用的引理,如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
我在哈斯克尔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)
于是,我就这样实