Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Milad Niqui is active.

Publication


Featured researches published by Milad Niqui.


Mathematical Structures in Computer Science | 2007

Constructive analysis, types and exact real numbers

Herman Geuvers; Milad Niqui; Bas Spitters; Freek Wiedijk

In this paper we will discuss various aspects of computable/constructive analysis, namely semantics, proofs and computations. We will present some of the problems and solutions of exact real arithmetic varying from concrete implementations, representation and algorithms to various models for real computation. We then put these models in a uniform framework using realisability, which opens the door to the use of type theoretic and coalgebraic constructions both in computing and reasoning about these computations. We will indicate that it is often natural to use constructive logic to reason about these computations.


Journal of Discrete Algorithms | 2007

Exact arithmetic on the Stern-Brocot tree

Milad Niqui

In this paper we present the Stern-Brocot tree as a basis for performing exact arithmetic on rational numbers. There exists an elegant binary representation for positive rational numbers based on this tree [Graham et al., Concrete Mathematics, 1994]. We will study this representation by investigating various algorithms to perform exact rational arithmetic using an adaptation of the homographic and the quadratic algorithms that were first proposed by Gosper for computing with continued fractions. We will show generalisations of homographic and quadratic algorithms to multilinear forms in n variables. Finally, we show an application of the algorithms for evaluating polynomials.


types for proofs and programs | 2003

QArith: Coq Formalisation of Lazy Rational Arithmetic

Milad Niqui; Yves Bertot

In this paper we present the Coq formalisation of the QArith library which is an implementation of rational numbers as binary sequences for both lazy and strict computation. We use the representation also known as the Stern-Brocot representation for rational numbers. This formalisation uses advanced machinery of the Coq theorem prover and applies recent developments in formalising general recursive functions. This formalisation highlights the role of type theory both as a tool to verify hand-written programs and as a tool to generate verified programs.


types for proofs and programs | 2009

Coalgebraic Reasoning in Coq: Bisimulation and the λ-Coiteration Scheme

Milad Niqui

In this work we present a modular theory of the coalgebras and bisimulation in the intensional type theory implemented in coq . On top of that we build the theory of weakly final coalgebras and develop the λ -coiteration scheme, thereby extending the class of specifications definable in coq . We provide an instantiation of the theory for the coalgebra of streams and show how some of the productive specifications violating the guardedness condition of coq can be formalised using our library.


conference on computability in europe | 2005

Formalising exact arithmetic in type theory

Milad Niqui

In this work we focus on a formalisation of the algorithms of lazy exact arithmetic a la Potts and Edalat [1]. We choose the constructive type theory as our formal verification tool. We discuss an extension of the constructive type theory with coinductive types that enables one to formalise and reason about the infinite objects. We show examples of how infinite objects such as streams and expression trees can be formalised as coinductive types. We study the type theoretic notion of productivity which ensures the infiniteness of the outcome of the algorithms on infinite objects. Syntactical methods are not always strong enough to ensure the productivity. However, if some information about the complexity of a function is provided, one may be able to show the productivity of that function. In the case of the normalisation algorithm we show that such information can be obtained from the choice of real number representation that is used to represent the input and the output.


Mathematics in Computer Science | 2011

A Validated Real Function Calculus

Pieter Collins; Milad Niqui; Nathalie Revol

We present a framework for validated numerical computations with real functions. The framework is based on a formalisation of abstract data types for basic floating-point arithmetic, interval arithmetic and function models based on Banach algebra. As a concrete instantiation, we develop an elementary smooth function calculus approximated by sparse polynomial models. We demonstrate formal verification applied to validated calculus by a formalisation of basic arithmetic operations in a theorem prover. The ultimate aim is to develop a formalism powerful enough for reachability analysis of nonlinear hybrid systems.


Higher-Order and Symbolic Computation | 2011

A proof of Moessner’s theorem by coinduction

Milad Niqui; Jan J. M. M. Rutten

We present a coinductive proof of Moessner’s theorem. This theorem describes the construction of the stream (1n,2n,3n,…) (for n≥1) out of the stream of positive natural numbers by repeatedly dropping and summing elements. Our formalisation consists of a direct translation of the operational description of Moessner’s procedure into the equivalence of—in essence—two functional programs. Our proof fully exploits the circularity that is implicitly present in Moessner’s procedure, and it is more elementary than existing proofs. As such, it serves as a non-trivial illustration of the relevance and power of coinduction.


Electronic Notes in Theoretical Computer Science | 2006

Coinductive Field of Exact Real Numbers and General Corecursion

Milad Niqui

Abstract In this article we present a method to define algebraic structure (field operations) on a representation of real numbers by coinductive streams. The field operations will be given in two algorithms (homographic and quadratic algorithm) that operate on streams of Mobius maps. The algorithms can be seen as coalgebra maps on the coalgebra of streams and hence they will be formalised as general corecursive functions. We use the machinery of Coq proof assistant for coinductive types to present the formalisation.


Theory of Computing Systems \/ Mathematical Systems Theory | 2007

Productivity of Edalat-Potts Exact Arithmetic in Constructive Type Theory

Milad Niqui

In this work we focus on a formalisation of the algorithms of lazy exact arithmetic a la Edalat-Potts in type theory. We choose the constructive type theory extended with coinductive types as our formal verification tool. We show examples of how infinite objects such as streams and expression trees can be formalised as coinductive types. We study the type theoretic notion of productivity which ensures the infiniteness of the outcome of the algorithms on infinite objects. Syntactical methods are not always strong enough to ensure the productivity. However, if some information about the complexity of a function is provided, one may be able to show the productivity of that function. In the case of the normalisation algorithm we show that such information can be obtained from the choice of real number representation that is used to represent the input and the output. Furthermore, we show how to employ this semantic information to formalise a restricted case of normalisation algorithm in our type theory.


types for proofs and programs | 2006

Coinductive correctness of homographic and quadratic algorithms for exact real numbers

Milad Niqui

In this article we present a method for formally proving the correctness of the lazy algorithms for computing homographic and quadratic transformations -- of which field operations are special cases-- on a representation of real numbers by coinductive streams. The algorithms work on coinductive stream of Mobius maps and form the basis of Edalat-Potts exact real arithmetic. We build upon our earlier work of formalising the homographic and quadratic algorithms in constructive type theory via general corecursion. Based on the notion of cofixed point equations for general corecursive definitions we prove by coinduction the correctness of the algorithms. We use the machinery of the Coq proof assistant for coinductive types to present the formalisation. The material in this article is fully formalised in the Coq proof assistant.

Collaboration


Dive into the Milad Niqui's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Bart Jacobs

Radboud University Nijmegen

View shared research outputs
Top Co-Authors

Avatar

Ana Bove

Chalmers University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Alexandra Silva

Radboud University Nijmegen

View shared research outputs
Top Co-Authors

Avatar

Herman Geuvers

Radboud University Nijmegen

View shared research outputs
Top Co-Authors

Avatar

Bas Spitters

Radboud University Nijmegen

View shared research outputs
Top Co-Authors

Avatar

Freek Wiedijk

Radboud University Nijmegen

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Nathalie Revol

École normale supérieure de Lyon

View shared research outputs
Researchain Logo
Decentralizing Knowledge