24 lines
389 B
Text
24 lines
389 B
Text
|
#import "../common.typ": *
|
||
|
#import "@preview/prooftrees:0.1.0": *
|
||
|
#show: doc => conf("Steve Zdancewic", doc)
|
||
|
|
||
|
- Reasoning about monadic programs in Coq
|
||
|
-
|
||
|
|
||
|
Imp
|
||
|
|
||
|
```
|
||
|
Inductive com : Type :=
|
||
|
| CSkip
|
||
|
| CAssign (x : string) (a : aexp)
|
||
|
| CSeq (c1 c2 : com)
|
||
|
| CIf (b : bexp) (c1 c2 : com)
|
||
|
| CWhile (b : bexp) (c : com)
|
||
|
.
|
||
|
```
|
||
|
|
||
|
"Relationally defined operational semantics"
|
||
|
|
||
|
State monad
|
||
|
|