def zero_not_mine

minebender-game@1.0.0.0 · proof_inv.bend:172

import minebender-game@1.0.0.0/proof_inv.bend as ProofInv
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/proof_base.bend as P

172def zero_not_mine(+w: Nat, +h: Nat, +layout: T.Grid(Bool), +q: T.Pos,
173  z: {B.zero(w, h, layout, q) == True{} : Bool}) -> {B.mine(layout, q) == False{} : Bool}:
174  +a = Bool.and(B.on_board(w, h, q), Bool.not(B.mine(layout, q)))
175  P.not_true(B.mine(layout, q),
176    P.and_true_r(B.on_board(w, h, q), Bool.not(B.mine(layout, q)),
177      P.and_true_l(a, Nat.is_eq(B.adj_mines(w, h, layout, q), 0n), z)))

Uses (14)

Used by (1)