Generating induction principles and subterm relations for inductive types using MetaCoq

06/25/2020
by   Bohdan Liesnikov, et al.
0

We implement three Coq plugins regarding inductive types in MetaCoq. The first plugin is a simple syntax transformation generating alternative constructors for inductive types by abstracting over concrete indices in the types of the constructors. The second plugin re-implements Coq's Scheme Induction command in MetaCoq, and extends it to nested inductive types, e.g. types like rose trees which use list in their definition, similar to the Elpi-plugin by Tassi. The third plugin implements the Derive Subterm command provided by the Equations package in MetaCoq.

READ FULL TEXT

page 1

page 2

research
07/16/2021

Countability of Inductive Types Formalized in the Object-Logic Level

The set of integer number lists with finite length, and the set of binar...
research
05/17/2021

(Deep) Induction Rules for GADTs

Deep data types are those that are defined in terms of other such data t...
research
02/14/2020

Flexible Coinduction in Agda

Theorem provers are tools that help users to write machine readable proo...
research
01/24/2023

Inductive Reasoning for Coinductive Types

We present AlgCo (Algebraic Coinductives), a practical framework for ind...
research
06/16/2023

Towards an induction principle for nested data types

A well-known problem in the theory of dependent types is how to handle s...
research
12/11/2002

Types of Cost in Inductive Concept Learning

Inductive concept learning is the task of learning to assign cases to a ...
research
02/01/2019

Signatures and Induction Principles for Higher Inductive-Inductive Types

Higher inductive-inductive types (HIITs) generalize inductive types of d...

Please sign up or login with your details

Forgot password? Click here to reset