• Home
  • Search
  • RADA: a tool for reasoning about algebraic data types with abstractions
  • Open Access IconOpen Access
  • Cite Icon10
  • https://doi.org/10.1145/2491411.2494597Copy DOI Icon

RADA: a tool for reasoning about algebraic data types with abstractions

  • Aug 18, 2013
  • Tuan-Hung Pham +1 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

We present RADA, a portable, scalable tool for reasoning about formulas containing algebraic data types using catamorphism (fold) functions. It can work as a back-end for reasoning about recursive programs that manipulate algebraic types. RADA operates by successively unrolling catamorphisms and uses either CVC4 and Z3 as reasoning engines. We have used RADA for reasoning about functional implementations of complex data structures and to reason about guard applications that determine whether XML messages should be allowed to cross network security domains. Promising experimental results demonstrate that RADA can be used in several practical contexts.

Similar Papers
  • PDF
  • Research Article
  • Citations11

Verifying Catamorphism-Based Contracts using Constrained Horn Clauses

  • Jul 01, 2022
  • Theory and Practice of Logic Programming
  • Emanuele De Angelis +3
  • PDF
  • Research Article
  • Citations25

Solving constrained Horn clauses modulo algebraic data types and recursive functions

  • Jan 12, 2022
  • Proceedings of the ACM on Programming Languages
  • Hari Govind V K +2
  • Conference Article
  • Citations6

Generating Random Structurally Rich Algebraic Data Type Values

  • Mar 19, 2019
  • Agustin Mista +1
  • Book Chapter
  • Citations3

Towards a Language for Defining Reusable Programming Language Components

  • Jan 01, 2022
  • Cas Van Der Rest +1
  • Conference Article
  • Citations11

Algebraic data types for language-integrated queries

  • Jan 22, 2013
  • George Giorgidze +3
  • Book Chapter
  • Citations3

Algebraic Data Types

  • Jan 01, 2009
  • Barry Jay
  • Book Chapter
  • Citations25

A Framework for Extended Algebraic Data Types

  • Jan 01, 2006
  • Martin Sulzmann +2
  • Conference Article
  • Citations3

Proactive Synthesis of Recursive Tree-to-String Functions from Examples

  • Jan 01, 2017
  • arXiv (Cornell University)
  • Mikaël Mayer +2
  • Book Chapter
  • Citations5

Lifting Numeric Relational Domains to Algebraic Data Types

  • Jan 01, 2022
  • Santiago Bautista +2
  • PDF
  • Research Article
  • Citations4

Recursive Program Synthesis using Paramorphisms

  • Jun 20, 2024
  • Proceedings of the ACM on Programming Languages
  • Qiantan Hong +1
  • PDF
  • Research Article
  • Citations10

Genetic Programming varvec{+} Proof Search varvec{=} Automatic Improvement

  • Mar 07, 2017
  • Journal of Automated Reasoning
  • Zoltan A Kocsis +1
  • PDF
  • Conference Article
  • Citations21

Checking the Consistency of UML Class Diagrams Using Larch Prover

  • Jan 01, 2000
  • Electronic workshops in computing
  • Pascal André +3
  • Book Chapter
  • Citations10

Coalgebras as Types Determined by Their Elimination Rules

  • Jan 01, 2012
  • Anton Setzer
  • Book Chapter
  • Citations6

Specification of flexible knowledge-based systems

  • Jan 01, 1997
  • Christine Pierret-Golbreich +1
  • Research Article
  • Citations1

Generation of algebraic data type values using evolutionary algorithms

  • Nov 13, 2024
  • Journal of Logical and Algebraic Methods in Programming
  • Ignacio Ballesteros +4
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.