Deakstadieđáhus: Foundations of bilevel programming