Basic constructor macro for system-state structures.
(make-system-state [:validators <validators>] [:network <network>])
This is the usual way to construct system-state structures. It simply conses together a structure with the specified fields.
This macro generates a new system-state structure from scratch. See also change-system-state, which can "change" an existing structure, instead.
This is an ordinary
Macro:
(defmacro make-system-state (&rest args) (std::make-aggregate 'system-state args '((:validators) (:network)) 'make-system-state nil))
Function:
(defun system-state (validators network) (declare (xargs :guard (and (validators-statep validators) (message-setp network)))) (declare (xargs :guard t)) (let ((__function__ 'system-state)) (declare (ignorable __function__)) (b* ((validators (mbe :logic (validators-state-fix validators) :exec validators)) (network (mbe :logic (message-set-fix network) :exec network))) (list (cons 'validators validators) (cons 'network network)))))