law assist_too_early_

minebender-game@1.0.0.0 · proof_assist.bend:332

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

332law assist_too_early_:
333  for +w: Nat
334  for +h: Nat
335  for +layout: T.Grid(Bool)
336  for shape: {L.shaped(Bool, w, h, layout) == True{} : Bool}
337  for +g: G.Game
338  for r: L.Reachable(w, h, layout, g)
339  for +playing: {G.status(g) == T.Playing{} : T.Status}
340  for +q: T.Pos
341  for option: L.ProvablySafe(G.knowledge(g), q)
342  for +k: Nat
343  Exists(T.Pos, p => L.ProvablySafe(G.knowledge(g), p) &
344    ({G.status(G.step(g, T.Assist{k})) == T.Lost{T.AssistTooEarly{p}} : T.Status} &
345     {G.knowledge(G.step(g, T.Assist{k})) == G.knowledge(g) : T.Knowledge}))

Uses (20)

Used by (1)