law inv_open

minebender-game@1.0.0.0 · proof_inv.bend:578

import minebender-game@1.0.0.0/proof_inv.bend as ProofInv
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

578law inv_open:
579  for +w: Nat
580  for +h: Nat
581  for +layout: T.Grid(Bool)
582  for +shown: T.Grid(Bool)
583  for +flags: List<&2, T.Pos>
584  for +status: T.Status
585  for +sh: {B.shaped(Bool, w, h, shown) == True{} : Bool}
586  for +won: {L.is_won(status) == G.all_safe(w, h, layout, shown) : Bool}
587  for +cm: {calm(status, w, h, layout, shown) == True{} : Bool}
588  for +cl: {closed(w, h, layout, shown) == True{} : Bool}
589  for +p: T.Pos
590  Inv(w, h, layout, G.open(G.Game{w, h, layout, shown, flags, status}, p))

Uses (19)

Used by (2)