Computing with Infinite Objects: the Gray Code Case
Infinite Gray code has been introduced by Tsuiki <cit.> as a redundancy-free representation of the reals. In applications the signed digit representation is mostly used which has maximal redundancy. Tsuiki presented a functional program converting signed digit code into infinite Gray code. Moreover, he showed that infinite Gray code can effectively be converted into signed digit code, but the program needs to have some non-deterministic features (see also <cit.>). Berger and Tsuiki <cit.> reproved the result in a system of formal first-order intuitionistic logic extended by inductive and co-inductive definitions, as well as some new logical connectives capturing concurrent behaviour. The programs extracted from the proofs are exactly the ones given by Tsuiki. In order to do so, co-inductive predicates and are defined and the inclusion ⊆ is derived. For the converse inclusion the new logical connectives are used to introduce a concurrent version _2 of S and ⊆_2 is shown. What one is looking for, however, is an equivalence proof of the involved concepts. One of the main aims of the present paper is to close the gap. A concurrent version ^* of and a modification ^* of _2 are presented such that ^* = ^*. A crucial tool in <cit.> is a formulation of the Archimedean property of the real numbers as an induction principle. We introduce a concurrent version of this principle which allows us to prove that ^* and ^* coincide. A further central contribution is the extension of the above results to the hyperspace of non-empty compact subsets of the reals.
READ FULL TEXT