def display_blast.k

minebender-game@1.0.0.0 · proof_display.bend:328

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

328def display_blast.k(+w: Nat, +h: Nat, +layout: T.Grid(Bool), +g: G.Game, +p: T.Pos,
329  +lost: {G.status(g) == T.Lost{T.Exploded{p}} : T.Status}, on: {L.on_board(w, h, p) == True{} : Bool},
330  c: PW.Canon(w, h, layout, g)) ->
331  {L.tile(g, p) == T.Blast{} : T.Tile}:
332  match c:
333    case (eg, facts):
334      +s = PW.shown_of(g)
335      +f = PW.flags_of(g)
336      %Equal.sym(G.Game, g, G.Game{w, h, layout, s, f, G.status(g)}, eg) :
337        {L.tile(_, p) == T.Blast{} : T.Tile}
338      %Equal.sym(T.Status, G.status(g), T.Lost{T.Exploded{p}}, lost) :
339        {L.tile(G.Game{w, h, layout, s, f, _}, p) == T.Blast{} : T.Tile}
340      display_blast_c(w, h, layout, s, f, p, on_conv(w, h, p, on))

Uses (18)

Used by (1)