You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit f158eb1
Browse filesBrowse the repository at this point in the historyBrowse files
Checks whether custom constraints have a satisfying assignment using LiquidJava's solver. It returns `sat`, `unsat`, or `unknown`; `sat` results include the solver's assignment when available.
330
-
331
-
**Input:**`variables` (map of names to types) and `constraints` (array of boolean predicate strings).
332
-
333
-
**Output:**`status` (`sat`, `unsat`, or `unknown`). Satisfiable results include an `assignment`.
334
-
335
-
```json
336
-
{
337
-
"variables": {"x": "int"},
338
-
"constraints": ["x > 0", "x < 2"]
339
-
}
340
-
```
341
-
342
-
```json
343
-
{
344
-
"status": "sat",
345
-
"assignment": [{"variable": "x", "value": "1"}]
346
-
}
347
-
```
348
-
349
303
### `get_state_machine`
350
304
351
305
Parses a Java source file and returns the LiquidJava typestate protocol declared by its `@StateSet` and `@StateRefinement` annotations. The result describes the possible states, initial states, and method transitions. A transition's `fromCondition` and `toCondition` contain any non-state conditions such as `cond ? state1 : state2` or `cond && state1`.
@@ -393,3 +347,49 @@ Parses a Java source file and returns the LiquidJava typestate protocol declared
393
347
}
394
348
}
395
349
```
350
+
351
+
### `check_validity`
352
+
353
+
Checks whether custom assumptions imply one conclusion using LiquidJava's solver, without verifying Java files.
354
+
Does not support ghost functions, aliases, source constants, and implicit receiver/return/old-state bindings.
355
+
356
+
**Input:**`variables` (map of names to types), `assumptions` (array of boolean predicate strings), and `conclusion` (boolean predicate string).
357
+
358
+
**Output:**`status` (`valid`, `invalid`, or `unknown`). Invalid results include a `counterexample`.
Checks whether custom constraints have a satisfying assignment using LiquidJava's solver. It returns `sat`, `unsat`, or `unknown`; `sat` results include the solver's assignment when available.
378
+
379
+
**Input:**`variables` (map of names to types) and `constraints` (array of boolean predicate strings).
380
+
381
+
**Output:**`status` (`sat`, `unsat`, or `unknown`). Satisfiable results include an `assignment`.
0 commit comments