fact: Example nonce_twice : [the stateTraceMonad nat nat of (StateMonad.acto (nat * seq nat)%type)] _ := do nonce <- Ret ( do n : nat <- st_get; do _ : unit <- st_put (S n); do _ : unit <- st_mark n; Ret n ) ; do x <- nonce ; do y <- nonce ; Ret (Nat.eqb x y).
imports: Eqdep JMeq List ssreflect mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat seq) hierarchy monad_lib state_lib trace_lib monad_model