fact: Definition encodes : mm2_state -> list Symbol -> Prop := fun c s => exists u v t, let '(p, (a, b)) := c in s = u ++ t ++ v /\ map fst t = map fst ([sl] ++ repeat sb a ++ [sm] ++ repeat sb b ++ [sr]) /\ filter (fun x => if x is None then false else true) (map snd t) = [Some p].
imports: List Relation_Operators Operators_Properties PeanoNat Lia ssreflect ssrbool ssrfun