Get the current time represented as a decoded time.
(get-decoded-time$ state) → (mv second minute hour date month year day daylight-p zone state)
This is a wrapper to the standard
There are nine return values in addition to
See also universal-time, which returns an integer representation of the current time.
Function:
(defun get-decoded-time$ (state) (declare (xargs :stobjs (state))) (declare (xargs :guard t)) (let ((__function__ 'get-decoded-time$)) (declare (ignorable __function__)) (b* ((- (raise "Raw Lisp definition not installed?")) ((mv err val state) (read-acl2-oracle state))) (if (and (not err) (equal (len val) 9) (integer-range-p 0 60 (first val)) (integer-range-p 0 60 (second val)) (integer-range-p 0 24 (third val)) (integer-range-p 1 32 (fourth val)) (integer-range-p 1 13 (fifth val)) (integerp (sixth val)) (integer-range-p 0 7 (seventh val)) (rationalp (ninth val)) (<= -24 (ninth val)) (<= (ninth val) 24) (equal (mod (ninth val) 1/3600) 0)) (mv (first val) (second val) (third val) (fourth val) (fifth val) (sixth val) (seventh val) (eighth val) (ninth val) state) (mv 0 0 0 1 1 0 0 nil 0 state)))))
Theorem:
(defthm natp-of-get-decoded-time$.second (b* (((mv common-lisp::?second ?minute ?hour ?date ?month ?year ?day ?daylight-p ?zone acl2::?state) (get-decoded-time$ state))) (natp second)) :rule-classes :type-prescription)
Theorem:
(defthm natp-of-get-decoded-time$.minute (b* (((mv common-lisp::?second ?minute ?hour ?date ?month ?year ?day ?daylight-p ?zone acl2::?state) (get-decoded-time$ state))) (natp minute)) :rule-classes :type-prescription)
Theorem:
(defthm natp-of-get-decoded-time$.hour (b* (((mv common-lisp::?second ?minute ?hour ?date ?month ?year ?day ?daylight-p ?zone acl2::?state) (get-decoded-time$ state))) (natp hour)) :rule-classes :type-prescription)
Theorem:
(defthm posp-of-get-decoded-time$.date (b* (((mv common-lisp::?second ?minute ?hour ?date ?month ?year ?day ?daylight-p ?zone acl2::?state) (get-decoded-time$ state))) (posp date)) :rule-classes :type-prescription)
Theorem:
(defthm posp-of-get-decoded-time$.month (b* (((mv common-lisp::?second ?minute ?hour ?date ?month ?year ?day ?daylight-p ?zone acl2::?state) (get-decoded-time$ state))) (posp month)) :rule-classes :type-prescription)
Theorem:
(defthm integerp-of-get-decoded-time$.year (b* (((mv common-lisp::?second ?minute ?hour ?date ?month ?year ?day ?daylight-p ?zone acl2::?state) (get-decoded-time$ state))) (integerp year)) :rule-classes :type-prescription)
Theorem:
(defthm natp-of-get-decoded-time$.day (b* (((mv common-lisp::?second ?minute ?hour ?date ?month ?year ?day ?daylight-p ?zone acl2::?state) (get-decoded-time$ state))) (natp day)) :rule-classes :type-prescription)
Theorem:
(defthm rationalp-of-get-decoded-time$.zone (b* (((mv common-lisp::?second ?minute ?hour ?date ?month ?year ?day ?daylight-p ?zone acl2::?state) (get-decoded-time$ state))) (rationalp zone)) :rule-classes :type-prescription)
Theorem:
(defthm state-p1-of-get-decoded-time$.state (implies (force (state-p1 state)) (b* (((mv common-lisp::?second ?minute ?hour ?date ?month ?year ?day ?daylight-p ?zone acl2::?state) (get-decoded-time$ state))) (state-p1 state))) :rule-classes :rewrite)
Theorem:
(defthm get-decoded-time$.second-linear (b* (((mv common-lisp::?second ?minute ?hour ?date ?month ?year ?day ?daylight-p ?zone acl2::?state) (get-decoded-time$ state))) (<= second 59)) :rule-classes :linear)
Theorem:
(defthm get-decoded-time$.minute-linear (b* (((mv common-lisp::?second ?minute ?hour ?date ?month ?year ?day ?daylight-p ?zone acl2::?state) (get-decoded-time$ state))) (<= minute 59)) :rule-classes :linear)
Theorem:
(defthm get-decoded-time$.hour-linear (b* (((mv common-lisp::?second ?minute ?hour ?date ?month ?year ?day ?daylight-p ?zone acl2::?state) (get-decoded-time$ state))) (<= hour 23)) :rule-classes :linear)
Theorem:
(defthm get-decoded-time$.date-linear (b* (((mv common-lisp::?second ?minute ?hour ?date ?month ?year ?day ?daylight-p ?zone acl2::?state) (get-decoded-time$ state))) (<= date 31)) :rule-classes :linear)
Theorem:
(defthm get-decoded-time$.month-linear (b* (((mv common-lisp::?second ?minute ?hour ?date ?month ?year ?day ?daylight-p ?zone acl2::?state) (get-decoded-time$ state))) (<= month 12)) :rule-classes :linear)
Theorem:
(defthm get-decoded-time$.day-linear (b* (((mv common-lisp::?second ?minute ?hour ?date ?month ?year ?day ?daylight-p ?zone acl2::?state) (get-decoded-time$ state))) (<= day 6)) :rule-classes :linear)
Theorem:
(defthm get-decoded-time$.zone-min-linear (b* (((mv common-lisp::?second ?minute ?hour ?date ?month ?year ?day ?daylight-p ?zone acl2::?state) (get-decoded-time$ state))) (<= -24 zone)) :rule-classes :linear)
Theorem:
(defthm get-decoded-time$.zone-max-linear (b* (((mv common-lisp::?second ?minute ?hour ?date ?month ?year ?day ?daylight-p ?zone acl2::?state) (get-decoded-time$ state))) (<= zone 24)) :rule-classes :linear)
Theorem:
(defthm mod-of-get-decoded-time$.zone-and-1/3600 (b* (((mv common-lisp::?second ?minute ?hour ?date ?month ?year ?day ?daylight-p ?zone acl2::?state) (get-decoded-time$ state))) (equal (mod zone 1/3600) 0)))