27,126 research outputs found
Domain Representable Spaces Defined by Strictly Positive Induction
Recursive domain equations have natural solutions. In particular there are
domains defined by strictly positive induction. The class of countably based
domains gives a computability theory for possibly non-countably based
topological spaces. A space is a topological space characterized by
its strong representability over domains. In this paper, we study strictly
positive inductive definitions for spaces by means of domain
representations, i.e. we show that there exists a canonical fixed point of
every strictly positive operation on spaces.Comment: 48 pages. Accepted for publication in Logical Methods in Computer
Scienc
Constructing Infinitary Quotient-Inductive Types
This paper introduces an expressive class of quotient-inductive types, called
QW-types. We show that in dependent type theory with uniqueness of identity
proofs, even the infinitary case of QW-types can be encoded using the
combination of inductive-inductive definitions involving strictly positive
occurrences of Hofmann-style quotient types, and Abel's size types. The latter,
which provide a convenient constructive abstraction of what classically would
be accomplished with transfinite ordinals, are used to prove termination of the
recursive definitions of the elimination and computation properties of our
encoding of QW-types. The development is formalized using the Agda theorem
prover
Constructing Infinitary Quotient-Inductive Types
This paper introduces an expressive class of quotient-inductive types, called
QW-types. We show that in dependent type theory with uniqueness of identity
proofs, even the infinitary case of QW-types can be encoded using the
combination of inductive-inductive definitions involving strictly positive
occurrences of Hofmann-style quotient types, and Abel's size types. The latter,
which provide a convenient constructive abstraction of what classically would
be accomplished with transfinite ordinals, are used to prove termination of the
recursive definitions of the elimination and computation properties of our
encoding of QW-types. The development is formalized using the Agda theorem
prover.Comment: The accompanying Agda code can be found at
https://doi.org/10.17863/CAM.4818
The Rooster and the Syntactic Bracket
We propose an extension of pure type systems with an algebraic presentation
of inductive and co-inductive type families with proper indices. This type
theory supports coercions toward from smaller sorts to bigger sorts via
explicit type construction, as well as impredicative sorts. Type families in
impredicative sorts are constructed with a bracketing operation. The necessary
restrictions of pattern-matching from impredicative sorts to types are confined
to the bracketing construct. This type theory gives an alternative presentation
to the calculus of inductive constructions on which the Coq proof assistant is
an implementation.Comment: To appear in the proceedings of the 19th International Conference on
Types for Proofs and Program
Elaborating Inductive Definitions
We present an elaboration of inductive definitions down to a universe of
datatypes. The universe of datatypes is an internal presentation of strictly
positive families within type theory. By elaborating an inductive definition --
a syntactic artifact -- to its code -- its semantics -- we obtain an
internalized account of inductives inside the type theory itself: we claim that
reasoning about inductive definitions could be carried in the type theory, not
in the meta-theory as it is usually the case. Besides, we give a formal
specification of that elaboration process. It is therefore amenable to formal
reasoning too. We prove the soundness of our translation and hint at its
correctness with respect to Coq's Inductive definitions.
The practical benefits of this approach are numerous. For the type theorist,
this is a small step toward bootstrapping, ie. implementing the inductive
fragment in the type theory itself. For the programmer, this means better
support for generic programming: we shall present a lightweight deriving
mechanism, entirely definable by the programmer and therefore not requiring any
extension to the type theory.Comment: 32 pages, technical repor
Inductive-data-type Systems
In a previous work ("Abstract Data Type Systems", TCS 173(2), 1997), the last
two authors presented a combined language made of a (strongly normalizing)
algebraic rewrite system and a typed lambda-calculus enriched by
pattern-matching definitions following a certain format, called the "General
Schema", which generalizes the usual recursor definitions for natural numbers
and similar "basic inductive types". This combined language was shown to be
strongly normalizing. The purpose of this paper is to reformulate and extend
the General Schema in order to make it easily extensible, to capture a more
general class of inductive types, called "strictly positive", and to ease the
strong normalization proof of the resulting system. This result provides a
computation model for the combination of an algebraic specification language
based on abstract data types and of a strongly typed functional language with
strictly positive inductive types.Comment: Theoretical Computer Science (2002
Reasoning about modular datatypes with Mendler induction
In functional programming, datatypes a la carte provide a convenient modular
representation of recursive datatypes, based on their initial algebra
semantics. Unfortunately it is highly challenging to implement this technique
in proof assistants that are based on type theory, like Coq. The reason is that
it involves type definitions, such as those of type-level fixpoint operators,
that are not strictly positive. The known work-around of impredicative
encodings is problematic, insofar as it impedes conventional inductive
reasoning. Weak induction principles can be used instead, but they considerably
complicate proofs.
This paper proposes a novel and simpler technique to reason inductively about
impredicative encodings, based on Mendler-style induction. This technique
involves dispensing with dependent induction, ensuring that datatypes can be
lifted to predicates and relying on relational formulations. A case study on
proving subject reduction for structural operational semantics illustrates that
the approach enables modular proofs, and that these proofs are essentially
similar to conventional ones.Comment: In Proceedings FICS 2015, arXiv:1509.0282
Invariant Synthesis for Incomplete Verification Engines
We propose a framework for synthesizing inductive invariants for incomplete
verification engines, which soundly reduce logical problems in undecidable
theories to decidable theories. Our framework is based on the counter-example
guided inductive synthesis principle (CEGIS) and allows verification engines to
communicate non-provability information to guide invariant synthesis. We show
precisely how the verification engine can compute such non-provability
information and how to build effective learning algorithms when invariants are
expressed as Boolean combinations of a fixed set of predicates. Moreover, we
evaluate our framework in two verification settings, one in which verification
engines need to handle quantified formulas and one in which verification
engines have to reason about heap properties expressed in an expressive but
undecidable separation logic. Our experiments show that our invariant synthesis
framework based on non-provability information can both effectively synthesize
inductive invariants and adequately strengthen contracts across a large suite
of programs
- …