fact: Definition update_anti_literals (p : pos) z (st : state) : state := let: (x, y) := p in let st1 := foldr (fun x1 st => if x == x1 then st else update_state (x1, y) z st) st indexes in let st2 := foldr (fun y1 st => if y == y1 then st else update_state (x, y1) z st) st1 indexes in let x1 := x %/ h * h in let y1 := y %/ w * w in let st3 := foldr (fun p1 st => if p == shift p1 x1 y1 then st else update_state (shift p1 x1 y1) z st) st2 cross in st3.
imports: mathcomp(all_ssreflect) mathcomp(zify)