fact: Definition invariant st g := [/\ size g = hw * hw, valid_state st, forall p, valid_pos p -> (get p g \in sref) = (p \notin spos st), forall p1 p2, valid_pos p1 -> valid_pos p2 -> get p1 g \in sref -> get p2 g \in sref -> (p1, get p1 g) \notin anti_literals (p2, get p2 g) & (forall p1 p2 z, valid_pos p1 -> valid_pos p2 -> z \in sref -> get p2 g \in sref -> in_state p1 z st -> (p1, z) \notin anti_literals (p2, get p2 g)) /\ forall p1 z1, valid_pos p1 -> z1 \in sref -> get p1 g \notin sref -> ~~ in_state p1 z1 st -> exists p2, [/\ valid_pos p2, get p2 g \in sref & (p1, z1) \in anti_literals (p2, get p2 g)]].
imports: mathcomp(all_ssreflect) mathcomp(zify)