2024
DOI: 10.1090/bull/1832
|View full text |Cite
|
Sign up to set email alerts
|

Mathematics and the formal turn

Jeremy Avigad

Abstract: Since the early twentieth century, it has been understood that mathematical definitions and proofs can be represented in formal systems with precise grammars and rules of use. Building on such foundations, computational proof assistants now make it possible to encode mathematical knowledge in digital form. This article enumerates some of the ways that these and related technologies can help us do mathematics.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1

Citation Types

0
1
0

Year Published

2024
2024
2024
2024

Publication Types

Select...
4
1

Relationship

0
5

Authors

Journals

citations
Cited by 6 publications
(1 citation statement)
references
References 27 publications
0
1
0
Order By: Relevance
“…We will even go as far as to say that formalizing known optimizations helps understand them better. [5] There is often a choice to be made between proving complete correctness of the analysis (the analysis always succeeds and compute a correct result) and partial correctness (if the analysis succeeds, then it computes a correct result). The latter is often much easier to prove than the former: there is no need to prove termination (one may either have part of the procedure in untrusted code with no termination requirement, or use a high maximum number of iterations and fail if it is reached), and one can split the analysis into an untrusted oracle and a formally verified checker.…”
Section: Discussionmentioning
confidence: 99%
“…We will even go as far as to say that formalizing known optimizations helps understand them better. [5] There is often a choice to be made between proving complete correctness of the analysis (the analysis always succeeds and compute a correct result) and partial correctness (if the analysis succeeds, then it computes a correct result). The latter is often much easier to prove than the former: there is no need to prove termination (one may either have part of the procedure in untrusted code with no termination requirement, or use a high maximum number of iterations and fail if it is reached), and one can split the analysis into an untrusted oracle and a formally verified checker.…”
Section: Discussionmentioning
confidence: 99%