src/HOL/SMT_Examples/VCC_Max.certs
changeset 58367 8af1e68d7e1a
parent 57232 8cecd655eef4
child 59046 db5a718e8c09
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/SMT_Examples/VCC_Max.certs	Thu Sep 18 00:03:46 2014 +0200
@@ -0,0 +1,2973 @@
+05a761f33f246f0fee720bec6f015ca5aba01c4d 2972 0
+unsat
+((set-logic <null>)
+(declare-fun ?v0!14 () Int)
+(declare-fun ?v0!15 () Int)
+(declare-fun ?v0!13 () Int)
+(proof
+(let ((?x10078 (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$)))
+(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 (($x11647 (<= (+ v_b_P_H_len$ (* (- 1) v_b_SL_H_witness_G_1$)) 0)))
+(let (($x19412 (or $x11647 (not $x10374))))
+(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$) )))
+))
+(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 ((?x11581 (* (- 1) v_b_L_H_p_G_1$)))
+(let ((?x11609 (+ v_b_P_H_len$ ?x11581)))
+(let (($x11608 (>= ?x11609 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 ((?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 (($x11429 (>= v_b_L_H_p_G_0$ 1)))
+(let (($x19474 (not $x11429)))
+(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 (($x11432 (>= v_b_SL_H_witness_G_0$ 0)))
+(let (($x19501 (not $x11432)))
+(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 ((?x11518 (+ v_b_L_H_max_G_1$ ?x11517)))
+(let (($x11516 (>= ?x11518 0)))
+(let (($x11515 (not $x11516)))
+(let (($x19980 (or $x11515 $x19501 $x19512 $x19513 $x19474 $x19455 $x19947)))
+(let (($x19983 (not $x19980)))
+(let ((?x25039 (+ ?x10327 ?x15891)))
+(let (($x25041 (>= ?x25039 0)))
+(let (($x25038 (= ?x10327 ?x15634)))
+(let (($x25035 (= v_b_L_H_p_G_0$ ?v0!14)))
+(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 ((?x23404 (b_S_ref$ ?x10320)))
+(let ((?x23228 (b_S_ptr$ b_T_T_u1$ ?x23404)))
+(let ((?x23728 (b_S_typ$ ?x23228)))
+(let ((?x23730 (b_S_kind_n_of$ ?x23728)))
+(let (($x24098 (= ?x23730 b_S_kind_n_primitive$)))
+(let ((?x21472 (b_S_kind_n_of$ b_T_T_u1$)))
+(let (($x21473 (= ?x21472 b_S_kind_n_primitive$)))
+(let (($x9768 (b_S_is_n_primitive$ b_T_T_u1$)))
+(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) )))
+))
+(let ((?x9849 (b_S_kind_n_of$ ?0)))
+(let (($x9883 (= ?x9849 b_S_kind_n_primitive$)))
+(let (($x2704 (b_S_is_n_primitive$ ?0)))
+(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) )))
+))
+(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 ((@x9769 (asserted $x9768)))
+(let ((@x23544 (unit-resolution (def-axiom (or (not $x21480) (not $x9768) $x21473)) @x9769 (or (not $x21480) $x21473))))
+(let ((?x23241 (b_S_typ$ ?x10320)))
+(let (($x23242 (= ?x23241 b_T_T_u1$)))
+(let (($x23270 (= $x10321 $x23242)))
+(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) )))
+))
+(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)))))
+))
+(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)))))
+))
+(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 (($x23990 (or $x22002 $x23270)))
+(let ((@x23870 ((_ quant-inst (b_S_idx$ ?x10078 v_b_L_H_p_G_0$ b_T_T_u1$) b_T_T_u1$) $x23990)))
+(let ((?x10045 (b_S_sizeof$ b_T_T_u1$)))
+(let ((?x23278 (* ?x10045 v_b_L_H_p_G_0$)))
+(let ((?x10079 (b_S_ref$ ?x10078)))
+(let ((?x24174 (+ ?x10079 ?x23278)))
+(let ((?x24198 (b_S_ptr$ b_T_T_u1$ ?x24174)))
+(let ((?x23028 (b_S_typ$ ?x24198)))
+(let (($x23029 (= ?x23028 b_T_T_u1$)))
+(let (($x19841 (forall ((?v0 B_S_ctype$) (?v1 Int) )(!(= (b_S_typ$ (b_S_ptr$ ?v0 ?v1)) ?v0) :pattern ( (b_S_ptr$ ?v0 ?v1) )))
+))
+(let (($x9659 (forall ((?v0 B_S_ctype$) (?v1 Int) )(= (b_S_typ$ (b_S_ptr$ ?v0 ?v1)) ?v0))
+))
+(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 (($x24201 (= ?x10320 ?x24198)))
+(let (($x24214 (not $x24201)))
+(let (($x24067 (b_S_extent_n_hint$ ?x10320 ?x10078)))
+(let (($x24065 (not $x24067)))
+(let (($x24160 (or $x24065 $x24214)))
+(let (($x24161 (not $x24160)))
+(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) )))
+))
+(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) )))
+))
+(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 (($x24300 (or $x22568 $x24161)))
+(let (($x24080 (not (= ?x10320 (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045)))))))
+(let (($x24081 (not (or $x24065 $x24080))))
+(let (($x24202 (= (= ?x10320 (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045)))) $x24201)))
+(let ((@x24197 (monotonicity (rewrite (= (* v_b_L_H_p_G_0$ ?x10045) ?x23278)) (= (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045)) ?x24174))))
+(let ((@x24200 (monotonicity @x24197 (= (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045))) ?x24198))))
+(let ((@x24150 (monotonicity (monotonicity (monotonicity @x24200 $x24202) (= $x24080 $x24214)) (= (or $x24065 $x24080) $x24160))))
+(let ((@x24316 (monotonicity (monotonicity @x24150 (= $x24081 $x24161)) (= (or $x22568 $x24081) $x24300))))
+(let ((@x24299 (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 $x24081)) (trans @x24316 (rewrite (= $x24300 $x24300)) (= (or $x22568 $x24081) $x24300)) $x24300)))
+(let ((@x24341 (unit-resolution (def-axiom (or $x24160 $x24201)) (unit-resolution @x24299 @x18183 $x24161) $x24201)))
+(let ((@x24343 (trans (monotonicity @x24341 (= ?x23241 ?x23028)) (unit-resolution ((_ quant-inst b_T_T_u1$ (+ ?x10079 ?x23278)) (or (not $x19841) $x23029)) @x19846 $x23029) $x23242)))
+(let (($x23889 (not $x23242)))
+(let ((@x24337 (unit-resolution (def-axiom (or (not $x23270) $x10321 $x23889)) (hypothesis $x15590) (or (not $x23270) $x23889))))
+(let ((@x24344 (unit-resolution (unit-resolution @x24337 (unit-resolution @x23870 @x19833 $x23270) $x23889) @x24343 false)))
+(let ((@x24345 (lemma @x24344 $x10321)))
+(let ((@x25031 (unit-resolution (def-axiom (or (not $x23270) $x15590 $x23242)) @x24345 (or (not $x23270) $x23242))))
+(let (($x23306 (= ?x10320 ?x23228)))
+(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) )))
+))
+(let (($x9604 (or (not $x9596) (= ?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) )))
+))
+(let ((@x9606 (rewrite (= (=> $x9596 (= ?1 (b_S_ptr$ ?0 (b_S_ref$ ?1)))) $x9604))))
+(let ((@x15336 (mp~ (mp (asserted $x9601) (quant-intro @x9606 (= $x9601 $x9607)) $x9607) (nnf-pos (refl (~ $x9604 $x9604)) (~ $x9607 $x9607)) $x9607)))
+(let (($x21994 (not $x9607)))
+(let (($x24294 (or $x21994 $x15590 $x23306)))
+(let ((@x24335 (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 $x23306))) (rewrite (= (or $x21994 (or $x15590 $x23306)) $x24294)) $x24294)))
+(let ((@x25262 (symm (unit-resolution @x24335 @x15336 @x24345 $x23306) (= ?x23228 ?x10320))))
+(let ((@x24694 (trans (monotonicity @x25262 (= ?x23728 ?x23241)) (unit-resolution @x25031 (unit-resolution @x23870 @x19833 $x23270) $x23242) (= ?x23728 b_T_T_u1$))))
+(let ((@x24696 (trans (monotonicity @x24694 (= ?x23730 ?x21472)) (unit-resolution @x23544 (unit-resolution @x21484 @x15456 $x21480) $x21473) $x24098)))
+(let ((?x10272 (b_S_typemap$ v_b_S_s$)))
+(let ((?x24217 (b_S_select_o_tm$ ?x10272 ?x23228)))
+(let ((?x24218 (b_S_ts_n_emb$ ?x24217)))
+(let (($x23775 (b_S_closed$ v_b_S_s$ ?x24218)))
+(let (($x23784 (not $x23775)))
+(let (($x23805 (b_S_ts_n_is_n_volatile$ ?x24217)))
+(let (($x23770 (not $x23805)))
+(let (($x23797 (or $x23770 $x23784)))
+(let ((@x24686 (monotonicity (monotonicity @x25262 (= ?x24217 (b_S_select_o_tm$ ?x10272 ?x10320))) (= $x23805 (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x10272 ?x10320))))))
+(let ((@x24702 (symm @x24686 (= (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x10272 ?x10320)) $x23805))))
+(let ((@x24701 (monotonicity @x24702 (= (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x10272 ?x10320))) $x23770))))
+(let ((?x23124 (b_S_select_o_tm$ ?x10272 ?x10320)))
+(let (($x23361 (b_S_ts_n_is_n_volatile$ ?x23124)))
+(let (($x23297 (not $x23361)))
+(let (($x23362 (or $x15593 $x23361)))
+(let (($x23363 (not $x23362)))
+(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$) )))
+))
+(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$) )))
+))
+(let (($x20027 (not $x20022)))
+(let (($x20038 (or $x20027 $x20035)))
+(let (($x20041 (not $x20038)))
+(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 (($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 (($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 ((?x11865 (* (- 1) v_b_SL_H_witness_G_0$)))
+(let ((?x11866 (+ v_b_P_H_len$ ?x11865)))
+(let (($x11867 (<= ?x11866 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$) )))
+))
+(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 (($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$) )))
+))
+(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 (($x15533 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x15530)) 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 (($x20589 (not $x15533)))
+(let (($x19318 (not $x19313)))
+(let ((@x23991 (hypothesis $x19318)))
+(let (($x10141 (b_S_thread_n_local$ v_b_S_s$ ?x10137)))
+(let ((?x21175 (b_S_typ$ ?x10078)))
+(let ((?x22803 (b_S_kind_n_of$ ?x21175)))
+(let (($x22807 (= ?x22803 b_S_kind_n_primitive$)))
+(let (($x21176 (= ?x21175 b_T_T_u1$)))
+(let (($x21147 (not $x19841)))
+(let (($x21181 (or $x21147 $x21176)))
+(let ((@x21182 ((_ quant-inst b_T_T_u1$ v_b_P_H_arr$) $x21181)))
+(let ((@x23076 (trans (monotonicity (unit-resolution @x21182 @x19846 $x21176) (= ?x22803 ?x21472)) (unit-resolution @x23544 (unit-resolution @x21484 @x15456 $x21480) $x21473) $x22807)))
+(let ((?x22818 (b_S_select_o_tm$ ?x10272 ?x10078)))
+(let ((?x22903 (b_S_ts_n_emb$ ?x22818)))
+(let (($x22904 (b_S_closed$ v_b_S_s$ ?x22903)))
+(let (($x22902 (b_S_ts_n_is_n_volatile$ ?x22818)))
+(let (($x22897 (not $x22902)))
+(let (($x22906 (or $x22897 (not $x22904))))
+(let ((?x22478 (b_S_select_o_tm$ ?x10272 ?x10137)))
+(let ((?x22485 (b_S_ref$ ?x10137)))
+(let ((?x22505 (b_S_ptr$ b_T_T_u1$ ?x22485)))
+(let ((?x22655 (b_S_select_o_tm$ ?x10272 ?x22505)))
+(let (($x22506 (= ?x10137 ?x22505)))
+(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 (($x22569 (or $x22568 $x22565)))
+(let (($x22542 (or $x22524 (not (= ?x10137 (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* 0 ?x10045))))))))
+(let (($x22543 (not $x22542)))
+(let (($x22560 (= (not (= ?x10137 (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* 0 ?x10045))))) $x22559)))
+(let ((@x22548 (monotonicity (rewrite (= (* 0 ?x10045) 0)) (= (+ ?x10079 (* 0 ?x10045)) (+ ?x10079 0)))))
+(let ((@x22552 (trans @x22548 (rewrite (= (+ ?x10079 0) ?x10079)) (= (+ ?x10079 (* 0 ?x10045)) ?x10079))))
+(let ((@x22555 (monotonicity @x22552 (= (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* 0 ?x10045))) ?x22553))))
+(let ((@x22558 (monotonicity @x22555 (= (= ?x10137 (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* 0 ?x10045)))) $x22556))))
+(let ((@x22567 (monotonicity (monotonicity (monotonicity @x22558 $x22560) (= $x22542 $x22562)) (= $x22543 $x22565))))
+(let ((@x22576 (trans (monotonicity @x22567 (= (or $x22568 $x22543) $x22569)) (rewrite (= $x22569 $x22569)) (= (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)) @x22576 $x22569)))
+(let ((@x22581 (def-axiom (or $x22562 $x22556))))
+(let ((@x24189 (unit-resolution @x22581 (lemma (unit-resolution @x22577 @x18183 (hypothesis $x22562) false) $x22565) $x22556)))
+(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) )))
+))
+(let (($x9655 (forall ((?v0 B_S_ctype$) (?v1 Int) )(= (b_S_ref$ (b_S_ptr$ ?v0 ?v1)) ?v1))
+))
+(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 ((@x24511 (unit-resolution @x21185 @x19840 $x21179)))
+(let ((@x22852 (monotonicity @x24511 (= ?x22553 ?x10078))))
+(let ((@x24073 (monotonicity (trans (hypothesis $x22556) @x22852 (= ?x10137 ?x10078)) (= ?x22485 ?x10079))))
+(let ((@x22338 (symm (monotonicity (trans @x24073 @x24511 (= ?x22485 v_b_P_H_arr$)) (= ?x22505 ?x10078)) (= ?x10078 ?x22505))))
+(let ((@x22340 (unit-resolution (hypothesis (not $x22506)) (trans (trans (hypothesis $x22556) @x22852 (= ?x10137 ?x10078)) @x22338 $x22506) false)))
+(let ((@x23667 (unit-resolution (lemma @x22340 (or $x22559 $x22506)) @x24189 $x22506)))
+(let ((@x23699 (trans (symm @x22852 (= ?x10078 ?x22553)) (symm @x24189 (= ?x22553 ?x10137)) (= ?x10078 ?x10137))))
+(let ((@x22940 (trans (monotonicity (trans @x23699 @x23667 (= ?x10078 ?x22505)) (= ?x22818 ?x22655)) (symm (monotonicity @x23667 (= ?x22478 ?x22655)) (= ?x22655 ?x22478)) (= ?x22818 ?x22478))))
+(let ((@x23082 (symm (monotonicity @x22940 (= $x22902 (b_S_ts_n_is_n_volatile$ ?x22478))) (= (b_S_ts_n_is_n_volatile$ ?x22478) $x22902))))
+(let (($x22602 (b_S_ts_n_is_n_volatile$ ?x22478)))
+(let (($x22641 (not $x22602)))
+(let (($x10139 (b_S_typed$ v_b_S_s$ ?x10137)))
+(let (($x15505 (not $x10139)))
+(let (($x22603 (or $x15505 $x22602)))
+(let (($x22604 (not $x22603)))
+(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 ((?x22343 (b_S_domain$ v_b_S_s$ ?x21983)))
+(let ((?x22595 (b_S_ptr$ ?x10076 v_b_P_H_arr$)))
+(let (($x22596 (b_S_set_n_in$ ?x22595 ?x22343)))
+(let ((@x24530 (monotonicity (symm @x24511 (= 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) )))
+))
+(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) )))
+))
+(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))))))))))
+))
+(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)))))))))))))
+))
+(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)))))))))))))
+))
+(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)))))))))))))
+))
+(let (($x11904 (>= ?x11574 0)))
+(let (($x11907 (>= (+ b_S_max_o_u4$ ?x11865) 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))))))))))))
+))
+(let (($x11414 (not $x11411)))
+(let (($x11984 (or $x11414 $x11979)))
+(let (($x11987 (and $x11411 $x11984)))
+(let (($x11382 (>= v_b_P_H_len$ 1)))
+(let (($x11385 (not $x11382)))
+(let (($x11990 (or $x11385 $x11987)))
+(let (($x11993 (and $x11382 $x11990)))
+(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 (($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 (($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 (($x10145 (= v_b_L_H_max_G_0$ ?x10144)))
+(let (($x10138 (b_S_is$ ?x10137 b_T_T_u1$)))
+(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)))))))))
+))
+(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)))))))))
+))
+(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))))))))
+))
+(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) )))
+))
+(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) )))
+))
+(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) )))
+))
+(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) )))
+))
+(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) )))
+))
+(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))))))))
+))
+(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))))))))
+))
+(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) )))
+))
+(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) )))
+))
+(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)))))))))
+))
+(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))))))))
+))
+(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))))))))
+))
+(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))))))))
+))
+(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) )))
+))
+(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) )))
+))
+(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) )))
+))
+(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) )))
+))
+(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 ((@x10561 (rewrite (= $x10203 false))))
+(let ((@x10589 (monotonicity @x10561 (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 (($x21982 (not $x10084)))
+(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 ((@x24520 (symm (unit-resolution @x22000 @x15336 @x12044 $x21990) (= ?x21983 ?x10080))))
+(let ((@x22795 (monotonicity (trans @x24520 (symm @x24530 (= ?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$))))))) )))
+))
+(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) )))
+))
+(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) )))
+))
+(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 (($x22612 (or (not $x8728) $x22326)))
+(let ((@x22613 ((_ quant-inst v_b_S_s$ (b_S_ptr$ ?x10076 ?x21014) (b_S_ptr$ ?x10076 ?x21014) b_l_H_public$) $x22612)))
+(let (($x35 (= b_S_kind_n_primitive$ b_S_kind_n_array$)))
+(let (($x36 (not $x35)))
+(let (($x22488 (= $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) )))
+))
+(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) )))
+))
+(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) )))
+))
+(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 ((@x22406 (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 (($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 ((@x22414 (trans (monotonicity @x24520 (= ?x22234 ?x21180)) (unit-resolution @x21189 @x19846 $x21183) (= ?x22234 ?x10076))))
+(let ((@x22418 (trans (monotonicity @x22414 (= ?x22387 ?x10086)) (unit-resolution @x22406 (unit-resolution @x22160 @x15446 $x22149) $x22148) (= ?x22387 b_S_kind_n_array$))))
+(let ((@x22857 (monotonicity @x22418 (= $x22388 (= b_S_kind_n_array$ b_S_kind_n_primitive$)))))
+(let ((@x22500 (trans @x22857 (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 ((@x22935 (monotonicity (symm (monotonicity @x24520 @x24520 (= $x22317 $x10136)) (= $x10136 $x22317)) (= $x11221 $x22336))))
+(let ((@x22938 (unit-resolution (def-axiom (or (not $x22326) $x22317 $x22333)) (mp (hypothesis $x11221) @x22935 $x22336) (unit-resolution @x22613 @x15021 $x22326) $x22333)))
+(let (($x22368 (b_S_is$ ?x21983 ?x22234)))
+(let ((@x22885 (mp @x12044 (symm (monotonicity @x24520 @x22414 (= $x22368 $x10084)) (= $x10084 $x22368)) $x22368)))
+(let (($x22385 (b_S_typed$ v_b_S_s$ ?x21983)))
+(let ((@x12045 (and-elim @x12033 $x10085)))
+(let ((@x22517 (mp @x12045 (symm (monotonicity @x24520 (= $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 ((@x22429 (mp @x12042 (symm (monotonicity @x24520 (= $x22248 $x10081)) (= $x10081 $x22248)) $x22248)))
+(let (($x22235 (b_S_is_n_non_n_primitive$ ?x22234)))
+(let ((@x12047 (and-elim @x12033 $x10089)))
+(let ((@x22409 (mp @x12047 (symm (monotonicity @x22414 (= $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) )))
+))
+(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) )))
+))
+(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) )))
+))
+(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) )))
+))
+(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 (($x24309 (or (not $x18905) $x19677 $x22272 (not $x22259) $x22384 $x22386 $x22388 $x22242 $x22318)))
+(let (($x22614 (= (or (not $x18905) (or $x19677 $x22272 (not $x22259) $x22384 $x22386 $x22388 $x22242 $x22318)) $x24309)))
+(let ((@x24028 ((_ 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 ((@x24070 (mp @x24028 (rewrite $x22614) $x24309)))
+(let ((@x22410 (unit-resolution @x24070 @x18908 @x12050 @x22409 @x22429 (trans (monotonicity @x24520 (= ?x22243 ?x10082)) @x12043 $x22259) (or $x22384 $x22386 $x22388 $x22318))))
+(let ((@x22411 (unit-resolution @x22410 @x22517 @x22885 @x22938 (mp @x75 (monotonicity (symm @x22500 (= $x35 $x22388)) $x22488) (not $x22388)) false)))
+(let ((@x22434 (lemma @x22411 $x10136)))
+(let ((@x22687 (mp @x22434 (symm (monotonicity @x24520 @x24520 (= $x22317 $x10136)) (= $x10136 $x22317)) $x22317)))
+(let ((@x22688 (unit-resolution (def-axiom (or (not $x22326) $x22336 $x22318)) @x22687 (unit-resolution @x22613 @x15021 $x22326) $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)) )))
+))
+(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) )))
+))
+(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)) )))
+))
+(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) )))
+))
+(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)) )))
+))
+(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)) )))
+))
+(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)) )))
+))
+(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) )))
+))
+(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)) )))
+))
+(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) )))
+))
+(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)) )))
+))
+(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 (($x22607 (or (not $x18945) $x22333 $x22365)))
+(let ((@x22329 (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) $x22607)) $x22607)))
+(let ((@x22691 (unit-resolution (def-axiom (or $x22364 $x22344)) (unit-resolution (unit-resolution @x22329 @x18948 $x22366) @x22688 $x22365) $x22344)))
+(let ((@x12041 (and-elim @x12033 $x11260)))
+(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) )))
+))
+(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) )))
+))
+(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 (($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) )))
+))
+(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) )))
+))
+(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 (($x22733 (or $x22629 $x19677 $x21489 $x22597 $x11259 $x22604)))
+(let (($x22601 (>= (+ 0 (* (- 1) v_b_P_H_len$)) 0)))
+(let (($x22599 (not (>= 0 0))))
+(let (($x22605 (or $x19677 $x21489 $x22597 $x22599 $x22601 $x22604)))
+(let (($x22734 (or $x22629 $x22605)))
+(let (($x22728 (or $x19677 $x21489 $x22597 $x11259 $x22604)))
+(let ((@x22717 (rewrite (= (+ 0 (* (- 1) v_b_P_H_len$)) (* (- 1) v_b_P_H_len$)))))
+(let ((@x22724 (trans (monotonicity @x22717 (= $x22601 (>= (* (- 1) v_b_P_H_len$) 0))) (rewrite (= (>= (* (- 1) v_b_P_H_len$) 0) $x11259)) (= $x22601 $x11259))))
+(let ((@x22715 (trans (monotonicity (rewrite (= (>= 0 0) true)) (= $x22599 $x10203)) @x10561 (= $x22599 false))))
+(let ((@x22727 (monotonicity @x22715 @x22724 (= $x22605 (or $x19677 $x21489 $x22597 false $x11259 $x22604)))))
+(let ((@x22732 (trans @x22727 (rewrite (= (or $x19677 $x21489 $x22597 false $x11259 $x22604) $x22728)) (= $x22605 $x22728))))
+(let ((@x22742 (trans (monotonicity @x22732 (= $x22734 (or $x22629 $x22728))) (rewrite (= (or $x22629 $x22728) $x22733)) (= $x22734 $x22733))))
+(let ((@x22743 (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$) $x22734) @x22742 $x22733)))
+(let ((@x22761 (unit-resolution @x22743 @x18670 @x9769 @x12041 @x12050 (mp @x22691 @x22795 $x22596) (hypothesis $x22603) false)))
+(let ((@x22760 (lemma @x22761 $x22604)))
+(let ((@x23294 (mp (unit-resolution (def-axiom (or $x22603 $x22641)) @x22760 $x22641) (monotonicity @x23082 (= $x22641 $x22897)) $x22897)))
+(let (($x22894 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x22903)))
+(let ((?x22893 (b_S_owner$ v_b_S_s$ ?x22903)))
+(let (($x22888 (= ?x22893 b_S_me$)))
+(let (($x22895 (or $x22888 $x22894)))
+(let (($x22896 (not $x22895)))
+(let ((?x22890 (b_S_typ$ ?x22903)))
+(let ((?x22891 (b_S_kind_n_of$ ?x22890)))
+(let (($x22892 (= ?x22891 b_S_kind_n_primitive$)))
+(let (($x22889 (not $x22906)))
+(let (($x22817 (not $x22807)))
+(let (($x22900 (or $x22817 $x22889 $x22892 $x22896)))
+(let (($x22952 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x10078)))
+(let (($x22953 (= (b_S_owner$ v_b_S_s$ ?x10078) b_S_me$)))
+(let (($x22954 (or $x22953 $x22952)))
+(let (($x22941 (not $x22954)))
+(let (($x22942 (or $x22807 $x22941)))
+(let (($x22920 (not $x22942)))
+(let (($x22901 (not $x22900)))
+(let (($x22921 (or $x22901 $x22920)))
+(let (($x22923 (not $x22921)))
+(let (($x22799 (b_S_typed$ v_b_S_s$ ?x10078)))
+(let (($x22802 (not $x22799)))
+(let (($x22939 (or $x22802 $x22923)))
+(let (($x22943 (not $x22939)))
+(let (($x22801 (b_S_thread_n_local$ v_b_S_s$ ?x10078)))
+(let (($x22944 (= $x22801 $x22943)))
+(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) )))
+))
+(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) )))
+))
+(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) )))
+))
+(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) )))
+))
+(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 (($x23521 (or (not $x19072) $x22944)))
+(let ((@x23524 ((_ quant-inst v_b_S_s$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$)) $x23521)))
+(let (($x23055 (not $x22801)))
+(let ((@x23295 (monotonicity (symm (monotonicity @x23699 (= $x22801 $x10141)) (= $x10141 $x22801)) (= (not $x10141) $x23055))))
+(let ((@x23090 (unit-resolution (def-axiom (or (not $x22944) $x22801 $x22939)) (mp (hypothesis (not $x10141)) @x23295 $x23055) (unit-resolution @x23524 @x19075 $x22944) $x22939)))
+(let ((@x23706 (mp (unit-resolution (def-axiom (or $x22603 $x10139)) @x22760 $x10139) (symm (monotonicity @x23699 (= $x22799 $x10139)) (= $x10139 $x22799)) $x22799)))
+(let ((@x23222 (unit-resolution (def-axiom (or $x22921 $x22900)) (unit-resolution (def-axiom (or $x22943 $x22802 $x22923)) @x23706 @x23090 $x22923) $x22900)))
+(let ((?x24419 (b_S_ref$ ?x21983)))
+(let ((?x24433 (b_S_ptr$ b_T_T_u1$ ?x24419)))
+(let ((?x24410 (b_S_idx$ ?x21983 0 b_T_T_u1$)))
+(let (($x24436 (= ?x24410 ?x24433)))
+(let (($x24439 (not $x24436)))
+(let (($x24411 (b_S_extent_n_hint$ ?x24410 ?x21983)))
+(let (($x24418 (not $x24411)))
+(let (($x24442 (or $x24418 $x24439)))
+(let (($x24445 (not $x24442)))
+(let (($x24448 (or $x22568 $x24445)))
+(let (($x24424 (or $x24418 (not (= ?x24410 (b_S_ptr$ b_T_T_u1$ (+ ?x24419 (* 0 ?x10045))))))))
+(let (($x24425 (not $x24424)))
+(let (($x24440 (= (not (= ?x24410 (b_S_ptr$ b_T_T_u1$ (+ ?x24419 (* 0 ?x10045))))) $x24439)))
+(let ((@x24428 (monotonicity (rewrite (= (* 0 ?x10045) 0)) (= (+ ?x24419 (* 0 ?x10045)) (+ ?x24419 0)))))
+(let ((@x24432 (trans @x24428 (rewrite (= (+ ?x24419 0) ?x24419)) (= (+ ?x24419 (* 0 ?x10045)) ?x24419))))
+(let ((@x24435 (monotonicity @x24432 (= (b_S_ptr$ b_T_T_u1$ (+ ?x24419 (* 0 ?x10045))) ?x24433))))
+(let ((@x24438 (monotonicity @x24435 (= (= ?x24410 (b_S_ptr$ b_T_T_u1$ (+ ?x24419 (* 0 ?x10045)))) $x24436))))
+(let ((@x24447 (monotonicity (monotonicity (monotonicity @x24438 $x24440) (= $x24424 $x24442)) (= $x24425 $x24445))))
+(let ((@x24455 (trans (monotonicity @x24447 (= (or $x22568 $x24425) $x24448)) (rewrite (= $x24448 $x24448)) (= (or $x22568 $x24425) $x24448))))
+(let ((@x24133 (unit-resolution (mp ((_ quant-inst (b_S_ptr$ ?x10076 ?x21014) 0 b_T_T_u1$) (or $x22568 $x24425)) @x24455 $x24448) @x18183 (hypothesis $x24442) false)))
+(let ((@x24460 (def-axiom (or $x24442 $x24436))))
+(let ((?x24245 (b_S_idx$ ?x22595 0 b_T_T_u1$)))
+(let ((?x24246 (b_S_select_o_tm$ ?x10272 ?x24245)))
+(let ((?x24247 (b_S_ts_n_emb$ ?x24246)))
+(let (($x24248 (= ?x24247 ?x22595)))
+(let (($x24257 (b_S_typed$ v_b_S_s$ ?x24245)))
+(let (($x24258 (not $x24257)))
+(let (($x24255 (b_S_ts_n_is_n_volatile$ ?x24246)))
+(let (($x24254 (not $x24248)))
+(let (($x23737 (or $x24254 $x24255 (not (b_S_ts_n_is_n_array_n_elt$ ?x24246)) $x24258)))
+(let (($x23791 (not $x23737)))
+(let (($x24240 (b_S_typed$ v_b_S_s$ ?x22595)))
+(let ((@x24353 (mp @x12045 (symm (monotonicity @x24530 (= $x24240 $x10085)) (= $x10085 $x24240)) $x24240)))
+(let ((@x24355 (lemma (unit-resolution (hypothesis (not $x24240)) @x24353 false) $x24240)))
+(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) )))
+))
+(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) )))
+))
+(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 (($x3763 (not $x2815)))
+(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) )))
+))
+(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) )))
+))
+(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 (($x24241 (not $x24240)))
+(let (($x23252 (not $x17964)))
+(let (($x23749 (or $x23252 $x24241 $x11259 $x23791)))
+(let (($x23792 (or $x24241 $x22599 $x22601 $x23791)))
+(let (($x23750 (or $x23252 $x23792)))
+(let ((@x23251 (trans (monotonicity @x22715 @x22724 (= $x23792 (or $x24241 false $x11259 $x23791))) (rewrite (= (or $x24241 false $x11259 $x23791) (or $x24241 $x11259 $x23791))) (= $x23792 (or $x24241 $x11259 $x23791)))))
+(let ((@x23352 (trans (monotonicity @x23251 (= $x23750 (or $x23252 (or $x24241 $x11259 $x23791)))) (rewrite (= (or $x23252 (or $x24241 $x11259 $x23791)) $x23749)) (= $x23750 $x23749))))
+(let ((@x23658 (unit-resolution (mp ((_ quant-inst v_b_S_s$ v_b_P_H_arr$ b_T_T_u1$ v_b_P_H_len$ 0) $x23750) @x23352 $x23749) @x17967 @x12041 @x24355 (hypothesis $x23737) false)))
+(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 ((@x24524 (trans (monotonicity @x24520 (= ?x24419 ?x21014)) (unit-resolution @x21192 @x19840 $x21186) (= ?x24419 ?x10079))))
+(let ((@x24532 (trans @x24530 (unit-resolution @x22000 @x15336 @x12044 $x21990) (= ?x22595 ?x21983))))
+(let ((@x23632 (trans (monotonicity @x24532 (= ?x24245 ?x24410)) (hypothesis $x24436) (= ?x24245 ?x24433))))
+(let ((@x23628 (trans @x23632 (monotonicity (trans @x24524 @x24511 (= ?x24419 v_b_P_H_arr$)) (= ?x24433 ?x10078)) (= ?x24245 ?x10078))))
+(let ((@x23622 (trans (trans @x23628 (symm @x22852 (= ?x10078 ?x22553)) (= ?x24245 ?x22553)) (symm @x24189 (= ?x22553 ?x10137)) (= ?x24245 ?x10137))))
+(let ((@x23636 (symm (monotonicity (trans @x23622 @x23667 (= ?x24245 ?x22505)) (= ?x24246 ?x22655)) (= ?x22655 ?x24246))))
+(let ((@x23746 (monotonicity (monotonicity (trans @x23699 @x23667 (= ?x10078 ?x22505)) (= ?x22818 ?x22655)) (= ?x22903 (b_S_ts_n_emb$ ?x22655)))))
+(let ((@x23678 (trans @x23746 (monotonicity @x23636 (= (b_S_ts_n_emb$ ?x22655) ?x24247)) (= ?x22903 ?x24247))))
+(let ((@x23867 (trans @x23678 (unit-resolution (def-axiom (or $x23737 $x24248)) (lemma @x23658 $x23791) $x24248) (= ?x22903 ?x22595))))
+(let ((@x23912 (trans (monotonicity (trans @x23867 @x24530 (= ?x22903 ?x10080)) (= ?x22893 ?x10082)) @x12043 $x22888)))
+(let ((@x24132 (lemma (unit-resolution (hypothesis (not $x22888)) @x23912 false) (or $x24439 $x22888))))
+(let ((@x23115 (unit-resolution @x24132 (unit-resolution @x24460 (lemma @x24133 $x24445) $x24436) $x22888)))
+(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 ((@x23071 (monotonicity (monotonicity (symm @x23746 (= ?x22658 ?x22903)) (= ?x22663 ?x22890)) (= ?x22664 ?x22891))))
+(let (($x22946 (b_S_is_n_non_n_primitive$ ?x22663)))
+(let (($x23237 (not $x22946)))
+(let (($x23503 (or $x22665 $x23237)))
+(let (($x23504 (not $x23503)))
+(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) )))
+))
+(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) )))
+))
+(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 (($x23057 (or (not $x19234) $x23504)))
+(let ((@x23058 ((_ quant-inst (b_S_select_o_tm$ ?x10272 ?x22505)) $x23057)))
+(let ((@x23584 (unit-resolution (def-axiom (or $x23503 (not $x22665))) (unit-resolution @x23058 @x19237 $x23504) (not $x22665))))
+(let ((@x23060 (lemma (unit-resolution @x23584 (trans @x23071 (hypothesis $x22892) $x22665) false) (not $x22892))))
+(let ((@x23221 (unit-resolution (def-axiom (or $x22901 $x22817 $x22889 $x22892 $x22896)) @x23060 (unit-resolution (def-axiom (or $x22895 (not $x22888))) @x23115 $x22895) (or $x22901 $x22817 $x22889))))
+(let ((@x23406 (unit-resolution @x23221 @x23222 (unit-resolution (def-axiom (or $x22906 $x22902)) @x23294 $x22906) @x23076 false)))
+(let ((@x23403 (lemma @x23406 $x10141)))
+(let (($x20092 (or $x19318 $x20089)))
+(let (($x20095 (not $x20092)))
+(let (($x20098 (or $x11385 $x20095)))
+(let (($x20101 (not $x20098)))
+(let (($x20104 (or $x11385 $x20101)))
+(let (($x20107 (not $x20104)))
+(let (($x19727 (not $x10148)))
+(let (($x19726 (not $x10147)))
+(let (($x19725 (not $x10146)))
+(let (($x19724 (not $x10145)))
+(let (($x15511 (not $x10141)))
+(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 (($x20122 (or $x15502 $x15505 $x20119)))
+(let (($x20125 (not $x20122)))
+(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))))))))))
+))
+(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))))))))))
+))
+(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))))))))))
+))
+(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))))))))))
+))
+(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)))))))))
+))
+(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 (($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)))))))))
+))
+(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)))))))))))
+))
+(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)))))))))))
+))
+(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)))))))))))
+))
+(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))))))))))
+))
+(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 (($x15741 (and $x15736 $x15737 (not (>= (+ ?v0!15 (* (- 1) v_b_P_H_len$)) 0)))))
+(let (($x15748 (not (or (not $x15741) $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 (($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 (($x15739 (>= (+ ?v0!15 (* (- 1) v_b_P_H_len$)) 0)))
+(let (($x16002 (= (+ ?v0!15 (* (- 1) v_b_P_H_len$)) (+ (* (- 1) v_b_P_H_len$) ?v0!15))))
+(let ((@x16006 (monotonicity (rewrite $x16002) (= $x15739 (>= (+ (* (- 1) v_b_P_H_len$) ?v0!15) 0)))))
+(let ((@x16013 (trans @x16006 (rewrite (= (>= (+ (* (- 1) v_b_P_H_len$) ?v0!15) 0) $x16009)) (= $x15739 $x16009))))
+(let ((@x16019 (monotonicity (monotonicity @x16013 (= (not $x15739) $x16014)) (= $x15741 $x16017))))
+(let ((@x16038 (monotonicity (monotonicity @x16019 (= (not $x15741) $x16020)) @x16035 (= (or (not $x15741) $x15746) $x16036))))
+(let ((@x16047 (monotonicity (rewrite (= $x15732 $x11792)) (monotonicity (monotonicity @x16038 (= $x15748 $x16039)) (= $x15769 $x16042)) (= $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))))))))
+))
+(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 ((@x13314 (monotonicity (monotonicity @x6446 (= (+ b_S_max_o_u4$ ?x11865) (+ 4294967295 ?x11865))) (= $x11907 (>= (+ 4294967295 ?x11865) 0)))))
+(let ((@x13319 (trans @x13314 (rewrite (= (>= (+ 4294967295 ?x11865) 0) $x13315)) (= $x11907 $x13315))))
+(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 @x13319 @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 ((@x24008 (unit-resolution (def-axiom (or $x20134 $x20128)) (unit-resolution @x20143 @x22434 $x20137) $x20128)))
+(let ((?x22514 (b_S_typ$ ?x10137)))
+(let (($x22515 (= ?x22514 b_T_T_u1$)))
+(let ((@x22856 (trans (unit-resolution @x22581 (unit-resolution @x22577 @x18183 $x22565) $x22556) @x22852 (= ?x10137 ?x10078))))
+(let ((@x22875 (trans (monotonicity @x22856 (= ?x22514 ?x21175)) (unit-resolution @x21182 @x19846 $x21176) $x22515)))
+(let (($x22932 (not $x22515)))
+(let (($x22522 (= $x10138 $x22515)))
+(let (($x22487 (or $x22002 $x22522)))
+(let ((@x22492 ((_ quant-inst (b_S_idx$ ?x10078 0 b_T_T_u1$) b_T_T_u1$) $x22487)))
+(let ((@x22511 (unit-resolution (def-axiom (or (not $x22522) $x10138 $x22932)) (hypothesis $x15502) (or (not $x22522) $x22932))))
+(let ((@x22873 (unit-resolution (unit-resolution @x22511 (unit-resolution @x22492 @x19833 $x22522) $x22932) @x22875 false)))
+(let ((@x22876 (lemma @x22873 $x10138)))
+(let ((@x24016 (unit-resolution (def-axiom (or $x20131 $x15502 $x15505 $x20125)) (unit-resolution (def-axiom (or $x22603 $x10139)) @x22760 $x10139) @x22876 @x24008 $x20125)))
+(let ((?x22963 (* (- 1) ?x10144)))
+(let ((?x22964 (+ v_b_L_H_max_G_0$ ?x22963)))
+(let (($x22965 (>= ?x22964 0)))
+(let ((@x20962 (def-axiom (or $x20119 $x15502 $x15511 $x20113))))
+(let ((@x22988 (unit-resolution @x20962 (hypothesis $x10138) (hypothesis $x10141) (hypothesis $x20116) $x20113)))
+(let ((@x20944 (def-axiom (or $x20110 $x10145))))
+(let ((@x23016 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x19724 $x22965)) (unit-resolution @x20944 @x22988 $x10145) $x22965)))
+(let (($x22455 (or $x21994 $x15502 $x22506)))
+(let ((@x22447 (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)) $x22455)) $x22455)))
+(let ((@x23003 (monotonicity ((_ th-lemma arith eq-propagate 0 0) (hypothesis $x15523) (hypothesis (not $x15525)) (= ?v0!13 0)) (= ?x15529 ?x10137))))
+(let ((@x23005 (trans @x23003 (unit-resolution @x22447 @x15336 (hypothesis $x10138) $x22506) (= ?x15529 ?x22505))))
+(let (($x23008 (or (not (= ?x15530 (b_S_read_n_u1$ v_b_S_s$ ?x22505))) (<= (+ ?x15530 (* (- 1) (b_S_read_n_u1$ v_b_S_s$ ?x22505))) 0))))
+(let ((@x23010 (unit-resolution ((_ th-lemma arith triangle-eq) $x23008) (monotonicity @x23005 (= ?x15530 (b_S_read_n_u1$ v_b_S_s$ ?x22505))) (<= (+ ?x15530 (* (- 1) (b_S_read_n_u1$ v_b_S_s$ ?x22505))) 0))))
+(let ((?x22685 (b_S_read_n_u1$ v_b_S_s$ ?x22505)))
+(let ((?x22773 (* (- 1) ?x22685)))
+(let ((?x22835 (+ ?x10144 ?x22773)))
+(let (($x22839 (>= ?x22835 0)))
+(let (($x22834 (= ?x10144 ?x22685)))
+(let ((@x23011 (symm (unit-resolution @x22447 @x15336 (hypothesis $x10138) $x22506) (= ?x22505 ?x10137))))
+(let ((@x23020 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x22834) $x22839)) (symm (monotonicity @x23011 (= ?x22685 ?x10144)) $x22834) $x22839)))
+(let ((@x23023 (lemma ((_ th-lemma arith farkas 1 -1 -1 1) @x23020 @x23010 (hypothesis $x20589) @x23016 false) (or $x15502 $x15533 $x19297 $x15525 $x15511 $x20119))))
+(let ((@x24012 (unit-resolution @x23023 @x22876 (unit-resolution (def-axiom (or $x20122 $x20116)) @x24016 $x20116) (or $x15533 $x19297 $x15525 $x15511))))
+(let ((@x24203 (unit-resolution (unit-resolution @x24012 @x23403 (or $x15533 $x19297 $x15525)) (unit-resolution (def-axiom (or $x19313 (not $x15525))) @x23991 (not $x15525)) (unit-resolution (def-axiom (or $x19313 $x15523)) @x23991 $x15523) (unit-resolution (def-axiom (or $x19313 $x20589)) @x23991 $x20589) false)))
+(let ((@x24417 (unit-resolution @x20962 @x22876 (unit-resolution (def-axiom (or $x20122 $x20116)) @x24016 $x20116) (or $x15511 $x20113))))
+(let ((@x24506 (unit-resolution (def-axiom (or $x20110 $x20104)) (unit-resolution @x24417 @x23403 $x20113) $x20104)))
+(let ((@x24507 (unit-resolution (def-axiom (or $x20107 $x11385 $x20101)) (lemma ((_ th-lemma arith farkas 1 1) @x12041 (hypothesis $x11385) false) $x11382) @x24506 $x20101)))
+(let ((@x24462 (unit-resolution (def-axiom (or $x20095 $x19318 $x20089)) (unit-resolution (def-axiom (or $x20098 $x20092)) @x24507 $x20092) $x20092)))
+(let ((@x24496 (unit-resolution (def-axiom (or $x20086 $x20080)) (unit-resolution @x24462 (lemma @x24203 $x19313) $x20089) $x20080)))
+(let ((@x24578 (mp (unit-resolution @x20944 (unit-resolution @x24417 @x23403 $x20113) $x10145) (symm (commutativity (= $x10167 $x10145)) (= $x10145 $x10167)) $x10167)))
+(let ((@x24580 (unit-resolution (def-axiom (or $x20083 $x11259 $x15548 $x20077)) @x12041 (or $x20083 $x15548 $x20077))))
+(let ((@x24583 (unit-resolution (unit-resolution @x24580 @x24578 (or $x20083 $x20077)) @x24496 $x20077)))
+(let ((@x24576 (unit-resolution (def-axiom (or $x20074 $x11901)) @x24583 $x11901)))
+(let ((@x24314 (unit-resolution (def-axiom (or $x20074 $x10192)) @x24583 $x10192)))
+(let ((@x24415 (unit-resolution (def-axiom (or $x20074 $x11868)) @x24583 $x11868)))
+(let ((@x24499 (unit-resolution (def-axiom (or $x20074 $x19898)) @x24583 $x19898)))
+(let (($x23168 (<= (+ v_b_L_H_p_G_0$ (* (- 1) ?v0!15)) 0)))
+(let (($x23092 (<= (+ v_b_L_H_max_G_1$ (* (- 1) v_b_S_result_G_0$)) 0)))
+(let (($x23088 (= v_b_L_H_max_G_1$ v_b_S_result_G_0$)))
+(let ((@x9231 (asserted b_S_position_n_marker$)))
+(let ((@x23318 (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 ((@x23324 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x23088) $x23092)) (symm (unit-resolution (def-axiom (or $x20050 $x10222)) @x23318 $x10222) $x23088) $x23092)))
+(let (($x20801 (not $x16031)))
+(let ((@x23175 (hypothesis $x10192)))
+(let ((@x23180 (hypothesis $x11868)))
+(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$ (* (- 1) v_b_P_H_len$)) 0)))
+(let (($x23141 (or $x19501 $x19669 $x23036 $x23140)))
+(let (($x23146 (or $x20035 $x23141)))
+(let (($x23046 (= (>= (+ (* (- 1) v_b_P_H_len$) v_b_SL_H_witness_G_0$) 0) $x11867)))
+(let (($x23044 (= $x23036 (>= (+ (* (- 1) v_b_P_H_len$) v_b_SL_H_witness_G_0$) 0))))
+(let (($x23041 (= (+ v_b_SL_H_witness_G_0$ (* (- 1) v_b_P_H_len$)) (+ (* (- 1) v_b_P_H_len$) v_b_SL_H_witness_G_0$))))
+(let ((@x23049 (trans (monotonicity (rewrite $x23041) $x23044) (rewrite $x23046) (= $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) (trans @x23175 (symm (hypothesis $x10222) $x23088) (= ?x10191 v_b_S_result_G_0$)) false)))
+(let ((@x23326 (unit-resolution (lemma @x23182 (or $x20035 $x19669 $x11867 $x19501 $x19674 $x19640)) (unit-resolution (def-axiom (or $x20050 $x10222)) @x23318 $x10222) @x23180 (hypothesis $x11432) @x23175 (hypothesis $x13315) $x20035)))
+(let ((@x23328 (unit-resolution (def-axiom (or $x20047 $x19580 $x20041)) (unit-resolution (def-axiom (or $x20038 $x20030)) @x23326 $x20038) (unit-resolution (def-axiom (or $x20050 $x20044)) @x23318 $x20044) $x19580)))
+(let ((@x23308 ((_ th-lemma arith farkas -1 1 1) (hypothesis (>= (+ v_b_L_H_max_G_1$ ?x16029) 0)) (hypothesis $x20801) (hypothesis $x23092) false)))
+(let ((@x23312 (lemma @x23308 (or (not (>= (+ v_b_L_H_max_G_1$ ?x16029) 0)) $x16031 (not $x23092)))))
+(let ((@x23330 (unit-resolution @x23312 (unit-resolution (def-axiom (or $x19575 $x20801)) @x23328 $x20801) @x23324 (not (>= (+ v_b_L_H_max_G_1$ ?x16029) 0)))))
+(let ((@x23333 (hypothesis $x19898)))
+(let (($x23188 (>= (+ v_b_L_H_max_G_1$ ?x16029) 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)) @x23328 $x15736) (unit-resolution (def-axiom (or $x19575 $x15737)) @x23328 $x15737) (or $x23168 $x23188))))
+(let ((@x23338 ((_ th-lemma arith farkas -1 1 1) (unit-resolution (def-axiom (or $x19575 $x16014)) @x23328 $x16014) (unit-resolution @x23335 @x23330 $x23168) (unit-resolution (def-axiom (or $x20062 $x11486)) (hypothesis $x20065) $x11486) false)))
+(let ((@x24500 (unit-resolution (lemma @x23338 (or $x20062 $x19903 $x11867 $x19501 $x19674 $x19669)) @x24499 @x24415 (unit-resolution (def-axiom (or $x20074 $x11432)) @x24583 $x11432) @x24314 (unit-resolution (def-axiom (or $x20074 $x13315)) @x24583 $x13315) $x20062)))
+(let ((@x24502 (unit-resolution (def-axiom (or $x20071 $x20019 $x20065)) (unit-resolution (def-axiom (or $x20074 $x20068)) @x24583 $x20068) @x24500 $x20019)))
+(let ((@x24656 (unit-resolution (def-axiom (or $x20016 $x11487)) @x24502 $x11487)))
+(let ((@x24896 (mp @x22691 (symm (monotonicity @x24532 (= $x22596 $x22344)) (= $x22344 $x22596)) $x22596)))
+(let ((@x23420 (hypothesis $x11487)))
+(let (($x23378 (or $x22629 $x19677 $x21489 $x22597 $x19670 $x11486 $x23363)))
+(let (($x23360 (>= (+ v_b_L_H_p_G_0$ (* (- 1) v_b_P_H_len$)) 0)))
+(let (($x23364 (or $x19677 $x21489 $x22597 $x19670 $x23360 $x23363)))
+(let (($x23379 (or $x22629 $x23364)))
+(let ((@x23372 (rewrite (= (>= (+ (* (- 1) v_b_P_H_len$) v_b_L_H_p_G_0$) 0) $x11486))))
+(let (($x23366 (= (+ v_b_L_H_p_G_0$ (* (- 1) v_b_P_H_len$)) (+ (* (- 1) v_b_P_H_len$) v_b_L_H_p_G_0$))))
+(let ((@x23370 (monotonicity (rewrite $x23366) (= $x23360 (>= (+ (* (- 1) v_b_P_H_len$) v_b_L_H_p_G_0$) 0)))))
+(let ((@x23377 (monotonicity (trans @x23370 @x23372 (= $x23360 $x11486)) (= $x23364 (or $x19677 $x21489 $x22597 $x19670 $x11486 $x23363)))))
+(let ((@x23383 (monotonicity @x23377 (= $x23379 (or $x22629 (or $x19677 $x21489 $x22597 $x19670 $x11486 $x23363))))))
+(let ((@x23387 (trans @x23383 (rewrite (= (or $x22629 (or $x19677 $x21489 $x22597 $x19670 $x11486 $x23363)) $x23378)) (= $x23379 $x23378))))
+(let ((@x23388 (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$) $x23379) @x23387 $x23378)))
+(let ((@x23422 (unit-resolution @x23388 @x18670 @x9769 @x12050 (hypothesis $x11901) @x23420 (hypothesis $x22596) (hypothesis $x23362) false)))
+(let ((@x24759 (unit-resolution (lemma @x23422 (or $x23363 $x19670 $x11486 $x22597)) @x24896 (or $x23363 $x19670 $x11486))))
+(let ((@x24697 (unit-resolution (def-axiom (or $x23362 $x23297)) (unit-resolution @x24759 @x24656 @x24576 $x23363) $x23297)))
+(let (($x23782 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x24218)))
+(let ((?x23727 (b_S_owner$ v_b_S_s$ ?x24218)))
+(let (($x23776 (= ?x23727 b_S_me$)))
+(let (($x23785 (or $x23776 $x23782)))
+(let (($x24475 (not $x23785)))
+(let ((?x23804 (b_S_typ$ ?x24218)))
+(let ((?x23768 (b_S_kind_n_of$ ?x23804)))
+(let (($x23769 (= ?x23768 b_S_kind_n_primitive$)))
+(let (($x23803 (not $x23797)))
+(let (($x24099 (not $x24098)))
+(let (($x24476 (or $x24099 $x23803 $x23769 $x24475)))
+(let (($x24604 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x23228)))
+(let (($x24478 (= (b_S_owner$ v_b_S_s$ ?x23228) b_S_me$)))
+(let (($x24602 (or $x24478 $x24604)))
+(let (($x24797 (not $x24602)))
+(let (($x24820 (or $x24098 $x24797)))
+(let (($x24655 (not $x24820)))
+(let (($x24474 (not $x24476)))
+(let (($x24912 (or $x24474 $x24655)))
+(let (($x24913 (not $x24912)))
+(let (($x24209 (b_S_typed$ v_b_S_s$ ?x23228)))
+(let (($x24210 (not $x24209)))
+(let (($x24931 (or $x24210 $x24913)))
+(let (($x24932 (not $x24931)))
+(let (($x23783 (b_S_thread_n_local$ v_b_S_s$ ?x23228)))
+(let (($x24934 (= $x23783 $x24932)))
+(let (($x24622 (or (not $x19072) $x24934)))
+(let ((@x24172 ((_ quant-inst v_b_S_s$ (b_S_ptr$ b_T_T_u1$ ?x23404)) $x24622)))
+(let (($x24628 (not $x23783)))
+(let ((@x24670 (monotonicity (symm (monotonicity @x25262 (= $x23783 $x10324)) (= $x10324 $x23783)) (= $x15599 $x24628))))
+(let ((@x24708 (unit-resolution (def-axiom (or (not $x24934) $x23783 $x24931)) (mp (hypothesis $x15599) @x24670 $x24628) (unit-resolution @x24172 @x19075 $x24934) $x24931)))
+(let ((@x24785 (unit-resolution (def-axiom (or $x23362 $x10322)) (unit-resolution @x24759 @x24656 @x24576 $x23363) $x10322)))
+(let ((@x24710 (mp @x24785 (symm (monotonicity @x25262 (= $x24209 $x10322)) (= $x10322 $x24209)) $x24209)))
+(let ((@x24724 (unit-resolution (def-axiom (or $x24912 $x24476)) (unit-resolution (def-axiom (or $x24932 $x24210 $x24913)) @x24710 @x24708 $x24913) $x24476)))
+(let ((?x24320 (b_S_idx$ ?x22595 v_b_L_H_p_G_0$ b_T_T_u1$)))
+(let ((?x24321 (b_S_select_o_tm$ ?x10272 ?x24320)))
+(let ((?x24322 (b_S_ts_n_emb$ ?x24321)))
+(let (($x24323 (= ?x24322 ?x22595)))
+(let (($x24328 (b_S_typed$ v_b_S_s$ ?x24320)))
+(let (($x24329 (not $x24328)))
+(let (($x24325 (b_S_ts_n_is_n_volatile$ ?x24321)))
+(let (($x24324 (not $x24323)))
+(let (($x24330 (or $x24324 $x24325 (not (b_S_ts_n_is_n_array_n_elt$ ?x24321)) $x24329)))
+(let (($x24331 (not $x24330)))
+(let (($x25071 (or $x23252 $x24241 $x19670 $x11486 $x24331)))
+(let (($x24332 (or $x24241 $x19670 $x23360 $x24331)))
+(let (($x25072 (or $x23252 $x24332)))
+(let ((@x25070 (monotonicity (trans @x23370 @x23372 (= $x23360 $x11486)) (= $x24332 (or $x24241 $x19670 $x11486 $x24331)))))
+(let ((@x25080 (trans (monotonicity @x25070 (= $x25072 (or $x23252 (or $x24241 $x19670 $x11486 $x24331)))) (rewrite (= (or $x23252 (or $x24241 $x19670 $x11486 $x24331)) $x25071)) (= $x25072 $x25071))))
+(let ((@x25137 (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$) $x25072) @x25080 $x25071) @x17967 @x24576 @x24656 @x24355 (hypothesis $x24330) false)))
+(let ((@x25083 (def-axiom (or $x24330 $x24323))))
+(let ((?x24315 (b_S_ref$ ?x24198)))
+(let ((?x24367 (* (- 1) ?x24315)))
+(let ((?x24368 (+ ?x10079 ?x23278 ?x24367)))
+(let (($x24402 (<= ?x24368 0)))
+(let (($x24365 (= ?x24368 0)))
+(let (($x24384 (or $x21152 $x24365)))
+(let ((@x24394 (monotonicity (rewrite (= (= ?x24315 ?x24174) $x24365)) (= (or $x21152 (= ?x24315 ?x24174)) $x24384))))
+(let ((@x24404 (trans @x24394 (rewrite (= $x24384 $x24384)) (= (or $x21152 (= ?x24315 ?x24174)) $x24384))))
+(let ((@x24403 (mp ((_ quant-inst b_T_T_u1$ (+ ?x10079 ?x23278)) (or $x21152 (= ?x24315 ?x24174))) @x24404 $x24384)))
+(let ((@x25241 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x24365) $x24402)) (unit-resolution @x24403 @x19840 $x24365) $x24402)))
+(let (($x24407 (>= ?x24368 0)))
+(let ((@x25244 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x24365) $x24407)) (unit-resolution @x24403 @x19840 $x24365) $x24407)))
+(let ((?x24925 (+ ?x23278 ?x24419)))
+(let (($x25226 (= ?x24174 ?x24925)))
+(let ((?x25227 (* (- 1) ?x24925)))
+(let ((?x25228 (+ ?x24174 ?x25227)))
+(let (($x25229 (<= ?x25228 0)))
+(let ((?x24127 (* (- 1) ?x21014)))
+(let ((?x23641 (+ ?x10079 ?x24127)))
+(let (($x24104 (<= ?x23641 0)))
+(let ((@x25085 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x10079 ?x21014)) $x24104)) (symm (unit-resolution @x21192 @x19840 $x21186) (= ?x10079 ?x21014)) $x24104)))
+(let ((?x25173 (* (- 1) ?x24419)))
+(let ((?x25174 (+ ?x21014 ?x25173)))
+(let (($x25175 (<= ?x25174 0)))
+(let ((@x25090 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x21014 ?x24419)) $x25175)) (symm (monotonicity @x24520 (= ?x24419 ?x21014)) (= ?x21014 ?x24419)) $x25175)))
+(let ((@x25103 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x25229 (not $x24104) (not $x25175))) @x25090 @x25085 $x25229)))
+(let (($x25230 (>= ?x25228 0)))
+(let (($x23809 (>= ?x23641 0)))
+(let ((@x25106 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x10079 ?x21014)) $x23809)) (symm (unit-resolution @x21192 @x19840 $x21186) (= ?x10079 ?x21014)) $x23809)))
+(let (($x25176 (>= ?x25174 0)))
+(let ((@x25109 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x21014 ?x24419)) $x25176)) (symm (monotonicity @x24520 (= ?x24419 ?x21014)) (= ?x21014 ?x24419)) $x25176)))
+(let ((@x25098 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x25230 (not $x23809) (not $x25176))) @x25109 @x25106 $x25230)))
+(let ((@x25111 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x25226 (not $x25229) (not $x25230))) @x25098 @x25103 (hypothesis (not $x25226)) false)))
+(let ((@x25182 (trans (symm (lemma @x25111 $x25226) (= ?x24925 ?x24174)) ((_ th-lemma arith eq-propagate -1 -1) @x25244 @x25241 (= ?x24174 ?x24315)) (= ?x24925 ?x24315))))
+(let ((@x25183 (trans @x25182 (monotonicity (symm @x24341 (= ?x24198 ?x10320)) (= ?x24315 ?x23404)) (= ?x24925 ?x23404))))
+(let ((?x24930 (b_S_ptr$ b_T_T_u1$ ?x24925)))
+(let ((?x24463 (b_S_idx$ ?x21983 v_b_L_H_p_G_0$ b_T_T_u1$)))
+(let (($x25146 (= ?x24463 ?x24930)))
+(let (($x25152 (or (not (b_S_extent_n_hint$ ?x24463 ?x21983)) (not $x25146))))
+(let (($x25155 (not $x25152)))
+(let (($x25158 (or $x22568 $x25155)))
+(let (($x24469 (not (= ?x24463 (b_S_ptr$ b_T_T_u1$ (+ ?x24419 (* v_b_L_H_p_G_0$ ?x10045)))))))
+(let (($x24471 (not (or (not (b_S_extent_n_hint$ ?x24463 ?x21983)) $x24469))))
+(let (($x25147 (= (= ?x24463 (b_S_ptr$ b_T_T_u1$ (+ ?x24419 (* v_b_L_H_p_G_0$ ?x10045)))) $x25146)))
+(let ((@x25139 (monotonicity (rewrite (= (* v_b_L_H_p_G_0$ ?x10045) ?x23278)) (= (+ ?x24419 (* v_b_L_H_p_G_0$ ?x10045)) (+ ?x24419 ?x23278)))))
+(let ((@x25143 (trans @x25139 (rewrite (= (+ ?x24419 ?x23278) ?x24925)) (= (+ ?x24419 (* v_b_L_H_p_G_0$ ?x10045)) ?x24925))))
+(let ((@x25145 (monotonicity @x25143 (= (b_S_ptr$ b_T_T_u1$ (+ ?x24419 (* v_b_L_H_p_G_0$ ?x10045))) ?x24930))))
+(let ((@x25154 (monotonicity (monotonicity (monotonicity @x25145 $x25147) (= $x24469 (not $x25146))) (= (or (not (b_S_extent_n_hint$ ?x24463 ?x21983)) $x24469) $x25152))))
+(let ((@x25162 (monotonicity (monotonicity @x25154 (= $x24471 $x25155)) (= (or $x22568 $x24471) $x25158))))
+(let ((@x25166 (mp ((_ quant-inst (b_S_ptr$ ?x10076 ?x21014) v_b_L_H_p_G_0$ b_T_T_u1$) (or $x22568 $x24471)) (trans @x25162 (rewrite (= $x25158 $x25158)) (= (or $x22568 $x24471) $x25158)) $x25158)))
+(let ((@x25257 (unit-resolution (def-axiom (or $x25152 $x25146)) (unit-resolution @x25166 @x18183 $x25155) $x25146)))
+(let ((@x25185 (trans (trans (monotonicity @x24532 (= ?x24320 ?x24463)) @x25257 (= ?x24320 ?x24930)) (monotonicity @x25183 (= ?x24930 ?x23228)) (= ?x24320 ?x23228))))
+(let ((@x25217 (symm (monotonicity (trans @x25185 @x25262 (= ?x24320 ?x10320)) (= ?x24321 ?x23124)) (= ?x23124 ?x24321))))
+(let ((@x25274 (monotonicity (monotonicity @x25262 (= ?x24217 ?x23124)) (= ?x24218 (b_S_ts_n_emb$ ?x23124)))))
+(let ((@x25219 (trans @x25274 (monotonicity @x25217 (= (b_S_ts_n_emb$ ?x23124) ?x24322)) (= ?x24218 ?x24322))))
+(let ((@x25221 (trans (trans @x25219 (hypothesis $x24323) (= ?x24218 ?x22595)) @x24530 (= ?x24218 ?x10080))))
+(let ((@x25293 (unit-resolution (hypothesis (not $x23776)) (trans (monotonicity @x25221 (= ?x23727 ?x10082)) @x12043 $x23776) false)))
+(let ((@x24057 (unit-resolution (lemma @x25293 (or $x24324 $x23776)) (unit-resolution @x25083 (lemma @x25137 $x24331) $x24323) $x23776)))
+(let ((?x23443 (b_S_ts_n_emb$ ?x23124)))
+(let ((?x23448 (b_S_typ$ ?x23443)))
+(let ((?x23449 (b_S_kind_n_of$ ?x23448)))
+(let (($x23450 (= ?x23449 b_S_kind_n_primitive$)))
+(let ((@x24651 (monotonicity (monotonicity (symm @x25274 (= ?x23443 ?x24218)) (= ?x23448 ?x23804)) (= ?x23449 ?x23768))))
+(let (($x23598 (b_S_is_n_non_n_primitive$ ?x23448)))
+(let (($x23599 (not $x23598)))
+(let (($x23602 (or $x23450 $x23599)))
+(let (($x23603 (not $x23602)))
+(let (($x24666 (or (not $x19234) $x23603)))
+(let ((@x24626 ((_ quant-inst (b_S_select_o_tm$ ?x10272 ?x10320)) $x24666)))
+(let ((@x24965 (unit-resolution (def-axiom (or $x23602 (not $x23450))) (unit-resolution @x24626 @x19237 $x23603) (not $x23450))))
+(let ((@x24645 (lemma (unit-resolution @x24965 (trans @x24651 (hypothesis $x23769) $x23450) false) (not $x23769))))
+(let ((@x24718 (unit-resolution (def-axiom (or $x24474 $x24099 $x23803 $x23769 $x24475)) @x24645 (unit-resolution (def-axiom (or $x23785 (not $x23776))) @x24057 $x23785) (or $x24474 $x24099 $x23803))))
+(let ((@x24717 (unit-resolution @x24718 @x24724 (unit-resolution (def-axiom (or $x23797 $x23805)) (mp @x24697 @x24701 $x23770) $x23797) @x24696 false)))
+(let ((@x20784 (def-axiom (or $x20013 $x15590 $x15593 $x20007))))
+(let ((@x24630 (unit-resolution (unit-resolution @x20784 @x24345 (or $x20013 $x15593 $x20007)) @x24785 (unit-resolution (def-axiom (or $x20016 $x20010)) @x24502 $x20010) $x20007)))
+(let ((@x20774 (def-axiom (or $x20004 $x19998))))
+(let ((@x20768 (def-axiom (or $x20001 $x15590 $x15599 $x19995))))
+(let ((@x25020 (unit-resolution (unit-resolution @x20768 @x24345 (or $x20001 $x15599 $x19995)) (unit-resolution @x20774 @x24630 $x19998) (or $x15599 $x19995))))
+(let ((@x23989 (hypothesis $x19980)))
+(let ((@x25004 (unit-resolution (def-axiom (or $x19959 $x15590 $x15599 $x19953)) @x24345 (or $x19959 $x15599 $x19953))))
+(let ((@x24684 (unit-resolution @x25004 (unit-resolution (def-axiom (or $x19992 $x10324)) (hypothesis $x19995) $x10324) (hypothesis $x19950) $x19959)))
+(let ((@x20748 (def-axiom (or $x19989 $x19977 $x19983))))
+(let ((@x24916 (unit-resolution @x20748 (unit-resolution (def-axiom (or $x19992 $x19986)) (hypothesis $x19995) $x19986) @x23989 $x19977)))
+(let ((@x20716 (def-axiom (or $x19974 $x19968))))
+(let ((@x24762 (unit-resolution (def-axiom (or $x19971 $x15590 $x15593 $x19965)) @x24345 (or $x19971 $x15593 $x19965))))
+(let ((@x24920 (unit-resolution @x24762 (unit-resolution @x20716 @x24916 $x19968) (unit-resolution (def-axiom (or $x19962 $x19956)) @x24684 $x19962) @x24785 false)))
+(let ((@x24972 (unit-resolution (lemma @x24920 (or $x19992 $x19983 $x19953)) @x23989 (unit-resolution @x25020 (lemma @x24717 $x10324) $x19995) $x19953)))
+(let (($x13277 (<= v_b_P_H_len$ 4294967295)))
+(let (($x13272 (= (+ b_S_max_o_u4$ (* (- 1) v_b_P_H_len$)) (+ 4294967295 (* (- 1) v_b_P_H_len$)))))
+(let ((@x13276 (monotonicity (monotonicity @x6446 $x13272) (= $x11245 (>= (+ 4294967295 (* (- 1) v_b_P_H_len$)) 0)))))
+(let ((@x13281 (trans @x13276 (rewrite (= (>= (+ 4294967295 (* (- 1) v_b_P_H_len$)) 0) $x13277)) (= $x11245 $x13277))))
+(let ((@x13282 (mp (and-elim @x12033 $x11245) @x13281 $x13277)))
+(let ((@x25068 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1) (or $x13353 (not $x13277) $x11486)) @x13282 (or $x13353 $x11486))))
+(let ((@x25023 (unit-resolution (def-axiom (or $x19947 $x15611 $x15614 $x19941)) (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x19670 $x11570)) @x24576 $x11570) (unit-resolution @x25068 @x24656 $x13353) (or $x19947 $x19941))))
+(let ((@x25021 (unit-resolution @x25023 (unit-resolution (def-axiom (or $x19950 $x19944)) @x24972 $x19944) $x19941)))
+(let ((@x20652 (def-axiom (or $x19938 $x19932))))
+(let (($x20596 (>= ?x11582 (- 1))))
+(let ((@x25129 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x19452 $x20596)) (unit-resolution (def-axiom (or $x19938 $x11580)) @x25021 $x11580) $x20596)))
+(let ((@x25134 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x11608 $x11486 (not $x20596))) @x24656 (or $x11608 (not $x20596)))))
+(let ((@x20638 (def-axiom (or $x19935 $x11612 $x19929))))
+(let ((@x25133 (unit-resolution @x20638 (unit-resolution @x25134 @x25129 $x11608) (unit-resolution @x20652 @x25021 $x19932) $x19929)))
+(let ((@x20630 (def-axiom (or $x19926 $x19920))))
+(let ((@x25121 (symm (unit-resolution (def-axiom (or $x19950 $x10338)) @x24972 $x10338) (= v_b_L_H_max_G_2$ v_b_L_H_max_G_3$))))
+(let ((@x25118 (symm (unit-resolution (def-axiom (or $x19950 $x10333)) @x24972 $x10333) (= ?x10327 v_b_L_H_max_G_2$))))
+(let ((@x25171 (monotonicity (unit-resolution (def-axiom (or $x19950 $x10340)) @x24972 $x10340) (= ?x10372 ?x10320))))
+(let ((@x25190 (trans (monotonicity @x25171 (= ?x10373 ?x10327)) @x25118 (= ?x10373 v_b_L_H_max_G_2$))))
+(let (($x24861 (>= (+ v_b_L_H_p_G_0$ (* (- 1) v_b_SL_H_witness_G_1$)) 0)))
+(let ((@x25188 (symm (unit-resolution (def-axiom (or $x19950 $x10340)) @x24972 $x10340) (= v_b_L_H_p_G_0$ v_b_SL_H_witness_G_1$))))
+(let ((@x25200 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= v_b_L_H_p_G_0$ v_b_SL_H_witness_G_1$)) $x24861)) @x25188 $x24861)))
+(let ((@x20614 (def-axiom (or $x19413 $x11647 (not $x10374)))))
+(let ((@x25206 (unit-resolution @x20614 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x11648 (not $x24861) $x11486)) @x25200 @x24656 $x11648) (trans @x25190 @x25121 $x10374) $x19413)))
+(let ((@x20618 (def-axiom (or $x19914 $x19412))))
+(let ((@x20626 (def-axiom (or $x19923 $x19386 $x19917))))
+(let ((@x25210 (unit-resolution @x20626 (unit-resolution @x20618 @x25206 $x19914) (unit-resolution @x20630 @x25133 $x19920) $x19386)))
+(let (($x24195 (>= (+ v_b_L_H_max_G_1$ ?x15891) 0)))
+(let (($x24206 (not $x24195)))
+(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 (($x24870 (<= (+ ?x10327 ?x11631) 0)))
+(let ((@x25195 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x10327 v_b_L_H_max_G_3$)) $x24870)) (trans @x25118 @x25121 (= ?x10327 v_b_L_H_max_G_3$)) $x24870)))
+(let ((@x20758 (def-axiom (or $x19992 $x19986))))
+(let ((@x25198 (unit-resolution @x20758 (unit-resolution @x25020 (lemma @x24717 $x10324) $x19995) $x19986)))
+(let ((@x25214 (unit-resolution (def-axiom (or $x19974 $x11515)) (unit-resolution @x20748 @x23989 @x25198 $x19977) $x11515)))
+(let ((@x24170 (hypothesis $x20721)))
+(let (($x20603 (not $x15893)))
+(let ((@x24171 (hypothesis $x20603)))
+(let ((@x24211 (lemma ((_ th-lemma arith farkas -1 1 1) (hypothesis $x24195) @x24171 @x24170 false) (or $x24206 $x15893 (not $x20721)))))
+(let ((@x25131 (unit-resolution @x24211 (unit-resolution (def-axiom (or $x19381 $x20603)) @x25210 $x20603) (unit-resolution ((_ th-lemma arith assign-bounds 1 1) (or $x20721 (not $x24870) $x11516)) @x25214 @x25195 $x20721) $x24206)))
+(let ((?x15869 (* (- 1) ?v0!14)))
+(let ((?x23656 (+ v_b_L_H_p_G_0$ ?x15869)))
+(let (($x24926 (>= ?x23656 0)))
+(let ((@x24735 (hypothesis $x20596)))
+(let ((@x24918 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x24926 $x15871 (not $x20596))) (hypothesis $x15876) @x24735 $x24926)))
+(let (($x23657 (<= ?x23656 0)))
+(let (($x24882 (or $x19903 $x19365 $x19366 $x23657 $x24195)))
+(let (($x23648 (<= (+ ?x15634 (* (- 1) v_b_L_H_max_G_1$)) 0)))
+(let (($x23640 (>= (+ ?v0!14 ?x11484) 0)))
+(let (($x23649 (or $x19365 $x19366 $x23640 $x23648)))
+(let (($x24880 (or $x19903 $x23649)))
+(let (($x24587 (= (+ ?x15634 (* (- 1) v_b_L_H_max_G_1$)) (+ (* (- 1) v_b_L_H_max_G_1$) ?x15634))))
+(let ((@x24936 (monotonicity (rewrite $x24587) (= $x23648 (<= (+ (* (- 1) v_b_L_H_max_G_1$) ?x15634) 0)))))
+(let ((@x24841 (trans @x24936 (rewrite (= (<= (+ (* (- 1) v_b_L_H_max_G_1$) ?x15634) 0) $x24195)) (= $x23648 $x24195))))
+(let ((@x24943 (monotonicity (rewrite (= (+ ?v0!14 ?x11484) (+ ?x11484 ?v0!14))) (= $x23640 (>= (+ ?x11484 ?v0!14) 0)))))
+(let ((@x24623 (trans @x24943 (rewrite (= (>= (+ ?x11484 ?v0!14) 0) $x23657)) (= $x23640 $x23657))))
+(let ((@x24818 (monotonicity (monotonicity @x24623 @x24841 (= $x23649 (or $x19365 $x19366 $x23657 $x24195))) (= $x24880 (or $x19903 (or $x19365 $x19366 $x23657 $x24195))))))
+(let ((@x24597 (trans @x24818 (rewrite (= (or $x19903 (or $x19365 $x19366 $x23657 $x24195)) $x24882)) (= $x24880 $x24882))))
+(let ((@x24900 (unit-resolution (mp ((_ quant-inst ?v0!14) $x24880) @x24597 $x24882) @x23333 (unit-resolution (def-axiom (or $x19381 $x15626)) (hypothesis $x19386) $x15626) (unit-resolution (def-axiom (or $x19381 $x15627)) (hypothesis $x19386) $x15627) (hypothesis $x24206) $x23657)))
+(let ((@x24984 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x25035 (not $x23657) (not $x24926))) @x24900 @x24918 (hypothesis (not $x25035)) false)))
+(let ((@x24787 (lemma @x24984 (or $x19381 $x25035 $x19903 $x24195 $x15871 (not $x20596)))))
+(let ((@x25179 (unit-resolution (unit-resolution @x24787 @x24499 (or $x19381 $x25035 $x24195 $x15871 (not $x20596))) @x25131 @x25129 (unit-resolution (def-axiom (or $x19381 $x15876)) @x25210 $x15876) @x25210 $x25035)))
+(let ((@x25060 (monotonicity (symm (hypothesis $x25035) (= ?v0!14 v_b_L_H_p_G_0$)) (= ?x15633 ?x10320))))
+(let ((@x25064 (unit-resolution (hypothesis (not $x25038)) (symm (monotonicity @x25060 (= ?x15634 ?x10327)) $x25038) false)))
+(let ((@x25067 (lemma @x25064 (or (not $x25035) $x25038))))
+(let ((@x25052 ((_ th-lemma arith triangle-eq) (or (not $x25038) $x25041))))
+(let ((@x25298 ((_ th-lemma arith farkas -1 -1 1) (unit-resolution (def-axiom (or $x19381 $x20603)) @x25210 $x20603) @x25195 (unit-resolution @x25052 (unit-resolution @x25067 @x25179 $x25038) $x25041) false)))
+(let ((@x25299 (lemma @x25298 $x19983)))
+(let ((@x24908 (unit-resolution @x25023 (unit-resolution (def-axiom (or $x19980 $x19944)) @x25299 $x19944) $x19941)))
+(let ((@x24947 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x19452 $x20596)) (unit-resolution (def-axiom (or $x19938 $x11580)) @x24908 $x11580) $x20596)))
+(let ((@x24954 (unit-resolution @x20638 (unit-resolution @x25134 @x24947 $x11608) (unit-resolution @x20652 @x24908 $x19932) $x19929)))
+(let (($x20719 (= v_b_L_H_max_G_1$ v_b_L_H_max_G_3$)))
+(let ((@x25006 (mp (unit-resolution (def-axiom (or $x19980 $x10391)) @x25299 $x10391) (symm (commutativity (= $x20719 $x10391)) (= $x10391 $x20719)) $x20719)))
+(let (($x25065 (not $x25035)))
+(let (($x25044 (not $x25038)))
+(let (($x25049 (not $x25041)))
+(let ((@x25051 (lemma ((_ th-lemma arith farkas 1 -1 -1 1) (hypothesis $x25041) @x24170 @x24171 (hypothesis $x11516) false) (or $x25049 (not $x20721) $x15893 $x11515))))
+(let ((@x24047 (unit-resolution @x25051 (unit-resolution (def-axiom (or $x19980 $x11516)) (hypothesis $x19983) $x11516) @x24171 @x24170 $x25049)))
+(let ((@x24884 (unit-resolution @x20638 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x11608 $x11486 (not $x20596))) @x24735 @x23420 $x11608) (hypothesis $x19932) $x19929)))
+(let ((@x24887 (symm (unit-resolution (def-axiom (or $x19980 $x10391)) (hypothesis $x19983) $x10391) $x20719)))
+(let ((@x24982 (monotonicity (unit-resolution (def-axiom (or $x19980 $x10392)) (hypothesis $x19983) $x10392) (= ?x10372 ?x10190))))
+(let ((@x24897 (trans (monotonicity @x24982 (= ?x10373 ?x10191)) @x23175 (= ?x10373 v_b_L_H_max_G_1$))))
+(let ((?x11645 (* (- 1) v_b_SL_H_witness_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 ((@x24788 (mp (unit-resolution (def-axiom (or $x19980 $x10392)) (hypothesis $x19983) $x10392) (symm (commutativity (= $x20723 $x10392)) (= $x10392 $x20723)) $x20723)))
+(let ((@x24909 (lemma ((_ th-lemma arith farkas 1 -1 1) (hypothesis $x20726) (hypothesis $x11647) @x23180 false) (or $x11648 (not $x20726) $x11867))))
+(let ((@x24673 (unit-resolution @x24909 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x20723) $x20726)) @x24788 $x20726) @x23180 $x11648)))
+(let ((@x24789 (unit-resolution @x20618 (unit-resolution @x20614 @x24673 (trans @x24897 @x24887 $x10374) $x19413) $x19914)))
+(let ((@x20602 (def-axiom (or $x19381 $x15876))))
+(let ((@x24914 (unit-resolution @x20602 (unit-resolution @x20626 @x24789 (unit-resolution @x20630 @x24884 $x19920) $x19386) $x15876)))
+(let ((@x24915 (unit-resolution @x24787 @x24914 (unit-resolution @x20626 @x24789 (unit-resolution @x20630 @x24884 $x19920) $x19386) @x23333 (unit-resolution @x24211 @x24171 @x24170 $x24206) (unit-resolution @x25067 (unit-resolution @x25052 @x24047 $x25044) $x25065) @x24735 false)))
+(let ((@x24889 (lemma @x24915 (or $x19980 $x19903 (not $x20596) $x11867 $x15893 (not $x20721) $x19935 $x11486 $x19674))))
+(let ((@x24843 (unit-resolution @x24889 @x24499 @x24415 @x24656 @x24314 (or $x19980 (not $x20596) $x15893 (not $x20721) $x19935))))
+(let ((@x24844 (unit-resolution @x24843 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x20719) $x20721)) @x25006 $x20721) @x25299 @x24947 (unit-resolution @x20652 @x24908 $x19932) $x15893)))
+(let ((@x20605 (def-axiom (or $x19381 $x20603))))
+(let ((@x25302 (monotonicity (unit-resolution (def-axiom (or $x19980 $x10392)) @x25299 $x10392) (= ?x10372 ?x10190))))
+(let ((@x25305 (trans (monotonicity @x25302 (= ?x10373 ?x10191)) @x24314 (= ?x10373 v_b_L_H_max_G_1$))))
+(let ((@x25306 (trans @x25305 (symm (unit-resolution (def-axiom (or $x19980 $x10391)) @x25299 $x10391) $x20719) $x10374)))
+(let ((@x25307 (mp (unit-resolution (def-axiom (or $x19980 $x10392)) @x25299 $x10392) (symm (commutativity (= $x20723 $x10392)) (= $x10392 $x20723)) $x20723)))
+(let ((@x25311 (unit-resolution (unit-resolution @x24909 @x24415 (or $x11648 (not $x20726))) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x20723) $x20726)) @x25307 $x20726) $x11648)))
+(unit-resolution @x20626 (unit-resolution @x20618 (unit-resolution @x20614 @x25311 @x25306 $x19413) $x19914) (unit-resolution @x20605 @x24844 $x19381) (unit-resolution @x20630 @x24954 $x19920) false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+