Construct the initial lucid state for a design.
(vl-lucidstate-init x &key (paramsp 't) (generatesp 't)) → st
Function:
(defun vl-lucidstate-init-fn (x paramsp generatesp) (declare (xargs :guard (and (vl-design-p x) (booleanp paramsp) (booleanp generatesp)))) (let ((__function__ 'vl-lucidstate-init)) (declare (ignorable __function__)) (make-vl-lucidstate :db (vl-luciddb-init x) :paramsp paramsp :generatesp generatesp)))
Theorem:
(defthm vl-lucidstate-p-of-vl-lucidstate-init (b* ((st (vl-lucidstate-init-fn x paramsp generatesp))) (vl-lucidstate-p st)) :rule-classes :rewrite)
Theorem:
(defthm vl-lucidstate-init-fn-of-vl-design-fix-x (equal (vl-lucidstate-init-fn (vl-design-fix x) paramsp generatesp) (vl-lucidstate-init-fn x paramsp generatesp)))
Theorem:
(defthm vl-lucidstate-init-fn-vl-design-equiv-congruence-on-x (implies (vl-design-equiv x x-equiv) (equal (vl-lucidstate-init-fn x paramsp generatesp) (vl-lucidstate-init-fn x-equiv paramsp generatesp))) :rule-classes :congruence)
Theorem:
(defthm vl-lucidstate-init-fn-of-bool-fix-paramsp (equal (vl-lucidstate-init-fn x (acl2::bool-fix paramsp) generatesp) (vl-lucidstate-init-fn x paramsp generatesp)))
Theorem:
(defthm vl-lucidstate-init-fn-iff-congruence-on-paramsp (implies (iff paramsp paramsp-equiv) (equal (vl-lucidstate-init-fn x paramsp generatesp) (vl-lucidstate-init-fn x paramsp-equiv generatesp))) :rule-classes :congruence)
Theorem:
(defthm vl-lucidstate-init-fn-of-bool-fix-generatesp (equal (vl-lucidstate-init-fn x paramsp (acl2::bool-fix generatesp)) (vl-lucidstate-init-fn x paramsp generatesp)))
Theorem:
(defthm vl-lucidstate-init-fn-iff-congruence-on-generatesp (implies (iff generatesp generatesp-equiv) (equal (vl-lucidstate-init-fn x paramsp generatesp) (vl-lucidstate-init-fn x paramsp generatesp-equiv))) :rule-classes :congruence)