def loop_found_some

minebender-game@1.0.0.0 · proof_solver.bend:2217

import minebender-game@1.0.0.0/proof_solver.bend as ProofSolver
import Base
import minebender-game@1.0.0.0/types.bend as T
import minebender-game@1.0.0.0/solver.bend as S
import minebender-game@1.0.0.0/proof_lists.bend as PL

2217def loop_found_some(r: Maybe<&2, T.Grid(Bool)>, +c0: T.Pos, k: T.Grid(Bool) -> Maybe<&2, T.Pos>, +c: T.Pos,
2218  e: {S.loop.found(r, c0, k) == Some{c} : Maybe<&2, T.Pos>}) ->
2219  Or({c0 == c : T.Pos} & {r == None{} : Maybe<&2, T.Grid(Bool)>},
2220    Exists(T.Grid(Bool), l => {r == Some{l} : Maybe<&2, T.Grid(Bool)>} & {k(l) == Some{c} : Maybe<&2, T.Pos>})):
2221  match r:
2222    case None{}:
2223      Inl{(PL.some_inj(T.Pos, c0, c, e), {==})}
2224    case Some{l}:
2225      Inr{(l, ({==}, e))}

Uses (11)

Used by (1)