TY - JOUR
T1 - An SMT-Based Approach to the Verification of Knowledge-Based Programs
AU - Belardinelli, Francesco
AU - Boureanu, Ioana
AU - Malvone, Vadim
AU - Rajaona, Fortunat
N1 - Publisher Copyright:
© 2024 Copyright held by the owner/author(s).
PY - 2024/12/27
Y1 - 2024/12/27
N2 - We give a general-purpose programming language in which programs can reason about their own knowledge. To specify what these intelligent programs know, we define a "program epistemic"logic, akin to a dynamic epistemic logic for programs. Our logic properties are complex, including programs introspecting into future state of affairs, i.e., reasoning now about facts that hold only after they and other threads will execute. To model aspects anchored in privacy, our logic is interpreted over partial observability of variables, thus capturing that each thread can "see"only a part of the global space of variables. We verify program-epistemic properties on such AI-centred programs. To this end, we give a sound translation of the validity of our program-epistemic logic into first-order validity, using a new weakest-precondition semantics and a book-keeping of variable assignment. We implement our translation and fully automate our verification method for well-established examples using SMT solvers.
AB - We give a general-purpose programming language in which programs can reason about their own knowledge. To specify what these intelligent programs know, we define a "program epistemic"logic, akin to a dynamic epistemic logic for programs. Our logic properties are complex, including programs introspecting into future state of affairs, i.e., reasoning now about facts that hold only after they and other threads will execute. To model aspects anchored in privacy, our logic is interpreted over partial observability of variables, thus capturing that each thread can "see"only a part of the global space of variables. We verify program-epistemic properties on such AI-centred programs. To this end, we give a sound translation of the validity of our program-epistemic logic into first-order validity, using a new weakest-precondition semantics and a book-keeping of variable assignment. We implement our translation and fully automate our verification method for well-established examples using SMT solvers.
KW - Epistemic Logic
KW - Epistemic Predicate Transformers
KW - Model Checking
KW - Program Semantics
UR - https://www.scopus.com/pages/publications/86000645994
U2 - 10.1145/3700150
DO - 10.1145/3700150
M3 - Article
AN - SCOPUS:86000645994
SN - 0934-5043
VL - 37
JO - Formal Aspects of Computing
JF - Formal Aspects of Computing
IS - 1
M1 - 3
ER -