Solver.check: def of minebender-game@1.0.0.0 Import: import minebender-game@1.0.0.0/solver.bend as Solver Lines 76-81 of minebender-game@1.0.0.0/solver.bend: https://jend.leeeet.dev/read.txt?path=minebender-game@1.0.0.0/solver.bend&start_line=76&end_line=81 import Base import minebender-game@1.0.0.0/types.bend as T import minebender-game@1.0.0.0/board.bend as B # The layout is consistent with what the player knows. def check(ctx: Ctx, +layout: T.Grid(Bool)) -> Bool: match ctx: case Ctx{+w, +h, n, rows, items}: B.shaped(Bool, w, h, layout) && B.shaped(T.Seen, w, h, rows) && Nat.is_eq(B.total_mines(layout), n) && items_ok(items, layout) Uses (9): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.and https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.is_eq https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/board.bend&name=shaped https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/board.bend&name=total_mines https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/solver.bend&name=Ctx https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/solver.bend&name=items_ok https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/types.bend&name=Grid https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/types.bend&name=Seen