ProofSolver.start_cover.cell: def of minebender-game@1.0.0.0 Import: import minebender-game@1.0.0.0/proof_solver.bend as ProofSolver Lines 2130-2151 of minebender-game@1.0.0.0/proof_solver.bend: https://jend.leeeet.dev/read.txt?path=minebender-game@1.0.0.0/proof_solver.bend&start_line=2130&end_line=2151 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 import minebender-game@1.0.0.0/proof_grid.bend as PG import minebender-game@1.0.0.0/proof_lists.bend as PL def start_cover.cell(+w: Nat, +h: Nat, +rows: T.Grid(T.Seen), +its: List<&2, S.Item>, +c: T.Pos, +q: T.Pos, +shP: {B.shaped(Maybe<&2, Bool>, w, h, S.start(rows)) == True{} : Bool}, on: {B.on_board(w, h, q) == True{} : Bool}, +b: Bool, be: {B.same(c, q) == b : Bool}) -> {cv_f(CV{S.order(S.todos(its, S.hidden_cells(rows, B.cells(w, h)))), B.set_at(Maybe<&2, Bool>, S.start(rows), c, Some{True{}})}, q) == True{} : Bool}: match b: case True{}: +todo = S.order(S.todos(its, S.hidden_cells(rows, B.cells(w, h)))) %Equal.sym(T.Pos, c, q, PG.same_sound(c, q, be)) : {Bool.or(Bool.not(S.is_none(S.look(B.set_at(Maybe<&2, Bool>, S.start(rows), _, Some{True{}}), q))), tcontains(todo, q)) == True{} : Bool} %Equal.sym(Maybe<&2, Bool>, S.look(B.set_at(Maybe<&2, Bool>, S.start(rows), q, Some{True{}}), q), Some{True{}}, set_look(w, h, S.start(rows), q, Some{True{}}, shP, on)) : {Bool.or(Bool.not(S.is_none(_)), tcontains(todo, q)) == True{} : Bool} {==} case False{}: +todo = S.order(S.todos(its, S.hidden_cells(rows, B.cells(w, h)))) %Equal.sym(Maybe<&2, Bool>, S.look(B.set_at(Maybe<&2, Bool>, S.start(rows), c, Some{True{}}), q), S.look(S.start(rows), q), PL.at_set_ne(Maybe<&2, Bool>, S.start(rows), c, q, Some{True{}}, None{}, be)) : {Bool.or(Bool.not(S.is_none(_)), tcontains(todo, q)) == True{} : Bool} %Equal.sym(Maybe<&2, Bool>, S.look(S.start(rows), q), S.start.cell(B.at(T.Seen, T.Hidden{}, rows, q)), start_at(rows, q)) : {Bool.or(Bool.not(S.is_none(_)), tcontains(todo, q)) == True{} : Bool} start_cover.seen(w, h, rows, its, q, on, B.at(T.Seen, T.Hidden{}, rows, q), {==}) Uses (32): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.not https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.or https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Equal.sym https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/board.bend&name=at https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/board.bend&name=cells https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/board.bend&name=on_board https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/board.bend&name=same https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/board.bend&name=set_at 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/proof_grid.bend&name=same_sound https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/proof_lists.bend&name=at_set_ne https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/proof_solver.bend&name=CV https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/proof_solver.bend&name=cv_f https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/proof_solver.bend&name=set_look https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/proof_solver.bend&name=start_at https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/proof_solver.bend&name=start_cover.seen https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/proof_solver.bend&name=tcontains https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/solver.bend&name=Item https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/solver.bend&name=hidden_cells https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/solver.bend&name=is_none https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/solver.bend&name=look https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/solver.bend&name=order https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/solver.bend&name=start https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/solver.bend&name=start.cell https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/solver.bend&name=todos 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=Pos https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/types.bend&name=Seen