9 research outputs found
An algorithmic approach to the existence of ideal objects in commutative algebra
The existence of ideal objects, such as maximal ideals in nonzero rings,
plays a crucial role in commutative algebra. These are typically justified
using Zorn's lemma, and thus pose a challenge from a computational point of
view. Giving a constructive meaning to ideal objects is a problem which dates
back to Hilbert's program, and today is still a central theme in the area of
dynamical algebra, which focuses on the elimination of ideal objects via
syntactic methods. In this paper, we take an alternative approach based on
Kreisel's no counterexample interpretation and sequential algorithms. We first
give a computational interpretation to an abstract maximality principle in the
countable setting via an intuitive, state based algorithm. We then carry out a
concrete case study, in which we give an algorithmic account of the result that
in any commutative ring, the intersection of all prime ideals is contained in
its nilradical
Recommended from our members
Mathematical Logic: Proof Theory, Constructive Mathematics
The workshop “Mathematical Logic: Proof Theory, Constructive Mathematics” was centered around proof-theoretic aspects of current mathematics, constructive mathematics and logical aspects of computational complexity
Nonflatness and totality
We interpret finite types as domains over nonflat inductive base types in order to bring out the finitary core that seems to be inherent in the concept of totality. We prove a strong version of the Kreisel density theorem by providing a total compact element as a witness, a result that we cannot hope to have if we work with flat base types. To this end, we develop tools that deal adequately with possibly inconsistent finite sets of information. The classical density theorem is reestablished via a ‘finite density theorem,’ and corollaries are obtained, among them Berger's separation property
Program extraction from coinductive proofs and its application to exact real arithmetic
Program extraction has been initiated in the field of constructive
mathematics, and it attracts interest not only from mathematicians but
also from computer scientists nowadays. From a mathematical viewpoint
its aim is to figure out computational meaning of proofs, while from a
computer-scientific viewpoint its aim is the study of a method to
obtain correct programs. Therefore, it is natural to have both
theoretical results and a practical computer system to develop
executable programs via program extraction.
In this Thesis we study the computational interpretation of
constructive proofs involving inductive and coinductive reasoning. We
interpret proofs by translating the computational content of proofs
into executable program code. This translation is the procedure we
call program extraction and it is given through Kreisel's modified
realizability. Here we study a proof-theoretic foundation for program
extraction, enriching the proof assistant system Minlog based on this
theoretical improvement. Once a proof of a formula is written in
Minlog, a program can be extracted from the proof by the system
itself, and the extracted program can be executed in Minlog.
Moreover, extracted programs are provably correct with respect to the
proven formula due to a soundness theorem which we prove. We practice
program extraction by elaborating some case studies from exact real
arithmetic within our formal theory. Although these case studies have
been studied elsewhere, here we offer a formalization of them in
Minlog, and also machine-extraction of the corresponding programs.Die Methode der Programmextraktion hat ihren Ursprung im Bereich der
konstruktiven Mathematik, und stößt in letzter Zeit auf viel
Interesse nicht nur bei Mathematikern sondern auch bei Informatikern.
Vom Standpunkt der Mathematik ist ihr Ziel, aus Beweisen ihre
rechnerische Bedeutung abzulesen, während vom Standpunkt der
Informatik ihr Ziel die Untersuchung einer Methode ist, beweisbar
korrekte Programme zu erhalten. Es ist deshalb naheliegend, neben
theoretischen Ergebnissen auch ein praktisches Computersystem zur
Verfügung zu haben, mit dessen Hilfe durch Programmextraktion
lauffähige Programme entwickelt werden können.
In dieser Doktorarbeit wird eine rechnerische Interpretation
konstruktiver Beweise mit induktiven und koinduktiven Definitionen
angegeben und untersucht. Die Interpretation geschieht dadurch,
daß der rechnerische Gehalt von Beweisen in eine
Programmiersprache übersetzt wird. Diese übersetzung wird
Programmextraktion genannt; sie basiert auf Kreisels modifizierter
Realisierbarkeit. Wir untersuchen die beweistheoretischen Grundlagen
der Programmextraktion und erweitern den Beweisassistenten Minlog auf
der Basis der erhaltenen theoretischen Resultate. Wenn eine Formel in
Minlog formal bewiesen ist, läßt sich ein Programm aus dem
Beweis extrahieren, und dieses extrahierte Programm kann in Minlog
ausgeführt werden. Ferner sind extrahierte Programme beweisbar
korrekt bezüglich der entsprechenden Formel aufgrund eines
Korrektheitsatzes, den wir beweisen werden. Innerhalb unserer
formalen Theorie bearbeiten wir einige aus der Literatur bekannte
Fallstudien im Bereich der exakten reellen Arithmetik. Wir entwickeln
eine vollständige Formalisierung der entsprechenden Beweise und
diskutieren die in Minlog automatisch extrahierten Programme
Minlog - A Tool for Program Extraction Supporting Algebras and Coalgebras
Minlog is an interactive proof system which implements prooftheoreticmethods and applies them to verication and program extraction.We give an overview of the system and demonstrate how it can beused to exploit the computational content in (co)algebraic proofs and todevelop correct and ecient programs
Extraction de code fonctionnel certifié à partir de spécifications inductives.
Les outils d aide à la preuve basés sur la théorie des types permettent à l utilisateur d adopter soit un style fonctionnel, soit un style relationnel (c est-à-dire en utilisant des types inductifs). Chacun des deux styles a des avantages et des inconvénients. Le style relationnel peut être préféré parce qu il permet à l utilisateur de décrire seulement ce qui est vrai, de s abstraire temporairement de la question de la terminaison, et de s en tenir à une description utilisant des règles. Cependant, une spécification relationnelle n est pas exécutable.Nous proposons un cadre général pour transformer une spécification inductive en une spécification fonctionnelle, en extrayant à partir de la première une fonction et en produisant éventuellement la preuve de correction de la fonction extraite par rapport à sa spécification inductive. De plus, à partir de modes définis par l utilisateur, qui permettent de considérer les arguments de la relation comme des entrées ou des sorties (de fonction), nous pouvons extraire plusieurs comportements calculatoires à partir d un seul type inductif.Nous fournissons également deux implantations de notre approche, l une dans l outil d aide à la preuve Coq et l autre dans l environnement Focalize. Les deux sont actuellement distribuées avec leurs outils respectifs.Proof assistants based on type theory allow the user to adopt either a functional style, or a relational style (e.g., by using inductive types). Both styles have advantages and drawbacks. Relational style may be preferred because it allows the user to describe only what is true, discard momentarily the termination question, and stick to a rule-based description. However, a relational specification is usually not executable.We propose a general framework to turn an inductive specification into a functional one, by extracting a function from the former and eventually produce the proof of soundness of the extracted function w.r.t. its inductive specification. In addition, using user-defined modes which label inputs and outputs, we are able to extract several computational contents from a single inductive type.We also provide two implementations of our approach, one in the Coq proof assistant and the other in the Focalize environnement. Both are currently distributed with the respective tools.PARIS-CNAM (751032301) / SudocSudocFranceF
Towards an arithmetic for partial computable functionals
The thesis concerns itself with nonflat Scott information systems as an appropriate denotational semantics for the proposed theory TCF+, a constructive theory of higher-type partial computable functionals and approximations. We prove a definability theorem for type systems with at most unary constructors via atomic-coherent information systems, and give a simple proof for the density property for arbitrary finitary type systems using coherent information systems. We introduce the notions of token matrices and eigen-neighborhoods, and use them to locate normal forms of neighborhoods, as well as to demonstrate that even nonatomic information systems feature implicit atomicity. We then establish connections between coherent information systems and various pointfree structures. Finally, we introduce a fragment of TCF+ and show that extensionality can be eliminated.Diese Dissertation befasst sich mit nichtflachen Scott-Informationssystemen als geeignete denotationelle Semantik für die vorgestellte Theorie TCF+, eine konstruktive Theorie von partiellen berechenbaren Funktionalen und Approximationen in höheren Typen. Auf Basis von atomisch-kohärenten Informationssystemen wird ein Definierbarkeitssatz für Typsysteme mit höchstens einstelligen Konstruktoren gegeben und ein einfacher Beweis des Dichtheitssatzes von beliebigen finitären Typsystemen auf kohärenten Informationssystemen erbracht. Token-Matrizen und Eigenumgebungen werden eingeführt und verwendet, um Normalformen von Umgebungen aufzufinden und um aufzuzeigen, dass auch nichtatomische Informationssysteme über implizite Atomizität verfügen. Im Anschluss werden Verbindungen zwischen kohärenten Informationssystemen und verschiedenen punktfreien Strukturen geknüpft. Schlussendlich wird ein Fragment von TCF+ vorgestellt und gezeigt, dass Extensionalität umgangen werden kann