Trong ngữ nghĩa ngôn ngữ lập trình, khái niệm trạng thái chương trình không phải là một khái niệm triết học mơ hồ, mà là một khái niệm toán học rất chính xác. Một nhà nước trong này nhỏ bước ngữ nghĩa hoạt động là một hàm từng phầnS
s : V một r ↪ Z
ghi lại các giá trị của các biến. Vì vậy, nếu , sau đó biến x có giá trị v . Trạng thái nhất thiết phải là một hàm, vì nó chỉ có ý nghĩa để ghi lại các giá trị của các biến thực sự xảy ra.Sx = vxv
Tiên đề mở ra
⟨ khiblàmS, S ⟩ ⇒ ⟨ nếubsau đóS; trong khiblàmSkhác skip ,s⟩
chỉ đơn giản là nói với chúng ta rằng chúng ta mở ra một vòng lặp while thành một câu lệnh có điều kiện, một trong những nhánh của nó chứa vòng lặp. Không có biến nào sẽ thay đổi giá trị của chúng vì điều này và vì lý do này, trạng thái không thay đổi.