DeepAI AI Chat
Log In Sign Up

Countability of Inductive Types Formalized in the Object-Logic Level

by   Qinxiang Cao, et al.

The set of integer number lists with finite length, and the set of binary trees with integer labels are both countably infinite. Many inductively defined types also have countably many elements. In this paper, we formalize the syntax of first order inductive definitions in Coq and prove them countable, under some side conditions. Instead of writing a proof generator in a meta language, we develop an axiom-free proof in the Coq object logic. In other words, our proof is a dependently typed Coq function from the syntax of the inductive definition to the countability of the type. Based on this proof, we provide a Coq tactic to automatically prove the countability of concrete inductive types. We also developed Coq libraries for countability and for the syntax of inductive definitions, which have value on their own.


page 1

page 2

page 3

page 4


Generating induction principles and subterm relations for inductive types using MetaCoq

We implement three Coq plugins regarding inductive types in MetaCoq. The...

Quotients of Bounded Natural Functors

The functorial structure of type constructors is the foundation for many...

Inference with System W Satisfies Syntax Splitting

In this paper, we investigate inductive inference with system W from con...

Nominal Matching Logic

We introduce Nominal Matching Logic (NML) as an extension of Matching Lo...

The Inductive Logic of Information Systems

An inductive logic can be formulated in which the elements are not propo...

Circular Proofs in First-Order Linear Logic with Least and Greatest Fixed Points

Inductive and coinductive structures are everywhere in mathematics and c...