law none_set

minebender-game@1.0.0.0 · proof_speed.bend:168

import minebender-game@1.0.0.0/proof_speed.bend as ProofSpeed
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

168# Assigning an unassigned cell of the board uses up one unassigned cell...
169law none_set:
170  for +w: Nat
171  for +h: Nat
172  for +part: T.Grid(Maybe<&2, Bool>)
173  for +x: Nat
174  for +y: Nat
175  for +b: Bool
176  for +sh: {B.shaped(Maybe<&2, Bool>, w, h, part) == True{} : Bool}
177  for +on: {B.on_board(w, h, T.Pos{x, y}) == True{} : Bool}
178  for +fr: {S.look(part, T.Pos{x, y}) == None{} : Maybe<&2, Bool>}
179  {S.part_none(part) == 1n+S.part_none(B.set_at(Maybe<&2, Bool>, part, T.Pos{x, y}, Some{b})) : Nat}

Uses (16)

Used by (1)