Khi chuyển đổi các thuật ngữ từ ngôn ngữ này sang ngôn ngữ khác, thuộc tính mong muốn theo trực giác là việc duy trì ngữ nghĩa (như được sử dụng ở đây để chuyển đổi CPS):
Tôi có một chút rắc rối, tuy nhiên, bằng cách dung hòa điều này với tính chính xác của thuật ngữ cổ điển (hoặc âm thanh) và tính đầy đủ của các hệ thống logic. Thông thường, tôi sẽ xem xét tuyên bố trên là thuộc tính hoàn chỉnh của (và ngược lại định nghĩa về tính chính xác).
Tuy nhiên, theo trực giác, một trình biên dịch nên chính xác thay vì hoàn thành (ví dụ như kiểm tra kiểu thường loại trừ các chương trình chính xác). Điều ngược lại của câu lệnh trên chỉ đúng nếu là nội dung: Nếu ngôn ngữ nguồn chứa các booleans chẳng hạn và các thao tác trên chúng và phần biên dịch thay thế chúng thông qua mã hóa Church, ngôn ngữ đích có thể đánh giá các phép toán boolean theo các thuật ngữ được biên dịch từ các chữ boolean và tóm tắt lambda, mà ngôn ngữ nguồn không thể đánh giá.
- Tôi có đúng không khi cho rằng tuyên bố trên là thuộc tính hoàn chỉnh của (vì vậy yêu cầu trực quan thực sự có tên phản trực giác)?
- Tôi cũng đúng trong kết luận của tôi rằng một trình biên dịch không tiêm sau đó thường không đúng?