def display_mines.k

minebender-game@1.0.0.0 · proof_display.bend:386

import minebender-game@1.0.0.0/proof_display.bend as ProofDisplay
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/game.bend as G
import minebender-game@1.0.0.0/LAWS.bend as L
import minebender-game@1.0.0.0/proof_copy.bend as PC
import minebender-game@1.0.0.0/proof_laws.bend as PW

386def display_mines.k(+w: Nat, +h: Nat, +layout: T.Grid(Bool), +g: G.Game,
387  over: {G.status(g) != T.Playing{} : T.Status}, +q: T.Pos, on: {L.on_board(w, h, q) == True{} : Bool},
388  m: {L.mine(layout, q) == True{} : Bool}, c: PW.Canon(w, h, layout, g)) ->
389  {L.is_covered(L.tile(g, q)) == False{} : Bool}:
390  match c:
391    case (eg, facts):
392      +s = PW.shown_of(g)
393      +f = PW.flags_of(g)
394      %Equal.sym(G.Game, g, G.Game{w, h, layout, s, f, G.status(g)}, eg) :
395        {L.is_covered(L.tile(_, q)) == False{} : Bool}
396      display_mines_c(w, h, layout, s, f, G.status(g), over, q, on_conv(w, h, q, on),
397        %Equal.sym(Bool, B.mine(layout, q), L.mine(layout, q), PC.mine_eq(layout, q)) :
398          {_ == True{} : Bool}; m)

Uses (21)

Used by (1)