[PD] declare and abstraction