def flood_work.skip

minebender-game@1.0.0.0 · proof_flood.bend:334

import minebender-game@1.0.0.0/proof_flood.bend as ProofFlood
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/proof_grid.bend as PG

334def flood_work.skip(+n: Nat, +c: T.Pos, +rest: List<&2, G.Work>, +w: Nat, +h: Nat, +layout: T.Grid(Bool),
335  +shown: T.Grid(Bool), +q: T.Pos, on: {B.on_board(w, h, q) == True{} : Bool},
336  he: {G.unrevealed(w, h, shown, c) == False{} : Bool}, +b: Bool, be: {B.same(c, q) == b : Bool},
337  m: {Bool.or(b, wcontains(rest, q)) == True{} : Bool},
338  ih: {wcontains(rest, q) == True{} : Bool} ->
339    {B.at(Bool, False{}, G.flood(n, rest, G.head_hidden(w, h, shown, rest), w, h, layout, shown), q) == True{} : Bool}) ->
340  {B.at(Bool, False{}, G.flood(n, rest, G.head_hidden(w, h, shown, rest), w, h, layout, shown), q) == True{} : Bool}:
341  match b:
342    case True{}:
343      +cq = PG.same_sound(c, q, be)
344      flood_mono(n, rest, G.head_hidden(w, h, shown, rest), w, h, layout, shown, q,
345        unrev_shown(w, h, shown, q, %cq : {G.unrevealed(w, h, shown, _) == False{} : Bool}; he, on))
346    case False{}:
347      ih(m)

Uses (17)

Used by (1)