ProofLaws.path_closed: law of minebender-game@1.0.0.0 Import: import minebender-game@1.0.0.0/proof_laws.bend as ProofLaws Lines 620-632 of minebender-game@1.0.0.0/proof_laws.bend: https://jend.leeeet.dev/read.txt?path=minebender-game@1.0.0.0/proof_laws.bend&start_line=620&end_line=632 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/LAWS.bend as L import minebender-game@1.0.0.0/proof_inv.bend as PI # In a closed grid, a zero walk from a revealed cell ends at a revealed cell. law path_closed: for +path: List<&2, T.Pos> for +w: Nat for +h: Nat for +layout: T.Grid(Bool) for +g: T.Grid(Bool) for +cl: {PI.closed(w, h, layout, g) == True{} : Bool} for +s: T.Pos for +q: T.Pos for gs: {B.at(Bool, False{}, g, s) == True{} : Bool} for +wk: {L.zero_walk(path, w, h, layout, s, q) == True{} : Bool} {B.at(Bool, False{}, g, q) == True{} : Bool} Uses (31): 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=Bool.not 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=Nat 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/LAWS.bend&name=adjacent https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/LAWS.bend&name=on_board https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/LAWS.bend&name=zero https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/LAWS.bend&name=zero_walk https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/board.bend&name=adj_mines https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/board.bend&name=adjacent 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=mine 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=zero https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/proof_base.bend&name=and_true_l https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/proof_cells.bend&name=neighbours_member https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/proof_copy.bend&name=adjacent_eq https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/proof_copy.bend&name=on_board_eq https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/proof_copy.bend&name=zero_eq https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/proof_inv.bend&name=closed https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/proof_inv.bend&name=closed_use https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/proof_walk.bend&name=and4_a https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/proof_walk.bend&name=and4_b https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/proof_walk.bend&name=and4_c https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/proof_walk.bend&name=and4_d https://jend.leeeet.dev/definition.txt?path=minebender-game@1.0.0.0/proof_walk.bend&name=lsame_sound 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