Equivalence of the execution functions with two limits to the normal execution functions.
See execution-limit-monotonicity for motivation.
We leave these enabled so they can be used automatically in exec-monotone.
Theorem:
(defthm exec-fun-2limits-to-exec-fun (implies (>= (nfix limit1) (nfix limit)) (equal (exec-fun-2limits fun args compst fenv limit limit1) (exec-fun fun args compst fenv limit))))
Theorem:
(defthm exec-expr-2limits-to-exec-expr (implies (>= (nfix limit1) (nfix limit)) (equal (exec-expr-2limits e compst fenv limit limit1) (exec-expr e compst fenv limit))))
Theorem:
(defthm exec-expr-list-2limits-to-exec-expr-list (implies (>= (nfix limit1) (nfix limit)) (equal (exec-expr-list-2limits es compst fenv limit limit1) (exec-expr-list es compst fenv limit))))
Theorem:
(defthm exec-stmt-2limits-to-exec-stmt (implies (>= (nfix limit1) (nfix limit)) (equal (exec-stmt-2limits s compst fenv limit limit1) (exec-stmt s compst fenv limit))))
Theorem:
(defthm exec-stmt-while-2limits-to-exec-stmt-while (implies (>= (nfix limit1) (nfix limit)) (equal (exec-stmt-while-2limits test body compst fenv limit limit1) (exec-stmt-while test body compst fenv limit))))
Theorem:
(defthm exec-stmt-dowhile-2limits-to-exec-stmt-dowhile (implies (>= (nfix limit1) (nfix limit)) (equal (exec-stmt-dowhile-2limits body test compst fenv limit limit1) (exec-stmt-dowhile body test compst fenv limit))))
Theorem:
(defthm exec-initer-2limits-to-exec-initer (implies (>= (nfix limit1) (nfix limit)) (equal (exec-initer-2limits initer compst fenv limit limit1) (exec-initer initer compst fenv limit))))
Theorem:
(defthm exec-obj-declon-2limits-to-exec-obj-declon (implies (>= (nfix limit1) (nfix limit)) (equal (exec-obj-declon-2limits declon compst fenv limit limit1) (exec-obj-declon declon compst fenv limit))))
Theorem:
(defthm exec-block-item-2limits-to-exec-block-item (implies (>= (nfix limit1) (nfix limit)) (equal (exec-block-item-2limits item compst fenv limit limit1) (exec-block-item item compst fenv limit))))
Theorem:
(defthm exec-block-item-list-2limits-to-exec-block-item-list (implies (>= (nfix limit1) (nfix limit)) (equal (exec-block-item-list-2limits items compst fenv limit limit1) (exec-block-item-list items compst fenv limit))))