Abella
The Abella Interactive Theorem Prover (System Description). Abella [3] is an interactive system for reasoning about aspects of object languages that have been formally presented through recursive rules based on syntactic structure. Abella utilizes a two-level logic approach to specification and reasoning. One level is defined by a specification logic which supports a transparent encoding of structural semantics rules and also enables their execution. The second level, called the reasoning logic, embeds the specification logic and allows the development of proofs of properties about specifications. An important characteristic of both logics is that they exploit the λ-tree syntax approach to treating binding in object languages. Amongst other things, Abella has been used to prove normalizability properties of the λ-calculus, cut admissibility for a sequent calculus and type uniqueness and subject reduction properties. This paper discusses the logical foundations of Abella, outlines the style of theorem proving that it supports and finally describes some of its recent applications.
Keywords for this software
References in zbMATH (referenced in 23 articles , 1 standard article )
Showing results 1 to 20 of 23.
Sorted by year (- Miller, Dale: Proof checking and logic programming (2017)
- Felty, Amy P.; Momigliano, Alberto; Pientka, Brigitte: The next 700 challenge problems for reasoning with higher-order abstract syntax representations. II: A survey (2015)
- Olarte, Carlos; Pimentel, Elaine: Proving concurrent constraint programming correct, revisited (2015)
- Pientka, Brigitte; Cave, Andrew: Inductive Beluga: programming proofs (2015)
- Wisniewski, Max; Steen, Alexander; Benzmüller, Christoph: LeoPARD -- a generic platform for the implementation of higher-order reasoners (2015)
- Southern, Mary; Chaudhuri, Kaustuv: A two-level logic approach to reasoning about typed specification languages (2014)
- Accattoli, Beniamino: Proof pearl: abella formalization of $\lambda $-calculus cube property (2012)
- Cimini, Matteo; Mousavi, Mohamamdreza; Reniers, Michel A.; Gabbay, Murdoch J.: Nominal SOS (2012)
- Felty, Amy; Momigliano, Alberto: Hybrid. A definitional two-level approach to reasoning with higher-order abstract syntax (2012)
- Gacek, Andrew: Abella: a tutorial (2012)
- Gacek, Andrew; Miller, Dale; Nadathur, Gopalan: A two-level logic approach to reasoning about computations (2012)
- Lee, Gyesik; Oliveira, Bruno C.D.S.; Cho, Sungkeun; Yi, Kwangkeun: GMeta: a generic formal metatheory framework for first-order representations (2012)
- Gacek, Andrew; Miller, Dale; Nadathur, Gopalan: Nominal abstraction (2011)
- Dawson, Jeremy E.; Goré, Rajeev: Generic methods for formalising sequent calculi applied to provability logic (2010)
- Felty, Amy; Pientka, Brigitte: Reasoning with higher-order abstract syntax and contexts: a comparison (2010)
- Pientka, Brigitte; Dunfield, Joshua: Beluga: a framework for programming and reasoning with deductive systems (system description) (2010)
- Schack-Nielsen, Anders; Schürmann, Carsten: Curry-style explicit substitutions for the linear and affine lambda calculus (2010)
- Snow, Zachary: Realizing the dependently typed $\lambda$-calculus (2010)
- Gacek, Andrew; Miller, Dale; Nadathur, Gopalan: Reasoning in Abella about structural operational semantics specifications (2009)
- Tiu, Alwen: On the role of names in reasoning about $\lambda$-tree syntax specifications (2009)