Theory Voblint_Domain.Order_Lattice
theory Order_Lattice
imports "Voblint_Domain.State_Concretization"
"HOL-Library.Product_Lexorder"
begin
section ‹Order lattice›
text ‹
‹relc› tracks a finite set of known pairwise-ordered variables, ‹(x, y)›
meaning ‹x ≤ y› at every store the value describes. No closure: two known
facts ‹x ≤ y› and ‹y ≤ z› do not automatically yield ‹x ≤ z› in this
carrier. This is deliberately the least amount of relational structure that
is still relational (a pair of variables, not one) and not ‹abs_state›
(no ‹vname ⇒ 'a› function type anywhere in the carrier). Its concretization is a
set of stores, not of integers, so it is an \<^class>‹executable_domain› but not a
\<^class>‹numeric_domain›.
›
subsection ‹Carrier and order›