## Hardware Verification using co-induction in COQ (1999)

Venue: | In Proceedings of the International Conference on Theorem Proving in Higher-Order Logics |

Citations: | 1 - 0 self |

### BibTeX

@INPROCEEDINGS{Coupet-Grimal99hardwareverification,

author = {Solange Coupet-Grimal and Line Jakubiec},

title = {Hardware Verification using co-induction in COQ},

booktitle = {In Proceedings of the International Conference on Theorem Proving in Higher-Order Logics},

year = {1999}

}

### OpenURL

### Abstract

. This paper presents a toolbox implemented in Coq and dedicated to the specification and verification of synchronous sequential devices. The use of Coq co-inductive types underpins our methodology and leads to elegant and uniform descriptions of the circuits and their behaviours as well as clear and short proofs. An application to a non trivial circuit is given as an illustration. 1 Introduction Co-induction is a powerful tool for dealing with infinite structures. It is especially well suited to prove properties about circuits where one has to cope with infinitely long temporal sequences. This work presents a general methodology to specifying and proving synchronous sequential circuits in the Calculus of Inductive Constructions (enriched with Co-inductive types) implemented in the Coq proof assistant [1]. It is a continuation of [5], where we made heavy use of dependent types. We go deeply into this direction, introducing dependent types systematically whenever this leads to m...

### Citations

163 | Inductive definitions in the system coq: Rules and properties
- Paulin-Mohring
- 1993
(Show Context)
Citation Context ...tch Fabric. Finally, in the last section, we compare our study to other related work. 2 An Overview of Coq The Coq system [1] is based on the Calculus of Constructions [4] [3] enriched with inductive =-=[14]-=- and co-inductive definitions [9]. Coq's logic is a higher order constructive logic which relies on the Curry-Howard isomorphism and which makes both objects and propositions to be terms of the Lamba-... |

94 |
The Coq proof assistant reference manual (version 8.3
- Barras, Boutin, et al.
- 2010
(Show Context)
Citation Context ...ts a general methodology to specifying and proving synchronous sequential circuits in the Calculus of Inductive Constructions (enriched with Co-inductive types) implemented in the Coq proof assistant =-=[1]-=-. It is a continuation of [5], where we made heavy use of dependent types. We go deeply into this direction, introducing dependent types systematically whenever this leads to more precise and reliable... |

72 |
Constructions: A Higher Order Proof System for Mechanizing Mathematics
- Coquand, Huet
- 1985
(Show Context)
Citation Context ...f our methodology to the ATM Switch Fabric. Finally, in the last section, we compare our study to other related work. 2 An Overview of Coq The Coq system [1] is based on the Calculus of Constructions =-=[4]-=- [3] enriched with inductive [14] and co-inductive definitions [9]. Coq's logic is a higher order constructive logic which relies on the Curry-Howard isomorphism and which makes both objects and propo... |

59 |
Fairisle: An ATM Network for the Local Area
- McAuley
(Show Context)
Citation Context ...eory supplies a toolbox which is highly generic. We have used it to verify an important part of the Fairisle ATM Switch Fabric, a real circuit designed, built, and used at the University of Cambridge =-=[11]-=- [10]. The paper is organized as follows. Section 2 presents a brief overview of Coq. Section 3 is dedicated to the description of a generic toolbox implementing the automata theory. Then, in section ... |

40 |
Une ThÃ©orie des Constructions
- Coquand
- 1985
(Show Context)
Citation Context ...r methodology to the ATM Switch Fabric. Finally, in the last section, we compare our study to other related work. 2 An Overview of Coq The Coq system [1] is based on the Calculus of Constructions [4] =-=[3]-=- enriched with inductive [14] and co-inductive definitions [9]. Coq's logic is a higher order constructive logic which relies on the Curry-Howard isomorphism and which makes both objects and propositi... |

31 |
The Formal Verification of the Fairisle ATM Switching Element
- Curzon
- 1994
(Show Context)
Citation Context ... has shown how to use PVS to verify arithmetic circuits described in Haskell. The ATM Switch Fabric has been (and still is) widely used as a benchmark in the hardware community. Let us cite Curzon[7] =-=[6]-=- who has specified and proved this circuit in HOL. His study has been a helpful starting point for our investigations despite his approach is completely different in the sense that he specifies the st... |

17 | Practical Approaches to the Automatic Verification of an ATM Switch Fabric using VIS - Lu, Tahar - 1998 |

15 |
Circuits as Streams in Coq: Verification of a Sequential Multiplier
- Paulin-Mohring
- 1995
(Show Context)
Citation Context ...e of high level transition functions on rich data types. A great deal of work has been performed in the field of hardware verification using proof assistants. Let us mention those closest to ours. In =-=[15]-=- Paulin-Mohring gave a proof of a multiplier, using a codification of streams in type theory, in a former version of Coq in which co-inductive types had not been implemented yet. In [13] a formalizati... |

15 | M.: Formal Verification of an ATM Switch Fabric using Multiway Decision Graphs
- Song, Langevin
- 1996
(Show Context)
Citation Context ...ive, each proof requires at least one particular induction, and sometimes several nested inductions with various base cases. This has to be contrasted with our unique generic temporal lemma. Tahar in =-=[18]-=- proved the Fabric using MDG (Multiway Decision Graphs). He handles bigger automata and his proof is more automatic. However it is not reusable. Other approaches on the Fabric propose abstraction proc... |

12 |
Verification of an optimized fault-tolerant clock synchronization circuit: A case study exploring the boundary between formal reasoning systems
- Miner, Johnson
- 1996
(Show Context)
Citation Context ...t to ours. In [15] Paulin-Mohring gave a proof of a multiplier, using a codification of streams in type theory, in a former version of Coq in which co-inductive types had not been implemented yet. In =-=[13]-=- a formalization of streams in PVS uses parameterized types to circumvent the absence of co-induction in PVS. Its aim is to verify a synchronous fault-tolerant circuit. More recently, Cachera [2] has ... |

3 |
Un calcul de constructions infinies et son application `a la v'erification de syst`emes communicants
- enez
- 1996
(Show Context)
Citation Context ...ection, we compare our study to other related work. 2 An Overview of Coq The Coq system [1] is based on the Calculus of Constructions [4] [3] enriched with inductive [14] and co-inductive definitions =-=[9]-=-. Coq's logic is a higher order constructive logic which relies on the Curry-Howard isomorphism and which makes both objects and propositions to be terms of the Lamba-Calculus. The rules for construct... |

3 | A Comparison of MDG and HOL for Hardware Verification
- Tahar, Curzon
- 1996
(Show Context)
Citation Context ... in HOL, Curzon uses classical timing diagrams (waveforms) whereas Tahar, in MDG, specifies it by means of Abstract State Machines (ASM) the states of which are located according to two temporal axis =-=[16]-=-. Our description is more abstract, more compact and closer to the informal statement. We represent it, as usual, by a Mealy automaton which is described in fig.10. It is particularly small (only 5 st... |

2 |
Fairisle : A General Topology ATM
- Leslie, McAuley
- 1990
(Show Context)
Citation Context ...supplies a toolbox which is highly generic. We have used it to verify an important part of the Fairisle ATM Switch Fabric, a real circuit designed, built, and used at the University of Cambridge [11] =-=[10]-=-. The paper is organized as follows. Section 2 presents a brief overview of Coq. Section 3 is dedicated to the description of a generic toolbox implementing the automata theory. Then, in section 4, we... |

1 |
Verification of Arithmetic Circuits using a Functional Language and PVS
- Cachera
- 1997
(Show Context)
Citation Context ... In [13] a formalization of streams in PVS uses parameterized types to circumvent the absence of co-induction in PVS. Its aim is to verify a synchronous fault-tolerant circuit. More recently, Cachera =-=[2]-=- has shown how to use PVS to verify arithmetic circuits described in Haskell. The ATM Switch Fabric has been (and still is) widely used as a benchmark in the hardware community. Let us cite Curzon[7] ... |

1 | Coq and Hardware Verification : a Case Study
- Coupet-Grimal, Jakubiec
- 1996
(Show Context)
Citation Context ...pecifying and proving synchronous sequential circuits in the Calculus of Inductive Constructions (enriched with Co-inductive types) implemented in the Coq proof assistant [1]. It is a continuation of =-=[5]-=-, where we made heavy use of dependent types. We go deeply into this direction, introducing dependent types systematically whenever this leads to more precise and reliable specifications. But the main... |

1 | The Verification of an ATM Switching Fabric using - Garcez, Rosenstiel |

1 | Three Approaches to Hardware Verification - unknown authors - 1998 |