A Formally Specified Type System and Operational Semantics for Higher-Order Procedural Variables
Tristan Crolard, Emmanuel Polonowski

TL;DR
This paper presents a formal type system and operational semantics for LOOPw, verified using Isabelle/HOL, including a program that computes the Ackermann function, with a focus on parameter passing mechanisms.
Contribution
It introduces a formally specified type system and semantics for LOOPw, verified through Isabelle/HOL, and addresses parameter passing with explicit aliasing due to tool limitations.
Findings
Type system and semantics verified in Isabelle/HOL
Ackermann function implementation type checks correctly
Explicit aliasing used for parameter passing
Abstract
We formally specified the type system and operational semantics of LOOPw with Ott and Isabelle/HOL proof assistant. Moreover, both the type system and the semantics of LOOPw have been tested using Isabelle/HOL program extraction facility for inductively defined relations. In particular, the program that computes the Ackermann function type checks and behaves as expected. The main difference (apart from the choice of an Ada-like concrete syntax) with LOOPw comes from the treatment of parameter passing. Indeed, since Ott does not currently fully support alpha-conversion, we rephrased the operational semantics with explicit aliasing in order to implement the out parameter passing mode.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Logic, Reasoning, and Knowledge
