def contains_cells.k
minebender-game@1.0.0.0 · proof_cells.bend:190
import minebender-game@1.0.0.0/proof_cells.bend as ProofCells
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/proof_base.bend as P
190def contains_cells.k(+w: Nat, +a: Nat, +t: List<&2, Nat>, +x: Nat, +y: Nat,
191 xm: {memn(List.range(w), x) == True{} : Bool}, +b: Bool,
192 e: {Bool.or(b, memn(t, y)) == True{} : Bool}, be: {Nat.is_eq(a, y) == b : Bool},
193 ih: {memn(t, y) == True{} : Bool} -> {B.contains(B.cells.go(w, t), T.Pos{x, y}) == True{} : Bool}) ->
194 {Bool.or(B.contains(B.row_cells(a, List.range(w)), T.Pos{x, y}), B.contains(B.cells.go(w, t), T.Pos{x, y}))
195 == True{} : Bool}:
196 match b:
197 case True{}:
198 %P.eq_sound(a, y, be) :
199 {Bool.or(B.contains(B.row_cells(a, List.range(w)), T.Pos{x, _}), B.contains(B.cells.go(w, t), T.Pos{x, y}))
200 == True{} : Bool}
201 %Equal.sym(Bool, B.contains(B.row_cells(a, List.range(w)), T.Pos{x, a}), True{},
202 contains_row(a, List.range(w), x, xm)) :
203 {Bool.or(_, B.contains(B.cells.go(w, t), T.Pos{x, y})) == True{} : Bool}
204 {==}
205 case False{}:
206 %Equal.sym(Bool, B.contains(B.cells.go(w, t), T.Pos{x, y}), True{}, ih(e)) :
207 {Bool.or(B.contains(B.row_cells(a, List.range(w)), T.Pos{x, y}), _) == True{} : Bool}
208 or_true_r(B.contains(B.row_cells(a, List.range(w)), T.Pos{x, y}))