[Práctico 3] Ejercicio 8

[Práctico 3] Ejercicio 8

de Julian Tricanico Gadea -
Número de respuestas: 2

Buenas,

Pongo el ejercicio ocho como ejemplo pero la duda es más en general.

Me resulta muy curioso que Coq me deje escribir

forall (n : nat), Array' bool n

pero no

Array' bool

cuando se supone deberían tener el mismo tipo.

Tengo una vaga idea de qué es la impredicatividad pero no me siento súper cómodo con el concepto. Va por ahí el problema?

Gracias.

En respuesta a Julian Tricanico Gadea

Re: [Práctico 3] Ejercicio 8

de Carlos Luna -

Hola.

Coq te deja escribir por ejemplo:

Definition ArrayBool := forall n:nat, Array' bool n.

Definition ArrayBool2 := Array' bool.

Aunque los tipos son diferentes

Check (ArrayBool). (* tiene tipo Set *)

Check (ArrayBool2). (* tiene tipo nat->Set *)

Saludos, Carlos