Skip to content

Commit 383f9bd

Browse files
committed
copilot-theorem: Remove outdated section about prover interface in README. Refs #452.
The section did not reflect the current state of copilot-theorem anymore. We will make a decision later whether a replacement is necessary, but for now it is simply removed.
1 parent 0fdd6f5 commit 383f9bd

File tree

1 file changed

+0
-38
lines changed

1 file changed

+0
-38
lines changed

copilot-theorem/README.md

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -82,44 +82,6 @@ main = do
8282
where `kind2Prover def` stands for the *Kind2 prover* with default
8383
configuration.
8484

85-
### The Prover interface
86-
87-
The `Copilot.Theorem.Prover` defines a general interface for provers. Therefore,
88-
it is really easy to add a new prover by creating a new object of type
89-
`Prover`. The latter is defined like this:
90-
91-
```haskell
92-
data Cex = Cex
93-
94-
type Infos = [String]
95-
96-
data Output = Output Status Infos
97-
98-
data Status
99-
= Valid
100-
| Invalid (Maybe Cex)
101-
| Unknown
102-
| Error
103-
104-
data Feature = GiveCex | HandleAssumptions
105-
106-
data Prover = forall r . Prover
107-
{ proverName :: String
108-
, hasFeature :: Feature -> Bool
109-
, startProver :: Core.Spec -> IO r
110-
, askProver :: r -> [PropId] -> PropId -> IO Output
111-
, closeProver :: r -> IO ()
112-
}
113-
```
114-
115-
Each prover mostly has to provide a `askProver` function which takes as an
116-
argument
117-
* The prover descriptor
118-
* A list of assumptions
119-
* A conclusion
120-
121-
and checks if the assumptions logically entail the conclusion.
122-
12385
#### The Kind2 prover
12486

12587
The *Kind2* prover uses the model checker with the same name, from Iowa

0 commit comments

Comments
 (0)