fact: Definition list_of_next_bin_ops'_step'_opt := (fun ch (table_higher_ops : option (list (option nat)) * list (option nat)) => let next_ops := map (option_map S) (match fst table_higher_ops with | None => nil | Some ls => ls end) in let '(cur_mark, new_higher_ops) := (nth 0 next_ops None, tl next_ops) in (Some (if is_bin_op ch then Some 0 :: new_higher_ops else if is_open ch then new_higher_ops else if is_close ch then None :: next_ops else next_ops))).
imports: Fiat.Common.Coq__8_4__8_5__Compat Coq.Lists.List Coq.ZArith.ZArith Fiat.Common Fiat.Common.List.Operations Fiat.Common.List.ListFacts Fiat.Common.SetoidInstances Fiat.Parsers.Reachable.ParenBalanced.Core Fiat.Parsers.StringLike.Core Fiat.Parsers.StringLike.Properties Fiat.Parsers.StringLike.FirstChar Fiat.Parsers.Refinement.BinOpBrackets.ParenBalanced