Esta sería la especificación algebraica del TAD pila (para números naturales):
tipo Pila
dominios N, Booleano
generadores
Crear: --> Pila
Apilar: N × Pila --> Pila
constructores
Desaplilar: Pila --> Pila
selectores
Cima: Pila --> N
Es_Vacia: Pila --> Booleano
precondiciones p:Pila
Cima(p): not Es_Vacía(p)
ecuaciones p:Pila, e:N
Desapilar(Crear) == Crear
Desapilar(Apilar(e, p)) == p
Es_Vacía(Crear) == V
Es_Vacía(Apilar(e, p)) == F
Cima(Apilar(e, p)) == e
Busco esto, pero para el TAD matriz.