Resultados de la búsqueda a petición "dependent-type"

1 la respuesta

Recursión estructural en un parámetro dependiente.

Estoy tratando de escribir el colador de Eratóstenes en Coq. Tengo una función

1 la respuesta

¿Puede sizeof anidado dos veces ser una expresión dependiente?

Noté que gcc 5.0 rechaza el siguiente código, mientras que clang 3.6 lo acepta. template<int n> struct I { typedef int Type; }; template<typename T> struct A { typedef I<sizeof(sizeof(T))>::Type Type; };Los dos compiladores parecen diferir sobre ...

1 la respuesta

Tipo de argumento del constructor de clase de caso según el valor del argumento anterior

Estoy tratando de hacer lo siguiente trait Stateful { type State } case class SystemState(system: Stateful, state: system.State) // does not compileEs decir, el tipo destatedepende de (el valor de)system. Eso, sin embargo, no es ...

1 la respuesta

Programación genérica de Arity en Agda

¿Cómo escribir funciones genéricas de aridad en Agda? ¿Es posible escribir funciones genéricas de aridad polimórficas totalmente dependientes y universales?

1 la respuesta

¿Cuál es una buena manera de representar grupos libres?

Es fácil representar magmas libres (árboles de hojas binarias), semigrupos libres (listas no vacías) y monoides (listas) libres, y no es difícil demostrar que realmente son lo que dicen ser. Pero los grupos libres parecen mucho más complicados. ...

1 la respuesta

¿Entonces cuál es el punto?

¿Cuál es el propósito previsto de laSo [https://github.com/idris-lang/Idris-dev/blob/master/libs/base/Data/So.idr#L14] ¿tipo? Transliterando a Agda: data So : Bool → Set where oh : So trueSo eleva una proposición booleana a una lógica. Documento ...

1 la respuesta

¿Cómo enumerar los elementos de una lista por `Fin`s en tiempo lineal?

Podemos enumerar los elementos de una 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 la respuesta

¿Qué son los universos acumulativos y `*: *`?

En Agda, haySet n. Según entiendo,Set n extiende la jerarquía de tipo de valor de tipo estilo Haskell a niveles infinitos. Es decir,Set 0 es el universo de los tipos normales,Set 1 es el universo de los tipos normales,Set 2 es el universo de los ...

1 la respuesta

¿Cosa 'Refl' en Cálculo de Construcciones?

En idiomas comoAgda, IdrisoHaskell con extensiones de tipo, hay un= escriba algo así como lo siguiente data a :~: b where Refl :: a :~: aa :~: b significa quea yb son lo mismo. ¿Se puede definir tal tipo en elcálculo de ...

1 la respuesta

Comprender `k: Nat ** 5 * k = n` Firma

La siguiente función compila: onlyModByFive : (n : Nat) -> (k : Nat ** 5 * k = n) -> Nat onlyModByFive n k = 100Pero que hacek representar con suNat ** 5 * k = n ¿sintaxis? Además, ¿cómo puedo llamarlo? Esto es lo que probé, pero no entiendo ...