Results 1  10
of
54
Dynamic Logic
 Handbook of Philosophical Logic
, 1984
"... ed to be true under the valuation u iff there exists an a 2 N such that the formula x = y is true under the valuation u[x=a], where u[x=a] agrees with u everywhere except x, on which it takes the value a. This definition involves a metalogical operation that produces u[x=a] from u for all possibl ..."
Abstract

Cited by 825 (8 self)
 Add to MetaCart
ed to be true under the valuation u iff there exists an a 2 N such that the formula x = y is true under the valuation u[x=a], where u[x=a] agrees with u everywhere except x, on which it takes the value a. This definition involves a metalogical operation that produces u[x=a] from u for all possible values a 2 N. This operation becomes explicit in DL in the form of the program x := ?, called a nondeterministic or wildcard assignment. This is a rather unconventional program, since it is not effective; however, it is quite useful as a descriptive tool. A more conventional way to obtain a square root of y, if it exists, would be the program x := 0 ; while x < y do x := x + 1: (1) In DL, such programs are firstclass objects on a par with formulas, complete with a collection of operators for forming compound programs inductively from a basis of primitive programs. To discuss the effect of the execution of a program on the truth of a formula ', DL uses a modal construct <>', which
Model Checking MultiAgent Systems with MABLE
, 2002
"... MABLE is a language for the design and automatic verification of multiagent systems. MABLE is essentially a conventional imperative programming language, enriched by constructs from the agentoriented programming paradigm. A MABLE system contains a number of agents, programmed using the MABLE imper ..."
Abstract

Cited by 73 (10 self)
 Add to MetaCart
MABLE is a language for the design and automatic verification of multiagent systems. MABLE is essentially a conventional imperative programming language, enriched by constructs from the agentoriented programming paradigm. A MABLE system contains a number of agents, programmed using the MABLE imperative programming language. Agents in MABLE have a mental state consisting of beliefs, desires and intentions. Agents communicate using request and inform performatives, in the style of the FIPA agent communication language. MABLE systems may be augmented by the addition of formal claims about the system, expressed using a quantified, linear temporal beliefdesireintention logic. MABLE has been fully implemented, and makes use of the SPIN model checker to automatically verify the truth or falsity of claims.
An observationally complete program logic for imperative higherorder functions
 In Proc. LICS’05
, 2005
"... Abstract. We propose a simple compositional program logic for an imperative extension of callbyvalue PCF, built on Hoare logic and our preceding work on program logics for pure higherorder functions. A systematic use of names and operations on them allows precise and general description of comple ..."
Abstract

Cited by 39 (11 self)
 Add to MetaCart
Abstract. We propose a simple compositional program logic for an imperative extension of callbyvalue PCF, built on Hoare logic and our preceding work on program logics for pure higherorder functions. A systematic use of names and operations on them allows precise and general description of complex higherorder imperative behaviour. The proof rules of the logic exactly follow the syntax of the language and can cleanly embed, justify and extend the standard proof rules for total correctness of Hoare logic. The logic offers a foundation for general treatment of aliasing and local state on its basis, with minimal extensions. After establishing soundness, we prove that valid assertions for programs completely characterise their behaviour up to observational congruence, which is proved using a variant of finite canonical forms. The use of the logic is illustrated through reasoning examples which are hard to assert and infer using existing program logics.
Taclets: A New Paradigm for Constructing Interactive Theorem Provers
 CIENCIAS EXACTAS, FÍSICAS Y NATURALES, SERIE A: MATEMÁTICAS, 98(1), 2004. SPECIAL ISSUE ON SYMBOLIC COMPUTATION IN LOGIC AND ARTIFICIAL INTELLIGENCE
, 2004
"... Frameworks for interactive theorem proving give the user explicit control over the construction of proofs based on meta languages that contain dedicated control structures for describing proof construction. Such languages are not easy to master and thus contribute to the already long list of skill ..."
Abstract

Cited by 22 (8 self)
 Add to MetaCart
Frameworks for interactive theorem proving give the user explicit control over the construction of proofs based on meta languages that contain dedicated control structures for describing proof construction. Such languages are not easy to master and thus contribute to the already long list of skills required by prospective users of interactive theorem provers. Most users, however, only need a convenient formalism that allows to introduce new rules with minimal overhead. On the the other hand, rules of calculi have not only purely logical content, but contain restrictions on the expected context of rule applications and heuristic information. We suggest a new and minimalist concept for implementing interactive theorem provers called taclet. Their usage can be mastered in a matter of hours, and they are efficiently compiled into the GUI of a prover. We implemented the KeY system, an interactive theorem prover for the full JAVA CARD language based on taclets.
Automata on guarded strings and applications
 Matématica Contemporânea
, 2001
"... Guarded strings are like ordinary strings over a finite alphabet P, except that atoms of the free Boolean algebra on a set of atomic tests B alternate with the symbols of P. The regular sets of guarded strings play the same role in Kleene algebra with tests as the regular sets of ordinary strings do ..."
Abstract

Cited by 15 (5 self)
 Add to MetaCart
Guarded strings are like ordinary strings over a finite alphabet P, except that atoms of the free Boolean algebra on a set of atomic tests B alternate with the symbols of P. The regular sets of guarded strings play the same role in Kleene algebra with tests as the regular sets of ordinary strings do in Kleene algebra. In this paper we develop the elementary theory of finite automata on guarded strings, a generalization of the theory of finite automata on ordinary strings. We give several basic constructions, including determinization, state minimization, and an analog of Kleene’s theorem. We then use these results to verify a conjecture on the complexity of a complete Gentzenstyle sequent calculus for partial correctness. We also show that a basic result of the theory of Boolean decision diagrams (BDDs), namely that minimal ordered BDDs are unique, is a special case of the MyhillNerode theorem for a class of automata on guarded strings. 1
Formalisation and verification of Java Card security properties in dynamic logic
 PROC. FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING (FASE), EDINBURGH, VOLUME 3442 OF LNCS
, 2005
"... We present how common JAVA CARD security properties can be formalised in Dynamic Logic and verified, mostly automatically, with the KeY system. The properties we consider, are a large subset of properties that are of importance to the smart card industry. We discuss the properties one by one, illus ..."
Abstract

Cited by 15 (4 self)
 Add to MetaCart
We present how common JAVA CARD security properties can be formalised in Dynamic Logic and verified, mostly automatically, with the KeY system. The properties we consider, are a large subset of properties that are of importance to the smart card industry. We discuss the properties one by one, illustrate them with examples of reallife, industrial size, JAVA CARD applications, and show how the properties are verified with the KeY Prover – an interactive theorem prover for JAVA CARD source code based on a version of Dynamic Logic that models the full JAVA CARD standard. We report on the experience related to formal verification of JAVA CARD programs we gained during the course of this work. Thereafter, we present the current state of the art of formal verification techniques offered by the KeY system and give an assessment of interactive theorem proving as an alternative to static analysis.
On Role Logic
, 2003
"... We present role logic, a notation for describing properties of relational structures in shape analysis, databases, and knowledge bases. We construct role logic using the ideas of de Bruijn's notation for lambda calculus, an encoding of firstorder logic in lambda calculus, and a simple rule for impl ..."
Abstract

Cited by 13 (7 self)
 Add to MetaCart
We present role logic, a notation for describing properties of relational structures in shape analysis, databases, and knowledge bases. We construct role logic using the ideas of de Bruijn's notation for lambda calculus, an encoding of firstorder logic in lambda calculus, and a simple rule for implicit arguments of unary and binary predicates.
An improved rule for while loops in deductive program verification
 PROC. , SEVENTH INTL. CONF. ON FORMAL ENGINEERING METHODS (ICFEM
, 2005
"... The performance and usability of deductive program verification systems can be greatly enhanced if specifications of programs and program parts not only consist of the usual pre/postcondition pairs and invariants but also include additional information on which memory locations are changed by ex ..."
Abstract

Cited by 13 (3 self)
 Add to MetaCart
The performance and usability of deductive program verification systems can be greatly enhanced if specifications of programs and program parts not only consist of the usual pre/postcondition pairs and invariants but also include additional information on which memory locations are changed by executing a program. This allows to separate the aspects of (a) which locations change and (b) how they change, state the change information in a compact way, and make the proof process more efficient. In this paper, we extend this idea from method specifications to loop invariants; and we define a proof rule for while loops that makes use of the change information associated with the loop body. It has been implemented and is successfully used in the KeY software verification system.
Fragments of language
 Journal of Logic, Language and Information
, 2004
"... ABSTRACT: By a fragment of a natural language we mean a subset of that language equipped with semantics which translate its sentences into some formal system such as firstorder logic. The familiar concepts of satisfiability and entailment can be defined for any such fragment in a natural way. The q ..."
Abstract

Cited by 13 (5 self)
 Add to MetaCart
ABSTRACT: By a fragment of a natural language we mean a subset of that language equipped with semantics which translate its sentences into some formal system such as firstorder logic. The familiar concepts of satisfiability and entailment can be defined for any such fragment in a natural way. The question therefore arises, for any given fragment of a natural language, as to the computational complexity of determining satisfiability and entailment within that fragment. We present a series of fragments of English for which the satisfiability problem is polynomial, NPcomplete, EXPTIMEcomplete, NEXPTIMEcomplete and undecidable. Thus, this paper represents a case study in how to approach the problem of determining the logical complexity of various natural language constructions. In addition, we draw some general conclusions about the relationship between natural language and formal logic.