TY - GEN
T1 - Functional Stream Semantics for a Synchronous Block-Diagram Compiler
AU - Bourke, Timothy
AU - Jeanmaire, Paul
AU - Pouzet, Marc
N1 - Publisher Copyright:
© 2025 IEEE.
PY - 2025/1/1
Y1 - 2025/1/1
N2 - Synchronous block-diagram languages have long been formalized as fixpoints of equations defining stream functions. We apply this approach to a compiler verified in an interactive theorem prover, allowing us to restate its end-to-end correctness theorem: if a program is accepted and has no runtime errors, its input/output behavior is preserved in the generated code. In a functional semantics, it is necessary to model all possible behaviors, including erroneous ones. We show that static typing and dependency analyses correctly rule out all errors except those arising from logical and arithmetic operators. Our definitions supplement existing formal ones, especially for the reset operator, which is both useful in itself and a basis of advanced control structures.
AB - Synchronous block-diagram languages have long been formalized as fixpoints of equations defining stream functions. We apply this approach to a compiler verified in an interactive theorem prover, allowing us to restate its end-to-end correctness theorem: if a program is accepted and has no runtime errors, its input/output behavior is preserved in the generated code. In a functional semantics, it is necessary to model all possible behaviors, including erroneous ones. We show that static typing and dependency analyses correctly rule out all errors except those arising from logical and arithmetic operators. Our definitions supplement existing formal ones, especially for the reset operator, which is both useful in itself and a basis of advanced control structures.
KW - Denotational semantics
KW - Interactive Theorem Proving
KW - Program correctness
KW - Synchronous languages
UR - https://www.scopus.com/pages/publications/105020012963
U2 - 10.1109/LICS65433.2025.00052
DO - 10.1109/LICS65433.2025.00052
M3 - Conference contribution
AN - SCOPUS:105020012963
T3 - Proceedings - Symposium on Logic in Computer Science
SP - 609
EP - 621
BT - Proceedings - 2025 40th Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2025
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 40th Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2025
Y2 - 23 June 2025 through 26 June 2025
ER -