prototype declarative rule