Results 1  10
of
76
Coinduction Simply  Automatic Coinductive Proofs in a Program Verifier
, 2013
"... Program verification relies heavily on induction, which has received decades of attention in mechanical verification tools. When program correctness is best described by infinite structures, program verification is usefully aided also by coinduction, which has not benefited from the same degree of ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
of tool support. Coinduction is complicated to work with in interactive proof assistants and has had no previous support in dedicated program verifiers. This paper shows that an SMTbased program verifier can support reasoning about coinduction—handling infinite data structures, lazy function calls
Eekelen. Induction and Coinduction in Sparkle
 In HansWolfgang Loidl, editor, Fifth Symposium on Trends in Functional Programming (TFP 2004
, 2004
"... Abstract: Sparkle is a proof assistant designed for the lazy evaluating functional programming language Clean. It is designed with the clear objective in mind that proofs of first order logical predicates on programs should be as easy as possible for programmers. Since recursion is at the heart of ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
of functional languages, support for recursive reasoning should be as exhaustive as possible. Until now the induction tactic in Sparkle was rather basic. We have extended Sparkle with two standard techniques to perform inductive and coinductive reasoning about programs. By means of examples, we show from
Coinduction in an AutoActive Program Verifier
, 2013
"... Program verification relies heavily on induction, which has received decades of attention in mechanical verification tools. When program correctness is best described by infinite structures, program verification is usefully aided also by coinduction, which has not benefited from the same degree of ..."
Abstract
 Add to MetaCart
of tool support. Coinduction is complicated to work with in interactive proof assistants and has had no previous support in autoactive program verifiers. This paper shows that an autoactive program verifier can support reasoning about coinduction—handling infinite data structures, lazy function calls
Witnesses for Coinduction from Divergent Proof Attempts
"... Abstract: Coinduction is a proof rule. It is the dual of induction. It allows reasoning about non–well–founded structures such as lazy lists or streams and is of particular use for reasoning about equivalences. A central difficulty in the automation of coinductive proof is the choice of a relation ( ..."
Abstract
 Add to MetaCart
and then uses generalisation techniques, motivated by a critic, to refine this guess, so that a larger class of coinductive problems can be automatically verified.The implementation of this strategy has focused on the use of coinduction to prove the equivalence of programs in a small lazy functional language
CoLogic Programming: Extending Logic Programming with Coinduction
, 2006
"... Abstract. In this paper we present the theory and practice of cologic programming (coLP for brevity), a paradigm that combines both inductive and coinductive logic programming. CoLP is a natural generalization of logic programming and coinductive logic programming, which in turn generalizes other ..."
Abstract

Cited by 22 (3 self)
 Add to MetaCart
Abstract. In this paper we present the theory and practice of cologic programming (coLP for brevity), a paradigm that combines both inductive and coinductive logic programming. CoLP is a natural generalization of logic programming and coinductive logic programming, which in turn generalizes
A coinductive approach to verified exact real number computation
 PROCEEDINGS OF AUTOMATED VERIFICATION OF CRITICAL SYSTEMS (AVOCS), GREGYNOG
, 2009
"... We present an approach to verified programs for exact real number computation that is based on inductive and coinductive definitions and program extraction from proofs. We informally discuss the theoretical background of this method and give examples of extracted programs implementing the translat ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
We present an approach to verified programs for exact real number computation that is based on inductive and coinductive definitions and program extraction from proofs. We informally discuss the theoretical background of this method and give examples of extracted programs implementing
Making a Productive Use of Failure to Generate Witnesses for Coinduction from Divergent Proof Attempts
"... Coinduction is a proof rule. It is the dual of induction. It allows reasoning about nonwellfounded structures such as lazy lists or streams and is of particular use for reasoning about equivalences. A central difficulty in the automation of coinductive proof is the choice of a relation (called a b ..."
Abstract
 Add to MetaCart
and then uses generalisation techniques, motivated by a critic, to refine this guess, so that a larger class of coinductive problems can be automatically verified. The implementation of this strategy has focused on the use of coinduction to prove the equivalence of programs in a small lazy functional language
Automating Theorem Proving with SMT
, 2013
"... The power and automation offered by modern satisfiabilitymodulotheories (SMT) solvers is changing the landscape for mechanized formal theorem proving. For instance, the SMTbased program verifier Dafny supports a number of proof features traditionally found only in interactive proof assistants, ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
, like inductive, coinductive, and declarative proofs. To show that proof tools rooted in SMT are growing up, this paper presents, using Dafny, a series of examples that illustrate how theorems are expressed and proved. Since the SMT solver takes care of many formal trivialities automatically, users can
Program Extraction from Nested Definitions
, 2013
"... Minlog is a proof assistant which automatically extracts computational content in an extension of Gödel’s T from formalized proofs. We report on extending Minlog to deal with predicates defined using a particular combination of induction and coinduction, via socalled nested definitions. In order to ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Minlog is a proof assistant which automatically extracts computational content in an extension of Gödel’s T from formalized proofs. We report on extending Minlog to deal with predicates defined using a particular combination of induction and coinduction, via socalled nested definitions. In order
Proving Innermost Normalisation Automatically
, 1997
"... We present a technique to prove innermost normalisation of term rewriting systems (TRSs) automatically. In contrast to previous methods, our technique is able to prove innermost normalisation of TRSs that are not terminating. Our technique can also be used for termination proofs of all TRSs where in ..."
Abstract

Cited by 30 (11 self)
 Add to MetaCart
We present a technique to prove innermost normalisation of term rewriting systems (TRSs) automatically. In contrast to previous methods, our technique is able to prove innermost normalisation of TRSs that are not terminating. Our technique can also be used for termination proofs of all TRSs where
Results 1  10
of
76