Resultados da pesquisa a pedido "dependent-type"

1 a resposta

Recursão estrutural em um parâmetro dependente

Estou tentando escrever a peneira de Eratóstenes na Coq. Eu tenho uma função

1 a resposta

O tamanho de aninhado duas vezes pode ser uma expressão dependente?

Notei que o gcc 5.0 rejeita o código a seguir, enquanto o clang 3.6 o aceita. template<int n> struct I { typedef int Type; }; template<typename T> struct A { typedef I<sizeof(sizeof(T))>::Type Type; };Os dois compiladores parecem ...

1 a resposta

Tipo de argumento do construtor da classe de caso, dependendo do valor do argumento anterior

Estou tentando fazer o seguinte trait Stateful { type State } case class SystemState(system: Stateful, state: system.State) // does not compileOu seja, o tipo destatedepende de (o valor de)system. Isso, no entanto, não é suportado: tipo de ...

1 a resposta

Programação genérica do Arity no Agda

Como escrever funções genéricas de arity no Agda? É possível escrever funções genéricas de aridade polimórficas e totalmente dependentes e do universo?

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 ...

1 a resposta

Coisa `Refl` em Cálculo de construções?

Em idiomas comoAgda, IdrisouHaskell com extensões de tipo, existe um= tipo como o seguinte data a :~: b where Refl :: a :~: aa :~: b significa quea eb são os mesmos. Esse tipo pode ser definido nocálculo de ...

1 a resposta

Compreendendo a assinatura `k: Nat ** 5 * k = n`

A seguinte função compila: onlyModByFive : (n : Nat) -> (k : Nat ** 5 * k = n) -> Nat onlyModByFive n k = 100Mas o que fazk representar com a suaNat ** 5 * k = n sintaxe? Além disso, como posso chamá-lo? Aqui está o que eu tentei, mas não ...