38 research outputs found
Debugging tasked Ada programs
The applications for which Ada was developed require distributed implementations of the language and extensive use of tasking facilities. Debugging and testing technology as it applies to parallel features of languages currently falls short of needs. Thus, the development of embedded systems using Ada pose special challenges to the software engineer. Techniques for distributing Ada programs, support for simulating distributed target machines, testing facilities for tasked programs, and debugging support applicable to simulated and to real targets all need to be addressed. A technique is presented for debugging Ada programs that use tasking and it describes a debugger, called AdaTAD, to support the technique. The debugging technique is presented together with the use interface to AdaTAD. The component of AdaTAD that monitors and controls communication among tasks was designed in Ada and is presented through an example with a simple tasked program
Propositional computability logic I
In the same sense as classical logic is a formal theory of truth, the
recently initiated approach called computability logic is a formal theory of
computability. It understands (interactive) computational problems as games
played by a machine against the environment, their computability as existence
of a machine that always wins the game, logical operators as operations on
computational problems, and validity of a logical formula as being a scheme of
"always computable" problems. The present contribution gives a detailed
exposition of a soundness and completeness proof for an axiomatization of one
of the most basic fragments of computability logic. The logical vocabulary of
this fragment contains operators for the so called parallel and choice
operations, and its atoms represent elementary problems, i.e. predicates in the
standard sense. This article is self-contained as it explains all relevant
concepts. While not technically necessary, however, familiarity with the
foundational paper "Introduction to computability logic" [Annals of Pure and
Applied Logic 123 (2003), pp.1-99] would greatly help the reader in
understanding the philosophy, underlying motivations, potential and utility of
computability logic, -- the context that determines the value of the present
results. Online introduction to the subject is available at
http://www.cis.upenn.edu/~giorgi/cl.html and
http://www.csc.villanova.edu/~japaridz/CL/gsoll.html .Comment: To appear in ACM Transactions on Computational Logi
From formulas to cirquents in computability logic
Computability logic (CoL) (see http://www.cis.upenn.edu/~giorgi/cl.html) is a
recently introduced semantical platform and ambitious program for redeveloping
logic as a formal theory of computability, as opposed to the formal theory of
truth that logic has more traditionally been. Its expressions represent
interactive computational tasks seen as games played by a machine against the
environment, and "truth" is understood as existence of an algorithmic winning
strategy. With logical operators standing for operations on games, the
formalism of CoL is open-ended, and has already undergone series of extensions.
This article extends the expressive power of CoL in a qualitatively new way,
generalizing formulas (to which the earlier languages of CoL were limited) to
circuit-style structures termed cirquents. The latter, unlike formulas, are
able to account for subgame/subtask sharing between different parts of the
overall game/task. Among the many advantages offered by this ability is that it
allows us to capture, refine and generalize the well known
independence-friendly logic which, after the present leap forward, naturally
becomes a conservative fragment of CoL, just as classical logic had been known
to be a conservative fragment of the formula-based version of CoL. Technically,
this paper is self-contained, and can be read without any prior familiarity
with CoL.Comment: LMCS 7 (2:1) 201
A logical basis for constructive systems
The work is devoted to Computability Logic (CoL) -- the
philosophical/mathematical platform and long-term project for redeveloping
classical logic after replacing truth} by computability in its underlying
semantics (see http://www.cis.upenn.edu/~giorgi/cl.html). This article
elaborates some basic complexity theory for the CoL framework. Then it proves
soundness and completeness for the deductive system CL12 with respect to the
semantics of CoL, including the version of the latter based on polynomial time
computability instead of computability-in-principle. CL12 is a sequent calculus
system, where the meaning of a sequent intuitively can be characterized as "the
succedent is algorithmically reducible to the antecedent", and where formulas
are built from predicate letters, function letters, variables, constants,
identity, negation, parallel and choice connectives, and blind and choice
quantifiers. A case is made that CL12 is an adequate logical basis for
constructive applied theories, including complexity-oriented ones
A Galois connection between classical and intuitionistic logics. I: Syntax
In a 1985 commentary to his collected works, Kolmogorov remarked that his
1932 paper "was written in hope that with time, the logic of solution of
problems [i.e., intuitionistic logic] will become a permanent part of a
[standard] course of logic. A unified logical apparatus was intended to be
created, which would deal with objects of two types - propositions and
problems." We construct such a formal system QHC, which is a conservative
extension of both the intuitionistic predicate calculus QH and the classical
predicate calculus QC.
The only new connectives ? and ! of QHC induce a Galois connection (i.e., a
pair of adjoint functors) between the Lindenbaum posets (i.e. the underlying
posets of the Lindenbaum algebras) of QH and QC. Kolmogorov's double negation
translation of propositions into problems extends to a retraction of QHC onto
QH; whereas Goedel's provability translation of problems into modal
propositions extends to a retraction of QHC onto its QC+(?!) fragment,
identified with the modal logic QS4. The QH+(!?) fragment is an intuitionistic
modal logic, whose modality !? is a strict lax modality in the sense of Aczel -
and thus resembles the squash/bracket operation in intuitionistic type
theories.
The axioms of QHC attempt to give a fuller formalization (with respect to the
axioms of intuitionistic logic) to the two best known contentual
interpretations of intiuitionistic logic: Kolmogorov's problem interpretation
(incorporating standard refinements by Heyting and Kreisel) and the proof
interpretation by Orlov and Heyting (as clarified by G\"odel). While these two
interpretations are often conflated, from the viewpoint of the axioms of QHC
neither of them reduces to the other one, although they do overlap.Comment: 47 pages. The paper is rewritten in terms of a formal meta-logic (a
simplified version of Isabelle's meta-logic
From truth to computability I
The recently initiated approach called computability logic is a formal theory
of interactive computation. See a comprehensive online source on the subject at
http://www.cis.upenn.edu/~giorgi/cl.html . The present paper contains a
soundness and completeness proof for the deductive system CL3 which axiomatizes
the most basic first-order fragment of computability logic called the
finite-depth, elementary-base fragment. Among the potential application areas
for this result are the theory of interactive computation, constructive applied
theories, knowledgebase systems, systems for resource-bound planning and
action. This paper is self-contained as it reintroduces all relevant
definitions as well as main motivations.Comment: To appear in Theoretical Computer Scienc