Create a datatype that corresponds to an already-elaborated interface.
(vl-interface-mocktype x ss &key (reclimit '1000)) → (mv err type)
In many ways interface instances are like ordinary variables: they can be passed to submodules, arrays of them can be indexed into, etc. In our SV conversion we want to represent the data associated with an interface instance in the same way as if it were just a structure.
This is tricky because an interface is not actually a datatype, so we can't just reuse convenient (and complicated) functions like vl-datatype-size on them. Rather than duplicate the code, we make a ``mock'' datatype that corresponds to the data portion of an interface.
Theorem:
(defthm return-type-of-vl-interface-mocktype.err (b* (((mv ?err common-lisp::?type) (vl-interface-mocktype-fn x ss reclimit))) (iff (vl-msg-p err) err)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-interface-mocktype.type (b* (((mv ?err common-lisp::?type) (vl-interface-mocktype-fn x ss reclimit))) (and (vl-datatype-p type) (not (vl-datatype->udims type)))) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-genblob-interface-mocktype.err (b* (((mv ?err common-lisp::?type) (vl-genblob-interface-mocktype-fn x ss reclimit))) (iff (vl-msg-p err) err)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-genblob-interface-mocktype.type (b* (((mv ?err common-lisp::?type) (vl-genblob-interface-mocktype-fn x ss reclimit))) (and (vl-datatype-p type) (not (vl-datatype->udims type)))) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-interfacename-mocktype.err (b* (((mv ?err common-lisp::?type) (vl-interfacename-mocktype-fn name ss reclimit))) (iff (vl-msg-p err) err)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-interfacename-mocktype.type (b* (((mv ?err common-lisp::?type) (vl-interfacename-mocktype-fn name ss reclimit))) (and (iff (vl-datatype-p type) type) (implies type (not (vl-datatype->udims type))) (implies (not err) type))) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-modinst-interface-mockmember.err (b* (((mv ?err common-lisp::?member) (vl-modinst-interface-mockmember-fn x ss reclimit))) (iff (vl-msg-p err) err)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-modinst-interface-mockmember.member (b* (((mv ?err common-lisp::?member) (vl-modinst-interface-mockmember-fn x ss reclimit))) (and (iff (vl-structmember-p member) member) (implies (not err) member))) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-modinstlist-interface-mockmembers.err (b* (((mv ?err ?members) (vl-modinstlist-interface-mockmembers-fn x ss reclimit))) (iff (vl-msg-p err) err)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-modinstlist-interface-mockmembers.members (b* (((mv ?err ?members) (vl-modinstlist-interface-mockmembers-fn x ss reclimit))) (vl-structmemberlist-p members)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-interfaceport-mockmember.err (b* (((mv ?err common-lisp::?member) (vl-interfaceport-mockmember-fn x ss reclimit))) (iff (vl-msg-p err) err)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-interfaceport-mockmember.member (b* (((mv ?err common-lisp::?member) (vl-interfaceport-mockmember-fn x ss reclimit))) (and (iff (vl-structmember-p member) member) (implies (not err) member))) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-interfaceportlist-mockmembers.err (b* (((mv ?err ?members) (vl-interfaceportlist-mockmembers-fn x ss reclimit))) (iff (vl-msg-p err) err)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-interfaceportlist-mockmembers.members (b* (((mv ?err ?members) (vl-interfaceportlist-mockmembers-fn x ss reclimit))) (vl-structmemberlist-p members)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-generate-interface-mockmember.err (b* (((mv ?err common-lisp::?member) (vl-generate-interface-mockmember-fn x ss reclimit))) (iff (vl-msg-p err) err)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-generate-interface-mockmember.member (b* (((mv ?err common-lisp::?member) (vl-generate-interface-mockmember-fn x ss reclimit))) (and (iff (vl-structmember-p member) member) (implies (not err) member))) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-generatelist-interface-mockmembers.err (b* (((mv ?err ?members) (vl-generatelist-interface-mockmembers-fn x ss reclimit))) (iff (vl-msg-p err) err)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-generatelist-interface-mockmembers.members (b* (((mv ?err ?members) (vl-generatelist-interface-mockmembers-fn x ss reclimit))) (vl-structmemberlist-p members)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-genblock-interface-mockmember.err (b* (((mv ?err common-lisp::?member) (vl-genblock-interface-mockmember-fn x ss reclimit))) (iff (vl-msg-p err) err)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-genblock-interface-mockmember.member (b* (((mv ?err common-lisp::?member) (vl-genblock-interface-mockmember-fn x ss reclimit))) (and (iff (vl-structmember-p member) member) (implies (not err) member))) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-genblocklist-interface-mockmembers.err (b* (((mv ?err ?members) (vl-genblocklist-interface-mockmembers-fn x ss reclimit))) (iff (vl-msg-p err) err)) :rule-classes :rewrite)
Theorem:
(defthm return-type-of-vl-genblocklist-interface-mockmembers.members (b* (((mv ?err ?members) (vl-genblocklist-interface-mockmembers-fn x ss reclimit))) (vl-structmemberlist-p members)) :rule-classes :rewrite)
Theorem:
(defthm vl-interface-mocktype-fn-of-vl-interface-fix-x (equal (vl-interface-mocktype-fn (vl-interface-fix x) ss reclimit) (vl-interface-mocktype-fn x ss reclimit)))
Theorem:
(defthm vl-interface-mocktype-fn-of-vl-scopestack-fix-ss (equal (vl-interface-mocktype-fn x (vl-scopestack-fix ss) reclimit) (vl-interface-mocktype-fn x ss reclimit)))
Theorem:
(defthm vl-interface-mocktype-fn-of-nfix-reclimit (equal (vl-interface-mocktype-fn x ss (nfix reclimit)) (vl-interface-mocktype-fn x ss reclimit)))
Theorem:
(defthm vl-genblob-interface-mocktype-fn-of-vl-genblob-fix-x (equal (vl-genblob-interface-mocktype-fn (vl-genblob-fix x) ss reclimit) (vl-genblob-interface-mocktype-fn x ss reclimit)))
Theorem:
(defthm vl-genblob-interface-mocktype-fn-of-vl-scopestack-fix-ss (equal (vl-genblob-interface-mocktype-fn x (vl-scopestack-fix ss) reclimit) (vl-genblob-interface-mocktype-fn x ss reclimit)))
Theorem:
(defthm vl-genblob-interface-mocktype-fn-of-nfix-reclimit (equal (vl-genblob-interface-mocktype-fn x ss (nfix reclimit)) (vl-genblob-interface-mocktype-fn x ss reclimit)))
Theorem:
(defthm vl-interfacename-mocktype-fn-of-str-fix-name (equal (vl-interfacename-mocktype-fn (str-fix name) ss reclimit) (vl-interfacename-mocktype-fn name ss reclimit)))
Theorem:
(defthm vl-interfacename-mocktype-fn-of-vl-scopestack-fix-ss (equal (vl-interfacename-mocktype-fn name (vl-scopestack-fix ss) reclimit) (vl-interfacename-mocktype-fn name ss reclimit)))
Theorem:
(defthm vl-interfacename-mocktype-fn-of-nfix-reclimit (equal (vl-interfacename-mocktype-fn name ss (nfix reclimit)) (vl-interfacename-mocktype-fn name ss reclimit)))
Theorem:
(defthm vl-modinst-interface-mockmember-fn-of-vl-modinst-fix-x (equal (vl-modinst-interface-mockmember-fn (vl-modinst-fix x) ss reclimit) (vl-modinst-interface-mockmember-fn x ss reclimit)))
Theorem:
(defthm vl-modinst-interface-mockmember-fn-of-vl-scopestack-fix-ss (equal (vl-modinst-interface-mockmember-fn x (vl-scopestack-fix ss) reclimit) (vl-modinst-interface-mockmember-fn x ss reclimit)))
Theorem:
(defthm vl-modinst-interface-mockmember-fn-of-nfix-reclimit (equal (vl-modinst-interface-mockmember-fn x ss (nfix reclimit)) (vl-modinst-interface-mockmember-fn x ss reclimit)))
Theorem:
(defthm vl-modinstlist-interface-mockmembers-fn-of-vl-modinstlist-fix-x (equal (vl-modinstlist-interface-mockmembers-fn (vl-modinstlist-fix x) ss reclimit) (vl-modinstlist-interface-mockmembers-fn x ss reclimit)))
Theorem:
(defthm vl-modinstlist-interface-mockmembers-fn-of-vl-scopestack-fix-ss (equal (vl-modinstlist-interface-mockmembers-fn x (vl-scopestack-fix ss) reclimit) (vl-modinstlist-interface-mockmembers-fn x ss reclimit)))
Theorem:
(defthm vl-modinstlist-interface-mockmembers-fn-of-nfix-reclimit (equal (vl-modinstlist-interface-mockmembers-fn x ss (nfix reclimit)) (vl-modinstlist-interface-mockmembers-fn x ss reclimit)))
Theorem:
(defthm vl-interfaceport-mockmember-fn-of-vl-interfaceport-fix-x (equal (vl-interfaceport-mockmember-fn (vl-interfaceport-fix x) ss reclimit) (vl-interfaceport-mockmember-fn x ss reclimit)))
Theorem:
(defthm vl-interfaceport-mockmember-fn-of-vl-scopestack-fix-ss (equal (vl-interfaceport-mockmember-fn x (vl-scopestack-fix ss) reclimit) (vl-interfaceport-mockmember-fn x ss reclimit)))
Theorem:
(defthm vl-interfaceport-mockmember-fn-of-nfix-reclimit (equal (vl-interfaceport-mockmember-fn x ss (nfix reclimit)) (vl-interfaceport-mockmember-fn x ss reclimit)))
Theorem:
(defthm vl-interfaceportlist-mockmembers-fn-of-vl-interfaceportlist-fix-x (equal (vl-interfaceportlist-mockmembers-fn (vl-interfaceportlist-fix x) ss reclimit) (vl-interfaceportlist-mockmembers-fn x ss reclimit)))
Theorem:
(defthm vl-interfaceportlist-mockmembers-fn-of-vl-scopestack-fix-ss (equal (vl-interfaceportlist-mockmembers-fn x (vl-scopestack-fix ss) reclimit) (vl-interfaceportlist-mockmembers-fn x ss reclimit)))
Theorem:
(defthm vl-interfaceportlist-mockmembers-fn-of-nfix-reclimit (equal (vl-interfaceportlist-mockmembers-fn x ss (nfix reclimit)) (vl-interfaceportlist-mockmembers-fn x ss reclimit)))
Theorem:
(defthm vl-generate-interface-mockmember-fn-of-vl-genelement-fix-x (equal (vl-generate-interface-mockmember-fn (vl-genelement-fix x) ss reclimit) (vl-generate-interface-mockmember-fn x ss reclimit)))
Theorem:
(defthm vl-generate-interface-mockmember-fn-of-vl-scopestack-fix-ss (equal (vl-generate-interface-mockmember-fn x (vl-scopestack-fix ss) reclimit) (vl-generate-interface-mockmember-fn x ss reclimit)))
Theorem:
(defthm vl-generate-interface-mockmember-fn-of-nfix-reclimit (equal (vl-generate-interface-mockmember-fn x ss (nfix reclimit)) (vl-generate-interface-mockmember-fn x ss reclimit)))
Theorem:
(defthm vl-generatelist-interface-mockmembers-fn-of-vl-genelementlist-fix-x (equal (vl-generatelist-interface-mockmembers-fn (vl-genelementlist-fix x) ss reclimit) (vl-generatelist-interface-mockmembers-fn x ss reclimit)))
Theorem:
(defthm vl-generatelist-interface-mockmembers-fn-of-vl-scopestack-fix-ss (equal (vl-generatelist-interface-mockmembers-fn x (vl-scopestack-fix ss) reclimit) (vl-generatelist-interface-mockmembers-fn x ss reclimit)))
Theorem:
(defthm vl-generatelist-interface-mockmembers-fn-of-nfix-reclimit (equal (vl-generatelist-interface-mockmembers-fn x ss (nfix reclimit)) (vl-generatelist-interface-mockmembers-fn x ss reclimit)))
Theorem:
(defthm vl-genblock-interface-mockmember-fn-of-vl-genblock-fix-x (equal (vl-genblock-interface-mockmember-fn (vl-genblock-fix x) ss reclimit) (vl-genblock-interface-mockmember-fn x ss reclimit)))
Theorem:
(defthm vl-genblock-interface-mockmember-fn-of-vl-scopestack-fix-ss (equal (vl-genblock-interface-mockmember-fn x (vl-scopestack-fix ss) reclimit) (vl-genblock-interface-mockmember-fn x ss reclimit)))
Theorem:
(defthm vl-genblock-interface-mockmember-fn-of-nfix-reclimit (equal (vl-genblock-interface-mockmember-fn x ss (nfix reclimit)) (vl-genblock-interface-mockmember-fn x ss reclimit)))
Theorem:
(defthm vl-genblocklist-interface-mockmembers-fn-of-vl-genblocklist-fix-x (equal (vl-genblocklist-interface-mockmembers-fn (vl-genblocklist-fix x) ss reclimit) (vl-genblocklist-interface-mockmembers-fn x ss reclimit)))
Theorem:
(defthm vl-genblocklist-interface-mockmembers-fn-of-vl-scopestack-fix-ss (equal (vl-genblocklist-interface-mockmembers-fn x (vl-scopestack-fix ss) reclimit) (vl-genblocklist-interface-mockmembers-fn x ss reclimit)))
Theorem:
(defthm vl-genblocklist-interface-mockmembers-fn-of-nfix-reclimit (equal (vl-genblocklist-interface-mockmembers-fn x ss (nfix reclimit)) (vl-genblocklist-interface-mockmembers-fn x ss reclimit)))
Theorem:
(defthm vl-interface-mocktype-fn-vl-interface-equiv-congruence-on-x (implies (vl-interface-equiv x x-equiv) (equal (vl-interface-mocktype-fn x ss reclimit) (vl-interface-mocktype-fn x-equiv ss reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-interface-mocktype-fn-vl-scopestack-equiv-congruence-on-ss (implies (vl-scopestack-equiv ss ss-equiv) (equal (vl-interface-mocktype-fn x ss reclimit) (vl-interface-mocktype-fn x ss-equiv reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-interface-mocktype-fn-nat-equiv-congruence-on-reclimit (implies (acl2::nat-equiv reclimit reclimit-equiv) (equal (vl-interface-mocktype-fn x ss reclimit) (vl-interface-mocktype-fn x ss reclimit-equiv))) :rule-classes :congruence)
Theorem:
(defthm vl-genblob-interface-mocktype-fn-vl-genblob-equiv-congruence-on-x (implies (vl-genblob-equiv x x-equiv) (equal (vl-genblob-interface-mocktype-fn x ss reclimit) (vl-genblob-interface-mocktype-fn x-equiv ss reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-genblob-interface-mocktype-fn-vl-scopestack-equiv-congruence-on-ss (implies (vl-scopestack-equiv ss ss-equiv) (equal (vl-genblob-interface-mocktype-fn x ss reclimit) (vl-genblob-interface-mocktype-fn x ss-equiv reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-genblob-interface-mocktype-fn-nat-equiv-congruence-on-reclimit (implies (acl2::nat-equiv reclimit reclimit-equiv) (equal (vl-genblob-interface-mocktype-fn x ss reclimit) (vl-genblob-interface-mocktype-fn x ss reclimit-equiv))) :rule-classes :congruence)
Theorem:
(defthm vl-interfacename-mocktype-fn-streqv-congruence-on-name (implies (streqv name name-equiv) (equal (vl-interfacename-mocktype-fn name ss reclimit) (vl-interfacename-mocktype-fn name-equiv ss reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-interfacename-mocktype-fn-vl-scopestack-equiv-congruence-on-ss (implies (vl-scopestack-equiv ss ss-equiv) (equal (vl-interfacename-mocktype-fn name ss reclimit) (vl-interfacename-mocktype-fn name ss-equiv reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-interfacename-mocktype-fn-nat-equiv-congruence-on-reclimit (implies (acl2::nat-equiv reclimit reclimit-equiv) (equal (vl-interfacename-mocktype-fn name ss reclimit) (vl-interfacename-mocktype-fn name ss reclimit-equiv))) :rule-classes :congruence)
Theorem:
(defthm vl-modinst-interface-mockmember-fn-vl-modinst-equiv-congruence-on-x (implies (vl-modinst-equiv x x-equiv) (equal (vl-modinst-interface-mockmember-fn x ss reclimit) (vl-modinst-interface-mockmember-fn x-equiv ss reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-modinst-interface-mockmember-fn-vl-scopestack-equiv-congruence-on-ss (implies (vl-scopestack-equiv ss ss-equiv) (equal (vl-modinst-interface-mockmember-fn x ss reclimit) (vl-modinst-interface-mockmember-fn x ss-equiv reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-modinst-interface-mockmember-fn-nat-equiv-congruence-on-reclimit (implies (acl2::nat-equiv reclimit reclimit-equiv) (equal (vl-modinst-interface-mockmember-fn x ss reclimit) (vl-modinst-interface-mockmember-fn x ss reclimit-equiv))) :rule-classes :congruence)
Theorem:
(defthm vl-modinstlist-interface-mockmembers-fn-vl-modinstlist-equiv-congruence-on-x (implies (vl-modinstlist-equiv x x-equiv) (equal (vl-modinstlist-interface-mockmembers-fn x ss reclimit) (vl-modinstlist-interface-mockmembers-fn x-equiv ss reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-modinstlist-interface-mockmembers-fn-vl-scopestack-equiv-congruence-on-ss (implies (vl-scopestack-equiv ss ss-equiv) (equal (vl-modinstlist-interface-mockmembers-fn x ss reclimit) (vl-modinstlist-interface-mockmembers-fn x ss-equiv reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-modinstlist-interface-mockmembers-fn-nat-equiv-congruence-on-reclimit (implies (acl2::nat-equiv reclimit reclimit-equiv) (equal (vl-modinstlist-interface-mockmembers-fn x ss reclimit) (vl-modinstlist-interface-mockmembers-fn x ss reclimit-equiv))) :rule-classes :congruence)
Theorem:
(defthm vl-interfaceport-mockmember-fn-vl-interfaceport-equiv-congruence-on-x (implies (vl-interfaceport-equiv x x-equiv) (equal (vl-interfaceport-mockmember-fn x ss reclimit) (vl-interfaceport-mockmember-fn x-equiv ss reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-interfaceport-mockmember-fn-vl-scopestack-equiv-congruence-on-ss (implies (vl-scopestack-equiv ss ss-equiv) (equal (vl-interfaceport-mockmember-fn x ss reclimit) (vl-interfaceport-mockmember-fn x ss-equiv reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-interfaceport-mockmember-fn-nat-equiv-congruence-on-reclimit (implies (acl2::nat-equiv reclimit reclimit-equiv) (equal (vl-interfaceport-mockmember-fn x ss reclimit) (vl-interfaceport-mockmember-fn x ss reclimit-equiv))) :rule-classes :congruence)
Theorem:
(defthm vl-interfaceportlist-mockmembers-fn-vl-interfaceportlist-equiv-congruence-on-x (implies (vl-interfaceportlist-equiv x x-equiv) (equal (vl-interfaceportlist-mockmembers-fn x ss reclimit) (vl-interfaceportlist-mockmembers-fn x-equiv ss reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-interfaceportlist-mockmembers-fn-vl-scopestack-equiv-congruence-on-ss (implies (vl-scopestack-equiv ss ss-equiv) (equal (vl-interfaceportlist-mockmembers-fn x ss reclimit) (vl-interfaceportlist-mockmembers-fn x ss-equiv reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-interfaceportlist-mockmembers-fn-nat-equiv-congruence-on-reclimit (implies (acl2::nat-equiv reclimit reclimit-equiv) (equal (vl-interfaceportlist-mockmembers-fn x ss reclimit) (vl-interfaceportlist-mockmembers-fn x ss reclimit-equiv))) :rule-classes :congruence)
Theorem:
(defthm vl-generate-interface-mockmember-fn-vl-genelement-equiv-congruence-on-x (implies (vl-genelement-equiv x x-equiv) (equal (vl-generate-interface-mockmember-fn x ss reclimit) (vl-generate-interface-mockmember-fn x-equiv ss reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-generate-interface-mockmember-fn-vl-scopestack-equiv-congruence-on-ss (implies (vl-scopestack-equiv ss ss-equiv) (equal (vl-generate-interface-mockmember-fn x ss reclimit) (vl-generate-interface-mockmember-fn x ss-equiv reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-generate-interface-mockmember-fn-nat-equiv-congruence-on-reclimit (implies (acl2::nat-equiv reclimit reclimit-equiv) (equal (vl-generate-interface-mockmember-fn x ss reclimit) (vl-generate-interface-mockmember-fn x ss reclimit-equiv))) :rule-classes :congruence)
Theorem:
(defthm vl-generatelist-interface-mockmembers-fn-vl-genelementlist-equiv-congruence-on-x (implies (vl-genelementlist-equiv x x-equiv) (equal (vl-generatelist-interface-mockmembers-fn x ss reclimit) (vl-generatelist-interface-mockmembers-fn x-equiv ss reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-generatelist-interface-mockmembers-fn-vl-scopestack-equiv-congruence-on-ss (implies (vl-scopestack-equiv ss ss-equiv) (equal (vl-generatelist-interface-mockmembers-fn x ss reclimit) (vl-generatelist-interface-mockmembers-fn x ss-equiv reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-generatelist-interface-mockmembers-fn-nat-equiv-congruence-on-reclimit (implies (acl2::nat-equiv reclimit reclimit-equiv) (equal (vl-generatelist-interface-mockmembers-fn x ss reclimit) (vl-generatelist-interface-mockmembers-fn x ss reclimit-equiv))) :rule-classes :congruence)
Theorem:
(defthm vl-genblock-interface-mockmember-fn-vl-genblock-equiv-congruence-on-x (implies (vl-genblock-equiv x x-equiv) (equal (vl-genblock-interface-mockmember-fn x ss reclimit) (vl-genblock-interface-mockmember-fn x-equiv ss reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-genblock-interface-mockmember-fn-vl-scopestack-equiv-congruence-on-ss (implies (vl-scopestack-equiv ss ss-equiv) (equal (vl-genblock-interface-mockmember-fn x ss reclimit) (vl-genblock-interface-mockmember-fn x ss-equiv reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-genblock-interface-mockmember-fn-nat-equiv-congruence-on-reclimit (implies (acl2::nat-equiv reclimit reclimit-equiv) (equal (vl-genblock-interface-mockmember-fn x ss reclimit) (vl-genblock-interface-mockmember-fn x ss reclimit-equiv))) :rule-classes :congruence)
Theorem:
(defthm vl-genblocklist-interface-mockmembers-fn-vl-genblocklist-equiv-congruence-on-x (implies (vl-genblocklist-equiv x x-equiv) (equal (vl-genblocklist-interface-mockmembers-fn x ss reclimit) (vl-genblocklist-interface-mockmembers-fn x-equiv ss reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-genblocklist-interface-mockmembers-fn-vl-scopestack-equiv-congruence-on-ss (implies (vl-scopestack-equiv ss ss-equiv) (equal (vl-genblocklist-interface-mockmembers-fn x ss reclimit) (vl-genblocklist-interface-mockmembers-fn x ss-equiv reclimit))) :rule-classes :congruence)
Theorem:
(defthm vl-genblocklist-interface-mockmembers-fn-nat-equiv-congruence-on-reclimit (implies (acl2::nat-equiv reclimit reclimit-equiv) (equal (vl-genblocklist-interface-mockmembers-fn x ss reclimit) (vl-genblocklist-interface-mockmembers-fn x ss reclimit-equiv))) :rule-classes :congruence)