Type Promotion
Conventional Approach
- For each symbol f
- with argument types Ti interpreted in Di
- define f' with argument types Di
- Interpret f using f'
Avoiding f'
- For each symbol f
- Interpret f with argument types Di
- Not well typed
Type Promotion
- For each problem type T interpreted in the domain D
- define "type promotion" bijections D2T, D → T
- Interpret f with argument types D2T(Di)
- The D2T are never "evaluated"