law open_mine_c

minebender-game@1.0.0.0 · proof_laws.bend:684

import minebender-game@1.0.0.0/proof_laws.bend as ProofLaws
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_inv.bend as PI

684law open_mine_c:
685  for +w: Nat
686  for +h: Nat
687  for +layout: T.Grid(Bool)
688  for +s: T.Grid(Bool)
689  for +f: List<&2, T.Pos>
690  for +shL: {B.shaped(Bool, w, h, layout) == True{} : Bool}
691  for +shS: {B.shaped(Bool, w, h, s) == True{} : Bool}
692  for +ns: {PI.nsm(w, h, layout, s) == True{} : Bool}
693  for +p: T.Pos
694  for +bm: {B.mine(layout, p) == True{} : Bool}
695  {G.status(G.open(G.Game{w, h, layout, s, f, T.Playing{}}, p)) == T.Lost{T.Exploded{p}} : T.Status} &
696  {L.seen(G.knowledge(G.open(G.Game{w, h, layout, s, f, T.Playing{}}, p)), p) == T.Boom{} : T.Seen}

Uses (30)

Used by (1)