2017
DOI: 10.1007/978-3-319-62075-6_4
|View full text |Cite
|
Sign up to set email alerts
|

Automatically Proving Equivalence by Type-Safe Reflection

Abstract: Abstract. One difficulty with reasoning and programming with dependent types is that proof obligations arise naturally once programs become even moderately sized. For example, implementing an adder for binary numbers indexed over their natural number equivalents naturally leads to proof obligations for equalities of expressions over natural numbers. The need for these equality proofs comes, in intensional type theories, from the fact that the propositional equality enables us to prove as equal terms that are n… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
7
0

Year Published

2018
2018
2022
2022

Publication Types

Select...
3
1
1

Relationship

1
4

Authors

Journals

citations
Cited by 5 publications
(7 citation statements)
references
References 14 publications
0
7
0
Order By: Relevance
“…In this example, the prelude function, isLTE, is used to provide a value that inhabits the type Dec (LTE p0' p4). Under the Curry-Howard correspondence and Intensional Type Theories [44] upon which Idris is based, the type Dec (LTE p0' p4) is a proposition and the result of (isLTE 32933 188784) is a proof of that proposition, and thus a proof of the assertion itself. Accordingly, we say that the result of the abstract evaluation of dijkstra is a mechanical proof of the assertions therein, where Idris is used as a proof assistant.…”
Section: Contract Definition and Derivationmentioning
confidence: 99%
“…In this example, the prelude function, isLTE, is used to provide a value that inhabits the type Dec (LTE p0' p4). Under the Curry-Howard correspondence and Intensional Type Theories [44] upon which Idris is based, the type Dec (LTE p0' p4) is a proposition and the result of (isLTE 32933 188784) is a proof of that proposition, and thus a proof of the assertion itself. Accordingly, we say that the result of the abstract evaluation of dijkstra is a mechanical proof of the assertions therein, where Idris is used as a proof assistant.…”
Section: Contract Definition and Derivationmentioning
confidence: 99%
“…Dependently typed languages take advantage of the Curry-Howard correspondence, which states that, given a suitably rich type system, (certain kinds of) proofs can be represented as programs [30]. For languages with insufficiently rich type systems, such as C, dependently-typed languages can be used to produce an abstract interpretation [11] of a given program in those languages.…”
Section: Dependent Typesmentioning
confidence: 99%
“…Finally, we demonstrate our executable formalisation on a representative example, capturing a range of programmer-provided assertions and non-functional properties, and demonstrable proofs of these assertions. In line with the Curry-Howard correspondence [28,30], we formulate our definitions of…”
Section: Introductionmentioning
confidence: 99%
“…Pientka (2013)). Some use reflection (Slama and Brady 2017), some are based on algorithms that are similar to first-order resolution (Gonthier and Mahboubi 2010), and others (e.g. Liquid Haskell) incorporate third-party SMT solvers (Vazou et al 2018).…”
Section: B) ← Type(γ M a → B) ∧ Type(γ N A)mentioning
confidence: 99%