Preservation of the invariant: if the invariant holds in a system state, it also holds in the next system state.
A
A
An
Theorem:
(defthm validator-committed-redundant-p-of-create-next (implies (and (system-committees-fault-tolerant-p systate) (backward-closed-p systate) (signer-records-p systate) (no-self-endorsed-p systate) (signer-quorum-p systate) (unequivocal-dags-p systate) (same-committees-p systate) (last-anchor-present-p systate) (in val (correct-addresses systate)) (validator-committed-redundant-p (get-validator-state val systate)) (create-possiblep cert systate)) (validator-committed-redundant-p (get-validator-state val (create-next cert systate)))))
Theorem:
(defthm committed-redundant-p-of-create-next (implies (and (committed-redundant-p systate) (system-committees-fault-tolerant-p systate) (backward-closed-p systate) (signer-records-p systate) (no-self-endorsed-p systate) (signer-quorum-p systate) (unequivocal-dags-p systate) (same-committees-p systate) (last-anchor-present-p systate) (create-possiblep cert systate)) (committed-redundant-p (create-next cert systate))))
Theorem:
(defthm validator-committed-redundant-p-of-accept-next (implies (and (system-committees-fault-tolerant-p systate) (backward-closed-p systate) (signer-quorum-p systate) (unequivocal-signed-certs-p systate) (unequivocal-dags-p systate) (same-committees-p systate) (last-anchor-present-p systate) (in val (correct-addresses systate)) (validator-committed-redundant-p (get-validator-state val systate)) (accept-possiblep msg systate) (messagep msg)) (validator-committed-redundant-p (get-validator-state val (accept-next msg systate)))))
Theorem:
(defthm committed-redundant-p-of-accept-next (implies (and (committed-redundant-p systate) (system-committees-fault-tolerant-p systate) (backward-closed-p systate) (signer-quorum-p systate) (unequivocal-signed-certs-p systate) (unequivocal-dags-p systate) (same-committees-p systate) (last-anchor-present-p systate) (accept-possiblep msg systate) (messagep msg)) (committed-redundant-p (accept-next msg systate))))
Theorem:
(defthm validator-committed-redundant-p-of-advance-next (implies (and (in val (correct-addresses systate)) (advance-possiblep val1 systate) (validator-committed-redundant-p (get-validator-state val systate))) (validator-committed-redundant-p (get-validator-state val (advance-next val1 systate)))))
Theorem:
(defthm committed-redundant-p-of-advance-next (implies (and (committed-redundant-p systate) (advance-possiblep val systate)) (committed-redundant-p (advance-next val systate))))
Theorem:
(defthm validator-committed-redundant-p-of-commit-next-same (implies (and (last-blockchain-round-p systate) (ordered-blockchain-p systate) (signer-quorum-p systate) (unequivocal-dags-p systate) (last-anchor-present-p systate) (omni-paths-p systate) (in val (correct-addresses systate)) (commit-possiblep val systate) (addressp val) (validator-committed-redundant-p (get-validator-state val systate))) (validator-committed-redundant-p (get-validator-state val (commit-next val systate)))))
Theorem:
(defthm validator-committed-redundant-p-of-commit-next-diff (implies (and (last-blockchain-round-p systate) (ordered-blockchain-p systate) (signer-quorum-p systate) (in val (correct-addresses systate)) (commit-possiblep val1 systate) (addressp val1) (validator-committed-redundant-p (get-validator-state val systate)) (not (equal val val1))) (validator-committed-redundant-p (get-validator-state val (commit-next val1 systate)))))
Theorem:
(defthm validator-committed-redundant-p-of-commit-next (implies (and (last-blockchain-round-p systate) (ordered-blockchain-p systate) (signer-quorum-p systate) (unequivocal-dags-p systate) (last-anchor-present-p systate) (omni-paths-p systate) (in val (correct-addresses systate)) (commit-possiblep val1 systate) (addressp val1) (validator-committed-redundant-p (get-validator-state val systate))) (validator-committed-redundant-p (get-validator-state val (commit-next val1 systate)))))
Theorem:
(defthm committed-redundant-p-of-commit-next (implies (and (committed-redundant-p systate) (last-blockchain-round-p systate) (ordered-blockchain-p systate) (signer-quorum-p systate) (unequivocal-dags-p systate) (last-anchor-present-p systate) (omni-paths-p systate) (commit-possiblep val systate) (addressp val)) (committed-redundant-p (commit-next val systate))))
Theorem:
(defthm committed-redundant-p-of-event-next (implies (and (committed-redundant-p systate) (system-committees-fault-tolerant-p systate) (backward-closed-p systate) (last-blockchain-round-p systate) (ordered-blockchain-p systate) (signer-records-p systate) (no-self-endorsed-p systate) (signer-quorum-p systate) (unequivocal-signed-certs-p systate) (unequivocal-dags-p systate) (same-committees-p systate) (last-anchor-present-p systate) (omni-paths-p systate) (event-possiblep event systate)) (committed-redundant-p (event-next event systate))))