Modular proof development in ACL2

The ACL2 theorem prover combines a first-order dialect of LISP with an automated proof engine for first-order logic. While ACL2 is logically quite powerful, it can be difficult to build and maintain large models due to its ad hoc systems for modularity, namespace management, logical encapsulation, a...

Full description

Bibliographic Details
Published:
Online Access:http://hdl.handle.net/2047/d20002853
id ndltd-NEU--neu-909
record_format oai_dc
spelling ndltd-NEU--neu-9092021-05-26T05:10:56ZModular proof development in ACL2The ACL2 theorem prover combines a first-order dialect of LISP with an automated proof engine for first-order logic. While ACL2 is logically quite powerful, it can be difficult to build and maintain large models due to its ad hoc systems for modularity, namespace management, logical encapsulation, and macro expansion. I propose a new language, Refined ACL2, extending ACL2 with expressive component and macro systems designed to accommodate large-scale proof development and flexible logical abstractions. The component system of Refined ACL2 adapts many features of ML's functors and signatures to ACL2. Components support nesting, parameterization, translucent specification, and refinement of abstract specifications with concrete definitions. Refined ACL2 inherits Racket's macro system; furthermore, macro definitions can be incorporated into component specifications.http://hdl.handle.net/2047/d20002853
collection NDLTD
sources NDLTD
description The ACL2 theorem prover combines a first-order dialect of LISP with an automated proof engine for first-order logic. While ACL2 is logically quite powerful, it can be difficult to build and maintain large models due to its ad hoc systems for modularity, namespace management, logical encapsulation, and macro expansion. I propose a new language, Refined ACL2, extending ACL2 with expressive component and macro systems designed to accommodate large-scale proof development and flexible logical abstractions. The component system of Refined ACL2 adapts many features of ML's functors and signatures to ACL2. Components support nesting, parameterization, translucent specification, and refinement of abstract specifications with concrete definitions. Refined ACL2 inherits Racket's macro system; furthermore, macro definitions can be incorporated into component specifications.
title Modular proof development in ACL2
spellingShingle Modular proof development in ACL2
title_short Modular proof development in ACL2
title_full Modular proof development in ACL2
title_fullStr Modular proof development in ACL2
title_full_unstemmed Modular proof development in ACL2
title_sort modular proof development in acl2
publishDate
url http://hdl.handle.net/2047/d20002853
_version_ 1719406465303707648