law open_mine_

minebender-game@1.0.0.0 · proof_laws.bend:890

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

890law open_mine_:
891  for +w: Nat
892  for +h: Nat
893  for +layout: T.Grid(Bool)
894  for shape: {L.shaped(Bool, w, h, layout) == True{} : Bool}
895  for +g: G.Game
896  for r: L.Reachable(w, h, layout, g)
897  for +playing: {G.status(g) == T.Playing{} : T.Status}
898  for +p: T.Pos
899  for boom: {L.mine(layout, p) == True{} : Bool}
900  {G.status(G.open(g, p)) == T.Lost{T.Exploded{p}} : T.Status} &
901  {L.seen(G.knowledge(G.open(g, p)), p) == T.Boom{} : T.Seen}

Uses (19)

Used by (1)