Preservation of the invariant: if the invariant holds in a system state, it also holds in the next system state.
The only kind of event that modifies the blockchain is
For
Theorem:
(defthm ordered-blockchain-p-of-create-next (implies (ordered-blockchain-p systate) (ordered-blockchain-p (create-next cert systate))))
Theorem:
(defthm ordered-blockchain-p-of-accept-next (implies (and (ordered-blockchain-p systate) (accept-possiblep msg systate)) (ordered-blockchain-p (accept-next msg systate))))
Theorem:
(defthm ordered-blockchain-p-of-advance-next (implies (and (ordered-blockchain-p systate) (advance-possiblep val systate)) (ordered-blockchain-p (advance-next val systate))))
Theorem:
(defthm ordered-blockchain-p-of-commit-next (implies (and (ordered-blockchain-p systate) (last-blockchain-round-p systate) (commit-possiblep val systate)) (ordered-blockchain-p (commit-next val systate))))
Theorem:
(defthm ordered-blockchain-p-of-event-next (implies (and (ordered-blockchain-p systate) (last-blockchain-round-p systate) (event-possiblep event systate)) (ordered-blockchain-p (event-next event systate))))