A Diagrammatic Algebra for Program Logics
Abstract
Tape diagrams provide a convenient notation for arrows of rig categories, i.e., categories equipped with two monoidal products, and , where distributes over . In this work, we extend tape diagrams with traces over in order to deal with iteration in imperative programming languages. More precisely, we introduce Kleene-Cartesian bicategories, namely rig categories where the monoidal structure provided by is a cartesian bicategory, while the one provided by is what we name a Kleene bicategory. We show that the associated language of tape diagrams is expressive enough to deal with imperative programs and the corresponding laws provide a proof system that is at least as powerful as the one of Hoare logic.
Keywords
Cite
@article{arxiv.2410.03561,
title = {A Diagrammatic Algebra for Program Logics},
author = {Filippo Bonchi and Alessandro Di Giorgio and Elena Di Lavore},
journal= {arXiv preprint arXiv:2410.03561},
year = {2024}
}
Comments
arXiv admin note: text overlap with arXiv:2210.09950