Resultados de la búsqueda a petición "dependent-type"
Recursión estructural en un parámetro dependiente.
Estoy tratando de escribir el colador de Eratóstenes en Coq. Tengo una función
¿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 ...
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 ...
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?
¿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. ...
¿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 ...
¿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) ...
¿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 ...
¿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 ...
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 ...