Definition of the invariant: the blockchain of each validator is redundant, equal to its calculation from the committed anchors and DAG.
Theorem:
(defthm blockchain-redundant-p-necc (implies (blockchain-redundant-p systate) (implies (in val (correct-addresses systate)) (validator-blockchain-redundant-p (get-validator-state val systate)))))
Theorem:
(defthm booleanp-of-blockchain-redundant-p (b* ((yes/no (blockchain-redundant-p systate))) (booleanp yes/no)) :rule-classes :rewrite)
Theorem:
(defthm blockchain-redundant-p-of-system-state-fix-systate (equal (blockchain-redundant-p (system-state-fix systate)) (blockchain-redundant-p systate)))
Theorem:
(defthm blockchain-redundant-p-system-state-equiv-congruence-on-systate (implies (system-state-equiv systate systate-equiv) (equal (blockchain-redundant-p systate) (blockchain-redundant-p systate-equiv))) :rule-classes :congruence)