Resultados da pesquisa a pedido "idris"

2 a resposta

Como números finitos podem funcionar? (tipos dependentes)

Estou interessado em linguagens dependentes de tipos. Números finitos parecem muito úteis para mim. Por exemplo, para indexar com segurança matrizes de taman...

3 a resposta

Por que a caixa de tipos é uma coisa ruim? [fechadas]

AmbosAgdaeIdrisproibir efetivamente a correspondência de padrões nos valores do tipoType. Parece que a Agda sempre corresponde no primeiro caso, enquanto Idris apenas gera um erro. Então, por que o caso tipográfico é uma coisa ruim? Isso quebra ...

4 a resposta

Não posso provar (n - 0) = n com Idris

Estou tentando provar que, na minha opinião, é um teorema razoável: theorem1 : (n : Nat) -> (m : Nat) -> (n + (m - n)) = mA prova por indução chega ao ponto em que eu preciso provar isso: lemma1 : (n : Nat) -> (n - 0) = nÉ o que acontece quando ...

3 a resposta

Você pode criar funções que retornam funções de uma aridade dependente em um idioma de tipo dependente?

Pelo que sei sobre tipos dependentes, acho que deveria ser possível, mas nunca vi um exemplo disso antes em uma linguagem de tipo dependente, por isso não sei exatamente por onde começar. O que eu quero é uma função do formulário: f : [Int] -> ...

2 a resposta

Existe uma boa maneira de usar `->` diretamente como uma função no Idris?

Pode-se retornar um tipo em uma função em Idris, por exemplo t : Type -> Type -> Type t a b = a -> bMas surgiu a situação (ao experimentar escrever alguns analisadores) que eu queria usar-> dobrar uma lista de tipos, ou seja, typeFold : List ...

1 a resposta

Provas de nível de tipo aberto em Haskell / Idris

Em Idris / Haskell, é possível provar propriedades dos dados anotando os tipos e usando os construtores GADT, como no Vect, no entanto, isso requer a codificação da propriedade no tipo (por exemplo, um Vect precisa ser um tipo separado de ...

1 a resposta

Qual é uma boa maneira de representar grupos livres?

É fácil representar magmas livres (árvores de folhas binárias), semigrupos gratuitos (listas não vazias) e monoides livres (listas), e não é difícil provar que eles realmente são o que afirmam ser. Mas grupos livres parecem muito ...

1 a resposta

Então: qual é o objetivo?

Qual é o objetivo pretendido doSo [https://github.com/idris-lang/Idris-dev/blob/master/libs/base/Data/So.idr#L14] tipo? Transliterando para o Agda: data So : Bool → Set where oh : So trueSo eleva uma proposição booleana até uma proposição ...

1 a resposta

Como enumerar os elementos de uma lista por `Fin`s em tempo linear?

Podemos enumerar os elementos de uma lista como esta: -- enumerate-ℕ = zip [0..] enumerate-ℕ : ∀ {α} {A : Set α} -> List A -> List (ℕ × A) enumerate-ℕ = go 0 where go : ∀ {α} {A : Set α} -> ℕ -> List A -> List (ℕ × A) go n [] = [] go n (x ∷ xs) ...

1 a resposta

O que são universos cumulativos e `*: *`?

Na Agda, háSet n. Como eu entendo,Set n estende a hierarquia de tipo de valor no estilo Haskell para níveis infinitos. Isso é,Set 0 é o universo dos tipos normais,Set 1 é o universo de tipos normais,Set 2 é o universo de tipos normais, etc. Por ...