Duda General

Duda General

de Daniel Filgueiras Di Lorenzo -
Número de respuestas: 5

Hola Gustavo,

el otro dia tenia un par de dudas generales y quede en escribirlas por aca.

Era sobre devolver el tipo X que es Set en lugar de devolver Set.

Por ejemplo, en el ejercicio 8 si defino el ArrayNat general asi:

       Parameter Array: forall(X:Set)(n:nat),X.

Luego cuando defino por ejemplo empty_ asi:

       Parameter empty_ : foral(X:Set), Array X 0.

 

no puedo porque el tipo de Array X 0 es X y no Set como debería.

O sea, si cambio la definición de Array a:

         Parameter Array : forall (X:Set)(n:nat),Set.

ahí si me deja pero no lo veo correcto.

En cambio si lo hago como "Definition" ahí si me deja que el tipo de Array X 0 sea X en lugar de Set.

 

Se entiende mi planteo? Y cual seria entonces la forma adecuada de hacerlo, con Definition o con Parameter y como tipo de salida Set en lugar del X?

 

Gracias, saludos.

 

 

 

 

En respuesta a Daniel Filgueiras Di Lorenzo

Re: Duda General

de Juan Pablo Garcia Garland -

A mi me parece correcto

Parameter Array : forall (X:Set)(n:nat),Set.

¿Por qué te parece que no?

En respuesta a Juan Pablo Garcia Garland

Re: Duda General

de Carlos Luna -

Es correcta esta definición del tipo Array paramétrico en el tipo de los elementos y en el largo.

Con Parameter se pueden definir también los constructores empty y add.

Saludos, Carlos

En respuesta a Carlos Luna

Re: Duda General

de Romina Diana Romero Riva -

Hola.

¿Es correcto también usar Type en vez de Set:

Parameter Array : forall (X:Type)(n:nat),Set. ?

Gracias

Saludos.