Kind 2
Getting Started
Techniques
Inputs and Outputs
Advanced Features
License
Getting Started
Techniques
Inputs and Outputs
Advanced Features
License
Quick search
Getting Started
Kind 2
Techniques
Techniques
k-Induction
Invariant Generation
IC3
Inputs and Outputs
Lustre Input
Machine Integers
Arrays
JSON / XML Output
Advanced Features
Contract Semantics
Post Analysis Treatments
Test Generation
Compilation to Rust
Proof Certificates
Contract Generation
Invariant Printing
Interpreter
Inductive Validity Core
Minimal Cut Set
Contract Check
License
Apache License
Docs
»
Table of Contents
Kind 2 →
Table of Contents
¶
Getting Started
Kind 2
Try Kind 2 Online
Download
Required Software
VS Code Extension
Docker
Building and installing
Development
Documentation
Techniques
Techniques
Compositional reasoning
Modular reasoning
Refinement in compositional and modular analyses
k-Induction
Options
Invariant Generation
Options
Lock Step K-induction
IC3
Options
Inputs and Outputs
Lustre Input
Properties and top-level node
Contracts
Partially defined nodes
The
imported
keyword
Functions
Machine Integers
Declarations
Values
Semantics
Operations
Limitations
Arrays
Lustre arrays
Extension to unbounded arrays
JSON / XML Output
JSON format
XML format
Advanced Features
Contract Semantics
Assume-guarantee contracts
Modes
Post Analysis Treatments
Prerequisites
Test Generation
Combinations of modes as abstractions
Generating test cases
Oracle generation
An example of a Test Execution Engine
Compilation to Rust
Technical details
Assertions, properties and contracts
Proof Certificates
Certification chain
Producing certificates and proofs with Kind 2
Contents of certificates
LFSC signature
Contract Generation
Invariant Printing
Interpreter
Structure of the input file
Integers and reals
Records
Arrays
Tuples
Inductive Validity Core
Options
Example
Minimizing over a subset of the assumptions/guarantees
Computing all Inductive Validity Cores
Minimal Cut Set
Options
Example
Contract Check
License
Apache License
Kind 2 →