3 research outputs found
Classical Predicative Logic-Enriched Type Theories
A logic-enriched type theory (LTT) is a type theory extended with a primitive
mechanism for forming and proving propositions. We construct two LTTs, named
LTTO and LTTO*, which we claim correspond closely to the classical predicative
systems of second order arithmetic ACAO and ACA. We justify this claim by
translating each second-order system into the corresponding LTT, and proving
that these translations are conservative. This is part of an ongoing research
project to investigate how LTTs may be used to formalise different approaches
to the foundations of mathematics.
The two LTTs we construct are subsystems of the logic-enriched type theory
LTTW, which is intended to formalise the classical predicative foundation
presented by Herman Weyl in his monograph Das Kontinuum. The system ACAO has
also been claimed to correspond to Weyl's foundation. By casting ACAO and ACA
as LTTs, we are able to compare them with LTTW. It is a consequence of the work
in this paper that LTTW is strictly stronger than ACAO.
The conservativity proof makes use of a novel technique for proving one LTT
conservative over another, involving defining an interpretation of the stronger
system out of the expressions of the weaker. This technique should be
applicable in a wide variety of different cases outside the present work.Comment: 49 pages. Accepted for publication in special edition of Annals of
Pure and Applied Logic on Computation in Classical Logic. v2: Minor mistakes
correcte
A Relational Logic for Higher-Order Programs
Relational program verification is a variant of program verification where
one can reason about two programs and as a special case about two executions of
a single program on different inputs. Relational program verification can be
used for reasoning about a broad range of properties, including equivalence and
refinement, and specialized notions such as continuity, information flow
security or relative cost. In a higher-order setting, relational program
verification can be achieved using relational refinement type systems, a form
of refinement types where assertions have a relational interpretation.
Relational refinement type systems excel at relating structurally equivalent
terms but provide limited support for relating terms with very different
structures.
We present a logic, called Relational Higher Order Logic (RHOL), for proving
relational properties of a simply typed -calculus with inductive types
and recursive definitions. RHOL retains the type-directed flavour of relational
refinement type systems but achieves greater expressivity through rules which
simultaneously reason about the two terms as well as rules which only
contemplate one of the two terms. We show that RHOL has strong foundations, by
proving an equivalence with higher-order logic (HOL), and leverage this
equivalence to derive key meta-theoretical properties: subject reduction,
admissibility of a transitivity rule and set-theoretical soundness. Moreover,
we define sound embeddings for several existing relational type systems such as
relational refinement types and type systems for dependency analysis and
relative cost, and we verify examples that were out of reach of prior work.Comment: Submitted to ICFP 201