Properties of the Hebrew Calendar

05/24/2022
by   David M. Russinoff, et al.
0

We describe an ACL2 program that implements the Hebrew calendar and the formal verification of several of its properties, including the critical result that the algorithm that determines the placement of the new year ensures that the length of every year belongs to a small set of admissible values. These properties have been accepted for many centuries without the benefit of explicit proof, in spite of subtleties in the underlying arguments. For the sake of accessibility to a broad audience, the program is coded in Restricted Algorithmic C (RAC), a simple language consisting of the most basic constructs of C, for which an automatic translator to the ACL2 logic has been implemented. While RAC is primarily intended for modeling arithmetic hardware designs, this novel application provides a relatively simple illustration of the language and the translator.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/29/2020

Formal Verification of Arithmetic RTL: Translating Verilog to C++ to ACL2

We present a methodology for formal verification of arithmetic RTL desig...
research
05/27/2023

External Behavior of a Logic Program and Verification of Refactoring

Refactoring is modifying a program without changing its external behavio...
research
08/22/2022

Verification-Preserving Inlining in Automatic Separation Logic Verifiers (extended version)

Bounded verification has proved useful to detect bugs and to increase co...
research
02/01/2023

A Formal Algebraic Framework for DSL Composition

We discuss a formal framework for using algebraic structures to model a ...
research
05/24/2022

Verified Implementation of an Efficient Term-Rewriting Algorithm for Multiplier Verification on ACL2

Automatic and efficient verification of multiplier designs, especially t...
research
10/27/2022

Formal Semantics for the Halide Language

We present the first formalization and metatheory of language soundness ...
research
11/02/2022

Verified Reversible Programming for Verified Lossless Compression

Lossless compression implementations typically contain two programs, an ...

Please sign up or login with your details

Forgot password? Click here to reset