def hc_sound.go
minebender-game@1.0.0.0 · proof_solver.bend:2083
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/board.bend as B
import minebender-game@1.0.0.0/solver.bend as S
2083def hc_sound.go(+rows: T.Grid(T.Seen), +p: T.Pos, +t: List<&2, T.Pos>, +q: T.Pos, +b: Bool,
2084 be: {S.is_hidden(B.at(T.Seen, T.Hidden{}, rows, p)) == b : Bool},
2085 m: {B.contains(List.filter.put(T.Pos, p, S.hidden_cells(rows, t), b), q) == True{} : Bool},
2086 ih: {B.contains(S.hidden_cells(rows, t), q) == True{} : Bool} ->
2087 {S.is_hidden(B.at(T.Seen, T.Hidden{}, rows, q)) == True{} : Bool} & {B.contains(t, q) == True{} : Bool}) ->
2088 {S.is_hidden(B.at(T.Seen, T.Hidden{}, rows, q)) == True{} : Bool} & {B.contains(p <> t, q) == True{} : Bool}:
2089 match b:
2090 case True{}:
2091 hc_sound.t(rows, p, t, q, be, or_cases(B.same(p, q), B.contains(S.hidden_cells(rows, t), q), m), ih)
2092 case False{}:
2093 hc_sound.f(rows, p, t, q, ih(m))