src/HOL/SMT_Examples/VCC_Max.certs
author wenzelm
Wed, 30 Sep 2020 23:37:07 +0200
changeset 72350 95c2853dd616
parent 59964 5c95c94952df
child 73382 2b1b7b58d0e7
permissions -rw-r--r--
updated certificates to make it work again after recent changes to smt/z3 setup;

8ec9d30fc9fdbc0ea292e0fdf148a6230c16dbca 2924 0
unsat
((set-logic <null>)
(declare-fun ?v0!15 () Int)
(declare-fun ?v0!14 () Int)
(declare-fun ?v0!13 () Int)
(proof
(let ((?x10076 (b_S_array$ b_T_T_u1$ v_b_P_H_len$)))
(let ((?x22595 (b_S_ptr$ ?x10076 v_b_P_H_arr$)))
(let ((?x24598 (b_S_idx$ ?x22595 v_b_L_H_p_G_0$ b_T_T_u1$)))
(let ((?x10272 (b_S_typemap$ v_b_S_s$)))
(let ((?x24302 (b_S_select_o_tm$ ?x10272 ?x24598)))
(let ((?x24605 (b_S_ts_n_emb$ ?x24302)))
(let (($x24606 (= ?x24605 ?x22595)))
(let (($x24611 (b_S_typed$ v_b_S_s$ ?x24598)))
(let (($x24614 (not $x24611)))
(let (($x24608 (b_S_ts_n_is_n_volatile$ ?x24302)))
(let (($x24607 (not $x24606)))
(let (($x24615 (or $x24607 $x24608 (not (b_S_ts_n_is_n_array_n_elt$ ?x24302)) $x24614)))
(let (($x24616 (not $x24615)))
(let (($x11901 (>= v_b_L_H_p_G_0$ 0)))
(let (($x20030 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11800 (not $x10238))))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704))
))
(let (($x20035 (not $x20030)))
(let (($x20022 (forall ((?v0 Int) )(! (let ((?x11816 (* (- 1) v_b_S_result_G_0$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11818 (<= (+ ?x10163 ?x11816) 0)))
(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11800 $x11818))))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704))
))
(let (($x20027 (not $x20022)))
(let (($x20038 (or $x20027 $x20035)))
(let (($x20041 (not $x20038)))
(let ((?x10078 (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$)))
(let ((?x15743 (b_S_idx$ ?x10078 ?v0!15 b_T_T_u1$)))
(let ((?x15744 (b_S_read_n_u1$ v_b_S_s$ ?x15743)))
(let ((?x16029 (* (- 1) ?x15744)))
(let (($x16031 (>= (+ v_b_S_result_G_0$ ?x16029) 0)))
(let (($x16009 (<= (+ v_b_P_H_len$ (* (- 1) ?v0!15)) 0)))
(let (($x15737 (<= ?v0!15 4294967295)))
(let (($x19560 (not $x15737)))
(let (($x15736 (>= ?v0!15 0)))
(let (($x19559 (not $x15736)))
(let (($x19575 (or $x19559 $x19560 $x16009 $x16031)))
(let (($x19580 (not $x19575)))
(let (($x20044 (or $x19580 $x20041)))
(let (($x20047 (not $x20044)))
(let (($x10222 (= v_b_S_result_G_0$ v_b_L_H_max_G_1$)))
(let (($x19640 (not $x10222)))
(let (($x10220 (= v_b_SL_H_witness_G_2$ v_b_SL_H_witness_G_0$)))
(let (($x19639 (not $x10220)))
(let (($x10218 (= v_b_L_H_p_G_2$ v_b_L_H_p_G_0$)))
(let (($x19638 (not $x10218)))
(let (($x10216 (= v_b_L_H_max_G_4$ v_b_L_H_max_G_1$)))
(let (($x19637 (not $x10216)))
(let (($x11432 (>= v_b_SL_H_witness_G_0$ 0)))
(let (($x19501 (not $x11432)))
(let (($x11429 (>= v_b_L_H_p_G_0$ 1)))
(let (($x19474 (not $x11429)))
(let (($x15729 (not b_S_position_n_marker$)))
(let (($x20050 (or $x15729 $x19474 $x19501 $x19637 $x19638 $x19639 $x19640 $x20047)))
(let (($x20053 (not $x20050)))
(let (($x20056 (or $x15729 $x20053)))
(let (($x20059 (not $x20056)))
(let ((?x11484 (* (- 1) v_b_L_H_p_G_0$)))
(let ((?x11485 (+ v_b_P_H_len$ ?x11484)))
(let (($x11486 (<= ?x11485 0)))
(let (($x11487 (not $x11486)))
(let (($x20062 (or $x11487 $x19474 $x19501 $x20059)))
(let (($x20065 (not $x20062)))
(let ((?x10372 (b_S_idx$ ?x10078 v_b_SL_H_witness_G_1$ b_T_T_u1$)))
(let ((?x10373 (b_S_read_n_u1$ v_b_S_s$ ?x10372)))
(let (($x10374 (= ?x10373 v_b_L_H_max_G_3$)))
(let (($x19411 (not $x10374)))
(let (($x11647 (<= (+ v_b_P_H_len$ (* (- 1) v_b_SL_H_witness_G_1$)) 0)))
(let (($x19412 (or $x11647 $x19411)))
(let (($x19413 (not $x19412)))
(let (($x19906 (forall ((?v0 Int) )(! (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11633 (<= (+ ?x10163 ?x11631) 0)))
(let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11615 $x11633))))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704))
))
(let (($x19911 (not $x19906)))
(let (($x19914 (or $x19911 $x19413)))
(let (($x19917 (not $x19914)))
(let ((?x15633 (b_S_idx$ ?x10078 ?v0!14 b_T_T_u1$)))
(let ((?x15634 (b_S_read_n_u1$ v_b_S_s$ ?x15633)))
(let ((?x15891 (* (- 1) ?x15634)))
(let (($x15893 (>= (+ v_b_L_H_max_G_3$ ?x15891) 0)))
(let (($x15871 (<= (+ v_b_L_H_p_G_1$ (* (- 1) ?v0!14)) 0)))
(let (($x15627 (<= ?v0!14 4294967295)))
(let (($x19366 (not $x15627)))
(let (($x15626 (>= ?v0!14 0)))
(let (($x19365 (not $x15626)))
(let (($x19381 (or $x19365 $x19366 $x15871 $x15893)))
(let (($x19386 (not $x19381)))
(let (($x19920 (or $x19386 $x19917)))
(let (($x19923 (not $x19920)))
(let (($x11608 (>= (+ v_b_P_H_len$ (* (- 1) v_b_L_H_p_G_1$)) 0)))
(let (($x11612 (not $x11608)))
(let (($x19926 (or $x11612 $x19923)))
(let (($x19929 (not $x19926)))
(let (($x19932 (or $x11612 $x19929)))
(let (($x19935 (not $x19932)))
(let (($x11536 (>= v_b_SL_H_witness_G_1$ 0)))
(let (($x19455 (not $x11536)))
(let (($x11578 (>= v_b_L_H_p_G_1$ 2)))
(let (($x19454 (not $x11578)))
(let (($x10358 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_24$ b_H_loc_o_p$ v_b_L_H_p_G_1$ b_T_T_u4$)))
(let (($x19453 (not $x10358)))
(let ((?x11581 (* (- 1) v_b_L_H_p_G_1$)))
(let ((?x11582 (+ v_b_L_H_p_G_0$ ?x11581)))
(let (($x11580 (= ?x11582 (- 1))))
(let (($x19452 (not $x11580)))
(let (($x13353 (<= v_b_L_H_p_G_0$ 4294967294)))
(let (($x15614 (not $x13353)))
(let (($x11570 (>= v_b_L_H_p_G_0$ (- 1))))
(let (($x15611 (not $x11570)))
(let (($x19938 (or $x15611 $x15614 $x19452 $x19453 $x19454 $x19455 $x19935)))
(let (($x19941 (not $x19938)))
(let (($x19944 (or $x15611 $x15614 $x19941)))
(let (($x19947 (not $x19944)))
(let (($x10392 (= v_b_SL_H_witness_G_1$ v_b_SL_H_witness_G_0$)))
(let (($x19513 (not $x10392)))
(let (($x10391 (= v_b_L_H_max_G_3$ v_b_L_H_max_G_1$)))
(let (($x19512 (not $x10391)))
(let ((?x10320 (b_S_idx$ ?x10078 v_b_L_H_p_G_0$ b_T_T_u1$)))
(let ((?x10327 (b_S_read_n_u1$ v_b_S_s$ ?x10320)))
(let ((?x11517 (* (- 1) ?x10327)))
(let (($x11516 (>= (+ v_b_L_H_max_G_1$ ?x11517) 0)))
(let (($x11515 (not $x11516)))
(let (($x19980 (or $x11515 $x19501 $x19512 $x19513 $x19474 $x19455 $x19947)))
(let (($x19983 (not $x19980)))
(let (($x10340 (= v_b_SL_H_witness_G_1$ v_b_L_H_p_G_0$)))
(let (($x19473 (not $x10340)))
(let (($x10338 (= v_b_L_H_max_G_3$ v_b_L_H_max_G_2$)))
(let (($x19472 (not $x10338)))
(let (($x10335 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_24_o_47$ b_H_loc_o_witness$ v_b_L_H_p_G_0$ b_T_T_u4$)))
(let (($x19471 (not $x10335)))
(let (($x10334 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_23_o_7$ b_H_loc_o_max$ v_b_L_H_max_G_2$ b_T_T_u1$)))
(let (($x19470 (not $x10334)))
(let (($x10333 (= v_b_L_H_max_G_2$ ?x10327)))
(let (($x19469 (not $x10333)))
(let (($x10324 (b_S_thread_n_local$ v_b_S_s$ ?x10320)))
(let (($x15599 (not $x10324)))
(let (($x10321 (b_S_is$ ?x10320 b_T_T_u1$)))
(let (($x15590 (not $x10321)))
(let (($x19950 (or $x15590 $x15599 $x19469 $x19470 $x19471 $x19472 $x19473 $x19474 $x19455 $x19947)))
(let (($x19953 (not $x19950)))
(let (($x19956 (or $x15590 $x15599 $x19953)))
(let (($x19959 (not $x19956)))
(let (($x10322 (b_S_typed$ v_b_S_s$ ?x10320)))
(let (($x15593 (not $x10322)))
(let (($x19962 (or $x15590 $x15593 $x19959)))
(let (($x19965 (not $x19962)))
(let (($x19968 (or $x15590 $x15593 $x19965)))
(let (($x19971 (not $x19968)))
(let (($x19974 (or $x11516 $x19474 $x19501 $x19971)))
(let (($x19977 (not $x19974)))
(let (($x19986 (or $x19977 $x19983)))
(let (($x19989 (not $x19986)))
(let (($x19992 (or $x15590 $x15599 $x19474 $x19501 $x19989)))
(let (($x19995 (not $x19992)))
(let (($x19998 (or $x15590 $x15599 $x19995)))
(let (($x20001 (not $x19998)))
(let (($x20004 (or $x15590 $x15593 $x20001)))
(let (($x20007 (not $x20004)))
(let (($x20010 (or $x15590 $x15593 $x20007)))
(let (($x20013 (not $x20010)))
(let (($x20016 (or $x11486 $x19474 $x19501 $x20013)))
(let (($x20019 (not $x20016)))
(let (($x20068 (or $x20019 $x20065)))
(let (($x20071 (not $x20068)))
(let ((?x2238 (b_S_ptr_n_to$ b_T_T_u1$)))
(let (($x10296 (b_S_local_n_value_n_is_n_ptr$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_arr$ ?x10078 ?x2238)))
(let (($x19683 (not $x10296)))
(let ((?x10105 (b_S_ptr_n_to_n_int$ ?x10078)))
(let (($x10295 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_arr$ ?x10105 ?x2238)))
(let (($x19682 (not $x10295)))
(let (($x10294 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_len$ v_b_P_H_len$ b_T_T_u4$)))
(let (($x19681 (not $x10294)))
(let (($x10293 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_max$ v_b_L_H_max_G_1$ b_T_T_u1$)))
(let (($x19680 (not $x10293)))
(let (($x10292 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_witness$ v_b_SL_H_witness_G_0$ b_T_T_u4$)))
(let (($x19679 (not $x10292)))
(let (($x10291 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_p$ v_b_L_H_p_G_0$ b_T_T_u4$)))
(let (($x19678 (not $x10291)))
(let (($x10097 (b_S_full_n_stop$ v_b_S_s$)))
(let (($x19677 (not $x10097)))
(let (($x10204 (b_S_good_n_state_n_ext$ b_H_tok_S_1_T_16_o_3$ v_b_S_s$)))
(let (($x19676 (not $x10204)))
(let (($x10284 (b_S_call_n_transition$ v_b_S_s$ v_b_S_s$)))
(let (($x19675 (not $x10284)))
(let ((?x10190 (b_S_idx$ ?x10078 v_b_SL_H_witness_G_0$ b_T_T_u1$)))
(let ((?x10191 (b_S_read_n_u1$ v_b_S_s$ ?x10190)))
(let (($x10192 (= ?x10191 v_b_L_H_max_G_1$)))
(let (($x19674 (not $x10192)))
(let (($x11867 (<= (+ v_b_P_H_len$ (* (- 1) v_b_SL_H_witness_G_0$)) 0)))
(let (($x19898 (forall ((?v0 Int) )(! (let ((?x11887 (* (- 1) v_b_L_H_max_G_1$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11889 (<= (+ ?x10163 ?x11887) 0)))
(let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11871 $x11889))))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704))
))
(let (($x19903 (not $x19898)))
(let (($x11898 (>= ?x11485 0)))
(let (($x19672 (not $x11898)))
(let (($x13326 (<= v_b_L_H_p_G_0$ 4294967295)))
(let (($x19671 (not $x13326)))
(let (($x19670 (not $x11901)))
(let (($x13315 (<= v_b_SL_H_witness_G_0$ 4294967295)))
(let (($x19669 (not $x13315)))
(let (($x13304 (<= v_b_L_H_max_G_1$ 255)))
(let (($x19668 (not $x13304)))
(let (($x11911 (>= v_b_L_H_max_G_1$ 0)))
(let (($x19667 (not $x11911)))
(let ((?x10137 (b_S_idx$ ?x10078 0 b_T_T_u1$)))
(let ((?x10144 (b_S_read_n_u1$ v_b_S_s$ ?x10137)))
(let (($x10167 (= ?x10144 v_b_L_H_max_G_0$)))
(let (($x15548 (not $x10167)))
(let (($x11259 (<= v_b_P_H_len$ 0)))
(let (($x20074 (or $x11259 $x15548 $x19667 $x19668 $x19669 $x19670 $x19671 $x19672 $x19903 $x11867 $x19674 $x19675 $x19676 $x19677 $x19678 $x19679 $x19680 $x19681 $x19682 $x19683 $x19474 $x19501 $x20071)))
(let (($x20077 (not $x20074)))
(let (($x10145 (= v_b_L_H_max_G_0$ ?x10144)))
(let (($x20080 (or $x11259 $x15548 $x20077)))
(let (($x20083 (not $x20080)))
(let (($x19890 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0)))
(let (($x11388 (>= ?v0 1)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11388 $x11404)))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704))
))
(let (($x19895 (not $x19890)))
(let (($x20086 (or $x19895 $x20083)))
(let (($x20089 (not $x20086)))
(let ((?x15529 (b_S_idx$ ?x10078 ?v0!13 b_T_T_u1$)))
(let ((?x15530 (b_S_read_n_u1$ v_b_S_s$ ?x15529)))
(let ((?x15531 (* (- 1) ?x15530)))
(let (($x15533 (>= (+ v_b_L_H_max_G_0$ ?x15531) 0)))
(let (($x15525 (>= ?v0!13 1)))
(let (($x15524 (<= ?v0!13 4294967295)))
(let (($x19298 (not $x15524)))
(let (($x15523 (>= ?v0!13 0)))
(let (($x19297 (not $x15523)))
(let (($x19313 (or $x19297 $x19298 $x15525 $x15533)))
(let (($x19318 (not $x19313)))
(let (($x20092 (or $x19318 $x20089)))
(let (($x20095 (not $x20092)))
(let (($x11382 (>= v_b_P_H_len$ 1)))
(let (($x11385 (not $x11382)))
(let (($x20098 (or $x11385 $x20095)))
(let (($x20101 (not $x20098)))
(let (($x20104 (or $x11385 $x20101)))
(let (($x20107 (not $x20104)))
(let (($x10148 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_8$ b_H_loc_o_p$ 1 b_T_T_u4$)))
(let (($x19727 (not $x10148)))
(let (($x10147 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_14_o_3$ b_H_loc_o_witness$ 0 b_T_T_u4$)))
(let (($x19726 (not $x10147)))
(let (($x10146 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_12_o_3$ b_H_loc_o_max$ v_b_L_H_max_G_0$ b_T_T_u1$)))
(let (($x19725 (not $x10146)))
(let (($x19724 (not $x10145)))
(let (($x10141 (b_S_thread_n_local$ v_b_S_s$ ?x10137)))
(let (($x15511 (not $x10141)))
(let (($x10138 (b_S_is$ ?x10137 b_T_T_u1$)))
(let (($x15502 (not $x10138)))
(let (($x20110 (or $x15502 $x15511 $x19724 $x19725 $x19726 $x19727 $x20107)))
(let (($x20113 (not $x20110)))
(let (($x20116 (or $x15502 $x15511 $x20113)))
(let (($x20119 (not $x20116)))
(let (($x10139 (b_S_typed$ v_b_S_s$ ?x10137)))
(let (($x15505 (not $x10139)))
(let (($x20122 (or $x15502 $x15505 $x20119)))
(let (($x20125 (not $x20122)))
(let ((?x22478 (b_S_select_o_tm$ ?x10272 ?x10137)))
(let (($x22602 (b_S_ts_n_is_n_volatile$ ?x22478)))
(let (($x22603 (or $x15505 $x22602)))
(let (($x22604 (not $x22603)))
(let ((?x10079 (b_S_ref$ ?x10078)))
(let ((?x10080 (b_S_ptr$ ?x10076 ?x10079)))
(let ((?x21014 (b_S_ref$ ?x10080)))
(let ((?x21983 (b_S_ptr$ ?x10076 ?x21014)))
(let ((?x22343 (b_S_domain$ v_b_S_s$ ?x21983)))
(let (($x22596 (b_S_set_n_in$ ?x22595 ?x22343)))
(let (($x21179 (= ?x10079 v_b_P_H_arr$)))
(let (($x19835 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (= (b_S_ref$ (b_S_ptr$ ?v0 ?v1)) ?v1) :pattern ( (b_S_ptr$ ?v0 ?v1) ) :qid k!627))
))
(let (($x9655 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (= (b_S_ref$ (b_S_ptr$ ?v0 ?v1)) ?v1) :qid k!627))
))
(let (($x9654 (= (b_S_ref$ (b_S_ptr$ ?1 ?0)) ?0)))
(let ((@x15356 (mp~ (asserted $x9655) (nnf-pos (refl (~ $x9654 $x9654)) (~ $x9655 $x9655)) $x9655)))
(let ((@x19840 (mp @x15356 (quant-intro (refl (= $x9654 $x9654)) (= $x9655 $x19835)) $x19835)))
(let (($x21152 (not $x19835)))
(let (($x21184 (or $x21152 $x21179)))
(let ((@x21185 ((_ quant-inst b_T_T_u1$ v_b_P_H_arr$) $x21184)))
(let ((@x23445 (unit-resolution @x21185 @x19840 $x21179)))
(let ((@x23680 (monotonicity (symm @x23445 (= v_b_P_H_arr$ ?x10079)) (= ?x22595 ?x10080))))
(let (($x21990 (= ?x10080 ?x21983)))
(let (($x10084 (b_S_is$ ?x10080 ?x10076)))
(let (($x11245 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_P_H_len$)) 0)))
(let (($x11243 (>= v_b_P_H_len$ 0)))
(let (($x10439 (forall ((?v0 B_S_ptr$) )(! (let (($x10113 (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0)))
(not $x10113)) :pattern ( (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0) ) :qid k!704))
))
(let ((?x10111 (b_S_current_n_timestamp$ v_b_S_s$)))
(let (($x10112 (= v_b_H_wrTime_S_1_T_6_o_1$ ?x10111)))
(let (($x10109 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_6_o_1$ b_H_loc_o_len$ v_b_P_H_len$ b_T_T_u4$)))
(let (($x10107 (b_S_local_n_value_n_is_n_ptr$ v_b_S_s$ b_H_tok_S_1_T_6_o_1$ b_H_loc_o_arr$ ?x10078 ?x2238)))
(let (($x10106 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_6_o_1$ b_H_loc_o_arr$ ?x10105 ?x2238)))
(let (($x11256 (forall ((?v0 B_S_pure_n_function$) )(! (let (($x11251 (>= (+ (b_S_frame_n_level$ ?v0) (* (- 1) b_S_current_n_frame_n_level$)) 0)))
(not $x11251)) :pattern ( (b_S_frame_n_level$ ?v0) ) :qid k!704))
))
(let (($x10096 (b_S_good_n_state_n_ext$ b_H_tok_S_1_T_6_o_1$ v_b_S_s$)))
(let (($x10095 (b_S_function_n_entry$ v_b_S_s$)))
(let (($x10089 (b_S_is_n_non_n_primitive$ ?x10076)))
(let ((?x10086 (b_S_kind_n_of$ ?x10076)))
(let (($x10087 (= ?x10086 b_S_kind_n_primitive$)))
(let (($x10088 (not $x10087)))
(let (($x10085 (b_S_typed$ v_b_S_s$ ?x10080)))
(let ((?x10082 (b_S_owner$ v_b_S_s$ ?x10080)))
(let (($x10083 (= ?x10082 b_S_me$)))
(let (($x10081 (b_S_closed$ v_b_S_s$ ?x10080)))
(let (($x11260 (not $x11259)))
(let (($x11263 (>= v_b_P_H_len$ 1099511627776)))
(let (($x11264 (not $x11263)))
(let (($x11270 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_SL_H_witness$)) 0)))
(let (($x11268 (>= v_b_SL_H_witness$ 0)))
(let (($x11278 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_L_H_p$)) 0)))
(let (($x11276 (>= v_b_L_H_p$ 0)))
(let (($x11286 (>= (+ b_S_max_o_u1$ (* (- 1) v_b_L_H_max$)) 0)))
(let (($x11284 (>= v_b_L_H_max$ 0)))
(let (($x11342 (and $x11284 $x11286 $x11276 $x11278 $x11268 $x11270 $x11264 $x11260 $x10081 $x10083 $x10084 $x10085 $x10088 $x10089 $x10095 $x10096 $x10097 $x11256 $x10106 $x10107 $x10109 $x10112 $x10439 $x11243 $x11245)))
(let (($x11844 (exists ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x11802 (not $x11800)))
(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
(let ((?x3114 (+ ?v0 ?x3113)))
(let (($x3115 (<= ?x3114 0)))
(let (($x2815 (>= ?v0 0)))
(and $x2815 $x3115 $x11802 $x10238))))))))) :qid k!704))
))
(let (($x11824 (forall ((?v0 Int) )(! (let ((?x11816 (* (- 1) v_b_S_result_G_0$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11818 (<= (+ ?x10163 ?x11816) 0)))
(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x11802 (not $x11800)))
(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
(let ((?x3114 (+ ?v0 ?x3113)))
(let (($x3115 (<= ?x3114 0)))
(let (($x2815 (>= ?v0 0)))
(let (($x11808 (and $x2815 $x3115 $x11802)))
(let (($x11813 (not $x11808)))
(or $x11813 $x11818)))))))))))) :qid k!704))
))
(let (($x11827 (not $x11824)))
(let (($x11847 (or $x11827 $x11844)))
(let (($x11850 (and $x11824 $x11847)))
(let (($x11792 (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222)))
(let (($x11797 (not $x11792)))
(let (($x11853 (or $x11797 $x11850)))
(let (($x11856 (and b_S_position_n_marker$ $x11853)))
(let (($x11772 (and $x11486 $x11429 $x11432)))
(let (($x11777 (not $x11772)))
(let (($x11859 (or $x11777 $x11856)))
(let (($x11648 (not $x11647)))
(let (($x11651 (and $x11648 $x10374)))
(let (($x11639 (forall ((?v0 Int) )(! (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11633 (<= (+ ?x10163 ?x11631) 0)))
(let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0)))
(let (($x11617 (not $x11615)))
(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
(let ((?x3114 (+ ?v0 ?x3113)))
(let (($x3115 (<= ?x3114 0)))
(let (($x2815 (>= ?v0 0)))
(let (($x11623 (and $x2815 $x3115 $x11617)))
(let (($x11628 (not $x11623)))
(or $x11628 $x11633)))))))))))) :qid k!704))
))
(let (($x11642 (not $x11639)))
(let (($x11654 (or $x11642 $x11651)))
(let (($x11657 (and $x11639 $x11654)))
(let (($x11660 (or $x11612 $x11657)))
(let (($x11663 (and $x11608 $x11660)))
(let ((?x11574 (+ b_S_max_o_u4$ ?x11484)))
(let (($x11573 (>= ?x11574 1)))
(let (($x11600 (and $x11570 $x11573 $x11580 $x10358 $x11578 $x11536)))
(let (($x11605 (not $x11600)))
(let (($x11666 (or $x11605 $x11663)))
(let (($x11672 (and $x11570 $x11573 $x11666)))
(let (($x11725 (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536)))
(let (($x11730 (not $x11725)))
(let (($x11733 (or $x11730 $x11672)))
(let (($x11562 (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536)))
(let (($x11567 (not $x11562)))
(let (($x11677 (or $x11567 $x11672)))
(let (($x11683 (and $x10321 $x10324 $x11677)))
(let (($x10323 (and $x10321 $x10322)))
(let (($x11001 (not $x10323)))
(let (($x11688 (or $x11001 $x11683)))
(let (($x11694 (and $x10321 $x10322 $x11688)))
(let (($x11527 (and $x11515 $x11429 $x11432)))
(let (($x11532 (not $x11527)))
(let (($x11699 (or $x11532 $x11694)))
(let (($x11736 (and $x11699 $x11733)))
(let (($x11507 (and $x10321 $x10324 $x11429 $x11432)))
(let (($x11512 (not $x11507)))
(let (($x11739 (or $x11512 $x11736)))
(let (($x11745 (and $x10321 $x10324 $x11739)))
(let (($x11750 (or $x11001 $x11745)))
(let (($x11756 (and $x10321 $x10322 $x11750)))
(let (($x11496 (and $x11487 $x11429 $x11432)))
(let (($x11501 (not $x11496)))
(let (($x11761 (or $x11501 $x11756)))
(let (($x11862 (and $x11761 $x11859)))
(let (($x11476 (and $x10284 $x10204 $x10097 $x10291 $x10292 $x10293 $x10294 $x10295 $x10296 $x11429 $x11432)))
(let (($x11481 (not $x11476)))
(let (($x11868 (not $x11867)))
(let (($x11895 (forall ((?v0 Int) )(! (let ((?x11887 (* (- 1) v_b_L_H_max_G_1$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11889 (<= (+ ?x10163 ?x11887) 0)))
(let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0)))
(let (($x11873 (not $x11871)))
(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
(let ((?x3114 (+ ?v0 ?x3113)))
(let (($x3115 (<= ?x3114 0)))
(let (($x2815 (>= ?v0 0)))
(let (($x11879 (and $x2815 $x3115 $x11873)))
(let (($x11884 (not $x11879)))
(or $x11884 $x11889)))))))))))) :qid k!704))
))
(let (($x11904 (>= ?x11574 0)))
(let (($x11907 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_SL_H_witness_G_0$)) 0)))
(let (($x11914 (>= (+ b_S_max_o_u1$ (* (- 1) v_b_L_H_max_G_1$)) 0)))
(let (($x11957 (and $x11260 $x10167 $x11911 $x11914 $x11907 $x11901 $x11904 $x11898 $x11895 $x11868 $x10192 $x11429 $x11432)))
(let (($x11962 (not $x11957)))
(let (($x11971 (or $x11962 $x11481 $x11862)))
(let (($x11979 (and $x11260 $x10167 $x11971)))
(let (($x11411 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0)))
(let (($x11388 (>= ?v0 1)))
(let (($x11389 (not $x11388)))
(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
(let ((?x3114 (+ ?v0 ?x3113)))
(let (($x3115 (<= ?x3114 0)))
(let (($x2815 (>= ?v0 0)))
(let (($x11395 (and $x2815 $x3115 $x11389)))
(let (($x11400 (not $x11395)))
(or $x11400 $x11404))))))))))) :qid k!704))
))
(let (($x11414 (not $x11411)))
(let (($x11984 (or $x11414 $x11979)))
(let (($x11987 (and $x11411 $x11984)))
(let (($x11990 (or $x11385 $x11987)))
(let (($x11993 (and $x11382 $x11990)))
(let (($x11374 (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148)))
(let (($x11379 (not $x11374)))
(let (($x11996 (or $x11379 $x11993)))
(let (($x12002 (and $x10138 $x10141 $x11996)))
(let (($x10140 (and $x10138 $x10139)))
(let (($x11209 (not $x10140)))
(let (($x12007 (or $x11209 $x12002)))
(let (($x12013 (and $x10138 $x10139 $x12007)))
(let (($x10136 (b_S_in_n_domain_n_lab$ v_b_S_s$ ?x10080 ?x10080 b_l_H_public$)))
(let (($x11221 (not $x10136)))
(let (($x12018 (or $x11221 $x12013)))
(let (($x12021 (and $x10136 $x12018)))
(let (($x12027 (not (or (not $x11342) $x12021))))
(let (($x10242 (exists ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
(let (($x10233 (< ?v0 v_b_P_H_len$)))
(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
(let (($x2766 (<= 0 ?v0)))
(and $x2766 (and $x3097 (and $x10233 $x10238)))))))) :qid k!704))
))
(let (($x10244 (and $x10242 (=> $x10242 true))))
(let (($x10237 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10235 (<= ?x10163 v_b_S_result_G_0$)))
(let (($x10233 (< ?v0 v_b_P_H_len$)))
(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
(let (($x2766 (<= 0 ?v0)))
(let (($x3098 (and $x2766 $x3097)))
(let (($x10234 (and $x3098 $x10233)))
(=> $x10234 $x10235)))))))) :qid k!704))
))
(let (($x10245 (=> $x10237 $x10244)))
(let (($x10227 (and true (and $x10216 (and $x10218 (and $x10220 (and $x10222 true)))))))
(let (($x10174 (<= 0 v_b_SL_H_witness_G_0$)))
(let (($x10181 (<= 1 v_b_L_H_p_G_0$)))
(let (($x10182 (and $x10181 $x10174)))
(let (($x10230 (and true (and $x10182 (and $x10182 $x10227)))))
(let (($x10247 (=> (and b_S_position_n_marker$ (and $x10182 $x10230)) (and $x10237 $x10245))))
(let (($x10248 (and b_S_position_n_marker$ $x10247)))
(let (($x10206 (and true $x10182)))
(let (($x10207 (and $x10182 $x10206)))
(let (($x10411 (and $x10182 $x10207)))
(let (($x10412 (and true $x10411)))
(let (($x10413 (and $x10182 $x10412)))
(let (($x10410 (<= v_b_P_H_len$ v_b_L_H_p_G_0$)))
(let (($x10416 (and true (and $x10182 (and $x10410 $x10413)))))
(let (($x10417 (=> $x10416 $x10248)))
(let (($x10377 (=> (and (and (< v_b_SL_H_witness_G_1$ v_b_P_H_len$) $x10374) false) true)))
(let (($x10375 (and (< v_b_SL_H_witness_G_1$ v_b_P_H_len$) $x10374)))
(let (($x10378 (and $x10375 $x10377)))
(let (($x10370 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10368 (<= ?x10163 v_b_L_H_max_G_3$)))
(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
(let (($x2766 (<= 0 ?v0)))
(let (($x3098 (and $x2766 $x3097)))
(let (($x10367 (and $x3098 (< ?v0 v_b_L_H_p_G_1$))))
(=> $x10367 $x10368))))))) :qid k!704))
))
(let (($x10379 (=> $x10370 $x10378)))
(let (($x10365 (<= v_b_L_H_p_G_1$ v_b_P_H_len$)))
(let (($x10381 (=> $x10365 (and $x10370 $x10379))))
(let (($x10341 (<= 0 v_b_SL_H_witness_G_1$)))
(let (($x10360 (and (<= 2 v_b_L_H_p_G_1$) $x10341)))
(let (($x10363 (and (= v_b_L_H_p_G_1$ (+ v_b_L_H_p_G_0$ 1)) (and $x10358 (and $x10360 true)))))
(let (($x10355 (and (<= 0 (+ v_b_L_H_p_G_0$ 1)) (<= (+ v_b_L_H_p_G_0$ 1) b_S_max_o_u4$))))
(let (($x10383 (=> (and $x10355 $x10363) (and $x10365 $x10381))))
(let (($x10384 (and $x10355 $x10383)))
(let (($x10395 (and true (and $x10391 (and $x10392 (and true (and $x10181 $x10341)))))))
(let (($x10398 (and true (and $x10182 (and $x10182 $x10395)))))
(let (($x10390 (<= ?x10327 v_b_L_H_max_G_1$)))
(let (($x10402 (and true (and $x10182 (and $x10390 (and $x10182 $x10398))))))
(let (($x10403 (=> $x10402 $x10384)))
(let (($x10346 (and true (and $x10338 (and $x10340 (and true (and $x10181 $x10341)))))))
(let (($x10325 (and $x10321 $x10324)))
(let (($x10351 (and $x10325 (and $x10333 (and $x10334 (and $x10335 (and (and $x10181 $x10181) $x10346)))))))
(let (($x10385 (=> $x10351 $x10384)))
(let (($x10387 (=> $x10323 (and $x10325 $x10385))))
(let (($x10331 (and true (and $x10182 (and (< v_b_L_H_max_G_1$ ?x10327) $x10207)))))
(let (($x10389 (=> $x10331 (and $x10323 $x10387))))
(let (($x10326 (and $x10325 $x10182)))
(let (($x10405 (=> $x10326 (and $x10389 $x10403))))
(let (($x10407 (=> $x10323 (and $x10325 $x10405))))
(let (($x10319 (and true (and $x10182 (and (< v_b_L_H_p_G_0$ v_b_P_H_len$) $x10207)))))
(let (($x10409 (=> $x10319 (and $x10323 $x10407))))
(let (($x10300 (and (= ?x10272 ?x10272) (= (b_S_statusmap$ v_b_S_s$) (b_S_statusmap$ v_b_S_s$)))))
(let (($x10301 (and $x10300 $x10182)))
(let (($x10297 (and $x10295 $x10296)))
(let (($x10205 (and $x10204 $x10097)))
(let (($x10307 (and $x10205 (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x10301))))))))
(let (($x10283 (forall ((?v0 B_S_ptr$) )(! (let ((?x10280 (b_S_timestamp$ v_b_S_s$ ?v0)))
(<= ?x10280 ?x10280)) :pattern ( (b_S_timestamp$ v_b_S_s$ ?v0) ) :qid k!704))
))
(let (($x10286 (and (<= ?x10111 ?x10111) (and $x10283 $x10284))))
(let (($x10278 (forall ((?v0 B_S_ptr$) )(! (let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?v0)))
(let ((?x10272 (b_S_typemap$ v_b_S_s$)))
(let ((?x10273 (b_S_select_o_tm$ ?x10272 ?v0)))
(let (($x10275 (and (= ?x10273 ?x10273) $x10260)))
(=> $x10260 $x10275))))) :pattern ( (b_S_select_o_tm$ (b_S_typemap$ v_b_S_s$) ?v0) ) :qid k!704))
))
(let (($x10287 (and $x10278 $x10286)))
(let (($x10271 (forall ((?v0 B_S_ptr$) )(! (let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?v0)))
(let ((?x10256 (b_S_statusmap$ v_b_S_s$)))
(let ((?x10257 (b_S_select_o_sm$ ?x10256 ?v0)))
(let (($x10269 (and (= ?x10257 ?x10257) $x10260)))
(=> $x10260 $x10269))))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ v_b_S_s$) ?v0) ) :qid k!704))
))
(let (($x10288 (and $x10271 $x10287)))
(let (($x10267 (forall ((?v0 B_S_ptr$) )(! (let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?v0)))
(let ((?x10261 (b_S_memory$ v_b_S_s$)))
(let ((?x10262 (b_S_select_o_mem$ ?x10261 ?v0)))
(let (($x10264 (and (= ?x10262 ?x10262) $x10260)))
(=> $x10260 $x10264))))) :pattern ( (b_S_select_o_mem$ (b_S_memory$ v_b_S_s$) ?v0) ) :qid k!704))
))
(let (($x10289 (and $x10267 $x10288)))
(let (($x10259 (forall ((?v0 B_S_ptr$) )(! (let (($x10253 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_owner$ v_b_S_s$ ?v0))) b_S_kind_n_thread$)))
(=> (not $x10253) (not $x10253))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ v_b_S_s$) ?v0) ) :qid k!704))
))
(let (($x10290 (and $x10259 $x10289)))
(let (($x10311 (and true (and $x10182 (and $x10290 (and $x10286 $x10307))))))
(let (($x10313 (and true (and $x10182 $x10311))))
(let (($x10315 (and true (and $x10182 $x10313))))
(let (($x10419 (=> $x10315 (and $x10409 $x10417))))
(let (($x10203 (not true)))
(let (($x10212 (and $x10203 (and $x10182 (and true (and $x10182 (and $x10205 $x10207)))))))
(let (($x10213 (and $x10182 $x10212)))
(let (($x10214 (and true $x10213)))
(let (($x10249 (=> $x10214 $x10248)))
(let (($x10420 (and $x10249 $x10419)))
(let (($x10194 (and (and (< v_b_SL_H_witness_G_0$ v_b_P_H_len$) $x10192) $x10182)))
(let (($x10188 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10186 (<= ?x10163 v_b_L_H_max_G_1$)))
(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
(let (($x2766 (<= 0 ?v0)))
(let (($x3098 (and $x2766 $x3097)))
(let (($x10185 (and $x3098 (< ?v0 v_b_L_H_p_G_0$))))
(=> $x10185 $x10186))))))) :qid k!704))
))
(let (($x10183 (<= v_b_L_H_p_G_0$ v_b_P_H_len$)))
(let (($x10180 (and (<= 0 v_b_L_H_p_G_0$) (<= v_b_L_H_p_G_0$ b_S_max_o_u4$))))
(let (($x10176 (and $x10174 (<= v_b_SL_H_witness_G_0$ b_S_max_o_u4$))))
(let (($x10172 (and (<= 0 v_b_L_H_max_G_1$) (<= v_b_L_H_max_G_1$ b_S_max_o_u1$))))
(let (($x10200 (and $x10172 (and $x10176 (and $x10180 (and $x10182 (and $x10183 (and $x10188 $x10194))))))))
(let (($x10201 (and true $x10200)))
(let (($x10074 (< 0 v_b_P_H_len$)))
(let (($x10168 (and $x10074 $x10167)))
(let (($x10421 (=> (and $x10168 $x10201) $x10420)))
(let (($x10166 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10164 (<= ?x10163 v_b_L_H_max_G_0$)))
(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
(let (($x2766 (<= 0 ?v0)))
(let (($x3098 (and $x2766 $x3097)))
(let (($x10161 (and $x3098 (< ?v0 1))))
(=> $x10161 $x10164))))))) :qid k!704))
))
(let (($x10423 (=> $x10166 (and $x10168 $x10421))))
(let (($x10159 (<= 1 v_b_P_H_len$)))
(let (($x10425 (=> $x10159 (and $x10166 $x10423))))
(let (($x10149 (<= 1 1)))
(let (($x10154 (and $x10148 (and $x10149 (and $x10149 (and (<= 0 0) (<= 0 0)))))))
(let (($x10142 (and $x10138 $x10141)))
(let (($x10427 (=> (and $x10142 (and $x10145 (and $x10146 (and $x10147 $x10154)))) (and $x10159 $x10425))))
(let (($x10429 (=> $x10140 (and $x10142 $x10427))))
(let (($x10431 (=> $x10136 (and $x10140 $x10429))))
(let (($x10119 (and (<= 0 v_b_P_H_len$) (<= v_b_P_H_len$ b_S_max_o_u4$))))
(let (($x10116 (forall ((?v0 B_S_ptr$) )(! (let (($x10113 (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0)))
(= $x10113 false)) :pattern ( (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0) ) :qid k!704))
))
(let (($x10108 (and $x10106 $x10107)))
(let (($x10104 (forall ((?v0 B_S_pure_n_function$) )(! (let ((?x10100 (b_S_frame_n_level$ ?v0)))
(< ?x10100 b_S_current_n_frame_n_level$)) :pattern ( (b_S_frame_n_level$ ?v0) ) :qid k!704))
))
(let (($x10098 (and $x10096 $x10097)))
(let (($x10125 (and $x10098 (and $x10104 (and $x10108 (and $x10109 (and $x10112 (and $x10116 $x10119))))))))
(let (($x10127 (and true (and $x10095 $x10125))))
(let (($x10094 (and $x10081 (and $x10083 (and $x10084 (and $x10085 (and $x10088 $x10089)))))))
(let (($x10073 (< v_b_P_H_len$ 1099511627776)))
(let (($x10071 (and (<= 0 v_b_SL_H_witness$) (<= v_b_SL_H_witness$ b_S_max_o_u4$))))
(let (($x10067 (and (<= 0 v_b_L_H_p$) (<= v_b_L_H_p$ b_S_max_o_u4$))))
(let (($x10063 (and (<= 0 v_b_L_H_max$) (<= v_b_L_H_max$ b_S_max_o_u1$))))
(let (($x10133 (and $x10063 (and $x10067 (and $x10071 (and $x10073 (and $x10074 (and $x10094 $x10127))))))))
(let (($x10134 (and true $x10133)))
(let (($x10433 (=> $x10134 (and $x10136 $x10431))))
(let (($x10434 (not $x10433)))
(let (($x10649 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10235 (<= ?x10163 v_b_S_result_G_0$)))
(let (($x10233 (< ?v0 v_b_P_H_len$)))
(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
(let (($x2766 (<= 0 ?v0)))
(let (($x3098 (and $x2766 $x3097)))
(let (($x10234 (and $x3098 $x10233)))
(or (not $x10234) $x10235)))))))) :qid k!704))
))
(let (($x10665 (or (not $x10649) $x10242)))
(let (($x10670 (and $x10649 $x10665)))
(let (($x10616 (and $x10216 (and $x10218 (and $x10220 $x10222)))))
(let (($x10626 (and $x10182 $x10616)))
(let (($x10629 (and $x10182 $x10626)))
(let (($x10639 (and $x10182 $x10629)))
(let (($x10642 (and b_S_position_n_marker$ $x10639)))
(let (($x10677 (or (not $x10642) $x10670)))
(let (($x10682 (and b_S_position_n_marker$ $x10677)))
(let (($x11134 (or (not (and $x10182 (and $x10410 $x10182))) $x10682)))
(let (($x10931 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10368 (<= ?x10163 v_b_L_H_max_G_3$)))
(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
(let (($x2766 (<= 0 ?v0)))
(let (($x3098 (and $x2766 $x3097)))
(let (($x10367 (and $x3098 (< ?v0 v_b_L_H_p_G_1$))))
(or (not $x10367) $x10368))))))) :qid k!704))
))
(let (($x10954 (or (not $x10931) $x10375)))
(let (($x10959 (and $x10931 $x10954)))
(let (($x10966 (or (not $x10365) $x10959)))
(let (($x10971 (and $x10365 $x10966)))
(let (($x10918 (and $x10358 $x10360)))
(let ((?x10901 (+ 1 v_b_L_H_p_G_0$)))
(let (($x10913 (= v_b_L_H_p_G_1$ ?x10901)))
(let (($x10921 (and $x10913 $x10918)))
(let (($x10907 (<= ?x10901 b_S_max_o_u4$)))
(let (($x10904 (<= 0 ?x10901)))
(let (($x10910 (and $x10904 $x10907)))
(let (($x10924 (and $x10910 $x10921)))
(let (($x10978 (or (not $x10924) $x10971)))
(let (($x10983 (and $x10910 $x10978)))
(let (($x10342 (and $x10181 $x10341)))
(let (($x11019 (and $x10392 $x10342)))
(let (($x11022 (and $x10391 $x11019)))
(let (($x11032 (and $x10182 $x11022)))
(let (($x11035 (and $x10182 $x11032)))
(let (($x11045 (and $x10182 $x11035)))
(let (($x11048 (and $x10390 $x11045)))
(let (($x11051 (and $x10182 $x11048)))
(let (($x11065 (or (not $x11051) $x10983)))
(let (($x10873 (and $x10340 $x10342)))
(let (($x10876 (and $x10338 $x10873)))
(let (($x10886 (and $x10181 $x10876)))
(let (($x10889 (and $x10335 $x10886)))
(let (($x10892 (and $x10334 $x10889)))
(let (($x10895 (and $x10333 $x10892)))
(let (($x10898 (and $x10325 $x10895)))
(let (($x10990 (or (not $x10898) $x10983)))
(let (($x10995 (and $x10325 $x10990)))
(let (($x11002 (or $x11001 $x10995)))
(let (($x11007 (and $x10323 $x11002)))
(let (($x11014 (or (not (and $x10182 (and (< v_b_L_H_max_G_1$ ?x10327) $x10182))) $x11007)))
(let (($x11070 (and $x11014 $x11065)))
(let (($x11077 (or (not $x10326) $x11070)))
(let (($x11082 (and $x10325 $x11077)))
(let (($x11088 (or $x11001 $x11082)))
(let (($x11093 (and $x10323 $x11088)))
(let (($x11100 (or (not (and $x10182 (and (< v_b_L_H_p_G_0$ v_b_P_H_len$) $x10182))) $x11093)))
(let (($x11139 (and $x11100 $x11134)))
(let (($x10789 (and $x10297 $x10182)))
(let (($x10792 (and $x10294 $x10789)))
(let (($x10795 (and $x10293 $x10792)))
(let (($x10798 (and $x10292 $x10795)))
(let (($x10801 (and $x10291 $x10798)))
(let (($x10804 (and $x10205 $x10801)))
(let (($x10807 (and $x10286 $x10804)))
(let (($x10810 (and $x10286 $x10807)))
(let (($x10813 (and $x10182 $x10810)))
(let (($x10823 (and $x10182 $x10813)))
(let (($x10833 (and $x10182 $x10823)))
(let (($x11146 (or (not $x10833) $x11139)))
(let (($x10529 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10186 (<= ?x10163 v_b_L_H_max_G_1$)))
(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
(let (($x2766 (<= 0 ?v0)))
(let (($x3098 (and $x2766 $x3097)))
(let (($x10185 (and $x3098 (< ?v0 v_b_L_H_p_G_0$))))
(or (not $x10185) $x10186))))))) :qid k!704))
))
(let (($x10532 (and $x10529 $x10194)))
(let (($x10535 (and $x10183 $x10532)))
(let (($x10538 (and $x10182 $x10535)))
(let (($x10541 (and $x10180 $x10538)))
(let (($x10544 (and $x10176 $x10541)))
(let (($x10547 (and $x10172 $x10544)))
(let (($x10557 (and $x10168 $x10547)))
(let (($x11162 (or (not $x10557) $x11146)))
(let (($x11167 (and $x10168 $x11162)))
(let (($x10522 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10164 (<= ?x10163 v_b_L_H_max_G_0$)))
(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
(let (($x2766 (<= 0 ?v0)))
(let (($x3098 (and $x2766 $x3097)))
(let (($x10161 (and $x3098 (< ?v0 1))))
(or (not $x10161) $x10164))))))) :qid k!704))
))
(let (($x11174 (or (not $x10522) $x11167)))
(let (($x11179 (and $x10522 $x11174)))
(let (($x11186 (or (not $x10159) $x11179)))
(let (($x11191 (and $x10159 $x11186)))
(let (($x10150 (<= 0 0)))
(let (($x10497 (and $x10149 $x10150)))
(let (($x10500 (and $x10149 $x10497)))
(let (($x10503 (and $x10148 $x10500)))
(let (($x10506 (and $x10147 $x10503)))
(let (($x10509 (and $x10146 $x10506)))
(let (($x10512 (and $x10145 $x10509)))
(let (($x10515 (and $x10142 $x10512)))
(let (($x11198 (or (not $x10515) $x11191)))
(let (($x11203 (and $x10142 $x11198)))
(let (($x11210 (or $x11209 $x11203)))
(let (($x11215 (and $x10140 $x11210)))
(let (($x11222 (or $x11221 $x11215)))
(let (($x11227 (and $x10136 $x11222)))
(let (($x10442 (and $x10439 $x10119)))
(let (($x10445 (and $x10112 $x10442)))
(let (($x10448 (and $x10109 $x10445)))
(let (($x10451 (and $x10108 $x10448)))
(let (($x10454 (and $x10104 $x10451)))
(let (($x10457 (and $x10098 $x10454)))
(let (($x10460 (and $x10095 $x10457)))
(let (($x10470 (and $x10094 $x10460)))
(let (($x10473 (and $x10074 $x10470)))
(let (($x10476 (and $x10073 $x10473)))
(let (($x10479 (and $x10071 $x10476)))
(let (($x10482 (and $x10067 $x10479)))
(let (($x10485 (and $x10063 $x10482)))
(let (($x11234 (or (not $x10485) $x11227)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ ?x10078 ?0 b_T_T_u1$))))
(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
(let (($x11800 (>= (+ ?0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x11802 (not $x11800)))
(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
(let ((?x3114 (+ ?0 ?x3113)))
(let (($x3115 (<= ?x3114 0)))
(let (($x2815 (>= ?0 0)))
(let (($x11839 (and $x2815 $x3115 $x11802 $x10238)))
(let (($x2766 (<= 0 ?0)))
(let (($x10241 (and $x2766 (and (<= ?0 b_S_max_o_u4$) (and (< ?0 v_b_P_H_len$) $x10238)))))
(let (($x11834 (= (and (<= ?0 b_S_max_o_u4$) (and (< ?0 v_b_P_H_len$) $x10238)) (and $x3115 (and $x11802 $x10238)))))
(let ((@x11832 (monotonicity (rewrite (= (< ?0 v_b_P_H_len$) $x11802)) (= (and (< ?0 v_b_P_H_len$) $x10238) (and $x11802 $x10238)))))
(let ((@x2814 (rewrite (= $x2766 $x2815))))
(let ((@x11838 (monotonicity @x2814 (monotonicity (rewrite (= (<= ?0 b_S_max_o_u4$) $x3115)) @x11832 $x11834) (= $x10241 (and $x2815 (and $x3115 (and $x11802 $x10238)))))))
(let ((@x11843 (trans @x11838 (rewrite (= (and $x2815 (and $x3115 (and $x11802 $x10238))) $x11839)) (= $x10241 $x11839))))
(let (($x11818 (<= (+ ?x10163 (* (- 1) v_b_S_result_G_0$)) 0)))
(let (($x11808 (and $x2815 $x3115 $x11802)))
(let (($x11813 (not $x11808)))
(let (($x11821 (or $x11813 $x11818)))
(let (($x10235 (<= ?x10163 v_b_S_result_G_0$)))
(let (($x10233 (< ?0 v_b_P_H_len$)))
(let (($x3097 (<= ?0 b_S_max_o_u4$)))
(let (($x3098 (and $x2766 $x3097)))
(let (($x10234 (and $x3098 $x10233)))
(let (($x10646 (or (not $x10234) $x10235)))
(let ((@x3124 (monotonicity @x2814 (rewrite (= $x3097 $x3115)) (= $x3098 (and $x2815 $x3115)))))
(let ((@x11807 (monotonicity @x3124 (rewrite (= $x10233 $x11802)) (= $x10234 (and (and $x2815 $x3115) $x11802)))))
(let ((@x11812 (trans @x11807 (rewrite (= (and (and $x2815 $x3115) $x11802) $x11808)) (= $x10234 $x11808))))
(let ((@x11823 (monotonicity (monotonicity @x11812 (= (not $x10234) $x11813)) (rewrite (= $x10235 $x11818)) (= $x10646 $x11821))))
(let ((@x11829 (monotonicity (quant-intro @x11823 (= $x10649 $x11824)) (= (not $x10649) $x11827))))
(let ((@x11852 (monotonicity (quant-intro @x11823 (= $x10649 $x11824)) (monotonicity @x11829 (quant-intro @x11843 (= $x10242 $x11844)) (= $x10665 $x11847)) (= $x10670 $x11850))))
(let (($x11434 (and $x11429 $x11432)))
(let (($x11793 (= (and b_S_position_n_marker$ (and $x11434 (and $x11434 (and $x11434 $x10616)))) $x11792)))
(let (($x11790 (= $x10642 (and b_S_position_n_marker$ (and $x11434 (and $x11434 (and $x11434 $x10616)))))))
(let ((@x11430 (rewrite (= $x10181 $x11429))))
(let ((@x11436 (monotonicity @x11430 (rewrite (= $x10174 $x11432)) (= $x10182 $x11434))))
(let ((@x11785 (monotonicity @x11436 (monotonicity @x11436 (= $x10626 (and $x11434 $x10616))) (= $x10629 (and $x11434 (and $x11434 $x10616))))))
(let ((@x11788 (monotonicity @x11436 @x11785 (= $x10639 (and $x11434 (and $x11434 (and $x11434 $x10616)))))))
(let ((@x11799 (monotonicity (trans (monotonicity @x11788 $x11790) (rewrite $x11793) (= $x10642 $x11792)) (= (not $x10642) $x11797))))
(let ((@x11858 (monotonicity (monotonicity @x11799 @x11852 (= $x10677 $x11853)) (= $x10682 $x11856))))
(let ((@x11768 (monotonicity (rewrite (= $x10410 $x11486)) @x11436 (= (and $x10410 $x10182) (and $x11486 $x11434)))))
(let ((@x11771 (monotonicity @x11436 @x11768 (= (and $x10182 (and $x10410 $x10182)) (and $x11434 (and $x11486 $x11434))))))
(let ((@x11776 (trans @x11771 (rewrite (= (and $x11434 (and $x11486 $x11434)) $x11772)) (= (and $x10182 (and $x10410 $x10182)) $x11772))))
(let ((@x11861 (monotonicity (monotonicity @x11776 (= (not (and $x10182 (and $x10410 $x10182))) $x11777)) @x11858 (= $x11134 $x11859))))
(let ((@x11653 (monotonicity (rewrite (= (< v_b_SL_H_witness_G_1$ v_b_P_H_len$) $x11648)) (= $x10375 $x11651))))
(let (($x11633 (<= (+ ?x10163 (* (- 1) v_b_L_H_max_G_3$)) 0)))
(let (($x11615 (>= (+ ?0 ?x11581) 0)))
(let (($x11617 (not $x11615)))
(let (($x11623 (and $x2815 $x3115 $x11617)))
(let (($x11628 (not $x11623)))
(let (($x11636 (or $x11628 $x11633)))
(let (($x10368 (<= ?x10163 v_b_L_H_max_G_3$)))
(let (($x10928 (or (not (and $x3098 (< ?0 v_b_L_H_p_G_1$))) $x10368)))
(let ((@x11622 (monotonicity @x3124 (rewrite (= (< ?0 v_b_L_H_p_G_1$) $x11617)) (= (and $x3098 (< ?0 v_b_L_H_p_G_1$)) (and (and $x2815 $x3115) $x11617)))))
(let ((@x11627 (trans @x11622 (rewrite (= (and (and $x2815 $x3115) $x11617) $x11623)) (= (and $x3098 (< ?0 v_b_L_H_p_G_1$)) $x11623))))
(let ((@x11630 (monotonicity @x11627 (= (not (and $x3098 (< ?0 v_b_L_H_p_G_1$))) $x11628))))
(let ((@x11641 (quant-intro (monotonicity @x11630 (rewrite (= $x10368 $x11633)) (= $x10928 $x11636)) (= $x10931 $x11639))))
(let ((@x11656 (monotonicity (monotonicity @x11641 (= (not $x10931) $x11642)) @x11653 (= $x10954 $x11654))))
(let ((@x11662 (monotonicity (monotonicity (rewrite (= $x10365 $x11608)) (= (not $x10365) $x11612)) (monotonicity @x11641 @x11656 (= $x10959 $x11657)) (= $x10966 $x11660))))
(let (($x11601 (= (and (and $x11570 $x11573) (and $x11580 (and $x10358 (and $x11578 $x11536)))) $x11600)))
(let (($x11598 (= $x10924 (and (and $x11570 $x11573) (and $x11580 (and $x10358 (and $x11578 $x11536)))))))
(let ((@x11587 (monotonicity (rewrite (= (<= 2 v_b_L_H_p_G_1$) $x11578)) (rewrite (= $x10341 $x11536)) (= $x10360 (and $x11578 $x11536)))))
(let ((@x11593 (monotonicity (rewrite (= $x10913 $x11580)) (monotonicity @x11587 (= $x10918 (and $x10358 (and $x11578 $x11536)))) (= $x10921 (and $x11580 (and $x10358 (and $x11578 $x11536)))))))
(let ((@x11596 (monotonicity (rewrite (= $x10904 $x11570)) (rewrite (= $x10907 $x11573)) (= $x10910 (and $x11570 $x11573)))))
(let ((@x11607 (monotonicity (trans (monotonicity @x11596 @x11593 $x11598) (rewrite $x11601) (= $x10924 $x11600)) (= (not $x10924) $x11605))))
(let ((@x11668 (monotonicity @x11607 (monotonicity (rewrite (= $x10365 $x11608)) @x11662 (= $x10971 $x11663)) (= $x10978 $x11666))))
(let ((@x11676 (trans (monotonicity @x11596 @x11668 (= $x10983 (and (and $x11570 $x11573) $x11666))) (rewrite (= (and (and $x11570 $x11573) $x11666) $x11672)) (= $x10983 $x11672))))
(let (($x11716 (and $x11434 (and $x11434 (and $x11434 (and $x10391 (and $x10392 (and $x11429 $x11536))))))))
(let (($x11714 (= $x11035 (and $x11434 (and $x11434 (and $x10391 (and $x10392 (and $x11429 $x11536))))))))
(let ((@x11540 (monotonicity @x11430 (rewrite (= $x10341 $x11536)) (= $x10342 (and $x11429 $x11536)))))
(let ((@x11709 (monotonicity (monotonicity @x11540 (= $x11019 (and $x10392 (and $x11429 $x11536)))) (= $x11022 (and $x10391 (and $x10392 (and $x11429 $x11536)))))))
(let ((@x11712 (monotonicity @x11436 @x11709 (= $x11032 (and $x11434 (and $x10391 (and $x10392 (and $x11429 $x11536))))))))
(let ((@x11721 (monotonicity (rewrite (= $x10390 $x11516)) (monotonicity @x11436 (monotonicity @x11436 @x11712 $x11714) (= $x11045 $x11716)) (= $x11048 (and $x11516 $x11716)))))
(let ((@x11729 (trans (monotonicity @x11436 @x11721 (= $x11051 (and $x11434 (and $x11516 $x11716)))) (rewrite (= (and $x11434 (and $x11516 $x11716)) $x11725)) (= $x11051 $x11725))))
(let ((@x11735 (monotonicity (monotonicity @x11729 (= (not $x11051) $x11730)) @x11676 (= $x11065 $x11733))))
(let (($x11553 (and $x10334 (and $x10335 (and $x11429 (and $x10338 (and $x10340 (and $x11429 $x11536))))))))
(let (($x11551 (= $x10889 (and $x10335 (and $x11429 (and $x10338 (and $x10340 (and $x11429 $x11536))))))))
(let ((@x11546 (monotonicity (monotonicity @x11540 (= $x10873 (and $x10340 (and $x11429 $x11536)))) (= $x10876 (and $x10338 (and $x10340 (and $x11429 $x11536)))))))
(let ((@x11549 (monotonicity @x11430 @x11546 (= $x10886 (and $x11429 (and $x10338 (and $x10340 (and $x11429 $x11536))))))))
(let ((@x11558 (monotonicity (monotonicity (monotonicity @x11549 $x11551) (= $x10892 $x11553)) (= $x10895 (and $x10333 $x11553)))))
(let ((@x11566 (trans (monotonicity @x11558 (= $x10898 (and $x10325 (and $x10333 $x11553)))) (rewrite (= (and $x10325 (and $x10333 $x11553)) $x11562)) (= $x10898 $x11562))))
(let ((@x11679 (monotonicity (monotonicity @x11566 (= (not $x10898) $x11567)) @x11676 (= $x10990 $x11677))))
(let ((@x11687 (trans (monotonicity @x11679 (= $x10995 (and $x10325 $x11677))) (rewrite (= (and $x10325 $x11677) $x11683)) (= $x10995 $x11683))))
(let ((@x11693 (monotonicity (monotonicity @x11687 (= $x11002 $x11688)) (= $x11007 (and $x10323 $x11688)))))
(let (($x10328 (< v_b_L_H_max_G_1$ ?x10327)))
(let (($x10856 (and $x10328 $x10182)))
(let (($x10859 (and $x10182 $x10856)))
(let ((@x11523 (monotonicity (rewrite (= $x10328 $x11515)) @x11436 (= $x10856 (and $x11515 $x11434)))))
(let ((@x11531 (trans (monotonicity @x11436 @x11523 (= $x10859 (and $x11434 (and $x11515 $x11434)))) (rewrite (= (and $x11434 (and $x11515 $x11434)) $x11527)) (= $x10859 $x11527))))
(let ((@x11701 (monotonicity (monotonicity @x11531 (= (not $x10859) $x11532)) (trans @x11693 (rewrite (= (and $x10323 $x11688) $x11694)) (= $x11007 $x11694)) (= $x11014 $x11699))))
(let ((@x11511 (trans (monotonicity @x11436 (= $x10326 (and $x10325 $x11434))) (rewrite (= (and $x10325 $x11434) $x11507)) (= $x10326 $x11507))))
(let ((@x11741 (monotonicity (monotonicity @x11511 (= (not $x10326) $x11512)) (monotonicity @x11701 @x11735 (= $x11070 $x11736)) (= $x11077 $x11739))))
(let ((@x11749 (trans (monotonicity @x11741 (= $x11082 (and $x10325 $x11739))) (rewrite (= (and $x10325 $x11739) $x11745)) (= $x11082 $x11745))))
(let ((@x11755 (monotonicity (monotonicity @x11749 (= $x11088 $x11750)) (= $x11093 (and $x10323 $x11750)))))
(let (($x11502 (= (not (and $x10182 (and (< v_b_L_H_p_G_0$ v_b_P_H_len$) $x10182))) $x11501)))
(let (($x10316 (< v_b_L_H_p_G_0$ v_b_P_H_len$)))
(let (($x10843 (and $x10316 $x10182)))
(let (($x10846 (and $x10182 $x10843)))
(let ((@x11492 (monotonicity (rewrite (= $x10316 $x11487)) @x11436 (= $x10843 (and $x11487 $x11434)))))
(let ((@x11500 (trans (monotonicity @x11436 @x11492 (= $x10846 (and $x11434 (and $x11487 $x11434)))) (rewrite (= (and $x11434 (and $x11487 $x11434)) $x11496)) (= $x10846 $x11496))))
(let ((@x11763 (monotonicity (monotonicity @x11500 $x11502) (trans @x11755 (rewrite (= (and $x10323 $x11750) $x11756)) (= $x11093 $x11756)) (= $x11100 $x11761))))
(let (($x11452 (and $x10205 (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x11434))))))))
(let (($x11458 (and true (and true $x10284))))
(let (($x11477 (= (and $x11434 (and $x11434 (and $x11434 (and $x11458 (and $x11458 $x11452))))) $x11476)))
(let (($x11474 (= $x10833 (and $x11434 (and $x11434 (and $x11434 (and $x11458 (and $x11458 $x11452))))))))
(let (($x11450 (= $x10801 (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x11434))))))))
(let ((@x11442 (monotonicity (monotonicity @x11436 (= $x10789 (and $x10297 $x11434))) (= $x10792 (and $x10294 (and $x10297 $x11434))))))
(let ((@x11448 (monotonicity (monotonicity @x11442 (= $x10795 (and $x10293 (and $x10294 (and $x10297 $x11434))))) (= $x10798 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x11434))))))))
(let (($x11419 (forall ((?v0 B_S_ptr$) )(! true :pattern ( (b_S_timestamp$ v_b_S_s$ ?v0) ) :qid k!704))
))
(let (($x11417 (= (<= (b_S_timestamp$ v_b_S_s$ ?0) (b_S_timestamp$ v_b_S_s$ ?0)) true)))
(let ((@x11425 (trans (quant-intro (rewrite $x11417) (= $x10283 $x11419)) (elim-unused (= $x11419 true)) (= $x10283 true))))
(let ((@x11460 (monotonicity (rewrite (= (<= ?x10111 ?x10111) true)) (monotonicity @x11425 (= (and $x10283 $x10284) (and true $x10284))) (= $x10286 $x11458))))
(let ((@x11463 (monotonicity @x11460 (monotonicity (monotonicity @x11448 $x11450) (= $x10804 $x11452)) (= $x10807 (and $x11458 $x11452)))))
(let ((@x11469 (monotonicity @x11436 (monotonicity @x11460 @x11463 (= $x10810 (and $x11458 (and $x11458 $x11452)))) (= $x10813 (and $x11434 (and $x11458 (and $x11458 $x11452)))))))
(let ((@x11472 (monotonicity @x11436 @x11469 (= $x10823 (and $x11434 (and $x11434 (and $x11458 (and $x11458 $x11452))))))))
(let ((@x11483 (monotonicity (trans (monotonicity @x11436 @x11472 $x11474) (rewrite $x11477) (= $x10833 $x11476)) (= (not $x10833) $x11481))))
(let ((@x11967 (monotonicity @x11483 (monotonicity @x11763 @x11861 (= $x11139 $x11862)) (= $x11146 (or $x11481 $x11862)))))
(let (($x11936 (and (and $x11901 $x11904) (and $x11434 (and $x11898 (and $x11895 (and (and $x11868 $x10192) $x11434)))))))
(let (($x11951 (and $x11260 $x10167)))
(let (($x11958 (= (and $x11951 (and (and $x11911 $x11914) (and (and $x11432 $x11907) $x11936))) $x11957)))
(let (($x11955 (= $x10557 (and $x11951 (and (and $x11911 $x11914) (and (and $x11432 $x11907) $x11936))))))
(let (($x11931 (= $x10538 (and $x11434 (and $x11898 (and $x11895 (and (and $x11868 $x10192) $x11434)))))))
(let (($x11919 (= (and (< v_b_SL_H_witness_G_0$ v_b_P_H_len$) $x10192) (and $x11868 $x10192))))
(let ((@x11920 (monotonicity (rewrite (= (< v_b_SL_H_witness_G_0$ v_b_P_H_len$) $x11868)) $x11919)))
(let (($x11889 (<= (+ ?x10163 (* (- 1) v_b_L_H_max_G_1$)) 0)))
(let (($x11871 (>= (+ ?0 ?x11484) 0)))
(let (($x11873 (not $x11871)))
(let (($x11879 (and $x2815 $x3115 $x11873)))
(let (($x11884 (not $x11879)))
(let (($x11892 (or $x11884 $x11889)))
(let (($x10186 (<= ?x10163 v_b_L_H_max_G_1$)))
(let (($x10526 (or (not (and $x3098 (< ?0 v_b_L_H_p_G_0$))) $x10186)))
(let ((@x11878 (monotonicity @x3124 (rewrite (= (< ?0 v_b_L_H_p_G_0$) $x11873)) (= (and $x3098 (< ?0 v_b_L_H_p_G_0$)) (and (and $x2815 $x3115) $x11873)))))
(let ((@x11883 (trans @x11878 (rewrite (= (and (and $x2815 $x3115) $x11873) $x11879)) (= (and $x3098 (< ?0 v_b_L_H_p_G_0$)) $x11879))))
(let ((@x11886 (monotonicity @x11883 (= (not (and $x3098 (< ?0 v_b_L_H_p_G_0$))) $x11884))))
(let ((@x11897 (quant-intro (monotonicity @x11886 (rewrite (= $x10186 $x11889)) (= $x10526 $x11892)) (= $x10529 $x11895))))
(let ((@x11926 (monotonicity @x11897 (monotonicity @x11920 @x11436 (= $x10194 (and (and $x11868 $x10192) $x11434))) (= $x10532 (and $x11895 (and (and $x11868 $x10192) $x11434))))))
(let ((@x11929 (monotonicity (rewrite (= $x10183 $x11898)) @x11926 (= $x10535 (and $x11898 (and $x11895 (and (and $x11868 $x10192) $x11434)))))))
(let ((@x11935 (monotonicity (rewrite (= (<= 0 v_b_L_H_p_G_0$) $x11901)) (rewrite (= (<= v_b_L_H_p_G_0$ b_S_max_o_u4$) $x11904)) (= $x10180 (and $x11901 $x11904)))))
(let ((@x11941 (monotonicity (rewrite (= $x10174 $x11432)) (rewrite (= (<= v_b_SL_H_witness_G_0$ b_S_max_o_u4$) $x11907)) (= $x10176 (and $x11432 $x11907)))))
(let ((@x11944 (monotonicity @x11941 (monotonicity @x11935 (monotonicity @x11436 @x11929 $x11931) (= $x10541 $x11936)) (= $x10544 (and (and $x11432 $x11907) $x11936)))))
(let ((@x11947 (monotonicity (rewrite (= (<= 0 v_b_L_H_max_G_1$) $x11911)) (rewrite (= (<= v_b_L_H_max_G_1$ b_S_max_o_u1$) $x11914)) (= $x10172 (and $x11911 $x11914)))))
(let ((@x11950 (monotonicity @x11947 @x11944 (= $x10547 (and (and $x11911 $x11914) (and (and $x11432 $x11907) $x11936))))))
(let ((@x11956 (monotonicity (monotonicity (rewrite (= $x10074 $x11260)) (= $x10168 $x11951)) @x11950 $x11955)))
(let ((@x11964 (monotonicity (trans @x11956 (rewrite $x11958) (= $x10557 $x11957)) (= (not $x10557) $x11962))))
(let ((@x11975 (trans (monotonicity @x11964 @x11967 (= $x11162 (or $x11962 (or $x11481 $x11862)))) (rewrite (= (or $x11962 (or $x11481 $x11862)) $x11971)) (= $x11162 $x11971))))
(let ((@x11978 (monotonicity (monotonicity (rewrite (= $x10074 $x11260)) (= $x10168 $x11951)) @x11975 (= $x11167 (and $x11951 $x11971)))))
(let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0)))
(let (($x11388 (>= ?0 1)))
(let (($x11389 (not $x11388)))
(let (($x11395 (and $x2815 $x3115 $x11389)))
(let (($x11400 (not $x11395)))
(let (($x11408 (or $x11400 $x11404)))
(let (($x10164 (<= ?x10163 v_b_L_H_max_G_0$)))
(let (($x10519 (or (not (and $x3098 (< ?0 1))) $x10164)))
(let ((@x11394 (monotonicity @x3124 (rewrite (= (< ?0 1) $x11389)) (= (and $x3098 (< ?0 1)) (and (and $x2815 $x3115) $x11389)))))
(let ((@x11399 (trans @x11394 (rewrite (= (and (and $x2815 $x3115) $x11389) $x11395)) (= (and $x3098 (< ?0 1)) $x11395))))
(let ((@x11410 (monotonicity (monotonicity @x11399 (= (not (and $x3098 (< ?0 1))) $x11400)) (rewrite (= $x10164 $x11404)) (= $x10519 $x11408))))
(let ((@x11416 (monotonicity (quant-intro @x11410 (= $x10522 $x11411)) (= (not $x10522) $x11414))))
(let ((@x11986 (monotonicity @x11416 (trans @x11978 (rewrite (= (and $x11951 $x11971) $x11979)) (= $x11167 $x11979)) (= $x11174 $x11984))))
(let ((@x11992 (monotonicity (monotonicity (rewrite (= $x10159 $x11382)) (= (not $x10159) $x11385)) (monotonicity (quant-intro @x11410 (= $x10522 $x11411)) @x11986 (= $x11179 $x11987)) (= $x11186 $x11990))))
(let (($x11368 (and $x10145 (and $x10146 (and $x10147 (and $x10148 (and true (and true true))))))))
(let (($x11366 (= $x10509 (and $x10146 (and $x10147 (and $x10148 (and true (and true true))))))))
(let ((@x11355 (monotonicity (rewrite (= $x10149 true)) (rewrite (= $x10150 true)) (= $x10497 (and true true)))))
(let ((@x11358 (monotonicity (rewrite (= $x10149 true)) @x11355 (= $x10500 (and true (and true true))))))
(let ((@x11361 (monotonicity @x11358 (= $x10503 (and $x10148 (and true (and true true)))))))
(let ((@x11364 (monotonicity @x11361 (= $x10506 (and $x10147 (and $x10148 (and true (and true true))))))))
(let ((@x11373 (monotonicity (monotonicity (monotonicity @x11364 $x11366) (= $x10512 $x11368)) (= $x10515 (and $x10142 $x11368)))))
(let ((@x11381 (monotonicity (trans @x11373 (rewrite (= (and $x10142 $x11368) $x11374)) (= $x10515 $x11374)) (= (not $x10515) $x11379))))
(let ((@x11998 (monotonicity @x11381 (monotonicity (rewrite (= $x10159 $x11382)) @x11992 (= $x11191 $x11993)) (= $x11198 $x11996))))
(let ((@x12006 (trans (monotonicity @x11998 (= $x11203 (and $x10142 $x11996))) (rewrite (= (and $x10142 $x11996) $x12002)) (= $x11203 $x12002))))
(let ((@x12012 (monotonicity (monotonicity @x12006 (= $x11210 $x12007)) (= $x11215 (and $x10140 $x12007)))))
(let ((@x12020 (monotonicity (trans @x12012 (rewrite (= (and $x10140 $x12007) $x12013)) (= $x11215 $x12013)) (= $x11222 $x12018))))
(let (($x11306 (and $x11256 (and $x10108 (and $x10109 (and $x10112 (and $x10439 (and $x11243 $x11245))))))))
(let (($x11327 (and (and $x11268 $x11270) (and $x11264 (and $x11260 (and $x10094 (and $x10095 (and $x10098 $x11306))))))))
(let ((@x11344 (rewrite (= (and (and $x11284 $x11286) (and (and $x11276 $x11278) $x11327)) $x11342))))
(let (($x11322 (= $x10476 (and $x11264 (and $x11260 (and $x10094 (and $x10095 (and $x10098 $x11306))))))))
(let (($x11304 (= $x10451 (and $x10108 (and $x10109 (and $x10112 (and $x10439 (and $x11243 $x11245))))))))
(let ((@x11293 (monotonicity (rewrite (= (<= 0 v_b_P_H_len$) $x11243)) (rewrite (= (<= v_b_P_H_len$ b_S_max_o_u4$) $x11245)) (= $x10119 (and $x11243 $x11245)))))
(let ((@x11299 (monotonicity (monotonicity @x11293 (= $x10442 (and $x10439 (and $x11243 $x11245)))) (= $x10445 (and $x10112 (and $x10439 (and $x11243 $x11245)))))))
(let ((@x11302 (monotonicity @x11299 (= $x10448 (and $x10109 (and $x10112 (and $x10439 (and $x11243 $x11245))))))))
(let (($x11251 (>= (+ (b_S_frame_n_level$ ?0) (* (- 1) b_S_current_n_frame_n_level$)) 0)))
(let (($x11250 (not $x11251)))
(let ((@x11255 (rewrite (= (< (b_S_frame_n_level$ ?0) b_S_current_n_frame_n_level$) $x11250))))
(let ((@x11308 (monotonicity (quant-intro @x11255 (= $x10104 $x11256)) (monotonicity @x11302 $x11304) (= $x10454 $x11306))))
(let ((@x11314 (monotonicity (monotonicity @x11308 (= $x10457 (and $x10098 $x11306))) (= $x10460 (and $x10095 (and $x10098 $x11306))))))
(let ((@x11320 (monotonicity (rewrite (= $x10074 $x11260)) (monotonicity @x11314 (= $x10470 (and $x10094 (and $x10095 (and $x10098 $x11306))))) (= $x10473 (and $x11260 (and $x10094 (and $x10095 (and $x10098 $x11306))))))))
(let ((@x11326 (monotonicity (rewrite (= (<= 0 v_b_SL_H_witness$) $x11268)) (rewrite (= (<= v_b_SL_H_witness$ b_S_max_o_u4$) $x11270)) (= $x10071 (and $x11268 $x11270)))))
(let ((@x11329 (monotonicity @x11326 (monotonicity (rewrite (= $x10073 $x11264)) @x11320 $x11322) (= $x10479 $x11327))))
(let ((@x11332 (monotonicity (rewrite (= (<= 0 v_b_L_H_p$) $x11276)) (rewrite (= (<= v_b_L_H_p$ b_S_max_o_u4$) $x11278)) (= $x10067 (and $x11276 $x11278)))))
(let ((@x11338 (monotonicity (rewrite (= (<= 0 v_b_L_H_max$) $x11284)) (rewrite (= (<= v_b_L_H_max$ b_S_max_o_u1$) $x11286)) (= $x10063 (and $x11284 $x11286)))))
(let ((@x11341 (monotonicity @x11338 (monotonicity @x11332 @x11329 (= $x10482 (and (and $x11276 $x11278) $x11327))) (= $x10485 (and (and $x11284 $x11286) (and (and $x11276 $x11278) $x11327))))))
(let ((@x11349 (monotonicity (trans @x11341 @x11344 (= $x10485 $x11342)) (= (not $x10485) (not $x11342)))))
(let ((@x12026 (monotonicity @x11349 (monotonicity @x12020 (= $x11227 $x12021)) (= $x11234 (or (not $x11342) $x12021)))))
(let ((@x10656 (monotonicity (rewrite (= (=> $x10242 true) true)) (= $x10244 (and $x10242 true)))))
(let ((@x10663 (monotonicity (quant-intro (rewrite (= (=> $x10234 $x10235) $x10646)) (= $x10237 $x10649)) (trans @x10656 (rewrite (= (and $x10242 true) $x10242)) (= $x10244 $x10242)) (= $x10245 (=> $x10649 $x10242)))))
(let ((@x10672 (monotonicity (quant-intro (rewrite (= (=> $x10234 $x10235) $x10646)) (= $x10237 $x10649)) (trans @x10663 (rewrite (= (=> $x10649 $x10242) $x10665)) (= $x10245 $x10665)) (= (and $x10237 $x10245) $x10670))))
(let (($x10614 (= (and $x10218 (and $x10220 (and $x10222 true))) (and $x10218 (and $x10220 $x10222)))))
(let ((@x10612 (monotonicity (rewrite (= (and $x10222 true) $x10222)) (= (and $x10220 (and $x10222 true)) (and $x10220 $x10222)))))
(let ((@x10618 (monotonicity (monotonicity @x10612 $x10614) (= (and $x10216 (and $x10218 (and $x10220 (and $x10222 true)))) $x10616))))
(let ((@x10625 (trans (monotonicity @x10618 (= $x10227 (and true $x10616))) (rewrite (= (and true $x10616) $x10616)) (= $x10227 $x10616))))
(let ((@x10631 (monotonicity (monotonicity @x10625 (= (and $x10182 $x10227) $x10626)) (= (and $x10182 (and $x10182 $x10227)) $x10629))))
(let ((@x10638 (trans (monotonicity @x10631 (= $x10230 (and true $x10629))) (rewrite (= (and true $x10629) $x10629)) (= $x10230 $x10629))))
(let ((@x10644 (monotonicity (monotonicity @x10638 (= (and $x10182 $x10230) $x10639)) (= (and b_S_position_n_marker$ (and $x10182 $x10230)) $x10642))))
(let ((@x10681 (trans (monotonicity @x10644 @x10672 (= $x10247 (=> $x10642 $x10670))) (rewrite (= (=> $x10642 $x10670) $x10677)) (= $x10247 $x10677))))
(let (($x11117 (and $x10410 $x10182)))
(let (($x11120 (and $x10182 $x11117)))
(let ((@x10568 (rewrite (= (and $x10182 $x10182) $x10182))))
(let ((@x10563 (rewrite (= $x10206 $x10182))))
(let ((@x10570 (trans (monotonicity @x10563 (= $x10207 (and $x10182 $x10182))) @x10568 (= $x10207 $x10182))))
(let ((@x11108 (trans (monotonicity @x10570 (= $x10411 (and $x10182 $x10182))) @x10568 (= $x10411 $x10182))))
(let ((@x11114 (monotonicity (trans (monotonicity @x11108 (= $x10412 $x10206)) @x10563 (= $x10412 $x10182)) (= $x10413 (and $x10182 $x10182)))))
(let ((@x11119 (monotonicity (trans @x11114 @x10568 (= $x10413 $x10182)) (= (and $x10410 $x10413) $x11117))))
(let ((@x11125 (monotonicity (monotonicity @x11119 (= (and $x10182 (and $x10410 $x10413)) $x11120)) (= $x10416 (and true $x11120)))))
(let ((@x11132 (monotonicity (trans @x11125 (rewrite (= (and true $x11120) $x11120)) (= $x10416 $x11120)) (monotonicity @x10681 (= $x10248 $x10682)) (= $x10417 (=> $x11120 $x10682)))))
(let ((@x10938 (monotonicity (rewrite (= (and $x10375 false) false)) (= $x10377 (=> false true)))))
(let ((@x10942 (trans @x10938 (rewrite (= (=> false true) true)) (= $x10377 true))))
(let ((@x10949 (trans (monotonicity @x10942 (= $x10378 (and $x10375 true))) (rewrite (= (and $x10375 true) $x10375)) (= $x10378 $x10375))))
(let ((@x10933 (quant-intro (rewrite (= (=> (and $x3098 (< ?0 v_b_L_H_p_G_1$)) $x10368) $x10928)) (= $x10370 $x10931))))
(let ((@x10958 (trans (monotonicity @x10933 @x10949 (= $x10379 (=> $x10931 $x10375))) (rewrite (= (=> $x10931 $x10375) $x10954)) (= $x10379 $x10954))))
(let ((@x10964 (monotonicity (monotonicity @x10933 @x10958 (= (and $x10370 $x10379) $x10959)) (= $x10381 (=> $x10365 $x10959)))))
(let ((@x10973 (monotonicity (trans @x10964 (rewrite (= (=> $x10365 $x10959) $x10966)) (= $x10381 $x10966)) (= (and $x10365 $x10381) $x10971))))
(let ((@x10920 (monotonicity (rewrite (= (and $x10360 true) $x10360)) (= (and $x10358 (and $x10360 true)) $x10918))))
(let ((@x10903 (rewrite (= (+ v_b_L_H_p_G_0$ 1) ?x10901))))
(let ((@x10915 (monotonicity @x10903 (= (= v_b_L_H_p_G_1$ (+ v_b_L_H_p_G_0$ 1)) $x10913))))
(let ((@x10909 (monotonicity @x10903 (= (<= (+ v_b_L_H_p_G_0$ 1) b_S_max_o_u4$) $x10907))))
(let ((@x10912 (monotonicity (monotonicity @x10903 (= (<= 0 (+ v_b_L_H_p_G_0$ 1)) $x10904)) @x10909 (= $x10355 $x10910))))
(let ((@x10926 (monotonicity @x10912 (monotonicity @x10915 @x10920 (= $x10363 $x10921)) (= (and $x10355 $x10363) $x10924))))
(let ((@x10982 (trans (monotonicity @x10926 @x10973 (= $x10383 (=> $x10924 $x10971))) (rewrite (= (=> $x10924 $x10971) $x10978)) (= $x10383 $x10978))))
(let ((@x11021 (monotonicity (rewrite (= (and true $x10342) $x10342)) (= (and $x10392 (and true $x10342)) $x11019))))
(let ((@x11024 (monotonicity @x11021 (= (and $x10391 (and $x10392 (and true $x10342))) $x11022))))
(let ((@x11031 (trans (monotonicity @x11024 (= $x10395 (and true $x11022))) (rewrite (= (and true $x11022) $x11022)) (= $x10395 $x11022))))
(let ((@x11037 (monotonicity (monotonicity @x11031 (= (and $x10182 $x10395) $x11032)) (= (and $x10182 (and $x10182 $x10395)) $x11035))))
(let ((@x11044 (trans (monotonicity @x11037 (= $x10398 (and true $x11035))) (rewrite (= (and true $x11035) $x11035)) (= $x10398 $x11035))))
(let ((@x11050 (monotonicity (monotonicity @x11044 (= (and $x10182 $x10398) $x11045)) (= (and $x10390 (and $x10182 $x10398)) $x11048))))
(let ((@x11056 (monotonicity (monotonicity @x11050 (= (and $x10182 (and $x10390 (and $x10182 $x10398))) $x11051)) (= $x10402 (and true $x11051)))))
(let ((@x11063 (monotonicity (trans @x11056 (rewrite (= (and true $x11051) $x11051)) (= $x10402 $x11051)) (monotonicity @x10912 @x10982 (= $x10384 $x10983)) (= $x10403 (=> $x11051 $x10983)))))
(let (($x10896 (= (and $x10333 (and $x10334 (and $x10335 (and (and $x10181 $x10181) $x10346)))) $x10895)))
(let ((@x10875 (monotonicity (rewrite (= (and true $x10342) $x10342)) (= (and $x10340 (and true $x10342)) $x10873))))
(let ((@x10878 (monotonicity @x10875 (= (and $x10338 (and $x10340 (and true $x10342))) $x10876))))
(let ((@x10885 (trans (monotonicity @x10878 (= $x10346 (and true $x10876))) (rewrite (= (and true $x10876) $x10876)) (= $x10346 $x10876))))
(let ((@x10888 (monotonicity (rewrite (= (and $x10181 $x10181) $x10181)) @x10885 (= (and (and $x10181 $x10181) $x10346) $x10886))))
(let ((@x10894 (monotonicity (monotonicity @x10888 (= (and $x10335 (and (and $x10181 $x10181) $x10346)) $x10889)) (= (and $x10334 (and $x10335 (and (and $x10181 $x10181) $x10346))) $x10892))))
(let ((@x10988 (monotonicity (monotonicity (monotonicity @x10894 $x10896) (= $x10351 $x10898)) (monotonicity @x10912 @x10982 (= $x10384 $x10983)) (= $x10385 (=> $x10898 $x10983)))))
(let ((@x10997 (monotonicity (trans @x10988 (rewrite (= (=> $x10898 $x10983) $x10990)) (= $x10385 $x10990)) (= (and $x10325 $x10385) $x10995))))
(let ((@x11006 (trans (monotonicity @x10997 (= $x10387 (=> $x10323 $x10995))) (rewrite (= (=> $x10323 $x10995) $x11002)) (= $x10387 $x11002))))
(let ((@x10861 (monotonicity (monotonicity @x10570 (= (and $x10328 $x10207) $x10856)) (= (and $x10182 (and $x10328 $x10207)) $x10859))))
(let ((@x10868 (trans (monotonicity @x10861 (= $x10331 (and true $x10859))) (rewrite (= (and true $x10859) $x10859)) (= $x10331 $x10859))))
(let ((@x11012 (monotonicity @x10868 (monotonicity @x11006 (= (and $x10323 $x10387) $x11007)) (= $x10389 (=> $x10859 $x11007)))))
(let ((@x11072 (monotonicity (trans @x11012 (rewrite (= (=> $x10859 $x11007) $x11014)) (= $x10389 $x11014)) (trans @x11063 (rewrite (= (=> $x11051 $x10983) $x11065)) (= $x10403 $x11065)) (= (and $x10389 $x10403) $x11070))))
(let ((@x11081 (trans (monotonicity @x11072 (= $x10405 (=> $x10326 $x11070))) (rewrite (= (=> $x10326 $x11070) $x11077)) (= $x10405 $x11077))))
(let ((@x11087 (monotonicity (monotonicity @x11081 (= (and $x10325 $x10405) $x11082)) (= $x10407 (=> $x10323 $x11082)))))
(let ((@x11095 (monotonicity (trans @x11087 (rewrite (= (=> $x10323 $x11082) $x11088)) (= $x10407 $x11088)) (= (and $x10323 $x10407) $x11093))))
(let ((@x10848 (monotonicity (monotonicity @x10570 (= (and $x10316 $x10207) $x10843)) (= (and $x10182 (and $x10316 $x10207)) $x10846))))
(let ((@x10855 (trans (monotonicity @x10848 (= $x10319 (and true $x10846))) (rewrite (= (and true $x10846) $x10846)) (= $x10319 $x10846))))
(let ((@x11104 (trans (monotonicity @x10855 @x11095 (= $x10409 (=> $x10846 $x11093))) (rewrite (= (=> $x10846 $x11093) $x11100)) (= $x10409 $x11100))))
(let ((@x11141 (monotonicity @x11104 (trans @x11132 (rewrite (= (=> $x11120 $x10682) $x11134)) (= $x10417 $x11134)) (= (and $x10409 $x10417) $x11139))))
(let (($x10802 (= (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x10301))))) $x10801)))
(let ((@x10777 (rewrite (= (= (b_S_statusmap$ v_b_S_s$) (b_S_statusmap$ v_b_S_s$)) true))))
(let ((@x10780 (monotonicity (rewrite (= (= ?x10272 ?x10272) true)) @x10777 (= $x10300 (and true true)))))
(let ((@x10784 (trans @x10780 (rewrite (= (and true true) true)) (= $x10300 true))))
(let ((@x10791 (monotonicity (trans (monotonicity @x10784 (= $x10301 $x10206)) @x10563 (= $x10301 $x10182)) (= (and $x10297 $x10301) $x10789))))
(let ((@x10797 (monotonicity (monotonicity @x10791 (= (and $x10294 (and $x10297 $x10301)) $x10792)) (= (and $x10293 (and $x10294 (and $x10297 $x10301))) $x10795))))
(let ((@x10800 (monotonicity @x10797 (= (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x10301)))) $x10798))))
(let ((@x10809 (monotonicity (monotonicity (monotonicity @x10800 $x10802) (= $x10307 $x10804)) (= (and $x10286 $x10307) $x10807))))
(let ((@x10759 (rewrite (= (and true $x10286) $x10286))))
(let (($x10748 (forall ((?v0 B_S_ptr$) )(! true :pattern ( (b_S_select_o_tm$ (b_S_typemap$ v_b_S_s$) ?v0) ) :qid k!704))
))
(let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?0)))
(let (($x10275 (and (= (b_S_select_o_tm$ ?x10272 ?0) (b_S_select_o_tm$ ?x10272 ?0)) $x10260)))
(let (($x10276 (=> $x10260 $x10275)))
(let ((@x10714 (rewrite (= (=> $x10260 $x10260) true))))
(let ((@x10707 (rewrite (= (and true $x10260) $x10260))))
(let (($x10738 (= (= (b_S_select_o_tm$ ?x10272 ?0) (b_S_select_o_tm$ ?x10272 ?0)) true)))
(let ((@x10743 (trans (monotonicity (rewrite $x10738) (= $x10275 (and true $x10260))) @x10707 (= $x10275 $x10260))))
(let ((@x10747 (trans (monotonicity @x10743 (= $x10276 (=> $x10260 $x10260))) @x10714 (= $x10276 true))))
(let ((@x10754 (trans (quant-intro @x10747 (= $x10278 $x10748)) (elim-unused (= $x10748 true)) (= $x10278 true))))
(let ((@x10761 (trans (monotonicity @x10754 (= $x10287 (and true $x10286))) @x10759 (= $x10287 $x10286))))
(let (($x10694 (forall ((?v0 B_S_ptr$) )(! true :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ v_b_S_s$) ?v0) ) :qid k!704))
))
(let ((?x10256 (b_S_statusmap$ v_b_S_s$)))
(let ((?x10257 (b_S_select_o_sm$ ?x10256 ?0)))
(let (($x10269 (and (= ?x10257 ?x10257) $x10260)))
(let (($x10270 (=> $x10260 $x10269)))
(let ((@x10727 (monotonicity (rewrite (= (= ?x10257 ?x10257) true)) (= $x10269 (and true $x10260)))))
(let ((@x10731 (monotonicity (trans @x10727 @x10707 (= $x10269 $x10260)) (= $x10270 (=> $x10260 $x10260)))))
(let ((@x10737 (trans (quant-intro (trans @x10731 @x10714 (= $x10270 true)) (= $x10271 $x10694)) (elim-unused (= $x10694 true)) (= $x10271 true))))
(let ((@x10765 (trans (monotonicity @x10737 @x10761 (= $x10288 (and true $x10286))) @x10759 (= $x10288 $x10286))))
(let (($x10717 (forall ((?v0 B_S_ptr$) )(! true :pattern ( (b_S_select_o_mem$ (b_S_memory$ v_b_S_s$) ?v0) ) :qid k!704))
))
(let ((?x10261 (b_S_memory$ v_b_S_s$)))
(let ((?x10262 (b_S_select_o_mem$ ?x10261 ?0)))
(let (($x10264 (and (= ?x10262 ?x10262) $x10260)))
(let (($x10265 (=> $x10260 $x10264)))
(let ((@x10705 (monotonicity (rewrite (= (= ?x10262 ?x10262) true)) (= $x10264 (and true $x10260)))))
(let ((@x10712 (monotonicity (trans @x10705 @x10707 (= $x10264 $x10260)) (= $x10265 (=> $x10260 $x10260)))))
(let ((@x10723 (trans (quant-intro (trans @x10712 @x10714 (= $x10265 true)) (= $x10267 $x10717)) (elim-unused (= $x10717 true)) (= $x10267 true))))
(let ((@x10769 (trans (monotonicity @x10723 @x10765 (= $x10289 (and true $x10286))) @x10759 (= $x10289 $x10286))))
(let (($x10253 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_owner$ v_b_S_s$ ?0))) b_S_kind_n_thread$)))
(let ((@x10696 (quant-intro (rewrite (= (=> (not $x10253) (not $x10253)) true)) (= $x10259 $x10694))))
(let ((@x10771 (monotonicity (trans @x10696 (elim-unused (= $x10694 true)) (= $x10259 true)) @x10769 (= $x10290 (and true $x10286)))))
(let ((@x10812 (monotonicity (trans @x10771 @x10759 (= $x10290 $x10286)) @x10809 (= (and $x10290 (and $x10286 $x10307)) $x10810))))
(let ((@x10818 (monotonicity (monotonicity @x10812 (= (and $x10182 (and $x10290 (and $x10286 $x10307))) $x10813)) (= $x10311 (and true $x10813)))))
(let ((@x10825 (monotonicity (trans @x10818 (rewrite (= (and true $x10813) $x10813)) (= $x10311 $x10813)) (= (and $x10182 $x10311) $x10823))))
(let ((@x10832 (trans (monotonicity @x10825 (= $x10313 (and true $x10823))) (rewrite (= (and true $x10823) $x10823)) (= $x10313 $x10823))))
(let ((@x10838 (monotonicity (monotonicity @x10832 (= (and $x10182 $x10313) $x10833)) (= $x10315 (and true $x10833)))))
(let ((@x11144 (monotonicity (trans @x10838 (rewrite (= (and true $x10833) $x10833)) (= $x10315 $x10833)) @x11141 (= $x10419 (=> $x10833 $x11139)))))
(let ((@x10591 (rewrite (= (and false (and $x10182 (and $x10182 (and $x10205 $x10182)))) false))))
(let (($x10585 (= (and $x10182 (and true (and $x10182 (and $x10205 $x10207)))) (and $x10182 (and $x10182 (and $x10205 $x10182))))))
(let (($x10574 (and $x10182 (and $x10205 $x10182))))
(let (($x10210 (and true (and $x10182 (and $x10205 $x10207)))))
(let ((@x10576 (monotonicity (monotonicity @x10570 (= (and $x10205 $x10207) (and $x10205 $x10182))) (= (and $x10182 (and $x10205 $x10207)) $x10574))))
(let ((@x10583 (trans (monotonicity @x10576 (= $x10210 (and true $x10574))) (rewrite (= (and true $x10574) $x10574)) (= $x10210 $x10574))))
(let ((@x10589 (monotonicity (rewrite (= $x10203 false)) (monotonicity @x10583 $x10585) (= $x10212 (and false (and $x10182 $x10574))))))
(let ((@x10596 (monotonicity (trans @x10589 @x10591 (= $x10212 false)) (= $x10213 (and $x10182 false)))))
(let ((@x10600 (trans @x10596 (rewrite (= (and $x10182 false) false)) (= $x10213 false))))
(let ((@x10607 (trans (monotonicity @x10600 (= $x10214 (and true false))) (rewrite (= (and true false) false)) (= $x10214 false))))
(let ((@x10687 (monotonicity @x10607 (monotonicity @x10681 (= $x10248 $x10682)) (= $x10249 (=> false $x10682)))))
(let ((@x10691 (trans @x10687 (rewrite (= (=> false $x10682) true)) (= $x10249 true))))
(let ((@x11153 (monotonicity @x10691 (trans @x11144 (rewrite (= (=> $x10833 $x11139) $x11146)) (= $x10419 $x11146)) (= $x10420 (and true $x11146)))))
(let (($x10545 (= (and $x10176 (and $x10180 (and $x10182 (and $x10183 (and $x10188 $x10194))))) $x10544)))
(let ((@x10531 (quant-intro (rewrite (= (=> (and $x3098 (< ?0 v_b_L_H_p_G_0$)) $x10186) $x10526)) (= $x10188 $x10529))))
(let ((@x10537 (monotonicity (monotonicity @x10531 (= (and $x10188 $x10194) $x10532)) (= (and $x10183 (and $x10188 $x10194)) $x10535))))
(let ((@x10543 (monotonicity (monotonicity @x10537 (= (and $x10182 (and $x10183 (and $x10188 $x10194))) $x10538)) (= (and $x10180 (and $x10182 (and $x10183 (and $x10188 $x10194)))) $x10541))))
(let ((@x10552 (monotonicity (monotonicity (monotonicity @x10543 $x10545) (= $x10200 $x10547)) (= $x10201 (and true $x10547)))))
(let ((@x10559 (monotonicity (trans @x10552 (rewrite (= (and true $x10547) $x10547)) (= $x10201 $x10547)) (= (and $x10168 $x10201) $x10557))))
(let ((@x11160 (monotonicity @x10559 (trans @x11153 (rewrite (= (and true $x11146) $x11146)) (= $x10420 $x11146)) (= $x10421 (=> $x10557 $x11146)))))
(let ((@x11169 (monotonicity (trans @x11160 (rewrite (= (=> $x10557 $x11146) $x11162)) (= $x10421 $x11162)) (= (and $x10168 $x10421) $x11167))))
(let ((@x10524 (quant-intro (rewrite (= (=> (and $x3098 (< ?0 1)) $x10164) $x10519)) (= $x10166 $x10522))))
(let ((@x11178 (trans (monotonicity @x10524 @x11169 (= $x10423 (=> $x10522 $x11167))) (rewrite (= (=> $x10522 $x11167) $x11174)) (= $x10423 $x11174))))
(let ((@x11184 (monotonicity (monotonicity @x10524 @x11178 (= (and $x10166 $x10423) $x11179)) (= $x10425 (=> $x10159 $x11179)))))
(let ((@x11193 (monotonicity (trans @x11184 (rewrite (= (=> $x10159 $x11179) $x11186)) (= $x10425 $x11186)) (= (and $x10159 $x10425) $x11191))))
(let ((@x10499 (monotonicity (rewrite (= (and $x10150 $x10150) $x10150)) (= (and $x10149 (and $x10150 $x10150)) $x10497))))
(let ((@x10505 (monotonicity (monotonicity @x10499 (= (and $x10149 (and $x10149 (and $x10150 $x10150))) $x10500)) (= $x10154 $x10503))))
(let ((@x10511 (monotonicity (monotonicity @x10505 (= (and $x10147 $x10154) $x10506)) (= (and $x10146 (and $x10147 $x10154)) $x10509))))
(let ((@x10517 (monotonicity (monotonicity @x10511 (= (and $x10145 (and $x10146 (and $x10147 $x10154))) $x10512)) (= (and $x10142 (and $x10145 (and $x10146 (and $x10147 $x10154)))) $x10515))))
(let ((@x11202 (trans (monotonicity @x10517 @x11193 (= $x10427 (=> $x10515 $x11191))) (rewrite (= (=> $x10515 $x11191) $x11198)) (= $x10427 $x11198))))
(let ((@x11208 (monotonicity (monotonicity @x11202 (= (and $x10142 $x10427) $x11203)) (= $x10429 (=> $x10140 $x11203)))))
(let ((@x11217 (monotonicity (trans @x11208 (rewrite (= (=> $x10140 $x11203) $x11210)) (= $x10429 $x11210)) (= (and $x10140 $x10429) $x11215))))
(let ((@x11226 (trans (monotonicity @x11217 (= $x10431 (=> $x10136 $x11215))) (rewrite (= (=> $x10136 $x11215) $x11222)) (= $x10431 $x11222))))
(let (($x10483 (= (and $x10067 (and $x10071 (and $x10073 (and $x10074 (and $x10094 $x10127))))) $x10482)))
(let (($x10455 (= (and $x10104 (and $x10108 (and $x10109 (and $x10112 (and $x10116 $x10119))))) $x10454)))
(let (($x10113 (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?0)))
(let (($x10436 (not $x10113)))
(let ((@x10444 (monotonicity (quant-intro (rewrite (= (= $x10113 false) $x10436)) (= $x10116 $x10439)) (= (and $x10116 $x10119) $x10442))))
(let ((@x10450 (monotonicity (monotonicity @x10444 (= (and $x10112 (and $x10116 $x10119)) $x10445)) (= (and $x10109 (and $x10112 (and $x10116 $x10119))) $x10448))))
(let ((@x10453 (monotonicity @x10450 (= (and $x10108 (and $x10109 (and $x10112 (and $x10116 $x10119)))) $x10451))))
(let ((@x10462 (monotonicity (monotonicity (monotonicity @x10453 $x10455) (= $x10125 $x10457)) (= (and $x10095 $x10125) $x10460))))
(let ((@x10469 (trans (monotonicity @x10462 (= $x10127 (and true $x10460))) (rewrite (= (and true $x10460) $x10460)) (= $x10127 $x10460))))
(let ((@x10475 (monotonicity (monotonicity @x10469 (= (and $x10094 $x10127) $x10470)) (= (and $x10074 (and $x10094 $x10127)) $x10473))))
(let ((@x10481 (monotonicity (monotonicity @x10475 (= (and $x10073 (and $x10074 (and $x10094 $x10127))) $x10476)) (= (and $x10071 (and $x10073 (and $x10074 (and $x10094 $x10127)))) $x10479))))
(let ((@x10490 (monotonicity (monotonicity (monotonicity @x10481 $x10483) (= $x10133 $x10485)) (= $x10134 (and true $x10485)))))
(let ((@x11232 (monotonicity (trans @x10490 (rewrite (= (and true $x10485) $x10485)) (= $x10134 $x10485)) (monotonicity @x11226 (= (and $x10136 $x10431) $x11227)) (= $x10433 (=> $x10485 $x11227)))))
(let ((@x11241 (monotonicity (trans @x11232 (rewrite (= (=> $x10485 $x11227) $x11234)) (= $x10433 $x11234)) (= $x10434 (not $x11234)))))
(let ((@x12031 (trans @x11241 (monotonicity @x12026 (= (not $x11234) $x12027)) (= $x10434 $x12027))))
(let ((@x12033 (not-or-elim (mp (asserted $x10434) @x12031 $x12027) $x11342)))
(let ((@x12044 (and-elim @x12033 $x10084)))
(let (($x9607 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (or (not (b_S_is$ ?v0 ?v1)) (= ?v0 (b_S_ptr$ ?v1 (b_S_ref$ ?v0)))) :pattern ( (b_S_is$ ?v0 ?v1) ) :qid k!622))
))
(let (($x9604 (or (not (b_S_is$ ?1 ?0)) (= ?1 (b_S_ptr$ ?0 (b_S_ref$ ?1))))))
(let (($x9601 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (let (($x9596 (b_S_is$ ?v0 ?v1)))
(=> $x9596 (= ?v0 (b_S_ptr$ ?v1 (b_S_ref$ ?v0))))) :pattern ( (b_S_is$ ?v0 ?v1) ) :qid k!622))
))
(let (($x9605 (= (=> (b_S_is$ ?1 ?0) (= ?1 (b_S_ptr$ ?0 (b_S_ref$ ?1)))) $x9604)))
(let ((@x15336 (mp~ (mp (asserted $x9601) (quant-intro (rewrite $x9605) (= $x9601 $x9607)) $x9607) (nnf-pos (refl (~ $x9604 $x9604)) (~ $x9607 $x9607)) $x9607)))
(let (($x21982 (not $x10084)))
(let (($x21994 (not $x9607)))
(let (($x21995 (or $x21994 $x21982 $x21990)))
(let ((@x22000 (mp ((_ quant-inst (b_S_ptr$ ?x10076 ?x10079) (b_S_array$ b_T_T_u1$ v_b_P_H_len$)) (or $x21994 (or $x21982 $x21990))) (rewrite (= (or $x21994 (or $x21982 $x21990)) $x21995)) $x21995)))
(let ((@x23670 (symm (unit-resolution @x22000 @x15336 @x12044 $x21990) (= ?x21983 ?x10080))))
(let ((@x23502 (monotonicity (trans @x23670 (symm @x23680 (= ?x10080 ?x22595)) (= ?x21983 ?x22595)) (= (b_S_set_n_in$ ?x21983 ?x22343) $x22596))))
(let (($x22344 (b_S_set_n_in$ ?x21983 ?x22343)))
(let (($x22362 (forall ((?v3 B_S_ptr$) )(! (let ((?x10078 (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$)))
(let ((?x10079 (b_S_ref$ ?x10078)))
(let ((?x10076 (b_S_array$ b_T_T_u1$ v_b_P_H_len$)))
(let ((?x10080 (b_S_ptr$ ?x10076 ?x10079)))
(let ((?x21014 (b_S_ref$ ?x10080)))
(let ((?x21983 (b_S_ptr$ ?x10076 ?x21014)))
(let ((?x22357 (b_S_read_n_version$ v_b_S_s$ ?x21983)))
(let ((?x22358 (b_S_ver_n_domain$ ?x22357)))
(let ((?x22234 (b_S_typ$ ?x21983)))
(let (($x22353 (b_S_has_n_volatile_n_owns_n_set$ ?x22234)))
(or $x22353 (not (b_S_set_n_in$ ?v3 (b_S_owns$ v_b_S_s$ ?x21983))) (b_S_set_n_in2$ ?v3 ?x22358)))))))))))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ v_b_S_s$ (b_S_ptr$ (b_S_array$ b_T_T_u1$ v_b_P_H_len$) (b_S_ref$ (b_S_ptr$ (b_S_array$ b_T_T_u1$ v_b_P_H_len$) (b_S_ref$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$))))))) ) :qid k!564))
))
(let (($x22363 (not $x22362)))
(let (($x22248 (b_S_closed$ v_b_S_s$ ?x21983)))
(let (($x22272 (not $x22248)))
(let (($x22352 (not $x22344)))
(let (($x22364 (or $x22352 $x22272 $x22363)))
(let (($x22365 (not $x22364)))
(let (($x22318 (b_S_in_n_domain$ v_b_S_s$ ?x21983 ?x21983)))
(let (($x22317 (b_S_in_n_domain_n_lab$ v_b_S_s$ ?x21983 ?x21983 b_l_H_public$)))
(let (($x22326 (= $x22317 $x22318)))
(let (($x8728 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) (?v3 B_S_label$) )(! (let (($x8719 (b_S_in_n_domain$ ?v0 ?v1 ?v2)))
(let (($x8718 (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3)))
(= $x8718 $x8719))) :pattern ( (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3) ) :qid k!567))
))
(let (($x8719 (b_S_in_n_domain$ ?3 ?2 ?1)))
(let (($x8718 (b_S_in_n_domain_n_lab$ ?3 ?2 ?1 ?0)))
(let (($x8725 (= $x8718 $x8719)))
(let (($x8723 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) (?v3 B_S_label$) )(! (let (($x8719 (b_S_in_n_domain$ ?v0 ?v1 ?v2)))
(let (($x8718 (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3)))
(= $x8718 $x8719))) :pattern ( (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3) ) :qid k!567))
))
(let ((@x8733 (mp (asserted $x8723) (quant-intro (rewrite (= (= $x8718 $x8719) $x8725)) (= $x8723 $x8728)) $x8728)))
(let ((@x15021 (mp~ @x8733 (nnf-pos (refl (~ $x8725 $x8725)) (~ $x8728 $x8728)) $x8728)))
(let (($x22699 (or (not $x8728) $x22326)))
(let ((@x23229 ((_ quant-inst v_b_S_s$ (b_S_ptr$ ?x10076 ?x21014) (b_S_ptr$ ?x10076 ?x21014) b_l_H_public$) $x22699)))
(let ((@x22990 (unit-resolution @x23229 @x15021 $x22326)))
(let ((@x23563 (symm (monotonicity @x23670 @x23670 (= $x22317 $x10136)) (= $x10136 $x22317))))
(let (($x35 (= b_S_kind_n_primitive$ b_S_kind_n_array$)))
(let (($x36 (not $x35)))
(let (($x22421 (= $x36 (not (= (b_S_kind_n_of$ (b_S_typ$ ?x21983)) b_S_kind_n_primitive$)))))
(let ((?x22234 (b_S_typ$ ?x21983)))
(let ((?x22387 (b_S_kind_n_of$ ?x22234)))
(let (($x22388 (= ?x22387 b_S_kind_n_primitive$)))
(let (($x22148 (= ?x10086 b_S_kind_n_array$)))
(let (($x21115 (b_S_is_n_arraytype$ ?x10076)))
(let (($x22149 (= $x21115 $x22148)))
(let (($x9869 (forall ((?v0 B_S_ctype$) )(! (let ((?x9849 (b_S_kind_n_of$ ?v0)))
(let (($x9861 (= ?x9849 b_S_kind_n_array$)))
(let (($x7848 (b_S_is_n_arraytype$ ?v0)))
(= $x7848 $x9861)))) :pattern ( (b_S_is_n_arraytype$ ?v0) ) :qid k!662))
))
(let ((?x9849 (b_S_kind_n_of$ ?0)))
(let (($x9861 (= ?x9849 b_S_kind_n_array$)))
(let (($x7848 (b_S_is_n_arraytype$ ?0)))
(let (($x9866 (= $x7848 $x9861)))
(let (($x9864 (forall ((?v0 B_S_ctype$) )(! (let ((?x9849 (b_S_kind_n_of$ ?v0)))
(let (($x9861 (= ?x9849 b_S_kind_n_array$)))
(let (($x7848 (b_S_is_n_arraytype$ ?v0)))
(= $x7848 $x9861)))) :pattern ( (b_S_is_n_arraytype$ ?v0) ) :qid k!662))
))
(let ((@x9874 (mp (asserted $x9864) (quant-intro (rewrite (= (= $x7848 $x9861) $x9866)) (= $x9864 $x9869)) $x9869)))
(let ((@x15446 (mp~ @x9874 (nnf-pos (refl (~ $x9866 $x9866)) (~ $x9869 $x9869)) $x9869)))
(let (($x22159 (or (not $x9869) $x22149)))
(let ((@x22160 ((_ quant-inst (b_S_array$ b_T_T_u1$ v_b_P_H_len$)) $x22159)))
(let (($x7229 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (let ((?x6561 (b_S_array$ ?v0 ?v1)))
(b_S_is_n_arraytype$ ?x6561)) :pattern ( (b_S_array$ ?v0 ?v1) ) :qid k!502))
))
(let ((?x6561 (b_S_array$ ?1 ?0)))
(let (($x7228 (b_S_is_n_arraytype$ ?x6561)))
(let ((@x14576 (mp~ (asserted $x7229) (nnf-pos (refl (~ $x7228 $x7228)) (~ $x7229 $x7229)) $x7229)))
(let (($x21122 (or (not $x7229) $x21115)))
(let ((@x21123 ((_ quant-inst b_T_T_u1$ v_b_P_H_len$) $x21122)))
(let ((@x22382 (unit-resolution (def-axiom (or (not $x22149) (not $x21115) $x22148)) (unit-resolution @x21123 @x14576 $x21115) (or (not $x22149) $x22148))))
(let ((?x21180 (b_S_typ$ ?x10080)))
(let (($x21183 (= ?x21180 ?x10076)))
(let (($x19841 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (= (b_S_typ$ (b_S_ptr$ ?v0 ?v1)) ?v0) :pattern ( (b_S_ptr$ ?v0 ?v1) ) :qid k!628))
))
(let (($x9659 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (= (b_S_typ$ (b_S_ptr$ ?v0 ?v1)) ?v0) :qid k!628))
))
(let (($x9658 (= (b_S_typ$ (b_S_ptr$ ?1 ?0)) ?1)))
(let ((@x15361 (mp~ (asserted $x9659) (nnf-pos (refl (~ $x9658 $x9658)) (~ $x9659 $x9659)) $x9659)))
(let ((@x19846 (mp @x15361 (quant-intro (refl (= $x9658 $x9658)) (= $x9659 $x19841)) $x19841)))
(let (($x21147 (not $x19841)))
(let (($x21188 (or $x21147 $x21183)))
(let ((@x21189 ((_ quant-inst (b_S_array$ b_T_T_u1$ v_b_P_H_len$) (b_S_ref$ ?x10078)) $x21188)))
(let ((@x22406 (trans (monotonicity @x23670 (= ?x22234 ?x21180)) (unit-resolution @x21189 @x19846 $x21183) (= ?x22234 ?x10076))))
(let ((@x22335 (trans (monotonicity @x22406 (= ?x22387 ?x10086)) (unit-resolution @x22382 (unit-resolution @x22160 @x15446 $x22149) $x22148) (= ?x22387 b_S_kind_n_array$))))
(let ((@x22369 (monotonicity @x22335 (= $x22388 (= b_S_kind_n_array$ b_S_kind_n_primitive$)))))
(let ((@x22393 (trans @x22369 (commutativity (= (= b_S_kind_n_array$ b_S_kind_n_primitive$) $x35)) (= $x22388 $x35))))
(let (($x41 (= b_S_kind_n_thread$ b_S_kind_n_array$)))
(let (($x42 (not $x41)))
(let (($x39 (= b_S_kind_n_composite$ b_S_kind_n_array$)))
(let (($x40 (not $x39)))
(let (($x37 (= b_S_kind_n_composite$ b_S_kind_n_thread$)))
(let (($x38 (not $x37)))
(let (($x32 (= b_S_kind_n_primitive$ b_S_kind_n_thread$)))
(let (($x33 (not $x32)))
(let (($x29 (= b_S_kind_n_primitive$ b_S_kind_n_composite$)))
(let (($x30 (not $x29)))
(let (($x67 (and $x30 $x33 $x36 $x38 $x40 $x42)))
(let (($x48 (and $x30 (and $x33 (and $x36 (and $x38 (and $x40 (and $x42 true))))))))
(let (($x68 (= (and $x30 (and $x33 (and $x36 (and $x38 (and $x40 $x42))))) $x67)))
(let (($x65 (= $x48 (and $x30 (and $x33 (and $x36 (and $x38 (and $x40 $x42))))))))
(let (($x62 (= (and $x33 (and $x36 (and $x38 (and $x40 (and $x42 true))))) (and $x33 (and $x36 (and $x38 (and $x40 $x42)))))))
(let (($x59 (= (and $x36 (and $x38 (and $x40 (and $x42 true)))) (and $x36 (and $x38 (and $x40 $x42))))))
(let (($x56 (= (and $x38 (and $x40 (and $x42 true))) (and $x38 (and $x40 $x42)))))
(let ((@x54 (monotonicity (rewrite (= (and $x42 true) $x42)) (= (and $x40 (and $x42 true)) (and $x40 $x42)))))
(let ((@x66 (monotonicity (monotonicity (monotonicity (monotonicity @x54 $x56) $x59) $x62) $x65)))
(let ((@x72 (mp (asserted $x48) (trans @x66 (rewrite $x68) (= $x48 $x67)) $x67)))
(let ((@x75 (and-elim @x72 $x36)))
(let (($x22333 (not $x22318)))
(let (($x22336 (not $x22317)))
(let ((@x22397 (unit-resolution (def-axiom (or (not $x22326) $x22317 $x22333)) (mp (hypothesis $x11221) (monotonicity @x23563 (= $x11221 $x22336)) $x22336) @x22990 $x22333)))
(let (($x22368 (b_S_is$ ?x21983 ?x22234)))
(let ((@x23420 (mp @x12044 (symm (monotonicity @x23670 @x22406 (= $x22368 $x10084)) (= $x10084 $x22368)) $x22368)))
(let (($x22385 (b_S_typed$ v_b_S_s$ ?x21983)))
(let ((@x12045 (and-elim @x12033 $x10085)))
(let ((@x22419 (mp @x12045 (symm (monotonicity @x23670 (= $x22385 $x10085)) (= $x10085 $x22385)) $x22385)))
(let ((?x22243 (b_S_owner$ v_b_S_s$ ?x21983)))
(let (($x22259 (= ?x22243 b_S_me$)))
(let ((@x12043 (and-elim @x12033 $x10083)))
(let ((@x12042 (and-elim @x12033 $x10081)))
(let ((@x22437 (mp @x12042 (symm (monotonicity @x23670 (= $x22248 $x10081)) (= $x10081 $x22248)) $x22248)))
(let (($x22235 (b_S_is_n_non_n_primitive$ ?x22234)))
(let ((@x12047 (and-elim @x12033 $x10089)))
(let ((@x22500 (mp @x12047 (symm (monotonicity @x22406 (= $x22235 $x10089)) (= $x10089 $x22235)) $x22235)))
(let ((@x12050 (and-elim @x12033 $x10097)))
(let (($x18905 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1)))
(let ((?x2247 (b_S_typ$ ?v1)))
(let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247)))
(let (($x9239 (not $x2351)))
(let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$)))
(let (($x2488 (b_S_typed$ ?v0 ?v1)))
(let (($x9531 (not $x2488)))
(let (($x2487 (b_S_is$ ?v1 ?x2247)))
(let (($x16299 (not $x2487)))
(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
(let (($x2486 (= ?x2484 b_S_me$)))
(let (($x16298 (not $x2486)))
(let (($x2471 (b_S_closed$ ?v0 ?v1)))
(let (($x9185 (not $x2471)))
(let (($x2687 (b_S_full_n_stop$ ?v0)))
(let (($x16426 (not $x2687)))
(or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239 $x8613))))))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ) :qid k!563))
))
(let (($x8634 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1)))
(let ((?x2247 (b_S_typ$ ?v1)))
(let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247)))
(let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$)))
(let (($x2294 (not $x2249)))
(let (($x2488 (b_S_typed$ ?v0 ?v1)))
(let (($x2487 (b_S_is$ ?v1 ?x2247)))
(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
(let (($x2486 (= ?x2484 b_S_me$)))
(let (($x2471 (b_S_closed$ ?v0 ?v1)))
(let (($x2687 (b_S_full_n_stop$ ?v0)))
(let (($x8625 (and $x2687 $x2471 $x2486 $x2487 $x2488 $x2294 $x2351)))
(let (($x8628 (not $x8625)))
(or $x8628 $x8613)))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ) :qid k!563))
))
(let (($x8613 (b_S_in_n_domain$ ?1 ?0 ?0)))
(let ((?x2247 (b_S_typ$ ?0)))
(let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247)))
(let (($x9239 (not $x2351)))
(let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$)))
(let (($x2488 (b_S_typed$ ?1 ?0)))
(let (($x9531 (not $x2488)))
(let (($x2487 (b_S_is$ ?0 ?x2247)))
(let (($x16299 (not $x2487)))
(let ((?x2484 (b_S_owner$ ?1 ?0)))
(let (($x2486 (= ?x2484 b_S_me$)))
(let (($x16298 (not $x2486)))
(let (($x2471 (b_S_closed$ ?1 ?0)))
(let (($x9185 (not $x2471)))
(let (($x2687 (b_S_full_n_stop$ ?1)))
(let (($x16426 (not $x2687)))
(let (($x18900 (or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239 $x8613)))
(let (($x2294 (not $x2249)))
(let (($x8625 (and $x2687 $x2471 $x2486 $x2487 $x2488 $x2294 $x2351)))
(let (($x8628 (not $x8625)))
(let (($x8631 (or $x8628 $x8613)))
(let ((@x18902 (rewrite (= (or (or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239) $x8613) $x18900))))
(let (($x18886 (or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239)))
(let ((@x18892 (monotonicity (rewrite (= $x8625 (not $x18886))) (= $x8628 (not (not $x18886))))))
(let ((@x18899 (monotonicity (trans @x18892 (rewrite (= (not (not $x18886)) $x18886)) (= $x8628 $x18886)) (= $x8631 (or $x18886 $x8613)))))
(let (($x8616 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1)))
(let ((?x2247 (b_S_typ$ ?v1)))
(let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247)))
(let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$)))
(let (($x2294 (not $x2249)))
(let (($x2488 (b_S_typed$ ?v0 ?v1)))
(let (($x2487 (b_S_is$ ?v1 ?x2247)))
(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
(let (($x2486 (= ?x2484 b_S_me$)))
(let (($x2471 (b_S_closed$ ?v0 ?v1)))
(let (($x2687 (b_S_full_n_stop$ ?v0)))
(let (($x8612 (and $x2687 (and $x2471 (and $x2486 (and $x2487 (and $x2488 (and $x2294 $x2351))))))))
(=> $x8612 $x8613))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ) :qid k!563))
))
(let (($x8622 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1)))
(let ((?x2247 (b_S_typ$ ?v1)))
(let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247)))
(let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$)))
(let (($x2294 (not $x2249)))
(let (($x2488 (b_S_typed$ ?v0 ?v1)))
(let (($x2487 (b_S_is$ ?v1 ?x2247)))
(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
(let (($x2486 (= ?x2484 b_S_me$)))
(let (($x2471 (b_S_closed$ ?v0 ?v1)))
(let (($x2687 (b_S_full_n_stop$ ?v0)))
(let (($x8612 (and $x2687 (and $x2471 (and $x2486 (and $x2487 (and $x2488 (and $x2294 $x2351))))))))
(or (not $x8612) $x8613))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ) :qid k!563))
))
(let (($x8612 (and $x2687 (and $x2471 (and $x2486 (and $x2487 (and $x2488 (and $x2294 $x2351))))))))
(let (($x8619 (or (not $x8612) $x8613)))
(let ((@x8633 (monotonicity (monotonicity (rewrite (= $x8612 $x8625)) (= (not $x8612) $x8628)) (= $x8619 $x8631))))
(let ((@x8638 (trans (quant-intro (rewrite (= (=> $x8612 $x8613) $x8619)) (= $x8616 $x8622)) (quant-intro @x8633 (= $x8622 $x8634)) (= $x8616 $x8634))))
(let ((@x14989 (mp~ (mp (asserted $x8616) @x8638 $x8634) (nnf-pos (refl (~ $x8631 $x8631)) (~ $x8634 $x8634)) $x8634)))
(let ((@x18908 (mp @x14989 (quant-intro (trans @x18899 @x18902 (= $x8631 $x18900)) (= $x8634 $x18905)) $x18905)))
(let (($x22242 (not $x22235)))
(let (($x22386 (not $x22385)))
(let (($x22384 (not $x22368)))
(let (($x23422 (or (not $x18905) $x19677 $x22272 (not $x22259) $x22384 $x22386 $x22388 $x22242 $x22318)))
(let (($x23058 (= (or (not $x18905) (or $x19677 $x22272 (not $x22259) $x22384 $x22386 $x22388 $x22242 $x22318)) $x23422)))
(let ((@x23077 ((_ quant-inst v_b_S_s$ (b_S_ptr$ ?x10076 ?x21014)) (or (not $x18905) (or $x19677 $x22272 (not $x22259) $x22384 $x22386 $x22388 $x22242 $x22318)))))
(let ((@x22720 (mp @x23077 (rewrite $x23058) $x23422)))
(let ((@x22519 (unit-resolution @x22720 @x18908 @x12050 @x22500 @x22437 (trans (monotonicity @x23670 (= ?x22243 ?x10082)) @x12043 $x22259) (or $x22384 $x22386 $x22388 $x22318))))
(let ((@x22507 (unit-resolution @x22519 @x22419 @x23420 @x22397 (mp @x75 (monotonicity (symm @x22393 (= $x35 $x22388)) $x22421) (not $x22388)) false)))
(let ((@x22508 (lemma @x22507 $x10136)))
(let ((@x23561 (def-axiom (or (not $x22326) $x22336 $x22318))))
(let (($x22366 (or $x22333 $x22365)))
(let (($x18945 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) )(! (let (($x18929 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?v0 ?v2)))))
(let ((?x6628 (b_S_typ$ ?v1)))
(let (($x8640 (b_S_has_n_volatile_n_owns_n_set$ ?x6628)))
(or $x8640 (not (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1))) $x8646)))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)) ) :qid k!564))
))
(let (($x2554 (b_S_closed$ ?v0 ?v1)))
(let (($x8955 (not $x2554)))
(let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2))))
(let (($x18744 (not $x8428)))
(let (($x18937 (not (or $x18744 $x8955 (not $x18929)))))
(let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2)))
(let (($x8672 (not $x8461)))
(or $x8672 $x18937))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ) :qid k!564))
))
(let (($x8687 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) )(! (let (($x8660 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?v0 ?v2)))))
(let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1))))
(let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?v1))) $x8643)))
(let (($x8656 (not $x8644)))
(or $x8656 $x8646))))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)) ) :qid k!564))
))
(let (($x2554 (b_S_closed$ ?v0 ?v1)))
(let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2))))
(let (($x8681 (and $x8428 $x2554 $x8660)))
(let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2)))
(let (($x8672 (not $x8461)))
(or $x8672 $x8681))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ) :qid k!564))
))
(let (($x18929 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?2 ?0)))))
(let ((?x6628 (b_S_typ$ ?1)))
(let (($x8640 (b_S_has_n_volatile_n_owns_n_set$ ?x6628)))
(or $x8640 (not (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1))) $x8646)))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1)) ) :qid k!564))
))
(let (($x2554 (b_S_closed$ ?2 ?1)))
(let (($x8955 (not $x2554)))
(let (($x8428 (b_S_set_n_in$ ?1 (b_S_domain$ ?2 ?0))))
(let (($x18744 (not $x8428)))
(let (($x18937 (not (or $x18744 $x8955 (not $x18929)))))
(let (($x8461 (b_S_in_n_domain$ ?2 ?1 ?0)))
(let (($x8672 (not $x8461)))
(let (($x8660 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?2 ?0)))))
(let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1))))
(let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?1))) $x8643)))
(let (($x8656 (not $x8644)))
(or $x8656 $x8646))))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1)) ) :qid k!564))
))
(let (($x8681 (and $x8428 $x2554 $x8660)))
(let (($x8684 (or $x8672 $x8681)))
(let (($x8646 (b_S_set_n_in2$ ?0 (b_S_ver_n_domain$ (b_S_read_n_version$ ?3 ?1)))))
(let ((?x6628 (b_S_typ$ ?2)))
(let (($x8640 (b_S_has_n_volatile_n_owns_n_set$ ?x6628)))
(let (($x18924 (or $x8640 (not (b_S_set_n_in$ ?0 (b_S_owns$ ?3 ?2))) $x8646)))
(let (($x8643 (b_S_set_n_in$ ?0 (b_S_owns$ ?3 ?2))))
(let (($x8644 (and (not $x8640) $x8643)))
(let (($x8656 (not $x8644)))
(let (($x8657 (or $x8656 $x8646)))
(let ((@x18918 (rewrite (= (not (not (or $x8640 (not $x8643)))) (or $x8640 (not $x8643))))))
(let ((@x18916 (monotonicity (rewrite (= $x8644 (not (or $x8640 (not $x8643))))) (= $x8656 (not (not (or $x8640 (not $x8643))))))))
(let ((@x18923 (monotonicity (trans @x18916 @x18918 (= $x8656 (or $x8640 (not $x8643)))) (= $x8657 (or (or $x8640 (not $x8643)) $x8646)))))
(let ((@x18928 (trans @x18923 (rewrite (= (or (or $x8640 (not $x8643)) $x8646) $x18924)) (= $x8657 $x18924))))
(let ((@x18934 (monotonicity (quant-intro @x18928 (= $x8660 $x18929)) (= $x8681 (and $x8428 $x2554 $x18929)))))
(let ((@x18941 (trans @x18934 (rewrite (= (and $x8428 $x2554 $x18929) $x18937)) (= $x8681 $x18937))))
(let ((@x18947 (quant-intro (monotonicity @x18941 (= $x8684 (or $x8672 $x18937))) (= $x8687 $x18945))))
(let ((@x15001 (monotonicity (refl (~ $x8428 $x8428)) (refl (~ $x2554 $x2554)) (nnf-pos (refl (~ $x8657 $x8657)) (~ $x8660 $x8660)) (~ $x8681 $x8681))))
(let ((@x15005 (nnf-pos (monotonicity (refl (~ $x8672 $x8672)) @x15001 (~ $x8684 $x8684)) (~ $x8687 $x8687))))
(let (($x8654 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) )(! (let (($x8649 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?v0 ?v2)))))
(let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1))))
(let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?v1))) $x8643)))
(=> $x8644 $x8646)))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)) ) :qid k!564))
))
(let (($x2554 (b_S_closed$ ?v0 ?v1)))
(let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2))))
(let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2)))
(=> $x8461 (and $x8428 (and $x2554 $x8649))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ) :qid k!564))
))
(let (($x8678 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) )(! (let (($x8660 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?v0 ?v2)))))
(let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1))))
(let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?v1))) $x8643)))
(let (($x8656 (not $x8644)))
(or $x8656 $x8646))))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)) ) :qid k!564))
))
(let (($x2554 (b_S_closed$ ?v0 ?v1)))
(let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2))))
(let (($x8666 (and $x8428 (and $x2554 $x8660))))
(let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2)))
(let (($x8672 (not $x8461)))
(or $x8672 $x8666))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ) :qid k!564))
))
(let ((@x8686 (monotonicity (rewrite (= (and $x8428 (and $x2554 $x8660)) $x8681)) (= (or $x8672 (and $x8428 (and $x2554 $x8660))) $x8684))))
(let (($x8666 (and $x8428 (and $x2554 $x8660))))
(let (($x8673 (or $x8672 $x8666)))
(let (($x8649 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?2 ?0)))))
(let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1))))
(let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?1))) $x8643)))
(=> $x8644 $x8646)))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1)) ) :qid k!564))
))
(let (($x8652 (=> $x8461 (and $x8428 (and $x2554 $x8649)))))
(let ((@x8665 (monotonicity (quant-intro (rewrite (= (=> $x8644 $x8646) $x8657)) (= $x8649 $x8660)) (= (and $x2554 $x8649) (and $x2554 $x8660)))))
(let ((@x8671 (monotonicity (monotonicity @x8665 (= (and $x8428 (and $x2554 $x8649)) $x8666)) (= $x8652 (=> $x8461 $x8666)))))
(let ((@x8680 (quant-intro (trans @x8671 (rewrite (= (=> $x8461 $x8666) $x8673)) (= $x8652 $x8673)) (= $x8654 $x8678))))
(let ((@x8692 (mp (asserted $x8654) (trans @x8680 (quant-intro @x8686 (= $x8678 $x8687)) (= $x8654 $x8687)) $x8687)))
(let ((@x18948 (mp (mp~ @x8692 @x15005 $x8687) @x18947 $x18945)))
(let (($x22501 (or (not $x18945) $x22333 $x22365)))
(let ((@x22512 (mp ((_ quant-inst v_b_S_s$ (b_S_ptr$ ?x10076 ?x21014) (b_S_ptr$ ?x10076 ?x21014)) (or (not $x18945) $x22366)) (rewrite (= (or (not $x18945) $x22366) $x22501)) $x22501)))
(let ((@x24112 (unit-resolution (unit-resolution @x22512 @x18948 $x22366) (unit-resolution @x23561 (mp @x22508 @x23563 $x22317) @x22990 $x22318) $x22365)))
(let ((@x22487 (def-axiom (or $x22364 $x22344))))
(let ((@x12041 (and-elim @x12033 $x11260)))
(let (($x9768 (b_S_is_n_primitive$ b_T_T_u1$)))
(let ((@x9769 (asserted $x9768)))
(let (($x18667 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ptr$) (?v3 Int) (?v4 Int) (?v5 B_S_ctype$) )(! (let ((?x8245 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)))
(let ((?x7097 (b_S_typemap$ ?v0)))
(let (($x18655 (or (not (b_S_typed$ ?v0 ?x8245)) (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245)))))
(let (($x18656 (not $x18655)))
(let (($x5403 (>= (+ ?v4 (* (- 1) ?v3)) 0)))
(let (($x3057 (>= ?v4 0)))
(let (($x16520 (not $x3057)))
(let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2))))
(let (($x18630 (not $x8240)))
(let (($x2704 (b_S_is_n_primitive$ ?v5)))
(let (($x8855 (not $x2704)))
(let (($x8236 (b_S_full_n_stop$ ?v0)))
(let (($x18629 (not $x8236)))
(or $x18629 $x8855 $x18630 $x16520 $x5403 $x18656)))))))))))))) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_owner$ ?v0 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :qid k!553))
))
(let (($x8307 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ptr$) (?v3 Int) (?v4 Int) (?v5 B_S_ctype$) )(! (let ((?x8245 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)))
(let ((?x7097 (b_S_typemap$ ?v0)))
(let (($x8291 (and (b_S_typed$ ?v0 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245))))))
(let (($x5403 (>= (+ ?v4 (* (- 1) ?v3)) 0)))
(let (($x6757 (not $x5403)))
(let (($x3057 (>= ?v4 0)))
(let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2))))
(let (($x2704 (b_S_is_n_primitive$ ?v5)))
(let (($x8236 (b_S_full_n_stop$ ?v0)))
(let (($x8270 (and $x8236 $x2704 $x8240 $x3057 $x6757)))
(let (($x8275 (not $x8270)))
(or $x8275 $x8291)))))))))))) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_owner$ ?v0 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :qid k!553))
))
(let ((?x8245 (b_S_idx$ (b_S_ptr$ ?0 ?4) ?1 ?0)))
(let ((?x7097 (b_S_typemap$ ?5)))
(let (($x18655 (or (not (b_S_typed$ ?5 ?x8245)) (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245)))))
(let (($x18656 (not $x18655)))
(let (($x5403 (>= (+ ?1 (* (- 1) ?2)) 0)))
(let (($x3057 (>= ?1 0)))
(let (($x16520 (not $x3057)))
(let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?0 ?2) ?4) (b_S_domain$ ?5 ?3))))
(let (($x18630 (not $x8240)))
(let (($x2704 (b_S_is_n_primitive$ ?0)))
(let (($x8855 (not $x2704)))
(let (($x8236 (b_S_full_n_stop$ ?5)))
(let (($x18629 (not $x8236)))
(let (($x18662 (or $x18629 $x8855 $x18630 $x16520 $x5403 $x18656)))
(let (($x8291 (and (b_S_typed$ ?5 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245))))))
(let (($x6757 (not $x5403)))
(let (($x8270 (and $x8236 $x2704 $x8240 $x3057 $x6757)))
(let (($x8275 (not $x8270)))
(let (($x8304 (or $x8275 $x8291)))
(let (($x18631 (or $x18629 $x8855 $x18630 $x16520 $x5403)))
(let ((@x18637 (monotonicity (rewrite (= $x8270 (not $x18631))) (= $x8275 (not (not $x18631))))))
(let ((@x18661 (monotonicity (trans @x18637 (rewrite (= (not (not $x18631)) $x18631)) (= $x8275 $x18631)) (rewrite (= $x8291 $x18656)) (= $x8304 (or $x18631 $x18656)))))
(let ((@x18669 (quant-intro (trans @x18661 (rewrite (= (or $x18631 $x18656) $x18662)) (= $x8304 $x18662)) (= $x8307 $x18667))))
(let (($x8296 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ptr$) (?v3 Int) (?v4 Int) (?v5 B_S_ctype$) )(! (let ((?x8245 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)))
(let ((?x7097 (b_S_typemap$ ?v0)))
(let (($x8291 (and (b_S_typed$ ?v0 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245))))))
(let (($x3027 (<= 0 ?v4)))
(let (($x6740 (and $x3027 (< ?v4 ?v3))))
(let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2))))
(let (($x2704 (b_S_is_n_primitive$ ?v5)))
(let (($x8236 (b_S_full_n_stop$ ?v0)))
(let (($x8243 (and $x8236 (and $x2704 (and $x8240 $x6740)))))
(=> $x8243 $x8291)))))))))) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_owner$ ?v0 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :qid k!553))
))
(let (($x8301 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ptr$) (?v3 Int) (?v4 Int) (?v5 B_S_ctype$) )(! (let ((?x8245 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)))
(let ((?x7097 (b_S_typemap$ ?v0)))
(let (($x8291 (and (b_S_typed$ ?v0 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245))))))
(let (($x3027 (<= 0 ?v4)))
(let (($x6740 (and $x3027 (< ?v4 ?v3))))
(let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2))))
(let (($x2704 (b_S_is_n_primitive$ ?v5)))
(let (($x8236 (b_S_full_n_stop$ ?v0)))
(let (($x8243 (and $x8236 (and $x2704 (and $x8240 $x6740)))))
(let (($x8254 (not $x8243)))
(or $x8254 $x8291))))))))))) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_owner$ ?v0 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :qid k!553))
))
(let (($x8243 (and $x8236 (and $x2704 (and $x8240 (and (<= 0 ?1) (< ?1 ?2)))))))
(let (($x8254 (not $x8243)))
(let (($x8298 (or $x8254 $x8291)))
(let ((@x8272 (rewrite (= (and $x8236 (and $x2704 (and $x8240 (and $x3057 $x6757)))) $x8270))))
(let (($x8265 (= (and $x2704 (and $x8240 (and (<= 0 ?1) (< ?1 ?2)))) (and $x2704 (and $x8240 (and $x3057 $x6757))))))
(let (($x8262 (= (and $x8240 (and (<= 0 ?1) (< ?1 ?2))) (and $x8240 (and $x3057 $x6757)))))
(let ((@x3058 (rewrite (= (<= 0 ?1) $x3057))))
(let ((@x6762 (monotonicity @x3058 (rewrite (= (< ?1 ?2) $x6757)) (= (and (<= 0 ?1) (< ?1 ?2)) (and $x3057 $x6757)))))
(let ((@x8269 (monotonicity (monotonicity (monotonicity @x6762 $x8262) $x8265) (= $x8243 (and $x8236 (and $x2704 (and $x8240 (and $x3057 $x6757))))))))
(let ((@x8306 (monotonicity (monotonicity (trans @x8269 @x8272 (= $x8243 $x8270)) (= $x8254 $x8275)) (= $x8298 $x8304))))
(let ((@x8311 (trans (quant-intro (rewrite (= (=> $x8243 $x8291) $x8298)) (= $x8296 $x8301)) (quant-intro @x8306 (= $x8301 $x8307)) (= $x8296 $x8307))))
(let ((@x14905 (mp~ (mp (asserted $x8296) @x8311 $x8307) (nnf-pos (refl (~ $x8304 $x8304)) (~ $x8307 $x8307)) $x8307)))
(let ((@x18670 (mp @x14905 @x18669 $x18667)))
(let (($x22597 (not $x22596)))
(let (($x21489 (not $x9768)))
(let (($x22629 (not $x18667)))
(let (($x22732 (or $x22629 $x19677 $x21489 $x22597 $x11259 $x22604)))
(let ((?x11246 (* (- 1) v_b_P_H_len$)))
(let ((?x22600 (+ 0 ?x11246)))
(let (($x22601 (>= ?x22600 0)))
(let (($x22598 (>= 0 0)))
(let (($x22599 (not $x22598)))
(let (($x22605 (or $x19677 $x21489 $x22597 $x22599 $x22601 $x22604)))
(let (($x22774 (or $x22629 $x22605)))
(let (($x22742 (or $x19677 $x21489 $x22597 $x11259 $x22604)))
(let ((@x22706 (trans (monotonicity (rewrite (= ?x22600 ?x11246)) (= $x22601 (>= ?x11246 0))) (rewrite (= (>= ?x11246 0) $x11259)) (= $x22601 $x11259))))
(let ((@x22711 (trans (monotonicity (rewrite (= $x22598 true)) (= $x22599 $x10203)) (rewrite (= $x10203 false)) (= $x22599 false))))
(let ((@x22741 (monotonicity @x22711 @x22706 (= $x22605 (or $x19677 $x21489 $x22597 false $x11259 $x22604)))))
(let ((@x22731 (trans @x22741 (rewrite (= (or $x19677 $x21489 $x22597 false $x11259 $x22604) $x22742)) (= $x22605 $x22742))))
(let ((@x23093 (trans (monotonicity @x22731 (= $x22774 (or $x22629 $x22742))) (rewrite (= (or $x22629 $x22742) $x22732)) (= $x22774 $x22732))))
(let ((@x23490 (mp ((_ quant-inst v_b_S_s$ v_b_P_H_arr$ (b_S_ptr$ ?x10076 ?x21014) v_b_P_H_len$ 0 b_T_T_u1$) $x22774) @x23093 $x22732)))
(let ((@x24453 (unit-resolution @x23490 @x18670 @x9769 @x12041 @x12050 (mp (unit-resolution @x22487 @x24112 $x22344) @x23502 $x22596) (hypothesis $x22603) false)))
(let (($x20128 (or $x15502 $x15505 $x20125)))
(let (($x20131 (not $x20128)))
(let (($x20134 (or $x11221 $x20131)))
(let (($x20137 (not $x20134)))
(let (($x20140 (or $x11221 $x20137)))
(let (($x19617 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11800 (not $x10238))))))))) :qid k!704))
))
(let (($x19602 (forall ((?v0 Int) )(! (let ((?x11816 (* (- 1) v_b_S_result_G_0$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11818 (<= (+ ?x10163 ?x11816) 0)))
(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11800 $x11818))))))))) :qid k!704))
))
(let (($x19626 (not (or (not $x19602) (not $x19617)))))
(let (($x19631 (or $x19580 $x19626)))
(let (($x19643 (not (or $x15729 $x19474 $x19501 $x19637 $x19638 $x19639 $x19640 (not $x19631)))))
(let (($x19648 (or $x15729 $x19643)))
(let (($x19656 (not (or $x11487 $x19474 $x19501 (not $x19648)))))
(let (($x19408 (forall ((?v0 Int) )(! (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11633 (<= (+ ?x10163 ?x11631) 0)))
(let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11615 $x11633))))))))) :qid k!704))
))
(let (($x19428 (not (or (not $x19408) $x19413))))
(let (($x19433 (or $x19386 $x19428)))
(let (($x19441 (not (or $x11612 (not $x19433)))))
(let (($x19446 (or $x11612 $x19441)))
(let (($x19458 (not (or $x15611 $x15614 $x19452 $x19453 $x19454 $x19455 (not $x19446)))))
(let (($x19463 (or $x15611 $x15614 $x19458)))
(let (($x19475 (not $x19463)))
(let (($x19515 (not (or $x11515 $x19501 $x19512 $x19513 $x19474 $x19455 $x19475))))
(let (($x19477 (not (or $x15590 $x15599 $x19469 $x19470 $x19471 $x19472 $x19473 $x19474 $x19455 $x19475))))
(let (($x19482 (or $x15590 $x15599 $x19477)))
(let (($x19490 (not (or $x15590 $x15593 (not $x19482)))))
(let (($x19495 (or $x15590 $x15593 $x19490)))
(let (($x19504 (not (or $x11516 $x19474 $x19501 (not $x19495)))))
(let (($x19520 (or $x19504 $x19515)))
(let (($x19528 (not (or $x15590 $x15599 $x19474 $x19501 (not $x19520)))))
(let (($x19533 (or $x15590 $x15599 $x19528)))
(let (($x19541 (not (or $x15590 $x15593 (not $x19533)))))
(let (($x19546 (or $x15590 $x15593 $x19541)))
(let (($x19554 (not (or $x11486 $x19474 $x19501 (not $x19546)))))
(let (($x19661 (or $x19554 $x19656)))
(let (($x19362 (forall ((?v0 Int) )(! (let ((?x11887 (* (- 1) v_b_L_H_max_G_1$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11889 (<= (+ ?x10163 ?x11887) 0)))
(let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11871 $x11889))))))))) :qid k!704))
))
(let (($x19685 (or $x11259 $x15548 $x19667 $x19668 $x19669 $x19670 $x19671 $x19672 (not $x19362) $x11867 $x19674 $x19675 $x19676 $x19677 $x19678 $x19679 $x19680 $x19681 $x19682 $x19683 $x19474 $x19501 (not $x19661))))
(let (($x19686 (not $x19685)))
(let (($x19691 (or $x11259 $x15548 $x19686)))
(let (($x19340 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0)))
(let (($x11388 (>= ?v0 1)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11388 $x11404)))))))) :qid k!704))
))
(let (($x19700 (not (or (not $x19340) (not $x19691)))))
(let (($x19705 (or $x19318 $x19700)))
(let (($x19713 (not (or $x11385 (not $x19705)))))
(let (($x19718 (or $x11385 $x19713)))
(let (($x19730 (not (or $x15502 $x15511 $x19724 $x19725 $x19726 $x19727 (not $x19718)))))
(let (($x19735 (or $x15502 $x15511 $x19730)))
(let (($x19743 (not (or $x15502 $x15505 (not $x19735)))))
(let (($x19748 (or $x15502 $x15505 $x19743)))
(let (($x19756 (not (or $x11221 (not $x19748)))))
(let (($x19761 (or $x11221 $x19756)))
(let (($x12168 (<= ?0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x3763 (not $x2815)))
(let (($x19606 (or $x3763 $x16553 $x11800 (not $x10238))))
(let ((@x20037 (monotonicity (quant-intro (refl (= $x19606 $x19606)) (= $x19617 $x20030)) (= (not $x19617) $x20035))))
(let ((@x20026 (quant-intro (refl (= (or $x3763 $x16553 $x11800 $x11818) (or $x3763 $x16553 $x11800 $x11818))) (= $x19602 $x20022))))
(let ((@x20040 (monotonicity (monotonicity @x20026 (= (not $x19602) $x20027)) @x20037 (= (or (not $x19602) (not $x19617)) $x20038))))
(let ((@x20049 (monotonicity (monotonicity (monotonicity @x20040 (= $x19626 $x20041)) (= $x19631 $x20044)) (= (not $x19631) $x20047))))
(let ((@x20052 (monotonicity @x20049 (= (or $x15729 $x19474 $x19501 $x19637 $x19638 $x19639 $x19640 (not $x19631)) $x20050))))
(let ((@x20061 (monotonicity (monotonicity (monotonicity @x20052 (= $x19643 $x20053)) (= $x19648 $x20056)) (= (not $x19648) $x20059))))
(let ((@x20067 (monotonicity (monotonicity @x20061 (= (or $x11487 $x19474 $x19501 (not $x19648)) $x20062)) (= $x19656 $x20065))))
(let ((@x19910 (quant-intro (refl (= (or $x3763 $x16553 $x11615 $x11633) (or $x3763 $x16553 $x11615 $x11633))) (= $x19408 $x19906))))
(let ((@x19916 (monotonicity (monotonicity @x19910 (= (not $x19408) $x19911)) (= (or (not $x19408) $x19413) $x19914))))
(let ((@x19925 (monotonicity (monotonicity (monotonicity @x19916 (= $x19428 $x19917)) (= $x19433 $x19920)) (= (not $x19433) $x19923))))
(let ((@x19931 (monotonicity (monotonicity @x19925 (= (or $x11612 (not $x19433)) $x19926)) (= $x19441 $x19929))))
(let ((@x19937 (monotonicity (monotonicity @x19931 (= $x19446 $x19932)) (= (not $x19446) $x19935))))
(let ((@x19940 (monotonicity @x19937 (= (or $x15611 $x15614 $x19452 $x19453 $x19454 $x19455 (not $x19446)) $x19938))))
(let ((@x19949 (monotonicity (monotonicity (monotonicity @x19940 (= $x19458 $x19941)) (= $x19463 $x19944)) (= $x19475 $x19947))))
(let ((@x19982 (monotonicity @x19949 (= (or $x11515 $x19501 $x19512 $x19513 $x19474 $x19455 $x19475) $x19980))))
(let ((@x19952 (monotonicity @x19949 (= (or $x15590 $x15599 $x19469 $x19470 $x19471 $x19472 $x19473 $x19474 $x19455 $x19475) $x19950))))
(let ((@x19961 (monotonicity (monotonicity (monotonicity @x19952 (= $x19477 $x19953)) (= $x19482 $x19956)) (= (not $x19482) $x19959))))
(let ((@x19967 (monotonicity (monotonicity @x19961 (= (or $x15590 $x15593 (not $x19482)) $x19962)) (= $x19490 $x19965))))
(let ((@x19973 (monotonicity (monotonicity @x19967 (= $x19495 $x19968)) (= (not $x19495) $x19971))))
(let ((@x19979 (monotonicity (monotonicity @x19973 (= (or $x11516 $x19474 $x19501 (not $x19495)) $x19974)) (= $x19504 $x19977))))
(let ((@x19988 (monotonicity @x19979 (monotonicity @x19982 (= $x19515 $x19983)) (= $x19520 $x19986))))
(let ((@x19994 (monotonicity (monotonicity @x19988 (= (not $x19520) $x19989)) (= (or $x15590 $x15599 $x19474 $x19501 (not $x19520)) $x19992))))
(let ((@x20003 (monotonicity (monotonicity (monotonicity @x19994 (= $x19528 $x19995)) (= $x19533 $x19998)) (= (not $x19533) $x20001))))
(let ((@x20009 (monotonicity (monotonicity @x20003 (= (or $x15590 $x15593 (not $x19533)) $x20004)) (= $x19541 $x20007))))
(let ((@x20015 (monotonicity (monotonicity @x20009 (= $x19546 $x20010)) (= (not $x19546) $x20013))))
(let ((@x20021 (monotonicity (monotonicity @x20015 (= (or $x11486 $x19474 $x19501 (not $x19546)) $x20016)) (= $x19554 $x20019))))
(let ((@x20073 (monotonicity (monotonicity @x20021 @x20067 (= $x19661 $x20068)) (= (not $x19661) $x20071))))
(let ((@x19902 (quant-intro (refl (= (or $x3763 $x16553 $x11871 $x11889) (or $x3763 $x16553 $x11871 $x11889))) (= $x19362 $x19898))))
(let ((@x20076 (monotonicity (monotonicity @x19902 (= (not $x19362) $x19903)) @x20073 (= $x19685 $x20074))))
(let ((@x20085 (monotonicity (monotonicity (monotonicity @x20076 (= $x19686 $x20077)) (= $x19691 $x20080)) (= (not $x19691) $x20083))))
(let ((@x19894 (quant-intro (refl (= (or $x3763 $x16553 $x11388 $x11404) (or $x3763 $x16553 $x11388 $x11404))) (= $x19340 $x19890))))
(let ((@x20088 (monotonicity (monotonicity @x19894 (= (not $x19340) $x19895)) @x20085 (= (or (not $x19340) (not $x19691)) $x20086))))
(let ((@x20097 (monotonicity (monotonicity (monotonicity @x20088 (= $x19700 $x20089)) (= $x19705 $x20092)) (= (not $x19705) $x20095))))
(let ((@x20103 (monotonicity (monotonicity @x20097 (= (or $x11385 (not $x19705)) $x20098)) (= $x19713 $x20101))))
(let ((@x20109 (monotonicity (monotonicity @x20103 (= $x19718 $x20104)) (= (not $x19718) $x20107))))
(let ((@x20112 (monotonicity @x20109 (= (or $x15502 $x15511 $x19724 $x19725 $x19726 $x19727 (not $x19718)) $x20110))))
(let ((@x20121 (monotonicity (monotonicity (monotonicity @x20112 (= $x19730 $x20113)) (= $x19735 $x20116)) (= (not $x19735) $x20119))))
(let ((@x20127 (monotonicity (monotonicity @x20121 (= (or $x15502 $x15505 (not $x19735)) $x20122)) (= $x19743 $x20125))))
(let ((@x20133 (monotonicity (monotonicity @x20127 (= $x19748 $x20128)) (= (not $x19748) $x20131))))
(let ((@x20139 (monotonicity (monotonicity @x20133 (= (or $x11221 (not $x19748)) $x20134)) (= $x19756 $x20137))))
(let (($x15761 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x11802 (not $x11800)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x2815 (>= ?v0 0)))
(let (($x13448 (and $x2815 $x12168 $x11802 $x10238)))
(not $x13448)))))))) :qid k!704))
))
(let (($x13442 (forall ((?v0 Int) )(! (let ((?x11816 (* (- 1) v_b_S_result_G_0$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11818 (<= (+ ?x10163 ?x11816) 0)))
(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x11802 (not $x11800)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x2815 (>= ?v0 0)))
(let (($x13433 (and $x2815 $x12168 $x11802)))
(let (($x13436 (not $x13433)))
(or $x13436 $x11818)))))))))) :qid k!704))
))
(let (($x15765 (and $x13442 $x15761)))
(let (($x16014 (not $x16009)))
(let (($x16017 (and $x15736 $x15737 $x16014)))
(let (($x16020 (not $x16017)))
(let (($x16036 (or $x16020 $x16031)))
(let (($x16039 (not $x16036)))
(let (($x16042 (or $x16039 $x15765)))
(let (($x16048 (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222 $x16042)))
(let (($x16053 (or $x15729 $x16048)))
(let (($x16059 (and $x11486 $x11429 $x11432 $x16053)))
(let (($x15648 (not $x11651)))
(let (($x13373 (forall ((?v0 Int) )(! (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11633 (<= (+ ?x10163 ?x11631) 0)))
(let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0)))
(let (($x11617 (not $x11615)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x2815 (>= ?v0 0)))
(let (($x13364 (and $x2815 $x12168 $x11617)))
(let (($x13367 (not $x13364)))
(or $x13367 $x11633)))))))))) :qid k!704))
))
(let (($x15651 (and $x13373 $x15648)))
(let (($x15876 (not $x15871)))
(let (($x15879 (and $x15626 $x15627 $x15876)))
(let (($x15882 (not $x15879)))
(let (($x15898 (or $x15882 $x15893)))
(let (($x15901 (not $x15898)))
(let (($x15904 (or $x15901 $x15651)))
(let (($x15907 (and $x11608 $x15904)))
(let (($x15910 (or $x11612 $x15907)))
(let (($x15916 (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536 $x15910)))
(let (($x15921 (or $x15611 $x15614 $x15916)))
(let (($x15959 (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536 $x15921)))
(let (($x15927 (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536 $x15921)))
(let (($x15932 (or $x15590 $x15599 $x15927)))
(let (($x15938 (and $x10321 $x10322 $x15932)))
(let (($x15943 (or $x15590 $x15593 $x15938)))
(let (($x15949 (and $x11515 $x11429 $x11432 $x15943)))
(let (($x15964 (or $x15949 $x15959)))
(let (($x15970 (and $x10321 $x10324 $x11429 $x11432 $x15964)))
(let (($x15975 (or $x15590 $x15599 $x15970)))
(let (($x15981 (and $x10321 $x10322 $x15975)))
(let (($x15986 (or $x15590 $x15593 $x15981)))
(let (($x15992 (and $x11487 $x11429 $x11432 $x15986)))
(let (($x16064 (or $x15992 $x16059)))
(let (($x13340 (forall ((?v0 Int) )(! (let ((?x11887 (* (- 1) v_b_L_H_max_G_1$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11889 (<= (+ ?x10163 ?x11887) 0)))
(let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0)))
(let (($x11873 (not $x11871)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x2815 (>= ?v0 0)))
(let (($x13331 (and $x2815 $x12168 $x11873)))
(let (($x13334 (not $x13331)))
(or $x13334 $x11889)))))))))) :qid k!704))
))
(let (($x16070 (and $x11260 $x10167 $x11911 $x13304 $x13315 $x11901 $x13326 $x11898 $x13340 $x11868 $x10192 $x10284 $x10204 $x10097 $x10291 $x10292 $x10293 $x10294 $x10295 $x10296 $x11429 $x11432 $x16064)))
(let (($x16075 (or $x11259 $x15548 $x16070)))
(let (($x13292 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0)))
(let (($x11388 (>= ?v0 1)))
(let (($x11389 (not $x11388)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x2815 (>= ?v0 0)))
(let (($x13283 (and $x2815 $x12168 $x11389)))
(let (($x13286 (not $x13283)))
(or $x13286 $x11404))))))))) :qid k!704))
))
(let (($x16078 (and $x13292 $x16075)))
(let (($x15528 (not (and $x15523 $x15524 (not $x15525)))))
(let (($x15534 (or $x15528 $x15533)))
(let (($x15535 (not $x15534)))
(let (($x16081 (or $x15535 $x16078)))
(let (($x16084 (and $x11382 $x16081)))
(let (($x16087 (or $x11385 $x16084)))
(let (($x16093 (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148 $x16087)))
(let (($x16098 (or $x15502 $x15511 $x16093)))
(let (($x16104 (and $x10138 $x10139 $x16098)))
(let (($x16109 (or $x15502 $x15505 $x16104)))
(let (($x16112 (and $x10136 $x16109)))
(let (($x16115 (or $x11221 $x16112)))
(let (($x19664 (and $x11260 $x10167 $x11911 $x13304 $x13315 $x11901 $x13326 $x11898 $x19362 $x11868 $x10192 $x10284 $x10204 $x10097 $x10291 $x10292 $x10293 $x10294 $x10295 $x10296 $x11429 $x11432 $x19661)))
(let (($x19644 (= (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222 $x19631) $x19643)))
(let (($x19635 (= $x16048 (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222 $x19631))))
(let ((@x19612 (monotonicity (rewrite (= (and $x2815 $x12168 $x11802 $x10238) (not $x19606))) (= (not (and $x2815 $x12168 $x11802 $x10238)) (not (not $x19606))))))
(let ((@x19616 (trans @x19612 (rewrite (= (not (not $x19606)) $x19606)) (= (not (and $x2815 $x12168 $x11802 $x10238)) $x19606))))
(let ((@x19599 (rewrite (= (or (or $x3763 $x16553 $x11800) $x11818) (or $x3763 $x16553 $x11800 $x11818)))))
(let (($x13433 (and $x2815 $x12168 $x11802)))
(let (($x13436 (not $x13433)))
(let (($x13439 (or $x13436 $x11818)))
(let ((@x19589 (monotonicity (rewrite (= $x13433 (not (or $x3763 $x16553 $x11800)))) (= $x13436 (not (not (or $x3763 $x16553 $x11800)))))))
(let ((@x19593 (trans @x19589 (rewrite (= (not (not (or $x3763 $x16553 $x11800))) (or $x3763 $x16553 $x11800))) (= $x13436 (or $x3763 $x16553 $x11800)))))
(let ((@x19601 (trans (monotonicity @x19593 (= $x13439 (or (or $x3763 $x16553 $x11800) $x11818))) @x19599 (= $x13439 (or $x3763 $x16553 $x11800 $x11818)))))
(let ((@x19622 (monotonicity (quant-intro @x19601 (= $x13442 $x19602)) (quant-intro @x19616 (= $x15761 $x19617)) (= $x15765 (and $x19602 $x19617)))))
(let ((@x19567 (monotonicity (rewrite (= $x16017 (not (or $x19559 $x19560 $x16009)))) (= $x16020 (not (not (or $x19559 $x19560 $x16009)))))))
(let ((@x19571 (trans @x19567 (rewrite (= (not (not (or $x19559 $x19560 $x16009))) (or $x19559 $x19560 $x16009))) (= $x16020 (or $x19559 $x19560 $x16009)))))
(let ((@x19579 (trans (monotonicity @x19571 (= $x16036 (or (or $x19559 $x19560 $x16009) $x16031))) (rewrite (= (or (or $x19559 $x19560 $x16009) $x16031) $x19575)) (= $x16036 $x19575))))
(let ((@x19633 (monotonicity (monotonicity @x19579 (= $x16039 $x19580)) (trans @x19622 (rewrite (= (and $x19602 $x19617) $x19626)) (= $x15765 $x19626)) (= $x16042 $x19631))))
(let ((@x19650 (monotonicity (trans (monotonicity @x19633 $x19635) (rewrite $x19644) (= $x16048 $x19643)) (= $x16053 $x19648))))
(let ((@x19660 (trans (monotonicity @x19650 (= $x16059 (and $x11486 $x11429 $x11432 $x19648))) (rewrite (= (and $x11486 $x11429 $x11432 $x19648) $x19656)) (= $x16059 $x19656))))
(let ((@x19422 (trans (monotonicity (rewrite (= $x11651 $x19413)) (= $x15648 (not $x19413))) (rewrite (= (not $x19413) $x19412)) (= $x15648 $x19412))))
(let ((@x19405 (rewrite (= (or (or $x3763 $x16553 $x11615) $x11633) (or $x3763 $x16553 $x11615 $x11633)))))
(let (($x13364 (and $x2815 $x12168 $x11617)))
(let (($x13367 (not $x13364)))
(let (($x13370 (or $x13367 $x11633)))
(let ((@x19395 (monotonicity (rewrite (= $x13364 (not (or $x3763 $x16553 $x11615)))) (= $x13367 (not (not (or $x3763 $x16553 $x11615)))))))
(let ((@x19399 (trans @x19395 (rewrite (= (not (not (or $x3763 $x16553 $x11615))) (or $x3763 $x16553 $x11615))) (= $x13367 (or $x3763 $x16553 $x11615)))))
(let ((@x19407 (trans (monotonicity @x19399 (= $x13370 (or (or $x3763 $x16553 $x11615) $x11633))) @x19405 (= $x13370 (or $x3763 $x16553 $x11615 $x11633)))))
(let ((@x19425 (monotonicity (quant-intro @x19407 (= $x13373 $x19408)) @x19422 (= $x15651 (and $x19408 $x19412)))))
(let ((@x19373 (monotonicity (rewrite (= $x15879 (not (or $x19365 $x19366 $x15871)))) (= $x15882 (not (not (or $x19365 $x19366 $x15871)))))))
(let ((@x19377 (trans @x19373 (rewrite (= (not (not (or $x19365 $x19366 $x15871))) (or $x19365 $x19366 $x15871))) (= $x15882 (or $x19365 $x19366 $x15871)))))
(let ((@x19385 (trans (monotonicity @x19377 (= $x15898 (or (or $x19365 $x19366 $x15871) $x15893))) (rewrite (= (or (or $x19365 $x19366 $x15871) $x15893) $x19381)) (= $x15898 $x19381))))
(let ((@x19435 (monotonicity (monotonicity @x19385 (= $x15901 $x19386)) (trans @x19425 (rewrite (= (and $x19408 $x19412) $x19428)) (= $x15651 $x19428)) (= $x15904 $x19433))))
(let ((@x19445 (trans (monotonicity @x19435 (= $x15907 (and $x11608 $x19433))) (rewrite (= (and $x11608 $x19433) $x19441)) (= $x15907 $x19441))))
(let ((@x19451 (monotonicity (monotonicity @x19445 (= $x15910 $x19446)) (= $x15916 (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536 $x19446)))))
(let ((@x19462 (trans @x19451 (rewrite (= (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536 $x19446) $x19458)) (= $x15916 $x19458))))
(let ((@x19511 (monotonicity (monotonicity @x19462 (= $x15921 $x19463)) (= $x15959 (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536 $x19463)))))
(let ((@x19519 (trans @x19511 (rewrite (= (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536 $x19463) $x19515)) (= $x15959 $x19515))))
(let ((@x19479 (rewrite (= (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536 $x19463) $x19477))))
(let ((@x19468 (monotonicity (monotonicity @x19462 (= $x15921 $x19463)) (= $x15927 (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536 $x19463)))))
(let ((@x19487 (monotonicity (monotonicity (trans @x19468 @x19479 (= $x15927 $x19477)) (= $x15932 $x19482)) (= $x15938 (and $x10321 $x10322 $x19482)))))
(let ((@x19494 (trans @x19487 (rewrite (= (and $x10321 $x10322 $x19482) $x19490)) (= $x15938 $x19490))))
(let ((@x19500 (monotonicity (monotonicity @x19494 (= $x15943 $x19495)) (= $x15949 (and $x11515 $x11429 $x11432 $x19495)))))
(let ((@x19508 (trans @x19500 (rewrite (= (and $x11515 $x11429 $x11432 $x19495) $x19504)) (= $x15949 $x19504))))
(let ((@x19525 (monotonicity (monotonicity @x19508 @x19519 (= $x15964 $x19520)) (= $x15970 (and $x10321 $x10324 $x11429 $x11432 $x19520)))))
(let ((@x19532 (trans @x19525 (rewrite (= (and $x10321 $x10324 $x11429 $x11432 $x19520) $x19528)) (= $x15970 $x19528))))
(let ((@x19538 (monotonicity (monotonicity @x19532 (= $x15975 $x19533)) (= $x15981 (and $x10321 $x10322 $x19533)))))
(let ((@x19545 (trans @x19538 (rewrite (= (and $x10321 $x10322 $x19533) $x19541)) (= $x15981 $x19541))))
(let ((@x19551 (monotonicity (monotonicity @x19545 (= $x15986 $x19546)) (= $x15992 (and $x11487 $x11429 $x11432 $x19546)))))
(let ((@x19558 (trans @x19551 (rewrite (= (and $x11487 $x11429 $x11432 $x19546) $x19554)) (= $x15992 $x19554))))
(let ((@x19359 (rewrite (= (or (or $x3763 $x16553 $x11871) $x11889) (or $x3763 $x16553 $x11871 $x11889)))))
(let (($x13331 (and $x2815 $x12168 $x11873)))
(let (($x13334 (not $x13331)))
(let (($x13337 (or $x13334 $x11889)))
(let ((@x19349 (monotonicity (rewrite (= $x13331 (not (or $x3763 $x16553 $x11871)))) (= $x13334 (not (not (or $x3763 $x16553 $x11871)))))))
(let ((@x19353 (trans @x19349 (rewrite (= (not (not (or $x3763 $x16553 $x11871))) (or $x3763 $x16553 $x11871))) (= $x13334 (or $x3763 $x16553 $x11871)))))
(let ((@x19361 (trans (monotonicity @x19353 (= $x13337 (or (or $x3763 $x16553 $x11871) $x11889))) @x19359 (= $x13337 (or $x3763 $x16553 $x11871 $x11889)))))
(let ((@x19666 (monotonicity (quant-intro @x19361 (= $x13340 $x19362)) (monotonicity @x19558 @x19660 (= $x16064 $x19661)) (= $x16070 $x19664))))
(let ((@x19693 (monotonicity (trans @x19666 (rewrite (= $x19664 $x19686)) (= $x16070 $x19686)) (= $x16075 $x19691))))
(let ((@x19337 (rewrite (= (or (or $x3763 $x16553 $x11388) $x11404) (or $x3763 $x16553 $x11388 $x11404)))))
(let (($x13283 (and $x2815 $x12168 $x11389)))
(let (($x13286 (not $x13283)))
(let (($x13289 (or $x13286 $x11404)))
(let ((@x19327 (monotonicity (rewrite (= $x13283 (not (or $x3763 $x16553 $x11388)))) (= $x13286 (not (not (or $x3763 $x16553 $x11388)))))))
(let ((@x19331 (trans @x19327 (rewrite (= (not (not (or $x3763 $x16553 $x11388))) (or $x3763 $x16553 $x11388))) (= $x13286 (or $x3763 $x16553 $x11388)))))
(let ((@x19339 (trans (monotonicity @x19331 (= $x13289 (or (or $x3763 $x16553 $x11388) $x11404))) @x19337 (= $x13289 (or $x3763 $x16553 $x11388 $x11404)))))
(let ((@x19696 (monotonicity (quant-intro @x19339 (= $x13292 $x19340)) @x19693 (= $x16078 (and $x19340 $x19691)))))
(let ((@x19305 (monotonicity (rewrite (= (and $x15523 $x15524 (not $x15525)) (not (or $x19297 $x19298 $x15525)))) (= $x15528 (not (not (or $x19297 $x19298 $x15525)))))))
(let ((@x19309 (trans @x19305 (rewrite (= (not (not (or $x19297 $x19298 $x15525))) (or $x19297 $x19298 $x15525))) (= $x15528 (or $x19297 $x19298 $x15525)))))
(let ((@x19317 (trans (monotonicity @x19309 (= $x15534 (or (or $x19297 $x19298 $x15525) $x15533))) (rewrite (= (or (or $x19297 $x19298 $x15525) $x15533) $x19313)) (= $x15534 $x19313))))
(let ((@x19707 (monotonicity (monotonicity @x19317 (= $x15535 $x19318)) (trans @x19696 (rewrite (= (and $x19340 $x19691) $x19700)) (= $x16078 $x19700)) (= $x16081 $x19705))))
(let ((@x19717 (trans (monotonicity @x19707 (= $x16084 (and $x11382 $x19705))) (rewrite (= (and $x11382 $x19705) $x19713)) (= $x16084 $x19713))))
(let ((@x19723 (monotonicity (monotonicity @x19717 (= $x16087 $x19718)) (= $x16093 (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148 $x19718)))))
(let ((@x19734 (trans @x19723 (rewrite (= (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148 $x19718) $x19730)) (= $x16093 $x19730))))
(let ((@x19740 (monotonicity (monotonicity @x19734 (= $x16098 $x19735)) (= $x16104 (and $x10138 $x10139 $x19735)))))
(let ((@x19747 (trans @x19740 (rewrite (= (and $x10138 $x10139 $x19735) $x19743)) (= $x16104 $x19743))))
(let ((@x19753 (monotonicity (monotonicity @x19747 (= $x16109 $x19748)) (= $x16112 (and $x10136 $x19748)))))
(let ((@x19763 (monotonicity (trans @x19753 (rewrite (= (and $x10136 $x19748) $x19756)) (= $x16112 $x19756)) (= $x16115 $x19761))))
(let (($x15746 (<= (+ ?x15744 (* (- 1) v_b_S_result_G_0$)) 0)))
(let (($x15748 (not (or (not (and $x15736 $x15737 (not (>= (+ ?v0!15 ?x11246) 0)))) $x15746))))
(let (($x15769 (or $x15748 $x15765)))
(let (($x15732 (not $x11797)))
(let (($x15773 (and $x15732 $x15769)))
(let (($x15777 (or $x15729 $x15773)))
(let (($x15726 (not $x11777)))
(let (($x15781 (and $x15726 $x15777)))
(let (($x15636 (<= (+ ?x15634 (* (- 1) v_b_L_H_max_G_3$)) 0)))
(let (($x15638 (not (or (not (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0)))) $x15636))))
(let (($x15655 (or $x15638 $x15651)))
(let (($x15622 (not $x11612)))
(let (($x15659 (and $x15622 $x15655)))
(let (($x15663 (or $x11612 $x15659)))
(let (($x13358 (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536)))
(let (($x13361 (not $x13358)))
(let (($x15617 (not $x13361)))
(let (($x15667 (and $x15617 $x15663)))
(let (($x15671 (or $x15611 $x15614 $x15667)))
(let (($x15695 (not $x11730)))
(let (($x15698 (and $x15695 $x15671)))
(let (($x15608 (not $x11567)))
(let (($x15675 (and $x15608 $x15671)))
(let (($x15679 (or $x15590 $x15599 $x15675)))
(let (($x15596 (not $x11001)))
(let (($x15683 (and $x15596 $x15679)))
(let (($x15687 (or $x15590 $x15593 $x15683)))
(let (($x15605 (not $x11532)))
(let (($x15691 (and $x15605 $x15687)))
(let (($x15702 (or $x15691 $x15698)))
(let (($x15602 (not $x11512)))
(let (($x15706 (and $x15602 $x15702)))
(let (($x15710 (or $x15590 $x15599 $x15706)))
(let (($x15714 (and $x15596 $x15710)))
(let (($x15718 (or $x15590 $x15593 $x15714)))
(let (($x15587 (not $x11501)))
(let (($x15722 (and $x15587 $x15718)))
(let (($x15785 (or $x15722 $x15781)))
(let (($x15584 (not $x11481)))
(let (($x13343 (and $x11260 $x10167 $x11911 $x13304 $x13315 $x11901 $x13326 $x11898 $x13340 $x11868 $x10192 $x11429 $x11432)))
(let (($x15789 (and $x13343 $x15584 $x15785)))
(let (($x15545 (not $x11260)))
(let (($x15793 (or $x15545 $x15548 $x15789)))
(let (($x15797 (and $x13292 $x15793)))
(let (($x15801 (or $x15535 $x15797)))
(let (($x15519 (not $x11385)))
(let (($x15805 (and $x15519 $x15801)))
(let (($x15809 (or $x11385 $x15805)))
(let (($x15514 (not $x11379)))
(let (($x15813 (and $x15514 $x15809)))
(let (($x15817 (or $x15502 $x15511 $x15813)))
(let (($x15508 (not $x11209)))
(let (($x15821 (and $x15508 $x15817)))
(let (($x15825 (or $x15502 $x15505 $x15821)))
(let (($x15499 (not $x11221)))
(let (($x15829 (and $x15499 $x15825)))
(let (($x15833 (or $x11221 $x15829)))
(let (($x16037 (= (or (not (and $x15736 $x15737 (not (>= (+ ?v0!15 ?x11246) 0)))) $x15746) $x16036)))
(let (($x16024 (= (+ ?x15744 (* (- 1) v_b_S_result_G_0$)) (+ (* (- 1) v_b_S_result_G_0$) ?x15744))))
(let ((@x16028 (monotonicity (rewrite $x16024) (= $x15746 (<= (+ (* (- 1) v_b_S_result_G_0$) ?x15744) 0)))))
(let ((@x16035 (trans @x16028 (rewrite (= (<= (+ (* (- 1) v_b_S_result_G_0$) ?x15744) 0) $x16031)) (= $x15746 $x16031))))
(let ((@x16006 (monotonicity (rewrite (= (+ ?v0!15 ?x11246) (+ ?x11246 ?v0!15))) (= (>= (+ ?v0!15 ?x11246) 0) (>= (+ ?x11246 ?v0!15) 0)))))
(let ((@x16013 (trans @x16006 (rewrite (= (>= (+ ?x11246 ?v0!15) 0) $x16009)) (= (>= (+ ?v0!15 ?x11246) 0) $x16009))))
(let ((@x16019 (monotonicity (monotonicity @x16013 (= (not (>= (+ ?v0!15 ?x11246) 0)) $x16014)) (= (and $x15736 $x15737 (not (>= (+ ?v0!15 ?x11246) 0))) $x16017))))
(let ((@x16022 (monotonicity @x16019 (= (not (and $x15736 $x15737 (not (>= (+ ?v0!15 ?x11246) 0)))) $x16020))))
(let ((@x16044 (monotonicity (monotonicity (monotonicity @x16022 @x16035 $x16037) (= $x15748 $x16039)) (= $x15769 $x16042))))
(let ((@x16047 (monotonicity (rewrite (= $x15732 $x11792)) @x16044 (= $x15773 (and $x11792 $x16042)))))
(let ((@x16055 (monotonicity (trans @x16047 (rewrite (= (and $x11792 $x16042) $x16048)) (= $x15773 $x16048)) (= $x15777 $x16053))))
(let ((@x16058 (monotonicity (rewrite (= $x15726 $x11772)) @x16055 (= $x15781 (and $x11772 $x16053)))))
(let (($x15899 (= (or (not (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0)))) $x15636) $x15898)))
(let (($x15886 (= (+ ?x15634 (* (- 1) v_b_L_H_max_G_3$)) (+ (* (- 1) v_b_L_H_max_G_3$) ?x15634))))
(let ((@x15890 (monotonicity (rewrite $x15886) (= $x15636 (<= (+ (* (- 1) v_b_L_H_max_G_3$) ?x15634) 0)))))
(let ((@x15897 (trans @x15890 (rewrite (= (<= (+ (* (- 1) v_b_L_H_max_G_3$) ?x15634) 0) $x15893)) (= $x15636 $x15893))))
(let ((@x15868 (monotonicity (rewrite (= (+ ?v0!14 ?x11581) (+ ?x11581 ?v0!14))) (= (>= (+ ?v0!14 ?x11581) 0) (>= (+ ?x11581 ?v0!14) 0)))))
(let ((@x15875 (trans @x15868 (rewrite (= (>= (+ ?x11581 ?v0!14) 0) $x15871)) (= (>= (+ ?v0!14 ?x11581) 0) $x15871))))
(let ((@x15881 (monotonicity (monotonicity @x15875 (= (not (>= (+ ?v0!14 ?x11581) 0)) $x15876)) (= (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0))) $x15879))))
(let ((@x15884 (monotonicity @x15881 (= (not (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0)))) $x15882))))
(let ((@x15906 (monotonicity (monotonicity (monotonicity @x15884 @x15897 $x15899) (= $x15638 $x15901)) (= $x15655 $x15904))))
(let ((@x15912 (monotonicity (monotonicity (rewrite (= $x15622 $x11608)) @x15906 (= $x15659 $x15907)) (= $x15663 $x15910))))
(let ((@x15915 (monotonicity (rewrite (= $x15617 $x13358)) @x15912 (= $x15667 (and $x13358 $x15910)))))
(let ((@x15923 (monotonicity (trans @x15915 (rewrite (= (and $x13358 $x15910) $x15916)) (= $x15667 $x15916)) (= $x15671 $x15921))))
(let ((@x15958 (monotonicity (rewrite (= $x15695 $x11725)) @x15923 (= $x15698 (and $x11725 $x15921)))))
(let ((@x15926 (monotonicity (rewrite (= $x15608 $x11562)) @x15923 (= $x15675 (and $x11562 $x15921)))))
(let ((@x15934 (monotonicity (trans @x15926 (rewrite (= (and $x11562 $x15921) $x15927)) (= $x15675 $x15927)) (= $x15679 $x15932))))
(let ((@x15937 (monotonicity (rewrite (= $x15596 $x10323)) @x15934 (= $x15683 (and $x10323 $x15932)))))
(let ((@x15945 (monotonicity (trans @x15937 (rewrite (= (and $x10323 $x15932) $x15938)) (= $x15683 $x15938)) (= $x15687 $x15943))))
(let ((@x15948 (monotonicity (rewrite (= $x15605 $x11527)) @x15945 (= $x15691 (and $x11527 $x15943)))))
(let ((@x15966 (monotonicity (trans @x15948 (rewrite (= (and $x11527 $x15943) $x15949)) (= $x15691 $x15949)) (trans @x15958 (rewrite (= (and $x11725 $x15921) $x15959)) (= $x15698 $x15959)) (= $x15702 $x15964))))
(let ((@x15969 (monotonicity (rewrite (= $x15602 $x11507)) @x15966 (= $x15706 (and $x11507 $x15964)))))
(let ((@x15977 (monotonicity (trans @x15969 (rewrite (= (and $x11507 $x15964) $x15970)) (= $x15706 $x15970)) (= $x15710 $x15975))))
(let ((@x15980 (monotonicity (rewrite (= $x15596 $x10323)) @x15977 (= $x15714 (and $x10323 $x15975)))))
(let ((@x15988 (monotonicity (trans @x15980 (rewrite (= (and $x10323 $x15975) $x15981)) (= $x15714 $x15981)) (= $x15718 $x15986))))
(let ((@x15991 (monotonicity (rewrite (= $x15587 $x11496)) @x15988 (= $x15722 (and $x11496 $x15986)))))
(let ((@x16066 (monotonicity (trans @x15991 (rewrite (= (and $x11496 $x15986) $x15992)) (= $x15722 $x15992)) (trans @x16058 (rewrite (= (and $x11772 $x16053) $x16059)) (= $x15781 $x16059)) (= $x15785 $x16064))))
(let ((@x16069 (monotonicity (rewrite (= $x15584 $x11476)) @x16066 (= $x15789 (and $x13343 $x11476 $x16064)))))
(let ((@x16074 (trans @x16069 (rewrite (= (and $x13343 $x11476 $x16064) $x16070)) (= $x15789 $x16070))))
(let ((@x16080 (monotonicity (monotonicity (rewrite (= $x15545 $x11259)) @x16074 (= $x15793 $x16075)) (= $x15797 $x16078))))
(let ((@x16086 (monotonicity (rewrite (= $x15519 $x11382)) (monotonicity @x16080 (= $x15801 $x16081)) (= $x15805 $x16084))))
(let ((@x16092 (monotonicity (rewrite (= $x15514 $x11374)) (monotonicity @x16086 (= $x15809 $x16087)) (= $x15813 (and $x11374 $x16087)))))
(let ((@x16100 (monotonicity (trans @x16092 (rewrite (= (and $x11374 $x16087) $x16093)) (= $x15813 $x16093)) (= $x15817 $x16098))))
(let ((@x16103 (monotonicity (rewrite (= $x15508 $x10140)) @x16100 (= $x15821 (and $x10140 $x16098)))))
(let ((@x16111 (monotonicity (trans @x16103 (rewrite (= (and $x10140 $x16098) $x16104)) (= $x15821 $x16104)) (= $x15825 $x16109))))
(let ((@x16117 (monotonicity (monotonicity (rewrite (= $x15499 $x10136)) @x16111 (= $x15829 $x16112)) (= $x15833 $x16115))))
(let (($x13451 (exists ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x11802 (not $x11800)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x2815 (>= ?v0 0)))
(and $x2815 $x12168 $x11802 $x10238))))))) :qid k!704))
))
(let (($x13445 (not $x13442)))
(let (($x13454 (or $x13445 $x13451)))
(let (($x13457 (and $x13442 $x13454)))
(let (($x13460 (or $x11797 $x13457)))
(let (($x13463 (and b_S_position_n_marker$ $x13460)))
(let (($x13466 (or $x11777 $x13463)))
(let (($x13376 (not $x13373)))
(let (($x13379 (or $x13376 $x11651)))
(let (($x13382 (and $x13373 $x13379)))
(let (($x13385 (or $x11612 $x13382)))
(let (($x13388 (and $x11608 $x13385)))
(let (($x13391 (or $x13361 $x13388)))
(let (($x13394 (and $x11570 $x13353 $x13391)))
(let (($x13412 (or $x11730 $x13394)))
(let (($x13397 (or $x11567 $x13394)))
(let (($x13400 (and $x10321 $x10324 $x13397)))
(let (($x13403 (or $x11001 $x13400)))
(let (($x13406 (and $x10321 $x10322 $x13403)))
(let (($x13409 (or $x11532 $x13406)))
(let (($x13415 (and $x13409 $x13412)))
(let (($x13418 (or $x11512 $x13415)))
(let (($x13421 (and $x10321 $x10324 $x13418)))
(let (($x13424 (or $x11001 $x13421)))
(let (($x13427 (and $x10321 $x10322 $x13424)))
(let (($x13430 (or $x11501 $x13427)))
(let (($x13469 (and $x13430 $x13466)))
(let (($x13346 (not $x13343)))
(let (($x13472 (or $x13346 $x11481 $x13469)))
(let (($x13475 (and $x11260 $x10167 $x13472)))
(let (($x13295 (not $x13292)))
(let (($x13478 (or $x13295 $x13475)))
(let (($x13481 (and $x13292 $x13478)))
(let (($x13484 (or $x11385 $x13481)))
(let (($x13487 (and $x11382 $x13484)))
(let (($x13490 (or $x11379 $x13487)))
(let (($x13493 (and $x10138 $x10141 $x13490)))
(let (($x13496 (or $x11209 $x13493)))
(let (($x13499 (and $x10138 $x10139 $x13496)))
(let (($x13502 (or $x11221 $x13499)))
(let (($x13508 (not (and $x10136 $x13502))))
(let ((@x15760 (refl (~ (not (and $x2815 $x12168 $x11802 $x10238)) (not (and $x2815 $x12168 $x11802 $x10238))))))
(let ((@x15757 (nnf-neg (nnf-pos (refl (~ $x13439 $x13439)) (~ $x13442 $x13442)) (~ (not $x13445) $x13442))))
(let ((@x15768 (nnf-neg @x15757 (nnf-neg @x15760 (~ (not $x13451) $x15761)) (~ (not $x13454) $x15765))))
(let ((@x15776 (nnf-neg (refl (~ $x15732 $x15732)) (nnf-neg (sk (~ $x13445 $x15748)) @x15768 (~ (not $x13457) $x15769)) (~ (not $x13460) $x15773))))
(let ((@x15784 (nnf-neg (refl (~ $x15726 $x15726)) (nnf-neg (refl (~ $x15729 $x15729)) @x15776 (~ (not $x13463) $x15777)) (~ (not $x13466) $x15781))))
(let ((@x15647 (nnf-neg (nnf-pos (refl (~ $x13370 $x13370)) (~ $x13373 $x13373)) (~ (not $x13376) $x13373))))
(let ((@x15658 (nnf-neg (sk (~ $x13376 $x15638)) (nnf-neg @x15647 (refl (~ $x15648 $x15648)) (~ (not $x13379) $x15651)) (~ (not $x13382) $x15655))))
(let ((@x15666 (nnf-neg (refl (~ $x11612 $x11612)) (nnf-neg (refl (~ $x15622 $x15622)) @x15658 (~ (not $x13385) $x15659)) (~ (not $x13388) $x15663))))
(let ((@x15674 (nnf-neg (refl (~ $x15611 $x15611)) (refl (~ $x15614 $x15614)) (nnf-neg (refl (~ $x15617 $x15617)) @x15666 (~ (not $x13391) $x15667)) (~ (not $x13394) $x15671))))
(let ((@x15592 (refl (~ $x15590 $x15590))))
(let ((@x15682 (nnf-neg @x15592 (refl (~ $x15599 $x15599)) (nnf-neg (refl (~ $x15608 $x15608)) @x15674 (~ (not $x13397) $x15675)) (~ (not $x13400) $x15679))))
(let ((@x15690 (nnf-neg @x15592 (refl (~ $x15593 $x15593)) (nnf-neg (refl (~ $x15596 $x15596)) @x15682 (~ (not $x13403) $x15683)) (~ (not $x13406) $x15687))))
(let ((@x15705 (nnf-neg (nnf-neg (refl (~ $x15605 $x15605)) @x15690 (~ (not $x13409) $x15691)) (nnf-neg (refl (~ $x15695 $x15695)) @x15674 (~ (not $x13412) $x15698)) (~ (not $x13415) $x15702))))
(let ((@x15713 (nnf-neg @x15592 (refl (~ $x15599 $x15599)) (nnf-neg (refl (~ $x15602 $x15602)) @x15705 (~ (not $x13418) $x15706)) (~ (not $x13421) $x15710))))
(let ((@x15721 (nnf-neg @x15592 (refl (~ $x15593 $x15593)) (nnf-neg (refl (~ $x15596 $x15596)) @x15713 (~ (not $x13424) $x15714)) (~ (not $x13427) $x15718))))
(let ((@x15788 (nnf-neg (nnf-neg (refl (~ $x15587 $x15587)) @x15721 (~ (not $x13430) $x15722)) @x15784 (~ (not $x13469) $x15785))))
(let ((@x15580 (monotonicity (refl (~ $x11260 $x11260)) (refl (~ $x10167 $x10167)) (refl (~ $x11911 $x11911)) (refl (~ $x13304 $x13304)) (refl (~ $x13315 $x13315)) (refl (~ $x11901 $x11901)) (refl (~ $x13326 $x13326)) (refl (~ $x11898 $x11898)) (nnf-pos (refl (~ $x13337 $x13337)) (~ $x13340 $x13340)) (refl (~ $x11868 $x11868)) (refl (~ $x10192 $x10192)) (refl (~ $x11429 $x11429)) (refl (~ $x11432 $x11432)) (~ $x13343 $x13343))))
(let ((@x15792 (nnf-neg (nnf-neg @x15580 (~ (not $x13346) $x13343)) (refl (~ $x15584 $x15584)) @x15788 (~ (not $x13472) $x15789))))
(let ((@x15796 (nnf-neg (refl (~ $x15545 $x15545)) (refl (~ $x15548 $x15548)) @x15792 (~ (not $x13475) $x15793))))
(let ((@x15544 (nnf-neg (nnf-pos (refl (~ $x13289 $x13289)) (~ $x13292 $x13292)) (~ (not $x13295) $x13292))))
(let ((@x15804 (nnf-neg (sk (~ $x13295 $x15535)) (nnf-neg @x15544 @x15796 (~ (not $x13478) $x15797)) (~ (not $x13481) $x15801))))
(let ((@x15812 (nnf-neg (refl (~ $x11385 $x11385)) (nnf-neg (refl (~ $x15519 $x15519)) @x15804 (~ (not $x13484) $x15805)) (~ (not $x13487) $x15809))))
(let ((@x15820 (nnf-neg (refl (~ $x15502 $x15502)) (refl (~ $x15511 $x15511)) (nnf-neg (refl (~ $x15514 $x15514)) @x15812 (~ (not $x13490) $x15813)) (~ (not $x13493) $x15817))))
(let ((@x15828 (nnf-neg (refl (~ $x15502 $x15502)) (refl (~ $x15505 $x15505)) (nnf-neg (refl (~ $x15508 $x15508)) @x15820 (~ (not $x13496) $x15821)) (~ (not $x13499) $x15825))))
(let ((@x15835 (nnf-neg (refl (~ $x11221 $x11221)) (nnf-neg (refl (~ $x15499 $x15499)) @x15828 (~ (not $x13502) $x15829)) (~ $x13508 $x15833))))
(let (($x6441 (= b_S_max_o_u4$ 4294967295)))
(let ((@x6435 (monotonicity (rewrite (= (* 65536 65536) 4294967296)) (= (- (* 65536 65536) 1) (- 4294967296 1)))))
(let ((@x6440 (trans @x6435 (rewrite (= (- 4294967296 1) 4294967295)) (= (- (* 65536 65536) 1) 4294967295))))
(let ((@x6443 (monotonicity @x6440 (= (= b_S_max_o_u4$ (- (* 65536 65536) 1)) $x6441))))
(let ((@x6446 (mp (asserted (= b_S_max_o_u4$ (- (* 65536 65536) 1))) @x6443 $x6441)))
(let ((@x12140 (trans (monotonicity @x6446 (= ?x3113 (* (- 1) 4294967295))) (rewrite (= (* (- 1) 4294967295) (- 4294967295))) (= ?x3113 (- 4294967295)))))
(let ((@x12164 (trans (monotonicity @x12140 (= ?x3114 (+ ?0 (- 4294967295)))) (rewrite (= (+ ?0 (- 4294967295)) (+ (- 4294967295) ?0))) (= ?x3114 (+ (- 4294967295) ?0)))))
(let ((@x12172 (trans (monotonicity @x12164 (= $x3115 (<= (+ (- 4294967295) ?0) 0))) (rewrite (= (<= (+ (- 4294967295) ?0) 0) $x12168)) (= $x3115 $x12168))))
(let ((@x13453 (quant-intro (monotonicity @x12172 (= $x11839 (and $x2815 $x12168 $x11802 $x10238))) (= $x11844 $x13451))))
(let ((@x13441 (monotonicity (monotonicity (monotonicity @x12172 (= $x11808 $x13433)) (= $x11813 $x13436)) (= $x11821 $x13439))))
(let ((@x13456 (monotonicity (monotonicity (quant-intro @x13441 (= $x11824 $x13442)) (= $x11827 $x13445)) @x13453 (= $x11847 $x13454))))
(let ((@x13462 (monotonicity (monotonicity (quant-intro @x13441 (= $x11824 $x13442)) @x13456 (= $x11850 $x13457)) (= $x11853 $x13460))))
(let ((@x13372 (monotonicity (monotonicity (monotonicity @x12172 (= $x11623 $x13364)) (= $x11628 $x13367)) (= $x11636 $x13370))))
(let ((@x13381 (monotonicity (monotonicity (quant-intro @x13372 (= $x11639 $x13373)) (= $x11642 $x13376)) (= $x11654 $x13379))))
(let ((@x13387 (monotonicity (monotonicity (quant-intro @x13372 (= $x11639 $x13373)) @x13381 (= $x11657 $x13382)) (= $x11660 $x13385))))
(let ((@x13351 (monotonicity (monotonicity @x6446 (= ?x11574 (+ 4294967295 ?x11484))) (= $x11573 (>= (+ 4294967295 ?x11484) 1)))))
(let ((@x13357 (trans @x13351 (rewrite (= (>= (+ 4294967295 ?x11484) 1) $x13353)) (= $x11573 $x13353))))
(let ((@x13393 (monotonicity (monotonicity (monotonicity @x13357 (= $x11600 $x13358)) (= $x11605 $x13361)) (monotonicity @x13387 (= $x11663 $x13388)) (= $x11666 $x13391))))
(let ((@x13414 (monotonicity (monotonicity @x13357 @x13393 (= $x11672 $x13394)) (= $x11733 $x13412))))
(let ((@x13399 (monotonicity (monotonicity @x13357 @x13393 (= $x11672 $x13394)) (= $x11677 $x13397))))
(let ((@x13408 (monotonicity (monotonicity (monotonicity @x13399 (= $x11683 $x13400)) (= $x11688 $x13403)) (= $x11694 $x13406))))
(let ((@x13417 (monotonicity (monotonicity @x13408 (= $x11699 $x13409)) @x13414 (= $x11736 $x13415))))
(let ((@x13426 (monotonicity (monotonicity (monotonicity @x13417 (= $x11739 $x13418)) (= $x11745 $x13421)) (= $x11750 $x13424))))
(let ((@x13471 (monotonicity (monotonicity (monotonicity @x13426 (= $x11756 $x13427)) (= $x11761 $x13430)) (monotonicity (monotonicity @x13462 (= $x11856 $x13463)) (= $x11859 $x13466)) (= $x11862 $x13469))))
(let ((@x13339 (monotonicity (monotonicity (monotonicity @x12172 (= $x11879 $x13331)) (= $x11884 $x13334)) (= $x11892 $x13337))))
(let ((@x13325 (monotonicity (monotonicity @x6446 (= ?x11574 (+ 4294967295 ?x11484))) (= $x11904 (>= (+ 4294967295 ?x11484) 0)))))
(let ((@x13330 (trans @x13325 (rewrite (= (>= (+ 4294967295 ?x11484) 0) $x13326)) (= $x11904 $x13326))))
(let ((@x13317 (rewrite (= (>= (+ 4294967295 (* (- 1) v_b_SL_H_witness_G_0$)) 0) $x13315))))
(let (($x13310 (= (+ b_S_max_o_u4$ (* (- 1) v_b_SL_H_witness_G_0$)) (+ 4294967295 (* (- 1) v_b_SL_H_witness_G_0$)))))
(let ((@x13314 (monotonicity (monotonicity @x6446 $x13310) (= $x11907 (>= (+ 4294967295 (* (- 1) v_b_SL_H_witness_G_0$)) 0)))))
(let (($x13299 (= (+ b_S_max_o_u1$ (* (- 1) v_b_L_H_max_G_1$)) (+ 255 (* (- 1) v_b_L_H_max_G_1$)))))
(let (($x6449 (= b_S_max_o_u1$ 255)))
(let ((@x6450 (asserted $x6449)))
(let ((@x13303 (monotonicity (monotonicity @x6450 $x13299) (= $x11914 (>= (+ 255 (* (- 1) v_b_L_H_max_G_1$)) 0)))))
(let ((@x13308 (trans @x13303 (rewrite (= (>= (+ 255 (* (- 1) v_b_L_H_max_G_1$)) 0) $x13304)) (= $x11914 $x13304))))
(let ((@x13345 (monotonicity @x13308 (trans @x13314 @x13317 (= $x11907 $x13315)) @x13330 (quant-intro @x13339 (= $x11895 $x13340)) (= $x11957 $x13343))))
(let ((@x13474 (monotonicity (monotonicity @x13345 (= $x11962 $x13346)) @x13471 (= $x11971 $x13472))))
(let ((@x13291 (monotonicity (monotonicity (monotonicity @x12172 (= $x11395 $x13283)) (= $x11400 $x13286)) (= $x11408 $x13289))))
(let ((@x13480 (monotonicity (monotonicity (quant-intro @x13291 (= $x11411 $x13292)) (= $x11414 $x13295)) (monotonicity @x13474 (= $x11979 $x13475)) (= $x11984 $x13478))))
(let ((@x13486 (monotonicity (monotonicity (quant-intro @x13291 (= $x11411 $x13292)) @x13480 (= $x11987 $x13481)) (= $x11990 $x13484))))
(let ((@x13495 (monotonicity (monotonicity (monotonicity @x13486 (= $x11993 $x13487)) (= $x11996 $x13490)) (= $x12002 $x13493))))
(let ((@x13504 (monotonicity (monotonicity (monotonicity @x13495 (= $x12007 $x13496)) (= $x12013 $x13499)) (= $x12018 $x13502))))
(let ((@x13510 (monotonicity (monotonicity @x13504 (= $x12021 (and $x10136 $x13502))) (= (not $x12021) $x13508))))
(let ((@x13511 (mp (not-or-elim (mp (asserted $x10434) @x12031 $x12027) (not $x12021)) @x13510 $x13508)))
(let ((@x20143 (mp (mp (mp (mp~ @x13511 @x15835 $x15833) @x16117 $x16115) @x19763 $x19761) (monotonicity @x20139 (= $x19761 $x20140)) $x20140)))
(let ((@x24003 (unit-resolution (def-axiom (or $x20134 $x20128)) (unit-resolution @x20143 @x22508 $x20137) $x20128)))
(let ((?x22514 (b_S_typ$ ?x10137)))
(let (($x22515 (= ?x22514 b_T_T_u1$)))
(let ((?x21175 (b_S_typ$ ?x10078)))
(let (($x21176 (= ?x21175 b_T_T_u1$)))
(let (($x21181 (or $x21147 $x21176)))
(let ((@x21182 ((_ quant-inst b_T_T_u1$ v_b_P_H_arr$) $x21181)))
(let ((?x22553 (b_S_ptr$ b_T_T_u1$ ?x10079)))
(let (($x22556 (= ?x10137 ?x22553)))
(let (($x22559 (not $x22556)))
(let (($x22523 (b_S_extent_n_hint$ ?x10137 ?x10078)))
(let (($x22524 (not $x22523)))
(let (($x22562 (or $x22524 $x22559)))
(let (($x22565 (not $x22562)))
(let (($x18180 (forall ((?v0 B_S_ptr$) (?v1 Int) (?v2 B_S_ctype$) )(! (let ((?x7205 (b_S_idx$ ?v0 ?v1 ?v2)))
(let (($x7213 (= ?x7205 (b_S_ptr$ ?v2 (+ (b_S_ref$ ?v0) (* ?v1 (b_S_sizeof$ ?v2)))))))
(not (or (not (b_S_extent_n_hint$ ?x7205 ?v0)) (not $x7213))))) :pattern ( (b_S_idx$ ?v0 ?v1 ?v2) ) :qid k!499))
))
(let (($x7216 (forall ((?v0 B_S_ptr$) (?v1 Int) (?v2 B_S_ctype$) )(! (let ((?x7205 (b_S_idx$ ?v0 ?v1 ?v2)))
(let (($x7213 (= ?x7205 (b_S_ptr$ ?v2 (+ (b_S_ref$ ?v0) (* ?v1 (b_S_sizeof$ ?v2)))))))
(and (b_S_extent_n_hint$ ?x7205 ?v0) $x7213))) :pattern ( (b_S_idx$ ?v0 ?v1 ?v2) ) :qid k!499))
))
(let ((?x7205 (b_S_idx$ ?2 ?1 ?0)))
(let (($x7213 (= ?x7205 (b_S_ptr$ ?0 (+ (b_S_ref$ ?2) (* ?1 (b_S_sizeof$ ?0)))))))
(let (($x7214 (and (b_S_extent_n_hint$ ?x7205 ?2) $x7213)))
(let ((@x18179 (rewrite (= $x7214 (not (or (not (b_S_extent_n_hint$ ?x7205 ?2)) (not $x7213)))))))
(let ((@x14561 (mp~ (asserted $x7216) (nnf-pos (refl (~ $x7214 $x7214)) (~ $x7216 $x7216)) $x7216)))
(let ((@x18183 (mp @x14561 (quant-intro @x18179 (= $x7216 $x18180)) $x18180)))
(let (($x22568 (not $x18180)))
(let (($x22569 (or $x22568 $x22565)))
(let ((?x10045 (b_S_sizeof$ b_T_T_u1$)))
(let ((?x22537 (* 0 ?x10045)))
(let ((?x22538 (+ ?x10079 ?x22537)))
(let ((?x22539 (b_S_ptr$ b_T_T_u1$ ?x22538)))
(let (($x22540 (= ?x10137 ?x22539)))
(let (($x22541 (not $x22540)))
(let (($x22542 (or $x22524 $x22541)))
(let (($x22543 (not $x22542)))
(let ((@x22552 (trans (monotonicity (rewrite (= ?x22537 0)) (= ?x22538 (+ ?x10079 0))) (rewrite (= (+ ?x10079 0) ?x10079)) (= ?x22538 ?x10079))))
(let ((@x22561 (monotonicity (monotonicity (monotonicity @x22552 (= ?x22539 ?x22553)) (= $x22540 $x22556)) (= $x22541 $x22559))))
(let ((@x22573 (monotonicity (monotonicity (monotonicity @x22561 (= $x22542 $x22562)) (= $x22543 $x22565)) (= (or $x22568 $x22543) $x22569))))
(let ((@x22577 (mp ((_ quant-inst (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) 0 b_T_T_u1$) (or $x22568 $x22543)) (trans @x22573 (rewrite (= $x22569 $x22569)) (= (or $x22568 $x22543) $x22569)) $x22569)))
(let ((@x23444 (unit-resolution (def-axiom (or $x22562 $x22556)) (unit-resolution @x22577 @x18183 $x22565) $x22556)))
(let ((@x22640 (monotonicity (trans @x23444 (monotonicity @x23445 (= ?x22553 ?x10078)) (= ?x10137 ?x10078)) (= ?x22514 ?x21175))))
(let (($x22526 (not $x22515)))
(let (($x22522 (= $x10138 $x22515)))
(let (($x19828 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (let ((?x6636 (b_S_typ$ ?v0)))
(let (($x7865 (= ?x6636 ?v1)))
(let (($x9596 (b_S_is$ ?v0 ?v1)))
(= $x9596 $x7865)))) :pattern ( (b_S_is$ ?v0 ?v1) ) :qid k!623))
))
(let (($x9617 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (let ((?x6636 (b_S_typ$ ?v0)))
(let (($x7865 (= ?x6636 ?v1)))
(let (($x9596 (b_S_is$ ?v0 ?v1)))
(= $x9596 $x7865)))) :qid k!623))
))
(let ((?x6636 (b_S_typ$ ?1)))
(let (($x7865 (= ?x6636 ?0)))
(let (($x9596 (b_S_is$ ?1 ?0)))
(let (($x9614 (= $x9596 $x7865)))
(let (($x9611 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (let ((?x6636 (b_S_typ$ ?v0)))
(let (($x7865 (= ?x6636 ?v1)))
(let (($x9596 (b_S_is$ ?v0 ?v1)))
(= $x9596 $x7865)))) :qid k!623))
))
(let ((@x9622 (mp (asserted $x9611) (quant-intro (rewrite (= (= $x9596 $x7865) $x9614)) (= $x9611 $x9617)) $x9617)))
(let ((@x19833 (mp (mp~ @x9622 (nnf-pos (refl (~ $x9614 $x9614)) (~ $x9617 $x9617)) $x9617) (quant-intro (refl (= $x9614 $x9614)) (= $x9617 $x19828)) $x19828)))
(let (($x22002 (not $x19828)))
(let (($x22619 (or $x22002 $x22522)))
(let ((@x22534 ((_ quant-inst (b_S_idx$ ?x10078 0 b_T_T_u1$) b_T_T_u1$) $x22619)))
(let ((@x22471 (unit-resolution (def-axiom (or (not $x22522) $x10138 $x22526)) (hypothesis $x15502) (or (not $x22522) $x22526))))
(let ((@x22636 (unit-resolution (unit-resolution @x22471 (unit-resolution @x22534 @x19833 $x22522) $x22526) (trans @x22640 (unit-resolution @x21182 @x19846 $x21176) $x22515) false)))
(let ((@x23411 (lemma @x22636 $x10138)))
(let ((@x23982 (unit-resolution (def-axiom (or $x20131 $x15502 $x15505 $x20125)) @x23411 @x24003 (or $x15505 $x20125))))
(let ((@x23983 (unit-resolution @x23982 (unit-resolution (def-axiom (or $x22603 $x10139)) (lemma @x24453 $x22604) $x10139) $x20125)))
(let ((?x22805 (b_S_ts_n_emb$ ?x22478)))
(let ((?x22433 (b_S_owner$ v_b_S_s$ ?x22805)))
(let (($x22451 (= ?x22433 b_S_me$)))
(let ((?x22485 (b_S_ref$ ?x10137)))
(let ((?x22505 (b_S_ptr$ b_T_T_u1$ ?x22485)))
(let (($x22506 (= ?x10137 ?x22505)))
(let (($x24124 (or $x21994 $x15502 $x22506)))
(let ((@x24271 (mp ((_ quant-inst (b_S_idx$ ?x10078 0 b_T_T_u1$) b_T_T_u1$) (or $x21994 (or $x15502 $x22506))) (rewrite (= (or $x21994 (or $x15502 $x22506)) $x24124)) $x24124)))
(let ((@x23969 (unit-resolution @x24271 @x15336 @x23411 $x22506)))
(let ((?x23622 (b_S_ref$ ?x21983)))
(let ((?x23636 (b_S_ptr$ b_T_T_u1$ ?x23622)))
(let ((?x23613 (b_S_idx$ ?x21983 0 b_T_T_u1$)))
(let (($x23639 (= ?x23613 ?x23636)))
(let (($x23642 (not $x23639)))
(let (($x23614 (b_S_extent_n_hint$ ?x23613 ?x21983)))
(let (($x23621 (not $x23614)))
(let (($x23645 (or $x23621 $x23642)))
(let (($x23648 (not $x23645)))
(let (($x23651 (or $x22568 $x23648)))
(let (($x23628 (not (or $x23621 (not (= ?x23613 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537))))))))
(let (($x23646 (= (or $x23621 (not (= ?x23613 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537))))) $x23645)))
(let ((@x22545 (rewrite (= ?x22537 0))))
(let ((@x23635 (trans (monotonicity @x22545 (= (+ ?x23622 ?x22537) (+ ?x23622 0))) (rewrite (= (+ ?x23622 0) ?x23622)) (= (+ ?x23622 ?x22537) ?x23622))))
(let ((@x23641 (monotonicity (monotonicity @x23635 (= (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537)) ?x23636)) (= (= ?x23613 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537))) $x23639))))
(let ((@x23644 (monotonicity @x23641 (= (not (= ?x23613 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537)))) $x23642))))
(let ((@x23655 (monotonicity (monotonicity (monotonicity @x23644 $x23646) (= $x23628 $x23648)) (= (or $x22568 $x23628) $x23651))))
(let ((@x23659 (mp ((_ quant-inst (b_S_ptr$ ?x10076 ?x21014) 0 b_T_T_u1$) (or $x22568 $x23628)) (trans @x23655 (rewrite (= $x23651 $x23651)) (= (or $x22568 $x23628) $x23651)) $x23651)))
(let ((@x23663 (def-axiom (or $x23645 $x23639))))
(let ((@x24001 (unit-resolution @x23663 (lemma (unit-resolution @x23659 @x18183 (hypothesis $x23645) false) $x23648) $x23639)))
(let ((?x23546 (b_S_idx$ ?x22595 0 b_T_T_u1$)))
(let ((?x23547 (b_S_select_o_tm$ ?x10272 ?x23546)))
(let ((?x23548 (b_S_ts_n_emb$ ?x23547)))
(let (($x23549 (= ?x23548 ?x22595)))
(let (($x23554 (b_S_typed$ v_b_S_s$ ?x23546)))
(let (($x23555 (not $x23554)))
(let (($x23551 (b_S_ts_n_is_n_volatile$ ?x23547)))
(let (($x23550 (not $x23549)))
(let (($x23556 (or $x23550 $x23551 (not (b_S_ts_n_is_n_array_n_elt$ ?x23547)) $x23555)))
(let (($x23557 (not $x23556)))
(let (($x23538 (b_S_typed$ v_b_S_s$ ?x22595)))
(let ((@x23606 (mp @x12045 (symm (monotonicity @x23680 (= $x23538 $x10085)) (= $x10085 $x23538)) $x23538)))
(let ((@x23608 (lemma (unit-resolution (hypothesis (not $x23538)) @x23606 false) $x23538)))
(let (($x17964 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ctype$) (?v3 Int) (?v4 Int) )(! (let (($x6905 (b_S_typed$ ?v0 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2))))
(let ((?x6897 (b_S_typemap$ ?v0)))
(let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2))))
(let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899)))
(let (($x17952 (or (not (= (b_S_ts_n_emb$ ?x6899) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1))) (b_S_ts_n_is_n_volatile$ ?x6899) (not $x6904) (not $x6905))))
(let (($x17953 (not $x17952)))
(let (($x4862 (>= (+ ?v4 (* (- 1) ?v3)) 0)))
(let (($x2815 (>= ?v4 0)))
(let (($x3763 (not $x2815)))
(or (not (b_S_typed$ ?v0 (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1))) $x3763 $x4862 $x17953)))))))))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :pattern ( (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :qid k!493))
))
(let (($x6943 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ctype$) (?v3 Int) (?v4 Int) )(! (let (($x6905 (b_S_typed$ ?v0 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2))))
(let ((?x6897 (b_S_typemap$ ?v0)))
(let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2))))
(let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899)))
(let ((?x6894 (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1)))
(let (($x6901 (= (b_S_ts_n_emb$ ?x6899) ?x6894)))
(let (($x6937 (and $x6901 (not (b_S_ts_n_is_n_volatile$ ?x6899)) $x6904 $x6905)))
(let (($x4862 (>= (+ ?v4 (* (- 1) ?v3)) 0)))
(let (($x6603 (not $x4862)))
(let (($x2815 (>= ?v4 0)))
(let (($x6895 (b_S_typed$ ?v0 ?x6894)))
(let (($x6929 (and $x6895 $x2815 $x6603)))
(let (($x6934 (not $x6929)))
(or $x6934 $x6937)))))))))))))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :pattern ( (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :qid k!493))
))
(let (($x6905 (b_S_typed$ ?4 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?2 ?1) ?3) ?0 ?2))))
(let ((?x6897 (b_S_typemap$ ?4)))
(let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?2 ?1) ?3) ?0 ?2))))
(let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899)))
(let (($x17952 (or (not (= (b_S_ts_n_emb$ ?x6899) (b_S_ptr$ (b_S_array$ ?2 ?1) ?3))) (b_S_ts_n_is_n_volatile$ ?x6899) (not $x6904) (not $x6905))))
(let (($x17953 (not $x17952)))
(let (($x4862 (>= (+ ?0 (* (- 1) ?1)) 0)))
(let (($x17959 (or (not (b_S_typed$ ?4 (b_S_ptr$ (b_S_array$ ?2 ?1) ?3))) $x3763 $x4862 $x17953)))
(let ((?x6894 (b_S_ptr$ (b_S_array$ ?2 ?1) ?3)))
(let (($x6901 (= (b_S_ts_n_emb$ ?x6899) ?x6894)))
(let (($x6937 (and $x6901 (not (b_S_ts_n_is_n_volatile$ ?x6899)) $x6904 $x6905)))
(let (($x6603 (not $x4862)))
(let (($x6895 (b_S_typed$ ?4 ?x6894)))
(let (($x6929 (and $x6895 $x2815 $x6603)))
(let (($x6934 (not $x6929)))
(let (($x6940 (or $x6934 $x6937)))
(let (($x17938 (or (not $x6895) $x3763 $x4862)))
(let ((@x17944 (monotonicity (rewrite (= $x6929 (not $x17938))) (= $x6934 (not (not $x17938))))))
(let ((@x17958 (monotonicity (trans @x17944 (rewrite (= (not (not $x17938)) $x17938)) (= $x6934 $x17938)) (rewrite (= $x6937 $x17953)) (= $x6940 (or $x17938 $x17953)))))
(let ((@x17966 (quant-intro (trans @x17958 (rewrite (= (or $x17938 $x17953) $x17959)) (= $x6940 $x17959)) (= $x6943 $x17964))))
(let (($x6917 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ctype$) (?v3 Int) (?v4 Int) )(! (let (($x6905 (b_S_typed$ ?v0 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2))))
(let ((?x6897 (b_S_typemap$ ?v0)))
(let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2))))
(let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899)))
(let ((?x6894 (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1)))
(let (($x6901 (= (b_S_ts_n_emb$ ?x6899) ?x6894)))
(let (($x6908 (and $x6901 (and (not (b_S_ts_n_is_n_volatile$ ?x6899)) (and $x6904 $x6905)))))
(let (($x2766 (<= 0 ?v4)))
(let (($x6566 (and $x2766 (< ?v4 ?v3))))
(let (($x6895 (b_S_typed$ ?v0 ?x6894)))
(let (($x6896 (and $x6895 $x6566)))
(=> $x6896 $x6908)))))))))))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :pattern ( (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :qid k!493))
))
(let (($x6923 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ctype$) (?v3 Int) (?v4 Int) )(! (let (($x6905 (b_S_typed$ ?v0 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2))))
(let ((?x6897 (b_S_typemap$ ?v0)))
(let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2))))
(let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899)))
(let ((?x6894 (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1)))
(let (($x6901 (= (b_S_ts_n_emb$ ?x6899) ?x6894)))
(let (($x6908 (and $x6901 (and (not (b_S_ts_n_is_n_volatile$ ?x6899)) (and $x6904 $x6905)))))
(let (($x2766 (<= 0 ?v4)))
(let (($x6566 (and $x2766 (< ?v4 ?v3))))
(let (($x6895 (b_S_typed$ ?v0 ?x6894)))
(let (($x6896 (and $x6895 $x6566)))
(or (not $x6896) $x6908)))))))))))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :pattern ( (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :qid k!493))
))
(let (($x6908 (and $x6901 (and (not (b_S_ts_n_is_n_volatile$ ?x6899)) (and $x6904 $x6905)))))
(let (($x6920 (or (not (and $x6895 (and $x2766 (< ?0 ?1)))) $x6908)))
(let (($x6566 (and $x2766 (< ?0 ?1))))
(let (($x6896 (and $x6895 $x6566)))
(let ((@x6608 (monotonicity @x2814 (rewrite (= (< ?0 ?1) $x6603)) (= $x6566 (and $x2815 $x6603)))))
(let ((@x6933 (trans (monotonicity @x6608 (= $x6896 (and $x6895 (and $x2815 $x6603)))) (rewrite (= (and $x6895 (and $x2815 $x6603)) $x6929)) (= $x6896 $x6929))))
(let ((@x6942 (monotonicity (monotonicity @x6933 (= (not $x6896) $x6934)) (rewrite (= $x6908 $x6937)) (= $x6920 $x6940))))
(let ((@x6947 (trans (quant-intro (rewrite (= (=> $x6896 $x6908) $x6920)) (= $x6917 $x6923)) (quant-intro @x6942 (= $x6923 $x6943)) (= $x6917 $x6943))))
(let ((@x14355 (mp~ (mp (asserted $x6917) @x6947 $x6943) (nnf-pos (refl (~ $x6940 $x6940)) (~ $x6943 $x6943)) $x6943)))
(let ((@x17967 (mp @x14355 @x17966 $x17964)))
(let (($x23539 (not $x23538)))
(let (($x23587 (not $x17964)))
(let (($x23588 (or $x23587 $x23539 $x11259 $x23557)))
(let (($x23558 (or $x23539 $x22599 $x22601 $x23557)))
(let (($x23589 (or $x23587 $x23558)))
(let ((@x23586 (trans (monotonicity @x22711 @x22706 (= $x23558 (or $x23539 false $x11259 $x23557))) (rewrite (= (or $x23539 false $x11259 $x23557) (or $x23539 $x11259 $x23557))) (= $x23558 (or $x23539 $x11259 $x23557)))))
(let ((@x23610 (trans (monotonicity @x23586 (= $x23589 (or $x23587 (or $x23539 $x11259 $x23557)))) (rewrite (= (or $x23587 (or $x23539 $x11259 $x23557)) $x23588)) (= $x23589 $x23588))))
(let ((@x23661 (unit-resolution (mp ((_ quant-inst v_b_S_s$ v_b_P_H_arr$ b_T_T_u1$ v_b_P_H_len$ 0) $x23589) @x23610 $x23588) @x17967 @x12041 @x23608 (hypothesis $x23556) false)))
(let ((@x23442 (hypothesis $x22506)))
(let ((@x23451 (symm @x23444 (= ?x22553 ?x10137))))
(let ((@x23449 (monotonicity (symm @x23445 (= v_b_P_H_arr$ ?x10079)) (= ?x10078 ?x22553))))
(let (($x21186 (= ?x21014 ?x10079)))
(let (($x21191 (or $x21152 $x21186)))
(let ((@x21192 ((_ quant-inst (b_S_array$ b_T_T_u1$ v_b_P_H_len$) (b_S_ref$ ?x10078)) $x21191)))
(let ((@x23674 (trans (monotonicity @x23670 (= ?x23622 ?x21014)) (unit-resolution @x21192 @x19840 $x21186) (= ?x23622 ?x10079))))
(let ((@x23682 (trans @x23680 (unit-resolution @x22000 @x15336 @x12044 $x21990) (= ?x22595 ?x21983))))
(let ((@x23781 (trans (monotonicity @x23682 (= ?x23546 ?x23613)) (hypothesis $x23639) (= ?x23546 ?x23636))))
(let ((@x23782 (trans @x23781 (monotonicity (trans @x23674 @x23445 (= ?x23622 v_b_P_H_arr$)) (= ?x23636 ?x10078)) (= ?x23546 ?x10078))))
(let ((@x23785 (trans (trans (trans @x23782 @x23449 (= ?x23546 ?x22553)) @x23451 (= ?x23546 ?x10137)) @x23442 (= ?x23546 ?x22505))))
(let ((@x23787 (symm (monotonicity @x23785 (= ?x23547 (b_S_select_o_tm$ ?x10272 ?x22505))) (= (b_S_select_o_tm$ ?x10272 ?x22505) ?x23547))))
(let ((@x23788 (monotonicity @x23787 (= (b_S_ts_n_emb$ (b_S_select_o_tm$ ?x10272 ?x22505)) ?x23548))))
(let ((@x23704 (monotonicity (monotonicity @x23442 (= ?x22478 (b_S_select_o_tm$ ?x10272 ?x22505))) (= ?x22805 (b_S_ts_n_emb$ (b_S_select_o_tm$ ?x10272 ?x22505))))))
(let ((@x23790 (trans (trans @x23704 @x23788 (= ?x22805 ?x23548)) (unit-resolution (def-axiom (or $x23556 $x23549)) (lemma @x23661 $x23557) $x23549) (= ?x22805 ?x22595))))
(let ((@x23794 (trans (monotonicity (trans @x23790 @x23680 (= ?x22805 ?x10080)) (= ?x22433 ?x10082)) @x12043 $x22451)))
(let ((@x23797 (lemma (unit-resolution (hypothesis (not $x22451)) @x23794 false) (or $x23642 $x22451 (not $x22506)))))
(let ((@x24045 (unit-resolution (unit-resolution @x23797 @x24001 (or $x22451 (not $x22506))) @x23969 $x22451)))
(let ((?x22806 (b_S_typ$ ?x22805)))
(let ((?x22809 (b_S_kind_n_of$ ?x22806)))
(let (($x22810 (= ?x22809 b_S_kind_n_primitive$)))
(let (($x22807 (not $x22810)))
(let ((?x22655 (b_S_select_o_tm$ ?x10272 ?x22505)))
(let ((?x22658 (b_S_ts_n_emb$ ?x22655)))
(let ((?x22663 (b_S_typ$ ?x22658)))
(let ((?x22664 (b_S_kind_n_of$ ?x22663)))
(let (($x22665 (= ?x22664 b_S_kind_n_primitive$)))
(let ((@x22763 (monotonicity (monotonicity (symm @x23704 (= ?x22658 ?x22805)) (= ?x22663 ?x22806)) (= ?x22664 ?x22809))))
(let (($x22767 (not (or $x22665 (not (b_S_is_n_non_n_primitive$ ?x22663))))))
(let (($x19234 (forall ((?v0 B_S_type_n_state$) )(! (let (($x9543 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_ts_n_emb$ ?v0))) b_S_kind_n_primitive$)))
(let (($x19230 (or $x9543 (not (b_S_is_n_non_n_primitive$ (b_S_typ$ (b_S_ts_n_emb$ ?v0)))))))
(not $x19230))) :pattern ( (b_S_ts_n_emb$ ?v0) ) :qid k!618))
))
(let (($x9548 (forall ((?v0 B_S_type_n_state$) )(! (let (($x9543 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_ts_n_emb$ ?v0))) b_S_kind_n_primitive$)))
(and (not $x9543) (b_S_is_n_non_n_primitive$ (b_S_typ$ (b_S_ts_n_emb$ ?v0))))) :pattern ( (b_S_ts_n_emb$ ?v0) ) :qid k!618))
))
(let (($x9543 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_ts_n_emb$ ?0))) b_S_kind_n_primitive$)))
(let (($x19230 (or $x9543 (not (b_S_is_n_non_n_primitive$ (b_S_typ$ (b_S_ts_n_emb$ ?0)))))))
(let (($x9546 (and (not $x9543) (b_S_is_n_non_n_primitive$ (b_S_typ$ (b_S_ts_n_emb$ ?0))))))
(let ((@x15316 (mp~ (asserted $x9548) (nnf-pos (refl (~ $x9546 $x9546)) (~ $x9548 $x9548)) $x9548)))
(let ((@x19237 (mp @x15316 (quant-intro (rewrite (= $x9546 (not $x19230))) (= $x9548 $x19234)) $x19234)))
(let ((@x23507 (def-axiom (or (or $x22665 (not (b_S_is_n_non_n_primitive$ ?x22663))) (not $x22665)))))
(let ((@x23501 (unit-resolution @x23507 (unit-resolution ((_ quant-inst (b_S_select_o_tm$ ?x10272 ?x22505)) (or (not $x19234) $x22767)) @x19237 $x22767) (not $x22665))))
(let ((@x23573 (lemma (unit-resolution @x23501 (trans @x22763 (hypothesis $x22810) $x22665) false) (or $x22807 (not $x22506)))))
(let (($x22432 (not (or (not $x22602) (not (b_S_closed$ v_b_S_s$ ?x22805))))))
(let (($x22436 (= (b_S_kind_n_of$ ?x22514) b_S_kind_n_primitive$)))
(let (($x22427 (not $x22436)))
(let (($x22455 (or $x22427 $x22432 $x22810 (not (or $x22451 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x22805))))))
(let (($x22447 (or (= (b_S_owner$ v_b_S_s$ ?x10137) b_S_me$) (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x10137))))
(let (($x22456 (not $x22455)))
(let (($x22463 (not (or $x22456 (not (or $x22436 (not $x22447)))))))
(let (($x22464 (or $x15505 $x22463)))
(let (($x22465 (not $x22464)))
(let (($x22466 (= $x10141 $x22465)))
(let (($x19072 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x9039 (b_S_in_n_wrapped_n_domain$ ?v0 ?v1)))
(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
(let (($x2486 (= ?x2484 b_S_me$)))
(let (($x2249 (= (b_S_kind_n_of$ (b_S_typ$ ?v1)) b_S_kind_n_primitive$)))
(let ((?x2769 (b_S_typemap$ ?v0)))
(let ((?x9020 (b_S_select_o_tm$ ?x2769 ?v1)))
(let ((?x9024 (b_S_ts_n_emb$ ?x9020)))
(let (($x9035 (or (= (b_S_owner$ ?v0 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?v0 ?x9024))))
(let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020)))
(let (($x9023 (not $x9022)))
(let (($x9027 (or $x9023 (not (b_S_closed$ ?v0 ?x9024)))))
(let (($x2294 (not $x2249)))
(let (($x19047 (or $x2294 (not $x9027) (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$) (not $x9035))))
(let (($x19056 (or (not $x19047) (not (or $x2249 (not (or $x2486 $x9039)))))))
(let (($x2488 (b_S_typed$ ?v0 ?v1)))
(let (($x9531 (not $x2488)))
(let (($x19064 (not (or $x9531 (not $x19056)))))
(let (($x9019 (b_S_thread_n_local$ ?v0 ?v1)))
(= $x9019 $x19064))))))))))))))))))) :pattern ( (b_S_thread_n_local$ ?v0 ?v1) ) :qid k!583))
))
(let (($x9066 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x9039 (b_S_in_n_wrapped_n_domain$ ?v0 ?v1)))
(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
(let (($x2486 (= ?x2484 b_S_me$)))
(let (($x2249 (= (b_S_kind_n_of$ (b_S_typ$ ?v1)) b_S_kind_n_primitive$)))
(let (($x2294 (not $x2249)))
(let (($x9041 (and $x2294 (or $x2486 $x9039))))
(let ((?x2769 (b_S_typemap$ ?v0)))
(let ((?x9020 (b_S_select_o_tm$ ?x2769 ?v1)))
(let ((?x9024 (b_S_ts_n_emb$ ?x9020)))
(let (($x9035 (or (= (b_S_owner$ ?v0 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?v0 ?x9024))))
(let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020)))
(let (($x9023 (not $x9022)))
(let (($x9027 (or $x9023 (not (b_S_closed$ ?v0 ?x9024)))))
(let (($x9054 (and $x2249 $x9027 (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035)))
(let (($x9057 (or $x9054 $x9041)))
(let (($x2488 (b_S_typed$ ?v0 ?v1)))
(let (($x9060 (and $x2488 $x9057)))
(let (($x9019 (b_S_thread_n_local$ ?v0 ?v1)))
(= $x9019 $x9060))))))))))))))))))) :pattern ( (b_S_thread_n_local$ ?v0 ?v1) ) :qid k!583))
))
(let ((?x2769 (b_S_typemap$ ?1)))
(let ((?x9020 (b_S_select_o_tm$ ?x2769 ?0)))
(let ((?x9024 (b_S_ts_n_emb$ ?x9020)))
(let (($x9035 (or (= (b_S_owner$ ?1 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?1 ?x9024))))
(let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020)))
(let (($x9023 (not $x9022)))
(let (($x9027 (or $x9023 (not (b_S_closed$ ?1 ?x9024)))))
(let (($x19047 (or $x2294 (not $x9027) (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$) (not $x9035))))
(let (($x19056 (or (not $x19047) (not (or $x2249 (not (or $x2486 (b_S_in_n_wrapped_n_domain$ ?1 ?0))))))))
(let (($x19064 (not (or $x9531 (not $x19056)))))
(let (($x9019 (b_S_thread_n_local$ ?1 ?0)))
(let (($x9041 (and $x2294 (or $x2486 (b_S_in_n_wrapped_n_domain$ ?1 ?0)))))
(let (($x9054 (and $x2249 $x9027 (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035)))
(let (($x9057 (or $x9054 $x9041)))
(let (($x9060 (and $x2488 $x9057)))
(let (($x9063 (= $x9019 $x9060)))
(let (($x19054 (= $x9041 (not (or $x2249 (not (or $x2486 (b_S_in_n_wrapped_n_domain$ ?1 ?0))))))))
(let ((@x19058 (monotonicity (rewrite (= $x9054 (not $x19047))) (rewrite $x19054) (= $x9057 $x19056))))
(let ((@x19068 (trans (monotonicity @x19058 (= $x9060 (and $x2488 $x19056))) (rewrite (= (and $x2488 $x19056) $x19064)) (= $x9060 $x19064))))
(let ((@x19074 (quant-intro (monotonicity @x19068 (= $x9063 (= $x9019 $x19064))) (= $x9066 $x19072))))
(let (($x9046 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x9039 (b_S_in_n_wrapped_n_domain$ ?v0 ?v1)))
(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
(let (($x2486 (= ?x2484 b_S_me$)))
(let (($x2249 (= (b_S_kind_n_of$ (b_S_typ$ ?v1)) b_S_kind_n_primitive$)))
(let (($x2294 (not $x2249)))
(let (($x9041 (and $x2294 (or $x2486 $x9039))))
(let ((?x2769 (b_S_typemap$ ?v0)))
(let ((?x9020 (b_S_select_o_tm$ ?x2769 ?v1)))
(let ((?x9024 (b_S_ts_n_emb$ ?x9020)))
(let (($x9035 (or (= (b_S_owner$ ?v0 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?v0 ?x9024))))
(let (($x9036 (and (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035)))
(let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020)))
(let (($x9023 (not $x9022)))
(let (($x9027 (or $x9023 (not (b_S_closed$ ?v0 ?x9024)))))
(let (($x2488 (b_S_typed$ ?v0 ?v1)))
(let (($x9043 (and $x2488 (or (and $x2249 (and $x9027 $x9036)) $x9041))))
(let (($x9019 (b_S_thread_n_local$ ?v0 ?v1)))
(= $x9019 $x9043)))))))))))))))))) :pattern ( (b_S_thread_n_local$ ?v0 ?v1) ) :qid k!583))
))
(let (($x9051 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x9039 (b_S_in_n_wrapped_n_domain$ ?v0 ?v1)))
(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
(let (($x2486 (= ?x2484 b_S_me$)))
(let (($x2249 (= (b_S_kind_n_of$ (b_S_typ$ ?v1)) b_S_kind_n_primitive$)))
(let (($x2294 (not $x2249)))
(let (($x9041 (and $x2294 (or $x2486 $x9039))))
(let ((?x2769 (b_S_typemap$ ?v0)))
(let ((?x9020 (b_S_select_o_tm$ ?x2769 ?v1)))
(let ((?x9024 (b_S_ts_n_emb$ ?x9020)))
(let (($x9035 (or (= (b_S_owner$ ?v0 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?v0 ?x9024))))
(let (($x9036 (and (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035)))
(let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020)))
(let (($x9023 (not $x9022)))
(let (($x9027 (or $x9023 (not (b_S_closed$ ?v0 ?x9024)))))
(let (($x2488 (b_S_typed$ ?v0 ?v1)))
(let (($x9043 (and $x2488 (or (and $x2249 (and $x9027 $x9036)) $x9041))))
(let (($x9019 (b_S_thread_n_local$ ?v0 ?v1)))
(= $x9019 $x9043)))))))))))))))))) :pattern ( (b_S_thread_n_local$ ?v0 ?v1) ) :qid k!583))
))
(let (($x9036 (and (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035)))
(let (($x9043 (and $x2488 (or (and $x2249 (and $x9027 $x9036)) $x9041))))
(let (($x9048 (= $x9019 $x9043)))
(let ((@x9059 (monotonicity (rewrite (= (and $x2249 (and $x9027 $x9036)) $x9054)) (= (or (and $x2249 (and $x9027 $x9036)) $x9041) $x9057))))
(let ((@x9068 (quant-intro (monotonicity (monotonicity @x9059 (= $x9043 $x9060)) (= $x9048 $x9063)) (= $x9051 $x9066))))
(let ((@x9070 (trans (quant-intro (rewrite (= (= $x9019 $x9043) $x9048)) (= $x9046 $x9051)) @x9068 (= $x9046 $x9066))))
(let ((@x15111 (mp~ (mp (asserted $x9046) @x9070 $x9066) (nnf-pos (refl (~ $x9063 $x9063)) (~ $x9066 $x9066)) $x9066)))
(let ((@x19075 (mp @x15111 @x19074 $x19072)))
(let ((@x22884 (unit-resolution (def-axiom (or (not $x22466) $x10141 $x22464)) (hypothesis $x15511) (or (not $x22466) $x22464))))
(let ((@x22831 (unit-resolution @x22884 (unit-resolution ((_ quant-inst v_b_S_s$ (b_S_idx$ ?x10078 0 b_T_T_u1$)) (or (not $x19072) $x22466)) @x19075 $x22466) $x22464)))
(let ((@x23475 (unit-resolution (def-axiom (or $x22465 $x15505 $x22463)) (hypothesis $x10139) (or $x22465 $x22463))))
(let ((@x22517 (unit-resolution (def-axiom (or (or $x22456 (not (or $x22436 (not $x22447)))) $x22455)) (unit-resolution @x23475 @x22831 $x22463) $x22455)))
(let ((?x21472 (b_S_kind_n_of$ b_T_T_u1$)))
(let (($x21473 (= ?x21472 b_S_kind_n_primitive$)))
(let (($x21480 (= $x9768 $x21473)))
(let (($x9891 (forall ((?v0 B_S_ctype$) )(! (let ((?x9849 (b_S_kind_n_of$ ?v0)))
(let (($x9883 (= ?x9849 b_S_kind_n_primitive$)))
(let (($x2704 (b_S_is_n_primitive$ ?v0)))
(= $x2704 $x9883)))) :pattern ( (b_S_is_n_primitive$ ?v0) ) :qid k!664))
))
(let (($x9883 (= ?x9849 b_S_kind_n_primitive$)))
(let (($x9888 (= $x2704 $x9883)))
(let (($x9886 (forall ((?v0 B_S_ctype$) )(! (let ((?x9849 (b_S_kind_n_of$ ?v0)))
(let (($x9883 (= ?x9849 b_S_kind_n_primitive$)))
(let (($x2704 (b_S_is_n_primitive$ ?v0)))
(= $x2704 $x9883)))) :pattern ( (b_S_is_n_primitive$ ?v0) ) :qid k!664))
))
(let ((@x9896 (mp (asserted $x9886) (quant-intro (rewrite (= (= $x2704 $x9883) $x9888)) (= $x9886 $x9891)) $x9891)))
(let ((@x15456 (mp~ @x9896 (nnf-pos (refl (~ $x9888 $x9888)) (~ $x9891 $x9891)) $x9891)))
(let (($x21224 (not $x9891)))
(let (($x21483 (or $x21224 $x21480)))
(let ((@x21484 ((_ quant-inst b_T_T_u1$) $x21483)))
(let ((@x22996 (unit-resolution (def-axiom (or (not $x21480) $x21489 $x21473)) @x9769 (or (not $x21480) $x21473))))
(let ((@x22988 (unit-resolution (def-axiom (or (not $x22522) $x15502 $x22515)) @x23411 (or (not $x22522) $x22515))))
(let ((@x22744 (monotonicity (unit-resolution @x22988 (unit-resolution @x22534 @x19833 $x22522) $x22515) (= (b_S_kind_n_of$ ?x22514) ?x21472))))
(let ((@x23400 (trans @x22744 (unit-resolution @x22996 (unit-resolution @x21484 @x15456 $x21480) $x21473) $x22436)))
(let (($x22453 (or $x22451 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x22805))))
(let ((@x23008 (unit-resolution (def-axiom (or $x22453 (not $x22451))) (hypothesis $x22451) $x22453)))
(let ((@x23085 (unit-resolution (def-axiom (or $x22456 $x22427 $x22432 $x22810 (not $x22453))) (hypothesis $x22807) @x23008 (or $x22456 $x22427 $x22432))))
(let ((@x22334 (def-axiom (or (or (not $x22602) (not (b_S_closed$ v_b_S_s$ ?x22805))) $x22602))))
(let ((@x23029 (unit-resolution (def-axiom (or $x22603 (not $x22602))) (unit-resolution @x22334 (unit-resolution @x23085 @x23400 @x22517 $x22432) $x22602) $x22603)))
(let ((@x23005 (unit-resolution (unit-resolution @x22512 @x18948 $x22366) (unit-resolution @x23561 (mp (hypothesis $x10136) @x23563 $x22317) @x22990 $x22318) $x22365)))
(let ((@x23505 (unit-resolution @x23490 @x18670 @x9769 @x12041 @x12050 (mp (unit-resolution @x22487 @x23005 $x22344) @x23502 $x22596) @x23029 false)))
(let ((@x24068 (unit-resolution (lemma @x23505 (or $x11221 $x22810 $x15505 $x10141 (not $x22451))) @x22508 (or $x22810 $x15505 $x10141 (not $x22451)))))
(let ((@x24055 (unit-resolution @x24068 (unit-resolution @x23573 @x23969 $x22807) (unit-resolution (def-axiom (or $x22603 $x10139)) (lemma @x24453 $x22604) $x10139) @x24045 $x10141)))
(let ((@x24059 (unit-resolution (def-axiom (or $x20119 $x15502 $x15511 $x20113)) @x23411 (or $x20119 $x15511 $x20113))))
(let ((@x23997 (unit-resolution @x24059 @x24055 (unit-resolution (def-axiom (or $x20122 $x20116)) @x23983 $x20116) $x20113)))
(let ((@x23272 (mp (hypothesis $x10145) (symm (commutativity (= $x10167 $x10145)) (= $x10145 $x10167)) $x10167)))
(let ((@x24048 (unit-resolution (lemma (unit-resolution (hypothesis $x15548) @x23272 false) (or $x19724 $x10167)) (unit-resolution (def-axiom (or $x20110 $x10145)) @x23997 $x10145) $x10167)))
(let ((@x24123 (unit-resolution (def-axiom (or $x20107 $x11385 $x20101)) (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x11259 $x11382)) @x12041 $x11382) (or $x20107 $x20101))))
(let ((@x24138 (unit-resolution @x24123 (unit-resolution (def-axiom (or $x20110 $x20104)) @x23997 $x20104) $x20101)))
(let ((?x22963 (* (- 1) ?x10144)))
(let ((?x22964 (+ v_b_L_H_max_G_0$ ?x22963)))
(let (($x22965 (>= ?x22964 0)))
(let ((@x24119 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x19724 $x22965)) (unit-resolution (def-axiom (or $x20110 $x10145)) @x23997 $x10145) $x22965)))
(let ((@x24012 (hypothesis $x19318)))
(let ((@x24017 ((_ th-lemma arith eq-propagate 0 0) (unit-resolution (def-axiom (or $x19313 $x15523)) @x24012 $x15523) (unit-resolution (def-axiom (or $x19313 (not $x15525))) @x24012 (not $x15525)) (= ?v0!13 0))))
(let ((@x24022 (symm (monotonicity (monotonicity @x24017 (= ?x15529 ?x10137)) (= ?x15530 ?x10144)) (= ?x10144 ?x15530))))
(let ((@x24026 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x10144 ?x15530)) (>= (+ ?x10144 ?x15531) 0))) @x24022 (>= (+ ?x10144 ?x15531) 0))))
(let ((@x24027 ((_ th-lemma arith farkas 1 -1 1) @x24026 (unit-resolution (def-axiom (or $x19313 (not $x15533))) @x24012 (not $x15533)) (hypothesis $x22965) false)))
(let ((@x24121 (unit-resolution (def-axiom (or $x20095 $x19318 $x20089)) (unit-resolution (lemma @x24027 (or $x19313 (not $x22965))) @x24119 $x19313) (unit-resolution (def-axiom (or $x20098 $x20092)) @x24138 $x20092) $x20089)))
(let ((@x24141 (unit-resolution (def-axiom (or $x20083 $x11259 $x15548 $x20077)) @x12041 (or $x20083 $x15548 $x20077))))
(let ((@x24113 (unit-resolution @x24141 (unit-resolution (def-axiom (or $x20086 $x20080)) @x24121 $x20080) @x24048 $x20077)))
(let ((@x24140 (unit-resolution (def-axiom (or $x20074 $x11901)) @x24113 $x11901)))
(let (($x23088 (= v_b_L_H_max_G_1$ v_b_S_result_G_0$)))
(let ((@x9231 (asserted b_S_position_n_marker$)))
(let ((@x23316 (unit-resolution (unit-resolution (def-axiom (or $x20059 $x15729 $x20053)) @x9231 (or $x20059 $x20053)) (unit-resolution (def-axiom (or $x20062 $x20056)) (hypothesis $x20065) $x20056) $x20053)))
(let (($x23320 (or (not $x23088) (<= (+ v_b_L_H_max_G_1$ (* (- 1) v_b_S_result_G_0$)) 0))))
(let ((@x23322 (unit-resolution ((_ th-lemma arith triangle-eq) $x23320) (symm (unit-resolution (def-axiom (or $x20050 $x10222)) @x23316 $x10222) $x23088) (<= (+ v_b_L_H_max_G_1$ (* (- 1) v_b_S_result_G_0$)) 0))))
(let ((@x23180 (hypothesis $x11868)))
(let ((@x23177 (trans (hypothesis $x10192) (symm (hypothesis $x10222) $x23088) (= ?x10191 v_b_S_result_G_0$))))
(let (($x23140 (not (= ?x10191 v_b_S_result_G_0$))))
(let (($x23145 (or $x20035 $x19501 $x19669 $x11867 $x23140)))
(let (($x23036 (>= (+ v_b_SL_H_witness_G_0$ ?x11246) 0)))
(let (($x23141 (or $x19501 $x19669 $x23036 $x23140)))
(let (($x23146 (or $x20035 $x23141)))
(let ((@x23042 (rewrite (= (+ v_b_SL_H_witness_G_0$ ?x11246) (+ ?x11246 v_b_SL_H_witness_G_0$)))))
(let ((@x23045 (monotonicity @x23042 (= $x23036 (>= (+ ?x11246 v_b_SL_H_witness_G_0$) 0)))))
(let ((@x23049 (trans @x23045 (rewrite (= (>= (+ ?x11246 v_b_SL_H_witness_G_0$) 0) $x11867)) (= $x23036 $x11867))))
(let ((@x23150 (monotonicity (monotonicity @x23049 (= $x23141 (or $x19501 $x19669 $x11867 $x23140))) (= $x23146 (or $x20035 (or $x19501 $x19669 $x11867 $x23140))))))
(let ((@x23154 (trans @x23150 (rewrite (= (or $x20035 (or $x19501 $x19669 $x11867 $x23140)) $x23145)) (= $x23146 $x23145))))
(let ((@x23182 (unit-resolution (mp ((_ quant-inst v_b_SL_H_witness_G_0$) $x23146) @x23154 $x23145) (hypothesis $x13315) @x23180 (hypothesis $x11432) (hypothesis $x20030) @x23177 false)))
(let ((@x23324 (unit-resolution (lemma @x23182 (or $x20035 $x19669 $x11867 $x19501 $x19674 $x19640)) (unit-resolution (def-axiom (or $x20050 $x10222)) @x23316 $x10222) @x23180 (hypothesis $x11432) (hypothesis $x10192) (hypothesis $x13315) $x20035)))
(let ((@x23326 (unit-resolution (def-axiom (or $x20047 $x19580 $x20041)) (unit-resolution (def-axiom (or $x20038 $x20030)) @x23324 $x20038) (unit-resolution (def-axiom (or $x20050 $x20044)) @x23316 $x20044) $x19580)))
(let (($x23188 (>= (+ v_b_L_H_max_G_1$ ?x16029) 0)))
(let (($x23310 (or (not (<= (+ v_b_L_H_p_G_0$ (* (- 1) ?v0!15)) 0)) $x16009 $x11487)))
(let ((@x23308 ((_ th-lemma arith farkas -1 1 1) (hypothesis $x16014) (hypothesis (<= (+ v_b_L_H_p_G_0$ (* (- 1) ?v0!15)) 0)) (hypothesis $x11486) false)))
(let ((@x23330 (unit-resolution (lemma @x23308 $x23310) (unit-resolution (def-axiom (or $x19575 $x16014)) @x23326 $x16014) (unit-resolution (def-axiom (or $x20062 $x11486)) (hypothesis $x20065) $x11486) (not (<= (+ v_b_L_H_p_G_0$ (* (- 1) ?v0!15)) 0)))))
(let ((@x23333 (hypothesis $x19898)))
(let (($x23168 (<= (+ v_b_L_H_p_G_0$ (* (- 1) ?v0!15)) 0)))
(let (($x23196 (or $x19903 $x19559 $x19560 $x23168 $x23188)))
(let (($x23134 (<= (+ ?x15744 (* (- 1) v_b_L_H_max_G_1$)) 0)))
(let (($x23114 (>= (+ ?v0!15 ?x11484) 0)))
(let (($x23135 (or $x19559 $x19560 $x23114 $x23134)))
(let (($x23197 (or $x19903 $x23135)))
(let (($x23173 (= (+ ?x15744 (* (- 1) v_b_L_H_max_G_1$)) (+ (* (- 1) v_b_L_H_max_G_1$) ?x15744))))
(let ((@x23186 (monotonicity (rewrite $x23173) (= $x23134 (<= (+ (* (- 1) v_b_L_H_max_G_1$) ?x15744) 0)))))
(let ((@x23192 (trans @x23186 (rewrite (= (<= (+ (* (- 1) v_b_L_H_max_G_1$) ?x15744) 0) $x23188)) (= $x23134 $x23188))))
(let ((@x23166 (monotonicity (rewrite (= (+ ?v0!15 ?x11484) (+ ?x11484 ?v0!15))) (= $x23114 (>= (+ ?x11484 ?v0!15) 0)))))
(let ((@x23171 (trans @x23166 (rewrite (= (>= (+ ?x11484 ?v0!15) 0) $x23168)) (= $x23114 $x23168))))
(let ((@x23201 (monotonicity (monotonicity @x23171 @x23192 (= $x23135 (or $x19559 $x19560 $x23168 $x23188))) (= $x23197 (or $x19903 (or $x19559 $x19560 $x23168 $x23188))))))
(let ((@x23205 (trans @x23201 (rewrite (= (or $x19903 (or $x19559 $x19560 $x23168 $x23188)) $x23196)) (= $x23197 $x23196))))
(let ((@x23335 (unit-resolution (mp ((_ quant-inst ?v0!15) $x23197) @x23205 $x23196) @x23333 (unit-resolution (def-axiom (or $x19575 $x15736)) @x23326 $x15736) (unit-resolution (def-axiom (or $x19575 $x15737)) @x23326 $x15737) (or $x23168 $x23188))))
(let ((@x23337 ((_ th-lemma arith farkas -1 1 1) (unit-resolution @x23335 @x23330 $x23188) (unit-resolution (def-axiom (or $x19575 (not $x16031))) @x23326 (not $x16031)) @x23322 false)))
(let ((@x24129 (unit-resolution (lemma @x23337 (or $x20062 $x19903 $x11867 $x19501 $x19674 $x19669)) (unit-resolution (def-axiom (or $x20074 $x19898)) @x24113 $x19898) (unit-resolution (def-axiom (or $x20074 $x11868)) @x24113 $x11868) (unit-resolution (def-axiom (or $x20074 $x11432)) @x24113 $x11432) (unit-resolution (def-axiom (or $x20074 $x10192)) @x24113 $x10192) (unit-resolution (def-axiom (or $x20074 $x13315)) @x24113 $x13315) $x20062)))
(let ((@x20858 (def-axiom (or $x20071 $x20019 $x20065))))
(let ((@x24135 (unit-resolution @x20858 (unit-resolution (def-axiom (or $x20074 $x20068)) @x24113 $x20068) @x24129 $x20019)))
(let ((@x24136 (unit-resolution (def-axiom (or $x20016 $x11487)) @x24135 $x11487)))
(let ((@x23427 (hypothesis $x11487)))
(let (($x24307 (or $x23587 $x23539 $x19670 $x11486 $x24616)))
(let (($x23367 (>= (+ v_b_L_H_p_G_0$ ?x11246) 0)))
(let (($x24617 (or $x23539 $x19670 $x23367 $x24616)))
(let (($x24303 (or $x23587 $x24617)))
(let ((@x23377 (monotonicity (rewrite (= (+ v_b_L_H_p_G_0$ ?x11246) (+ ?x11246 v_b_L_H_p_G_0$))) (= $x23367 (>= (+ ?x11246 v_b_L_H_p_G_0$) 0)))))
(let ((@x23381 (trans @x23377 (rewrite (= (>= (+ ?x11246 v_b_L_H_p_G_0$) 0) $x11486)) (= $x23367 $x11486))))
(let ((@x24641 (monotonicity (monotonicity @x23381 (= $x24617 (or $x23539 $x19670 $x11486 $x24616))) (= $x24303 (or $x23587 (or $x23539 $x19670 $x11486 $x24616))))))
(let ((@x24645 (trans @x24641 (rewrite (= (or $x23587 (or $x23539 $x19670 $x11486 $x24616)) $x24307)) (= $x24303 $x24307))))
(let ((@x24637 (unit-resolution (mp ((_ quant-inst v_b_S_s$ v_b_P_H_arr$ b_T_T_u1$ v_b_P_H_len$ v_b_L_H_p_G_0$) $x24303) @x24645 $x24307) @x17967 (hypothesis $x11901) @x23427 @x23608 (hypothesis $x24615) false)))
(let ((@x24149 (unit-resolution (def-axiom (or $x24615 $x24606)) (unit-resolution (lemma @x24637 (or $x24616 $x19670 $x11486)) @x24136 @x24140 $x24616) $x24606)))
(let ((?x24147 (b_S_ref$ ?x10320)))
(let ((?x24169 (b_S_ptr$ b_T_T_u1$ ?x24147)))
(let ((?x24320 (b_S_select_o_tm$ ?x10272 ?x24169)))
(let ((?x24323 (b_S_ts_n_emb$ ?x24320)))
(let ((?x24331 (b_S_owner$ v_b_S_s$ ?x24323)))
(let (($x24332 (= ?x24331 b_S_me$)))
(let (($x24385 (not $x24332)))
(let ((?x23162 (b_S_select_o_tm$ ?x10272 ?x10320)))
(let (($x23368 (b_S_ts_n_is_n_volatile$ ?x23162)))
(let (($x23369 (or $x15593 $x23368)))
(let (($x23370 (not $x23369)))
(let (($x23385 (or $x22629 $x19677 $x21489 $x22597 $x19670 $x11486 $x23370)))
(let (($x23371 (or $x19677 $x21489 $x22597 $x19670 $x23367 $x23370)))
(let (($x23386 (or $x22629 $x23371)))
(let ((@x23390 (monotonicity (monotonicity @x23381 (= $x23371 (or $x19677 $x21489 $x22597 $x19670 $x11486 $x23370))) (= $x23386 (or $x22629 (or $x19677 $x21489 $x22597 $x19670 $x11486 $x23370))))))
(let ((@x23394 (trans @x23390 (rewrite (= (or $x22629 (or $x19677 $x21489 $x22597 $x19670 $x11486 $x23370)) $x23385)) (= $x23386 $x23385))))
(let ((@x23429 (unit-resolution (mp ((_ quant-inst v_b_S_s$ v_b_P_H_arr$ (b_S_ptr$ ?x10076 ?x21014) v_b_P_H_len$ v_b_L_H_p_G_0$ b_T_T_u1$) $x23386) @x23394 $x23385) @x18670 @x9769 @x12050 (hypothesis $x11901) @x23427 (hypothesis $x22596) (hypothesis $x23369) false)))
(let ((@x24150 (unit-resolution (lemma @x23429 (or $x23370 $x19670 $x11486 $x22597)) (mp (unit-resolution @x22487 @x24112 $x22344) @x23502 $x22596) (or $x23370 $x19670 $x11486))))
(let ((@x24176 (unit-resolution (def-axiom (or $x23369 $x10322)) (unit-resolution @x24150 @x24136 @x24140 $x23370) $x10322)))
(let ((?x23294 (b_S_typ$ ?x10320)))
(let (($x23295 (= ?x23294 b_T_T_u1$)))
(let ((?x23287 (* ?x10045 v_b_L_H_p_G_0$)))
(let ((?x22911 (b_S_ref$ ?x22505)))
(let ((?x23291 (+ ?x22911 ?x23287)))
(let ((?x23296 (b_S_ptr$ b_T_T_u1$ ?x23291)))
(let ((?x23403 (b_S_typ$ ?x23296)))
(let (($x23404 (= ?x23403 b_T_T_u1$)))
(let ((?x23276 (b_S_idx$ ?x22505 v_b_L_H_p_G_0$ b_T_T_u1$)))
(let (($x23115 (= ?x23276 ?x23296)))
(let (($x23222 (or (not (b_S_extent_n_hint$ ?x23276 ?x22505)) (not $x23115))))
(let (($x23225 (not $x23222)))
(let (($x23355 (or $x22568 $x23225)))
(let (($x23293 (not (= ?x23276 (b_S_ptr$ b_T_T_u1$ (+ ?x22911 (* v_b_L_H_p_G_0$ ?x10045)))))))
(let (($x23289 (not (or (not (b_S_extent_n_hint$ ?x23276 ?x22505)) $x23293))))
(let (($x23129 (= (= ?x23276 (b_S_ptr$ b_T_T_u1$ (+ ?x22911 (* v_b_L_H_p_G_0$ ?x10045)))) $x23115)))
(let ((@x23250 (rewrite (= (* v_b_L_H_p_G_0$ ?x10045) ?x23287))))
(let ((@x23130 (monotonicity (monotonicity @x23250 (= (+ ?x22911 (* v_b_L_H_p_G_0$ ?x10045)) ?x23291)) (= (b_S_ptr$ b_T_T_u1$ (+ ?x22911 (* v_b_L_H_p_G_0$ ?x10045))) ?x23296))))
(let ((@x23224 (monotonicity (monotonicity (monotonicity @x23130 $x23129) (= $x23293 (not $x23115))) (= (or (not (b_S_extent_n_hint$ ?x23276 ?x22505)) $x23293) $x23222))))
(let ((@x23359 (monotonicity (monotonicity @x23224 (= $x23289 $x23225)) (= (or $x22568 $x23289) $x23355))))
(let ((@x23348 (mp ((_ quant-inst (b_S_ptr$ b_T_T_u1$ ?x22485) v_b_L_H_p_G_0$ b_T_T_u1$) (or $x22568 $x23289)) (trans @x23359 (rewrite (= $x23355 $x23355)) (= (or $x22568 $x23289) $x23355)) $x23355)))
(let ((@x23441 (unit-resolution (def-axiom (or $x23222 $x23115)) (unit-resolution @x23348 @x18183 $x23225) $x23115)))
(let ((@x23457 (monotonicity (trans (trans @x23449 @x23451 (= ?x10078 ?x10137)) @x23442 (= ?x10078 ?x22505)) (= ?x10320 ?x23276))))
(let ((@x23462 (trans (monotonicity (trans @x23457 @x23441 (= ?x10320 ?x23296)) (= ?x23294 ?x23403)) (unit-resolution ((_ quant-inst b_T_T_u1$ (+ ?x22911 ?x23287)) (or $x21147 $x23404)) @x19846 $x23404) $x23295)))
(let (($x23298 (not $x23295)))
(let (($x23297 (= $x10321 $x23295)))
(let ((@x23437 (unit-resolution (def-axiom (or (not $x23297) $x10321 $x23298)) (hypothesis $x15590) (or (not $x23297) $x23298))))
(let ((@x23438 (unit-resolution @x23437 (unit-resolution ((_ quant-inst (b_S_idx$ ?x10078 v_b_L_H_p_G_0$ b_T_T_u1$) b_T_T_u1$) (or $x22002 $x23297)) @x19833 $x23297) $x23298)))
(let ((@x24166 (unit-resolution (lemma (unit-resolution @x23438 @x23462 false) (or $x10321 (not $x22506))) @x23969 $x10321)))
(let (($x23397 (not $x23368)))
(let ((@x24155 (unit-resolution (def-axiom (or $x23369 $x23397)) (unit-resolution @x24150 @x24136 @x24140 $x23370) $x23397)))
(let (($x13277 (<= v_b_P_H_len$ 4294967295)))
(let ((@x13276 (monotonicity (monotonicity @x6446 (= (+ b_S_max_o_u4$ ?x11246) (+ 4294967295 ?x11246))) (= $x11245 (>= (+ 4294967295 ?x11246) 0)))))
(let ((@x13281 (trans @x13276 (rewrite (= (>= (+ 4294967295 ?x11246) 0) $x13277)) (= $x11245 $x13277))))
(let ((@x13282 (mp (and-elim @x12033 $x11245) @x13281 $x13277)))
(let ((@x24996 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1) (or $x13353 (not $x13277) $x11486)) @x13282 (or $x13353 $x11486))))
(let ((@x24971 (hypothesis $x11570)))
(let ((@x25230 (hypothesis $x10322)))
(let ((@x24666 (hypothesis $x10321)))
(let ((@x25234 (unit-resolution @x20858 (unit-resolution (def-axiom (or $x20074 $x20068)) (hypothesis $x20077) $x20068) (unit-resolution (def-axiom (or $x20062 $x11486)) @x23427 $x20062) $x20019)))
(let ((@x20784 (def-axiom (or $x20013 $x15590 $x15593 $x20007))))
(let ((@x25236 (unit-resolution @x20784 (unit-resolution (def-axiom (or $x20016 $x20010)) @x25234 $x20010) @x24666 @x25230 $x20007)))
(let (($x24170 (= ?x10320 ?x24169)))
(let ((@x24159 (mp ((_ quant-inst (b_S_idx$ ?x10078 v_b_L_H_p_G_0$ b_T_T_u1$) b_T_T_u1$) (or $x21994 (or $x15590 $x24170))) (rewrite (= (or $x21994 (or $x15590 $x24170)) (or $x21994 $x15590 $x24170))) (or $x21994 $x15590 $x24170))))
(let ((@x25240 (unit-resolution (def-axiom (or (not $x23297) $x15590 $x23295)) @x24666 (or (not $x23297) $x23295))))
(let ((@x25241 (unit-resolution @x25240 (unit-resolution ((_ quant-inst (b_S_idx$ ?x10078 v_b_L_H_p_G_0$ b_T_T_u1$) b_T_T_u1$) (or $x22002 $x23297)) @x19833 $x23297) $x23295)))
(let (($x24314 (b_S_typed$ v_b_S_s$ ?x24169)))
(let ((@x25244 (mp @x25230 (monotonicity (unit-resolution @x24159 @x15336 @x24666 $x24170) (= $x10322 $x24314)) $x24314)))
(let (($x24341 (or (= (b_S_owner$ v_b_S_s$ ?x24169) b_S_me$) (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x24169))))
(let (($x24318 (= (b_S_kind_n_of$ (b_S_typ$ ?x24169)) b_S_kind_n_primitive$)))
(let (($x24330 (= (b_S_kind_n_of$ (b_S_typ$ ?x24323)) b_S_kind_n_primitive$)))
(let (($x24321 (b_S_ts_n_is_n_volatile$ ?x24320)))
(let (($x24322 (not $x24321)))
(let (($x24326 (or $x24322 (not (b_S_closed$ v_b_S_s$ ?x24323)))))
(let (($x24327 (not $x24326)))
(let (($x24319 (not $x24318)))
(let (($x24336 (or $x24319 $x24327 $x24330 (not (or $x24332 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x24323))))))
(let (($x24337 (not $x24336)))
(let (($x24346 (not (or $x24337 (not (or $x24318 (not $x24341)))))))
(let (($x24315 (not $x24314)))
(let (($x24347 (or $x24315 $x24346)))
(let (($x24348 (not $x24347)))
(let (($x24313 (b_S_thread_n_local$ v_b_S_s$ ?x24169)))
(let (($x24349 (= $x24313 $x24348)))
(let ((@x24281 (symm (monotonicity (symm (hypothesis $x24170) (= ?x24169 ?x10320)) (= $x24313 $x10324)) (= $x10324 $x24313))))
(let ((@x24575 (mp (hypothesis $x15599) (monotonicity @x24281 (= $x15599 (not $x24313))) (not $x24313))))
(let ((@x24566 (unit-resolution (def-axiom (or (not $x24349) $x24313 $x24347)) @x24575 (unit-resolution ((_ quant-inst v_b_S_s$ (b_S_ptr$ b_T_T_u1$ ?x24147)) (or (not $x19072) $x24349)) @x19075 $x24349) $x24347)))
(let ((@x24590 (unit-resolution (def-axiom (or $x24348 $x24315 $x24346)) (hypothesis $x24314) (or $x24348 $x24346))))
(let ((@x24603 (monotonicity (symm (hypothesis $x24170) (= ?x24169 ?x10320)) (= (b_S_typ$ ?x24169) ?x23294))))
(let ((@x24647 (monotonicity (trans @x24603 (hypothesis $x23295) (= (b_S_typ$ ?x24169) b_T_T_u1$)) (= (b_S_kind_n_of$ (b_S_typ$ ?x24169)) ?x21472))))
(let ((@x24650 (trans @x24647 (unit-resolution @x22996 (unit-resolution @x21484 @x15456 $x21480) $x21473) $x24318)))
(let ((@x24633 (monotonicity (symm (monotonicity (hypothesis $x24170) (= ?x23162 ?x24320)) (= ?x24320 ?x23162)) (= $x24321 $x23368))))
(let ((@x24657 (mp (hypothesis $x23397) (monotonicity (symm @x24633 (= $x23368 $x24321)) (= $x23397 $x24322)) $x24322)))
(let (($x24333 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x24323)))
(let (($x24334 (or $x24332 $x24333)))
(let ((?x24328 (b_S_typ$ ?x24323)))
(let (($x24480 (b_S_is_n_non_n_primitive$ ?x24328)))
(let (($x24481 (not $x24480)))
(let (($x24364 (or $x24330 $x24481)))
(let (($x24365 (not $x24364)))
(let ((@x24467 (unit-resolution ((_ quant-inst (b_S_select_o_tm$ ?x10272 ?x24169)) (or (not $x19234) $x24365)) @x19237 (hypothesis $x24364) false)))
(let ((@x24663 (unit-resolution (def-axiom (or $x24364 (not $x24330))) (lemma @x24467 $x24365) (not $x24330))))
(let ((@x24661 (unit-resolution (def-axiom (or $x24337 $x24319 $x24327 $x24330 (not $x24334))) @x24663 (unit-resolution (def-axiom (or $x24334 $x24385)) (hypothesis $x24332) $x24334) (or $x24337 $x24319 $x24327))))
(let ((@x24785 (unit-resolution @x24661 (unit-resolution (def-axiom (or $x24326 $x24321)) @x24657 $x24326) @x24650 $x24337)))
(let ((@x24756 (unit-resolution (def-axiom (or (or $x24337 (not (or $x24318 (not $x24341)))) $x24336)) @x24785 (unit-resolution @x24590 @x24566 $x24346) false)))
(let ((@x25245 (unit-resolution (lemma @x24756 (or $x10324 $x24315 $x23298 (not $x24170) $x23368 $x24385)) @x25244 @x25241 (unit-resolution @x24159 @x15336 @x24666 $x24170) (hypothesis $x23397) (hypothesis $x24332) $x10324)))
(let ((@x20768 (def-axiom (or $x20001 $x15590 $x15599 $x19995))))
(let ((@x25246 (unit-resolution @x20768 @x25245 @x24666 (unit-resolution (def-axiom (or $x20004 $x19998)) @x25236 $x19998) $x19995)))
(let ((@x20758 (def-axiom (or $x19992 $x19986))))
(let ((@x20662 (def-axiom (or $x19947 $x15611 $x15614 $x19941))))
(let ((@x24977 (unit-resolution @x20662 (unit-resolution (def-axiom (or $x19950 $x19944)) (hypothesis $x19953) $x19944) @x24971 (unit-resolution @x24996 @x23427 $x13353) $x19941)))
(let ((@x20652 (def-axiom (or $x19938 $x19932))))
(let (($x20596 (>= ?x11582 (- 1))))
(let ((@x24640 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x19452 $x20596)) (unit-resolution (def-axiom (or $x19938 $x11580)) @x24977 $x11580) $x20596)))
(let ((?x11631 (* (- 1) v_b_L_H_max_G_3$)))
(let ((?x20720 (+ v_b_L_H_max_G_1$ ?x11631)))
(let (($x20721 (<= ?x20720 0)))
(let ((?x24669 (+ ?x10327 ?x11631)))
(let (($x24665 (<= ?x24669 0)))
(let (($x24691 (= ?x10327 v_b_L_H_max_G_3$)))
(let ((@x24748 (trans (monotonicity (hypothesis $x10338) (= $x24691 (= ?x10327 v_b_L_H_max_G_2$))) (commutativity (= (= ?x10327 v_b_L_H_max_G_2$) $x10333)) (= $x24691 $x10333))))
(let ((@x24239 (unit-resolution (hypothesis (not $x24691)) (mp (hypothesis $x10333) (symm @x24748 (= $x10333 $x24691)) $x24691) false)))
(let ((@x24667 (unit-resolution (lemma @x24239 (or $x24691 $x19469 $x19472)) (unit-resolution (def-axiom (or $x19950 $x10333)) (hypothesis $x19953) $x10333) (unit-resolution (def-axiom (or $x19950 $x10338)) (hypothesis $x19953) $x10338) $x24691)))
(let ((@x24699 (unit-resolution @x20768 (unit-resolution (def-axiom (or $x19950 $x10324)) (hypothesis $x19953) $x10324) @x24666 (hypothesis $x19998) $x19995)))
(let (($x20719 (= v_b_L_H_max_G_1$ v_b_L_H_max_G_3$)))
(let ((@x22521 (hypothesis $x24665)))
(let (($x20722 (>= ?x20720 0)))
(let ((@x24987 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x20722 $x20721)) (hypothesis (not $x20721)) $x20722)))
(let ((@x25026 (lemma ((_ th-lemma arith farkas 1 1 1) (hypothesis $x11515) (hypothesis $x20722) @x22521 false) (or $x11516 (not $x20722) (not $x24665)))))
(let ((@x25004 (unit-resolution (def-axiom (or $x19974 $x11515)) (unit-resolution @x25026 @x24987 @x22521 $x11516) $x19974)))
(let ((@x20748 (def-axiom (or $x19989 $x19977 $x19983))))
(let ((@x20732 (def-axiom (or $x19980 $x10391))))
(let ((@x24978 (unit-resolution @x20732 (unit-resolution @x20748 @x25004 (hypothesis $x19986) $x19983) $x10391)))
(let ((@x25028 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x20719) $x20721)) (hypothesis (not $x20721)) (not $x20719))))
(let ((@x24992 (unit-resolution @x25028 (mp @x24978 (symm (commutativity (= $x20719 $x10391)) (= $x10391 $x20719)) $x20719) false)))
(let ((@x24755 (unit-resolution (lemma @x24992 (or $x20721 $x19989 (not $x24665))) (unit-resolution @x20758 @x24699 $x19986) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x24691) $x24665)) @x24667 $x24665) $x20721)))
(let ((@x24801 (monotonicity (monotonicity (hypothesis $x10340) (= ?x10372 ?x10320)) (= ?x10373 ?x10327))))
(let ((@x24798 (trans @x24801 (symm (hypothesis $x10333) (= ?x10327 v_b_L_H_max_G_2$)) (= ?x10373 v_b_L_H_max_G_2$))))
(let ((@x24758 (trans @x24798 (symm (hypothesis $x10338) (= v_b_L_H_max_G_2$ v_b_L_H_max_G_3$)) $x10374)))
(let ((@x24760 (lemma (unit-resolution (hypothesis $x19411) @x24758 false) (or $x10374 $x19472 $x19469 $x19473))))
(let ((@x25092 (unit-resolution @x24760 (unit-resolution (def-axiom (or $x19950 $x10338)) (hypothesis $x19953) $x10338) (unit-resolution (def-axiom (or $x19950 $x10333)) (hypothesis $x19953) $x10333) (unit-resolution (def-axiom (or $x19950 $x10340)) (hypothesis $x19953) $x10340) $x10374)))
(let ((?x11645 (* (- 1) v_b_SL_H_witness_G_1$)))
(let ((?x24983 (+ v_b_L_H_p_G_0$ ?x11645)))
(let (($x24986 (>= ?x24983 0)))
(let (($x25036 (= v_b_L_H_p_G_0$ v_b_SL_H_witness_G_1$)))
(let ((@x24772 (mp (hypothesis $x10340) (symm (commutativity (= $x25036 $x10340)) (= $x10340 $x25036)) $x25036)))
(let ((@x25067 (lemma (unit-resolution (hypothesis (not $x25036)) @x24772 false) (or $x25036 $x19473))))
(let ((@x25089 (unit-resolution @x25067 (unit-resolution (def-axiom (or $x19950 $x10340)) (hypothesis $x19953) $x10340) $x25036)))
(let ((@x25136 (lemma ((_ th-lemma arith farkas 1 -1 1) (hypothesis $x24986) (hypothesis $x11647) @x23427 false) (or (not $x24986) $x11648 $x11486))))
(let ((@x25093 (unit-resolution @x25136 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x25036) $x24986)) @x25089 $x24986) @x23427 $x11648)))
(let ((@x20614 (def-axiom (or $x19413 $x11647 $x19411))))
(let ((@x20618 (def-axiom (or $x19914 $x19412))))
(let ((?x15869 (* (- 1) ?v0!14)))
(let ((?x24928 (+ v_b_L_H_p_G_0$ ?x15869)))
(let (($x25152 (>= ?x24928 0)))
(let (($x25082 (not $x25152)))
(let (($x25159 (= v_b_L_H_p_G_0$ ?v0!14)))
(let (($x25184 (not $x25159)))
(let (($x25165 (= ?x10327 ?x15634)))
(let (($x25169 (not $x25165)))
(let ((?x23824 (+ ?x10327 ?x15891)))
(let (($x23830 (>= ?x23824 0)))
(let (($x23816 (not $x23830)))
(let ((@x23818 (hypothesis (not $x15893))))
(let ((@x23838 (lemma ((_ th-lemma arith farkas -1 -1 1) @x22521 @x23818 (hypothesis $x23830) false) (or $x23816 (not $x24665) $x15893))))
(let ((@x25123 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x25169 $x23830)) (unit-resolution @x23838 @x22521 @x23818 $x23816) $x25169)))
(let ((@x25179 (monotonicity (symm (hypothesis $x25159) (= ?v0!14 v_b_L_H_p_G_0$)) (= ?x15633 ?x10320))))
(let ((@x25183 (unit-resolution (hypothesis $x25169) (symm (monotonicity @x25179 (= ?x15634 ?x10327)) $x25165) false)))
(let (($x24929 (<= ?x24928 0)))
(let (($x24941 (>= (+ v_b_L_H_max_G_1$ ?x15891) 0)))
(let (($x23835 (not $x24941)))
(let ((@x25078 (unit-resolution ((_ th-lemma arith assign-bounds 1 1) (or $x23835 $x15893 (not $x20721))) (hypothesis $x20721) @x23818 $x23835)))
(let ((@x25066 (hypothesis $x20596)))
(let ((@x23813 ((_ th-lemma arith assign-bounds -1 -1) (or $x11608 $x11486 (not $x20596)))))
(let ((@x20638 (def-axiom (or $x19935 $x11612 $x19929))))
(let ((@x25144 (unit-resolution @x20638 (unit-resolution @x23813 @x25066 @x23427 $x11608) (hypothesis $x19932) $x19929)))
(let ((@x20630 (def-axiom (or $x19926 $x19920))))
(let ((@x20626 (def-axiom (or $x19923 $x19386 $x19917))))
(let ((@x25132 (unit-resolution @x20626 (unit-resolution @x20630 @x25144 $x19920) (hypothesis $x19914) $x19386)))
(let (($x24949 (or $x19903 $x19365 $x19366 $x24929 $x24941)))
(let (($x24778 (<= (+ ?x15634 (* (- 1) v_b_L_H_max_G_1$)) 0)))
(let (($x24909 (>= (+ ?v0!14 ?x11484) 0)))
(let (($x24784 (or $x19365 $x19366 $x24909 $x24778)))
(let (($x24950 (or $x19903 $x24784)))
(let (($x24935 (= (+ ?x15634 (* (- 1) v_b_L_H_max_G_1$)) (+ (* (- 1) v_b_L_H_max_G_1$) ?x15634))))
(let ((@x24939 (monotonicity (rewrite $x24935) (= $x24778 (<= (+ (* (- 1) v_b_L_H_max_G_1$) ?x15634) 0)))))
(let ((@x24945 (trans @x24939 (rewrite (= (<= (+ (* (- 1) v_b_L_H_max_G_1$) ?x15634) 0) $x24941)) (= $x24778 $x24941))))
(let ((@x24905 (monotonicity (rewrite (= (+ ?v0!14 ?x11484) (+ ?x11484 ?v0!14))) (= $x24909 (>= (+ ?x11484 ?v0!14) 0)))))
(let ((@x24933 (trans @x24905 (rewrite (= (>= (+ ?x11484 ?v0!14) 0) $x24929)) (= $x24909 $x24929))))
(let ((@x24954 (monotonicity (monotonicity @x24933 @x24945 (= $x24784 (or $x19365 $x19366 $x24929 $x24941))) (= $x24950 (or $x19903 (or $x19365 $x19366 $x24929 $x24941))))))
(let ((@x24958 (trans @x24954 (rewrite (= (or $x19903 (or $x19365 $x19366 $x24929 $x24941)) $x24949)) (= $x24950 $x24949))))
(let ((@x23833 (unit-resolution (mp ((_ quant-inst ?v0!14) $x24950) @x24958 $x24949) @x23333 (unit-resolution (def-axiom (or $x19381 $x15626)) @x25132 $x15626) (unit-resolution (def-axiom (or $x19381 $x15627)) @x25132 $x15627) (or $x24929 $x24941))))
(let ((@x25097 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x25159 (not $x24929) $x25082)) (unit-resolution @x23833 @x25078 $x24929) (or $x25159 $x25082))))
(let ((@x25098 (unit-resolution @x25097 (unit-resolution (lemma @x25183 (or $x25184 $x25165)) @x25123 $x25184) $x25082)))
(let ((@x25100 ((_ th-lemma arith farkas -1 -1 1) (unit-resolution (def-axiom (or $x19381 $x15876)) @x25132 $x15876) @x25066 @x25098 false)))
(let ((@x25087 (lemma @x25100 (or (not $x24665) (not $x20596) $x15893 $x19903 (not $x20721) $x19917 $x19935 $x11486))))
(let ((@x25104 (unit-resolution @x25087 (unit-resolution @x20618 (unit-resolution @x20614 @x25093 @x25092 $x19413) $x19914) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x24691) $x24665)) @x24667 $x24665) @x23333 @x24755 @x24640 (unit-resolution @x20652 @x24977 $x19932) @x23427 $x15893)))
(let ((@x25102 (unit-resolution @x20638 (unit-resolution @x23813 @x24640 @x23427 $x11608) (unit-resolution @x20652 @x24977 $x19932) $x19929)))
(let ((@x25125 (unit-resolution @x20626 (unit-resolution @x20618 (unit-resolution @x20614 @x25093 @x25092 $x19413) $x19914) (unit-resolution @x20630 @x25102 $x19920) $x19386)))
(let ((@x20605 (def-axiom (or $x19381 (not $x15893)))))
(let ((@x25095 (lemma (unit-resolution @x20605 @x25125 @x25104 false) (or $x19950 $x19903 $x11486 $x15611 $x15590 $x20001))))
(let ((@x25249 (unit-resolution @x25095 (unit-resolution (def-axiom (or $x20074 $x19898)) (hypothesis $x20077) $x19898) @x23427 @x24971 @x24666 (unit-resolution (def-axiom (or $x20004 $x19998)) @x25236 $x19998) $x19950)))
(let ((@x25250 (unit-resolution (def-axiom (or $x19959 $x15590 $x15599 $x19953)) @x25245 @x24666 @x25249 $x19959)))
(let ((@x25252 (unit-resolution (def-axiom (or $x19971 $x15590 $x15593 $x19965)) (unit-resolution (def-axiom (or $x19962 $x19956)) @x25250 $x19962) @x24666 @x25230 $x19971)))
(let ((@x25254 (unit-resolution @x20748 (unit-resolution (def-axiom (or $x19974 $x19968)) @x25252 $x19974) (unit-resolution @x20758 @x25246 $x19986) $x19983)))
(let ((@x25256 (unit-resolution @x20662 (unit-resolution (def-axiom (or $x19980 $x19944)) @x25254 $x19944) @x24971 (unit-resolution @x24996 @x23427 $x13353) $x19941)))
(let ((@x25259 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x19452 $x20596)) (unit-resolution (def-axiom (or $x19938 $x11580)) @x25256 $x11580) $x20596)))
(let ((@x25261 (unit-resolution @x20638 (unit-resolution @x23813 @x25259 @x23427 $x11608) (unit-resolution @x20652 @x25256 $x19932) $x19929)))
(let ((@x25267 (monotonicity (unit-resolution (def-axiom (or $x19980 $x10392)) @x25254 $x10392) (= ?x10372 ?x10190))))
(let ((@x25272 (trans (monotonicity @x25267 (= ?x10373 ?x10191)) (unit-resolution (def-axiom (or $x20074 $x10192)) (hypothesis $x20077) $x10192) (= ?x10373 v_b_L_H_max_G_1$))))
(let ((?x20724 (+ v_b_SL_H_witness_G_0$ ?x11645)))
(let (($x20726 (>= ?x20724 0)))
(let (($x20723 (= v_b_SL_H_witness_G_0$ v_b_SL_H_witness_G_1$)))
(let ((@x25279 (mp (unit-resolution (def-axiom (or $x19980 $x10392)) @x25254 $x10392) (symm (commutativity (= $x20723 $x10392)) (= $x10392 $x20723)) $x20723)))
(let ((@x25229 (lemma ((_ th-lemma arith farkas 1 -1 1) (hypothesis $x20726) (hypothesis $x11647) @x23180 false) (or $x11648 (not $x20726) $x11867))))
(let ((@x25284 (unit-resolution @x25229 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x20723) $x20726)) @x25279 $x20726) (unit-resolution (def-axiom (or $x20074 $x11868)) (hypothesis $x20077) $x11868) $x11648)))
(let ((@x25285 (unit-resolution @x20614 @x25284 (trans @x25272 (symm (unit-resolution @x20732 @x25254 $x10391) $x20719) $x10374) $x19413)))
(let ((@x25287 (unit-resolution @x20626 (unit-resolution @x20618 @x25285 $x19914) (unit-resolution @x20630 @x25261 $x19920) $x19386)))
(let ((@x25289 (mp (unit-resolution @x20732 @x25254 $x10391) (symm (commutativity (= $x20719 $x10391)) (= $x10391 $x20719)) $x20719)))
(let ((@x25293 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1) (or $x24665 $x11515 (not $x20721))) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x20719) $x20721)) @x25289 $x20721) (unit-resolution (def-axiom (or $x19980 $x11516)) @x25254 $x11516) $x24665)))
(let ((@x25294 (unit-resolution @x25087 (unit-resolution @x20618 @x25285 $x19914) (unit-resolution @x20652 @x25256 $x19932) (unit-resolution (def-axiom (or $x20074 $x19898)) (hypothesis $x20077) $x19898) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x20719) $x20721)) @x25289 $x20721) @x25293 @x25259 @x23427 $x15893)))
(let ((@x25297 (lemma (unit-resolution @x20605 @x25294 @x25287 false) (or $x20074 $x11486 $x15611 $x15590 $x15593 $x23368 $x24385))))
(let ((@x24156 (unit-resolution @x25297 @x24155 @x24113 @x24166 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x11570 $x19670)) @x24140 $x11570) @x24136 @x24176 $x24385)))
(let ((?x24715 (+ ?x23287 ?x23622)))
(let ((?x24720 (b_S_ptr$ b_T_T_u1$ ?x24715)))
(let ((?x24697 (b_S_idx$ ?x21983 v_b_L_H_p_G_0$ b_T_T_u1$)))
(let (($x24723 (= ?x24697 ?x24720)))
(let (($x24726 (not $x24723)))
(let (($x24698 (b_S_extent_n_hint$ ?x24697 ?x21983)))
(let (($x24705 (not $x24698)))
(let (($x24729 (or $x24705 $x24726)))
(let (($x24732 (not $x24729)))
(let (($x24735 (or $x22568 $x24732)))
(let (($x24709 (not (= ?x24697 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 (* v_b_L_H_p_G_0$ ?x10045)))))))
(let (($x24711 (not (or $x24705 $x24709))))
(let (($x24724 (= (= ?x24697 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 (* v_b_L_H_p_G_0$ ?x10045)))) $x24723)))
(let ((@x24714 (monotonicity @x23250 (= (+ ?x23622 (* v_b_L_H_p_G_0$ ?x10045)) (+ ?x23622 ?x23287)))))
(let ((@x24719 (trans @x24714 (rewrite (= (+ ?x23622 ?x23287) ?x24715)) (= (+ ?x23622 (* v_b_L_H_p_G_0$ ?x10045)) ?x24715))))
(let ((@x24722 (monotonicity @x24719 (= (b_S_ptr$ b_T_T_u1$ (+ ?x23622 (* v_b_L_H_p_G_0$ ?x10045))) ?x24720))))
(let ((@x24731 (monotonicity (monotonicity (monotonicity @x24722 $x24724) (= $x24709 $x24726)) (= (or $x24705 $x24709) $x24729))))
(let ((@x24739 (monotonicity (monotonicity @x24731 (= $x24711 $x24732)) (= (or $x22568 $x24711) $x24735))))
(let ((@x24743 (mp ((_ quant-inst (b_S_ptr$ ?x10076 ?x21014) v_b_L_H_p_G_0$ b_T_T_u1$) (or $x22568 $x24711)) (trans @x24739 (rewrite (= $x24735 $x24735)) (= (or $x22568 $x24711) $x24735)) $x24735)))
(let ((@x24747 (def-axiom (or $x24729 $x24723))))
(let ((@x23880 (unit-resolution @x24747 (lemma (unit-resolution @x24743 @x18183 (hypothesis $x24729) false) $x24732) $x24723)))
(let ((?x24111 (+ ?x10079 ?x23287)))
(let ((?x24114 (b_S_ptr$ b_T_T_u1$ ?x24111)))
(let (($x23925 (= ?x10320 ?x24114)))
(let (($x23973 (or (not (b_S_extent_n_hint$ ?x10320 ?x10078)) (not $x23925))))
(let (($x23975 (not $x23973)))
(let (($x23999 (or $x22568 $x23975)))
(let (($x24108 (not (= ?x10320 (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045)))))))
(let (($x24110 (not (or (not (b_S_extent_n_hint$ ?x10320 ?x10078)) $x24108))))
(let (($x23928 (= (= ?x10320 (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045)))) $x23925)))
(let ((@x23927 (monotonicity (monotonicity @x23250 (= (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045)) ?x24111)) (= (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045))) ?x24114))))
(let ((@x23972 (monotonicity (monotonicity (monotonicity @x23927 $x23928) (= $x24108 (not $x23925))) (= (or (not (b_S_extent_n_hint$ ?x10320 ?x10078)) $x24108) $x23973))))
(let ((@x23964 (monotonicity (monotonicity @x23972 (= $x24110 $x23975)) (= (or $x22568 $x24110) $x23999))))
(let ((@x23967 (mp ((_ quant-inst (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) v_b_L_H_p_G_0$ b_T_T_u1$) (or $x22568 $x24110)) (trans @x23964 (rewrite (= $x23999 $x23999)) (= (or $x22568 $x24110) $x23999)) $x23999)))
(let ((@x24824 (unit-resolution (def-axiom (or $x23973 $x23925)) (unit-resolution @x23967 @x18183 $x23975) $x23925)))
(let ((?x24252 (+ ?x10079 ?x23287 (* (- 1) (b_S_ref$ ?x24114)))))
(let (($x24242 (= ?x24252 0)))
(let (($x24247 (or $x21152 $x24242)))
(let ((@x24254 (monotonicity (rewrite (= (= (b_S_ref$ ?x24114) ?x24111) $x24242)) (= (or $x21152 (= (b_S_ref$ ?x24114) ?x24111)) $x24247))))
(let ((@x24256 (trans @x24254 (rewrite (= $x24247 $x24247)) (= (or $x21152 (= (b_S_ref$ ?x24114) ?x24111)) $x24247))))
(let ((@x24827 (unit-resolution (mp ((_ quant-inst b_T_T_u1$ (+ ?x10079 ?x23287)) (or $x21152 (= (b_S_ref$ ?x24114) ?x24111))) @x24256 $x24247) @x19840 $x24242)))
(let ((@x24831 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x24242) (<= ?x24252 0))) @x24827 (<= ?x24252 0))))
(let ((@x24834 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x24242) (>= ?x24252 0))) @x24827 (>= ?x24252 0))))
(let (($x24814 (= ?x24111 ?x24715)))
(let ((?x24815 (* (- 1) ?x24715)))
(let ((?x24818 (+ ?x24111 ?x24815)))
(let (($x24819 (<= ?x24818 0)))
(let ((?x24234 (* (- 1) ?x21014)))
(let ((?x24214 (+ ?x10079 ?x24234)))
(let (($x24215 (<= ?x24214 0)))
(let ((@x24854 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x10079 ?x21014)) $x24215)) (symm (unit-resolution @x21192 @x19840 $x21186) (= ?x10079 ?x21014)) $x24215)))
(let ((?x24751 (* (- 1) ?x23622)))
(let ((?x24752 (+ ?x21014 ?x24751)))
(let (($x24753 (<= ?x24752 0)))
(let ((@x24857 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x21014 ?x23622)) $x24753)) (symm (monotonicity @x23670 (= ?x23622 ?x21014)) (= ?x21014 ?x23622)) $x24753)))
(let ((@x24862 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x24819 (not $x24753) (not $x24215))) @x24857 @x24854 $x24819)))
(let (($x24820 (>= ?x24818 0)))
(let (($x24216 (>= ?x24214 0)))
(let ((@x24841 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x10079 ?x21014)) $x24216)) (symm (unit-resolution @x21192 @x19840 $x21186) (= ?x10079 ?x21014)) $x24216)))
(let (($x24754 (>= ?x24752 0)))
(let ((@x24846 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x21014 ?x23622)) $x24754)) (symm (monotonicity @x23670 (= ?x23622 ?x21014)) (= ?x21014 ?x23622)) $x24754)))
(let ((@x24851 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x24820 (not $x24754) (not $x24216))) @x24846 @x24841 $x24820)))
(let ((@x24907 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x24814 (not $x24819) (not $x24820))) @x24851 @x24862 $x24814)))
(let ((@x24911 (trans (symm @x24907 (= ?x24715 ?x24111)) ((_ th-lemma arith eq-propagate -1 -1) @x24834 @x24831 (= ?x24111 (b_S_ref$ ?x24114))) (= ?x24715 (b_S_ref$ ?x24114)))))
(let ((@x24912 (trans @x24911 (monotonicity (symm @x24824 (= ?x24114 ?x10320)) (= (b_S_ref$ ?x24114) ?x24147)) (= ?x24715 ?x24147))))
(let ((@x24915 (trans (monotonicity @x23682 (= ?x24598 ?x24697)) (hypothesis $x24723) (= ?x24598 ?x24720))))
(let ((@x24917 (monotonicity (trans @x24915 (monotonicity @x24912 (= ?x24720 ?x24169)) (= ?x24598 ?x24169)) (= ?x24302 ?x24320))))
(let ((@x24920 (trans (monotonicity (symm @x24917 (= ?x24320 ?x24302)) (= ?x24323 ?x24605)) (hypothesis $x24606) (= ?x24323 ?x22595))))
(let ((@x24924 (trans (monotonicity (trans @x24920 @x23680 (= ?x24323 ?x10080)) (= ?x24331 ?x10082)) @x12043 $x24332)))
(let ((@x24927 (lemma (unit-resolution (hypothesis $x24385) @x24924 false) (or $x24726 $x24332 $x24607))))
(unit-resolution (unit-resolution @x24927 @x23880 (or $x24332 $x24607)) @x24156 @x24149 false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

b45f2460a495d881fc6020fbfa5928aede1a58f0 2924 0
unsat
((set-logic <null>)
(declare-fun ?v0!15 () Int)
(declare-fun ?v0!14 () Int)
(declare-fun ?v0!13 () Int)
(proof
(let ((?x10076 (b_S_array$ b_T_T_u1$ v_b_P_H_len$)))
(let ((?x22595 (b_S_ptr$ ?x10076 v_b_P_H_arr$)))
(let ((?x24598 (b_S_idx$ ?x22595 v_b_L_H_p_G_0$ b_T_T_u1$)))
(let ((?x10272 (b_S_typemap$ v_b_S_s$)))
(let ((?x24302 (b_S_select_o_tm$ ?x10272 ?x24598)))
(let ((?x24605 (b_S_ts_n_emb$ ?x24302)))
(let (($x24606 (= ?x24605 ?x22595)))
(let (($x24611 (b_S_typed$ v_b_S_s$ ?x24598)))
(let (($x24614 (not $x24611)))
(let (($x24608 (b_S_ts_n_is_n_volatile$ ?x24302)))
(let (($x24607 (not $x24606)))
(let (($x24615 (or $x24607 $x24608 (not (b_S_ts_n_is_n_array_n_elt$ ?x24302)) $x24614)))
(let (($x24616 (not $x24615)))
(let (($x11901 (>= v_b_L_H_p_G_0$ 0)))
(let (($x20030 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11800 (not $x10238))))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704))
))
(let (($x20035 (not $x20030)))
(let (($x20022 (forall ((?v0 Int) )(! (let ((?x11816 (* (- 1) v_b_S_result_G_0$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11818 (<= (+ ?x10163 ?x11816) 0)))
(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11800 $x11818))))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704))
))
(let (($x20027 (not $x20022)))
(let (($x20038 (or $x20027 $x20035)))
(let (($x20041 (not $x20038)))
(let ((?x10078 (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$)))
(let ((?x15743 (b_S_idx$ ?x10078 ?v0!15 b_T_T_u1$)))
(let ((?x15744 (b_S_read_n_u1$ v_b_S_s$ ?x15743)))
(let ((?x16029 (* (- 1) ?x15744)))
(let (($x16031 (>= (+ v_b_S_result_G_0$ ?x16029) 0)))
(let (($x16009 (<= (+ v_b_P_H_len$ (* (- 1) ?v0!15)) 0)))
(let (($x15737 (<= ?v0!15 4294967295)))
(let (($x19560 (not $x15737)))
(let (($x15736 (>= ?v0!15 0)))
(let (($x19559 (not $x15736)))
(let (($x19575 (or $x19559 $x19560 $x16009 $x16031)))
(let (($x19580 (not $x19575)))
(let (($x20044 (or $x19580 $x20041)))
(let (($x20047 (not $x20044)))
(let (($x10222 (= v_b_S_result_G_0$ v_b_L_H_max_G_1$)))
(let (($x19640 (not $x10222)))
(let (($x10220 (= v_b_SL_H_witness_G_2$ v_b_SL_H_witness_G_0$)))
(let (($x19639 (not $x10220)))
(let (($x10218 (= v_b_L_H_p_G_2$ v_b_L_H_p_G_0$)))
(let (($x19638 (not $x10218)))
(let (($x10216 (= v_b_L_H_max_G_4$ v_b_L_H_max_G_1$)))
(let (($x19637 (not $x10216)))
(let (($x11432 (>= v_b_SL_H_witness_G_0$ 0)))
(let (($x19501 (not $x11432)))
(let (($x11429 (>= v_b_L_H_p_G_0$ 1)))
(let (($x19474 (not $x11429)))
(let (($x15729 (not b_S_position_n_marker$)))
(let (($x20050 (or $x15729 $x19474 $x19501 $x19637 $x19638 $x19639 $x19640 $x20047)))
(let (($x20053 (not $x20050)))
(let (($x20056 (or $x15729 $x20053)))
(let (($x20059 (not $x20056)))
(let ((?x11484 (* (- 1) v_b_L_H_p_G_0$)))
(let ((?x11485 (+ v_b_P_H_len$ ?x11484)))
(let (($x11486 (<= ?x11485 0)))
(let (($x11487 (not $x11486)))
(let (($x20062 (or $x11487 $x19474 $x19501 $x20059)))
(let (($x20065 (not $x20062)))
(let ((?x10372 (b_S_idx$ ?x10078 v_b_SL_H_witness_G_1$ b_T_T_u1$)))
(let ((?x10373 (b_S_read_n_u1$ v_b_S_s$ ?x10372)))
(let (($x10374 (= ?x10373 v_b_L_H_max_G_3$)))
(let (($x19411 (not $x10374)))
(let (($x11647 (<= (+ v_b_P_H_len$ (* (- 1) v_b_SL_H_witness_G_1$)) 0)))
(let (($x19412 (or $x11647 $x19411)))
(let (($x19413 (not $x19412)))
(let (($x19906 (forall ((?v0 Int) )(! (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11633 (<= (+ ?x10163 ?x11631) 0)))
(let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11615 $x11633))))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704))
))
(let (($x19911 (not $x19906)))
(let (($x19914 (or $x19911 $x19413)))
(let (($x19917 (not $x19914)))
(let ((?x15633 (b_S_idx$ ?x10078 ?v0!14 b_T_T_u1$)))
(let ((?x15634 (b_S_read_n_u1$ v_b_S_s$ ?x15633)))
(let ((?x15891 (* (- 1) ?x15634)))
(let (($x15893 (>= (+ v_b_L_H_max_G_3$ ?x15891) 0)))
(let (($x15871 (<= (+ v_b_L_H_p_G_1$ (* (- 1) ?v0!14)) 0)))
(let (($x15627 (<= ?v0!14 4294967295)))
(let (($x19366 (not $x15627)))
(let (($x15626 (>= ?v0!14 0)))
(let (($x19365 (not $x15626)))
(let (($x19381 (or $x19365 $x19366 $x15871 $x15893)))
(let (($x19386 (not $x19381)))
(let (($x19920 (or $x19386 $x19917)))
(let (($x19923 (not $x19920)))
(let (($x11608 (>= (+ v_b_P_H_len$ (* (- 1) v_b_L_H_p_G_1$)) 0)))
(let (($x11612 (not $x11608)))
(let (($x19926 (or $x11612 $x19923)))
(let (($x19929 (not $x19926)))
(let (($x19932 (or $x11612 $x19929)))
(let (($x19935 (not $x19932)))
(let (($x11536 (>= v_b_SL_H_witness_G_1$ 0)))
(let (($x19455 (not $x11536)))
(let (($x11578 (>= v_b_L_H_p_G_1$ 2)))
(let (($x19454 (not $x11578)))
(let (($x10358 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_24$ b_H_loc_o_p$ v_b_L_H_p_G_1$ b_T_T_u4$)))
(let (($x19453 (not $x10358)))
(let ((?x11581 (* (- 1) v_b_L_H_p_G_1$)))
(let ((?x11582 (+ v_b_L_H_p_G_0$ ?x11581)))
(let (($x11580 (= ?x11582 (- 1))))
(let (($x19452 (not $x11580)))
(let (($x13353 (<= v_b_L_H_p_G_0$ 4294967294)))
(let (($x15614 (not $x13353)))
(let (($x11570 (>= v_b_L_H_p_G_0$ (- 1))))
(let (($x15611 (not $x11570)))
(let (($x19938 (or $x15611 $x15614 $x19452 $x19453 $x19454 $x19455 $x19935)))
(let (($x19941 (not $x19938)))
(let (($x19944 (or $x15611 $x15614 $x19941)))
(let (($x19947 (not $x19944)))
(let (($x10392 (= v_b_SL_H_witness_G_1$ v_b_SL_H_witness_G_0$)))
(let (($x19513 (not $x10392)))
(let (($x10391 (= v_b_L_H_max_G_3$ v_b_L_H_max_G_1$)))
(let (($x19512 (not $x10391)))
(let ((?x10320 (b_S_idx$ ?x10078 v_b_L_H_p_G_0$ b_T_T_u1$)))
(let ((?x10327 (b_S_read_n_u1$ v_b_S_s$ ?x10320)))
(let ((?x11517 (* (- 1) ?x10327)))
(let (($x11516 (>= (+ v_b_L_H_max_G_1$ ?x11517) 0)))
(let (($x11515 (not $x11516)))
(let (($x19980 (or $x11515 $x19501 $x19512 $x19513 $x19474 $x19455 $x19947)))
(let (($x19983 (not $x19980)))
(let (($x10340 (= v_b_SL_H_witness_G_1$ v_b_L_H_p_G_0$)))
(let (($x19473 (not $x10340)))
(let (($x10338 (= v_b_L_H_max_G_3$ v_b_L_H_max_G_2$)))
(let (($x19472 (not $x10338)))
(let (($x10335 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_24_o_47$ b_H_loc_o_witness$ v_b_L_H_p_G_0$ b_T_T_u4$)))
(let (($x19471 (not $x10335)))
(let (($x10334 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_23_o_7$ b_H_loc_o_max$ v_b_L_H_max_G_2$ b_T_T_u1$)))
(let (($x19470 (not $x10334)))
(let (($x10333 (= v_b_L_H_max_G_2$ ?x10327)))
(let (($x19469 (not $x10333)))
(let (($x10324 (b_S_thread_n_local$ v_b_S_s$ ?x10320)))
(let (($x15599 (not $x10324)))
(let (($x10321 (b_S_is$ ?x10320 b_T_T_u1$)))
(let (($x15590 (not $x10321)))
(let (($x19950 (or $x15590 $x15599 $x19469 $x19470 $x19471 $x19472 $x19473 $x19474 $x19455 $x19947)))
(let (($x19953 (not $x19950)))
(let (($x19956 (or $x15590 $x15599 $x19953)))
(let (($x19959 (not $x19956)))
(let (($x10322 (b_S_typed$ v_b_S_s$ ?x10320)))
(let (($x15593 (not $x10322)))
(let (($x19962 (or $x15590 $x15593 $x19959)))
(let (($x19965 (not $x19962)))
(let (($x19968 (or $x15590 $x15593 $x19965)))
(let (($x19971 (not $x19968)))
(let (($x19974 (or $x11516 $x19474 $x19501 $x19971)))
(let (($x19977 (not $x19974)))
(let (($x19986 (or $x19977 $x19983)))
(let (($x19989 (not $x19986)))
(let (($x19992 (or $x15590 $x15599 $x19474 $x19501 $x19989)))
(let (($x19995 (not $x19992)))
(let (($x19998 (or $x15590 $x15599 $x19995)))
(let (($x20001 (not $x19998)))
(let (($x20004 (or $x15590 $x15593 $x20001)))
(let (($x20007 (not $x20004)))
(let (($x20010 (or $x15590 $x15593 $x20007)))
(let (($x20013 (not $x20010)))
(let (($x20016 (or $x11486 $x19474 $x19501 $x20013)))
(let (($x20019 (not $x20016)))
(let (($x20068 (or $x20019 $x20065)))
(let (($x20071 (not $x20068)))
(let ((?x2238 (b_S_ptr_n_to$ b_T_T_u1$)))
(let (($x10296 (b_S_local_n_value_n_is_n_ptr$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_arr$ ?x10078 ?x2238)))
(let (($x19683 (not $x10296)))
(let ((?x10105 (b_S_ptr_n_to_n_int$ ?x10078)))
(let (($x10295 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_arr$ ?x10105 ?x2238)))
(let (($x19682 (not $x10295)))
(let (($x10294 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_len$ v_b_P_H_len$ b_T_T_u4$)))
(let (($x19681 (not $x10294)))
(let (($x10293 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_max$ v_b_L_H_max_G_1$ b_T_T_u1$)))
(let (($x19680 (not $x10293)))
(let (($x10292 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_witness$ v_b_SL_H_witness_G_0$ b_T_T_u4$)))
(let (($x19679 (not $x10292)))
(let (($x10291 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_p$ v_b_L_H_p_G_0$ b_T_T_u4$)))
(let (($x19678 (not $x10291)))
(let (($x10097 (b_S_full_n_stop$ v_b_S_s$)))
(let (($x19677 (not $x10097)))
(let (($x10204 (b_S_good_n_state_n_ext$ b_H_tok_S_1_T_16_o_3$ v_b_S_s$)))
(let (($x19676 (not $x10204)))
(let (($x10284 (b_S_call_n_transition$ v_b_S_s$ v_b_S_s$)))
(let (($x19675 (not $x10284)))
(let ((?x10190 (b_S_idx$ ?x10078 v_b_SL_H_witness_G_0$ b_T_T_u1$)))
(let ((?x10191 (b_S_read_n_u1$ v_b_S_s$ ?x10190)))
(let (($x10192 (= ?x10191 v_b_L_H_max_G_1$)))
(let (($x19674 (not $x10192)))
(let (($x11867 (<= (+ v_b_P_H_len$ (* (- 1) v_b_SL_H_witness_G_0$)) 0)))
(let (($x19898 (forall ((?v0 Int) )(! (let ((?x11887 (* (- 1) v_b_L_H_max_G_1$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11889 (<= (+ ?x10163 ?x11887) 0)))
(let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11871 $x11889))))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704))
))
(let (($x19903 (not $x19898)))
(let (($x11898 (>= ?x11485 0)))
(let (($x19672 (not $x11898)))
(let (($x13326 (<= v_b_L_H_p_G_0$ 4294967295)))
(let (($x19671 (not $x13326)))
(let (($x19670 (not $x11901)))
(let (($x13315 (<= v_b_SL_H_witness_G_0$ 4294967295)))
(let (($x19669 (not $x13315)))
(let (($x13304 (<= v_b_L_H_max_G_1$ 255)))
(let (($x19668 (not $x13304)))
(let (($x11911 (>= v_b_L_H_max_G_1$ 0)))
(let (($x19667 (not $x11911)))
(let ((?x10137 (b_S_idx$ ?x10078 0 b_T_T_u1$)))
(let ((?x10144 (b_S_read_n_u1$ v_b_S_s$ ?x10137)))
(let (($x10167 (= ?x10144 v_b_L_H_max_G_0$)))
(let (($x15548 (not $x10167)))
(let (($x11259 (<= v_b_P_H_len$ 0)))
(let (($x20074 (or $x11259 $x15548 $x19667 $x19668 $x19669 $x19670 $x19671 $x19672 $x19903 $x11867 $x19674 $x19675 $x19676 $x19677 $x19678 $x19679 $x19680 $x19681 $x19682 $x19683 $x19474 $x19501 $x20071)))
(let (($x20077 (not $x20074)))
(let (($x10145 (= v_b_L_H_max_G_0$ ?x10144)))
(let (($x20080 (or $x11259 $x15548 $x20077)))
(let (($x20083 (not $x20080)))
(let (($x19890 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0)))
(let (($x11388 (>= ?v0 1)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11388 $x11404)))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704))
))
(let (($x19895 (not $x19890)))
(let (($x20086 (or $x19895 $x20083)))
(let (($x20089 (not $x20086)))
(let ((?x15529 (b_S_idx$ ?x10078 ?v0!13 b_T_T_u1$)))
(let ((?x15530 (b_S_read_n_u1$ v_b_S_s$ ?x15529)))
(let ((?x15531 (* (- 1) ?x15530)))
(let (($x15533 (>= (+ v_b_L_H_max_G_0$ ?x15531) 0)))
(let (($x15525 (>= ?v0!13 1)))
(let (($x15524 (<= ?v0!13 4294967295)))
(let (($x19298 (not $x15524)))
(let (($x15523 (>= ?v0!13 0)))
(let (($x19297 (not $x15523)))
(let (($x19313 (or $x19297 $x19298 $x15525 $x15533)))
(let (($x19318 (not $x19313)))
(let (($x20092 (or $x19318 $x20089)))
(let (($x20095 (not $x20092)))
(let (($x11382 (>= v_b_P_H_len$ 1)))
(let (($x11385 (not $x11382)))
(let (($x20098 (or $x11385 $x20095)))
(let (($x20101 (not $x20098)))
(let (($x20104 (or $x11385 $x20101)))
(let (($x20107 (not $x20104)))
(let (($x10148 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_8$ b_H_loc_o_p$ 1 b_T_T_u4$)))
(let (($x19727 (not $x10148)))
(let (($x10147 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_14_o_3$ b_H_loc_o_witness$ 0 b_T_T_u4$)))
(let (($x19726 (not $x10147)))
(let (($x10146 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_12_o_3$ b_H_loc_o_max$ v_b_L_H_max_G_0$ b_T_T_u1$)))
(let (($x19725 (not $x10146)))
(let (($x19724 (not $x10145)))
(let (($x10141 (b_S_thread_n_local$ v_b_S_s$ ?x10137)))
(let (($x15511 (not $x10141)))
(let (($x10138 (b_S_is$ ?x10137 b_T_T_u1$)))
(let (($x15502 (not $x10138)))
(let (($x20110 (or $x15502 $x15511 $x19724 $x19725 $x19726 $x19727 $x20107)))
(let (($x20113 (not $x20110)))
(let (($x20116 (or $x15502 $x15511 $x20113)))
(let (($x20119 (not $x20116)))
(let (($x10139 (b_S_typed$ v_b_S_s$ ?x10137)))
(let (($x15505 (not $x10139)))
(let (($x20122 (or $x15502 $x15505 $x20119)))
(let (($x20125 (not $x20122)))
(let ((?x22478 (b_S_select_o_tm$ ?x10272 ?x10137)))
(let (($x22602 (b_S_ts_n_is_n_volatile$ ?x22478)))
(let (($x22603 (or $x15505 $x22602)))
(let (($x22604 (not $x22603)))
(let ((?x10079 (b_S_ref$ ?x10078)))
(let ((?x10080 (b_S_ptr$ ?x10076 ?x10079)))
(let ((?x21014 (b_S_ref$ ?x10080)))
(let ((?x21983 (b_S_ptr$ ?x10076 ?x21014)))
(let ((?x22343 (b_S_domain$ v_b_S_s$ ?x21983)))
(let (($x22596 (b_S_set_n_in$ ?x22595 ?x22343)))
(let (($x21179 (= ?x10079 v_b_P_H_arr$)))
(let (($x19835 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (= (b_S_ref$ (b_S_ptr$ ?v0 ?v1)) ?v1) :pattern ( (b_S_ptr$ ?v0 ?v1) ) :qid k!627))
))
(let (($x9655 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (= (b_S_ref$ (b_S_ptr$ ?v0 ?v1)) ?v1) :qid k!627))
))
(let (($x9654 (= (b_S_ref$ (b_S_ptr$ ?1 ?0)) ?0)))
(let ((@x15356 (mp~ (asserted $x9655) (nnf-pos (refl (~ $x9654 $x9654)) (~ $x9655 $x9655)) $x9655)))
(let ((@x19840 (mp @x15356 (quant-intro (refl (= $x9654 $x9654)) (= $x9655 $x19835)) $x19835)))
(let (($x21152 (not $x19835)))
(let (($x21184 (or $x21152 $x21179)))
(let ((@x21185 ((_ quant-inst b_T_T_u1$ v_b_P_H_arr$) $x21184)))
(let ((@x23445 (unit-resolution @x21185 @x19840 $x21179)))
(let ((@x23680 (monotonicity (symm @x23445 (= v_b_P_H_arr$ ?x10079)) (= ?x22595 ?x10080))))
(let (($x21990 (= ?x10080 ?x21983)))
(let (($x10084 (b_S_is$ ?x10080 ?x10076)))
(let (($x11245 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_P_H_len$)) 0)))
(let (($x11243 (>= v_b_P_H_len$ 0)))
(let (($x10439 (forall ((?v0 B_S_ptr$) )(! (let (($x10113 (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0)))
(not $x10113)) :pattern ( (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0) ) :qid k!704))
))
(let ((?x10111 (b_S_current_n_timestamp$ v_b_S_s$)))
(let (($x10112 (= v_b_H_wrTime_S_1_T_6_o_1$ ?x10111)))
(let (($x10109 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_6_o_1$ b_H_loc_o_len$ v_b_P_H_len$ b_T_T_u4$)))
(let (($x10107 (b_S_local_n_value_n_is_n_ptr$ v_b_S_s$ b_H_tok_S_1_T_6_o_1$ b_H_loc_o_arr$ ?x10078 ?x2238)))
(let (($x10106 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_6_o_1$ b_H_loc_o_arr$ ?x10105 ?x2238)))
(let (($x11256 (forall ((?v0 B_S_pure_n_function$) )(! (let (($x11251 (>= (+ (b_S_frame_n_level$ ?v0) (* (- 1) b_S_current_n_frame_n_level$)) 0)))
(not $x11251)) :pattern ( (b_S_frame_n_level$ ?v0) ) :qid k!704))
))
(let (($x10096 (b_S_good_n_state_n_ext$ b_H_tok_S_1_T_6_o_1$ v_b_S_s$)))
(let (($x10095 (b_S_function_n_entry$ v_b_S_s$)))
(let (($x10089 (b_S_is_n_non_n_primitive$ ?x10076)))
(let ((?x10086 (b_S_kind_n_of$ ?x10076)))
(let (($x10087 (= ?x10086 b_S_kind_n_primitive$)))
(let (($x10088 (not $x10087)))
(let (($x10085 (b_S_typed$ v_b_S_s$ ?x10080)))
(let ((?x10082 (b_S_owner$ v_b_S_s$ ?x10080)))
(let (($x10083 (= ?x10082 b_S_me$)))
(let (($x10081 (b_S_closed$ v_b_S_s$ ?x10080)))
(let (($x11260 (not $x11259)))
(let (($x11263 (>= v_b_P_H_len$ 1099511627776)))
(let (($x11264 (not $x11263)))
(let (($x11270 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_SL_H_witness$)) 0)))
(let (($x11268 (>= v_b_SL_H_witness$ 0)))
(let (($x11278 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_L_H_p$)) 0)))
(let (($x11276 (>= v_b_L_H_p$ 0)))
(let (($x11286 (>= (+ b_S_max_o_u1$ (* (- 1) v_b_L_H_max$)) 0)))
(let (($x11284 (>= v_b_L_H_max$ 0)))
(let (($x11342 (and $x11284 $x11286 $x11276 $x11278 $x11268 $x11270 $x11264 $x11260 $x10081 $x10083 $x10084 $x10085 $x10088 $x10089 $x10095 $x10096 $x10097 $x11256 $x10106 $x10107 $x10109 $x10112 $x10439 $x11243 $x11245)))
(let (($x11844 (exists ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x11802 (not $x11800)))
(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
(let ((?x3114 (+ ?v0 ?x3113)))
(let (($x3115 (<= ?x3114 0)))
(let (($x2815 (>= ?v0 0)))
(and $x2815 $x3115 $x11802 $x10238))))))))) :qid k!704))
))
(let (($x11824 (forall ((?v0 Int) )(! (let ((?x11816 (* (- 1) v_b_S_result_G_0$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11818 (<= (+ ?x10163 ?x11816) 0)))
(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x11802 (not $x11800)))
(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
(let ((?x3114 (+ ?v0 ?x3113)))
(let (($x3115 (<= ?x3114 0)))
(let (($x2815 (>= ?v0 0)))
(let (($x11808 (and $x2815 $x3115 $x11802)))
(let (($x11813 (not $x11808)))
(or $x11813 $x11818)))))))))))) :qid k!704))
))
(let (($x11827 (not $x11824)))
(let (($x11847 (or $x11827 $x11844)))
(let (($x11850 (and $x11824 $x11847)))
(let (($x11792 (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222)))
(let (($x11797 (not $x11792)))
(let (($x11853 (or $x11797 $x11850)))
(let (($x11856 (and b_S_position_n_marker$ $x11853)))
(let (($x11772 (and $x11486 $x11429 $x11432)))
(let (($x11777 (not $x11772)))
(let (($x11859 (or $x11777 $x11856)))
(let (($x11648 (not $x11647)))
(let (($x11651 (and $x11648 $x10374)))
(let (($x11639 (forall ((?v0 Int) )(! (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11633 (<= (+ ?x10163 ?x11631) 0)))
(let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0)))
(let (($x11617 (not $x11615)))
(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
(let ((?x3114 (+ ?v0 ?x3113)))
(let (($x3115 (<= ?x3114 0)))
(let (($x2815 (>= ?v0 0)))
(let (($x11623 (and $x2815 $x3115 $x11617)))
(let (($x11628 (not $x11623)))
(or $x11628 $x11633)))))))))))) :qid k!704))
))
(let (($x11642 (not $x11639)))
(let (($x11654 (or $x11642 $x11651)))
(let (($x11657 (and $x11639 $x11654)))
(let (($x11660 (or $x11612 $x11657)))
(let (($x11663 (and $x11608 $x11660)))
(let ((?x11574 (+ b_S_max_o_u4$ ?x11484)))
(let (($x11573 (>= ?x11574 1)))
(let (($x11600 (and $x11570 $x11573 $x11580 $x10358 $x11578 $x11536)))
(let (($x11605 (not $x11600)))
(let (($x11666 (or $x11605 $x11663)))
(let (($x11672 (and $x11570 $x11573 $x11666)))
(let (($x11725 (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536)))
(let (($x11730 (not $x11725)))
(let (($x11733 (or $x11730 $x11672)))
(let (($x11562 (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536)))
(let (($x11567 (not $x11562)))
(let (($x11677 (or $x11567 $x11672)))
(let (($x11683 (and $x10321 $x10324 $x11677)))
(let (($x10323 (and $x10321 $x10322)))
(let (($x11001 (not $x10323)))
(let (($x11688 (or $x11001 $x11683)))
(let (($x11694 (and $x10321 $x10322 $x11688)))
(let (($x11527 (and $x11515 $x11429 $x11432)))
(let (($x11532 (not $x11527)))
(let (($x11699 (or $x11532 $x11694)))
(let (($x11736 (and $x11699 $x11733)))
(let (($x11507 (and $x10321 $x10324 $x11429 $x11432)))
(let (($x11512 (not $x11507)))
(let (($x11739 (or $x11512 $x11736)))
(let (($x11745 (and $x10321 $x10324 $x11739)))
(let (($x11750 (or $x11001 $x11745)))
(let (($x11756 (and $x10321 $x10322 $x11750)))
(let (($x11496 (and $x11487 $x11429 $x11432)))
(let (($x11501 (not $x11496)))
(let (($x11761 (or $x11501 $x11756)))
(let (($x11862 (and $x11761 $x11859)))
(let (($x11476 (and $x10284 $x10204 $x10097 $x10291 $x10292 $x10293 $x10294 $x10295 $x10296 $x11429 $x11432)))
(let (($x11481 (not $x11476)))
(let (($x11868 (not $x11867)))
(let (($x11895 (forall ((?v0 Int) )(! (let ((?x11887 (* (- 1) v_b_L_H_max_G_1$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11889 (<= (+ ?x10163 ?x11887) 0)))
(let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0)))
(let (($x11873 (not $x11871)))
(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
(let ((?x3114 (+ ?v0 ?x3113)))
(let (($x3115 (<= ?x3114 0)))
(let (($x2815 (>= ?v0 0)))
(let (($x11879 (and $x2815 $x3115 $x11873)))
(let (($x11884 (not $x11879)))
(or $x11884 $x11889)))))))))))) :qid k!704))
))
(let (($x11904 (>= ?x11574 0)))
(let (($x11907 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_SL_H_witness_G_0$)) 0)))
(let (($x11914 (>= (+ b_S_max_o_u1$ (* (- 1) v_b_L_H_max_G_1$)) 0)))
(let (($x11957 (and $x11260 $x10167 $x11911 $x11914 $x11907 $x11901 $x11904 $x11898 $x11895 $x11868 $x10192 $x11429 $x11432)))
(let (($x11962 (not $x11957)))
(let (($x11971 (or $x11962 $x11481 $x11862)))
(let (($x11979 (and $x11260 $x10167 $x11971)))
(let (($x11411 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0)))
(let (($x11388 (>= ?v0 1)))
(let (($x11389 (not $x11388)))
(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
(let ((?x3114 (+ ?v0 ?x3113)))
(let (($x3115 (<= ?x3114 0)))
(let (($x2815 (>= ?v0 0)))
(let (($x11395 (and $x2815 $x3115 $x11389)))
(let (($x11400 (not $x11395)))
(or $x11400 $x11404))))))))))) :qid k!704))
))
(let (($x11414 (not $x11411)))
(let (($x11984 (or $x11414 $x11979)))
(let (($x11987 (and $x11411 $x11984)))
(let (($x11990 (or $x11385 $x11987)))
(let (($x11993 (and $x11382 $x11990)))
(let (($x11374 (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148)))
(let (($x11379 (not $x11374)))
(let (($x11996 (or $x11379 $x11993)))
(let (($x12002 (and $x10138 $x10141 $x11996)))
(let (($x10140 (and $x10138 $x10139)))
(let (($x11209 (not $x10140)))
(let (($x12007 (or $x11209 $x12002)))
(let (($x12013 (and $x10138 $x10139 $x12007)))
(let (($x10136 (b_S_in_n_domain_n_lab$ v_b_S_s$ ?x10080 ?x10080 b_l_H_public$)))
(let (($x11221 (not $x10136)))
(let (($x12018 (or $x11221 $x12013)))
(let (($x12021 (and $x10136 $x12018)))
(let (($x12027 (not (or (not $x11342) $x12021))))
(let (($x10242 (exists ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
(let (($x10233 (< ?v0 v_b_P_H_len$)))
(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
(let (($x2766 (<= 0 ?v0)))
(and $x2766 (and $x3097 (and $x10233 $x10238)))))))) :qid k!704))
))
(let (($x10244 (and $x10242 (=> $x10242 true))))
(let (($x10237 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10235 (<= ?x10163 v_b_S_result_G_0$)))
(let (($x10233 (< ?v0 v_b_P_H_len$)))
(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
(let (($x2766 (<= 0 ?v0)))
(let (($x3098 (and $x2766 $x3097)))
(let (($x10234 (and $x3098 $x10233)))
(=> $x10234 $x10235)))))))) :qid k!704))
))
(let (($x10245 (=> $x10237 $x10244)))
(let (($x10227 (and true (and $x10216 (and $x10218 (and $x10220 (and $x10222 true)))))))
(let (($x10174 (<= 0 v_b_SL_H_witness_G_0$)))
(let (($x10181 (<= 1 v_b_L_H_p_G_0$)))
(let (($x10182 (and $x10181 $x10174)))
(let (($x10230 (and true (and $x10182 (and $x10182 $x10227)))))
(let (($x10247 (=> (and b_S_position_n_marker$ (and $x10182 $x10230)) (and $x10237 $x10245))))
(let (($x10248 (and b_S_position_n_marker$ $x10247)))
(let (($x10206 (and true $x10182)))
(let (($x10207 (and $x10182 $x10206)))
(let (($x10411 (and $x10182 $x10207)))
(let (($x10412 (and true $x10411)))
(let (($x10413 (and $x10182 $x10412)))
(let (($x10410 (<= v_b_P_H_len$ v_b_L_H_p_G_0$)))
(let (($x10416 (and true (and $x10182 (and $x10410 $x10413)))))
(let (($x10417 (=> $x10416 $x10248)))
(let (($x10377 (=> (and (and (< v_b_SL_H_witness_G_1$ v_b_P_H_len$) $x10374) false) true)))
(let (($x10375 (and (< v_b_SL_H_witness_G_1$ v_b_P_H_len$) $x10374)))
(let (($x10378 (and $x10375 $x10377)))
(let (($x10370 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10368 (<= ?x10163 v_b_L_H_max_G_3$)))
(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
(let (($x2766 (<= 0 ?v0)))
(let (($x3098 (and $x2766 $x3097)))
(let (($x10367 (and $x3098 (< ?v0 v_b_L_H_p_G_1$))))
(=> $x10367 $x10368))))))) :qid k!704))
))
(let (($x10379 (=> $x10370 $x10378)))
(let (($x10365 (<= v_b_L_H_p_G_1$ v_b_P_H_len$)))
(let (($x10381 (=> $x10365 (and $x10370 $x10379))))
(let (($x10341 (<= 0 v_b_SL_H_witness_G_1$)))
(let (($x10360 (and (<= 2 v_b_L_H_p_G_1$) $x10341)))
(let (($x10363 (and (= v_b_L_H_p_G_1$ (+ v_b_L_H_p_G_0$ 1)) (and $x10358 (and $x10360 true)))))
(let (($x10355 (and (<= 0 (+ v_b_L_H_p_G_0$ 1)) (<= (+ v_b_L_H_p_G_0$ 1) b_S_max_o_u4$))))
(let (($x10383 (=> (and $x10355 $x10363) (and $x10365 $x10381))))
(let (($x10384 (and $x10355 $x10383)))
(let (($x10395 (and true (and $x10391 (and $x10392 (and true (and $x10181 $x10341)))))))
(let (($x10398 (and true (and $x10182 (and $x10182 $x10395)))))
(let (($x10390 (<= ?x10327 v_b_L_H_max_G_1$)))
(let (($x10402 (and true (and $x10182 (and $x10390 (and $x10182 $x10398))))))
(let (($x10403 (=> $x10402 $x10384)))
(let (($x10346 (and true (and $x10338 (and $x10340 (and true (and $x10181 $x10341)))))))
(let (($x10325 (and $x10321 $x10324)))
(let (($x10351 (and $x10325 (and $x10333 (and $x10334 (and $x10335 (and (and $x10181 $x10181) $x10346)))))))
(let (($x10385 (=> $x10351 $x10384)))
(let (($x10387 (=> $x10323 (and $x10325 $x10385))))
(let (($x10331 (and true (and $x10182 (and (< v_b_L_H_max_G_1$ ?x10327) $x10207)))))
(let (($x10389 (=> $x10331 (and $x10323 $x10387))))
(let (($x10326 (and $x10325 $x10182)))
(let (($x10405 (=> $x10326 (and $x10389 $x10403))))
(let (($x10407 (=> $x10323 (and $x10325 $x10405))))
(let (($x10319 (and true (and $x10182 (and (< v_b_L_H_p_G_0$ v_b_P_H_len$) $x10207)))))
(let (($x10409 (=> $x10319 (and $x10323 $x10407))))
(let (($x10300 (and (= ?x10272 ?x10272) (= (b_S_statusmap$ v_b_S_s$) (b_S_statusmap$ v_b_S_s$)))))
(let (($x10301 (and $x10300 $x10182)))
(let (($x10297 (and $x10295 $x10296)))
(let (($x10205 (and $x10204 $x10097)))
(let (($x10307 (and $x10205 (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x10301))))))))
(let (($x10283 (forall ((?v0 B_S_ptr$) )(! (let ((?x10280 (b_S_timestamp$ v_b_S_s$ ?v0)))
(<= ?x10280 ?x10280)) :pattern ( (b_S_timestamp$ v_b_S_s$ ?v0) ) :qid k!704))
))
(let (($x10286 (and (<= ?x10111 ?x10111) (and $x10283 $x10284))))
(let (($x10278 (forall ((?v0 B_S_ptr$) )(! (let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?v0)))
(let ((?x10272 (b_S_typemap$ v_b_S_s$)))
(let ((?x10273 (b_S_select_o_tm$ ?x10272 ?v0)))
(let (($x10275 (and (= ?x10273 ?x10273) $x10260)))
(=> $x10260 $x10275))))) :pattern ( (b_S_select_o_tm$ (b_S_typemap$ v_b_S_s$) ?v0) ) :qid k!704))
))
(let (($x10287 (and $x10278 $x10286)))
(let (($x10271 (forall ((?v0 B_S_ptr$) )(! (let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?v0)))
(let ((?x10256 (b_S_statusmap$ v_b_S_s$)))
(let ((?x10257 (b_S_select_o_sm$ ?x10256 ?v0)))
(let (($x10269 (and (= ?x10257 ?x10257) $x10260)))
(=> $x10260 $x10269))))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ v_b_S_s$) ?v0) ) :qid k!704))
))
(let (($x10288 (and $x10271 $x10287)))
(let (($x10267 (forall ((?v0 B_S_ptr$) )(! (let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?v0)))
(let ((?x10261 (b_S_memory$ v_b_S_s$)))
(let ((?x10262 (b_S_select_o_mem$ ?x10261 ?v0)))
(let (($x10264 (and (= ?x10262 ?x10262) $x10260)))
(=> $x10260 $x10264))))) :pattern ( (b_S_select_o_mem$ (b_S_memory$ v_b_S_s$) ?v0) ) :qid k!704))
))
(let (($x10289 (and $x10267 $x10288)))
(let (($x10259 (forall ((?v0 B_S_ptr$) )(! (let (($x10253 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_owner$ v_b_S_s$ ?v0))) b_S_kind_n_thread$)))
(=> (not $x10253) (not $x10253))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ v_b_S_s$) ?v0) ) :qid k!704))
))
(let (($x10290 (and $x10259 $x10289)))
(let (($x10311 (and true (and $x10182 (and $x10290 (and $x10286 $x10307))))))
(let (($x10313 (and true (and $x10182 $x10311))))
(let (($x10315 (and true (and $x10182 $x10313))))
(let (($x10419 (=> $x10315 (and $x10409 $x10417))))
(let (($x10203 (not true)))
(let (($x10212 (and $x10203 (and $x10182 (and true (and $x10182 (and $x10205 $x10207)))))))
(let (($x10213 (and $x10182 $x10212)))
(let (($x10214 (and true $x10213)))
(let (($x10249 (=> $x10214 $x10248)))
(let (($x10420 (and $x10249 $x10419)))
(let (($x10194 (and (and (< v_b_SL_H_witness_G_0$ v_b_P_H_len$) $x10192) $x10182)))
(let (($x10188 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10186 (<= ?x10163 v_b_L_H_max_G_1$)))
(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
(let (($x2766 (<= 0 ?v0)))
(let (($x3098 (and $x2766 $x3097)))
(let (($x10185 (and $x3098 (< ?v0 v_b_L_H_p_G_0$))))
(=> $x10185 $x10186))))))) :qid k!704))
))
(let (($x10183 (<= v_b_L_H_p_G_0$ v_b_P_H_len$)))
(let (($x10180 (and (<= 0 v_b_L_H_p_G_0$) (<= v_b_L_H_p_G_0$ b_S_max_o_u4$))))
(let (($x10176 (and $x10174 (<= v_b_SL_H_witness_G_0$ b_S_max_o_u4$))))
(let (($x10172 (and (<= 0 v_b_L_H_max_G_1$) (<= v_b_L_H_max_G_1$ b_S_max_o_u1$))))
(let (($x10200 (and $x10172 (and $x10176 (and $x10180 (and $x10182 (and $x10183 (and $x10188 $x10194))))))))
(let (($x10201 (and true $x10200)))
(let (($x10074 (< 0 v_b_P_H_len$)))
(let (($x10168 (and $x10074 $x10167)))
(let (($x10421 (=> (and $x10168 $x10201) $x10420)))
(let (($x10166 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10164 (<= ?x10163 v_b_L_H_max_G_0$)))
(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
(let (($x2766 (<= 0 ?v0)))
(let (($x3098 (and $x2766 $x3097)))
(let (($x10161 (and $x3098 (< ?v0 1))))
(=> $x10161 $x10164))))))) :qid k!704))
))
(let (($x10423 (=> $x10166 (and $x10168 $x10421))))
(let (($x10159 (<= 1 v_b_P_H_len$)))
(let (($x10425 (=> $x10159 (and $x10166 $x10423))))
(let (($x10149 (<= 1 1)))
(let (($x10154 (and $x10148 (and $x10149 (and $x10149 (and (<= 0 0) (<= 0 0)))))))
(let (($x10142 (and $x10138 $x10141)))
(let (($x10427 (=> (and $x10142 (and $x10145 (and $x10146 (and $x10147 $x10154)))) (and $x10159 $x10425))))
(let (($x10429 (=> $x10140 (and $x10142 $x10427))))
(let (($x10431 (=> $x10136 (and $x10140 $x10429))))
(let (($x10119 (and (<= 0 v_b_P_H_len$) (<= v_b_P_H_len$ b_S_max_o_u4$))))
(let (($x10116 (forall ((?v0 B_S_ptr$) )(! (let (($x10113 (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0)))
(= $x10113 false)) :pattern ( (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0) ) :qid k!704))
))
(let (($x10108 (and $x10106 $x10107)))
(let (($x10104 (forall ((?v0 B_S_pure_n_function$) )(! (let ((?x10100 (b_S_frame_n_level$ ?v0)))
(< ?x10100 b_S_current_n_frame_n_level$)) :pattern ( (b_S_frame_n_level$ ?v0) ) :qid k!704))
))
(let (($x10098 (and $x10096 $x10097)))
(let (($x10125 (and $x10098 (and $x10104 (and $x10108 (and $x10109 (and $x10112 (and $x10116 $x10119))))))))
(let (($x10127 (and true (and $x10095 $x10125))))
(let (($x10094 (and $x10081 (and $x10083 (and $x10084 (and $x10085 (and $x10088 $x10089)))))))
(let (($x10073 (< v_b_P_H_len$ 1099511627776)))
(let (($x10071 (and (<= 0 v_b_SL_H_witness$) (<= v_b_SL_H_witness$ b_S_max_o_u4$))))
(let (($x10067 (and (<= 0 v_b_L_H_p$) (<= v_b_L_H_p$ b_S_max_o_u4$))))
(let (($x10063 (and (<= 0 v_b_L_H_max$) (<= v_b_L_H_max$ b_S_max_o_u1$))))
(let (($x10133 (and $x10063 (and $x10067 (and $x10071 (and $x10073 (and $x10074 (and $x10094 $x10127))))))))
(let (($x10134 (and true $x10133)))
(let (($x10433 (=> $x10134 (and $x10136 $x10431))))
(let (($x10434 (not $x10433)))
(let (($x10649 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10235 (<= ?x10163 v_b_S_result_G_0$)))
(let (($x10233 (< ?v0 v_b_P_H_len$)))
(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
(let (($x2766 (<= 0 ?v0)))
(let (($x3098 (and $x2766 $x3097)))
(let (($x10234 (and $x3098 $x10233)))
(or (not $x10234) $x10235)))))))) :qid k!704))
))
(let (($x10665 (or (not $x10649) $x10242)))
(let (($x10670 (and $x10649 $x10665)))
(let (($x10616 (and $x10216 (and $x10218 (and $x10220 $x10222)))))
(let (($x10626 (and $x10182 $x10616)))
(let (($x10629 (and $x10182 $x10626)))
(let (($x10639 (and $x10182 $x10629)))
(let (($x10642 (and b_S_position_n_marker$ $x10639)))
(let (($x10677 (or (not $x10642) $x10670)))
(let (($x10682 (and b_S_position_n_marker$ $x10677)))
(let (($x11134 (or (not (and $x10182 (and $x10410 $x10182))) $x10682)))
(let (($x10931 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10368 (<= ?x10163 v_b_L_H_max_G_3$)))
(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
(let (($x2766 (<= 0 ?v0)))
(let (($x3098 (and $x2766 $x3097)))
(let (($x10367 (and $x3098 (< ?v0 v_b_L_H_p_G_1$))))
(or (not $x10367) $x10368))))))) :qid k!704))
))
(let (($x10954 (or (not $x10931) $x10375)))
(let (($x10959 (and $x10931 $x10954)))
(let (($x10966 (or (not $x10365) $x10959)))
(let (($x10971 (and $x10365 $x10966)))
(let (($x10918 (and $x10358 $x10360)))
(let ((?x10901 (+ 1 v_b_L_H_p_G_0$)))
(let (($x10913 (= v_b_L_H_p_G_1$ ?x10901)))
(let (($x10921 (and $x10913 $x10918)))
(let (($x10907 (<= ?x10901 b_S_max_o_u4$)))
(let (($x10904 (<= 0 ?x10901)))
(let (($x10910 (and $x10904 $x10907)))
(let (($x10924 (and $x10910 $x10921)))
(let (($x10978 (or (not $x10924) $x10971)))
(let (($x10983 (and $x10910 $x10978)))
(let (($x10342 (and $x10181 $x10341)))
(let (($x11019 (and $x10392 $x10342)))
(let (($x11022 (and $x10391 $x11019)))
(let (($x11032 (and $x10182 $x11022)))
(let (($x11035 (and $x10182 $x11032)))
(let (($x11045 (and $x10182 $x11035)))
(let (($x11048 (and $x10390 $x11045)))
(let (($x11051 (and $x10182 $x11048)))
(let (($x11065 (or (not $x11051) $x10983)))
(let (($x10873 (and $x10340 $x10342)))
(let (($x10876 (and $x10338 $x10873)))
(let (($x10886 (and $x10181 $x10876)))
(let (($x10889 (and $x10335 $x10886)))
(let (($x10892 (and $x10334 $x10889)))
(let (($x10895 (and $x10333 $x10892)))
(let (($x10898 (and $x10325 $x10895)))
(let (($x10990 (or (not $x10898) $x10983)))
(let (($x10995 (and $x10325 $x10990)))
(let (($x11002 (or $x11001 $x10995)))
(let (($x11007 (and $x10323 $x11002)))
(let (($x11014 (or (not (and $x10182 (and (< v_b_L_H_max_G_1$ ?x10327) $x10182))) $x11007)))
(let (($x11070 (and $x11014 $x11065)))
(let (($x11077 (or (not $x10326) $x11070)))
(let (($x11082 (and $x10325 $x11077)))
(let (($x11088 (or $x11001 $x11082)))
(let (($x11093 (and $x10323 $x11088)))
(let (($x11100 (or (not (and $x10182 (and (< v_b_L_H_p_G_0$ v_b_P_H_len$) $x10182))) $x11093)))
(let (($x11139 (and $x11100 $x11134)))
(let (($x10789 (and $x10297 $x10182)))
(let (($x10792 (and $x10294 $x10789)))
(let (($x10795 (and $x10293 $x10792)))
(let (($x10798 (and $x10292 $x10795)))
(let (($x10801 (and $x10291 $x10798)))
(let (($x10804 (and $x10205 $x10801)))
(let (($x10807 (and $x10286 $x10804)))
(let (($x10810 (and $x10286 $x10807)))
(let (($x10813 (and $x10182 $x10810)))
(let (($x10823 (and $x10182 $x10813)))
(let (($x10833 (and $x10182 $x10823)))
(let (($x11146 (or (not $x10833) $x11139)))
(let (($x10529 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10186 (<= ?x10163 v_b_L_H_max_G_1$)))
(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
(let (($x2766 (<= 0 ?v0)))
(let (($x3098 (and $x2766 $x3097)))
(let (($x10185 (and $x3098 (< ?v0 v_b_L_H_p_G_0$))))
(or (not $x10185) $x10186))))))) :qid k!704))
))
(let (($x10532 (and $x10529 $x10194)))
(let (($x10535 (and $x10183 $x10532)))
(let (($x10538 (and $x10182 $x10535)))
(let (($x10541 (and $x10180 $x10538)))
(let (($x10544 (and $x10176 $x10541)))
(let (($x10547 (and $x10172 $x10544)))
(let (($x10557 (and $x10168 $x10547)))
(let (($x11162 (or (not $x10557) $x11146)))
(let (($x11167 (and $x10168 $x11162)))
(let (($x10522 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10164 (<= ?x10163 v_b_L_H_max_G_0$)))
(let (($x3097 (<= ?v0 b_S_max_o_u4$)))
(let (($x2766 (<= 0 ?v0)))
(let (($x3098 (and $x2766 $x3097)))
(let (($x10161 (and $x3098 (< ?v0 1))))
(or (not $x10161) $x10164))))))) :qid k!704))
))
(let (($x11174 (or (not $x10522) $x11167)))
(let (($x11179 (and $x10522 $x11174)))
(let (($x11186 (or (not $x10159) $x11179)))
(let (($x11191 (and $x10159 $x11186)))
(let (($x10150 (<= 0 0)))
(let (($x10497 (and $x10149 $x10150)))
(let (($x10500 (and $x10149 $x10497)))
(let (($x10503 (and $x10148 $x10500)))
(let (($x10506 (and $x10147 $x10503)))
(let (($x10509 (and $x10146 $x10506)))
(let (($x10512 (and $x10145 $x10509)))
(let (($x10515 (and $x10142 $x10512)))
(let (($x11198 (or (not $x10515) $x11191)))
(let (($x11203 (and $x10142 $x11198)))
(let (($x11210 (or $x11209 $x11203)))
(let (($x11215 (and $x10140 $x11210)))
(let (($x11222 (or $x11221 $x11215)))
(let (($x11227 (and $x10136 $x11222)))
(let (($x10442 (and $x10439 $x10119)))
(let (($x10445 (and $x10112 $x10442)))
(let (($x10448 (and $x10109 $x10445)))
(let (($x10451 (and $x10108 $x10448)))
(let (($x10454 (and $x10104 $x10451)))
(let (($x10457 (and $x10098 $x10454)))
(let (($x10460 (and $x10095 $x10457)))
(let (($x10470 (and $x10094 $x10460)))
(let (($x10473 (and $x10074 $x10470)))
(let (($x10476 (and $x10073 $x10473)))
(let (($x10479 (and $x10071 $x10476)))
(let (($x10482 (and $x10067 $x10479)))
(let (($x10485 (and $x10063 $x10482)))
(let (($x11234 (or (not $x10485) $x11227)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ ?x10078 ?0 b_T_T_u1$))))
(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
(let (($x11800 (>= (+ ?0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x11802 (not $x11800)))
(let ((?x3113 (* (- 1) b_S_max_o_u4$)))
(let ((?x3114 (+ ?0 ?x3113)))
(let (($x3115 (<= ?x3114 0)))
(let (($x2815 (>= ?0 0)))
(let (($x11839 (and $x2815 $x3115 $x11802 $x10238)))
(let (($x2766 (<= 0 ?0)))
(let (($x10241 (and $x2766 (and (<= ?0 b_S_max_o_u4$) (and (< ?0 v_b_P_H_len$) $x10238)))))
(let (($x11834 (= (and (<= ?0 b_S_max_o_u4$) (and (< ?0 v_b_P_H_len$) $x10238)) (and $x3115 (and $x11802 $x10238)))))
(let ((@x11832 (monotonicity (rewrite (= (< ?0 v_b_P_H_len$) $x11802)) (= (and (< ?0 v_b_P_H_len$) $x10238) (and $x11802 $x10238)))))
(let ((@x2814 (rewrite (= $x2766 $x2815))))
(let ((@x11838 (monotonicity @x2814 (monotonicity (rewrite (= (<= ?0 b_S_max_o_u4$) $x3115)) @x11832 $x11834) (= $x10241 (and $x2815 (and $x3115 (and $x11802 $x10238)))))))
(let ((@x11843 (trans @x11838 (rewrite (= (and $x2815 (and $x3115 (and $x11802 $x10238))) $x11839)) (= $x10241 $x11839))))
(let (($x11818 (<= (+ ?x10163 (* (- 1) v_b_S_result_G_0$)) 0)))
(let (($x11808 (and $x2815 $x3115 $x11802)))
(let (($x11813 (not $x11808)))
(let (($x11821 (or $x11813 $x11818)))
(let (($x10235 (<= ?x10163 v_b_S_result_G_0$)))
(let (($x10233 (< ?0 v_b_P_H_len$)))
(let (($x3097 (<= ?0 b_S_max_o_u4$)))
(let (($x3098 (and $x2766 $x3097)))
(let (($x10234 (and $x3098 $x10233)))
(let (($x10646 (or (not $x10234) $x10235)))
(let ((@x3124 (monotonicity @x2814 (rewrite (= $x3097 $x3115)) (= $x3098 (and $x2815 $x3115)))))
(let ((@x11807 (monotonicity @x3124 (rewrite (= $x10233 $x11802)) (= $x10234 (and (and $x2815 $x3115) $x11802)))))
(let ((@x11812 (trans @x11807 (rewrite (= (and (and $x2815 $x3115) $x11802) $x11808)) (= $x10234 $x11808))))
(let ((@x11823 (monotonicity (monotonicity @x11812 (= (not $x10234) $x11813)) (rewrite (= $x10235 $x11818)) (= $x10646 $x11821))))
(let ((@x11829 (monotonicity (quant-intro @x11823 (= $x10649 $x11824)) (= (not $x10649) $x11827))))
(let ((@x11852 (monotonicity (quant-intro @x11823 (= $x10649 $x11824)) (monotonicity @x11829 (quant-intro @x11843 (= $x10242 $x11844)) (= $x10665 $x11847)) (= $x10670 $x11850))))
(let (($x11434 (and $x11429 $x11432)))
(let (($x11793 (= (and b_S_position_n_marker$ (and $x11434 (and $x11434 (and $x11434 $x10616)))) $x11792)))
(let (($x11790 (= $x10642 (and b_S_position_n_marker$ (and $x11434 (and $x11434 (and $x11434 $x10616)))))))
(let ((@x11430 (rewrite (= $x10181 $x11429))))
(let ((@x11436 (monotonicity @x11430 (rewrite (= $x10174 $x11432)) (= $x10182 $x11434))))
(let ((@x11785 (monotonicity @x11436 (monotonicity @x11436 (= $x10626 (and $x11434 $x10616))) (= $x10629 (and $x11434 (and $x11434 $x10616))))))
(let ((@x11788 (monotonicity @x11436 @x11785 (= $x10639 (and $x11434 (and $x11434 (and $x11434 $x10616)))))))
(let ((@x11799 (monotonicity (trans (monotonicity @x11788 $x11790) (rewrite $x11793) (= $x10642 $x11792)) (= (not $x10642) $x11797))))
(let ((@x11858 (monotonicity (monotonicity @x11799 @x11852 (= $x10677 $x11853)) (= $x10682 $x11856))))
(let ((@x11768 (monotonicity (rewrite (= $x10410 $x11486)) @x11436 (= (and $x10410 $x10182) (and $x11486 $x11434)))))
(let ((@x11771 (monotonicity @x11436 @x11768 (= (and $x10182 (and $x10410 $x10182)) (and $x11434 (and $x11486 $x11434))))))
(let ((@x11776 (trans @x11771 (rewrite (= (and $x11434 (and $x11486 $x11434)) $x11772)) (= (and $x10182 (and $x10410 $x10182)) $x11772))))
(let ((@x11861 (monotonicity (monotonicity @x11776 (= (not (and $x10182 (and $x10410 $x10182))) $x11777)) @x11858 (= $x11134 $x11859))))
(let ((@x11653 (monotonicity (rewrite (= (< v_b_SL_H_witness_G_1$ v_b_P_H_len$) $x11648)) (= $x10375 $x11651))))
(let (($x11633 (<= (+ ?x10163 (* (- 1) v_b_L_H_max_G_3$)) 0)))
(let (($x11615 (>= (+ ?0 ?x11581) 0)))
(let (($x11617 (not $x11615)))
(let (($x11623 (and $x2815 $x3115 $x11617)))
(let (($x11628 (not $x11623)))
(let (($x11636 (or $x11628 $x11633)))
(let (($x10368 (<= ?x10163 v_b_L_H_max_G_3$)))
(let (($x10928 (or (not (and $x3098 (< ?0 v_b_L_H_p_G_1$))) $x10368)))
(let ((@x11622 (monotonicity @x3124 (rewrite (= (< ?0 v_b_L_H_p_G_1$) $x11617)) (= (and $x3098 (< ?0 v_b_L_H_p_G_1$)) (and (and $x2815 $x3115) $x11617)))))
(let ((@x11627 (trans @x11622 (rewrite (= (and (and $x2815 $x3115) $x11617) $x11623)) (= (and $x3098 (< ?0 v_b_L_H_p_G_1$)) $x11623))))
(let ((@x11630 (monotonicity @x11627 (= (not (and $x3098 (< ?0 v_b_L_H_p_G_1$))) $x11628))))
(let ((@x11641 (quant-intro (monotonicity @x11630 (rewrite (= $x10368 $x11633)) (= $x10928 $x11636)) (= $x10931 $x11639))))
(let ((@x11656 (monotonicity (monotonicity @x11641 (= (not $x10931) $x11642)) @x11653 (= $x10954 $x11654))))
(let ((@x11662 (monotonicity (monotonicity (rewrite (= $x10365 $x11608)) (= (not $x10365) $x11612)) (monotonicity @x11641 @x11656 (= $x10959 $x11657)) (= $x10966 $x11660))))
(let (($x11601 (= (and (and $x11570 $x11573) (and $x11580 (and $x10358 (and $x11578 $x11536)))) $x11600)))
(let (($x11598 (= $x10924 (and (and $x11570 $x11573) (and $x11580 (and $x10358 (and $x11578 $x11536)))))))
(let ((@x11587 (monotonicity (rewrite (= (<= 2 v_b_L_H_p_G_1$) $x11578)) (rewrite (= $x10341 $x11536)) (= $x10360 (and $x11578 $x11536)))))
(let ((@x11593 (monotonicity (rewrite (= $x10913 $x11580)) (monotonicity @x11587 (= $x10918 (and $x10358 (and $x11578 $x11536)))) (= $x10921 (and $x11580 (and $x10358 (and $x11578 $x11536)))))))
(let ((@x11596 (monotonicity (rewrite (= $x10904 $x11570)) (rewrite (= $x10907 $x11573)) (= $x10910 (and $x11570 $x11573)))))
(let ((@x11607 (monotonicity (trans (monotonicity @x11596 @x11593 $x11598) (rewrite $x11601) (= $x10924 $x11600)) (= (not $x10924) $x11605))))
(let ((@x11668 (monotonicity @x11607 (monotonicity (rewrite (= $x10365 $x11608)) @x11662 (= $x10971 $x11663)) (= $x10978 $x11666))))
(let ((@x11676 (trans (monotonicity @x11596 @x11668 (= $x10983 (and (and $x11570 $x11573) $x11666))) (rewrite (= (and (and $x11570 $x11573) $x11666) $x11672)) (= $x10983 $x11672))))
(let (($x11716 (and $x11434 (and $x11434 (and $x11434 (and $x10391 (and $x10392 (and $x11429 $x11536))))))))
(let (($x11714 (= $x11035 (and $x11434 (and $x11434 (and $x10391 (and $x10392 (and $x11429 $x11536))))))))
(let ((@x11540 (monotonicity @x11430 (rewrite (= $x10341 $x11536)) (= $x10342 (and $x11429 $x11536)))))
(let ((@x11709 (monotonicity (monotonicity @x11540 (= $x11019 (and $x10392 (and $x11429 $x11536)))) (= $x11022 (and $x10391 (and $x10392 (and $x11429 $x11536)))))))
(let ((@x11712 (monotonicity @x11436 @x11709 (= $x11032 (and $x11434 (and $x10391 (and $x10392 (and $x11429 $x11536))))))))
(let ((@x11721 (monotonicity (rewrite (= $x10390 $x11516)) (monotonicity @x11436 (monotonicity @x11436 @x11712 $x11714) (= $x11045 $x11716)) (= $x11048 (and $x11516 $x11716)))))
(let ((@x11729 (trans (monotonicity @x11436 @x11721 (= $x11051 (and $x11434 (and $x11516 $x11716)))) (rewrite (= (and $x11434 (and $x11516 $x11716)) $x11725)) (= $x11051 $x11725))))
(let ((@x11735 (monotonicity (monotonicity @x11729 (= (not $x11051) $x11730)) @x11676 (= $x11065 $x11733))))
(let (($x11553 (and $x10334 (and $x10335 (and $x11429 (and $x10338 (and $x10340 (and $x11429 $x11536))))))))
(let (($x11551 (= $x10889 (and $x10335 (and $x11429 (and $x10338 (and $x10340 (and $x11429 $x11536))))))))
(let ((@x11546 (monotonicity (monotonicity @x11540 (= $x10873 (and $x10340 (and $x11429 $x11536)))) (= $x10876 (and $x10338 (and $x10340 (and $x11429 $x11536)))))))
(let ((@x11549 (monotonicity @x11430 @x11546 (= $x10886 (and $x11429 (and $x10338 (and $x10340 (and $x11429 $x11536))))))))
(let ((@x11558 (monotonicity (monotonicity (monotonicity @x11549 $x11551) (= $x10892 $x11553)) (= $x10895 (and $x10333 $x11553)))))
(let ((@x11566 (trans (monotonicity @x11558 (= $x10898 (and $x10325 (and $x10333 $x11553)))) (rewrite (= (and $x10325 (and $x10333 $x11553)) $x11562)) (= $x10898 $x11562))))
(let ((@x11679 (monotonicity (monotonicity @x11566 (= (not $x10898) $x11567)) @x11676 (= $x10990 $x11677))))
(let ((@x11687 (trans (monotonicity @x11679 (= $x10995 (and $x10325 $x11677))) (rewrite (= (and $x10325 $x11677) $x11683)) (= $x10995 $x11683))))
(let ((@x11693 (monotonicity (monotonicity @x11687 (= $x11002 $x11688)) (= $x11007 (and $x10323 $x11688)))))
(let (($x10328 (< v_b_L_H_max_G_1$ ?x10327)))
(let (($x10856 (and $x10328 $x10182)))
(let (($x10859 (and $x10182 $x10856)))
(let ((@x11523 (monotonicity (rewrite (= $x10328 $x11515)) @x11436 (= $x10856 (and $x11515 $x11434)))))
(let ((@x11531 (trans (monotonicity @x11436 @x11523 (= $x10859 (and $x11434 (and $x11515 $x11434)))) (rewrite (= (and $x11434 (and $x11515 $x11434)) $x11527)) (= $x10859 $x11527))))
(let ((@x11701 (monotonicity (monotonicity @x11531 (= (not $x10859) $x11532)) (trans @x11693 (rewrite (= (and $x10323 $x11688) $x11694)) (= $x11007 $x11694)) (= $x11014 $x11699))))
(let ((@x11511 (trans (monotonicity @x11436 (= $x10326 (and $x10325 $x11434))) (rewrite (= (and $x10325 $x11434) $x11507)) (= $x10326 $x11507))))
(let ((@x11741 (monotonicity (monotonicity @x11511 (= (not $x10326) $x11512)) (monotonicity @x11701 @x11735 (= $x11070 $x11736)) (= $x11077 $x11739))))
(let ((@x11749 (trans (monotonicity @x11741 (= $x11082 (and $x10325 $x11739))) (rewrite (= (and $x10325 $x11739) $x11745)) (= $x11082 $x11745))))
(let ((@x11755 (monotonicity (monotonicity @x11749 (= $x11088 $x11750)) (= $x11093 (and $x10323 $x11750)))))
(let (($x11502 (= (not (and $x10182 (and (< v_b_L_H_p_G_0$ v_b_P_H_len$) $x10182))) $x11501)))
(let (($x10316 (< v_b_L_H_p_G_0$ v_b_P_H_len$)))
(let (($x10843 (and $x10316 $x10182)))
(let (($x10846 (and $x10182 $x10843)))
(let ((@x11492 (monotonicity (rewrite (= $x10316 $x11487)) @x11436 (= $x10843 (and $x11487 $x11434)))))
(let ((@x11500 (trans (monotonicity @x11436 @x11492 (= $x10846 (and $x11434 (and $x11487 $x11434)))) (rewrite (= (and $x11434 (and $x11487 $x11434)) $x11496)) (= $x10846 $x11496))))
(let ((@x11763 (monotonicity (monotonicity @x11500 $x11502) (trans @x11755 (rewrite (= (and $x10323 $x11750) $x11756)) (= $x11093 $x11756)) (= $x11100 $x11761))))
(let (($x11452 (and $x10205 (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x11434))))))))
(let (($x11458 (and true (and true $x10284))))
(let (($x11477 (= (and $x11434 (and $x11434 (and $x11434 (and $x11458 (and $x11458 $x11452))))) $x11476)))
(let (($x11474 (= $x10833 (and $x11434 (and $x11434 (and $x11434 (and $x11458 (and $x11458 $x11452))))))))
(let (($x11450 (= $x10801 (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x11434))))))))
(let ((@x11442 (monotonicity (monotonicity @x11436 (= $x10789 (and $x10297 $x11434))) (= $x10792 (and $x10294 (and $x10297 $x11434))))))
(let ((@x11448 (monotonicity (monotonicity @x11442 (= $x10795 (and $x10293 (and $x10294 (and $x10297 $x11434))))) (= $x10798 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x11434))))))))
(let (($x11419 (forall ((?v0 B_S_ptr$) )(! true :pattern ( (b_S_timestamp$ v_b_S_s$ ?v0) ) :qid k!704))
))
(let (($x11417 (= (<= (b_S_timestamp$ v_b_S_s$ ?0) (b_S_timestamp$ v_b_S_s$ ?0)) true)))
(let ((@x11425 (trans (quant-intro (rewrite $x11417) (= $x10283 $x11419)) (elim-unused (= $x11419 true)) (= $x10283 true))))
(let ((@x11460 (monotonicity (rewrite (= (<= ?x10111 ?x10111) true)) (monotonicity @x11425 (= (and $x10283 $x10284) (and true $x10284))) (= $x10286 $x11458))))
(let ((@x11463 (monotonicity @x11460 (monotonicity (monotonicity @x11448 $x11450) (= $x10804 $x11452)) (= $x10807 (and $x11458 $x11452)))))
(let ((@x11469 (monotonicity @x11436 (monotonicity @x11460 @x11463 (= $x10810 (and $x11458 (and $x11458 $x11452)))) (= $x10813 (and $x11434 (and $x11458 (and $x11458 $x11452)))))))
(let ((@x11472 (monotonicity @x11436 @x11469 (= $x10823 (and $x11434 (and $x11434 (and $x11458 (and $x11458 $x11452))))))))
(let ((@x11483 (monotonicity (trans (monotonicity @x11436 @x11472 $x11474) (rewrite $x11477) (= $x10833 $x11476)) (= (not $x10833) $x11481))))
(let ((@x11967 (monotonicity @x11483 (monotonicity @x11763 @x11861 (= $x11139 $x11862)) (= $x11146 (or $x11481 $x11862)))))
(let (($x11936 (and (and $x11901 $x11904) (and $x11434 (and $x11898 (and $x11895 (and (and $x11868 $x10192) $x11434)))))))
(let (($x11951 (and $x11260 $x10167)))
(let (($x11958 (= (and $x11951 (and (and $x11911 $x11914) (and (and $x11432 $x11907) $x11936))) $x11957)))
(let (($x11955 (= $x10557 (and $x11951 (and (and $x11911 $x11914) (and (and $x11432 $x11907) $x11936))))))
(let (($x11931 (= $x10538 (and $x11434 (and $x11898 (and $x11895 (and (and $x11868 $x10192) $x11434)))))))
(let (($x11919 (= (and (< v_b_SL_H_witness_G_0$ v_b_P_H_len$) $x10192) (and $x11868 $x10192))))
(let ((@x11920 (monotonicity (rewrite (= (< v_b_SL_H_witness_G_0$ v_b_P_H_len$) $x11868)) $x11919)))
(let (($x11889 (<= (+ ?x10163 (* (- 1) v_b_L_H_max_G_1$)) 0)))
(let (($x11871 (>= (+ ?0 ?x11484) 0)))
(let (($x11873 (not $x11871)))
(let (($x11879 (and $x2815 $x3115 $x11873)))
(let (($x11884 (not $x11879)))
(let (($x11892 (or $x11884 $x11889)))
(let (($x10186 (<= ?x10163 v_b_L_H_max_G_1$)))
(let (($x10526 (or (not (and $x3098 (< ?0 v_b_L_H_p_G_0$))) $x10186)))
(let ((@x11878 (monotonicity @x3124 (rewrite (= (< ?0 v_b_L_H_p_G_0$) $x11873)) (= (and $x3098 (< ?0 v_b_L_H_p_G_0$)) (and (and $x2815 $x3115) $x11873)))))
(let ((@x11883 (trans @x11878 (rewrite (= (and (and $x2815 $x3115) $x11873) $x11879)) (= (and $x3098 (< ?0 v_b_L_H_p_G_0$)) $x11879))))
(let ((@x11886 (monotonicity @x11883 (= (not (and $x3098 (< ?0 v_b_L_H_p_G_0$))) $x11884))))
(let ((@x11897 (quant-intro (monotonicity @x11886 (rewrite (= $x10186 $x11889)) (= $x10526 $x11892)) (= $x10529 $x11895))))
(let ((@x11926 (monotonicity @x11897 (monotonicity @x11920 @x11436 (= $x10194 (and (and $x11868 $x10192) $x11434))) (= $x10532 (and $x11895 (and (and $x11868 $x10192) $x11434))))))
(let ((@x11929 (monotonicity (rewrite (= $x10183 $x11898)) @x11926 (= $x10535 (and $x11898 (and $x11895 (and (and $x11868 $x10192) $x11434)))))))
(let ((@x11935 (monotonicity (rewrite (= (<= 0 v_b_L_H_p_G_0$) $x11901)) (rewrite (= (<= v_b_L_H_p_G_0$ b_S_max_o_u4$) $x11904)) (= $x10180 (and $x11901 $x11904)))))
(let ((@x11941 (monotonicity (rewrite (= $x10174 $x11432)) (rewrite (= (<= v_b_SL_H_witness_G_0$ b_S_max_o_u4$) $x11907)) (= $x10176 (and $x11432 $x11907)))))
(let ((@x11944 (monotonicity @x11941 (monotonicity @x11935 (monotonicity @x11436 @x11929 $x11931) (= $x10541 $x11936)) (= $x10544 (and (and $x11432 $x11907) $x11936)))))
(let ((@x11947 (monotonicity (rewrite (= (<= 0 v_b_L_H_max_G_1$) $x11911)) (rewrite (= (<= v_b_L_H_max_G_1$ b_S_max_o_u1$) $x11914)) (= $x10172 (and $x11911 $x11914)))))
(let ((@x11950 (monotonicity @x11947 @x11944 (= $x10547 (and (and $x11911 $x11914) (and (and $x11432 $x11907) $x11936))))))
(let ((@x11956 (monotonicity (monotonicity (rewrite (= $x10074 $x11260)) (= $x10168 $x11951)) @x11950 $x11955)))
(let ((@x11964 (monotonicity (trans @x11956 (rewrite $x11958) (= $x10557 $x11957)) (= (not $x10557) $x11962))))
(let ((@x11975 (trans (monotonicity @x11964 @x11967 (= $x11162 (or $x11962 (or $x11481 $x11862)))) (rewrite (= (or $x11962 (or $x11481 $x11862)) $x11971)) (= $x11162 $x11971))))
(let ((@x11978 (monotonicity (monotonicity (rewrite (= $x10074 $x11260)) (= $x10168 $x11951)) @x11975 (= $x11167 (and $x11951 $x11971)))))
(let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0)))
(let (($x11388 (>= ?0 1)))
(let (($x11389 (not $x11388)))
(let (($x11395 (and $x2815 $x3115 $x11389)))
(let (($x11400 (not $x11395)))
(let (($x11408 (or $x11400 $x11404)))
(let (($x10164 (<= ?x10163 v_b_L_H_max_G_0$)))
(let (($x10519 (or (not (and $x3098 (< ?0 1))) $x10164)))
(let ((@x11394 (monotonicity @x3124 (rewrite (= (< ?0 1) $x11389)) (= (and $x3098 (< ?0 1)) (and (and $x2815 $x3115) $x11389)))))
(let ((@x11399 (trans @x11394 (rewrite (= (and (and $x2815 $x3115) $x11389) $x11395)) (= (and $x3098 (< ?0 1)) $x11395))))
(let ((@x11410 (monotonicity (monotonicity @x11399 (= (not (and $x3098 (< ?0 1))) $x11400)) (rewrite (= $x10164 $x11404)) (= $x10519 $x11408))))
(let ((@x11416 (monotonicity (quant-intro @x11410 (= $x10522 $x11411)) (= (not $x10522) $x11414))))
(let ((@x11986 (monotonicity @x11416 (trans @x11978 (rewrite (= (and $x11951 $x11971) $x11979)) (= $x11167 $x11979)) (= $x11174 $x11984))))
(let ((@x11992 (monotonicity (monotonicity (rewrite (= $x10159 $x11382)) (= (not $x10159) $x11385)) (monotonicity (quant-intro @x11410 (= $x10522 $x11411)) @x11986 (= $x11179 $x11987)) (= $x11186 $x11990))))
(let (($x11368 (and $x10145 (and $x10146 (and $x10147 (and $x10148 (and true (and true true))))))))
(let (($x11366 (= $x10509 (and $x10146 (and $x10147 (and $x10148 (and true (and true true))))))))
(let ((@x11355 (monotonicity (rewrite (= $x10149 true)) (rewrite (= $x10150 true)) (= $x10497 (and true true)))))
(let ((@x11358 (monotonicity (rewrite (= $x10149 true)) @x11355 (= $x10500 (and true (and true true))))))
(let ((@x11361 (monotonicity @x11358 (= $x10503 (and $x10148 (and true (and true true)))))))
(let ((@x11364 (monotonicity @x11361 (= $x10506 (and $x10147 (and $x10148 (and true (and true true))))))))
(let ((@x11373 (monotonicity (monotonicity (monotonicity @x11364 $x11366) (= $x10512 $x11368)) (= $x10515 (and $x10142 $x11368)))))
(let ((@x11381 (monotonicity (trans @x11373 (rewrite (= (and $x10142 $x11368) $x11374)) (= $x10515 $x11374)) (= (not $x10515) $x11379))))
(let ((@x11998 (monotonicity @x11381 (monotonicity (rewrite (= $x10159 $x11382)) @x11992 (= $x11191 $x11993)) (= $x11198 $x11996))))
(let ((@x12006 (trans (monotonicity @x11998 (= $x11203 (and $x10142 $x11996))) (rewrite (= (and $x10142 $x11996) $x12002)) (= $x11203 $x12002))))
(let ((@x12012 (monotonicity (monotonicity @x12006 (= $x11210 $x12007)) (= $x11215 (and $x10140 $x12007)))))
(let ((@x12020 (monotonicity (trans @x12012 (rewrite (= (and $x10140 $x12007) $x12013)) (= $x11215 $x12013)) (= $x11222 $x12018))))
(let (($x11306 (and $x11256 (and $x10108 (and $x10109 (and $x10112 (and $x10439 (and $x11243 $x11245))))))))
(let (($x11327 (and (and $x11268 $x11270) (and $x11264 (and $x11260 (and $x10094 (and $x10095 (and $x10098 $x11306))))))))
(let ((@x11344 (rewrite (= (and (and $x11284 $x11286) (and (and $x11276 $x11278) $x11327)) $x11342))))
(let (($x11322 (= $x10476 (and $x11264 (and $x11260 (and $x10094 (and $x10095 (and $x10098 $x11306))))))))
(let (($x11304 (= $x10451 (and $x10108 (and $x10109 (and $x10112 (and $x10439 (and $x11243 $x11245))))))))
(let ((@x11293 (monotonicity (rewrite (= (<= 0 v_b_P_H_len$) $x11243)) (rewrite (= (<= v_b_P_H_len$ b_S_max_o_u4$) $x11245)) (= $x10119 (and $x11243 $x11245)))))
(let ((@x11299 (monotonicity (monotonicity @x11293 (= $x10442 (and $x10439 (and $x11243 $x11245)))) (= $x10445 (and $x10112 (and $x10439 (and $x11243 $x11245)))))))
(let ((@x11302 (monotonicity @x11299 (= $x10448 (and $x10109 (and $x10112 (and $x10439 (and $x11243 $x11245))))))))
(let (($x11251 (>= (+ (b_S_frame_n_level$ ?0) (* (- 1) b_S_current_n_frame_n_level$)) 0)))
(let (($x11250 (not $x11251)))
(let ((@x11255 (rewrite (= (< (b_S_frame_n_level$ ?0) b_S_current_n_frame_n_level$) $x11250))))
(let ((@x11308 (monotonicity (quant-intro @x11255 (= $x10104 $x11256)) (monotonicity @x11302 $x11304) (= $x10454 $x11306))))
(let ((@x11314 (monotonicity (monotonicity @x11308 (= $x10457 (and $x10098 $x11306))) (= $x10460 (and $x10095 (and $x10098 $x11306))))))
(let ((@x11320 (monotonicity (rewrite (= $x10074 $x11260)) (monotonicity @x11314 (= $x10470 (and $x10094 (and $x10095 (and $x10098 $x11306))))) (= $x10473 (and $x11260 (and $x10094 (and $x10095 (and $x10098 $x11306))))))))
(let ((@x11326 (monotonicity (rewrite (= (<= 0 v_b_SL_H_witness$) $x11268)) (rewrite (= (<= v_b_SL_H_witness$ b_S_max_o_u4$) $x11270)) (= $x10071 (and $x11268 $x11270)))))
(let ((@x11329 (monotonicity @x11326 (monotonicity (rewrite (= $x10073 $x11264)) @x11320 $x11322) (= $x10479 $x11327))))
(let ((@x11332 (monotonicity (rewrite (= (<= 0 v_b_L_H_p$) $x11276)) (rewrite (= (<= v_b_L_H_p$ b_S_max_o_u4$) $x11278)) (= $x10067 (and $x11276 $x11278)))))
(let ((@x11338 (monotonicity (rewrite (= (<= 0 v_b_L_H_max$) $x11284)) (rewrite (= (<= v_b_L_H_max$ b_S_max_o_u1$) $x11286)) (= $x10063 (and $x11284 $x11286)))))
(let ((@x11341 (monotonicity @x11338 (monotonicity @x11332 @x11329 (= $x10482 (and (and $x11276 $x11278) $x11327))) (= $x10485 (and (and $x11284 $x11286) (and (and $x11276 $x11278) $x11327))))))
(let ((@x11349 (monotonicity (trans @x11341 @x11344 (= $x10485 $x11342)) (= (not $x10485) (not $x11342)))))
(let ((@x12026 (monotonicity @x11349 (monotonicity @x12020 (= $x11227 $x12021)) (= $x11234 (or (not $x11342) $x12021)))))
(let ((@x10656 (monotonicity (rewrite (= (=> $x10242 true) true)) (= $x10244 (and $x10242 true)))))
(let ((@x10663 (monotonicity (quant-intro (rewrite (= (=> $x10234 $x10235) $x10646)) (= $x10237 $x10649)) (trans @x10656 (rewrite (= (and $x10242 true) $x10242)) (= $x10244 $x10242)) (= $x10245 (=> $x10649 $x10242)))))
(let ((@x10672 (monotonicity (quant-intro (rewrite (= (=> $x10234 $x10235) $x10646)) (= $x10237 $x10649)) (trans @x10663 (rewrite (= (=> $x10649 $x10242) $x10665)) (= $x10245 $x10665)) (= (and $x10237 $x10245) $x10670))))
(let (($x10614 (= (and $x10218 (and $x10220 (and $x10222 true))) (and $x10218 (and $x10220 $x10222)))))
(let ((@x10612 (monotonicity (rewrite (= (and $x10222 true) $x10222)) (= (and $x10220 (and $x10222 true)) (and $x10220 $x10222)))))
(let ((@x10618 (monotonicity (monotonicity @x10612 $x10614) (= (and $x10216 (and $x10218 (and $x10220 (and $x10222 true)))) $x10616))))
(let ((@x10625 (trans (monotonicity @x10618 (= $x10227 (and true $x10616))) (rewrite (= (and true $x10616) $x10616)) (= $x10227 $x10616))))
(let ((@x10631 (monotonicity (monotonicity @x10625 (= (and $x10182 $x10227) $x10626)) (= (and $x10182 (and $x10182 $x10227)) $x10629))))
(let ((@x10638 (trans (monotonicity @x10631 (= $x10230 (and true $x10629))) (rewrite (= (and true $x10629) $x10629)) (= $x10230 $x10629))))
(let ((@x10644 (monotonicity (monotonicity @x10638 (= (and $x10182 $x10230) $x10639)) (= (and b_S_position_n_marker$ (and $x10182 $x10230)) $x10642))))
(let ((@x10681 (trans (monotonicity @x10644 @x10672 (= $x10247 (=> $x10642 $x10670))) (rewrite (= (=> $x10642 $x10670) $x10677)) (= $x10247 $x10677))))
(let (($x11117 (and $x10410 $x10182)))
(let (($x11120 (and $x10182 $x11117)))
(let ((@x10568 (rewrite (= (and $x10182 $x10182) $x10182))))
(let ((@x10563 (rewrite (= $x10206 $x10182))))
(let ((@x10570 (trans (monotonicity @x10563 (= $x10207 (and $x10182 $x10182))) @x10568 (= $x10207 $x10182))))
(let ((@x11108 (trans (monotonicity @x10570 (= $x10411 (and $x10182 $x10182))) @x10568 (= $x10411 $x10182))))
(let ((@x11114 (monotonicity (trans (monotonicity @x11108 (= $x10412 $x10206)) @x10563 (= $x10412 $x10182)) (= $x10413 (and $x10182 $x10182)))))
(let ((@x11119 (monotonicity (trans @x11114 @x10568 (= $x10413 $x10182)) (= (and $x10410 $x10413) $x11117))))
(let ((@x11125 (monotonicity (monotonicity @x11119 (= (and $x10182 (and $x10410 $x10413)) $x11120)) (= $x10416 (and true $x11120)))))
(let ((@x11132 (monotonicity (trans @x11125 (rewrite (= (and true $x11120) $x11120)) (= $x10416 $x11120)) (monotonicity @x10681 (= $x10248 $x10682)) (= $x10417 (=> $x11120 $x10682)))))
(let ((@x10938 (monotonicity (rewrite (= (and $x10375 false) false)) (= $x10377 (=> false true)))))
(let ((@x10942 (trans @x10938 (rewrite (= (=> false true) true)) (= $x10377 true))))
(let ((@x10949 (trans (monotonicity @x10942 (= $x10378 (and $x10375 true))) (rewrite (= (and $x10375 true) $x10375)) (= $x10378 $x10375))))
(let ((@x10933 (quant-intro (rewrite (= (=> (and $x3098 (< ?0 v_b_L_H_p_G_1$)) $x10368) $x10928)) (= $x10370 $x10931))))
(let ((@x10958 (trans (monotonicity @x10933 @x10949 (= $x10379 (=> $x10931 $x10375))) (rewrite (= (=> $x10931 $x10375) $x10954)) (= $x10379 $x10954))))
(let ((@x10964 (monotonicity (monotonicity @x10933 @x10958 (= (and $x10370 $x10379) $x10959)) (= $x10381 (=> $x10365 $x10959)))))
(let ((@x10973 (monotonicity (trans @x10964 (rewrite (= (=> $x10365 $x10959) $x10966)) (= $x10381 $x10966)) (= (and $x10365 $x10381) $x10971))))
(let ((@x10920 (monotonicity (rewrite (= (and $x10360 true) $x10360)) (= (and $x10358 (and $x10360 true)) $x10918))))
(let ((@x10903 (rewrite (= (+ v_b_L_H_p_G_0$ 1) ?x10901))))
(let ((@x10915 (monotonicity @x10903 (= (= v_b_L_H_p_G_1$ (+ v_b_L_H_p_G_0$ 1)) $x10913))))
(let ((@x10909 (monotonicity @x10903 (= (<= (+ v_b_L_H_p_G_0$ 1) b_S_max_o_u4$) $x10907))))
(let ((@x10912 (monotonicity (monotonicity @x10903 (= (<= 0 (+ v_b_L_H_p_G_0$ 1)) $x10904)) @x10909 (= $x10355 $x10910))))
(let ((@x10926 (monotonicity @x10912 (monotonicity @x10915 @x10920 (= $x10363 $x10921)) (= (and $x10355 $x10363) $x10924))))
(let ((@x10982 (trans (monotonicity @x10926 @x10973 (= $x10383 (=> $x10924 $x10971))) (rewrite (= (=> $x10924 $x10971) $x10978)) (= $x10383 $x10978))))
(let ((@x11021 (monotonicity (rewrite (= (and true $x10342) $x10342)) (= (and $x10392 (and true $x10342)) $x11019))))
(let ((@x11024 (monotonicity @x11021 (= (and $x10391 (and $x10392 (and true $x10342))) $x11022))))
(let ((@x11031 (trans (monotonicity @x11024 (= $x10395 (and true $x11022))) (rewrite (= (and true $x11022) $x11022)) (= $x10395 $x11022))))
(let ((@x11037 (monotonicity (monotonicity @x11031 (= (and $x10182 $x10395) $x11032)) (= (and $x10182 (and $x10182 $x10395)) $x11035))))
(let ((@x11044 (trans (monotonicity @x11037 (= $x10398 (and true $x11035))) (rewrite (= (and true $x11035) $x11035)) (= $x10398 $x11035))))
(let ((@x11050 (monotonicity (monotonicity @x11044 (= (and $x10182 $x10398) $x11045)) (= (and $x10390 (and $x10182 $x10398)) $x11048))))
(let ((@x11056 (monotonicity (monotonicity @x11050 (= (and $x10182 (and $x10390 (and $x10182 $x10398))) $x11051)) (= $x10402 (and true $x11051)))))
(let ((@x11063 (monotonicity (trans @x11056 (rewrite (= (and true $x11051) $x11051)) (= $x10402 $x11051)) (monotonicity @x10912 @x10982 (= $x10384 $x10983)) (= $x10403 (=> $x11051 $x10983)))))
(let (($x10896 (= (and $x10333 (and $x10334 (and $x10335 (and (and $x10181 $x10181) $x10346)))) $x10895)))
(let ((@x10875 (monotonicity (rewrite (= (and true $x10342) $x10342)) (= (and $x10340 (and true $x10342)) $x10873))))
(let ((@x10878 (monotonicity @x10875 (= (and $x10338 (and $x10340 (and true $x10342))) $x10876))))
(let ((@x10885 (trans (monotonicity @x10878 (= $x10346 (and true $x10876))) (rewrite (= (and true $x10876) $x10876)) (= $x10346 $x10876))))
(let ((@x10888 (monotonicity (rewrite (= (and $x10181 $x10181) $x10181)) @x10885 (= (and (and $x10181 $x10181) $x10346) $x10886))))
(let ((@x10894 (monotonicity (monotonicity @x10888 (= (and $x10335 (and (and $x10181 $x10181) $x10346)) $x10889)) (= (and $x10334 (and $x10335 (and (and $x10181 $x10181) $x10346))) $x10892))))
(let ((@x10988 (monotonicity (monotonicity (monotonicity @x10894 $x10896) (= $x10351 $x10898)) (monotonicity @x10912 @x10982 (= $x10384 $x10983)) (= $x10385 (=> $x10898 $x10983)))))
(let ((@x10997 (monotonicity (trans @x10988 (rewrite (= (=> $x10898 $x10983) $x10990)) (= $x10385 $x10990)) (= (and $x10325 $x10385) $x10995))))
(let ((@x11006 (trans (monotonicity @x10997 (= $x10387 (=> $x10323 $x10995))) (rewrite (= (=> $x10323 $x10995) $x11002)) (= $x10387 $x11002))))
(let ((@x10861 (monotonicity (monotonicity @x10570 (= (and $x10328 $x10207) $x10856)) (= (and $x10182 (and $x10328 $x10207)) $x10859))))
(let ((@x10868 (trans (monotonicity @x10861 (= $x10331 (and true $x10859))) (rewrite (= (and true $x10859) $x10859)) (= $x10331 $x10859))))
(let ((@x11012 (monotonicity @x10868 (monotonicity @x11006 (= (and $x10323 $x10387) $x11007)) (= $x10389 (=> $x10859 $x11007)))))
(let ((@x11072 (monotonicity (trans @x11012 (rewrite (= (=> $x10859 $x11007) $x11014)) (= $x10389 $x11014)) (trans @x11063 (rewrite (= (=> $x11051 $x10983) $x11065)) (= $x10403 $x11065)) (= (and $x10389 $x10403) $x11070))))
(let ((@x11081 (trans (monotonicity @x11072 (= $x10405 (=> $x10326 $x11070))) (rewrite (= (=> $x10326 $x11070) $x11077)) (= $x10405 $x11077))))
(let ((@x11087 (monotonicity (monotonicity @x11081 (= (and $x10325 $x10405) $x11082)) (= $x10407 (=> $x10323 $x11082)))))
(let ((@x11095 (monotonicity (trans @x11087 (rewrite (= (=> $x10323 $x11082) $x11088)) (= $x10407 $x11088)) (= (and $x10323 $x10407) $x11093))))
(let ((@x10848 (monotonicity (monotonicity @x10570 (= (and $x10316 $x10207) $x10843)) (= (and $x10182 (and $x10316 $x10207)) $x10846))))
(let ((@x10855 (trans (monotonicity @x10848 (= $x10319 (and true $x10846))) (rewrite (= (and true $x10846) $x10846)) (= $x10319 $x10846))))
(let ((@x11104 (trans (monotonicity @x10855 @x11095 (= $x10409 (=> $x10846 $x11093))) (rewrite (= (=> $x10846 $x11093) $x11100)) (= $x10409 $x11100))))
(let ((@x11141 (monotonicity @x11104 (trans @x11132 (rewrite (= (=> $x11120 $x10682) $x11134)) (= $x10417 $x11134)) (= (and $x10409 $x10417) $x11139))))
(let (($x10802 (= (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x10301))))) $x10801)))
(let ((@x10777 (rewrite (= (= (b_S_statusmap$ v_b_S_s$) (b_S_statusmap$ v_b_S_s$)) true))))
(let ((@x10780 (monotonicity (rewrite (= (= ?x10272 ?x10272) true)) @x10777 (= $x10300 (and true true)))))
(let ((@x10784 (trans @x10780 (rewrite (= (and true true) true)) (= $x10300 true))))
(let ((@x10791 (monotonicity (trans (monotonicity @x10784 (= $x10301 $x10206)) @x10563 (= $x10301 $x10182)) (= (and $x10297 $x10301) $x10789))))
(let ((@x10797 (monotonicity (monotonicity @x10791 (= (and $x10294 (and $x10297 $x10301)) $x10792)) (= (and $x10293 (and $x10294 (and $x10297 $x10301))) $x10795))))
(let ((@x10800 (monotonicity @x10797 (= (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x10301)))) $x10798))))
(let ((@x10809 (monotonicity (monotonicity (monotonicity @x10800 $x10802) (= $x10307 $x10804)) (= (and $x10286 $x10307) $x10807))))
(let ((@x10759 (rewrite (= (and true $x10286) $x10286))))
(let (($x10748 (forall ((?v0 B_S_ptr$) )(! true :pattern ( (b_S_select_o_tm$ (b_S_typemap$ v_b_S_s$) ?v0) ) :qid k!704))
))
(let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?0)))
(let (($x10275 (and (= (b_S_select_o_tm$ ?x10272 ?0) (b_S_select_o_tm$ ?x10272 ?0)) $x10260)))
(let (($x10276 (=> $x10260 $x10275)))
(let ((@x10714 (rewrite (= (=> $x10260 $x10260) true))))
(let ((@x10707 (rewrite (= (and true $x10260) $x10260))))
(let (($x10738 (= (= (b_S_select_o_tm$ ?x10272 ?0) (b_S_select_o_tm$ ?x10272 ?0)) true)))
(let ((@x10743 (trans (monotonicity (rewrite $x10738) (= $x10275 (and true $x10260))) @x10707 (= $x10275 $x10260))))
(let ((@x10747 (trans (monotonicity @x10743 (= $x10276 (=> $x10260 $x10260))) @x10714 (= $x10276 true))))
(let ((@x10754 (trans (quant-intro @x10747 (= $x10278 $x10748)) (elim-unused (= $x10748 true)) (= $x10278 true))))
(let ((@x10761 (trans (monotonicity @x10754 (= $x10287 (and true $x10286))) @x10759 (= $x10287 $x10286))))
(let (($x10694 (forall ((?v0 B_S_ptr$) )(! true :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ v_b_S_s$) ?v0) ) :qid k!704))
))
(let ((?x10256 (b_S_statusmap$ v_b_S_s$)))
(let ((?x10257 (b_S_select_o_sm$ ?x10256 ?0)))
(let (($x10269 (and (= ?x10257 ?x10257) $x10260)))
(let (($x10270 (=> $x10260 $x10269)))
(let ((@x10727 (monotonicity (rewrite (= (= ?x10257 ?x10257) true)) (= $x10269 (and true $x10260)))))
(let ((@x10731 (monotonicity (trans @x10727 @x10707 (= $x10269 $x10260)) (= $x10270 (=> $x10260 $x10260)))))
(let ((@x10737 (trans (quant-intro (trans @x10731 @x10714 (= $x10270 true)) (= $x10271 $x10694)) (elim-unused (= $x10694 true)) (= $x10271 true))))
(let ((@x10765 (trans (monotonicity @x10737 @x10761 (= $x10288 (and true $x10286))) @x10759 (= $x10288 $x10286))))
(let (($x10717 (forall ((?v0 B_S_ptr$) )(! true :pattern ( (b_S_select_o_mem$ (b_S_memory$ v_b_S_s$) ?v0) ) :qid k!704))
))
(let ((?x10261 (b_S_memory$ v_b_S_s$)))
(let ((?x10262 (b_S_select_o_mem$ ?x10261 ?0)))
(let (($x10264 (and (= ?x10262 ?x10262) $x10260)))
(let (($x10265 (=> $x10260 $x10264)))
(let ((@x10705 (monotonicity (rewrite (= (= ?x10262 ?x10262) true)) (= $x10264 (and true $x10260)))))
(let ((@x10712 (monotonicity (trans @x10705 @x10707 (= $x10264 $x10260)) (= $x10265 (=> $x10260 $x10260)))))
(let ((@x10723 (trans (quant-intro (trans @x10712 @x10714 (= $x10265 true)) (= $x10267 $x10717)) (elim-unused (= $x10717 true)) (= $x10267 true))))
(let ((@x10769 (trans (monotonicity @x10723 @x10765 (= $x10289 (and true $x10286))) @x10759 (= $x10289 $x10286))))
(let (($x10253 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_owner$ v_b_S_s$ ?0))) b_S_kind_n_thread$)))
(let ((@x10696 (quant-intro (rewrite (= (=> (not $x10253) (not $x10253)) true)) (= $x10259 $x10694))))
(let ((@x10771 (monotonicity (trans @x10696 (elim-unused (= $x10694 true)) (= $x10259 true)) @x10769 (= $x10290 (and true $x10286)))))
(let ((@x10812 (monotonicity (trans @x10771 @x10759 (= $x10290 $x10286)) @x10809 (= (and $x10290 (and $x10286 $x10307)) $x10810))))
(let ((@x10818 (monotonicity (monotonicity @x10812 (= (and $x10182 (and $x10290 (and $x10286 $x10307))) $x10813)) (= $x10311 (and true $x10813)))))
(let ((@x10825 (monotonicity (trans @x10818 (rewrite (= (and true $x10813) $x10813)) (= $x10311 $x10813)) (= (and $x10182 $x10311) $x10823))))
(let ((@x10832 (trans (monotonicity @x10825 (= $x10313 (and true $x10823))) (rewrite (= (and true $x10823) $x10823)) (= $x10313 $x10823))))
(let ((@x10838 (monotonicity (monotonicity @x10832 (= (and $x10182 $x10313) $x10833)) (= $x10315 (and true $x10833)))))
(let ((@x11144 (monotonicity (trans @x10838 (rewrite (= (and true $x10833) $x10833)) (= $x10315 $x10833)) @x11141 (= $x10419 (=> $x10833 $x11139)))))
(let ((@x10591 (rewrite (= (and false (and $x10182 (and $x10182 (and $x10205 $x10182)))) false))))
(let (($x10585 (= (and $x10182 (and true (and $x10182 (and $x10205 $x10207)))) (and $x10182 (and $x10182 (and $x10205 $x10182))))))
(let (($x10574 (and $x10182 (and $x10205 $x10182))))
(let (($x10210 (and true (and $x10182 (and $x10205 $x10207)))))
(let ((@x10576 (monotonicity (monotonicity @x10570 (= (and $x10205 $x10207) (and $x10205 $x10182))) (= (and $x10182 (and $x10205 $x10207)) $x10574))))
(let ((@x10583 (trans (monotonicity @x10576 (= $x10210 (and true $x10574))) (rewrite (= (and true $x10574) $x10574)) (= $x10210 $x10574))))
(let ((@x10589 (monotonicity (rewrite (= $x10203 false)) (monotonicity @x10583 $x10585) (= $x10212 (and false (and $x10182 $x10574))))))
(let ((@x10596 (monotonicity (trans @x10589 @x10591 (= $x10212 false)) (= $x10213 (and $x10182 false)))))
(let ((@x10600 (trans @x10596 (rewrite (= (and $x10182 false) false)) (= $x10213 false))))
(let ((@x10607 (trans (monotonicity @x10600 (= $x10214 (and true false))) (rewrite (= (and true false) false)) (= $x10214 false))))
(let ((@x10687 (monotonicity @x10607 (monotonicity @x10681 (= $x10248 $x10682)) (= $x10249 (=> false $x10682)))))
(let ((@x10691 (trans @x10687 (rewrite (= (=> false $x10682) true)) (= $x10249 true))))
(let ((@x11153 (monotonicity @x10691 (trans @x11144 (rewrite (= (=> $x10833 $x11139) $x11146)) (= $x10419 $x11146)) (= $x10420 (and true $x11146)))))
(let (($x10545 (= (and $x10176 (and $x10180 (and $x10182 (and $x10183 (and $x10188 $x10194))))) $x10544)))
(let ((@x10531 (quant-intro (rewrite (= (=> (and $x3098 (< ?0 v_b_L_H_p_G_0$)) $x10186) $x10526)) (= $x10188 $x10529))))
(let ((@x10537 (monotonicity (monotonicity @x10531 (= (and $x10188 $x10194) $x10532)) (= (and $x10183 (and $x10188 $x10194)) $x10535))))
(let ((@x10543 (monotonicity (monotonicity @x10537 (= (and $x10182 (and $x10183 (and $x10188 $x10194))) $x10538)) (= (and $x10180 (and $x10182 (and $x10183 (and $x10188 $x10194)))) $x10541))))
(let ((@x10552 (monotonicity (monotonicity (monotonicity @x10543 $x10545) (= $x10200 $x10547)) (= $x10201 (and true $x10547)))))
(let ((@x10559 (monotonicity (trans @x10552 (rewrite (= (and true $x10547) $x10547)) (= $x10201 $x10547)) (= (and $x10168 $x10201) $x10557))))
(let ((@x11160 (monotonicity @x10559 (trans @x11153 (rewrite (= (and true $x11146) $x11146)) (= $x10420 $x11146)) (= $x10421 (=> $x10557 $x11146)))))
(let ((@x11169 (monotonicity (trans @x11160 (rewrite (= (=> $x10557 $x11146) $x11162)) (= $x10421 $x11162)) (= (and $x10168 $x10421) $x11167))))
(let ((@x10524 (quant-intro (rewrite (= (=> (and $x3098 (< ?0 1)) $x10164) $x10519)) (= $x10166 $x10522))))
(let ((@x11178 (trans (monotonicity @x10524 @x11169 (= $x10423 (=> $x10522 $x11167))) (rewrite (= (=> $x10522 $x11167) $x11174)) (= $x10423 $x11174))))
(let ((@x11184 (monotonicity (monotonicity @x10524 @x11178 (= (and $x10166 $x10423) $x11179)) (= $x10425 (=> $x10159 $x11179)))))
(let ((@x11193 (monotonicity (trans @x11184 (rewrite (= (=> $x10159 $x11179) $x11186)) (= $x10425 $x11186)) (= (and $x10159 $x10425) $x11191))))
(let ((@x10499 (monotonicity (rewrite (= (and $x10150 $x10150) $x10150)) (= (and $x10149 (and $x10150 $x10150)) $x10497))))
(let ((@x10505 (monotonicity (monotonicity @x10499 (= (and $x10149 (and $x10149 (and $x10150 $x10150))) $x10500)) (= $x10154 $x10503))))
(let ((@x10511 (monotonicity (monotonicity @x10505 (= (and $x10147 $x10154) $x10506)) (= (and $x10146 (and $x10147 $x10154)) $x10509))))
(let ((@x10517 (monotonicity (monotonicity @x10511 (= (and $x10145 (and $x10146 (and $x10147 $x10154))) $x10512)) (= (and $x10142 (and $x10145 (and $x10146 (and $x10147 $x10154)))) $x10515))))
(let ((@x11202 (trans (monotonicity @x10517 @x11193 (= $x10427 (=> $x10515 $x11191))) (rewrite (= (=> $x10515 $x11191) $x11198)) (= $x10427 $x11198))))
(let ((@x11208 (monotonicity (monotonicity @x11202 (= (and $x10142 $x10427) $x11203)) (= $x10429 (=> $x10140 $x11203)))))
(let ((@x11217 (monotonicity (trans @x11208 (rewrite (= (=> $x10140 $x11203) $x11210)) (= $x10429 $x11210)) (= (and $x10140 $x10429) $x11215))))
(let ((@x11226 (trans (monotonicity @x11217 (= $x10431 (=> $x10136 $x11215))) (rewrite (= (=> $x10136 $x11215) $x11222)) (= $x10431 $x11222))))
(let (($x10483 (= (and $x10067 (and $x10071 (and $x10073 (and $x10074 (and $x10094 $x10127))))) $x10482)))
(let (($x10455 (= (and $x10104 (and $x10108 (and $x10109 (and $x10112 (and $x10116 $x10119))))) $x10454)))
(let (($x10113 (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?0)))
(let (($x10436 (not $x10113)))
(let ((@x10444 (monotonicity (quant-intro (rewrite (= (= $x10113 false) $x10436)) (= $x10116 $x10439)) (= (and $x10116 $x10119) $x10442))))
(let ((@x10450 (monotonicity (monotonicity @x10444 (= (and $x10112 (and $x10116 $x10119)) $x10445)) (= (and $x10109 (and $x10112 (and $x10116 $x10119))) $x10448))))
(let ((@x10453 (monotonicity @x10450 (= (and $x10108 (and $x10109 (and $x10112 (and $x10116 $x10119)))) $x10451))))
(let ((@x10462 (monotonicity (monotonicity (monotonicity @x10453 $x10455) (= $x10125 $x10457)) (= (and $x10095 $x10125) $x10460))))
(let ((@x10469 (trans (monotonicity @x10462 (= $x10127 (and true $x10460))) (rewrite (= (and true $x10460) $x10460)) (= $x10127 $x10460))))
(let ((@x10475 (monotonicity (monotonicity @x10469 (= (and $x10094 $x10127) $x10470)) (= (and $x10074 (and $x10094 $x10127)) $x10473))))
(let ((@x10481 (monotonicity (monotonicity @x10475 (= (and $x10073 (and $x10074 (and $x10094 $x10127))) $x10476)) (= (and $x10071 (and $x10073 (and $x10074 (and $x10094 $x10127)))) $x10479))))
(let ((@x10490 (monotonicity (monotonicity (monotonicity @x10481 $x10483) (= $x10133 $x10485)) (= $x10134 (and true $x10485)))))
(let ((@x11232 (monotonicity (trans @x10490 (rewrite (= (and true $x10485) $x10485)) (= $x10134 $x10485)) (monotonicity @x11226 (= (and $x10136 $x10431) $x11227)) (= $x10433 (=> $x10485 $x11227)))))
(let ((@x11241 (monotonicity (trans @x11232 (rewrite (= (=> $x10485 $x11227) $x11234)) (= $x10433 $x11234)) (= $x10434 (not $x11234)))))
(let ((@x12031 (trans @x11241 (monotonicity @x12026 (= (not $x11234) $x12027)) (= $x10434 $x12027))))
(let ((@x12033 (not-or-elim (mp (asserted $x10434) @x12031 $x12027) $x11342)))
(let ((@x12044 (and-elim @x12033 $x10084)))
(let (($x9607 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (or (not (b_S_is$ ?v0 ?v1)) (= ?v0 (b_S_ptr$ ?v1 (b_S_ref$ ?v0)))) :pattern ( (b_S_is$ ?v0 ?v1) ) :qid k!622))
))
(let (($x9604 (or (not (b_S_is$ ?1 ?0)) (= ?1 (b_S_ptr$ ?0 (b_S_ref$ ?1))))))
(let (($x9601 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (let (($x9596 (b_S_is$ ?v0 ?v1)))
(=> $x9596 (= ?v0 (b_S_ptr$ ?v1 (b_S_ref$ ?v0))))) :pattern ( (b_S_is$ ?v0 ?v1) ) :qid k!622))
))
(let (($x9605 (= (=> (b_S_is$ ?1 ?0) (= ?1 (b_S_ptr$ ?0 (b_S_ref$ ?1)))) $x9604)))
(let ((@x15336 (mp~ (mp (asserted $x9601) (quant-intro (rewrite $x9605) (= $x9601 $x9607)) $x9607) (nnf-pos (refl (~ $x9604 $x9604)) (~ $x9607 $x9607)) $x9607)))
(let (($x21982 (not $x10084)))
(let (($x21994 (not $x9607)))
(let (($x21995 (or $x21994 $x21982 $x21990)))
(let ((@x22000 (mp ((_ quant-inst (b_S_ptr$ ?x10076 ?x10079) (b_S_array$ b_T_T_u1$ v_b_P_H_len$)) (or $x21994 (or $x21982 $x21990))) (rewrite (= (or $x21994 (or $x21982 $x21990)) $x21995)) $x21995)))
(let ((@x23670 (symm (unit-resolution @x22000 @x15336 @x12044 $x21990) (= ?x21983 ?x10080))))
(let ((@x23502 (monotonicity (trans @x23670 (symm @x23680 (= ?x10080 ?x22595)) (= ?x21983 ?x22595)) (= (b_S_set_n_in$ ?x21983 ?x22343) $x22596))))
(let (($x22344 (b_S_set_n_in$ ?x21983 ?x22343)))
(let (($x22362 (forall ((?v3 B_S_ptr$) )(! (let ((?x10078 (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$)))
(let ((?x10079 (b_S_ref$ ?x10078)))
(let ((?x10076 (b_S_array$ b_T_T_u1$ v_b_P_H_len$)))
(let ((?x10080 (b_S_ptr$ ?x10076 ?x10079)))
(let ((?x21014 (b_S_ref$ ?x10080)))
(let ((?x21983 (b_S_ptr$ ?x10076 ?x21014)))
(let ((?x22357 (b_S_read_n_version$ v_b_S_s$ ?x21983)))
(let ((?x22358 (b_S_ver_n_domain$ ?x22357)))
(let ((?x22234 (b_S_typ$ ?x21983)))
(let (($x22353 (b_S_has_n_volatile_n_owns_n_set$ ?x22234)))
(or $x22353 (not (b_S_set_n_in$ ?v3 (b_S_owns$ v_b_S_s$ ?x21983))) (b_S_set_n_in2$ ?v3 ?x22358)))))))))))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ v_b_S_s$ (b_S_ptr$ (b_S_array$ b_T_T_u1$ v_b_P_H_len$) (b_S_ref$ (b_S_ptr$ (b_S_array$ b_T_T_u1$ v_b_P_H_len$) (b_S_ref$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$))))))) ) :qid k!564))
))
(let (($x22363 (not $x22362)))
(let (($x22248 (b_S_closed$ v_b_S_s$ ?x21983)))
(let (($x22272 (not $x22248)))
(let (($x22352 (not $x22344)))
(let (($x22364 (or $x22352 $x22272 $x22363)))
(let (($x22365 (not $x22364)))
(let (($x22318 (b_S_in_n_domain$ v_b_S_s$ ?x21983 ?x21983)))
(let (($x22317 (b_S_in_n_domain_n_lab$ v_b_S_s$ ?x21983 ?x21983 b_l_H_public$)))
(let (($x22326 (= $x22317 $x22318)))
(let (($x8728 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) (?v3 B_S_label$) )(! (let (($x8719 (b_S_in_n_domain$ ?v0 ?v1 ?v2)))
(let (($x8718 (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3)))
(= $x8718 $x8719))) :pattern ( (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3) ) :qid k!567))
))
(let (($x8719 (b_S_in_n_domain$ ?3 ?2 ?1)))
(let (($x8718 (b_S_in_n_domain_n_lab$ ?3 ?2 ?1 ?0)))
(let (($x8725 (= $x8718 $x8719)))
(let (($x8723 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) (?v3 B_S_label$) )(! (let (($x8719 (b_S_in_n_domain$ ?v0 ?v1 ?v2)))
(let (($x8718 (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3)))
(= $x8718 $x8719))) :pattern ( (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3) ) :qid k!567))
))
(let ((@x8733 (mp (asserted $x8723) (quant-intro (rewrite (= (= $x8718 $x8719) $x8725)) (= $x8723 $x8728)) $x8728)))
(let ((@x15021 (mp~ @x8733 (nnf-pos (refl (~ $x8725 $x8725)) (~ $x8728 $x8728)) $x8728)))
(let (($x22699 (or (not $x8728) $x22326)))
(let ((@x23229 ((_ quant-inst v_b_S_s$ (b_S_ptr$ ?x10076 ?x21014) (b_S_ptr$ ?x10076 ?x21014) b_l_H_public$) $x22699)))
(let ((@x22990 (unit-resolution @x23229 @x15021 $x22326)))
(let ((@x23563 (symm (monotonicity @x23670 @x23670 (= $x22317 $x10136)) (= $x10136 $x22317))))
(let (($x35 (= b_S_kind_n_primitive$ b_S_kind_n_array$)))
(let (($x36 (not $x35)))
(let (($x22421 (= $x36 (not (= (b_S_kind_n_of$ (b_S_typ$ ?x21983)) b_S_kind_n_primitive$)))))
(let ((?x22234 (b_S_typ$ ?x21983)))
(let ((?x22387 (b_S_kind_n_of$ ?x22234)))
(let (($x22388 (= ?x22387 b_S_kind_n_primitive$)))
(let (($x22148 (= ?x10086 b_S_kind_n_array$)))
(let (($x21115 (b_S_is_n_arraytype$ ?x10076)))
(let (($x22149 (= $x21115 $x22148)))
(let (($x9869 (forall ((?v0 B_S_ctype$) )(! (let ((?x9849 (b_S_kind_n_of$ ?v0)))
(let (($x9861 (= ?x9849 b_S_kind_n_array$)))
(let (($x7848 (b_S_is_n_arraytype$ ?v0)))
(= $x7848 $x9861)))) :pattern ( (b_S_is_n_arraytype$ ?v0) ) :qid k!662))
))
(let ((?x9849 (b_S_kind_n_of$ ?0)))
(let (($x9861 (= ?x9849 b_S_kind_n_array$)))
(let (($x7848 (b_S_is_n_arraytype$ ?0)))
(let (($x9866 (= $x7848 $x9861)))
(let (($x9864 (forall ((?v0 B_S_ctype$) )(! (let ((?x9849 (b_S_kind_n_of$ ?v0)))
(let (($x9861 (= ?x9849 b_S_kind_n_array$)))
(let (($x7848 (b_S_is_n_arraytype$ ?v0)))
(= $x7848 $x9861)))) :pattern ( (b_S_is_n_arraytype$ ?v0) ) :qid k!662))
))
(let ((@x9874 (mp (asserted $x9864) (quant-intro (rewrite (= (= $x7848 $x9861) $x9866)) (= $x9864 $x9869)) $x9869)))
(let ((@x15446 (mp~ @x9874 (nnf-pos (refl (~ $x9866 $x9866)) (~ $x9869 $x9869)) $x9869)))
(let (($x22159 (or (not $x9869) $x22149)))
(let ((@x22160 ((_ quant-inst (b_S_array$ b_T_T_u1$ v_b_P_H_len$)) $x22159)))
(let (($x7229 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (let ((?x6561 (b_S_array$ ?v0 ?v1)))
(b_S_is_n_arraytype$ ?x6561)) :pattern ( (b_S_array$ ?v0 ?v1) ) :qid k!502))
))
(let ((?x6561 (b_S_array$ ?1 ?0)))
(let (($x7228 (b_S_is_n_arraytype$ ?x6561)))
(let ((@x14576 (mp~ (asserted $x7229) (nnf-pos (refl (~ $x7228 $x7228)) (~ $x7229 $x7229)) $x7229)))
(let (($x21122 (or (not $x7229) $x21115)))
(let ((@x21123 ((_ quant-inst b_T_T_u1$ v_b_P_H_len$) $x21122)))
(let ((@x22382 (unit-resolution (def-axiom (or (not $x22149) (not $x21115) $x22148)) (unit-resolution @x21123 @x14576 $x21115) (or (not $x22149) $x22148))))
(let ((?x21180 (b_S_typ$ ?x10080)))
(let (($x21183 (= ?x21180 ?x10076)))
(let (($x19841 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (= (b_S_typ$ (b_S_ptr$ ?v0 ?v1)) ?v0) :pattern ( (b_S_ptr$ ?v0 ?v1) ) :qid k!628))
))
(let (($x9659 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (= (b_S_typ$ (b_S_ptr$ ?v0 ?v1)) ?v0) :qid k!628))
))
(let (($x9658 (= (b_S_typ$ (b_S_ptr$ ?1 ?0)) ?1)))
(let ((@x15361 (mp~ (asserted $x9659) (nnf-pos (refl (~ $x9658 $x9658)) (~ $x9659 $x9659)) $x9659)))
(let ((@x19846 (mp @x15361 (quant-intro (refl (= $x9658 $x9658)) (= $x9659 $x19841)) $x19841)))
(let (($x21147 (not $x19841)))
(let (($x21188 (or $x21147 $x21183)))
(let ((@x21189 ((_ quant-inst (b_S_array$ b_T_T_u1$ v_b_P_H_len$) (b_S_ref$ ?x10078)) $x21188)))
(let ((@x22406 (trans (monotonicity @x23670 (= ?x22234 ?x21180)) (unit-resolution @x21189 @x19846 $x21183) (= ?x22234 ?x10076))))
(let ((@x22335 (trans (monotonicity @x22406 (= ?x22387 ?x10086)) (unit-resolution @x22382 (unit-resolution @x22160 @x15446 $x22149) $x22148) (= ?x22387 b_S_kind_n_array$))))
(let ((@x22369 (monotonicity @x22335 (= $x22388 (= b_S_kind_n_array$ b_S_kind_n_primitive$)))))
(let ((@x22393 (trans @x22369 (commutativity (= (= b_S_kind_n_array$ b_S_kind_n_primitive$) $x35)) (= $x22388 $x35))))
(let (($x41 (= b_S_kind_n_thread$ b_S_kind_n_array$)))
(let (($x42 (not $x41)))
(let (($x39 (= b_S_kind_n_composite$ b_S_kind_n_array$)))
(let (($x40 (not $x39)))
(let (($x37 (= b_S_kind_n_composite$ b_S_kind_n_thread$)))
(let (($x38 (not $x37)))
(let (($x32 (= b_S_kind_n_primitive$ b_S_kind_n_thread$)))
(let (($x33 (not $x32)))
(let (($x29 (= b_S_kind_n_primitive$ b_S_kind_n_composite$)))
(let (($x30 (not $x29)))
(let (($x67 (and $x30 $x33 $x36 $x38 $x40 $x42)))
(let (($x48 (and $x30 (and $x33 (and $x36 (and $x38 (and $x40 (and $x42 true))))))))
(let (($x68 (= (and $x30 (and $x33 (and $x36 (and $x38 (and $x40 $x42))))) $x67)))
(let (($x65 (= $x48 (and $x30 (and $x33 (and $x36 (and $x38 (and $x40 $x42))))))))
(let (($x62 (= (and $x33 (and $x36 (and $x38 (and $x40 (and $x42 true))))) (and $x33 (and $x36 (and $x38 (and $x40 $x42)))))))
(let (($x59 (= (and $x36 (and $x38 (and $x40 (and $x42 true)))) (and $x36 (and $x38 (and $x40 $x42))))))
(let (($x56 (= (and $x38 (and $x40 (and $x42 true))) (and $x38 (and $x40 $x42)))))
(let ((@x54 (monotonicity (rewrite (= (and $x42 true) $x42)) (= (and $x40 (and $x42 true)) (and $x40 $x42)))))
(let ((@x66 (monotonicity (monotonicity (monotonicity (monotonicity @x54 $x56) $x59) $x62) $x65)))
(let ((@x72 (mp (asserted $x48) (trans @x66 (rewrite $x68) (= $x48 $x67)) $x67)))
(let ((@x75 (and-elim @x72 $x36)))
(let (($x22333 (not $x22318)))
(let (($x22336 (not $x22317)))
(let ((@x22397 (unit-resolution (def-axiom (or (not $x22326) $x22317 $x22333)) (mp (hypothesis $x11221) (monotonicity @x23563 (= $x11221 $x22336)) $x22336) @x22990 $x22333)))
(let (($x22368 (b_S_is$ ?x21983 ?x22234)))
(let ((@x23420 (mp @x12044 (symm (monotonicity @x23670 @x22406 (= $x22368 $x10084)) (= $x10084 $x22368)) $x22368)))
(let (($x22385 (b_S_typed$ v_b_S_s$ ?x21983)))
(let ((@x12045 (and-elim @x12033 $x10085)))
(let ((@x22419 (mp @x12045 (symm (monotonicity @x23670 (= $x22385 $x10085)) (= $x10085 $x22385)) $x22385)))
(let ((?x22243 (b_S_owner$ v_b_S_s$ ?x21983)))
(let (($x22259 (= ?x22243 b_S_me$)))
(let ((@x12043 (and-elim @x12033 $x10083)))
(let ((@x12042 (and-elim @x12033 $x10081)))
(let ((@x22437 (mp @x12042 (symm (monotonicity @x23670 (= $x22248 $x10081)) (= $x10081 $x22248)) $x22248)))
(let (($x22235 (b_S_is_n_non_n_primitive$ ?x22234)))
(let ((@x12047 (and-elim @x12033 $x10089)))
(let ((@x22500 (mp @x12047 (symm (monotonicity @x22406 (= $x22235 $x10089)) (= $x10089 $x22235)) $x22235)))
(let ((@x12050 (and-elim @x12033 $x10097)))
(let (($x18905 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1)))
(let ((?x2247 (b_S_typ$ ?v1)))
(let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247)))
(let (($x9239 (not $x2351)))
(let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$)))
(let (($x2488 (b_S_typed$ ?v0 ?v1)))
(let (($x9531 (not $x2488)))
(let (($x2487 (b_S_is$ ?v1 ?x2247)))
(let (($x16299 (not $x2487)))
(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
(let (($x2486 (= ?x2484 b_S_me$)))
(let (($x16298 (not $x2486)))
(let (($x2471 (b_S_closed$ ?v0 ?v1)))
(let (($x9185 (not $x2471)))
(let (($x2687 (b_S_full_n_stop$ ?v0)))
(let (($x16426 (not $x2687)))
(or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239 $x8613))))))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ) :qid k!563))
))
(let (($x8634 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1)))
(let ((?x2247 (b_S_typ$ ?v1)))
(let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247)))
(let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$)))
(let (($x2294 (not $x2249)))
(let (($x2488 (b_S_typed$ ?v0 ?v1)))
(let (($x2487 (b_S_is$ ?v1 ?x2247)))
(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
(let (($x2486 (= ?x2484 b_S_me$)))
(let (($x2471 (b_S_closed$ ?v0 ?v1)))
(let (($x2687 (b_S_full_n_stop$ ?v0)))
(let (($x8625 (and $x2687 $x2471 $x2486 $x2487 $x2488 $x2294 $x2351)))
(let (($x8628 (not $x8625)))
(or $x8628 $x8613)))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ) :qid k!563))
))
(let (($x8613 (b_S_in_n_domain$ ?1 ?0 ?0)))
(let ((?x2247 (b_S_typ$ ?0)))
(let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247)))
(let (($x9239 (not $x2351)))
(let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$)))
(let (($x2488 (b_S_typed$ ?1 ?0)))
(let (($x9531 (not $x2488)))
(let (($x2487 (b_S_is$ ?0 ?x2247)))
(let (($x16299 (not $x2487)))
(let ((?x2484 (b_S_owner$ ?1 ?0)))
(let (($x2486 (= ?x2484 b_S_me$)))
(let (($x16298 (not $x2486)))
(let (($x2471 (b_S_closed$ ?1 ?0)))
(let (($x9185 (not $x2471)))
(let (($x2687 (b_S_full_n_stop$ ?1)))
(let (($x16426 (not $x2687)))
(let (($x18900 (or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239 $x8613)))
(let (($x2294 (not $x2249)))
(let (($x8625 (and $x2687 $x2471 $x2486 $x2487 $x2488 $x2294 $x2351)))
(let (($x8628 (not $x8625)))
(let (($x8631 (or $x8628 $x8613)))
(let ((@x18902 (rewrite (= (or (or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239) $x8613) $x18900))))
(let (($x18886 (or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239)))
(let ((@x18892 (monotonicity (rewrite (= $x8625 (not $x18886))) (= $x8628 (not (not $x18886))))))
(let ((@x18899 (monotonicity (trans @x18892 (rewrite (= (not (not $x18886)) $x18886)) (= $x8628 $x18886)) (= $x8631 (or $x18886 $x8613)))))
(let (($x8616 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1)))
(let ((?x2247 (b_S_typ$ ?v1)))
(let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247)))
(let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$)))
(let (($x2294 (not $x2249)))
(let (($x2488 (b_S_typed$ ?v0 ?v1)))
(let (($x2487 (b_S_is$ ?v1 ?x2247)))
(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
(let (($x2486 (= ?x2484 b_S_me$)))
(let (($x2471 (b_S_closed$ ?v0 ?v1)))
(let (($x2687 (b_S_full_n_stop$ ?v0)))
(let (($x8612 (and $x2687 (and $x2471 (and $x2486 (and $x2487 (and $x2488 (and $x2294 $x2351))))))))
(=> $x8612 $x8613))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ) :qid k!563))
))
(let (($x8622 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1)))
(let ((?x2247 (b_S_typ$ ?v1)))
(let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247)))
(let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$)))
(let (($x2294 (not $x2249)))
(let (($x2488 (b_S_typed$ ?v0 ?v1)))
(let (($x2487 (b_S_is$ ?v1 ?x2247)))
(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
(let (($x2486 (= ?x2484 b_S_me$)))
(let (($x2471 (b_S_closed$ ?v0 ?v1)))
(let (($x2687 (b_S_full_n_stop$ ?v0)))
(let (($x8612 (and $x2687 (and $x2471 (and $x2486 (and $x2487 (and $x2488 (and $x2294 $x2351))))))))
(or (not $x8612) $x8613))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ) :qid k!563))
))
(let (($x8612 (and $x2687 (and $x2471 (and $x2486 (and $x2487 (and $x2488 (and $x2294 $x2351))))))))
(let (($x8619 (or (not $x8612) $x8613)))
(let ((@x8633 (monotonicity (monotonicity (rewrite (= $x8612 $x8625)) (= (not $x8612) $x8628)) (= $x8619 $x8631))))
(let ((@x8638 (trans (quant-intro (rewrite (= (=> $x8612 $x8613) $x8619)) (= $x8616 $x8622)) (quant-intro @x8633 (= $x8622 $x8634)) (= $x8616 $x8634))))
(let ((@x14989 (mp~ (mp (asserted $x8616) @x8638 $x8634) (nnf-pos (refl (~ $x8631 $x8631)) (~ $x8634 $x8634)) $x8634)))
(let ((@x18908 (mp @x14989 (quant-intro (trans @x18899 @x18902 (= $x8631 $x18900)) (= $x8634 $x18905)) $x18905)))
(let (($x22242 (not $x22235)))
(let (($x22386 (not $x22385)))
(let (($x22384 (not $x22368)))
(let (($x23422 (or (not $x18905) $x19677 $x22272 (not $x22259) $x22384 $x22386 $x22388 $x22242 $x22318)))
(let (($x23058 (= (or (not $x18905) (or $x19677 $x22272 (not $x22259) $x22384 $x22386 $x22388 $x22242 $x22318)) $x23422)))
(let ((@x23077 ((_ quant-inst v_b_S_s$ (b_S_ptr$ ?x10076 ?x21014)) (or (not $x18905) (or $x19677 $x22272 (not $x22259) $x22384 $x22386 $x22388 $x22242 $x22318)))))
(let ((@x22720 (mp @x23077 (rewrite $x23058) $x23422)))
(let ((@x22519 (unit-resolution @x22720 @x18908 @x12050 @x22500 @x22437 (trans (monotonicity @x23670 (= ?x22243 ?x10082)) @x12043 $x22259) (or $x22384 $x22386 $x22388 $x22318))))
(let ((@x22507 (unit-resolution @x22519 @x22419 @x23420 @x22397 (mp @x75 (monotonicity (symm @x22393 (= $x35 $x22388)) $x22421) (not $x22388)) false)))
(let ((@x22508 (lemma @x22507 $x10136)))
(let ((@x23561 (def-axiom (or (not $x22326) $x22336 $x22318))))
(let (($x22366 (or $x22333 $x22365)))
(let (($x18945 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) )(! (let (($x18929 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?v0 ?v2)))))
(let ((?x6628 (b_S_typ$ ?v1)))
(let (($x8640 (b_S_has_n_volatile_n_owns_n_set$ ?x6628)))
(or $x8640 (not (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1))) $x8646)))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)) ) :qid k!564))
))
(let (($x2554 (b_S_closed$ ?v0 ?v1)))
(let (($x8955 (not $x2554)))
(let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2))))
(let (($x18744 (not $x8428)))
(let (($x18937 (not (or $x18744 $x8955 (not $x18929)))))
(let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2)))
(let (($x8672 (not $x8461)))
(or $x8672 $x18937))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ) :qid k!564))
))
(let (($x8687 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) )(! (let (($x8660 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?v0 ?v2)))))
(let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1))))
(let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?v1))) $x8643)))
(let (($x8656 (not $x8644)))
(or $x8656 $x8646))))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)) ) :qid k!564))
))
(let (($x2554 (b_S_closed$ ?v0 ?v1)))
(let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2))))
(let (($x8681 (and $x8428 $x2554 $x8660)))
(let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2)))
(let (($x8672 (not $x8461)))
(or $x8672 $x8681))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ) :qid k!564))
))
(let (($x18929 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?2 ?0)))))
(let ((?x6628 (b_S_typ$ ?1)))
(let (($x8640 (b_S_has_n_volatile_n_owns_n_set$ ?x6628)))
(or $x8640 (not (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1))) $x8646)))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1)) ) :qid k!564))
))
(let (($x2554 (b_S_closed$ ?2 ?1)))
(let (($x8955 (not $x2554)))
(let (($x8428 (b_S_set_n_in$ ?1 (b_S_domain$ ?2 ?0))))
(let (($x18744 (not $x8428)))
(let (($x18937 (not (or $x18744 $x8955 (not $x18929)))))
(let (($x8461 (b_S_in_n_domain$ ?2 ?1 ?0)))
(let (($x8672 (not $x8461)))
(let (($x8660 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?2 ?0)))))
(let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1))))
(let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?1))) $x8643)))
(let (($x8656 (not $x8644)))
(or $x8656 $x8646))))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1)) ) :qid k!564))
))
(let (($x8681 (and $x8428 $x2554 $x8660)))
(let (($x8684 (or $x8672 $x8681)))
(let (($x8646 (b_S_set_n_in2$ ?0 (b_S_ver_n_domain$ (b_S_read_n_version$ ?3 ?1)))))
(let ((?x6628 (b_S_typ$ ?2)))
(let (($x8640 (b_S_has_n_volatile_n_owns_n_set$ ?x6628)))
(let (($x18924 (or $x8640 (not (b_S_set_n_in$ ?0 (b_S_owns$ ?3 ?2))) $x8646)))
(let (($x8643 (b_S_set_n_in$ ?0 (b_S_owns$ ?3 ?2))))
(let (($x8644 (and (not $x8640) $x8643)))
(let (($x8656 (not $x8644)))
(let (($x8657 (or $x8656 $x8646)))
(let ((@x18918 (rewrite (= (not (not (or $x8640 (not $x8643)))) (or $x8640 (not $x8643))))))
(let ((@x18916 (monotonicity (rewrite (= $x8644 (not (or $x8640 (not $x8643))))) (= $x8656 (not (not (or $x8640 (not $x8643))))))))
(let ((@x18923 (monotonicity (trans @x18916 @x18918 (= $x8656 (or $x8640 (not $x8643)))) (= $x8657 (or (or $x8640 (not $x8643)) $x8646)))))
(let ((@x18928 (trans @x18923 (rewrite (= (or (or $x8640 (not $x8643)) $x8646) $x18924)) (= $x8657 $x18924))))
(let ((@x18934 (monotonicity (quant-intro @x18928 (= $x8660 $x18929)) (= $x8681 (and $x8428 $x2554 $x18929)))))
(let ((@x18941 (trans @x18934 (rewrite (= (and $x8428 $x2554 $x18929) $x18937)) (= $x8681 $x18937))))
(let ((@x18947 (quant-intro (monotonicity @x18941 (= $x8684 (or $x8672 $x18937))) (= $x8687 $x18945))))
(let ((@x15001 (monotonicity (refl (~ $x8428 $x8428)) (refl (~ $x2554 $x2554)) (nnf-pos (refl (~ $x8657 $x8657)) (~ $x8660 $x8660)) (~ $x8681 $x8681))))
(let ((@x15005 (nnf-pos (monotonicity (refl (~ $x8672 $x8672)) @x15001 (~ $x8684 $x8684)) (~ $x8687 $x8687))))
(let (($x8654 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) )(! (let (($x8649 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?v0 ?v2)))))
(let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1))))
(let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?v1))) $x8643)))
(=> $x8644 $x8646)))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)) ) :qid k!564))
))
(let (($x2554 (b_S_closed$ ?v0 ?v1)))
(let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2))))
(let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2)))
(=> $x8461 (and $x8428 (and $x2554 $x8649))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ) :qid k!564))
))
(let (($x8678 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) )(! (let (($x8660 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?v0 ?v2)))))
(let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1))))
(let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?v1))) $x8643)))
(let (($x8656 (not $x8644)))
(or $x8656 $x8646))))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)) ) :qid k!564))
))
(let (($x2554 (b_S_closed$ ?v0 ?v1)))
(let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2))))
(let (($x8666 (and $x8428 (and $x2554 $x8660))))
(let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2)))
(let (($x8672 (not $x8461)))
(or $x8672 $x8666))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ) :qid k!564))
))
(let ((@x8686 (monotonicity (rewrite (= (and $x8428 (and $x2554 $x8660)) $x8681)) (= (or $x8672 (and $x8428 (and $x2554 $x8660))) $x8684))))
(let (($x8666 (and $x8428 (and $x2554 $x8660))))
(let (($x8673 (or $x8672 $x8666)))
(let (($x8649 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?2 ?0)))))
(let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1))))
(let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?1))) $x8643)))
(=> $x8644 $x8646)))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1)) ) :qid k!564))
))
(let (($x8652 (=> $x8461 (and $x8428 (and $x2554 $x8649)))))
(let ((@x8665 (monotonicity (quant-intro (rewrite (= (=> $x8644 $x8646) $x8657)) (= $x8649 $x8660)) (= (and $x2554 $x8649) (and $x2554 $x8660)))))
(let ((@x8671 (monotonicity (monotonicity @x8665 (= (and $x8428 (and $x2554 $x8649)) $x8666)) (= $x8652 (=> $x8461 $x8666)))))
(let ((@x8680 (quant-intro (trans @x8671 (rewrite (= (=> $x8461 $x8666) $x8673)) (= $x8652 $x8673)) (= $x8654 $x8678))))
(let ((@x8692 (mp (asserted $x8654) (trans @x8680 (quant-intro @x8686 (= $x8678 $x8687)) (= $x8654 $x8687)) $x8687)))
(let ((@x18948 (mp (mp~ @x8692 @x15005 $x8687) @x18947 $x18945)))
(let (($x22501 (or (not $x18945) $x22333 $x22365)))
(let ((@x22512 (mp ((_ quant-inst v_b_S_s$ (b_S_ptr$ ?x10076 ?x21014) (b_S_ptr$ ?x10076 ?x21014)) (or (not $x18945) $x22366)) (rewrite (= (or (not $x18945) $x22366) $x22501)) $x22501)))
(let ((@x24112 (unit-resolution (unit-resolution @x22512 @x18948 $x22366) (unit-resolution @x23561 (mp @x22508 @x23563 $x22317) @x22990 $x22318) $x22365)))
(let ((@x22487 (def-axiom (or $x22364 $x22344))))
(let ((@x12041 (and-elim @x12033 $x11260)))
(let (($x9768 (b_S_is_n_primitive$ b_T_T_u1$)))
(let ((@x9769 (asserted $x9768)))
(let (($x18667 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ptr$) (?v3 Int) (?v4 Int) (?v5 B_S_ctype$) )(! (let ((?x8245 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)))
(let ((?x7097 (b_S_typemap$ ?v0)))
(let (($x18655 (or (not (b_S_typed$ ?v0 ?x8245)) (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245)))))
(let (($x18656 (not $x18655)))
(let (($x5403 (>= (+ ?v4 (* (- 1) ?v3)) 0)))
(let (($x3057 (>= ?v4 0)))
(let (($x16520 (not $x3057)))
(let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2))))
(let (($x18630 (not $x8240)))
(let (($x2704 (b_S_is_n_primitive$ ?v5)))
(let (($x8855 (not $x2704)))
(let (($x8236 (b_S_full_n_stop$ ?v0)))
(let (($x18629 (not $x8236)))
(or $x18629 $x8855 $x18630 $x16520 $x5403 $x18656)))))))))))))) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_owner$ ?v0 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :qid k!553))
))
(let (($x8307 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ptr$) (?v3 Int) (?v4 Int) (?v5 B_S_ctype$) )(! (let ((?x8245 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)))
(let ((?x7097 (b_S_typemap$ ?v0)))
(let (($x8291 (and (b_S_typed$ ?v0 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245))))))
(let (($x5403 (>= (+ ?v4 (* (- 1) ?v3)) 0)))
(let (($x6757 (not $x5403)))
(let (($x3057 (>= ?v4 0)))
(let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2))))
(let (($x2704 (b_S_is_n_primitive$ ?v5)))
(let (($x8236 (b_S_full_n_stop$ ?v0)))
(let (($x8270 (and $x8236 $x2704 $x8240 $x3057 $x6757)))
(let (($x8275 (not $x8270)))
(or $x8275 $x8291)))))))))))) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_owner$ ?v0 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :qid k!553))
))
(let ((?x8245 (b_S_idx$ (b_S_ptr$ ?0 ?4) ?1 ?0)))
(let ((?x7097 (b_S_typemap$ ?5)))
(let (($x18655 (or (not (b_S_typed$ ?5 ?x8245)) (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245)))))
(let (($x18656 (not $x18655)))
(let (($x5403 (>= (+ ?1 (* (- 1) ?2)) 0)))
(let (($x3057 (>= ?1 0)))
(let (($x16520 (not $x3057)))
(let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?0 ?2) ?4) (b_S_domain$ ?5 ?3))))
(let (($x18630 (not $x8240)))
(let (($x2704 (b_S_is_n_primitive$ ?0)))
(let (($x8855 (not $x2704)))
(let (($x8236 (b_S_full_n_stop$ ?5)))
(let (($x18629 (not $x8236)))
(let (($x18662 (or $x18629 $x8855 $x18630 $x16520 $x5403 $x18656)))
(let (($x8291 (and (b_S_typed$ ?5 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245))))))
(let (($x6757 (not $x5403)))
(let (($x8270 (and $x8236 $x2704 $x8240 $x3057 $x6757)))
(let (($x8275 (not $x8270)))
(let (($x8304 (or $x8275 $x8291)))
(let (($x18631 (or $x18629 $x8855 $x18630 $x16520 $x5403)))
(let ((@x18637 (monotonicity (rewrite (= $x8270 (not $x18631))) (= $x8275 (not (not $x18631))))))
(let ((@x18661 (monotonicity (trans @x18637 (rewrite (= (not (not $x18631)) $x18631)) (= $x8275 $x18631)) (rewrite (= $x8291 $x18656)) (= $x8304 (or $x18631 $x18656)))))
(let ((@x18669 (quant-intro (trans @x18661 (rewrite (= (or $x18631 $x18656) $x18662)) (= $x8304 $x18662)) (= $x8307 $x18667))))
(let (($x8296 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ptr$) (?v3 Int) (?v4 Int) (?v5 B_S_ctype$) )(! (let ((?x8245 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)))
(let ((?x7097 (b_S_typemap$ ?v0)))
(let (($x8291 (and (b_S_typed$ ?v0 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245))))))
(let (($x3027 (<= 0 ?v4)))
(let (($x6740 (and $x3027 (< ?v4 ?v3))))
(let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2))))
(let (($x2704 (b_S_is_n_primitive$ ?v5)))
(let (($x8236 (b_S_full_n_stop$ ?v0)))
(let (($x8243 (and $x8236 (and $x2704 (and $x8240 $x6740)))))
(=> $x8243 $x8291)))))))))) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_owner$ ?v0 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :qid k!553))
))
(let (($x8301 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ptr$) (?v3 Int) (?v4 Int) (?v5 B_S_ctype$) )(! (let ((?x8245 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)))
(let ((?x7097 (b_S_typemap$ ?v0)))
(let (($x8291 (and (b_S_typed$ ?v0 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245))))))
(let (($x3027 (<= 0 ?v4)))
(let (($x6740 (and $x3027 (< ?v4 ?v3))))
(let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2))))
(let (($x2704 (b_S_is_n_primitive$ ?v5)))
(let (($x8236 (b_S_full_n_stop$ ?v0)))
(let (($x8243 (and $x8236 (and $x2704 (and $x8240 $x6740)))))
(let (($x8254 (not $x8243)))
(or $x8254 $x8291))))))))))) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_owner$ ?v0 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :qid k!553))
))
(let (($x8243 (and $x8236 (and $x2704 (and $x8240 (and (<= 0 ?1) (< ?1 ?2)))))))
(let (($x8254 (not $x8243)))
(let (($x8298 (or $x8254 $x8291)))
(let ((@x8272 (rewrite (= (and $x8236 (and $x2704 (and $x8240 (and $x3057 $x6757)))) $x8270))))
(let (($x8265 (= (and $x2704 (and $x8240 (and (<= 0 ?1) (< ?1 ?2)))) (and $x2704 (and $x8240 (and $x3057 $x6757))))))
(let (($x8262 (= (and $x8240 (and (<= 0 ?1) (< ?1 ?2))) (and $x8240 (and $x3057 $x6757)))))
(let ((@x3058 (rewrite (= (<= 0 ?1) $x3057))))
(let ((@x6762 (monotonicity @x3058 (rewrite (= (< ?1 ?2) $x6757)) (= (and (<= 0 ?1) (< ?1 ?2)) (and $x3057 $x6757)))))
(let ((@x8269 (monotonicity (monotonicity (monotonicity @x6762 $x8262) $x8265) (= $x8243 (and $x8236 (and $x2704 (and $x8240 (and $x3057 $x6757))))))))
(let ((@x8306 (monotonicity (monotonicity (trans @x8269 @x8272 (= $x8243 $x8270)) (= $x8254 $x8275)) (= $x8298 $x8304))))
(let ((@x8311 (trans (quant-intro (rewrite (= (=> $x8243 $x8291) $x8298)) (= $x8296 $x8301)) (quant-intro @x8306 (= $x8301 $x8307)) (= $x8296 $x8307))))
(let ((@x14905 (mp~ (mp (asserted $x8296) @x8311 $x8307) (nnf-pos (refl (~ $x8304 $x8304)) (~ $x8307 $x8307)) $x8307)))
(let ((@x18670 (mp @x14905 @x18669 $x18667)))
(let (($x22597 (not $x22596)))
(let (($x21489 (not $x9768)))
(let (($x22629 (not $x18667)))
(let (($x22732 (or $x22629 $x19677 $x21489 $x22597 $x11259 $x22604)))
(let ((?x11246 (* (- 1) v_b_P_H_len$)))
(let ((?x22600 (+ 0 ?x11246)))
(let (($x22601 (>= ?x22600 0)))
(let (($x22598 (>= 0 0)))
(let (($x22599 (not $x22598)))
(let (($x22605 (or $x19677 $x21489 $x22597 $x22599 $x22601 $x22604)))
(let (($x22774 (or $x22629 $x22605)))
(let (($x22742 (or $x19677 $x21489 $x22597 $x11259 $x22604)))
(let ((@x22706 (trans (monotonicity (rewrite (= ?x22600 ?x11246)) (= $x22601 (>= ?x11246 0))) (rewrite (= (>= ?x11246 0) $x11259)) (= $x22601 $x11259))))
(let ((@x22711 (trans (monotonicity (rewrite (= $x22598 true)) (= $x22599 $x10203)) (rewrite (= $x10203 false)) (= $x22599 false))))
(let ((@x22741 (monotonicity @x22711 @x22706 (= $x22605 (or $x19677 $x21489 $x22597 false $x11259 $x22604)))))
(let ((@x22731 (trans @x22741 (rewrite (= (or $x19677 $x21489 $x22597 false $x11259 $x22604) $x22742)) (= $x22605 $x22742))))
(let ((@x23093 (trans (monotonicity @x22731 (= $x22774 (or $x22629 $x22742))) (rewrite (= (or $x22629 $x22742) $x22732)) (= $x22774 $x22732))))
(let ((@x23490 (mp ((_ quant-inst v_b_S_s$ v_b_P_H_arr$ (b_S_ptr$ ?x10076 ?x21014) v_b_P_H_len$ 0 b_T_T_u1$) $x22774) @x23093 $x22732)))
(let ((@x24453 (unit-resolution @x23490 @x18670 @x9769 @x12041 @x12050 (mp (unit-resolution @x22487 @x24112 $x22344) @x23502 $x22596) (hypothesis $x22603) false)))
(let (($x20128 (or $x15502 $x15505 $x20125)))
(let (($x20131 (not $x20128)))
(let (($x20134 (or $x11221 $x20131)))
(let (($x20137 (not $x20134)))
(let (($x20140 (or $x11221 $x20137)))
(let (($x19617 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11800 (not $x10238))))))))) :qid k!704))
))
(let (($x19602 (forall ((?v0 Int) )(! (let ((?x11816 (* (- 1) v_b_S_result_G_0$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11818 (<= (+ ?x10163 ?x11816) 0)))
(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11800 $x11818))))))))) :qid k!704))
))
(let (($x19626 (not (or (not $x19602) (not $x19617)))))
(let (($x19631 (or $x19580 $x19626)))
(let (($x19643 (not (or $x15729 $x19474 $x19501 $x19637 $x19638 $x19639 $x19640 (not $x19631)))))
(let (($x19648 (or $x15729 $x19643)))
(let (($x19656 (not (or $x11487 $x19474 $x19501 (not $x19648)))))
(let (($x19408 (forall ((?v0 Int) )(! (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11633 (<= (+ ?x10163 ?x11631) 0)))
(let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11615 $x11633))))))))) :qid k!704))
))
(let (($x19428 (not (or (not $x19408) $x19413))))
(let (($x19433 (or $x19386 $x19428)))
(let (($x19441 (not (or $x11612 (not $x19433)))))
(let (($x19446 (or $x11612 $x19441)))
(let (($x19458 (not (or $x15611 $x15614 $x19452 $x19453 $x19454 $x19455 (not $x19446)))))
(let (($x19463 (or $x15611 $x15614 $x19458)))
(let (($x19475 (not $x19463)))
(let (($x19515 (not (or $x11515 $x19501 $x19512 $x19513 $x19474 $x19455 $x19475))))
(let (($x19477 (not (or $x15590 $x15599 $x19469 $x19470 $x19471 $x19472 $x19473 $x19474 $x19455 $x19475))))
(let (($x19482 (or $x15590 $x15599 $x19477)))
(let (($x19490 (not (or $x15590 $x15593 (not $x19482)))))
(let (($x19495 (or $x15590 $x15593 $x19490)))
(let (($x19504 (not (or $x11516 $x19474 $x19501 (not $x19495)))))
(let (($x19520 (or $x19504 $x19515)))
(let (($x19528 (not (or $x15590 $x15599 $x19474 $x19501 (not $x19520)))))
(let (($x19533 (or $x15590 $x15599 $x19528)))
(let (($x19541 (not (or $x15590 $x15593 (not $x19533)))))
(let (($x19546 (or $x15590 $x15593 $x19541)))
(let (($x19554 (not (or $x11486 $x19474 $x19501 (not $x19546)))))
(let (($x19661 (or $x19554 $x19656)))
(let (($x19362 (forall ((?v0 Int) )(! (let ((?x11887 (* (- 1) v_b_L_H_max_G_1$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11889 (<= (+ ?x10163 ?x11887) 0)))
(let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11871 $x11889))))))))) :qid k!704))
))
(let (($x19685 (or $x11259 $x15548 $x19667 $x19668 $x19669 $x19670 $x19671 $x19672 (not $x19362) $x11867 $x19674 $x19675 $x19676 $x19677 $x19678 $x19679 $x19680 $x19681 $x19682 $x19683 $x19474 $x19501 (not $x19661))))
(let (($x19686 (not $x19685)))
(let (($x19691 (or $x11259 $x15548 $x19686)))
(let (($x19340 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0)))
(let (($x11388 (>= ?v0 1)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x2815 (>= ?v0 0)))
(let (($x3763 (not $x2815)))
(or $x3763 $x16553 $x11388 $x11404)))))))) :qid k!704))
))
(let (($x19700 (not (or (not $x19340) (not $x19691)))))
(let (($x19705 (or $x19318 $x19700)))
(let (($x19713 (not (or $x11385 (not $x19705)))))
(let (($x19718 (or $x11385 $x19713)))
(let (($x19730 (not (or $x15502 $x15511 $x19724 $x19725 $x19726 $x19727 (not $x19718)))))
(let (($x19735 (or $x15502 $x15511 $x19730)))
(let (($x19743 (not (or $x15502 $x15505 (not $x19735)))))
(let (($x19748 (or $x15502 $x15505 $x19743)))
(let (($x19756 (not (or $x11221 (not $x19748)))))
(let (($x19761 (or $x11221 $x19756)))
(let (($x12168 (<= ?0 4294967295)))
(let (($x16553 (not $x12168)))
(let (($x3763 (not $x2815)))
(let (($x19606 (or $x3763 $x16553 $x11800 (not $x10238))))
(let ((@x20037 (monotonicity (quant-intro (refl (= $x19606 $x19606)) (= $x19617 $x20030)) (= (not $x19617) $x20035))))
(let ((@x20026 (quant-intro (refl (= (or $x3763 $x16553 $x11800 $x11818) (or $x3763 $x16553 $x11800 $x11818))) (= $x19602 $x20022))))
(let ((@x20040 (monotonicity (monotonicity @x20026 (= (not $x19602) $x20027)) @x20037 (= (or (not $x19602) (not $x19617)) $x20038))))
(let ((@x20049 (monotonicity (monotonicity (monotonicity @x20040 (= $x19626 $x20041)) (= $x19631 $x20044)) (= (not $x19631) $x20047))))
(let ((@x20052 (monotonicity @x20049 (= (or $x15729 $x19474 $x19501 $x19637 $x19638 $x19639 $x19640 (not $x19631)) $x20050))))
(let ((@x20061 (monotonicity (monotonicity (monotonicity @x20052 (= $x19643 $x20053)) (= $x19648 $x20056)) (= (not $x19648) $x20059))))
(let ((@x20067 (monotonicity (monotonicity @x20061 (= (or $x11487 $x19474 $x19501 (not $x19648)) $x20062)) (= $x19656 $x20065))))
(let ((@x19910 (quant-intro (refl (= (or $x3763 $x16553 $x11615 $x11633) (or $x3763 $x16553 $x11615 $x11633))) (= $x19408 $x19906))))
(let ((@x19916 (monotonicity (monotonicity @x19910 (= (not $x19408) $x19911)) (= (or (not $x19408) $x19413) $x19914))))
(let ((@x19925 (monotonicity (monotonicity (monotonicity @x19916 (= $x19428 $x19917)) (= $x19433 $x19920)) (= (not $x19433) $x19923))))
(let ((@x19931 (monotonicity (monotonicity @x19925 (= (or $x11612 (not $x19433)) $x19926)) (= $x19441 $x19929))))
(let ((@x19937 (monotonicity (monotonicity @x19931 (= $x19446 $x19932)) (= (not $x19446) $x19935))))
(let ((@x19940 (monotonicity @x19937 (= (or $x15611 $x15614 $x19452 $x19453 $x19454 $x19455 (not $x19446)) $x19938))))
(let ((@x19949 (monotonicity (monotonicity (monotonicity @x19940 (= $x19458 $x19941)) (= $x19463 $x19944)) (= $x19475 $x19947))))
(let ((@x19982 (monotonicity @x19949 (= (or $x11515 $x19501 $x19512 $x19513 $x19474 $x19455 $x19475) $x19980))))
(let ((@x19952 (monotonicity @x19949 (= (or $x15590 $x15599 $x19469 $x19470 $x19471 $x19472 $x19473 $x19474 $x19455 $x19475) $x19950))))
(let ((@x19961 (monotonicity (monotonicity (monotonicity @x19952 (= $x19477 $x19953)) (= $x19482 $x19956)) (= (not $x19482) $x19959))))
(let ((@x19967 (monotonicity (monotonicity @x19961 (= (or $x15590 $x15593 (not $x19482)) $x19962)) (= $x19490 $x19965))))
(let ((@x19973 (monotonicity (monotonicity @x19967 (= $x19495 $x19968)) (= (not $x19495) $x19971))))
(let ((@x19979 (monotonicity (monotonicity @x19973 (= (or $x11516 $x19474 $x19501 (not $x19495)) $x19974)) (= $x19504 $x19977))))
(let ((@x19988 (monotonicity @x19979 (monotonicity @x19982 (= $x19515 $x19983)) (= $x19520 $x19986))))
(let ((@x19994 (monotonicity (monotonicity @x19988 (= (not $x19520) $x19989)) (= (or $x15590 $x15599 $x19474 $x19501 (not $x19520)) $x19992))))
(let ((@x20003 (monotonicity (monotonicity (monotonicity @x19994 (= $x19528 $x19995)) (= $x19533 $x19998)) (= (not $x19533) $x20001))))
(let ((@x20009 (monotonicity (monotonicity @x20003 (= (or $x15590 $x15593 (not $x19533)) $x20004)) (= $x19541 $x20007))))
(let ((@x20015 (monotonicity (monotonicity @x20009 (= $x19546 $x20010)) (= (not $x19546) $x20013))))
(let ((@x20021 (monotonicity (monotonicity @x20015 (= (or $x11486 $x19474 $x19501 (not $x19546)) $x20016)) (= $x19554 $x20019))))
(let ((@x20073 (monotonicity (monotonicity @x20021 @x20067 (= $x19661 $x20068)) (= (not $x19661) $x20071))))
(let ((@x19902 (quant-intro (refl (= (or $x3763 $x16553 $x11871 $x11889) (or $x3763 $x16553 $x11871 $x11889))) (= $x19362 $x19898))))
(let ((@x20076 (monotonicity (monotonicity @x19902 (= (not $x19362) $x19903)) @x20073 (= $x19685 $x20074))))
(let ((@x20085 (monotonicity (monotonicity (monotonicity @x20076 (= $x19686 $x20077)) (= $x19691 $x20080)) (= (not $x19691) $x20083))))
(let ((@x19894 (quant-intro (refl (= (or $x3763 $x16553 $x11388 $x11404) (or $x3763 $x16553 $x11388 $x11404))) (= $x19340 $x19890))))
(let ((@x20088 (monotonicity (monotonicity @x19894 (= (not $x19340) $x19895)) @x20085 (= (or (not $x19340) (not $x19691)) $x20086))))
(let ((@x20097 (monotonicity (monotonicity (monotonicity @x20088 (= $x19700 $x20089)) (= $x19705 $x20092)) (= (not $x19705) $x20095))))
(let ((@x20103 (monotonicity (monotonicity @x20097 (= (or $x11385 (not $x19705)) $x20098)) (= $x19713 $x20101))))
(let ((@x20109 (monotonicity (monotonicity @x20103 (= $x19718 $x20104)) (= (not $x19718) $x20107))))
(let ((@x20112 (monotonicity @x20109 (= (or $x15502 $x15511 $x19724 $x19725 $x19726 $x19727 (not $x19718)) $x20110))))
(let ((@x20121 (monotonicity (monotonicity (monotonicity @x20112 (= $x19730 $x20113)) (= $x19735 $x20116)) (= (not $x19735) $x20119))))
(let ((@x20127 (monotonicity (monotonicity @x20121 (= (or $x15502 $x15505 (not $x19735)) $x20122)) (= $x19743 $x20125))))
(let ((@x20133 (monotonicity (monotonicity @x20127 (= $x19748 $x20128)) (= (not $x19748) $x20131))))
(let ((@x20139 (monotonicity (monotonicity @x20133 (= (or $x11221 (not $x19748)) $x20134)) (= $x19756 $x20137))))
(let (($x15761 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x11802 (not $x11800)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x2815 (>= ?v0 0)))
(let (($x13448 (and $x2815 $x12168 $x11802 $x10238)))
(not $x13448)))))))) :qid k!704))
))
(let (($x13442 (forall ((?v0 Int) )(! (let ((?x11816 (* (- 1) v_b_S_result_G_0$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11818 (<= (+ ?x10163 ?x11816) 0)))
(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x11802 (not $x11800)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x2815 (>= ?v0 0)))
(let (($x13433 (and $x2815 $x12168 $x11802)))
(let (($x13436 (not $x13433)))
(or $x13436 $x11818)))))))))) :qid k!704))
))
(let (($x15765 (and $x13442 $x15761)))
(let (($x16014 (not $x16009)))
(let (($x16017 (and $x15736 $x15737 $x16014)))
(let (($x16020 (not $x16017)))
(let (($x16036 (or $x16020 $x16031)))
(let (($x16039 (not $x16036)))
(let (($x16042 (or $x16039 $x15765)))
(let (($x16048 (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222 $x16042)))
(let (($x16053 (or $x15729 $x16048)))
(let (($x16059 (and $x11486 $x11429 $x11432 $x16053)))
(let (($x15648 (not $x11651)))
(let (($x13373 (forall ((?v0 Int) )(! (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11633 (<= (+ ?x10163 ?x11631) 0)))
(let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0)))
(let (($x11617 (not $x11615)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x2815 (>= ?v0 0)))
(let (($x13364 (and $x2815 $x12168 $x11617)))
(let (($x13367 (not $x13364)))
(or $x13367 $x11633)))))))))) :qid k!704))
))
(let (($x15651 (and $x13373 $x15648)))
(let (($x15876 (not $x15871)))
(let (($x15879 (and $x15626 $x15627 $x15876)))
(let (($x15882 (not $x15879)))
(let (($x15898 (or $x15882 $x15893)))
(let (($x15901 (not $x15898)))
(let (($x15904 (or $x15901 $x15651)))
(let (($x15907 (and $x11608 $x15904)))
(let (($x15910 (or $x11612 $x15907)))
(let (($x15916 (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536 $x15910)))
(let (($x15921 (or $x15611 $x15614 $x15916)))
(let (($x15959 (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536 $x15921)))
(let (($x15927 (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536 $x15921)))
(let (($x15932 (or $x15590 $x15599 $x15927)))
(let (($x15938 (and $x10321 $x10322 $x15932)))
(let (($x15943 (or $x15590 $x15593 $x15938)))
(let (($x15949 (and $x11515 $x11429 $x11432 $x15943)))
(let (($x15964 (or $x15949 $x15959)))
(let (($x15970 (and $x10321 $x10324 $x11429 $x11432 $x15964)))
(let (($x15975 (or $x15590 $x15599 $x15970)))
(let (($x15981 (and $x10321 $x10322 $x15975)))
(let (($x15986 (or $x15590 $x15593 $x15981)))
(let (($x15992 (and $x11487 $x11429 $x11432 $x15986)))
(let (($x16064 (or $x15992 $x16059)))
(let (($x13340 (forall ((?v0 Int) )(! (let ((?x11887 (* (- 1) v_b_L_H_max_G_1$)))
(let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11889 (<= (+ ?x10163 ?x11887) 0)))
(let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0)))
(let (($x11873 (not $x11871)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x2815 (>= ?v0 0)))
(let (($x13331 (and $x2815 $x12168 $x11873)))
(let (($x13334 (not $x13331)))
(or $x13334 $x11889)))))))))) :qid k!704))
))
(let (($x16070 (and $x11260 $x10167 $x11911 $x13304 $x13315 $x11901 $x13326 $x11898 $x13340 $x11868 $x10192 $x10284 $x10204 $x10097 $x10291 $x10292 $x10293 $x10294 $x10295 $x10296 $x11429 $x11432 $x16064)))
(let (($x16075 (or $x11259 $x15548 $x16070)))
(let (($x13292 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0)))
(let (($x11388 (>= ?v0 1)))
(let (($x11389 (not $x11388)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x2815 (>= ?v0 0)))
(let (($x13283 (and $x2815 $x12168 $x11389)))
(let (($x13286 (not $x13283)))
(or $x13286 $x11404))))))))) :qid k!704))
))
(let (($x16078 (and $x13292 $x16075)))
(let (($x15528 (not (and $x15523 $x15524 (not $x15525)))))
(let (($x15534 (or $x15528 $x15533)))
(let (($x15535 (not $x15534)))
(let (($x16081 (or $x15535 $x16078)))
(let (($x16084 (and $x11382 $x16081)))
(let (($x16087 (or $x11385 $x16084)))
(let (($x16093 (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148 $x16087)))
(let (($x16098 (or $x15502 $x15511 $x16093)))
(let (($x16104 (and $x10138 $x10139 $x16098)))
(let (($x16109 (or $x15502 $x15505 $x16104)))
(let (($x16112 (and $x10136 $x16109)))
(let (($x16115 (or $x11221 $x16112)))
(let (($x19664 (and $x11260 $x10167 $x11911 $x13304 $x13315 $x11901 $x13326 $x11898 $x19362 $x11868 $x10192 $x10284 $x10204 $x10097 $x10291 $x10292 $x10293 $x10294 $x10295 $x10296 $x11429 $x11432 $x19661)))
(let (($x19644 (= (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222 $x19631) $x19643)))
(let (($x19635 (= $x16048 (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222 $x19631))))
(let ((@x19612 (monotonicity (rewrite (= (and $x2815 $x12168 $x11802 $x10238) (not $x19606))) (= (not (and $x2815 $x12168 $x11802 $x10238)) (not (not $x19606))))))
(let ((@x19616 (trans @x19612 (rewrite (= (not (not $x19606)) $x19606)) (= (not (and $x2815 $x12168 $x11802 $x10238)) $x19606))))
(let ((@x19599 (rewrite (= (or (or $x3763 $x16553 $x11800) $x11818) (or $x3763 $x16553 $x11800 $x11818)))))
(let (($x13433 (and $x2815 $x12168 $x11802)))
(let (($x13436 (not $x13433)))
(let (($x13439 (or $x13436 $x11818)))
(let ((@x19589 (monotonicity (rewrite (= $x13433 (not (or $x3763 $x16553 $x11800)))) (= $x13436 (not (not (or $x3763 $x16553 $x11800)))))))
(let ((@x19593 (trans @x19589 (rewrite (= (not (not (or $x3763 $x16553 $x11800))) (or $x3763 $x16553 $x11800))) (= $x13436 (or $x3763 $x16553 $x11800)))))
(let ((@x19601 (trans (monotonicity @x19593 (= $x13439 (or (or $x3763 $x16553 $x11800) $x11818))) @x19599 (= $x13439 (or $x3763 $x16553 $x11800 $x11818)))))
(let ((@x19622 (monotonicity (quant-intro @x19601 (= $x13442 $x19602)) (quant-intro @x19616 (= $x15761 $x19617)) (= $x15765 (and $x19602 $x19617)))))
(let ((@x19567 (monotonicity (rewrite (= $x16017 (not (or $x19559 $x19560 $x16009)))) (= $x16020 (not (not (or $x19559 $x19560 $x16009)))))))
(let ((@x19571 (trans @x19567 (rewrite (= (not (not (or $x19559 $x19560 $x16009))) (or $x19559 $x19560 $x16009))) (= $x16020 (or $x19559 $x19560 $x16009)))))
(let ((@x19579 (trans (monotonicity @x19571 (= $x16036 (or (or $x19559 $x19560 $x16009) $x16031))) (rewrite (= (or (or $x19559 $x19560 $x16009) $x16031) $x19575)) (= $x16036 $x19575))))
(let ((@x19633 (monotonicity (monotonicity @x19579 (= $x16039 $x19580)) (trans @x19622 (rewrite (= (and $x19602 $x19617) $x19626)) (= $x15765 $x19626)) (= $x16042 $x19631))))
(let ((@x19650 (monotonicity (trans (monotonicity @x19633 $x19635) (rewrite $x19644) (= $x16048 $x19643)) (= $x16053 $x19648))))
(let ((@x19660 (trans (monotonicity @x19650 (= $x16059 (and $x11486 $x11429 $x11432 $x19648))) (rewrite (= (and $x11486 $x11429 $x11432 $x19648) $x19656)) (= $x16059 $x19656))))
(let ((@x19422 (trans (monotonicity (rewrite (= $x11651 $x19413)) (= $x15648 (not $x19413))) (rewrite (= (not $x19413) $x19412)) (= $x15648 $x19412))))
(let ((@x19405 (rewrite (= (or (or $x3763 $x16553 $x11615) $x11633) (or $x3763 $x16553 $x11615 $x11633)))))
(let (($x13364 (and $x2815 $x12168 $x11617)))
(let (($x13367 (not $x13364)))
(let (($x13370 (or $x13367 $x11633)))
(let ((@x19395 (monotonicity (rewrite (= $x13364 (not (or $x3763 $x16553 $x11615)))) (= $x13367 (not (not (or $x3763 $x16553 $x11615)))))))
(let ((@x19399 (trans @x19395 (rewrite (= (not (not (or $x3763 $x16553 $x11615))) (or $x3763 $x16553 $x11615))) (= $x13367 (or $x3763 $x16553 $x11615)))))
(let ((@x19407 (trans (monotonicity @x19399 (= $x13370 (or (or $x3763 $x16553 $x11615) $x11633))) @x19405 (= $x13370 (or $x3763 $x16553 $x11615 $x11633)))))
(let ((@x19425 (monotonicity (quant-intro @x19407 (= $x13373 $x19408)) @x19422 (= $x15651 (and $x19408 $x19412)))))
(let ((@x19373 (monotonicity (rewrite (= $x15879 (not (or $x19365 $x19366 $x15871)))) (= $x15882 (not (not (or $x19365 $x19366 $x15871)))))))
(let ((@x19377 (trans @x19373 (rewrite (= (not (not (or $x19365 $x19366 $x15871))) (or $x19365 $x19366 $x15871))) (= $x15882 (or $x19365 $x19366 $x15871)))))
(let ((@x19385 (trans (monotonicity @x19377 (= $x15898 (or (or $x19365 $x19366 $x15871) $x15893))) (rewrite (= (or (or $x19365 $x19366 $x15871) $x15893) $x19381)) (= $x15898 $x19381))))
(let ((@x19435 (monotonicity (monotonicity @x19385 (= $x15901 $x19386)) (trans @x19425 (rewrite (= (and $x19408 $x19412) $x19428)) (= $x15651 $x19428)) (= $x15904 $x19433))))
(let ((@x19445 (trans (monotonicity @x19435 (= $x15907 (and $x11608 $x19433))) (rewrite (= (and $x11608 $x19433) $x19441)) (= $x15907 $x19441))))
(let ((@x19451 (monotonicity (monotonicity @x19445 (= $x15910 $x19446)) (= $x15916 (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536 $x19446)))))
(let ((@x19462 (trans @x19451 (rewrite (= (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536 $x19446) $x19458)) (= $x15916 $x19458))))
(let ((@x19511 (monotonicity (monotonicity @x19462 (= $x15921 $x19463)) (= $x15959 (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536 $x19463)))))
(let ((@x19519 (trans @x19511 (rewrite (= (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536 $x19463) $x19515)) (= $x15959 $x19515))))
(let ((@x19479 (rewrite (= (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536 $x19463) $x19477))))
(let ((@x19468 (monotonicity (monotonicity @x19462 (= $x15921 $x19463)) (= $x15927 (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536 $x19463)))))
(let ((@x19487 (monotonicity (monotonicity (trans @x19468 @x19479 (= $x15927 $x19477)) (= $x15932 $x19482)) (= $x15938 (and $x10321 $x10322 $x19482)))))
(let ((@x19494 (trans @x19487 (rewrite (= (and $x10321 $x10322 $x19482) $x19490)) (= $x15938 $x19490))))
(let ((@x19500 (monotonicity (monotonicity @x19494 (= $x15943 $x19495)) (= $x15949 (and $x11515 $x11429 $x11432 $x19495)))))
(let ((@x19508 (trans @x19500 (rewrite (= (and $x11515 $x11429 $x11432 $x19495) $x19504)) (= $x15949 $x19504))))
(let ((@x19525 (monotonicity (monotonicity @x19508 @x19519 (= $x15964 $x19520)) (= $x15970 (and $x10321 $x10324 $x11429 $x11432 $x19520)))))
(let ((@x19532 (trans @x19525 (rewrite (= (and $x10321 $x10324 $x11429 $x11432 $x19520) $x19528)) (= $x15970 $x19528))))
(let ((@x19538 (monotonicity (monotonicity @x19532 (= $x15975 $x19533)) (= $x15981 (and $x10321 $x10322 $x19533)))))
(let ((@x19545 (trans @x19538 (rewrite (= (and $x10321 $x10322 $x19533) $x19541)) (= $x15981 $x19541))))
(let ((@x19551 (monotonicity (monotonicity @x19545 (= $x15986 $x19546)) (= $x15992 (and $x11487 $x11429 $x11432 $x19546)))))
(let ((@x19558 (trans @x19551 (rewrite (= (and $x11487 $x11429 $x11432 $x19546) $x19554)) (= $x15992 $x19554))))
(let ((@x19359 (rewrite (= (or (or $x3763 $x16553 $x11871) $x11889) (or $x3763 $x16553 $x11871 $x11889)))))
(let (($x13331 (and $x2815 $x12168 $x11873)))
(let (($x13334 (not $x13331)))
(let (($x13337 (or $x13334 $x11889)))
(let ((@x19349 (monotonicity (rewrite (= $x13331 (not (or $x3763 $x16553 $x11871)))) (= $x13334 (not (not (or $x3763 $x16553 $x11871)))))))
(let ((@x19353 (trans @x19349 (rewrite (= (not (not (or $x3763 $x16553 $x11871))) (or $x3763 $x16553 $x11871))) (= $x13334 (or $x3763 $x16553 $x11871)))))
(let ((@x19361 (trans (monotonicity @x19353 (= $x13337 (or (or $x3763 $x16553 $x11871) $x11889))) @x19359 (= $x13337 (or $x3763 $x16553 $x11871 $x11889)))))
(let ((@x19666 (monotonicity (quant-intro @x19361 (= $x13340 $x19362)) (monotonicity @x19558 @x19660 (= $x16064 $x19661)) (= $x16070 $x19664))))
(let ((@x19693 (monotonicity (trans @x19666 (rewrite (= $x19664 $x19686)) (= $x16070 $x19686)) (= $x16075 $x19691))))
(let ((@x19337 (rewrite (= (or (or $x3763 $x16553 $x11388) $x11404) (or $x3763 $x16553 $x11388 $x11404)))))
(let (($x13283 (and $x2815 $x12168 $x11389)))
(let (($x13286 (not $x13283)))
(let (($x13289 (or $x13286 $x11404)))
(let ((@x19327 (monotonicity (rewrite (= $x13283 (not (or $x3763 $x16553 $x11388)))) (= $x13286 (not (not (or $x3763 $x16553 $x11388)))))))
(let ((@x19331 (trans @x19327 (rewrite (= (not (not (or $x3763 $x16553 $x11388))) (or $x3763 $x16553 $x11388))) (= $x13286 (or $x3763 $x16553 $x11388)))))
(let ((@x19339 (trans (monotonicity @x19331 (= $x13289 (or (or $x3763 $x16553 $x11388) $x11404))) @x19337 (= $x13289 (or $x3763 $x16553 $x11388 $x11404)))))
(let ((@x19696 (monotonicity (quant-intro @x19339 (= $x13292 $x19340)) @x19693 (= $x16078 (and $x19340 $x19691)))))
(let ((@x19305 (monotonicity (rewrite (= (and $x15523 $x15524 (not $x15525)) (not (or $x19297 $x19298 $x15525)))) (= $x15528 (not (not (or $x19297 $x19298 $x15525)))))))
(let ((@x19309 (trans @x19305 (rewrite (= (not (not (or $x19297 $x19298 $x15525))) (or $x19297 $x19298 $x15525))) (= $x15528 (or $x19297 $x19298 $x15525)))))
(let ((@x19317 (trans (monotonicity @x19309 (= $x15534 (or (or $x19297 $x19298 $x15525) $x15533))) (rewrite (= (or (or $x19297 $x19298 $x15525) $x15533) $x19313)) (= $x15534 $x19313))))
(let ((@x19707 (monotonicity (monotonicity @x19317 (= $x15535 $x19318)) (trans @x19696 (rewrite (= (and $x19340 $x19691) $x19700)) (= $x16078 $x19700)) (= $x16081 $x19705))))
(let ((@x19717 (trans (monotonicity @x19707 (= $x16084 (and $x11382 $x19705))) (rewrite (= (and $x11382 $x19705) $x19713)) (= $x16084 $x19713))))
(let ((@x19723 (monotonicity (monotonicity @x19717 (= $x16087 $x19718)) (= $x16093 (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148 $x19718)))))
(let ((@x19734 (trans @x19723 (rewrite (= (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148 $x19718) $x19730)) (= $x16093 $x19730))))
(let ((@x19740 (monotonicity (monotonicity @x19734 (= $x16098 $x19735)) (= $x16104 (and $x10138 $x10139 $x19735)))))
(let ((@x19747 (trans @x19740 (rewrite (= (and $x10138 $x10139 $x19735) $x19743)) (= $x16104 $x19743))))
(let ((@x19753 (monotonicity (monotonicity @x19747 (= $x16109 $x19748)) (= $x16112 (and $x10136 $x19748)))))
(let ((@x19763 (monotonicity (trans @x19753 (rewrite (= (and $x10136 $x19748) $x19756)) (= $x16112 $x19756)) (= $x16115 $x19761))))
(let (($x15746 (<= (+ ?x15744 (* (- 1) v_b_S_result_G_0$)) 0)))
(let (($x15748 (not (or (not (and $x15736 $x15737 (not (>= (+ ?v0!15 ?x11246) 0)))) $x15746))))
(let (($x15769 (or $x15748 $x15765)))
(let (($x15732 (not $x11797)))
(let (($x15773 (and $x15732 $x15769)))
(let (($x15777 (or $x15729 $x15773)))
(let (($x15726 (not $x11777)))
(let (($x15781 (and $x15726 $x15777)))
(let (($x15636 (<= (+ ?x15634 (* (- 1) v_b_L_H_max_G_3$)) 0)))
(let (($x15638 (not (or (not (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0)))) $x15636))))
(let (($x15655 (or $x15638 $x15651)))
(let (($x15622 (not $x11612)))
(let (($x15659 (and $x15622 $x15655)))
(let (($x15663 (or $x11612 $x15659)))
(let (($x13358 (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536)))
(let (($x13361 (not $x13358)))
(let (($x15617 (not $x13361)))
(let (($x15667 (and $x15617 $x15663)))
(let (($x15671 (or $x15611 $x15614 $x15667)))
(let (($x15695 (not $x11730)))
(let (($x15698 (and $x15695 $x15671)))
(let (($x15608 (not $x11567)))
(let (($x15675 (and $x15608 $x15671)))
(let (($x15679 (or $x15590 $x15599 $x15675)))
(let (($x15596 (not $x11001)))
(let (($x15683 (and $x15596 $x15679)))
(let (($x15687 (or $x15590 $x15593 $x15683)))
(let (($x15605 (not $x11532)))
(let (($x15691 (and $x15605 $x15687)))
(let (($x15702 (or $x15691 $x15698)))
(let (($x15602 (not $x11512)))
(let (($x15706 (and $x15602 $x15702)))
(let (($x15710 (or $x15590 $x15599 $x15706)))
(let (($x15714 (and $x15596 $x15710)))
(let (($x15718 (or $x15590 $x15593 $x15714)))
(let (($x15587 (not $x11501)))
(let (($x15722 (and $x15587 $x15718)))
(let (($x15785 (or $x15722 $x15781)))
(let (($x15584 (not $x11481)))
(let (($x13343 (and $x11260 $x10167 $x11911 $x13304 $x13315 $x11901 $x13326 $x11898 $x13340 $x11868 $x10192 $x11429 $x11432)))
(let (($x15789 (and $x13343 $x15584 $x15785)))
(let (($x15545 (not $x11260)))
(let (($x15793 (or $x15545 $x15548 $x15789)))
(let (($x15797 (and $x13292 $x15793)))
(let (($x15801 (or $x15535 $x15797)))
(let (($x15519 (not $x11385)))
(let (($x15805 (and $x15519 $x15801)))
(let (($x15809 (or $x11385 $x15805)))
(let (($x15514 (not $x11379)))
(let (($x15813 (and $x15514 $x15809)))
(let (($x15817 (or $x15502 $x15511 $x15813)))
(let (($x15508 (not $x11209)))
(let (($x15821 (and $x15508 $x15817)))
(let (($x15825 (or $x15502 $x15505 $x15821)))
(let (($x15499 (not $x11221)))
(let (($x15829 (and $x15499 $x15825)))
(let (($x15833 (or $x11221 $x15829)))
(let (($x16037 (= (or (not (and $x15736 $x15737 (not (>= (+ ?v0!15 ?x11246) 0)))) $x15746) $x16036)))
(let (($x16024 (= (+ ?x15744 (* (- 1) v_b_S_result_G_0$)) (+ (* (- 1) v_b_S_result_G_0$) ?x15744))))
(let ((@x16028 (monotonicity (rewrite $x16024) (= $x15746 (<= (+ (* (- 1) v_b_S_result_G_0$) ?x15744) 0)))))
(let ((@x16035 (trans @x16028 (rewrite (= (<= (+ (* (- 1) v_b_S_result_G_0$) ?x15744) 0) $x16031)) (= $x15746 $x16031))))
(let ((@x16006 (monotonicity (rewrite (= (+ ?v0!15 ?x11246) (+ ?x11246 ?v0!15))) (= (>= (+ ?v0!15 ?x11246) 0) (>= (+ ?x11246 ?v0!15) 0)))))
(let ((@x16013 (trans @x16006 (rewrite (= (>= (+ ?x11246 ?v0!15) 0) $x16009)) (= (>= (+ ?v0!15 ?x11246) 0) $x16009))))
(let ((@x16019 (monotonicity (monotonicity @x16013 (= (not (>= (+ ?v0!15 ?x11246) 0)) $x16014)) (= (and $x15736 $x15737 (not (>= (+ ?v0!15 ?x11246) 0))) $x16017))))
(let ((@x16022 (monotonicity @x16019 (= (not (and $x15736 $x15737 (not (>= (+ ?v0!15 ?x11246) 0)))) $x16020))))
(let ((@x16044 (monotonicity (monotonicity (monotonicity @x16022 @x16035 $x16037) (= $x15748 $x16039)) (= $x15769 $x16042))))
(let ((@x16047 (monotonicity (rewrite (= $x15732 $x11792)) @x16044 (= $x15773 (and $x11792 $x16042)))))
(let ((@x16055 (monotonicity (trans @x16047 (rewrite (= (and $x11792 $x16042) $x16048)) (= $x15773 $x16048)) (= $x15777 $x16053))))
(let ((@x16058 (monotonicity (rewrite (= $x15726 $x11772)) @x16055 (= $x15781 (and $x11772 $x16053)))))
(let (($x15899 (= (or (not (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0)))) $x15636) $x15898)))
(let (($x15886 (= (+ ?x15634 (* (- 1) v_b_L_H_max_G_3$)) (+ (* (- 1) v_b_L_H_max_G_3$) ?x15634))))
(let ((@x15890 (monotonicity (rewrite $x15886) (= $x15636 (<= (+ (* (- 1) v_b_L_H_max_G_3$) ?x15634) 0)))))
(let ((@x15897 (trans @x15890 (rewrite (= (<= (+ (* (- 1) v_b_L_H_max_G_3$) ?x15634) 0) $x15893)) (= $x15636 $x15893))))
(let ((@x15868 (monotonicity (rewrite (= (+ ?v0!14 ?x11581) (+ ?x11581 ?v0!14))) (= (>= (+ ?v0!14 ?x11581) 0) (>= (+ ?x11581 ?v0!14) 0)))))
(let ((@x15875 (trans @x15868 (rewrite (= (>= (+ ?x11581 ?v0!14) 0) $x15871)) (= (>= (+ ?v0!14 ?x11581) 0) $x15871))))
(let ((@x15881 (monotonicity (monotonicity @x15875 (= (not (>= (+ ?v0!14 ?x11581) 0)) $x15876)) (= (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0))) $x15879))))
(let ((@x15884 (monotonicity @x15881 (= (not (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0)))) $x15882))))
(let ((@x15906 (monotonicity (monotonicity (monotonicity @x15884 @x15897 $x15899) (= $x15638 $x15901)) (= $x15655 $x15904))))
(let ((@x15912 (monotonicity (monotonicity (rewrite (= $x15622 $x11608)) @x15906 (= $x15659 $x15907)) (= $x15663 $x15910))))
(let ((@x15915 (monotonicity (rewrite (= $x15617 $x13358)) @x15912 (= $x15667 (and $x13358 $x15910)))))
(let ((@x15923 (monotonicity (trans @x15915 (rewrite (= (and $x13358 $x15910) $x15916)) (= $x15667 $x15916)) (= $x15671 $x15921))))
(let ((@x15958 (monotonicity (rewrite (= $x15695 $x11725)) @x15923 (= $x15698 (and $x11725 $x15921)))))
(let ((@x15926 (monotonicity (rewrite (= $x15608 $x11562)) @x15923 (= $x15675 (and $x11562 $x15921)))))
(let ((@x15934 (monotonicity (trans @x15926 (rewrite (= (and $x11562 $x15921) $x15927)) (= $x15675 $x15927)) (= $x15679 $x15932))))
(let ((@x15937 (monotonicity (rewrite (= $x15596 $x10323)) @x15934 (= $x15683 (and $x10323 $x15932)))))
(let ((@x15945 (monotonicity (trans @x15937 (rewrite (= (and $x10323 $x15932) $x15938)) (= $x15683 $x15938)) (= $x15687 $x15943))))
(let ((@x15948 (monotonicity (rewrite (= $x15605 $x11527)) @x15945 (= $x15691 (and $x11527 $x15943)))))
(let ((@x15966 (monotonicity (trans @x15948 (rewrite (= (and $x11527 $x15943) $x15949)) (= $x15691 $x15949)) (trans @x15958 (rewrite (= (and $x11725 $x15921) $x15959)) (= $x15698 $x15959)) (= $x15702 $x15964))))
(let ((@x15969 (monotonicity (rewrite (= $x15602 $x11507)) @x15966 (= $x15706 (and $x11507 $x15964)))))
(let ((@x15977 (monotonicity (trans @x15969 (rewrite (= (and $x11507 $x15964) $x15970)) (= $x15706 $x15970)) (= $x15710 $x15975))))
(let ((@x15980 (monotonicity (rewrite (= $x15596 $x10323)) @x15977 (= $x15714 (and $x10323 $x15975)))))
(let ((@x15988 (monotonicity (trans @x15980 (rewrite (= (and $x10323 $x15975) $x15981)) (= $x15714 $x15981)) (= $x15718 $x15986))))
(let ((@x15991 (monotonicity (rewrite (= $x15587 $x11496)) @x15988 (= $x15722 (and $x11496 $x15986)))))
(let ((@x16066 (monotonicity (trans @x15991 (rewrite (= (and $x11496 $x15986) $x15992)) (= $x15722 $x15992)) (trans @x16058 (rewrite (= (and $x11772 $x16053) $x16059)) (= $x15781 $x16059)) (= $x15785 $x16064))))
(let ((@x16069 (monotonicity (rewrite (= $x15584 $x11476)) @x16066 (= $x15789 (and $x13343 $x11476 $x16064)))))
(let ((@x16074 (trans @x16069 (rewrite (= (and $x13343 $x11476 $x16064) $x16070)) (= $x15789 $x16070))))
(let ((@x16080 (monotonicity (monotonicity (rewrite (= $x15545 $x11259)) @x16074 (= $x15793 $x16075)) (= $x15797 $x16078))))
(let ((@x16086 (monotonicity (rewrite (= $x15519 $x11382)) (monotonicity @x16080 (= $x15801 $x16081)) (= $x15805 $x16084))))
(let ((@x16092 (monotonicity (rewrite (= $x15514 $x11374)) (monotonicity @x16086 (= $x15809 $x16087)) (= $x15813 (and $x11374 $x16087)))))
(let ((@x16100 (monotonicity (trans @x16092 (rewrite (= (and $x11374 $x16087) $x16093)) (= $x15813 $x16093)) (= $x15817 $x16098))))
(let ((@x16103 (monotonicity (rewrite (= $x15508 $x10140)) @x16100 (= $x15821 (and $x10140 $x16098)))))
(let ((@x16111 (monotonicity (trans @x16103 (rewrite (= (and $x10140 $x16098) $x16104)) (= $x15821 $x16104)) (= $x15825 $x16109))))
(let ((@x16117 (monotonicity (monotonicity (rewrite (= $x15499 $x10136)) @x16111 (= $x15829 $x16112)) (= $x15833 $x16115))))
(let (($x13451 (exists ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$))))
(let (($x10238 (= ?x10163 v_b_S_result_G_0$)))
(let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0)))
(let (($x11802 (not $x11800)))
(let (($x12168 (<= ?v0 4294967295)))
(let (($x2815 (>= ?v0 0)))
(and $x2815 $x12168 $x11802 $x10238))))))) :qid k!704))
))
(let (($x13445 (not $x13442)))
(let (($x13454 (or $x13445 $x13451)))
(let (($x13457 (and $x13442 $x13454)))
(let (($x13460 (or $x11797 $x13457)))
(let (($x13463 (and b_S_position_n_marker$ $x13460)))
(let (($x13466 (or $x11777 $x13463)))
(let (($x13376 (not $x13373)))
(let (($x13379 (or $x13376 $x11651)))
(let (($x13382 (and $x13373 $x13379)))
(let (($x13385 (or $x11612 $x13382)))
(let (($x13388 (and $x11608 $x13385)))
(let (($x13391 (or $x13361 $x13388)))
(let (($x13394 (and $x11570 $x13353 $x13391)))
(let (($x13412 (or $x11730 $x13394)))
(let (($x13397 (or $x11567 $x13394)))
(let (($x13400 (and $x10321 $x10324 $x13397)))
(let (($x13403 (or $x11001 $x13400)))
(let (($x13406 (and $x10321 $x10322 $x13403)))
(let (($x13409 (or $x11532 $x13406)))
(let (($x13415 (and $x13409 $x13412)))
(let (($x13418 (or $x11512 $x13415)))
(let (($x13421 (and $x10321 $x10324 $x13418)))
(let (($x13424 (or $x11001 $x13421)))
(let (($x13427 (and $x10321 $x10322 $x13424)))
(let (($x13430 (or $x11501 $x13427)))
(let (($x13469 (and $x13430 $x13466)))
(let (($x13346 (not $x13343)))
(let (($x13472 (or $x13346 $x11481 $x13469)))
(let (($x13475 (and $x11260 $x10167 $x13472)))
(let (($x13295 (not $x13292)))
(let (($x13478 (or $x13295 $x13475)))
(let (($x13481 (and $x13292 $x13478)))
(let (($x13484 (or $x11385 $x13481)))
(let (($x13487 (and $x11382 $x13484)))
(let (($x13490 (or $x11379 $x13487)))
(let (($x13493 (and $x10138 $x10141 $x13490)))
(let (($x13496 (or $x11209 $x13493)))
(let (($x13499 (and $x10138 $x10139 $x13496)))
(let (($x13502 (or $x11221 $x13499)))
(let (($x13508 (not (and $x10136 $x13502))))
(let ((@x15760 (refl (~ (not (and $x2815 $x12168 $x11802 $x10238)) (not (and $x2815 $x12168 $x11802 $x10238))))))
(let ((@x15757 (nnf-neg (nnf-pos (refl (~ $x13439 $x13439)) (~ $x13442 $x13442)) (~ (not $x13445) $x13442))))
(let ((@x15768 (nnf-neg @x15757 (nnf-neg @x15760 (~ (not $x13451) $x15761)) (~ (not $x13454) $x15765))))
(let ((@x15776 (nnf-neg (refl (~ $x15732 $x15732)) (nnf-neg (sk (~ $x13445 $x15748)) @x15768 (~ (not $x13457) $x15769)) (~ (not $x13460) $x15773))))
(let ((@x15784 (nnf-neg (refl (~ $x15726 $x15726)) (nnf-neg (refl (~ $x15729 $x15729)) @x15776 (~ (not $x13463) $x15777)) (~ (not $x13466) $x15781))))
(let ((@x15647 (nnf-neg (nnf-pos (refl (~ $x13370 $x13370)) (~ $x13373 $x13373)) (~ (not $x13376) $x13373))))
(let ((@x15658 (nnf-neg (sk (~ $x13376 $x15638)) (nnf-neg @x15647 (refl (~ $x15648 $x15648)) (~ (not $x13379) $x15651)) (~ (not $x13382) $x15655))))
(let ((@x15666 (nnf-neg (refl (~ $x11612 $x11612)) (nnf-neg (refl (~ $x15622 $x15622)) @x15658 (~ (not $x13385) $x15659)) (~ (not $x13388) $x15663))))
(let ((@x15674 (nnf-neg (refl (~ $x15611 $x15611)) (refl (~ $x15614 $x15614)) (nnf-neg (refl (~ $x15617 $x15617)) @x15666 (~ (not $x13391) $x15667)) (~ (not $x13394) $x15671))))
(let ((@x15592 (refl (~ $x15590 $x15590))))
(let ((@x15682 (nnf-neg @x15592 (refl (~ $x15599 $x15599)) (nnf-neg (refl (~ $x15608 $x15608)) @x15674 (~ (not $x13397) $x15675)) (~ (not $x13400) $x15679))))
(let ((@x15690 (nnf-neg @x15592 (refl (~ $x15593 $x15593)) (nnf-neg (refl (~ $x15596 $x15596)) @x15682 (~ (not $x13403) $x15683)) (~ (not $x13406) $x15687))))
(let ((@x15705 (nnf-neg (nnf-neg (refl (~ $x15605 $x15605)) @x15690 (~ (not $x13409) $x15691)) (nnf-neg (refl (~ $x15695 $x15695)) @x15674 (~ (not $x13412) $x15698)) (~ (not $x13415) $x15702))))
(let ((@x15713 (nnf-neg @x15592 (refl (~ $x15599 $x15599)) (nnf-neg (refl (~ $x15602 $x15602)) @x15705 (~ (not $x13418) $x15706)) (~ (not $x13421) $x15710))))
(let ((@x15721 (nnf-neg @x15592 (refl (~ $x15593 $x15593)) (nnf-neg (refl (~ $x15596 $x15596)) @x15713 (~ (not $x13424) $x15714)) (~ (not $x13427) $x15718))))
(let ((@x15788 (nnf-neg (nnf-neg (refl (~ $x15587 $x15587)) @x15721 (~ (not $x13430) $x15722)) @x15784 (~ (not $x13469) $x15785))))
(let ((@x15580 (monotonicity (refl (~ $x11260 $x11260)) (refl (~ $x10167 $x10167)) (refl (~ $x11911 $x11911)) (refl (~ $x13304 $x13304)) (refl (~ $x13315 $x13315)) (refl (~ $x11901 $x11901)) (refl (~ $x13326 $x13326)) (refl (~ $x11898 $x11898)) (nnf-pos (refl (~ $x13337 $x13337)) (~ $x13340 $x13340)) (refl (~ $x11868 $x11868)) (refl (~ $x10192 $x10192)) (refl (~ $x11429 $x11429)) (refl (~ $x11432 $x11432)) (~ $x13343 $x13343))))
(let ((@x15792 (nnf-neg (nnf-neg @x15580 (~ (not $x13346) $x13343)) (refl (~ $x15584 $x15584)) @x15788 (~ (not $x13472) $x15789))))
(let ((@x15796 (nnf-neg (refl (~ $x15545 $x15545)) (refl (~ $x15548 $x15548)) @x15792 (~ (not $x13475) $x15793))))
(let ((@x15544 (nnf-neg (nnf-pos (refl (~ $x13289 $x13289)) (~ $x13292 $x13292)) (~ (not $x13295) $x13292))))
(let ((@x15804 (nnf-neg (sk (~ $x13295 $x15535)) (nnf-neg @x15544 @x15796 (~ (not $x13478) $x15797)) (~ (not $x13481) $x15801))))
(let ((@x15812 (nnf-neg (refl (~ $x11385 $x11385)) (nnf-neg (refl (~ $x15519 $x15519)) @x15804 (~ (not $x13484) $x15805)) (~ (not $x13487) $x15809))))
(let ((@x15820 (nnf-neg (refl (~ $x15502 $x15502)) (refl (~ $x15511 $x15511)) (nnf-neg (refl (~ $x15514 $x15514)) @x15812 (~ (not $x13490) $x15813)) (~ (not $x13493) $x15817))))
(let ((@x15828 (nnf-neg (refl (~ $x15502 $x15502)) (refl (~ $x15505 $x15505)) (nnf-neg (refl (~ $x15508 $x15508)) @x15820 (~ (not $x13496) $x15821)) (~ (not $x13499) $x15825))))
(let ((@x15835 (nnf-neg (refl (~ $x11221 $x11221)) (nnf-neg (refl (~ $x15499 $x15499)) @x15828 (~ (not $x13502) $x15829)) (~ $x13508 $x15833))))
(let (($x6441 (= b_S_max_o_u4$ 4294967295)))
(let ((@x6435 (monotonicity (rewrite (= (* 65536 65536) 4294967296)) (= (- (* 65536 65536) 1) (- 4294967296 1)))))
(let ((@x6440 (trans @x6435 (rewrite (= (- 4294967296 1) 4294967295)) (= (- (* 65536 65536) 1) 4294967295))))
(let ((@x6443 (monotonicity @x6440 (= (= b_S_max_o_u4$ (- (* 65536 65536) 1)) $x6441))))
(let ((@x6446 (mp (asserted (= b_S_max_o_u4$ (- (* 65536 65536) 1))) @x6443 $x6441)))
(let ((@x12140 (trans (monotonicity @x6446 (= ?x3113 (* (- 1) 4294967295))) (rewrite (= (* (- 1) 4294967295) (- 4294967295))) (= ?x3113 (- 4294967295)))))
(let ((@x12164 (trans (monotonicity @x12140 (= ?x3114 (+ ?0 (- 4294967295)))) (rewrite (= (+ ?0 (- 4294967295)) (+ (- 4294967295) ?0))) (= ?x3114 (+ (- 4294967295) ?0)))))
(let ((@x12172 (trans (monotonicity @x12164 (= $x3115 (<= (+ (- 4294967295) ?0) 0))) (rewrite (= (<= (+ (- 4294967295) ?0) 0) $x12168)) (= $x3115 $x12168))))
(let ((@x13453 (quant-intro (monotonicity @x12172 (= $x11839 (and $x2815 $x12168 $x11802 $x10238))) (= $x11844 $x13451))))
(let ((@x13441 (monotonicity (monotonicity (monotonicity @x12172 (= $x11808 $x13433)) (= $x11813 $x13436)) (= $x11821 $x13439))))
(let ((@x13456 (monotonicity (monotonicity (quant-intro @x13441 (= $x11824 $x13442)) (= $x11827 $x13445)) @x13453 (= $x11847 $x13454))))
(let ((@x13462 (monotonicity (monotonicity (quant-intro @x13441 (= $x11824 $x13442)) @x13456 (= $x11850 $x13457)) (= $x11853 $x13460))))
(let ((@x13372 (monotonicity (monotonicity (monotonicity @x12172 (= $x11623 $x13364)) (= $x11628 $x13367)) (= $x11636 $x13370))))
(let ((@x13381 (monotonicity (monotonicity (quant-intro @x13372 (= $x11639 $x13373)) (= $x11642 $x13376)) (= $x11654 $x13379))))
(let ((@x13387 (monotonicity (monotonicity (quant-intro @x13372 (= $x11639 $x13373)) @x13381 (= $x11657 $x13382)) (= $x11660 $x13385))))
(let ((@x13351 (monotonicity (monotonicity @x6446 (= ?x11574 (+ 4294967295 ?x11484))) (= $x11573 (>= (+ 4294967295 ?x11484) 1)))))
(let ((@x13357 (trans @x13351 (rewrite (= (>= (+ 4294967295 ?x11484) 1) $x13353)) (= $x11573 $x13353))))
(let ((@x13393 (monotonicity (monotonicity (monotonicity @x13357 (= $x11600 $x13358)) (= $x11605 $x13361)) (monotonicity @x13387 (= $x11663 $x13388)) (= $x11666 $x13391))))
(let ((@x13414 (monotonicity (monotonicity @x13357 @x13393 (= $x11672 $x13394)) (= $x11733 $x13412))))
(let ((@x13399 (monotonicity (monotonicity @x13357 @x13393 (= $x11672 $x13394)) (= $x11677 $x13397))))
(let ((@x13408 (monotonicity (monotonicity (monotonicity @x13399 (= $x11683 $x13400)) (= $x11688 $x13403)) (= $x11694 $x13406))))
(let ((@x13417 (monotonicity (monotonicity @x13408 (= $x11699 $x13409)) @x13414 (= $x11736 $x13415))))
(let ((@x13426 (monotonicity (monotonicity (monotonicity @x13417 (= $x11739 $x13418)) (= $x11745 $x13421)) (= $x11750 $x13424))))
(let ((@x13471 (monotonicity (monotonicity (monotonicity @x13426 (= $x11756 $x13427)) (= $x11761 $x13430)) (monotonicity (monotonicity @x13462 (= $x11856 $x13463)) (= $x11859 $x13466)) (= $x11862 $x13469))))
(let ((@x13339 (monotonicity (monotonicity (monotonicity @x12172 (= $x11879 $x13331)) (= $x11884 $x13334)) (= $x11892 $x13337))))
(let ((@x13325 (monotonicity (monotonicity @x6446 (= ?x11574 (+ 4294967295 ?x11484))) (= $x11904 (>= (+ 4294967295 ?x11484) 0)))))
(let ((@x13330 (trans @x13325 (rewrite (= (>= (+ 4294967295 ?x11484) 0) $x13326)) (= $x11904 $x13326))))
(let ((@x13317 (rewrite (= (>= (+ 4294967295 (* (- 1) v_b_SL_H_witness_G_0$)) 0) $x13315))))
(let (($x13310 (= (+ b_S_max_o_u4$ (* (- 1) v_b_SL_H_witness_G_0$)) (+ 4294967295 (* (- 1) v_b_SL_H_witness_G_0$)))))
(let ((@x13314 (monotonicity (monotonicity @x6446 $x13310) (= $x11907 (>= (+ 4294967295 (* (- 1) v_b_SL_H_witness_G_0$)) 0)))))
(let (($x13299 (= (+ b_S_max_o_u1$ (* (- 1) v_b_L_H_max_G_1$)) (+ 255 (* (- 1) v_b_L_H_max_G_1$)))))
(let (($x6449 (= b_S_max_o_u1$ 255)))
(let ((@x6450 (asserted $x6449)))
(let ((@x13303 (monotonicity (monotonicity @x6450 $x13299) (= $x11914 (>= (+ 255 (* (- 1) v_b_L_H_max_G_1$)) 0)))))
(let ((@x13308 (trans @x13303 (rewrite (= (>= (+ 255 (* (- 1) v_b_L_H_max_G_1$)) 0) $x13304)) (= $x11914 $x13304))))
(let ((@x13345 (monotonicity @x13308 (trans @x13314 @x13317 (= $x11907 $x13315)) @x13330 (quant-intro @x13339 (= $x11895 $x13340)) (= $x11957 $x13343))))
(let ((@x13474 (monotonicity (monotonicity @x13345 (= $x11962 $x13346)) @x13471 (= $x11971 $x13472))))
(let ((@x13291 (monotonicity (monotonicity (monotonicity @x12172 (= $x11395 $x13283)) (= $x11400 $x13286)) (= $x11408 $x13289))))
(let ((@x13480 (monotonicity (monotonicity (quant-intro @x13291 (= $x11411 $x13292)) (= $x11414 $x13295)) (monotonicity @x13474 (= $x11979 $x13475)) (= $x11984 $x13478))))
(let ((@x13486 (monotonicity (monotonicity (quant-intro @x13291 (= $x11411 $x13292)) @x13480 (= $x11987 $x13481)) (= $x11990 $x13484))))
(let ((@x13495 (monotonicity (monotonicity (monotonicity @x13486 (= $x11993 $x13487)) (= $x11996 $x13490)) (= $x12002 $x13493))))
(let ((@x13504 (monotonicity (monotonicity (monotonicity @x13495 (= $x12007 $x13496)) (= $x12013 $x13499)) (= $x12018 $x13502))))
(let ((@x13510 (monotonicity (monotonicity @x13504 (= $x12021 (and $x10136 $x13502))) (= (not $x12021) $x13508))))
(let ((@x13511 (mp (not-or-elim (mp (asserted $x10434) @x12031 $x12027) (not $x12021)) @x13510 $x13508)))
(let ((@x20143 (mp (mp (mp (mp~ @x13511 @x15835 $x15833) @x16117 $x16115) @x19763 $x19761) (monotonicity @x20139 (= $x19761 $x20140)) $x20140)))
(let ((@x24003 (unit-resolution (def-axiom (or $x20134 $x20128)) (unit-resolution @x20143 @x22508 $x20137) $x20128)))
(let ((?x22514 (b_S_typ$ ?x10137)))
(let (($x22515 (= ?x22514 b_T_T_u1$)))
(let ((?x21175 (b_S_typ$ ?x10078)))
(let (($x21176 (= ?x21175 b_T_T_u1$)))
(let (($x21181 (or $x21147 $x21176)))
(let ((@x21182 ((_ quant-inst b_T_T_u1$ v_b_P_H_arr$) $x21181)))
(let ((?x22553 (b_S_ptr$ b_T_T_u1$ ?x10079)))
(let (($x22556 (= ?x10137 ?x22553)))
(let (($x22559 (not $x22556)))
(let (($x22523 (b_S_extent_n_hint$ ?x10137 ?x10078)))
(let (($x22524 (not $x22523)))
(let (($x22562 (or $x22524 $x22559)))
(let (($x22565 (not $x22562)))
(let (($x18180 (forall ((?v0 B_S_ptr$) (?v1 Int) (?v2 B_S_ctype$) )(! (let ((?x7205 (b_S_idx$ ?v0 ?v1 ?v2)))
(let (($x7213 (= ?x7205 (b_S_ptr$ ?v2 (+ (b_S_ref$ ?v0) (* ?v1 (b_S_sizeof$ ?v2)))))))
(not (or (not (b_S_extent_n_hint$ ?x7205 ?v0)) (not $x7213))))) :pattern ( (b_S_idx$ ?v0 ?v1 ?v2) ) :qid k!499))
))
(let (($x7216 (forall ((?v0 B_S_ptr$) (?v1 Int) (?v2 B_S_ctype$) )(! (let ((?x7205 (b_S_idx$ ?v0 ?v1 ?v2)))
(let (($x7213 (= ?x7205 (b_S_ptr$ ?v2 (+ (b_S_ref$ ?v0) (* ?v1 (b_S_sizeof$ ?v2)))))))
(and (b_S_extent_n_hint$ ?x7205 ?v0) $x7213))) :pattern ( (b_S_idx$ ?v0 ?v1 ?v2) ) :qid k!499))
))
(let ((?x7205 (b_S_idx$ ?2 ?1 ?0)))
(let (($x7213 (= ?x7205 (b_S_ptr$ ?0 (+ (b_S_ref$ ?2) (* ?1 (b_S_sizeof$ ?0)))))))
(let (($x7214 (and (b_S_extent_n_hint$ ?x7205 ?2) $x7213)))
(let ((@x18179 (rewrite (= $x7214 (not (or (not (b_S_extent_n_hint$ ?x7205 ?2)) (not $x7213)))))))
(let ((@x14561 (mp~ (asserted $x7216) (nnf-pos (refl (~ $x7214 $x7214)) (~ $x7216 $x7216)) $x7216)))
(let ((@x18183 (mp @x14561 (quant-intro @x18179 (= $x7216 $x18180)) $x18180)))
(let (($x22568 (not $x18180)))
(let (($x22569 (or $x22568 $x22565)))
(let ((?x10045 (b_S_sizeof$ b_T_T_u1$)))
(let ((?x22537 (* 0 ?x10045)))
(let ((?x22538 (+ ?x10079 ?x22537)))
(let ((?x22539 (b_S_ptr$ b_T_T_u1$ ?x22538)))
(let (($x22540 (= ?x10137 ?x22539)))
(let (($x22541 (not $x22540)))
(let (($x22542 (or $x22524 $x22541)))
(let (($x22543 (not $x22542)))
(let ((@x22552 (trans (monotonicity (rewrite (= ?x22537 0)) (= ?x22538 (+ ?x10079 0))) (rewrite (= (+ ?x10079 0) ?x10079)) (= ?x22538 ?x10079))))
(let ((@x22561 (monotonicity (monotonicity (monotonicity @x22552 (= ?x22539 ?x22553)) (= $x22540 $x22556)) (= $x22541 $x22559))))
(let ((@x22573 (monotonicity (monotonicity (monotonicity @x22561 (= $x22542 $x22562)) (= $x22543 $x22565)) (= (or $x22568 $x22543) $x22569))))
(let ((@x22577 (mp ((_ quant-inst (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) 0 b_T_T_u1$) (or $x22568 $x22543)) (trans @x22573 (rewrite (= $x22569 $x22569)) (= (or $x22568 $x22543) $x22569)) $x22569)))
(let ((@x23444 (unit-resolution (def-axiom (or $x22562 $x22556)) (unit-resolution @x22577 @x18183 $x22565) $x22556)))
(let ((@x22640 (monotonicity (trans @x23444 (monotonicity @x23445 (= ?x22553 ?x10078)) (= ?x10137 ?x10078)) (= ?x22514 ?x21175))))
(let (($x22526 (not $x22515)))
(let (($x22522 (= $x10138 $x22515)))
(let (($x19828 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (let ((?x6636 (b_S_typ$ ?v0)))
(let (($x7865 (= ?x6636 ?v1)))
(let (($x9596 (b_S_is$ ?v0 ?v1)))
(= $x9596 $x7865)))) :pattern ( (b_S_is$ ?v0 ?v1) ) :qid k!623))
))
(let (($x9617 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (let ((?x6636 (b_S_typ$ ?v0)))
(let (($x7865 (= ?x6636 ?v1)))
(let (($x9596 (b_S_is$ ?v0 ?v1)))
(= $x9596 $x7865)))) :qid k!623))
))
(let ((?x6636 (b_S_typ$ ?1)))
(let (($x7865 (= ?x6636 ?0)))
(let (($x9596 (b_S_is$ ?1 ?0)))
(let (($x9614 (= $x9596 $x7865)))
(let (($x9611 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (let ((?x6636 (b_S_typ$ ?v0)))
(let (($x7865 (= ?x6636 ?v1)))
(let (($x9596 (b_S_is$ ?v0 ?v1)))
(= $x9596 $x7865)))) :qid k!623))
))
(let ((@x9622 (mp (asserted $x9611) (quant-intro (rewrite (= (= $x9596 $x7865) $x9614)) (= $x9611 $x9617)) $x9617)))
(let ((@x19833 (mp (mp~ @x9622 (nnf-pos (refl (~ $x9614 $x9614)) (~ $x9617 $x9617)) $x9617) (quant-intro (refl (= $x9614 $x9614)) (= $x9617 $x19828)) $x19828)))
(let (($x22002 (not $x19828)))
(let (($x22619 (or $x22002 $x22522)))
(let ((@x22534 ((_ quant-inst (b_S_idx$ ?x10078 0 b_T_T_u1$) b_T_T_u1$) $x22619)))
(let ((@x22471 (unit-resolution (def-axiom (or (not $x22522) $x10138 $x22526)) (hypothesis $x15502) (or (not $x22522) $x22526))))
(let ((@x22636 (unit-resolution (unit-resolution @x22471 (unit-resolution @x22534 @x19833 $x22522) $x22526) (trans @x22640 (unit-resolution @x21182 @x19846 $x21176) $x22515) false)))
(let ((@x23411 (lemma @x22636 $x10138)))
(let ((@x23982 (unit-resolution (def-axiom (or $x20131 $x15502 $x15505 $x20125)) @x23411 @x24003 (or $x15505 $x20125))))
(let ((@x23983 (unit-resolution @x23982 (unit-resolution (def-axiom (or $x22603 $x10139)) (lemma @x24453 $x22604) $x10139) $x20125)))
(let ((?x22805 (b_S_ts_n_emb$ ?x22478)))
(let ((?x22433 (b_S_owner$ v_b_S_s$ ?x22805)))
(let (($x22451 (= ?x22433 b_S_me$)))
(let ((?x22485 (b_S_ref$ ?x10137)))
(let ((?x22505 (b_S_ptr$ b_T_T_u1$ ?x22485)))
(let (($x22506 (= ?x10137 ?x22505)))
(let (($x24124 (or $x21994 $x15502 $x22506)))
(let ((@x24271 (mp ((_ quant-inst (b_S_idx$ ?x10078 0 b_T_T_u1$) b_T_T_u1$) (or $x21994 (or $x15502 $x22506))) (rewrite (= (or $x21994 (or $x15502 $x22506)) $x24124)) $x24124)))
(let ((@x23969 (unit-resolution @x24271 @x15336 @x23411 $x22506)))
(let ((?x23622 (b_S_ref$ ?x21983)))
(let ((?x23636 (b_S_ptr$ b_T_T_u1$ ?x23622)))
(let ((?x23613 (b_S_idx$ ?x21983 0 b_T_T_u1$)))
(let (($x23639 (= ?x23613 ?x23636)))
(let (($x23642 (not $x23639)))
(let (($x23614 (b_S_extent_n_hint$ ?x23613 ?x21983)))
(let (($x23621 (not $x23614)))
(let (($x23645 (or $x23621 $x23642)))
(let (($x23648 (not $x23645)))
(let (($x23651 (or $x22568 $x23648)))
(let (($x23628 (not (or $x23621 (not (= ?x23613 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537))))))))
(let (($x23646 (= (or $x23621 (not (= ?x23613 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537))))) $x23645)))
(let ((@x22545 (rewrite (= ?x22537 0))))
(let ((@x23635 (trans (monotonicity @x22545 (= (+ ?x23622 ?x22537) (+ ?x23622 0))) (rewrite (= (+ ?x23622 0) ?x23622)) (= (+ ?x23622 ?x22537) ?x23622))))
(let ((@x23641 (monotonicity (monotonicity @x23635 (= (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537)) ?x23636)) (= (= ?x23613 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537))) $x23639))))
(let ((@x23644 (monotonicity @x23641 (= (not (= ?x23613 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537)))) $x23642))))
(let ((@x23655 (monotonicity (monotonicity (monotonicity @x23644 $x23646) (= $x23628 $x23648)) (= (or $x22568 $x23628) $x23651))))
(let ((@x23659 (mp ((_ quant-inst (b_S_ptr$ ?x10076 ?x21014) 0 b_T_T_u1$) (or $x22568 $x23628)) (trans @x23655 (rewrite (= $x23651 $x23651)) (= (or $x22568 $x23628) $x23651)) $x23651)))
(let ((@x23663 (def-axiom (or $x23645 $x23639))))
(let ((@x24001 (unit-resolution @x23663 (lemma (unit-resolution @x23659 @x18183 (hypothesis $x23645) false) $x23648) $x23639)))
(let ((?x23546 (b_S_idx$ ?x22595 0 b_T_T_u1$)))
(let ((?x23547 (b_S_select_o_tm$ ?x10272 ?x23546)))
(let ((?x23548 (b_S_ts_n_emb$ ?x23547)))
(let (($x23549 (= ?x23548 ?x22595)))
(let (($x23554 (b_S_typed$ v_b_S_s$ ?x23546)))
(let (($x23555 (not $x23554)))
(let (($x23551 (b_S_ts_n_is_n_volatile$ ?x23547)))
(let (($x23550 (not $x23549)))
(let (($x23556 (or $x23550 $x23551 (not (b_S_ts_n_is_n_array_n_elt$ ?x23547)) $x23555)))
(let (($x23557 (not $x23556)))
(let (($x23538 (b_S_typed$ v_b_S_s$ ?x22595)))
(let ((@x23606 (mp @x12045 (symm (monotonicity @x23680 (= $x23538 $x10085)) (= $x10085 $x23538)) $x23538)))
(let ((@x23608 (lemma (unit-resolution (hypothesis (not $x23538)) @x23606 false) $x23538)))
(let (($x17964 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ctype$) (?v3 Int) (?v4 Int) )(! (let (($x6905 (b_S_typed$ ?v0 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2))))
(let ((?x6897 (b_S_typemap$ ?v0)))
(let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2))))
(let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899)))
(let (($x17952 (or (not (= (b_S_ts_n_emb$ ?x6899) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1))) (b_S_ts_n_is_n_volatile$ ?x6899) (not $x6904) (not $x6905))))
(let (($x17953 (not $x17952)))
(let (($x4862 (>= (+ ?v4 (* (- 1) ?v3)) 0)))
(let (($x2815 (>= ?v4 0)))
(let (($x3763 (not $x2815)))
(or (not (b_S_typed$ ?v0 (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1))) $x3763 $x4862 $x17953)))))))))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :pattern ( (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :qid k!493))
))
(let (($x6943 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ctype$) (?v3 Int) (?v4 Int) )(! (let (($x6905 (b_S_typed$ ?v0 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2))))
(let ((?x6897 (b_S_typemap$ ?v0)))
(let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2))))
(let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899)))
(let ((?x6894 (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1)))
(let (($x6901 (= (b_S_ts_n_emb$ ?x6899) ?x6894)))
(let (($x6937 (and $x6901 (not (b_S_ts_n_is_n_volatile$ ?x6899)) $x6904 $x6905)))
(let (($x4862 (>= (+ ?v4 (* (- 1) ?v3)) 0)))
(let (($x6603 (not $x4862)))
(let (($x2815 (>= ?v4 0)))
(let (($x6895 (b_S_typed$ ?v0 ?x6894)))
(let (($x6929 (and $x6895 $x2815 $x6603)))
(let (($x6934 (not $x6929)))
(or $x6934 $x6937)))))))))))))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :pattern ( (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :qid k!493))
))
(let (($x6905 (b_S_typed$ ?4 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?2 ?1) ?3) ?0 ?2))))
(let ((?x6897 (b_S_typemap$ ?4)))
(let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?2 ?1) ?3) ?0 ?2))))
(let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899)))
(let (($x17952 (or (not (= (b_S_ts_n_emb$ ?x6899) (b_S_ptr$ (b_S_array$ ?2 ?1) ?3))) (b_S_ts_n_is_n_volatile$ ?x6899) (not $x6904) (not $x6905))))
(let (($x17953 (not $x17952)))
(let (($x4862 (>= (+ ?0 (* (- 1) ?1)) 0)))
(let (($x17959 (or (not (b_S_typed$ ?4 (b_S_ptr$ (b_S_array$ ?2 ?1) ?3))) $x3763 $x4862 $x17953)))
(let ((?x6894 (b_S_ptr$ (b_S_array$ ?2 ?1) ?3)))
(let (($x6901 (= (b_S_ts_n_emb$ ?x6899) ?x6894)))
(let (($x6937 (and $x6901 (not (b_S_ts_n_is_n_volatile$ ?x6899)) $x6904 $x6905)))
(let (($x6603 (not $x4862)))
(let (($x6895 (b_S_typed$ ?4 ?x6894)))
(let (($x6929 (and $x6895 $x2815 $x6603)))
(let (($x6934 (not $x6929)))
(let (($x6940 (or $x6934 $x6937)))
(let (($x17938 (or (not $x6895) $x3763 $x4862)))
(let ((@x17944 (monotonicity (rewrite (= $x6929 (not $x17938))) (= $x6934 (not (not $x17938))))))
(let ((@x17958 (monotonicity (trans @x17944 (rewrite (= (not (not $x17938)) $x17938)) (= $x6934 $x17938)) (rewrite (= $x6937 $x17953)) (= $x6940 (or $x17938 $x17953)))))
(let ((@x17966 (quant-intro (trans @x17958 (rewrite (= (or $x17938 $x17953) $x17959)) (= $x6940 $x17959)) (= $x6943 $x17964))))
(let (($x6917 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ctype$) (?v3 Int) (?v4 Int) )(! (let (($x6905 (b_S_typed$ ?v0 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2))))
(let ((?x6897 (b_S_typemap$ ?v0)))
(let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2))))
(let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899)))
(let ((?x6894 (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1)))
(let (($x6901 (= (b_S_ts_n_emb$ ?x6899) ?x6894)))
(let (($x6908 (and $x6901 (and (not (b_S_ts_n_is_n_volatile$ ?x6899)) (and $x6904 $x6905)))))
(let (($x2766 (<= 0 ?v4)))
(let (($x6566 (and $x2766 (< ?v4 ?v3))))
(let (($x6895 (b_S_typed$ ?v0 ?x6894)))
(let (($x6896 (and $x6895 $x6566)))
(=> $x6896 $x6908)))))))))))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :pattern ( (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :qid k!493))
))
(let (($x6923 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ctype$) (?v3 Int) (?v4 Int) )(! (let (($x6905 (b_S_typed$ ?v0 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2))))
(let ((?x6897 (b_S_typemap$ ?v0)))
(let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2))))
(let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899)))
(let ((?x6894 (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1)))
(let (($x6901 (= (b_S_ts_n_emb$ ?x6899) ?x6894)))
(let (($x6908 (and $x6901 (and (not (b_S_ts_n_is_n_volatile$ ?x6899)) (and $x6904 $x6905)))))
(let (($x2766 (<= 0 ?v4)))
(let (($x6566 (and $x2766 (< ?v4 ?v3))))
(let (($x6895 (b_S_typed$ ?v0 ?x6894)))
(let (($x6896 (and $x6895 $x6566)))
(or (not $x6896) $x6908)))))))))))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :pattern ( (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :qid k!493))
))
(let (($x6908 (and $x6901 (and (not (b_S_ts_n_is_n_volatile$ ?x6899)) (and $x6904 $x6905)))))
(let (($x6920 (or (not (and $x6895 (and $x2766 (< ?0 ?1)))) $x6908)))
(let (($x6566 (and $x2766 (< ?0 ?1))))
(let (($x6896 (and $x6895 $x6566)))
(let ((@x6608 (monotonicity @x2814 (rewrite (= (< ?0 ?1) $x6603)) (= $x6566 (and $x2815 $x6603)))))
(let ((@x6933 (trans (monotonicity @x6608 (= $x6896 (and $x6895 (and $x2815 $x6603)))) (rewrite (= (and $x6895 (and $x2815 $x6603)) $x6929)) (= $x6896 $x6929))))
(let ((@x6942 (monotonicity (monotonicity @x6933 (= (not $x6896) $x6934)) (rewrite (= $x6908 $x6937)) (= $x6920 $x6940))))
(let ((@x6947 (trans (quant-intro (rewrite (= (=> $x6896 $x6908) $x6920)) (= $x6917 $x6923)) (quant-intro @x6942 (= $x6923 $x6943)) (= $x6917 $x6943))))
(let ((@x14355 (mp~ (mp (asserted $x6917) @x6947 $x6943) (nnf-pos (refl (~ $x6940 $x6940)) (~ $x6943 $x6943)) $x6943)))
(let ((@x17967 (mp @x14355 @x17966 $x17964)))
(let (($x23539 (not $x23538)))
(let (($x23587 (not $x17964)))
(let (($x23588 (or $x23587 $x23539 $x11259 $x23557)))
(let (($x23558 (or $x23539 $x22599 $x22601 $x23557)))
(let (($x23589 (or $x23587 $x23558)))
(let ((@x23586 (trans (monotonicity @x22711 @x22706 (= $x23558 (or $x23539 false $x11259 $x23557))) (rewrite (= (or $x23539 false $x11259 $x23557) (or $x23539 $x11259 $x23557))) (= $x23558 (or $x23539 $x11259 $x23557)))))
(let ((@x23610 (trans (monotonicity @x23586 (= $x23589 (or $x23587 (or $x23539 $x11259 $x23557)))) (rewrite (= (or $x23587 (or $x23539 $x11259 $x23557)) $x23588)) (= $x23589 $x23588))))
(let ((@x23661 (unit-resolution (mp ((_ quant-inst v_b_S_s$ v_b_P_H_arr$ b_T_T_u1$ v_b_P_H_len$ 0) $x23589) @x23610 $x23588) @x17967 @x12041 @x23608 (hypothesis $x23556) false)))
(let ((@x23442 (hypothesis $x22506)))
(let ((@x23451 (symm @x23444 (= ?x22553 ?x10137))))
(let ((@x23449 (monotonicity (symm @x23445 (= v_b_P_H_arr$ ?x10079)) (= ?x10078 ?x22553))))
(let (($x21186 (= ?x21014 ?x10079)))
(let (($x21191 (or $x21152 $x21186)))
(let ((@x21192 ((_ quant-inst (b_S_array$ b_T_T_u1$ v_b_P_H_len$) (b_S_ref$ ?x10078)) $x21191)))
(let ((@x23674 (trans (monotonicity @x23670 (= ?x23622 ?x21014)) (unit-resolution @x21192 @x19840 $x21186) (= ?x23622 ?x10079))))
(let ((@x23682 (trans @x23680 (unit-resolution @x22000 @x15336 @x12044 $x21990) (= ?x22595 ?x21983))))
(let ((@x23781 (trans (monotonicity @x23682 (= ?x23546 ?x23613)) (hypothesis $x23639) (= ?x23546 ?x23636))))
(let ((@x23782 (trans @x23781 (monotonicity (trans @x23674 @x23445 (= ?x23622 v_b_P_H_arr$)) (= ?x23636 ?x10078)) (= ?x23546 ?x10078))))
(let ((@x23785 (trans (trans (trans @x23782 @x23449 (= ?x23546 ?x22553)) @x23451 (= ?x23546 ?x10137)) @x23442 (= ?x23546 ?x22505))))
(let ((@x23787 (symm (monotonicity @x23785 (= ?x23547 (b_S_select_o_tm$ ?x10272 ?x22505))) (= (b_S_select_o_tm$ ?x10272 ?x22505) ?x23547))))
(let ((@x23788 (monotonicity @x23787 (= (b_S_ts_n_emb$ (b_S_select_o_tm$ ?x10272 ?x22505)) ?x23548))))
(let ((@x23704 (monotonicity (monotonicity @x23442 (= ?x22478 (b_S_select_o_tm$ ?x10272 ?x22505))) (= ?x22805 (b_S_ts_n_emb$ (b_S_select_o_tm$ ?x10272 ?x22505))))))
(let ((@x23790 (trans (trans @x23704 @x23788 (= ?x22805 ?x23548)) (unit-resolution (def-axiom (or $x23556 $x23549)) (lemma @x23661 $x23557) $x23549) (= ?x22805 ?x22595))))
(let ((@x23794 (trans (monotonicity (trans @x23790 @x23680 (= ?x22805 ?x10080)) (= ?x22433 ?x10082)) @x12043 $x22451)))
(let ((@x23797 (lemma (unit-resolution (hypothesis (not $x22451)) @x23794 false) (or $x23642 $x22451 (not $x22506)))))
(let ((@x24045 (unit-resolution (unit-resolution @x23797 @x24001 (or $x22451 (not $x22506))) @x23969 $x22451)))
(let ((?x22806 (b_S_typ$ ?x22805)))
(let ((?x22809 (b_S_kind_n_of$ ?x22806)))
(let (($x22810 (= ?x22809 b_S_kind_n_primitive$)))
(let (($x22807 (not $x22810)))
(let ((?x22655 (b_S_select_o_tm$ ?x10272 ?x22505)))
(let ((?x22658 (b_S_ts_n_emb$ ?x22655)))
(let ((?x22663 (b_S_typ$ ?x22658)))
(let ((?x22664 (b_S_kind_n_of$ ?x22663)))
(let (($x22665 (= ?x22664 b_S_kind_n_primitive$)))
(let ((@x22763 (monotonicity (monotonicity (symm @x23704 (= ?x22658 ?x22805)) (= ?x22663 ?x22806)) (= ?x22664 ?x22809))))
(let (($x22767 (not (or $x22665 (not (b_S_is_n_non_n_primitive$ ?x22663))))))
(let (($x19234 (forall ((?v0 B_S_type_n_state$) )(! (let (($x9543 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_ts_n_emb$ ?v0))) b_S_kind_n_primitive$)))
(let (($x19230 (or $x9543 (not (b_S_is_n_non_n_primitive$ (b_S_typ$ (b_S_ts_n_emb$ ?v0)))))))
(not $x19230))) :pattern ( (b_S_ts_n_emb$ ?v0) ) :qid k!618))
))
(let (($x9548 (forall ((?v0 B_S_type_n_state$) )(! (let (($x9543 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_ts_n_emb$ ?v0))) b_S_kind_n_primitive$)))
(and (not $x9543) (b_S_is_n_non_n_primitive$ (b_S_typ$ (b_S_ts_n_emb$ ?v0))))) :pattern ( (b_S_ts_n_emb$ ?v0) ) :qid k!618))
))
(let (($x9543 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_ts_n_emb$ ?0))) b_S_kind_n_primitive$)))
(let (($x19230 (or $x9543 (not (b_S_is_n_non_n_primitive$ (b_S_typ$ (b_S_ts_n_emb$ ?0)))))))
(let (($x9546 (and (not $x9543) (b_S_is_n_non_n_primitive$ (b_S_typ$ (b_S_ts_n_emb$ ?0))))))
(let ((@x15316 (mp~ (asserted $x9548) (nnf-pos (refl (~ $x9546 $x9546)) (~ $x9548 $x9548)) $x9548)))
(let ((@x19237 (mp @x15316 (quant-intro (rewrite (= $x9546 (not $x19230))) (= $x9548 $x19234)) $x19234)))
(let ((@x23507 (def-axiom (or (or $x22665 (not (b_S_is_n_non_n_primitive$ ?x22663))) (not $x22665)))))
(let ((@x23501 (unit-resolution @x23507 (unit-resolution ((_ quant-inst (b_S_select_o_tm$ ?x10272 ?x22505)) (or (not $x19234) $x22767)) @x19237 $x22767) (not $x22665))))
(let ((@x23573 (lemma (unit-resolution @x23501 (trans @x22763 (hypothesis $x22810) $x22665) false) (or $x22807 (not $x22506)))))
(let (($x22432 (not (or (not $x22602) (not (b_S_closed$ v_b_S_s$ ?x22805))))))
(let (($x22436 (= (b_S_kind_n_of$ ?x22514) b_S_kind_n_primitive$)))
(let (($x22427 (not $x22436)))
(let (($x22455 (or $x22427 $x22432 $x22810 (not (or $x22451 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x22805))))))
(let (($x22447 (or (= (b_S_owner$ v_b_S_s$ ?x10137) b_S_me$) (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x10137))))
(let (($x22456 (not $x22455)))
(let (($x22463 (not (or $x22456 (not (or $x22436 (not $x22447)))))))
(let (($x22464 (or $x15505 $x22463)))
(let (($x22465 (not $x22464)))
(let (($x22466 (= $x10141 $x22465)))
(let (($x19072 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x9039 (b_S_in_n_wrapped_n_domain$ ?v0 ?v1)))
(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
(let (($x2486 (= ?x2484 b_S_me$)))
(let (($x2249 (= (b_S_kind_n_of$ (b_S_typ$ ?v1)) b_S_kind_n_primitive$)))
(let ((?x2769 (b_S_typemap$ ?v0)))
(let ((?x9020 (b_S_select_o_tm$ ?x2769 ?v1)))
(let ((?x9024 (b_S_ts_n_emb$ ?x9020)))
(let (($x9035 (or (= (b_S_owner$ ?v0 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?v0 ?x9024))))
(let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020)))
(let (($x9023 (not $x9022)))
(let (($x9027 (or $x9023 (not (b_S_closed$ ?v0 ?x9024)))))
(let (($x2294 (not $x2249)))
(let (($x19047 (or $x2294 (not $x9027) (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$) (not $x9035))))
(let (($x19056 (or (not $x19047) (not (or $x2249 (not (or $x2486 $x9039)))))))
(let (($x2488 (b_S_typed$ ?v0 ?v1)))
(let (($x9531 (not $x2488)))
(let (($x19064 (not (or $x9531 (not $x19056)))))
(let (($x9019 (b_S_thread_n_local$ ?v0 ?v1)))
(= $x9019 $x19064))))))))))))))))))) :pattern ( (b_S_thread_n_local$ ?v0 ?v1) ) :qid k!583))
))
(let (($x9066 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x9039 (b_S_in_n_wrapped_n_domain$ ?v0 ?v1)))
(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
(let (($x2486 (= ?x2484 b_S_me$)))
(let (($x2249 (= (b_S_kind_n_of$ (b_S_typ$ ?v1)) b_S_kind_n_primitive$)))
(let (($x2294 (not $x2249)))
(let (($x9041 (and $x2294 (or $x2486 $x9039))))
(let ((?x2769 (b_S_typemap$ ?v0)))
(let ((?x9020 (b_S_select_o_tm$ ?x2769 ?v1)))
(let ((?x9024 (b_S_ts_n_emb$ ?x9020)))
(let (($x9035 (or (= (b_S_owner$ ?v0 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?v0 ?x9024))))
(let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020)))
(let (($x9023 (not $x9022)))
(let (($x9027 (or $x9023 (not (b_S_closed$ ?v0 ?x9024)))))
(let (($x9054 (and $x2249 $x9027 (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035)))
(let (($x9057 (or $x9054 $x9041)))
(let (($x2488 (b_S_typed$ ?v0 ?v1)))
(let (($x9060 (and $x2488 $x9057)))
(let (($x9019 (b_S_thread_n_local$ ?v0 ?v1)))
(= $x9019 $x9060))))))))))))))))))) :pattern ( (b_S_thread_n_local$ ?v0 ?v1) ) :qid k!583))
))
(let ((?x2769 (b_S_typemap$ ?1)))
(let ((?x9020 (b_S_select_o_tm$ ?x2769 ?0)))
(let ((?x9024 (b_S_ts_n_emb$ ?x9020)))
(let (($x9035 (or (= (b_S_owner$ ?1 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?1 ?x9024))))
(let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020)))
(let (($x9023 (not $x9022)))
(let (($x9027 (or $x9023 (not (b_S_closed$ ?1 ?x9024)))))
(let (($x19047 (or $x2294 (not $x9027) (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$) (not $x9035))))
(let (($x19056 (or (not $x19047) (not (or $x2249 (not (or $x2486 (b_S_in_n_wrapped_n_domain$ ?1 ?0))))))))
(let (($x19064 (not (or $x9531 (not $x19056)))))
(let (($x9019 (b_S_thread_n_local$ ?1 ?0)))
(let (($x9041 (and $x2294 (or $x2486 (b_S_in_n_wrapped_n_domain$ ?1 ?0)))))
(let (($x9054 (and $x2249 $x9027 (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035)))
(let (($x9057 (or $x9054 $x9041)))
(let (($x9060 (and $x2488 $x9057)))
(let (($x9063 (= $x9019 $x9060)))
(let (($x19054 (= $x9041 (not (or $x2249 (not (or $x2486 (b_S_in_n_wrapped_n_domain$ ?1 ?0))))))))
(let ((@x19058 (monotonicity (rewrite (= $x9054 (not $x19047))) (rewrite $x19054) (= $x9057 $x19056))))
(let ((@x19068 (trans (monotonicity @x19058 (= $x9060 (and $x2488 $x19056))) (rewrite (= (and $x2488 $x19056) $x19064)) (= $x9060 $x19064))))
(let ((@x19074 (quant-intro (monotonicity @x19068 (= $x9063 (= $x9019 $x19064))) (= $x9066 $x19072))))
(let (($x9046 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x9039 (b_S_in_n_wrapped_n_domain$ ?v0 ?v1)))
(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
(let (($x2486 (= ?x2484 b_S_me$)))
(let (($x2249 (= (b_S_kind_n_of$ (b_S_typ$ ?v1)) b_S_kind_n_primitive$)))
(let (($x2294 (not $x2249)))
(let (($x9041 (and $x2294 (or $x2486 $x9039))))
(let ((?x2769 (b_S_typemap$ ?v0)))
(let ((?x9020 (b_S_select_o_tm$ ?x2769 ?v1)))
(let ((?x9024 (b_S_ts_n_emb$ ?x9020)))
(let (($x9035 (or (= (b_S_owner$ ?v0 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?v0 ?x9024))))
(let (($x9036 (and (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035)))
(let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020)))
(let (($x9023 (not $x9022)))
(let (($x9027 (or $x9023 (not (b_S_closed$ ?v0 ?x9024)))))
(let (($x2488 (b_S_typed$ ?v0 ?v1)))
(let (($x9043 (and $x2488 (or (and $x2249 (and $x9027 $x9036)) $x9041))))
(let (($x9019 (b_S_thread_n_local$ ?v0 ?v1)))
(= $x9019 $x9043)))))))))))))))))) :pattern ( (b_S_thread_n_local$ ?v0 ?v1) ) :qid k!583))
))
(let (($x9051 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x9039 (b_S_in_n_wrapped_n_domain$ ?v0 ?v1)))
(let ((?x2484 (b_S_owner$ ?v0 ?v1)))
(let (($x2486 (= ?x2484 b_S_me$)))
(let (($x2249 (= (b_S_kind_n_of$ (b_S_typ$ ?v1)) b_S_kind_n_primitive$)))
(let (($x2294 (not $x2249)))
(let (($x9041 (and $x2294 (or $x2486 $x9039))))
(let ((?x2769 (b_S_typemap$ ?v0)))
(let ((?x9020 (b_S_select_o_tm$ ?x2769 ?v1)))
(let ((?x9024 (b_S_ts_n_emb$ ?x9020)))
(let (($x9035 (or (= (b_S_owner$ ?v0 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?v0 ?x9024))))
(let (($x9036 (and (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035)))
(let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020)))
(let (($x9023 (not $x9022)))
(let (($x9027 (or $x9023 (not (b_S_closed$ ?v0 ?x9024)))))
(let (($x2488 (b_S_typed$ ?v0 ?v1)))
(let (($x9043 (and $x2488 (or (and $x2249 (and $x9027 $x9036)) $x9041))))
(let (($x9019 (b_S_thread_n_local$ ?v0 ?v1)))
(= $x9019 $x9043)))))))))))))))))) :pattern ( (b_S_thread_n_local$ ?v0 ?v1) ) :qid k!583))
))
(let (($x9036 (and (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035)))
(let (($x9043 (and $x2488 (or (and $x2249 (and $x9027 $x9036)) $x9041))))
(let (($x9048 (= $x9019 $x9043)))
(let ((@x9059 (monotonicity (rewrite (= (and $x2249 (and $x9027 $x9036)) $x9054)) (= (or (and $x2249 (and $x9027 $x9036)) $x9041) $x9057))))
(let ((@x9068 (quant-intro (monotonicity (monotonicity @x9059 (= $x9043 $x9060)) (= $x9048 $x9063)) (= $x9051 $x9066))))
(let ((@x9070 (trans (quant-intro (rewrite (= (= $x9019 $x9043) $x9048)) (= $x9046 $x9051)) @x9068 (= $x9046 $x9066))))
(let ((@x15111 (mp~ (mp (asserted $x9046) @x9070 $x9066) (nnf-pos (refl (~ $x9063 $x9063)) (~ $x9066 $x9066)) $x9066)))
(let ((@x19075 (mp @x15111 @x19074 $x19072)))
(let ((@x22884 (unit-resolution (def-axiom (or (not $x22466) $x10141 $x22464)) (hypothesis $x15511) (or (not $x22466) $x22464))))
(let ((@x22831 (unit-resolution @x22884 (unit-resolution ((_ quant-inst v_b_S_s$ (b_S_idx$ ?x10078 0 b_T_T_u1$)) (or (not $x19072) $x22466)) @x19075 $x22466) $x22464)))
(let ((@x23475 (unit-resolution (def-axiom (or $x22465 $x15505 $x22463)) (hypothesis $x10139) (or $x22465 $x22463))))
(let ((@x22517 (unit-resolution (def-axiom (or (or $x22456 (not (or $x22436 (not $x22447)))) $x22455)) (unit-resolution @x23475 @x22831 $x22463) $x22455)))
(let ((?x21472 (b_S_kind_n_of$ b_T_T_u1$)))
(let (($x21473 (= ?x21472 b_S_kind_n_primitive$)))
(let (($x21480 (= $x9768 $x21473)))
(let (($x9891 (forall ((?v0 B_S_ctype$) )(! (let ((?x9849 (b_S_kind_n_of$ ?v0)))
(let (($x9883 (= ?x9849 b_S_kind_n_primitive$)))
(let (($x2704 (b_S_is_n_primitive$ ?v0)))
(= $x2704 $x9883)))) :pattern ( (b_S_is_n_primitive$ ?v0) ) :qid k!664))
))
(let (($x9883 (= ?x9849 b_S_kind_n_primitive$)))
(let (($x9888 (= $x2704 $x9883)))
(let (($x9886 (forall ((?v0 B_S_ctype$) )(! (let ((?x9849 (b_S_kind_n_of$ ?v0)))
(let (($x9883 (= ?x9849 b_S_kind_n_primitive$)))
(let (($x2704 (b_S_is_n_primitive$ ?v0)))
(= $x2704 $x9883)))) :pattern ( (b_S_is_n_primitive$ ?v0) ) :qid k!664))
))
(let ((@x9896 (mp (asserted $x9886) (quant-intro (rewrite (= (= $x2704 $x9883) $x9888)) (= $x9886 $x9891)) $x9891)))
(let ((@x15456 (mp~ @x9896 (nnf-pos (refl (~ $x9888 $x9888)) (~ $x9891 $x9891)) $x9891)))
(let (($x21224 (not $x9891)))
(let (($x21483 (or $x21224 $x21480)))
(let ((@x21484 ((_ quant-inst b_T_T_u1$) $x21483)))
(let ((@x22996 (unit-resolution (def-axiom (or (not $x21480) $x21489 $x21473)) @x9769 (or (not $x21480) $x21473))))
(let ((@x22988 (unit-resolution (def-axiom (or (not $x22522) $x15502 $x22515)) @x23411 (or (not $x22522) $x22515))))
(let ((@x22744 (monotonicity (unit-resolution @x22988 (unit-resolution @x22534 @x19833 $x22522) $x22515) (= (b_S_kind_n_of$ ?x22514) ?x21472))))
(let ((@x23400 (trans @x22744 (unit-resolution @x22996 (unit-resolution @x21484 @x15456 $x21480) $x21473) $x22436)))
(let (($x22453 (or $x22451 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x22805))))
(let ((@x23008 (unit-resolution (def-axiom (or $x22453 (not $x22451))) (hypothesis $x22451) $x22453)))
(let ((@x23085 (unit-resolution (def-axiom (or $x22456 $x22427 $x22432 $x22810 (not $x22453))) (hypothesis $x22807) @x23008 (or $x22456 $x22427 $x22432))))
(let ((@x22334 (def-axiom (or (or (not $x22602) (not (b_S_closed$ v_b_S_s$ ?x22805))) $x22602))))
(let ((@x23029 (unit-resolution (def-axiom (or $x22603 (not $x22602))) (unit-resolution @x22334 (unit-resolution @x23085 @x23400 @x22517 $x22432) $x22602) $x22603)))
(let ((@x23005 (unit-resolution (unit-resolution @x22512 @x18948 $x22366) (unit-resolution @x23561 (mp (hypothesis $x10136) @x23563 $x22317) @x22990 $x22318) $x22365)))
(let ((@x23505 (unit-resolution @x23490 @x18670 @x9769 @x12041 @x12050 (mp (unit-resolution @x22487 @x23005 $x22344) @x23502 $x22596) @x23029 false)))
(let ((@x24068 (unit-resolution (lemma @x23505 (or $x11221 $x22810 $x15505 $x10141 (not $x22451))) @x22508 (or $x22810 $x15505 $x10141 (not $x22451)))))
(let ((@x24055 (unit-resolution @x24068 (unit-resolution @x23573 @x23969 $x22807) (unit-resolution (def-axiom (or $x22603 $x10139)) (lemma @x24453 $x22604) $x10139) @x24045 $x10141)))
(let ((@x24059 (unit-resolution (def-axiom (or $x20119 $x15502 $x15511 $x20113)) @x23411 (or $x20119 $x15511 $x20113))))
(let ((@x23997 (unit-resolution @x24059 @x24055 (unit-resolution (def-axiom (or $x20122 $x20116)) @x23983 $x20116) $x20113)))
(let ((@x23272 (mp (hypothesis $x10145) (symm (commutativity (= $x10167 $x10145)) (= $x10145 $x10167)) $x10167)))
(let ((@x24048 (unit-resolution (lemma (unit-resolution (hypothesis $x15548) @x23272 false) (or $x19724 $x10167)) (unit-resolution (def-axiom (or $x20110 $x10145)) @x23997 $x10145) $x10167)))
(let ((@x24123 (unit-resolution (def-axiom (or $x20107 $x11385 $x20101)) (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x11259 $x11382)) @x12041 $x11382) (or $x20107 $x20101))))
(let ((@x24138 (unit-resolution @x24123 (unit-resolution (def-axiom (or $x20110 $x20104)) @x23997 $x20104) $x20101)))
(let ((?x22963 (* (- 1) ?x10144)))
(let ((?x22964 (+ v_b_L_H_max_G_0$ ?x22963)))
(let (($x22965 (>= ?x22964 0)))
(let ((@x24119 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x19724 $x22965)) (unit-resolution (def-axiom (or $x20110 $x10145)) @x23997 $x10145) $x22965)))
(let ((@x24012 (hypothesis $x19318)))
(let ((@x24017 ((_ th-lemma arith eq-propagate 0 0) (unit-resolution (def-axiom (or $x19313 $x15523)) @x24012 $x15523) (unit-resolution (def-axiom (or $x19313 (not $x15525))) @x24012 (not $x15525)) (= ?v0!13 0))))
(let ((@x24022 (symm (monotonicity (monotonicity @x24017 (= ?x15529 ?x10137)) (= ?x15530 ?x10144)) (= ?x10144 ?x15530))))
(let ((@x24026 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x10144 ?x15530)) (>= (+ ?x10144 ?x15531) 0))) @x24022 (>= (+ ?x10144 ?x15531) 0))))
(let ((@x24027 ((_ th-lemma arith farkas 1 -1 1) @x24026 (unit-resolution (def-axiom (or $x19313 (not $x15533))) @x24012 (not $x15533)) (hypothesis $x22965) false)))
(let ((@x24121 (unit-resolution (def-axiom (or $x20095 $x19318 $x20089)) (unit-resolution (lemma @x24027 (or $x19313 (not $x22965))) @x24119 $x19313) (unit-resolution (def-axiom (or $x20098 $x20092)) @x24138 $x20092) $x20089)))
(let ((@x24141 (unit-resolution (def-axiom (or $x20083 $x11259 $x15548 $x20077)) @x12041 (or $x20083 $x15548 $x20077))))
(let ((@x24113 (unit-resolution @x24141 (unit-resolution (def-axiom (or $x20086 $x20080)) @x24121 $x20080) @x24048 $x20077)))
(let ((@x24140 (unit-resolution (def-axiom (or $x20074 $x11901)) @x24113 $x11901)))
(let (($x23088 (= v_b_L_H_max_G_1$ v_b_S_result_G_0$)))
(let ((@x9231 (asserted b_S_position_n_marker$)))
(let ((@x23316 (unit-resolution (unit-resolution (def-axiom (or $x20059 $x15729 $x20053)) @x9231 (or $x20059 $x20053)) (unit-resolution (def-axiom (or $x20062 $x20056)) (hypothesis $x20065) $x20056) $x20053)))
(let (($x23320 (or (not $x23088) (<= (+ v_b_L_H_max_G_1$ (* (- 1) v_b_S_result_G_0$)) 0))))
(let ((@x23322 (unit-resolution ((_ th-lemma arith triangle-eq) $x23320) (symm (unit-resolution (def-axiom (or $x20050 $x10222)) @x23316 $x10222) $x23088) (<= (+ v_b_L_H_max_G_1$ (* (- 1) v_b_S_result_G_0$)) 0))))
(let ((@x23180 (hypothesis $x11868)))
(let ((@x23177 (trans (hypothesis $x10192) (symm (hypothesis $x10222) $x23088) (= ?x10191 v_b_S_result_G_0$))))
(let (($x23140 (not (= ?x10191 v_b_S_result_G_0$))))
(let (($x23145 (or $x20035 $x19501 $x19669 $x11867 $x23140)))
(let (($x23036 (>= (+ v_b_SL_H_witness_G_0$ ?x11246) 0)))
(let (($x23141 (or $x19501 $x19669 $x23036 $x23140)))
(let (($x23146 (or $x20035 $x23141)))
(let ((@x23042 (rewrite (= (+ v_b_SL_H_witness_G_0$ ?x11246) (+ ?x11246 v_b_SL_H_witness_G_0$)))))
(let ((@x23045 (monotonicity @x23042 (= $x23036 (>= (+ ?x11246 v_b_SL_H_witness_G_0$) 0)))))
(let ((@x23049 (trans @x23045 (rewrite (= (>= (+ ?x11246 v_b_SL_H_witness_G_0$) 0) $x11867)) (= $x23036 $x11867))))
(let ((@x23150 (monotonicity (monotonicity @x23049 (= $x23141 (or $x19501 $x19669 $x11867 $x23140))) (= $x23146 (or $x20035 (or $x19501 $x19669 $x11867 $x23140))))))
(let ((@x23154 (trans @x23150 (rewrite (= (or $x20035 (or $x19501 $x19669 $x11867 $x23140)) $x23145)) (= $x23146 $x23145))))
(let ((@x23182 (unit-resolution (mp ((_ quant-inst v_b_SL_H_witness_G_0$) $x23146) @x23154 $x23145) (hypothesis $x13315) @x23180 (hypothesis $x11432) (hypothesis $x20030) @x23177 false)))
(let ((@x23324 (unit-resolution (lemma @x23182 (or $x20035 $x19669 $x11867 $x19501 $x19674 $x19640)) (unit-resolution (def-axiom (or $x20050 $x10222)) @x23316 $x10222) @x23180 (hypothesis $x11432) (hypothesis $x10192) (hypothesis $x13315) $x20035)))
(let ((@x23326 (unit-resolution (def-axiom (or $x20047 $x19580 $x20041)) (unit-resolution (def-axiom (or $x20038 $x20030)) @x23324 $x20038) (unit-resolution (def-axiom (or $x20050 $x20044)) @x23316 $x20044) $x19580)))
(let (($x23188 (>= (+ v_b_L_H_max_G_1$ ?x16029) 0)))
(let (($x23310 (or (not (<= (+ v_b_L_H_p_G_0$ (* (- 1) ?v0!15)) 0)) $x16009 $x11487)))
(let ((@x23308 ((_ th-lemma arith farkas -1 1 1) (hypothesis $x16014) (hypothesis (<= (+ v_b_L_H_p_G_0$ (* (- 1) ?v0!15)) 0)) (hypothesis $x11486) false)))
(let ((@x23330 (unit-resolution (lemma @x23308 $x23310) (unit-resolution (def-axiom (or $x19575 $x16014)) @x23326 $x16014) (unit-resolution (def-axiom (or $x20062 $x11486)) (hypothesis $x20065) $x11486) (not (<= (+ v_b_L_H_p_G_0$ (* (- 1) ?v0!15)) 0)))))
(let ((@x23333 (hypothesis $x19898)))
(let (($x23168 (<= (+ v_b_L_H_p_G_0$ (* (- 1) ?v0!15)) 0)))
(let (($x23196 (or $x19903 $x19559 $x19560 $x23168 $x23188)))
(let (($x23134 (<= (+ ?x15744 (* (- 1) v_b_L_H_max_G_1$)) 0)))
(let (($x23114 (>= (+ ?v0!15 ?x11484) 0)))
(let (($x23135 (or $x19559 $x19560 $x23114 $x23134)))
(let (($x23197 (or $x19903 $x23135)))
(let (($x23173 (= (+ ?x15744 (* (- 1) v_b_L_H_max_G_1$)) (+ (* (- 1) v_b_L_H_max_G_1$) ?x15744))))
(let ((@x23186 (monotonicity (rewrite $x23173) (= $x23134 (<= (+ (* (- 1) v_b_L_H_max_G_1$) ?x15744) 0)))))
(let ((@x23192 (trans @x23186 (rewrite (= (<= (+ (* (- 1) v_b_L_H_max_G_1$) ?x15744) 0) $x23188)) (= $x23134 $x23188))))
(let ((@x23166 (monotonicity (rewrite (= (+ ?v0!15 ?x11484) (+ ?x11484 ?v0!15))) (= $x23114 (>= (+ ?x11484 ?v0!15) 0)))))
(let ((@x23171 (trans @x23166 (rewrite (= (>= (+ ?x11484 ?v0!15) 0) $x23168)) (= $x23114 $x23168))))
(let ((@x23201 (monotonicity (monotonicity @x23171 @x23192 (= $x23135 (or $x19559 $x19560 $x23168 $x23188))) (= $x23197 (or $x19903 (or $x19559 $x19560 $x23168 $x23188))))))
(let ((@x23205 (trans @x23201 (rewrite (= (or $x19903 (or $x19559 $x19560 $x23168 $x23188)) $x23196)) (= $x23197 $x23196))))
(let ((@x23335 (unit-resolution (mp ((_ quant-inst ?v0!15) $x23197) @x23205 $x23196) @x23333 (unit-resolution (def-axiom (or $x19575 $x15736)) @x23326 $x15736) (unit-resolution (def-axiom (or $x19575 $x15737)) @x23326 $x15737) (or $x23168 $x23188))))
(let ((@x23337 ((_ th-lemma arith farkas -1 1 1) (unit-resolution @x23335 @x23330 $x23188) (unit-resolution (def-axiom (or $x19575 (not $x16031))) @x23326 (not $x16031)) @x23322 false)))
(let ((@x24129 (unit-resolution (lemma @x23337 (or $x20062 $x19903 $x11867 $x19501 $x19674 $x19669)) (unit-resolution (def-axiom (or $x20074 $x19898)) @x24113 $x19898) (unit-resolution (def-axiom (or $x20074 $x11868)) @x24113 $x11868) (unit-resolution (def-axiom (or $x20074 $x11432)) @x24113 $x11432) (unit-resolution (def-axiom (or $x20074 $x10192)) @x24113 $x10192) (unit-resolution (def-axiom (or $x20074 $x13315)) @x24113 $x13315) $x20062)))
(let ((@x20858 (def-axiom (or $x20071 $x20019 $x20065))))
(let ((@x24135 (unit-resolution @x20858 (unit-resolution (def-axiom (or $x20074 $x20068)) @x24113 $x20068) @x24129 $x20019)))
(let ((@x24136 (unit-resolution (def-axiom (or $x20016 $x11487)) @x24135 $x11487)))
(let ((@x23427 (hypothesis $x11487)))
(let (($x24307 (or $x23587 $x23539 $x19670 $x11486 $x24616)))
(let (($x23367 (>= (+ v_b_L_H_p_G_0$ ?x11246) 0)))
(let (($x24617 (or $x23539 $x19670 $x23367 $x24616)))
(let (($x24303 (or $x23587 $x24617)))
(let ((@x23377 (monotonicity (rewrite (= (+ v_b_L_H_p_G_0$ ?x11246) (+ ?x11246 v_b_L_H_p_G_0$))) (= $x23367 (>= (+ ?x11246 v_b_L_H_p_G_0$) 0)))))
(let ((@x23381 (trans @x23377 (rewrite (= (>= (+ ?x11246 v_b_L_H_p_G_0$) 0) $x11486)) (= $x23367 $x11486))))
(let ((@x24641 (monotonicity (monotonicity @x23381 (= $x24617 (or $x23539 $x19670 $x11486 $x24616))) (= $x24303 (or $x23587 (or $x23539 $x19670 $x11486 $x24616))))))
(let ((@x24645 (trans @x24641 (rewrite (= (or $x23587 (or $x23539 $x19670 $x11486 $x24616)) $x24307)) (= $x24303 $x24307))))
(let ((@x24637 (unit-resolution (mp ((_ quant-inst v_b_S_s$ v_b_P_H_arr$ b_T_T_u1$ v_b_P_H_len$ v_b_L_H_p_G_0$) $x24303) @x24645 $x24307) @x17967 (hypothesis $x11901) @x23427 @x23608 (hypothesis $x24615) false)))
(let ((@x24149 (unit-resolution (def-axiom (or $x24615 $x24606)) (unit-resolution (lemma @x24637 (or $x24616 $x19670 $x11486)) @x24136 @x24140 $x24616) $x24606)))
(let ((?x24147 (b_S_ref$ ?x10320)))
(let ((?x24169 (b_S_ptr$ b_T_T_u1$ ?x24147)))
(let ((?x24320 (b_S_select_o_tm$ ?x10272 ?x24169)))
(let ((?x24323 (b_S_ts_n_emb$ ?x24320)))
(let ((?x24331 (b_S_owner$ v_b_S_s$ ?x24323)))
(let (($x24332 (= ?x24331 b_S_me$)))
(let (($x24385 (not $x24332)))
(let ((?x23162 (b_S_select_o_tm$ ?x10272 ?x10320)))
(let (($x23368 (b_S_ts_n_is_n_volatile$ ?x23162)))
(let (($x23369 (or $x15593 $x23368)))
(let (($x23370 (not $x23369)))
(let (($x23385 (or $x22629 $x19677 $x21489 $x22597 $x19670 $x11486 $x23370)))
(let (($x23371 (or $x19677 $x21489 $x22597 $x19670 $x23367 $x23370)))
(let (($x23386 (or $x22629 $x23371)))
(let ((@x23390 (monotonicity (monotonicity @x23381 (= $x23371 (or $x19677 $x21489 $x22597 $x19670 $x11486 $x23370))) (= $x23386 (or $x22629 (or $x19677 $x21489 $x22597 $x19670 $x11486 $x23370))))))
(let ((@x23394 (trans @x23390 (rewrite (= (or $x22629 (or $x19677 $x21489 $x22597 $x19670 $x11486 $x23370)) $x23385)) (= $x23386 $x23385))))
(let ((@x23429 (unit-resolution (mp ((_ quant-inst v_b_S_s$ v_b_P_H_arr$ (b_S_ptr$ ?x10076 ?x21014) v_b_P_H_len$ v_b_L_H_p_G_0$ b_T_T_u1$) $x23386) @x23394 $x23385) @x18670 @x9769 @x12050 (hypothesis $x11901) @x23427 (hypothesis $x22596) (hypothesis $x23369) false)))
(let ((@x24150 (unit-resolution (lemma @x23429 (or $x23370 $x19670 $x11486 $x22597)) (mp (unit-resolution @x22487 @x24112 $x22344) @x23502 $x22596) (or $x23370 $x19670 $x11486))))
(let ((@x24176 (unit-resolution (def-axiom (or $x23369 $x10322)) (unit-resolution @x24150 @x24136 @x24140 $x23370) $x10322)))
(let ((?x23294 (b_S_typ$ ?x10320)))
(let (($x23295 (= ?x23294 b_T_T_u1$)))
(let ((?x23287 (* ?x10045 v_b_L_H_p_G_0$)))
(let ((?x22911 (b_S_ref$ ?x22505)))
(let ((?x23291 (+ ?x22911 ?x23287)))
(let ((?x23296 (b_S_ptr$ b_T_T_u1$ ?x23291)))
(let ((?x23403 (b_S_typ$ ?x23296)))
(let (($x23404 (= ?x23403 b_T_T_u1$)))
(let ((?x23276 (b_S_idx$ ?x22505 v_b_L_H_p_G_0$ b_T_T_u1$)))
(let (($x23115 (= ?x23276 ?x23296)))
(let (($x23222 (or (not (b_S_extent_n_hint$ ?x23276 ?x22505)) (not $x23115))))
(let (($x23225 (not $x23222)))
(let (($x23355 (or $x22568 $x23225)))
(let (($x23293 (not (= ?x23276 (b_S_ptr$ b_T_T_u1$ (+ ?x22911 (* v_b_L_H_p_G_0$ ?x10045)))))))
(let (($x23289 (not (or (not (b_S_extent_n_hint$ ?x23276 ?x22505)) $x23293))))
(let (($x23129 (= (= ?x23276 (b_S_ptr$ b_T_T_u1$ (+ ?x22911 (* v_b_L_H_p_G_0$ ?x10045)))) $x23115)))
(let ((@x23250 (rewrite (= (* v_b_L_H_p_G_0$ ?x10045) ?x23287))))
(let ((@x23130 (monotonicity (monotonicity @x23250 (= (+ ?x22911 (* v_b_L_H_p_G_0$ ?x10045)) ?x23291)) (= (b_S_ptr$ b_T_T_u1$ (+ ?x22911 (* v_b_L_H_p_G_0$ ?x10045))) ?x23296))))
(let ((@x23224 (monotonicity (monotonicity (monotonicity @x23130 $x23129) (= $x23293 (not $x23115))) (= (or (not (b_S_extent_n_hint$ ?x23276 ?x22505)) $x23293) $x23222))))
(let ((@x23359 (monotonicity (monotonicity @x23224 (= $x23289 $x23225)) (= (or $x22568 $x23289) $x23355))))
(let ((@x23348 (mp ((_ quant-inst (b_S_ptr$ b_T_T_u1$ ?x22485) v_b_L_H_p_G_0$ b_T_T_u1$) (or $x22568 $x23289)) (trans @x23359 (rewrite (= $x23355 $x23355)) (= (or $x22568 $x23289) $x23355)) $x23355)))
(let ((@x23441 (unit-resolution (def-axiom (or $x23222 $x23115)) (unit-resolution @x23348 @x18183 $x23225) $x23115)))
(let ((@x23457 (monotonicity (trans (trans @x23449 @x23451 (= ?x10078 ?x10137)) @x23442 (= ?x10078 ?x22505)) (= ?x10320 ?x23276))))
(let ((@x23462 (trans (monotonicity (trans @x23457 @x23441 (= ?x10320 ?x23296)) (= ?x23294 ?x23403)) (unit-resolution ((_ quant-inst b_T_T_u1$ (+ ?x22911 ?x23287)) (or $x21147 $x23404)) @x19846 $x23404) $x23295)))
(let (($x23298 (not $x23295)))
(let (($x23297 (= $x10321 $x23295)))
(let ((@x23437 (unit-resolution (def-axiom (or (not $x23297) $x10321 $x23298)) (hypothesis $x15590) (or (not $x23297) $x23298))))
(let ((@x23438 (unit-resolution @x23437 (unit-resolution ((_ quant-inst (b_S_idx$ ?x10078 v_b_L_H_p_G_0$ b_T_T_u1$) b_T_T_u1$) (or $x22002 $x23297)) @x19833 $x23297) $x23298)))
(let ((@x24166 (unit-resolution (lemma (unit-resolution @x23438 @x23462 false) (or $x10321 (not $x22506))) @x23969 $x10321)))
(let (($x23397 (not $x23368)))
(let ((@x24155 (unit-resolution (def-axiom (or $x23369 $x23397)) (unit-resolution @x24150 @x24136 @x24140 $x23370) $x23397)))
(let (($x13277 (<= v_b_P_H_len$ 4294967295)))
(let ((@x13276 (monotonicity (monotonicity @x6446 (= (+ b_S_max_o_u4$ ?x11246) (+ 4294967295 ?x11246))) (= $x11245 (>= (+ 4294967295 ?x11246) 0)))))
(let ((@x13281 (trans @x13276 (rewrite (= (>= (+ 4294967295 ?x11246) 0) $x13277)) (= $x11245 $x13277))))
(let ((@x13282 (mp (and-elim @x12033 $x11245) @x13281 $x13277)))
(let ((@x24996 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1) (or $x13353 (not $x13277) $x11486)) @x13282 (or $x13353 $x11486))))
(let ((@x24971 (hypothesis $x11570)))
(let ((@x25230 (hypothesis $x10322)))
(let ((@x24666 (hypothesis $x10321)))
(let ((@x25234 (unit-resolution @x20858 (unit-resolution (def-axiom (or $x20074 $x20068)) (hypothesis $x20077) $x20068) (unit-resolution (def-axiom (or $x20062 $x11486)) @x23427 $x20062) $x20019)))
(let ((@x20784 (def-axiom (or $x20013 $x15590 $x15593 $x20007))))
(let ((@x25236 (unit-resolution @x20784 (unit-resolution (def-axiom (or $x20016 $x20010)) @x25234 $x20010) @x24666 @x25230 $x20007)))
(let (($x24170 (= ?x10320 ?x24169)))
(let ((@x24159 (mp ((_ quant-inst (b_S_idx$ ?x10078 v_b_L_H_p_G_0$ b_T_T_u1$) b_T_T_u1$) (or $x21994 (or $x15590 $x24170))) (rewrite (= (or $x21994 (or $x15590 $x24170)) (or $x21994 $x15590 $x24170))) (or $x21994 $x15590 $x24170))))
(let ((@x25240 (unit-resolution (def-axiom (or (not $x23297) $x15590 $x23295)) @x24666 (or (not $x23297) $x23295))))
(let ((@x25241 (unit-resolution @x25240 (unit-resolution ((_ quant-inst (b_S_idx$ ?x10078 v_b_L_H_p_G_0$ b_T_T_u1$) b_T_T_u1$) (or $x22002 $x23297)) @x19833 $x23297) $x23295)))
(let (($x24314 (b_S_typed$ v_b_S_s$ ?x24169)))
(let ((@x25244 (mp @x25230 (monotonicity (unit-resolution @x24159 @x15336 @x24666 $x24170) (= $x10322 $x24314)) $x24314)))
(let (($x24341 (or (= (b_S_owner$ v_b_S_s$ ?x24169) b_S_me$) (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x24169))))
(let (($x24318 (= (b_S_kind_n_of$ (b_S_typ$ ?x24169)) b_S_kind_n_primitive$)))
(let (($x24330 (= (b_S_kind_n_of$ (b_S_typ$ ?x24323)) b_S_kind_n_primitive$)))
(let (($x24321 (b_S_ts_n_is_n_volatile$ ?x24320)))
(let (($x24322 (not $x24321)))
(let (($x24326 (or $x24322 (not (b_S_closed$ v_b_S_s$ ?x24323)))))
(let (($x24327 (not $x24326)))
(let (($x24319 (not $x24318)))
(let (($x24336 (or $x24319 $x24327 $x24330 (not (or $x24332 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x24323))))))
(let (($x24337 (not $x24336)))
(let (($x24346 (not (or $x24337 (not (or $x24318 (not $x24341)))))))
(let (($x24315 (not $x24314)))
(let (($x24347 (or $x24315 $x24346)))
(let (($x24348 (not $x24347)))
(let (($x24313 (b_S_thread_n_local$ v_b_S_s$ ?x24169)))
(let (($x24349 (= $x24313 $x24348)))
(let ((@x24281 (symm (monotonicity (symm (hypothesis $x24170) (= ?x24169 ?x10320)) (= $x24313 $x10324)) (= $x10324 $x24313))))
(let ((@x24575 (mp (hypothesis $x15599) (monotonicity @x24281 (= $x15599 (not $x24313))) (not $x24313))))
(let ((@x24566 (unit-resolution (def-axiom (or (not $x24349) $x24313 $x24347)) @x24575 (unit-resolution ((_ quant-inst v_b_S_s$ (b_S_ptr$ b_T_T_u1$ ?x24147)) (or (not $x19072) $x24349)) @x19075 $x24349) $x24347)))
(let ((@x24590 (unit-resolution (def-axiom (or $x24348 $x24315 $x24346)) (hypothesis $x24314) (or $x24348 $x24346))))
(let ((@x24603 (monotonicity (symm (hypothesis $x24170) (= ?x24169 ?x10320)) (= (b_S_typ$ ?x24169) ?x23294))))
(let ((@x24647 (monotonicity (trans @x24603 (hypothesis $x23295) (= (b_S_typ$ ?x24169) b_T_T_u1$)) (= (b_S_kind_n_of$ (b_S_typ$ ?x24169)) ?x21472))))
(let ((@x24650 (trans @x24647 (unit-resolution @x22996 (unit-resolution @x21484 @x15456 $x21480) $x21473) $x24318)))
(let ((@x24633 (monotonicity (symm (monotonicity (hypothesis $x24170) (= ?x23162 ?x24320)) (= ?x24320 ?x23162)) (= $x24321 $x23368))))
(let ((@x24657 (mp (hypothesis $x23397) (monotonicity (symm @x24633 (= $x23368 $x24321)) (= $x23397 $x24322)) $x24322)))
(let (($x24333 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x24323)))
(let (($x24334 (or $x24332 $x24333)))
(let ((?x24328 (b_S_typ$ ?x24323)))
(let (($x24480 (b_S_is_n_non_n_primitive$ ?x24328)))
(let (($x24481 (not $x24480)))
(let (($x24364 (or $x24330 $x24481)))
(let (($x24365 (not $x24364)))
(let ((@x24467 (unit-resolution ((_ quant-inst (b_S_select_o_tm$ ?x10272 ?x24169)) (or (not $x19234) $x24365)) @x19237 (hypothesis $x24364) false)))
(let ((@x24663 (unit-resolution (def-axiom (or $x24364 (not $x24330))) (lemma @x24467 $x24365) (not $x24330))))
(let ((@x24661 (unit-resolution (def-axiom (or $x24337 $x24319 $x24327 $x24330 (not $x24334))) @x24663 (unit-resolution (def-axiom (or $x24334 $x24385)) (hypothesis $x24332) $x24334) (or $x24337 $x24319 $x24327))))
(let ((@x24785 (unit-resolution @x24661 (unit-resolution (def-axiom (or $x24326 $x24321)) @x24657 $x24326) @x24650 $x24337)))
(let ((@x24756 (unit-resolution (def-axiom (or (or $x24337 (not (or $x24318 (not $x24341)))) $x24336)) @x24785 (unit-resolution @x24590 @x24566 $x24346) false)))
(let ((@x25245 (unit-resolution (lemma @x24756 (or $x10324 $x24315 $x23298 (not $x24170) $x23368 $x24385)) @x25244 @x25241 (unit-resolution @x24159 @x15336 @x24666 $x24170) (hypothesis $x23397) (hypothesis $x24332) $x10324)))
(let ((@x20768 (def-axiom (or $x20001 $x15590 $x15599 $x19995))))
(let ((@x25246 (unit-resolution @x20768 @x25245 @x24666 (unit-resolution (def-axiom (or $x20004 $x19998)) @x25236 $x19998) $x19995)))
(let ((@x20758 (def-axiom (or $x19992 $x19986))))
(let ((@x20662 (def-axiom (or $x19947 $x15611 $x15614 $x19941))))
(let ((@x24977 (unit-resolution @x20662 (unit-resolution (def-axiom (or $x19950 $x19944)) (hypothesis $x19953) $x19944) @x24971 (unit-resolution @x24996 @x23427 $x13353) $x19941)))
(let ((@x20652 (def-axiom (or $x19938 $x19932))))
(let (($x20596 (>= ?x11582 (- 1))))
(let ((@x24640 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x19452 $x20596)) (unit-resolution (def-axiom (or $x19938 $x11580)) @x24977 $x11580) $x20596)))
(let ((?x11631 (* (- 1) v_b_L_H_max_G_3$)))
(let ((?x20720 (+ v_b_L_H_max_G_1$ ?x11631)))
(let (($x20721 (<= ?x20720 0)))
(let ((?x24669 (+ ?x10327 ?x11631)))
(let (($x24665 (<= ?x24669 0)))
(let (($x24691 (= ?x10327 v_b_L_H_max_G_3$)))
(let ((@x24748 (trans (monotonicity (hypothesis $x10338) (= $x24691 (= ?x10327 v_b_L_H_max_G_2$))) (commutativity (= (= ?x10327 v_b_L_H_max_G_2$) $x10333)) (= $x24691 $x10333))))
(let ((@x24239 (unit-resolution (hypothesis (not $x24691)) (mp (hypothesis $x10333) (symm @x24748 (= $x10333 $x24691)) $x24691) false)))
(let ((@x24667 (unit-resolution (lemma @x24239 (or $x24691 $x19469 $x19472)) (unit-resolution (def-axiom (or $x19950 $x10333)) (hypothesis $x19953) $x10333) (unit-resolution (def-axiom (or $x19950 $x10338)) (hypothesis $x19953) $x10338) $x24691)))
(let ((@x24699 (unit-resolution @x20768 (unit-resolution (def-axiom (or $x19950 $x10324)) (hypothesis $x19953) $x10324) @x24666 (hypothesis $x19998) $x19995)))
(let (($x20719 (= v_b_L_H_max_G_1$ v_b_L_H_max_G_3$)))
(let ((@x22521 (hypothesis $x24665)))
(let (($x20722 (>= ?x20720 0)))
(let ((@x24987 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x20722 $x20721)) (hypothesis (not $x20721)) $x20722)))
(let ((@x25026 (lemma ((_ th-lemma arith farkas 1 1 1) (hypothesis $x11515) (hypothesis $x20722) @x22521 false) (or $x11516 (not $x20722) (not $x24665)))))
(let ((@x25004 (unit-resolution (def-axiom (or $x19974 $x11515)) (unit-resolution @x25026 @x24987 @x22521 $x11516) $x19974)))
(let ((@x20748 (def-axiom (or $x19989 $x19977 $x19983))))
(let ((@x20732 (def-axiom (or $x19980 $x10391))))
(let ((@x24978 (unit-resolution @x20732 (unit-resolution @x20748 @x25004 (hypothesis $x19986) $x19983) $x10391)))
(let ((@x25028 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x20719) $x20721)) (hypothesis (not $x20721)) (not $x20719))))
(let ((@x24992 (unit-resolution @x25028 (mp @x24978 (symm (commutativity (= $x20719 $x10391)) (= $x10391 $x20719)) $x20719) false)))
(let ((@x24755 (unit-resolution (lemma @x24992 (or $x20721 $x19989 (not $x24665))) (unit-resolution @x20758 @x24699 $x19986) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x24691) $x24665)) @x24667 $x24665) $x20721)))
(let ((@x24801 (monotonicity (monotonicity (hypothesis $x10340) (= ?x10372 ?x10320)) (= ?x10373 ?x10327))))
(let ((@x24798 (trans @x24801 (symm (hypothesis $x10333) (= ?x10327 v_b_L_H_max_G_2$)) (= ?x10373 v_b_L_H_max_G_2$))))
(let ((@x24758 (trans @x24798 (symm (hypothesis $x10338) (= v_b_L_H_max_G_2$ v_b_L_H_max_G_3$)) $x10374)))
(let ((@x24760 (lemma (unit-resolution (hypothesis $x19411) @x24758 false) (or $x10374 $x19472 $x19469 $x19473))))
(let ((@x25092 (unit-resolution @x24760 (unit-resolution (def-axiom (or $x19950 $x10338)) (hypothesis $x19953) $x10338) (unit-resolution (def-axiom (or $x19950 $x10333)) (hypothesis $x19953) $x10333) (unit-resolution (def-axiom (or $x19950 $x10340)) (hypothesis $x19953) $x10340) $x10374)))
(let ((?x11645 (* (- 1) v_b_SL_H_witness_G_1$)))
(let ((?x24983 (+ v_b_L_H_p_G_0$ ?x11645)))
(let (($x24986 (>= ?x24983 0)))
(let (($x25036 (= v_b_L_H_p_G_0$ v_b_SL_H_witness_G_1$)))
(let ((@x24772 (mp (hypothesis $x10340) (symm (commutativity (= $x25036 $x10340)) (= $x10340 $x25036)) $x25036)))
(let ((@x25067 (lemma (unit-resolution (hypothesis (not $x25036)) @x24772 false) (or $x25036 $x19473))))
(let ((@x25089 (unit-resolution @x25067 (unit-resolution (def-axiom (or $x19950 $x10340)) (hypothesis $x19953) $x10340) $x25036)))
(let ((@x25136 (lemma ((_ th-lemma arith farkas 1 -1 1) (hypothesis $x24986) (hypothesis $x11647) @x23427 false) (or (not $x24986) $x11648 $x11486))))
(let ((@x25093 (unit-resolution @x25136 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x25036) $x24986)) @x25089 $x24986) @x23427 $x11648)))
(let ((@x20614 (def-axiom (or $x19413 $x11647 $x19411))))
(let ((@x20618 (def-axiom (or $x19914 $x19412))))
(let ((?x15869 (* (- 1) ?v0!14)))
(let ((?x24928 (+ v_b_L_H_p_G_0$ ?x15869)))
(let (($x25152 (>= ?x24928 0)))
(let (($x25082 (not $x25152)))
(let (($x25159 (= v_b_L_H_p_G_0$ ?v0!14)))
(let (($x25184 (not $x25159)))
(let (($x25165 (= ?x10327 ?x15634)))
(let (($x25169 (not $x25165)))
(let ((?x23824 (+ ?x10327 ?x15891)))
(let (($x23830 (>= ?x23824 0)))
(let (($x23816 (not $x23830)))
(let ((@x23818 (hypothesis (not $x15893))))
(let ((@x23838 (lemma ((_ th-lemma arith farkas -1 -1 1) @x22521 @x23818 (hypothesis $x23830) false) (or $x23816 (not $x24665) $x15893))))
(let ((@x25123 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x25169 $x23830)) (unit-resolution @x23838 @x22521 @x23818 $x23816) $x25169)))
(let ((@x25179 (monotonicity (symm (hypothesis $x25159) (= ?v0!14 v_b_L_H_p_G_0$)) (= ?x15633 ?x10320))))
(let ((@x25183 (unit-resolution (hypothesis $x25169) (symm (monotonicity @x25179 (= ?x15634 ?x10327)) $x25165) false)))
(let (($x24929 (<= ?x24928 0)))
(let (($x24941 (>= (+ v_b_L_H_max_G_1$ ?x15891) 0)))
(let (($x23835 (not $x24941)))
(let ((@x25078 (unit-resolution ((_ th-lemma arith assign-bounds 1 1) (or $x23835 $x15893 (not $x20721))) (hypothesis $x20721) @x23818 $x23835)))
(let ((@x25066 (hypothesis $x20596)))
(let ((@x23813 ((_ th-lemma arith assign-bounds -1 -1) (or $x11608 $x11486 (not $x20596)))))
(let ((@x20638 (def-axiom (or $x19935 $x11612 $x19929))))
(let ((@x25144 (unit-resolution @x20638 (unit-resolution @x23813 @x25066 @x23427 $x11608) (hypothesis $x19932) $x19929)))
(let ((@x20630 (def-axiom (or $x19926 $x19920))))
(let ((@x20626 (def-axiom (or $x19923 $x19386 $x19917))))
(let ((@x25132 (unit-resolution @x20626 (unit-resolution @x20630 @x25144 $x19920) (hypothesis $x19914) $x19386)))
(let (($x24949 (or $x19903 $x19365 $x19366 $x24929 $x24941)))
(let (($x24778 (<= (+ ?x15634 (* (- 1) v_b_L_H_max_G_1$)) 0)))
(let (($x24909 (>= (+ ?v0!14 ?x11484) 0)))
(let (($x24784 (or $x19365 $x19366 $x24909 $x24778)))
(let (($x24950 (or $x19903 $x24784)))
(let (($x24935 (= (+ ?x15634 (* (- 1) v_b_L_H_max_G_1$)) (+ (* (- 1) v_b_L_H_max_G_1$) ?x15634))))
(let ((@x24939 (monotonicity (rewrite $x24935) (= $x24778 (<= (+ (* (- 1) v_b_L_H_max_G_1$) ?x15634) 0)))))
(let ((@x24945 (trans @x24939 (rewrite (= (<= (+ (* (- 1) v_b_L_H_max_G_1$) ?x15634) 0) $x24941)) (= $x24778 $x24941))))
(let ((@x24905 (monotonicity (rewrite (= (+ ?v0!14 ?x11484) (+ ?x11484 ?v0!14))) (= $x24909 (>= (+ ?x11484 ?v0!14) 0)))))
(let ((@x24933 (trans @x24905 (rewrite (= (>= (+ ?x11484 ?v0!14) 0) $x24929)) (= $x24909 $x24929))))
(let ((@x24954 (monotonicity (monotonicity @x24933 @x24945 (= $x24784 (or $x19365 $x19366 $x24929 $x24941))) (= $x24950 (or $x19903 (or $x19365 $x19366 $x24929 $x24941))))))
(let ((@x24958 (trans @x24954 (rewrite (= (or $x19903 (or $x19365 $x19366 $x24929 $x24941)) $x24949)) (= $x24950 $x24949))))
(let ((@x23833 (unit-resolution (mp ((_ quant-inst ?v0!14) $x24950) @x24958 $x24949) @x23333 (unit-resolution (def-axiom (or $x19381 $x15626)) @x25132 $x15626) (unit-resolution (def-axiom (or $x19381 $x15627)) @x25132 $x15627) (or $x24929 $x24941))))
(let ((@x25097 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x25159 (not $x24929) $x25082)) (unit-resolution @x23833 @x25078 $x24929) (or $x25159 $x25082))))
(let ((@x25098 (unit-resolution @x25097 (unit-resolution (lemma @x25183 (or $x25184 $x25165)) @x25123 $x25184) $x25082)))
(let ((@x25100 ((_ th-lemma arith farkas -1 -1 1) (unit-resolution (def-axiom (or $x19381 $x15876)) @x25132 $x15876) @x25066 @x25098 false)))
(let ((@x25087 (lemma @x25100 (or (not $x24665) (not $x20596) $x15893 $x19903 (not $x20721) $x19917 $x19935 $x11486))))
(let ((@x25104 (unit-resolution @x25087 (unit-resolution @x20618 (unit-resolution @x20614 @x25093 @x25092 $x19413) $x19914) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x24691) $x24665)) @x24667 $x24665) @x23333 @x24755 @x24640 (unit-resolution @x20652 @x24977 $x19932) @x23427 $x15893)))
(let ((@x25102 (unit-resolution @x20638 (unit-resolution @x23813 @x24640 @x23427 $x11608) (unit-resolution @x20652 @x24977 $x19932) $x19929)))
(let ((@x25125 (unit-resolution @x20626 (unit-resolution @x20618 (unit-resolution @x20614 @x25093 @x25092 $x19413) $x19914) (unit-resolution @x20630 @x25102 $x19920) $x19386)))
(let ((@x20605 (def-axiom (or $x19381 (not $x15893)))))
(let ((@x25095 (lemma (unit-resolution @x20605 @x25125 @x25104 false) (or $x19950 $x19903 $x11486 $x15611 $x15590 $x20001))))
(let ((@x25249 (unit-resolution @x25095 (unit-resolution (def-axiom (or $x20074 $x19898)) (hypothesis $x20077) $x19898) @x23427 @x24971 @x24666 (unit-resolution (def-axiom (or $x20004 $x19998)) @x25236 $x19998) $x19950)))
(let ((@x25250 (unit-resolution (def-axiom (or $x19959 $x15590 $x15599 $x19953)) @x25245 @x24666 @x25249 $x19959)))
(let ((@x25252 (unit-resolution (def-axiom (or $x19971 $x15590 $x15593 $x19965)) (unit-resolution (def-axiom (or $x19962 $x19956)) @x25250 $x19962) @x24666 @x25230 $x19971)))
(let ((@x25254 (unit-resolution @x20748 (unit-resolution (def-axiom (or $x19974 $x19968)) @x25252 $x19974) (unit-resolution @x20758 @x25246 $x19986) $x19983)))
(let ((@x25256 (unit-resolution @x20662 (unit-resolution (def-axiom (or $x19980 $x19944)) @x25254 $x19944) @x24971 (unit-resolution @x24996 @x23427 $x13353) $x19941)))
(let ((@x25259 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x19452 $x20596)) (unit-resolution (def-axiom (or $x19938 $x11580)) @x25256 $x11580) $x20596)))
(let ((@x25261 (unit-resolution @x20638 (unit-resolution @x23813 @x25259 @x23427 $x11608) (unit-resolution @x20652 @x25256 $x19932) $x19929)))
(let ((@x25267 (monotonicity (unit-resolution (def-axiom (or $x19980 $x10392)) @x25254 $x10392) (= ?x10372 ?x10190))))
(let ((@x25272 (trans (monotonicity @x25267 (= ?x10373 ?x10191)) (unit-resolution (def-axiom (or $x20074 $x10192)) (hypothesis $x20077) $x10192) (= ?x10373 v_b_L_H_max_G_1$))))
(let ((?x20724 (+ v_b_SL_H_witness_G_0$ ?x11645)))
(let (($x20726 (>= ?x20724 0)))
(let (($x20723 (= v_b_SL_H_witness_G_0$ v_b_SL_H_witness_G_1$)))
(let ((@x25279 (mp (unit-resolution (def-axiom (or $x19980 $x10392)) @x25254 $x10392) (symm (commutativity (= $x20723 $x10392)) (= $x10392 $x20723)) $x20723)))
(let ((@x25229 (lemma ((_ th-lemma arith farkas 1 -1 1) (hypothesis $x20726) (hypothesis $x11647) @x23180 false) (or $x11648 (not $x20726) $x11867))))
(let ((@x25284 (unit-resolution @x25229 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x20723) $x20726)) @x25279 $x20726) (unit-resolution (def-axiom (or $x20074 $x11868)) (hypothesis $x20077) $x11868) $x11648)))
(let ((@x25285 (unit-resolution @x20614 @x25284 (trans @x25272 (symm (unit-resolution @x20732 @x25254 $x10391) $x20719) $x10374) $x19413)))
(let ((@x25287 (unit-resolution @x20626 (unit-resolution @x20618 @x25285 $x19914) (unit-resolution @x20630 @x25261 $x19920) $x19386)))
(let ((@x25289 (mp (unit-resolution @x20732 @x25254 $x10391) (symm (commutativity (= $x20719 $x10391)) (= $x10391 $x20719)) $x20719)))
(let ((@x25293 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1) (or $x24665 $x11515 (not $x20721))) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x20719) $x20721)) @x25289 $x20721) (unit-resolution (def-axiom (or $x19980 $x11516)) @x25254 $x11516) $x24665)))
(let ((@x25294 (unit-resolution @x25087 (unit-resolution @x20618 @x25285 $x19914) (unit-resolution @x20652 @x25256 $x19932) (unit-resolution (def-axiom (or $x20074 $x19898)) (hypothesis $x20077) $x19898) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x20719) $x20721)) @x25289 $x20721) @x25293 @x25259 @x23427 $x15893)))
(let ((@x25297 (lemma (unit-resolution @x20605 @x25294 @x25287 false) (or $x20074 $x11486 $x15611 $x15590 $x15593 $x23368 $x24385))))
(let ((@x24156 (unit-resolution @x25297 @x24155 @x24113 @x24166 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x11570 $x19670)) @x24140 $x11570) @x24136 @x24176 $x24385)))
(let ((?x24715 (+ ?x23287 ?x23622)))
(let ((?x24720 (b_S_ptr$ b_T_T_u1$ ?x24715)))
(let ((?x24697 (b_S_idx$ ?x21983 v_b_L_H_p_G_0$ b_T_T_u1$)))
(let (($x24723 (= ?x24697 ?x24720)))
(let (($x24726 (not $x24723)))
(let (($x24698 (b_S_extent_n_hint$ ?x24697 ?x21983)))
(let (($x24705 (not $x24698)))
(let (($x24729 (or $x24705 $x24726)))
(let (($x24732 (not $x24729)))
(let (($x24735 (or $x22568 $x24732)))
(let (($x24709 (not (= ?x24697 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 (* v_b_L_H_p_G_0$ ?x10045)))))))
(let (($x24711 (not (or $x24705 $x24709))))
(let (($x24724 (= (= ?x24697 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 (* v_b_L_H_p_G_0$ ?x10045)))) $x24723)))
(let ((@x24714 (monotonicity @x23250 (= (+ ?x23622 (* v_b_L_H_p_G_0$ ?x10045)) (+ ?x23622 ?x23287)))))
(let ((@x24719 (trans @x24714 (rewrite (= (+ ?x23622 ?x23287) ?x24715)) (= (+ ?x23622 (* v_b_L_H_p_G_0$ ?x10045)) ?x24715))))
(let ((@x24722 (monotonicity @x24719 (= (b_S_ptr$ b_T_T_u1$ (+ ?x23622 (* v_b_L_H_p_G_0$ ?x10045))) ?x24720))))
(let ((@x24731 (monotonicity (monotonicity (monotonicity @x24722 $x24724) (= $x24709 $x24726)) (= (or $x24705 $x24709) $x24729))))
(let ((@x24739 (monotonicity (monotonicity @x24731 (= $x24711 $x24732)) (= (or $x22568 $x24711) $x24735))))
(let ((@x24743 (mp ((_ quant-inst (b_S_ptr$ ?x10076 ?x21014) v_b_L_H_p_G_0$ b_T_T_u1$) (or $x22568 $x24711)) (trans @x24739 (rewrite (= $x24735 $x24735)) (= (or $x22568 $x24711) $x24735)) $x24735)))
(let ((@x24747 (def-axiom (or $x24729 $x24723))))
(let ((@x23880 (unit-resolution @x24747 (lemma (unit-resolution @x24743 @x18183 (hypothesis $x24729) false) $x24732) $x24723)))
(let ((?x24111 (+ ?x10079 ?x23287)))
(let ((?x24114 (b_S_ptr$ b_T_T_u1$ ?x24111)))
(let (($x23925 (= ?x10320 ?x24114)))
(let (($x23973 (or (not (b_S_extent_n_hint$ ?x10320 ?x10078)) (not $x23925))))
(let (($x23975 (not $x23973)))
(let (($x23999 (or $x22568 $x23975)))
(let (($x24108 (not (= ?x10320 (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045)))))))
(let (($x24110 (not (or (not (b_S_extent_n_hint$ ?x10320 ?x10078)) $x24108))))
(let (($x23928 (= (= ?x10320 (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045)))) $x23925)))
(let ((@x23927 (monotonicity (monotonicity @x23250 (= (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045)) ?x24111)) (= (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045))) ?x24114))))
(let ((@x23972 (monotonicity (monotonicity (monotonicity @x23927 $x23928) (= $x24108 (not $x23925))) (= (or (not (b_S_extent_n_hint$ ?x10320 ?x10078)) $x24108) $x23973))))
(let ((@x23964 (monotonicity (monotonicity @x23972 (= $x24110 $x23975)) (= (or $x22568 $x24110) $x23999))))
(let ((@x23967 (mp ((_ quant-inst (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) v_b_L_H_p_G_0$ b_T_T_u1$) (or $x22568 $x24110)) (trans @x23964 (rewrite (= $x23999 $x23999)) (= (or $x22568 $x24110) $x23999)) $x23999)))
(let ((@x24824 (unit-resolution (def-axiom (or $x23973 $x23925)) (unit-resolution @x23967 @x18183 $x23975) $x23925)))
(let ((?x24252 (+ ?x10079 ?x23287 (* (- 1) (b_S_ref$ ?x24114)))))
(let (($x24242 (= ?x24252 0)))
(let (($x24247 (or $x21152 $x24242)))
(let ((@x24254 (monotonicity (rewrite (= (= (b_S_ref$ ?x24114) ?x24111) $x24242)) (= (or $x21152 (= (b_S_ref$ ?x24114) ?x24111)) $x24247))))
(let ((@x24256 (trans @x24254 (rewrite (= $x24247 $x24247)) (= (or $x21152 (= (b_S_ref$ ?x24114) ?x24111)) $x24247))))
(let ((@x24827 (unit-resolution (mp ((_ quant-inst b_T_T_u1$ (+ ?x10079 ?x23287)) (or $x21152 (= (b_S_ref$ ?x24114) ?x24111))) @x24256 $x24247) @x19840 $x24242)))
(let ((@x24831 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x24242) (<= ?x24252 0))) @x24827 (<= ?x24252 0))))
(let ((@x24834 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x24242) (>= ?x24252 0))) @x24827 (>= ?x24252 0))))
(let (($x24814 (= ?x24111 ?x24715)))
(let ((?x24815 (* (- 1) ?x24715)))
(let ((?x24818 (+ ?x24111 ?x24815)))
(let (($x24819 (<= ?x24818 0)))
(let ((?x24234 (* (- 1) ?x21014)))
(let ((?x24214 (+ ?x10079 ?x24234)))
(let (($x24215 (<= ?x24214 0)))
(let ((@x24854 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x10079 ?x21014)) $x24215)) (symm (unit-resolution @x21192 @x19840 $x21186) (= ?x10079 ?x21014)) $x24215)))
(let ((?x24751 (* (- 1) ?x23622)))
(let ((?x24752 (+ ?x21014 ?x24751)))
(let (($x24753 (<= ?x24752 0)))
(let ((@x24857 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x21014 ?x23622)) $x24753)) (symm (monotonicity @x23670 (= ?x23622 ?x21014)) (= ?x21014 ?x23622)) $x24753)))
(let ((@x24862 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x24819 (not $x24753) (not $x24215))) @x24857 @x24854 $x24819)))
(let (($x24820 (>= ?x24818 0)))
(let (($x24216 (>= ?x24214 0)))
(let ((@x24841 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x10079 ?x21014)) $x24216)) (symm (unit-resolution @x21192 @x19840 $x21186) (= ?x10079 ?x21014)) $x24216)))
(let (($x24754 (>= ?x24752 0)))
(let ((@x24846 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x21014 ?x23622)) $x24754)) (symm (monotonicity @x23670 (= ?x23622 ?x21014)) (= ?x21014 ?x23622)) $x24754)))
(let ((@x24851 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x24820 (not $x24754) (not $x24216))) @x24846 @x24841 $x24820)))
(let ((@x24907 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x24814 (not $x24819) (not $x24820))) @x24851 @x24862 $x24814)))
(let ((@x24911 (trans (symm @x24907 (= ?x24715 ?x24111)) ((_ th-lemma arith eq-propagate -1 -1) @x24834 @x24831 (= ?x24111 (b_S_ref$ ?x24114))) (= ?x24715 (b_S_ref$ ?x24114)))))
(let ((@x24912 (trans @x24911 (monotonicity (symm @x24824 (= ?x24114 ?x10320)) (= (b_S_ref$ ?x24114) ?x24147)) (= ?x24715 ?x24147))))
(let ((@x24915 (trans (monotonicity @x23682 (= ?x24598 ?x24697)) (hypothesis $x24723) (= ?x24598 ?x24720))))
(let ((@x24917 (monotonicity (trans @x24915 (monotonicity @x24912 (= ?x24720 ?x24169)) (= ?x24598 ?x24169)) (= ?x24302 ?x24320))))
(let ((@x24920 (trans (monotonicity (symm @x24917 (= ?x24320 ?x24302)) (= ?x24323 ?x24605)) (hypothesis $x24606) (= ?x24323 ?x22595))))
(let ((@x24924 (trans (monotonicity (trans @x24920 @x23680 (= ?x24323 ?x10080)) (= ?x24331 ?x10082)) @x12043 $x24332)))
(let ((@x24927 (lemma (unit-resolution (hypothesis $x24385) @x24924 false) (or $x24726 $x24332 $x24607))))
(unit-resolution (unit-resolution @x24927 @x23880 (or $x24332 $x24607)) @x24156 @x24149 false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))