345 research outputs found
Global semantic typing for inductive and coinductive computing
Inductive and coinductive types are commonly construed as ontological
(Church-style) types, denoting canonical data-sets such as natural numbers,
lists, and streams. For various purposes, notably the study of programs in the
context of global semantics, it is preferable to think of types as semantical
properties (Curry-style). Intrinsic theories were introduced in the late 1990s
to provide a purely logical framework for reasoning about programs and their
semantic types. We extend them here to data given by any combination of
inductive and coinductive definitions. This approach is of interest because it
fits tightly with syntactic, semantic, and proof theoretic fundamentals of
formal logic, with potential applications in implicit computational complexity
as well as extraction of programs from proofs. We prove a Canonicity Theorem,
showing that the global definition of program typing, via the usual (Tarskian)
semantics of first-order logic, agrees with their operational semantics in the
intended model. Finally, we show that every intrinsic theory is interpretable
in a conservative extension of first-order arithmetic. This means that
quantification over infinite data objects does not lead, on its own, to
proof-theoretic strength beyond that of Peano Arithmetic. Intrinsic theories
are perfectly amenable to formulas-as-types Curry-Howard morphisms, and were
used to characterize major computational complexity classes Their extensions
described here have similar potential which has already been applied
Reachability and Termination Analysis of Concurrent Quantum Programs
We introduce a Markov chain model of concurrent quantum programs. This model
is a quantum generalization of Hart, Sharir and Pnueli's probabilistic
concurrent programs. Some characterizations of the reachable space, uniformly
repeatedly reachable space and termination of a concurrent quantum program are
derived by the analysis of their mathematical structures. Based on these
characterizations, algorithms for computing the reachable space and uniformly
repeatedly reachable space and for deciding the termination are given.Comment: Accepted by Concur'12. Comments are welcom
Investigation, Development, and Evaluation of Performance Proving for Fault-tolerant Computers
A number of methodologies for verifying systems and computer based tools that assist users in verifying their systems were developed. These tools were applied to verify in part the SIFT ultrareliable aircraft computer. Topics covered included: STP theorem prover; design verification of SIFT; high level language code verification; assembly language level verification; numerical algorithm verification; verification of flight control programs; and verification of hardware logic
From G\"odel's Incompleteness Theorem to the completeness of bot beliefs (Extended abstract)
Hilbert and Ackermann asked for a method to consistently extend incomplete
theories to complete theories. G\"odel essentially proved that any theory
capable of encoding its own statements and their proofs contains statements
that are true but not provable. Hilbert did not accept that G\"odel's
construction answered his question, and in his late writings and lectures,
G\"odel agreed that it did not, since theories can be completed incrementally,
by adding axioms to prove ever more true statements, as science normally does,
with completeness as the vanishing point. This pragmatic view of validity is
familiar not only to scientists who conjecture test hypotheses but also to real
estate agents and other dealers, who conjure claims, albeit invalid, as
necessary to close a deal, confident that they will be able to conjure other
claims, albeit invalid, sufficient to make the first claims valid. We study the
underlying logical process and describe the trajectories leading to testable
but unfalsifiable theories to which bots and other automated learners are
likely to converge.Comment: 19 pages, 13 figures; version updates: changed one word in the title,
expanded Introduction, improved presentation, tidied up some diagram
On algebra of program correctness and incorrectness
Variants of Kleene algebra have been used to provide foundations of reasoning about programs, for instance by representing HoareLogic (HL) in algebra. That work has generally emphasised program correctness, i.e., proving the absence of bugs. Recently, Incorrectness Logic (IL) has been advanced as a formalism for the dual problem: proving thepresence of bugs. IL is intended to underpin the use of logic in programtesting and static bug finding. Here, we use a Kleene algebra with diamond operators and countable joins of tests, which embeds IL, and which also is complete for reasoning about the image of the embedding. Next to embedding IL, the algebra is able to embed HL, and allows making connections between IL and HL specifications. In this sense, it unifies correctness and incorrectness reasoning in one formalis
The use of proof plans in tactic synthesis
We undertake a programme of tactic synthesis. We first formalize the notion of
a tactic as a rewrite rule, then give a correctness criterion for this by means of a
reflection mechanism in the constructive type theory OYSTER. We further formalize
the notion of a tactic specification, given as a synthesis goal and a decidability
goal. We use a proof planner. CIAM. to guide the search for inductive proofs
of these, and are able to successfully synthesize several tactics in this fashion.
This involves two extensions to existing methods: context-sensitive rewriting and
higher-order wave rules. Further, we show that from a proof of the decidability
goal one may compile to a Prolog program a pseudo- tactic which may be run to
efficiently simulate the input/output behaviour of the synthetic tacti
- …