Access the |ACL2|::|VALUE| field of a elf64_sym bit structure.
(elf64_sym->value x) → value
Function:
(defun elf64_sym->value (x) (declare (xargs :guard (elf64_sym-p x))) (mbe :logic (let ((x (elf64_sym-fix x))) (part-select x :low 64 :width 64)) :exec (the (unsigned-byte 64) (logand (the (unsigned-byte 64) 18446744073709551615) (the (unsigned-byte 128) (ash (the (unsigned-byte 192) x) -64))))))
Theorem:
(defthm elf_bits64-p-of-elf64_sym->value (b* ((value (elf64_sym->value x))) (elf_bits64-p value)) :rule-classes :rewrite)
Theorem:
(defthm elf64_sym->value-of-elf64_sym-fix-x (equal (elf64_sym->value (elf64_sym-fix x)) (elf64_sym->value x)))
Theorem:
(defthm elf64_sym->value-elf64_sym-equiv-congruence-on-x (implies (elf64_sym-equiv x x-equiv) (equal (elf64_sym->value x) (elf64_sym->value x-equiv))) :rule-classes :congruence)
Theorem:
(defthm elf64_sym->value-of-elf64_sym (equal (elf64_sym->value (elf64_sym name info other shndx value size)) (elf_bits64-fix value)))
Theorem:
(defthm elf64_sym->value-of-write-with-mask (implies (and (fty::bitstruct-read-over-write-hyps x elf64_sym-equiv-under-mask) (elf64_sym-equiv-under-mask x y fty::mask) (equal (logand (lognot fty::mask) 340282366920938463444927863358058659840) 0)) (equal (elf64_sym->value x) (elf64_sym->value y))))