blanchet@57232: 05a761f33f246f0fee720bec6f015ca5aba01c4d 2972 0 blanchet@57170: unsat blanchet@57170: ((set-logic ) blanchet@57170: (declare-fun ?v0!14 () Int) blanchet@57170: (declare-fun ?v0!15 () Int) blanchet@57170: (declare-fun ?v0!13 () Int) blanchet@57170: (proof blanchet@57170: (let ((?x10078 (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$))) blanchet@57170: (let ((?x10372 (b_S_idx$ ?x10078 v_b_SL_H_witness_G_1$ b_T_T_u1$))) blanchet@57170: (let ((?x10373 (b_S_read_n_u1$ v_b_S_s$ ?x10372))) blanchet@57170: (let (($x10374 (= ?x10373 v_b_L_H_max_G_3$))) blanchet@57170: (let (($x11647 (<= (+ v_b_P_H_len$ (* (- 1) v_b_SL_H_witness_G_1$)) 0))) blanchet@57170: (let (($x19412 (or $x11647 (not $x10374)))) blanchet@57170: (let (($x19413 (not $x19412))) blanchet@57170: (let (($x19906 (forall ((?v0 Int) )(!(let ((?x11631 (* (- 1) v_b_L_H_max_G_3$))) blanchet@57170: (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$)))) blanchet@57170: (let (($x11633 (<= (+ ?x10163 ?x11631) 0))) blanchet@57170: (let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0))) blanchet@57170: (let (($x12168 (<= ?v0 4294967295))) blanchet@57170: (let (($x16553 (not $x12168))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (let (($x3763 (not $x2815))) blanchet@57170: (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$) ))) blanchet@57170: )) blanchet@57170: (let (($x19911 (not $x19906))) blanchet@57170: (let (($x19914 (or $x19911 $x19413))) blanchet@57170: (let (($x19917 (not $x19914))) blanchet@57170: (let ((?x15633 (b_S_idx$ ?x10078 ?v0!14 b_T_T_u1$))) blanchet@57170: (let ((?x15634 (b_S_read_n_u1$ v_b_S_s$ ?x15633))) blanchet@57170: (let ((?x15891 (* (- 1) ?x15634))) blanchet@57170: (let (($x15893 (>= (+ v_b_L_H_max_G_3$ ?x15891) 0))) blanchet@57170: (let (($x15871 (<= (+ v_b_L_H_p_G_1$ (* (- 1) ?v0!14)) 0))) blanchet@57170: (let (($x15627 (<= ?v0!14 4294967295))) blanchet@57170: (let (($x19366 (not $x15627))) blanchet@57170: (let (($x15626 (>= ?v0!14 0))) blanchet@57170: (let (($x19365 (not $x15626))) blanchet@57170: (let (($x19381 (or $x19365 $x19366 $x15871 $x15893))) blanchet@57170: (let (($x19386 (not $x19381))) blanchet@57170: (let (($x19920 (or $x19386 $x19917))) blanchet@57170: (let (($x19923 (not $x19920))) blanchet@57170: (let ((?x11581 (* (- 1) v_b_L_H_p_G_1$))) blanchet@57170: (let ((?x11609 (+ v_b_P_H_len$ ?x11581))) blanchet@57170: (let (($x11608 (>= ?x11609 0))) blanchet@57170: (let (($x11612 (not $x11608))) blanchet@57170: (let (($x19926 (or $x11612 $x19923))) blanchet@57170: (let (($x19929 (not $x19926))) blanchet@57170: (let (($x19932 (or $x11612 $x19929))) blanchet@57170: (let (($x19935 (not $x19932))) blanchet@57170: (let (($x11536 (>= v_b_SL_H_witness_G_1$ 0))) blanchet@57170: (let (($x19455 (not $x11536))) blanchet@57170: (let (($x11578 (>= v_b_L_H_p_G_1$ 2))) blanchet@57170: (let (($x19454 (not $x11578))) blanchet@57170: (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$))) blanchet@57170: (let (($x19453 (not $x10358))) blanchet@57170: (let ((?x11582 (+ v_b_L_H_p_G_0$ ?x11581))) blanchet@57170: (let (($x11580 (= ?x11582 (- 1)))) blanchet@57170: (let (($x19452 (not $x11580))) blanchet@57170: (let (($x13353 (<= v_b_L_H_p_G_0$ 4294967294))) blanchet@57170: (let (($x15614 (not $x13353))) blanchet@57170: (let (($x11570 (>= v_b_L_H_p_G_0$ (- 1)))) blanchet@57170: (let (($x15611 (not $x11570))) blanchet@57170: (let (($x19938 (or $x15611 $x15614 $x19452 $x19453 $x19454 $x19455 $x19935))) blanchet@57170: (let (($x19941 (not $x19938))) blanchet@57170: (let (($x19944 (or $x15611 $x15614 $x19941))) blanchet@57170: (let (($x19947 (not $x19944))) blanchet@57170: (let (($x11429 (>= v_b_L_H_p_G_0$ 1))) blanchet@57170: (let (($x19474 (not $x11429))) blanchet@57170: (let (($x10392 (= v_b_SL_H_witness_G_1$ v_b_SL_H_witness_G_0$))) blanchet@57170: (let (($x19513 (not $x10392))) blanchet@57170: (let (($x10391 (= v_b_L_H_max_G_3$ v_b_L_H_max_G_1$))) blanchet@57170: (let (($x19512 (not $x10391))) blanchet@57170: (let (($x11432 (>= v_b_SL_H_witness_G_0$ 0))) blanchet@57170: (let (($x19501 (not $x11432))) blanchet@57170: (let ((?x10320 (b_S_idx$ ?x10078 v_b_L_H_p_G_0$ b_T_T_u1$))) blanchet@57170: (let ((?x10327 (b_S_read_n_u1$ v_b_S_s$ ?x10320))) blanchet@57170: (let ((?x11517 (* (- 1) ?x10327))) blanchet@57170: (let ((?x11518 (+ v_b_L_H_max_G_1$ ?x11517))) blanchet@57170: (let (($x11516 (>= ?x11518 0))) blanchet@57170: (let (($x11515 (not $x11516))) blanchet@57170: (let (($x19980 (or $x11515 $x19501 $x19512 $x19513 $x19474 $x19455 $x19947))) blanchet@57170: (let (($x19983 (not $x19980))) blanchet@57170: (let ((?x25039 (+ ?x10327 ?x15891))) blanchet@57170: (let (($x25041 (>= ?x25039 0))) blanchet@57170: (let (($x25038 (= ?x10327 ?x15634))) blanchet@57170: (let (($x25035 (= v_b_L_H_p_G_0$ ?v0!14))) blanchet@57170: (let (($x10340 (= v_b_SL_H_witness_G_1$ v_b_L_H_p_G_0$))) blanchet@57170: (let (($x19473 (not $x10340))) blanchet@57170: (let (($x10338 (= v_b_L_H_max_G_3$ v_b_L_H_max_G_2$))) blanchet@57170: (let (($x19472 (not $x10338))) blanchet@57170: (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$))) blanchet@57170: (let (($x19471 (not $x10335))) blanchet@57170: (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$))) blanchet@57170: (let (($x19470 (not $x10334))) blanchet@57170: (let (($x10333 (= v_b_L_H_max_G_2$ ?x10327))) blanchet@57170: (let (($x19469 (not $x10333))) blanchet@57170: (let (($x10324 (b_S_thread_n_local$ v_b_S_s$ ?x10320))) blanchet@57170: (let (($x15599 (not $x10324))) blanchet@57170: (let (($x10321 (b_S_is$ ?x10320 b_T_T_u1$))) blanchet@57170: (let (($x15590 (not $x10321))) blanchet@57170: (let (($x19950 (or $x15590 $x15599 $x19469 $x19470 $x19471 $x19472 $x19473 $x19474 $x19455 $x19947))) blanchet@57170: (let (($x19953 (not $x19950))) blanchet@57170: (let (($x19956 (or $x15590 $x15599 $x19953))) blanchet@57170: (let (($x19959 (not $x19956))) blanchet@57170: (let (($x10322 (b_S_typed$ v_b_S_s$ ?x10320))) blanchet@57170: (let (($x15593 (not $x10322))) blanchet@57170: (let (($x19962 (or $x15590 $x15593 $x19959))) blanchet@57170: (let (($x19965 (not $x19962))) blanchet@57170: (let (($x19968 (or $x15590 $x15593 $x19965))) blanchet@57170: (let (($x19971 (not $x19968))) blanchet@57170: (let (($x19974 (or $x11516 $x19474 $x19501 $x19971))) blanchet@57170: (let (($x19977 (not $x19974))) blanchet@57170: (let (($x19986 (or $x19977 $x19983))) blanchet@57170: (let (($x19989 (not $x19986))) blanchet@57170: (let (($x19992 (or $x15590 $x15599 $x19474 $x19501 $x19989))) blanchet@57170: (let (($x19995 (not $x19992))) blanchet@57170: (let ((?x23404 (b_S_ref$ ?x10320))) blanchet@57232: (let ((?x23228 (b_S_ptr$ b_T_T_u1$ ?x23404))) blanchet@57232: (let ((?x23728 (b_S_typ$ ?x23228))) blanchet@57232: (let ((?x23730 (b_S_kind_n_of$ ?x23728))) blanchet@57232: (let (($x24098 (= ?x23730 b_S_kind_n_primitive$))) blanchet@57170: (let ((?x21472 (b_S_kind_n_of$ b_T_T_u1$))) blanchet@57170: (let (($x21473 (= ?x21472 b_S_kind_n_primitive$))) blanchet@57170: (let (($x9768 (b_S_is_n_primitive$ b_T_T_u1$))) blanchet@57170: (let (($x21480 (= $x9768 $x21473))) blanchet@57170: (let (($x9891 (forall ((?v0 B_S_ctype$) )(!(let ((?x9849 (b_S_kind_n_of$ ?v0))) blanchet@57170: (let (($x9883 (= ?x9849 b_S_kind_n_primitive$))) blanchet@57170: (let (($x2704 (b_S_is_n_primitive$ ?v0))) blanchet@57170: (= $x2704 $x9883)))) :pattern ( (b_S_is_n_primitive$ ?v0) ))) blanchet@57170: )) blanchet@57170: (let ((?x9849 (b_S_kind_n_of$ ?0))) blanchet@57170: (let (($x9883 (= ?x9849 b_S_kind_n_primitive$))) blanchet@57170: (let (($x2704 (b_S_is_n_primitive$ ?0))) blanchet@57170: (let (($x9888 (= $x2704 $x9883))) blanchet@57170: (let (($x9886 (forall ((?v0 B_S_ctype$) )(!(let ((?x9849 (b_S_kind_n_of$ ?v0))) blanchet@57170: (let (($x9883 (= ?x9849 b_S_kind_n_primitive$))) blanchet@57170: (let (($x2704 (b_S_is_n_primitive$ ?v0))) blanchet@57170: (= $x2704 $x9883)))) :pattern ( (b_S_is_n_primitive$ ?v0) ))) blanchet@57170: )) blanchet@57170: (let ((@x9896 (mp (asserted $x9886) (quant-intro (rewrite (= (= $x2704 $x9883) $x9888)) (= $x9886 $x9891)) $x9891))) blanchet@57170: (let ((@x15456 (mp~ @x9896 (nnf-pos (refl (~ $x9888 $x9888)) (~ $x9891 $x9891)) $x9891))) blanchet@57170: (let (($x21224 (not $x9891))) blanchet@57170: (let (($x21483 (or $x21224 $x21480))) blanchet@57170: (let ((@x21484 ((_ quant-inst b_T_T_u1$) $x21483))) blanchet@57170: (let ((@x9769 (asserted $x9768))) blanchet@57170: (let ((@x23544 (unit-resolution (def-axiom (or (not $x21480) (not $x9768) $x21473)) @x9769 (or (not $x21480) $x21473)))) blanchet@57170: (let ((?x23241 (b_S_typ$ ?x10320))) blanchet@57170: (let (($x23242 (= ?x23241 b_T_T_u1$))) blanchet@57170: (let (($x23270 (= $x10321 $x23242))) blanchet@57170: (let (($x19828 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(!(let ((?x6636 (b_S_typ$ ?v0))) blanchet@57170: (let (($x7865 (= ?x6636 ?v1))) blanchet@57170: (let (($x9596 (b_S_is$ ?v0 ?v1))) blanchet@57170: (= $x9596 $x7865)))) :pattern ( (b_S_is$ ?v0 ?v1) ))) blanchet@57170: )) blanchet@57170: (let (($x9617 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(let ((?x6636 (b_S_typ$ ?v0))) blanchet@57170: (let (($x7865 (= ?x6636 ?v1))) blanchet@57170: (let (($x9596 (b_S_is$ ?v0 ?v1))) blanchet@57170: (= $x9596 $x7865))))) blanchet@57170: )) blanchet@57170: (let ((?x6636 (b_S_typ$ ?1))) blanchet@57170: (let (($x7865 (= ?x6636 ?0))) blanchet@57170: (let (($x9596 (b_S_is$ ?1 ?0))) blanchet@57170: (let (($x9614 (= $x9596 $x7865))) blanchet@57170: (let (($x9611 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(let ((?x6636 (b_S_typ$ ?v0))) blanchet@57170: (let (($x7865 (= ?x6636 ?v1))) blanchet@57170: (let (($x9596 (b_S_is$ ?v0 ?v1))) blanchet@57170: (= $x9596 $x7865))))) blanchet@57170: )) blanchet@57170: (let ((@x9622 (mp (asserted $x9611) (quant-intro (rewrite (= (= $x9596 $x7865) $x9614)) (= $x9611 $x9617)) $x9617))) blanchet@57170: (let ((@x19833 (mp (mp~ @x9622 (nnf-pos (refl (~ $x9614 $x9614)) (~ $x9617 $x9617)) $x9617) (quant-intro (refl (= $x9614 $x9614)) (= $x9617 $x19828)) $x19828))) blanchet@57170: (let (($x22002 (not $x19828))) blanchet@57170: (let (($x23990 (or $x22002 $x23270))) blanchet@57170: (let ((@x23870 ((_ quant-inst (b_S_idx$ ?x10078 v_b_L_H_p_G_0$ b_T_T_u1$) b_T_T_u1$) $x23990))) blanchet@57170: (let ((?x10045 (b_S_sizeof$ b_T_T_u1$))) blanchet@57170: (let ((?x23278 (* ?x10045 v_b_L_H_p_G_0$))) blanchet@57170: (let ((?x10079 (b_S_ref$ ?x10078))) blanchet@57170: (let ((?x24174 (+ ?x10079 ?x23278))) blanchet@57170: (let ((?x24198 (b_S_ptr$ b_T_T_u1$ ?x24174))) blanchet@57170: (let ((?x23028 (b_S_typ$ ?x24198))) blanchet@57170: (let (($x23029 (= ?x23028 b_T_T_u1$))) blanchet@57170: (let (($x19841 (forall ((?v0 B_S_ctype$) (?v1 Int) )(!(= (b_S_typ$ (b_S_ptr$ ?v0 ?v1)) ?v0) :pattern ( (b_S_ptr$ ?v0 ?v1) ))) blanchet@57170: )) blanchet@57170: (let (($x9659 (forall ((?v0 B_S_ctype$) (?v1 Int) )(= (b_S_typ$ (b_S_ptr$ ?v0 ?v1)) ?v0)) blanchet@57170: )) blanchet@57170: (let (($x9658 (= (b_S_typ$ (b_S_ptr$ ?1 ?0)) ?1))) blanchet@57170: (let ((@x15361 (mp~ (asserted $x9659) (nnf-pos (refl (~ $x9658 $x9658)) (~ $x9659 $x9659)) $x9659))) blanchet@57170: (let ((@x19846 (mp @x15361 (quant-intro (refl (= $x9658 $x9658)) (= $x9659 $x19841)) $x19841))) blanchet@57170: (let (($x24201 (= ?x10320 ?x24198))) blanchet@57170: (let (($x24214 (not $x24201))) blanchet@57170: (let (($x24067 (b_S_extent_n_hint$ ?x10320 ?x10078))) blanchet@57170: (let (($x24065 (not $x24067))) blanchet@57170: (let (($x24160 (or $x24065 $x24214))) blanchet@57170: (let (($x24161 (not $x24160))) blanchet@57170: (let (($x18180 (forall ((?v0 B_S_ptr$) (?v1 Int) (?v2 B_S_ctype$) )(!(let ((?x7205 (b_S_idx$ ?v0 ?v1 ?v2))) blanchet@57170: (let (($x7213 (= ?x7205 (b_S_ptr$ ?v2 (+ (b_S_ref$ ?v0) (* ?v1 (b_S_sizeof$ ?v2))))))) blanchet@57170: (not (or (not (b_S_extent_n_hint$ ?x7205 ?v0)) (not $x7213))))) :pattern ( (b_S_idx$ ?v0 ?v1 ?v2) ))) blanchet@57170: )) blanchet@57170: (let (($x7216 (forall ((?v0 B_S_ptr$) (?v1 Int) (?v2 B_S_ctype$) )(!(let ((?x7205 (b_S_idx$ ?v0 ?v1 ?v2))) blanchet@57170: (let (($x7213 (= ?x7205 (b_S_ptr$ ?v2 (+ (b_S_ref$ ?v0) (* ?v1 (b_S_sizeof$ ?v2))))))) blanchet@57170: (and (b_S_extent_n_hint$ ?x7205 ?v0) $x7213))) :pattern ( (b_S_idx$ ?v0 ?v1 ?v2) ))) blanchet@57170: )) blanchet@57170: (let ((?x7205 (b_S_idx$ ?2 ?1 ?0))) blanchet@57170: (let (($x7213 (= ?x7205 (b_S_ptr$ ?0 (+ (b_S_ref$ ?2) (* ?1 (b_S_sizeof$ ?0))))))) blanchet@57170: (let (($x7214 (and (b_S_extent_n_hint$ ?x7205 ?2) $x7213))) blanchet@57170: (let ((@x18179 (rewrite (= $x7214 (not (or (not (b_S_extent_n_hint$ ?x7205 ?2)) (not $x7213))))))) blanchet@57170: (let ((@x14561 (mp~ (asserted $x7216) (nnf-pos (refl (~ $x7214 $x7214)) (~ $x7216 $x7216)) $x7216))) blanchet@57170: (let ((@x18183 (mp @x14561 (quant-intro @x18179 (= $x7216 $x18180)) $x18180))) blanchet@57170: (let (($x22568 (not $x18180))) blanchet@57170: (let (($x24300 (or $x22568 $x24161))) blanchet@57170: (let (($x24080 (not (= ?x10320 (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045))))))) blanchet@57170: (let (($x24081 (not (or $x24065 $x24080)))) blanchet@57170: (let (($x24202 (= (= ?x10320 (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045)))) $x24201))) blanchet@57170: (let ((@x24197 (monotonicity (rewrite (= (* v_b_L_H_p_G_0$ ?x10045) ?x23278)) (= (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045)) ?x24174)))) blanchet@57170: (let ((@x24200 (monotonicity @x24197 (= (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045))) ?x24198)))) blanchet@57170: (let ((@x24150 (monotonicity (monotonicity (monotonicity @x24200 $x24202) (= $x24080 $x24214)) (= (or $x24065 $x24080) $x24160)))) blanchet@57170: (let ((@x24316 (monotonicity (monotonicity @x24150 (= $x24081 $x24161)) (= (or $x22568 $x24081) $x24300)))) blanchet@57170: (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))) blanchet@57170: (let ((@x24341 (unit-resolution (def-axiom (or $x24160 $x24201)) (unit-resolution @x24299 @x18183 $x24161) $x24201))) blanchet@57170: (let ((@x24343 (trans (monotonicity @x24341 (= ?x23241 ?x23028)) (unit-resolution ((_ quant-inst b_T_T_u1$ (+ ?x10079 ?x23278)) (or (not $x19841) $x23029)) @x19846 $x23029) $x23242))) blanchet@57170: (let (($x23889 (not $x23242))) blanchet@57170: (let ((@x24337 (unit-resolution (def-axiom (or (not $x23270) $x10321 $x23889)) (hypothesis $x15590) (or (not $x23270) $x23889)))) blanchet@57170: (let ((@x24344 (unit-resolution (unit-resolution @x24337 (unit-resolution @x23870 @x19833 $x23270) $x23889) @x24343 false))) blanchet@57170: (let ((@x24345 (lemma @x24344 $x10321))) blanchet@57170: (let ((@x25031 (unit-resolution (def-axiom (or (not $x23270) $x15590 $x23242)) @x24345 (or (not $x23270) $x23242)))) blanchet@57232: (let (($x23306 (= ?x10320 ?x23228))) blanchet@57170: (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) ))) blanchet@57170: )) blanchet@57170: (let (($x9604 (or (not $x9596) (= ?1 (b_S_ptr$ ?0 (b_S_ref$ ?1)))))) blanchet@57170: (let (($x9601 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(!(let (($x9596 (b_S_is$ ?v0 ?v1))) blanchet@57170: (=> $x9596 (= ?v0 (b_S_ptr$ ?v1 (b_S_ref$ ?v0))))) :pattern ( (b_S_is$ ?v0 ?v1) ))) blanchet@57170: )) blanchet@57170: (let ((@x9606 (rewrite (= (=> $x9596 (= ?1 (b_S_ptr$ ?0 (b_S_ref$ ?1)))) $x9604)))) blanchet@57170: (let ((@x15336 (mp~ (mp (asserted $x9601) (quant-intro @x9606 (= $x9601 $x9607)) $x9607) (nnf-pos (refl (~ $x9604 $x9604)) (~ $x9607 $x9607)) $x9607))) blanchet@57170: (let (($x21994 (not $x9607))) blanchet@57232: (let (($x24294 (or $x21994 $x15590 $x23306))) blanchet@57232: (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))) blanchet@57232: (let ((@x25262 (symm (unit-resolution @x24335 @x15336 @x24345 $x23306) (= ?x23228 ?x10320)))) blanchet@57232: (let ((@x24694 (trans (monotonicity @x25262 (= ?x23728 ?x23241)) (unit-resolution @x25031 (unit-resolution @x23870 @x19833 $x23270) $x23242) (= ?x23728 b_T_T_u1$)))) blanchet@57232: (let ((@x24696 (trans (monotonicity @x24694 (= ?x23730 ?x21472)) (unit-resolution @x23544 (unit-resolution @x21484 @x15456 $x21480) $x21473) $x24098))) blanchet@57170: (let ((?x10272 (b_S_typemap$ v_b_S_s$))) blanchet@57232: (let ((?x24217 (b_S_select_o_tm$ ?x10272 ?x23228))) blanchet@57170: (let ((?x24218 (b_S_ts_n_emb$ ?x24217))) blanchet@57232: (let (($x23775 (b_S_closed$ v_b_S_s$ ?x24218))) blanchet@57170: (let (($x23784 (not $x23775))) blanchet@57232: (let (($x23805 (b_S_ts_n_is_n_volatile$ ?x24217))) blanchet@57232: (let (($x23770 (not $x23805))) blanchet@57232: (let (($x23797 (or $x23770 $x23784))) blanchet@57232: (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)))))) blanchet@57232: (let ((@x24702 (symm @x24686 (= (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x10272 ?x10320)) $x23805)))) blanchet@57232: (let ((@x24701 (monotonicity @x24702 (= (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x10272 ?x10320))) $x23770)))) blanchet@57232: (let ((?x23124 (b_S_select_o_tm$ ?x10272 ?x10320))) blanchet@57232: (let (($x23361 (b_S_ts_n_is_n_volatile$ ?x23124))) blanchet@57170: (let (($x23297 (not $x23361))) blanchet@57170: (let (($x23362 (or $x15593 $x23361))) blanchet@57170: (let (($x23363 (not $x23362))) blanchet@57170: (let (($x11901 (>= v_b_L_H_p_G_0$ 0))) blanchet@57170: (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$)))) blanchet@57170: (let (($x10238 (= ?x10163 v_b_S_result_G_0$))) blanchet@57170: (let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0))) blanchet@57170: (let (($x12168 (<= ?v0 4294967295))) blanchet@57170: (let (($x16553 (not $x12168))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (let (($x3763 (not $x2815))) blanchet@57170: (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$) ))) blanchet@57170: )) blanchet@57170: (let (($x20035 (not $x20030))) blanchet@57170: (let (($x20022 (forall ((?v0 Int) )(!(let ((?x11816 (* (- 1) v_b_S_result_G_0$))) blanchet@57170: (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$)))) blanchet@57170: (let (($x11818 (<= (+ ?x10163 ?x11816) 0))) blanchet@57170: (let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0))) blanchet@57170: (let (($x12168 (<= ?v0 4294967295))) blanchet@57170: (let (($x16553 (not $x12168))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (let (($x3763 (not $x2815))) blanchet@57170: (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$) ))) blanchet@57170: )) blanchet@57170: (let (($x20027 (not $x20022))) blanchet@57170: (let (($x20038 (or $x20027 $x20035))) blanchet@57170: (let (($x20041 (not $x20038))) blanchet@57170: (let ((?x15743 (b_S_idx$ ?x10078 ?v0!15 b_T_T_u1$))) blanchet@57170: (let ((?x15744 (b_S_read_n_u1$ v_b_S_s$ ?x15743))) blanchet@57170: (let ((?x16029 (* (- 1) ?x15744))) blanchet@57170: (let (($x16031 (>= (+ v_b_S_result_G_0$ ?x16029) 0))) blanchet@57170: (let (($x16009 (<= (+ v_b_P_H_len$ (* (- 1) ?v0!15)) 0))) blanchet@57170: (let (($x15737 (<= ?v0!15 4294967295))) blanchet@57170: (let (($x19560 (not $x15737))) blanchet@57170: (let (($x15736 (>= ?v0!15 0))) blanchet@57170: (let (($x19559 (not $x15736))) blanchet@57170: (let (($x19575 (or $x19559 $x19560 $x16009 $x16031))) blanchet@57170: (let (($x19580 (not $x19575))) blanchet@57170: (let (($x20044 (or $x19580 $x20041))) blanchet@57170: (let (($x20047 (not $x20044))) blanchet@57170: (let (($x10222 (= v_b_S_result_G_0$ v_b_L_H_max_G_1$))) blanchet@57170: (let (($x19640 (not $x10222))) blanchet@57170: (let (($x10220 (= v_b_SL_H_witness_G_2$ v_b_SL_H_witness_G_0$))) blanchet@57170: (let (($x19639 (not $x10220))) blanchet@57170: (let (($x10218 (= v_b_L_H_p_G_2$ v_b_L_H_p_G_0$))) blanchet@57170: (let (($x19638 (not $x10218))) blanchet@57170: (let (($x10216 (= v_b_L_H_max_G_4$ v_b_L_H_max_G_1$))) blanchet@57170: (let (($x19637 (not $x10216))) blanchet@57170: (let (($x15729 (not b_S_position_n_marker$))) blanchet@57170: (let (($x20050 (or $x15729 $x19474 $x19501 $x19637 $x19638 $x19639 $x19640 $x20047))) blanchet@57170: (let (($x20053 (not $x20050))) blanchet@57170: (let (($x20056 (or $x15729 $x20053))) blanchet@57170: (let (($x20059 (not $x20056))) blanchet@57170: (let ((?x11484 (* (- 1) v_b_L_H_p_G_0$))) blanchet@57170: (let ((?x11485 (+ v_b_P_H_len$ ?x11484))) blanchet@57170: (let (($x11486 (<= ?x11485 0))) blanchet@57170: (let (($x11487 (not $x11486))) blanchet@57170: (let (($x20062 (or $x11487 $x19474 $x19501 $x20059))) blanchet@57170: (let (($x20065 (not $x20062))) blanchet@57170: (let (($x19998 (or $x15590 $x15599 $x19995))) blanchet@57170: (let (($x20001 (not $x19998))) blanchet@57170: (let (($x20004 (or $x15590 $x15593 $x20001))) blanchet@57170: (let (($x20007 (not $x20004))) blanchet@57170: (let (($x20010 (or $x15590 $x15593 $x20007))) blanchet@57170: (let (($x20013 (not $x20010))) blanchet@57170: (let (($x20016 (or $x11486 $x19474 $x19501 $x20013))) blanchet@57170: (let (($x20019 (not $x20016))) blanchet@57170: (let (($x20068 (or $x20019 $x20065))) blanchet@57170: (let (($x20071 (not $x20068))) blanchet@57170: (let ((?x2238 (b_S_ptr_n_to$ b_T_T_u1$))) blanchet@57170: (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))) blanchet@57170: (let (($x19683 (not $x10296))) blanchet@57170: (let ((?x10105 (b_S_ptr_n_to_n_int$ ?x10078))) blanchet@57170: (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))) blanchet@57170: (let (($x19682 (not $x10295))) blanchet@57170: (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$))) blanchet@57170: (let (($x19681 (not $x10294))) blanchet@57170: (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$))) blanchet@57170: (let (($x19680 (not $x10293))) blanchet@57170: (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$))) blanchet@57170: (let (($x19679 (not $x10292))) blanchet@57170: (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$))) blanchet@57170: (let (($x19678 (not $x10291))) blanchet@57170: (let (($x10097 (b_S_full_n_stop$ v_b_S_s$))) blanchet@57170: (let (($x19677 (not $x10097))) blanchet@57170: (let (($x10204 (b_S_good_n_state_n_ext$ b_H_tok_S_1_T_16_o_3$ v_b_S_s$))) blanchet@57170: (let (($x19676 (not $x10204))) blanchet@57170: (let (($x10284 (b_S_call_n_transition$ v_b_S_s$ v_b_S_s$))) blanchet@57170: (let (($x19675 (not $x10284))) blanchet@57170: (let ((?x10190 (b_S_idx$ ?x10078 v_b_SL_H_witness_G_0$ b_T_T_u1$))) blanchet@57170: (let ((?x10191 (b_S_read_n_u1$ v_b_S_s$ ?x10190))) blanchet@57170: (let (($x10192 (= ?x10191 v_b_L_H_max_G_1$))) blanchet@57170: (let (($x19674 (not $x10192))) blanchet@57170: (let ((?x11865 (* (- 1) v_b_SL_H_witness_G_0$))) blanchet@57170: (let ((?x11866 (+ v_b_P_H_len$ ?x11865))) blanchet@57170: (let (($x11867 (<= ?x11866 0))) blanchet@57170: (let (($x19898 (forall ((?v0 Int) )(!(let ((?x11887 (* (- 1) v_b_L_H_max_G_1$))) blanchet@57170: (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$)))) blanchet@57170: (let (($x11889 (<= (+ ?x10163 ?x11887) 0))) blanchet@57170: (let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0))) blanchet@57170: (let (($x12168 (<= ?v0 4294967295))) blanchet@57170: (let (($x16553 (not $x12168))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (let (($x3763 (not $x2815))) blanchet@57170: (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$) ))) blanchet@57170: )) blanchet@57170: (let (($x19903 (not $x19898))) blanchet@57170: (let (($x11898 (>= ?x11485 0))) blanchet@57170: (let (($x19672 (not $x11898))) blanchet@57170: (let (($x13326 (<= v_b_L_H_p_G_0$ 4294967295))) blanchet@57170: (let (($x19671 (not $x13326))) blanchet@57170: (let (($x19670 (not $x11901))) blanchet@57170: (let (($x13315 (<= v_b_SL_H_witness_G_0$ 4294967295))) blanchet@57170: (let (($x19669 (not $x13315))) blanchet@57170: (let (($x13304 (<= v_b_L_H_max_G_1$ 255))) blanchet@57170: (let (($x19668 (not $x13304))) blanchet@57170: (let (($x11911 (>= v_b_L_H_max_G_1$ 0))) blanchet@57170: (let (($x19667 (not $x11911))) blanchet@57170: (let ((?x10137 (b_S_idx$ ?x10078 0 b_T_T_u1$))) blanchet@57170: (let ((?x10144 (b_S_read_n_u1$ v_b_S_s$ ?x10137))) blanchet@57170: (let (($x10167 (= ?x10144 v_b_L_H_max_G_0$))) blanchet@57170: (let (($x15548 (not $x10167))) blanchet@57170: (let (($x11259 (<= v_b_P_H_len$ 0))) blanchet@57170: (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))) blanchet@57170: (let (($x20077 (not $x20074))) blanchet@57170: (let (($x20080 (or $x11259 $x15548 $x20077))) blanchet@57170: (let (($x20083 (not $x20080))) blanchet@57170: (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$)))) blanchet@57170: (let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0))) blanchet@57170: (let (($x11388 (>= ?v0 1))) blanchet@57170: (let (($x12168 (<= ?v0 4294967295))) blanchet@57170: (let (($x16553 (not $x12168))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (let (($x3763 (not $x2815))) blanchet@57170: (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$) ))) blanchet@57170: )) blanchet@57170: (let (($x19895 (not $x19890))) blanchet@57170: (let (($x20086 (or $x19895 $x20083))) blanchet@57170: (let (($x20089 (not $x20086))) blanchet@57170: (let ((?x15529 (b_S_idx$ ?x10078 ?v0!13 b_T_T_u1$))) blanchet@57170: (let ((?x15530 (b_S_read_n_u1$ v_b_S_s$ ?x15529))) blanchet@57170: (let (($x15533 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x15530)) 0))) blanchet@57170: (let (($x15525 (>= ?v0!13 1))) blanchet@57170: (let (($x15524 (<= ?v0!13 4294967295))) blanchet@57170: (let (($x19298 (not $x15524))) blanchet@57170: (let (($x15523 (>= ?v0!13 0))) blanchet@57170: (let (($x19297 (not $x15523))) blanchet@57170: (let (($x19313 (or $x19297 $x19298 $x15525 $x15533))) blanchet@57170: (let (($x20589 (not $x15533))) blanchet@57170: (let (($x19318 (not $x19313))) blanchet@57232: (let ((@x23991 (hypothesis $x19318))) blanchet@57170: (let (($x10141 (b_S_thread_n_local$ v_b_S_s$ ?x10137))) blanchet@57170: (let ((?x21175 (b_S_typ$ ?x10078))) blanchet@57170: (let ((?x22803 (b_S_kind_n_of$ ?x21175))) blanchet@57170: (let (($x22807 (= ?x22803 b_S_kind_n_primitive$))) blanchet@57170: (let (($x21176 (= ?x21175 b_T_T_u1$))) blanchet@57170: (let (($x21147 (not $x19841))) blanchet@57170: (let (($x21181 (or $x21147 $x21176))) blanchet@57170: (let ((@x21182 ((_ quant-inst b_T_T_u1$ v_b_P_H_arr$) $x21181))) blanchet@57170: (let ((@x23076 (trans (monotonicity (unit-resolution @x21182 @x19846 $x21176) (= ?x22803 ?x21472)) (unit-resolution @x23544 (unit-resolution @x21484 @x15456 $x21480) $x21473) $x22807))) blanchet@57170: (let ((?x22818 (b_S_select_o_tm$ ?x10272 ?x10078))) blanchet@57170: (let ((?x22903 (b_S_ts_n_emb$ ?x22818))) blanchet@57170: (let (($x22904 (b_S_closed$ v_b_S_s$ ?x22903))) blanchet@57170: (let (($x22902 (b_S_ts_n_is_n_volatile$ ?x22818))) blanchet@57170: (let (($x22897 (not $x22902))) blanchet@57170: (let (($x22906 (or $x22897 (not $x22904)))) blanchet@57170: (let ((?x22478 (b_S_select_o_tm$ ?x10272 ?x10137))) blanchet@57170: (let ((?x22485 (b_S_ref$ ?x10137))) blanchet@57170: (let ((?x22505 (b_S_ptr$ b_T_T_u1$ ?x22485))) blanchet@57170: (let ((?x22655 (b_S_select_o_tm$ ?x10272 ?x22505))) blanchet@57170: (let (($x22506 (= ?x10137 ?x22505))) blanchet@57170: (let ((?x22553 (b_S_ptr$ b_T_T_u1$ ?x10079))) blanchet@57170: (let (($x22556 (= ?x10137 ?x22553))) blanchet@57170: (let (($x22559 (not $x22556))) blanchet@57170: (let (($x22523 (b_S_extent_n_hint$ ?x10137 ?x10078))) blanchet@57170: (let (($x22524 (not $x22523))) blanchet@57170: (let (($x22562 (or $x22524 $x22559))) blanchet@57170: (let (($x22565 (not $x22562))) blanchet@57170: (let (($x22569 (or $x22568 $x22565))) blanchet@57170: (let (($x22542 (or $x22524 (not (= ?x10137 (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* 0 ?x10045)))))))) blanchet@57170: (let (($x22543 (not $x22542))) blanchet@57170: (let (($x22560 (= (not (= ?x10137 (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* 0 ?x10045))))) $x22559))) blanchet@57170: (let ((@x22548 (monotonicity (rewrite (= (* 0 ?x10045) 0)) (= (+ ?x10079 (* 0 ?x10045)) (+ ?x10079 0))))) blanchet@57170: (let ((@x22552 (trans @x22548 (rewrite (= (+ ?x10079 0) ?x10079)) (= (+ ?x10079 (* 0 ?x10045)) ?x10079)))) blanchet@57170: (let ((@x22555 (monotonicity @x22552 (= (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* 0 ?x10045))) ?x22553)))) blanchet@57170: (let ((@x22558 (monotonicity @x22555 (= (= ?x10137 (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* 0 ?x10045)))) $x22556)))) blanchet@57170: (let ((@x22567 (monotonicity (monotonicity (monotonicity @x22558 $x22560) (= $x22542 $x22562)) (= $x22543 $x22565)))) blanchet@57170: (let ((@x22576 (trans (monotonicity @x22567 (= (or $x22568 $x22543) $x22569)) (rewrite (= $x22569 $x22569)) (= (or $x22568 $x22543) $x22569)))) blanchet@57170: (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))) blanchet@57170: (let ((@x22581 (def-axiom (or $x22562 $x22556)))) blanchet@57232: (let ((@x24189 (unit-resolution @x22581 (lemma (unit-resolution @x22577 @x18183 (hypothesis $x22562) false) $x22565) $x22556))) blanchet@57170: (let (($x21179 (= ?x10079 v_b_P_H_arr$))) blanchet@57170: (let (($x19835 (forall ((?v0 B_S_ctype$) (?v1 Int) )(!(= (b_S_ref$ (b_S_ptr$ ?v0 ?v1)) ?v1) :pattern ( (b_S_ptr$ ?v0 ?v1) ))) blanchet@57170: )) blanchet@57170: (let (($x9655 (forall ((?v0 B_S_ctype$) (?v1 Int) )(= (b_S_ref$ (b_S_ptr$ ?v0 ?v1)) ?v1)) blanchet@57170: )) blanchet@57170: (let (($x9654 (= (b_S_ref$ (b_S_ptr$ ?1 ?0)) ?0))) blanchet@57170: (let ((@x15356 (mp~ (asserted $x9655) (nnf-pos (refl (~ $x9654 $x9654)) (~ $x9655 $x9655)) $x9655))) blanchet@57170: (let ((@x19840 (mp @x15356 (quant-intro (refl (= $x9654 $x9654)) (= $x9655 $x19835)) $x19835))) blanchet@57170: (let (($x21152 (not $x19835))) blanchet@57170: (let (($x21184 (or $x21152 $x21179))) blanchet@57170: (let ((@x21185 ((_ quant-inst b_T_T_u1$ v_b_P_H_arr$) $x21184))) blanchet@57170: (let ((@x24511 (unit-resolution @x21185 @x19840 $x21179))) blanchet@57170: (let ((@x22852 (monotonicity @x24511 (= ?x22553 ?x10078)))) blanchet@57232: (let ((@x24073 (monotonicity (trans (hypothesis $x22556) @x22852 (= ?x10137 ?x10078)) (= ?x22485 ?x10079)))) blanchet@57232: (let ((@x22338 (symm (monotonicity (trans @x24073 @x24511 (= ?x22485 v_b_P_H_arr$)) (= ?x22505 ?x10078)) (= ?x10078 ?x22505)))) blanchet@57170: (let ((@x22340 (unit-resolution (hypothesis (not $x22506)) (trans (trans (hypothesis $x22556) @x22852 (= ?x10137 ?x10078)) @x22338 $x22506) false))) blanchet@57232: (let ((@x23667 (unit-resolution (lemma @x22340 (or $x22559 $x22506)) @x24189 $x22506))) blanchet@57232: (let ((@x23699 (trans (symm @x22852 (= ?x10078 ?x22553)) (symm @x24189 (= ?x22553 ?x10137)) (= ?x10078 ?x10137)))) blanchet@57232: (let ((@x22940 (trans (monotonicity (trans @x23699 @x23667 (= ?x10078 ?x22505)) (= ?x22818 ?x22655)) (symm (monotonicity @x23667 (= ?x22478 ?x22655)) (= ?x22655 ?x22478)) (= ?x22818 ?x22478)))) blanchet@57170: (let ((@x23082 (symm (monotonicity @x22940 (= $x22902 (b_S_ts_n_is_n_volatile$ ?x22478))) (= (b_S_ts_n_is_n_volatile$ ?x22478) $x22902)))) blanchet@57170: (let (($x22602 (b_S_ts_n_is_n_volatile$ ?x22478))) blanchet@57170: (let (($x22641 (not $x22602))) blanchet@57170: (let (($x10139 (b_S_typed$ v_b_S_s$ ?x10137))) blanchet@57170: (let (($x15505 (not $x10139))) blanchet@57170: (let (($x22603 (or $x15505 $x22602))) blanchet@57170: (let (($x22604 (not $x22603))) blanchet@57170: (let ((?x10076 (b_S_array$ b_T_T_u1$ v_b_P_H_len$))) blanchet@57170: (let ((?x10080 (b_S_ptr$ ?x10076 ?x10079))) blanchet@57170: (let ((?x21014 (b_S_ref$ ?x10080))) blanchet@57170: (let ((?x21983 (b_S_ptr$ ?x10076 ?x21014))) blanchet@57170: (let ((?x22343 (b_S_domain$ v_b_S_s$ ?x21983))) blanchet@57170: (let ((?x22595 (b_S_ptr$ ?x10076 v_b_P_H_arr$))) blanchet@57170: (let (($x22596 (b_S_set_n_in$ ?x22595 ?x22343))) blanchet@57170: (let ((@x24530 (monotonicity (symm @x24511 (= v_b_P_H_arr$ ?x10079)) (= ?x22595 ?x10080)))) blanchet@57170: (let (($x21990 (= ?x10080 ?x21983))) blanchet@57170: (let (($x10084 (b_S_is$ ?x10080 ?x10076))) blanchet@57170: (let (($x11245 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_P_H_len$)) 0))) blanchet@57170: (let (($x11243 (>= v_b_P_H_len$ 0))) blanchet@57170: (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))) blanchet@57170: (not $x10113)) :pattern ( (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0) ))) blanchet@57170: )) blanchet@57170: (let ((?x10111 (b_S_current_n_timestamp$ v_b_S_s$))) blanchet@57170: (let (($x10112 (= v_b_H_wrTime_S_1_T_6_o_1$ ?x10111))) blanchet@57170: (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$))) blanchet@57170: (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))) blanchet@57170: (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))) blanchet@57170: (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))) blanchet@57170: (not $x11251)) :pattern ( (b_S_frame_n_level$ ?v0) ))) blanchet@57170: )) blanchet@57170: (let (($x10096 (b_S_good_n_state_n_ext$ b_H_tok_S_1_T_6_o_1$ v_b_S_s$))) blanchet@57170: (let (($x10095 (b_S_function_n_entry$ v_b_S_s$))) blanchet@57170: (let (($x10089 (b_S_is_n_non_n_primitive$ ?x10076))) blanchet@57170: (let ((?x10086 (b_S_kind_n_of$ ?x10076))) blanchet@57170: (let (($x10087 (= ?x10086 b_S_kind_n_primitive$))) blanchet@57170: (let (($x10088 (not $x10087))) blanchet@57170: (let (($x10085 (b_S_typed$ v_b_S_s$ ?x10080))) blanchet@57170: (let ((?x10082 (b_S_owner$ v_b_S_s$ ?x10080))) blanchet@57170: (let (($x10083 (= ?x10082 b_S_me$))) blanchet@57170: (let (($x10081 (b_S_closed$ v_b_S_s$ ?x10080))) blanchet@57170: (let (($x11260 (not $x11259))) blanchet@57170: (let (($x11263 (>= v_b_P_H_len$ 1099511627776))) blanchet@57170: (let (($x11264 (not $x11263))) blanchet@57170: (let (($x11270 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_SL_H_witness$)) 0))) blanchet@57170: (let (($x11268 (>= v_b_SL_H_witness$ 0))) blanchet@57170: (let (($x11278 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_L_H_p$)) 0))) blanchet@57170: (let (($x11276 (>= v_b_L_H_p$ 0))) blanchet@57170: (let (($x11286 (>= (+ b_S_max_o_u1$ (* (- 1) v_b_L_H_max$)) 0))) blanchet@57170: (let (($x11284 (>= v_b_L_H_max$ 0))) blanchet@57170: (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))) blanchet@57170: (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$)))) blanchet@57170: (let (($x10238 (= ?x10163 v_b_S_result_G_0$))) blanchet@57170: (let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0))) blanchet@57170: (let (($x11802 (not $x11800))) blanchet@57170: (let ((?x3113 (* (- 1) b_S_max_o_u4$))) blanchet@57170: (let ((?x3114 (+ ?v0 ?x3113))) blanchet@57170: (let (($x3115 (<= ?x3114 0))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (and $x2815 $x3115 $x11802 $x10238)))))))))) blanchet@57170: )) blanchet@57170: (let (($x11824 (forall ((?v0 Int) )(let ((?x11816 (* (- 1) v_b_S_result_G_0$))) blanchet@57170: (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$)))) blanchet@57170: (let (($x11818 (<= (+ ?x10163 ?x11816) 0))) blanchet@57170: (let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0))) blanchet@57170: (let (($x11802 (not $x11800))) blanchet@57170: (let ((?x3113 (* (- 1) b_S_max_o_u4$))) blanchet@57170: (let ((?x3114 (+ ?v0 ?x3113))) blanchet@57170: (let (($x3115 (<= ?x3114 0))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (let (($x11808 (and $x2815 $x3115 $x11802))) blanchet@57170: (let (($x11813 (not $x11808))) blanchet@57170: (or $x11813 $x11818))))))))))))) blanchet@57170: )) blanchet@57170: (let (($x11827 (not $x11824))) blanchet@57170: (let (($x11847 (or $x11827 $x11844))) blanchet@57170: (let (($x11850 (and $x11824 $x11847))) blanchet@57170: (let (($x11792 (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222))) blanchet@57170: (let (($x11797 (not $x11792))) blanchet@57170: (let (($x11853 (or $x11797 $x11850))) blanchet@57170: (let (($x11856 (and b_S_position_n_marker$ $x11853))) blanchet@57170: (let (($x11772 (and $x11486 $x11429 $x11432))) blanchet@57170: (let (($x11777 (not $x11772))) blanchet@57170: (let (($x11859 (or $x11777 $x11856))) blanchet@57170: (let (($x11648 (not $x11647))) blanchet@57170: (let (($x11651 (and $x11648 $x10374))) blanchet@57170: (let (($x11639 (forall ((?v0 Int) )(let ((?x11631 (* (- 1) v_b_L_H_max_G_3$))) blanchet@57170: (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$)))) blanchet@57170: (let (($x11633 (<= (+ ?x10163 ?x11631) 0))) blanchet@57170: (let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0))) blanchet@57170: (let (($x11617 (not $x11615))) blanchet@57170: (let ((?x3113 (* (- 1) b_S_max_o_u4$))) blanchet@57170: (let ((?x3114 (+ ?v0 ?x3113))) blanchet@57170: (let (($x3115 (<= ?x3114 0))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (let (($x11623 (and $x2815 $x3115 $x11617))) blanchet@57170: (let (($x11628 (not $x11623))) blanchet@57170: (or $x11628 $x11633))))))))))))) blanchet@57170: )) blanchet@57170: (let (($x11642 (not $x11639))) blanchet@57170: (let (($x11654 (or $x11642 $x11651))) blanchet@57170: (let (($x11657 (and $x11639 $x11654))) blanchet@57170: (let (($x11660 (or $x11612 $x11657))) blanchet@57170: (let (($x11663 (and $x11608 $x11660))) blanchet@57170: (let ((?x11574 (+ b_S_max_o_u4$ ?x11484))) blanchet@57170: (let (($x11573 (>= ?x11574 1))) blanchet@57170: (let (($x11600 (and $x11570 $x11573 $x11580 $x10358 $x11578 $x11536))) blanchet@57170: (let (($x11605 (not $x11600))) blanchet@57170: (let (($x11666 (or $x11605 $x11663))) blanchet@57170: (let (($x11672 (and $x11570 $x11573 $x11666))) blanchet@57170: (let (($x11725 (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536))) blanchet@57170: (let (($x11730 (not $x11725))) blanchet@57170: (let (($x11733 (or $x11730 $x11672))) blanchet@57170: (let (($x11562 (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536))) blanchet@57170: (let (($x11567 (not $x11562))) blanchet@57170: (let (($x11677 (or $x11567 $x11672))) blanchet@57170: (let (($x11683 (and $x10321 $x10324 $x11677))) blanchet@57170: (let (($x10323 (and $x10321 $x10322))) blanchet@57170: (let (($x11001 (not $x10323))) blanchet@57170: (let (($x11688 (or $x11001 $x11683))) blanchet@57170: (let (($x11694 (and $x10321 $x10322 $x11688))) blanchet@57170: (let (($x11527 (and $x11515 $x11429 $x11432))) blanchet@57170: (let (($x11532 (not $x11527))) blanchet@57170: (let (($x11699 (or $x11532 $x11694))) blanchet@57170: (let (($x11736 (and $x11699 $x11733))) blanchet@57170: (let (($x11507 (and $x10321 $x10324 $x11429 $x11432))) blanchet@57170: (let (($x11512 (not $x11507))) blanchet@57170: (let (($x11739 (or $x11512 $x11736))) blanchet@57170: (let (($x11745 (and $x10321 $x10324 $x11739))) blanchet@57170: (let (($x11750 (or $x11001 $x11745))) blanchet@57170: (let (($x11756 (and $x10321 $x10322 $x11750))) blanchet@57170: (let (($x11496 (and $x11487 $x11429 $x11432))) blanchet@57170: (let (($x11501 (not $x11496))) blanchet@57170: (let (($x11761 (or $x11501 $x11756))) blanchet@57170: (let (($x11862 (and $x11761 $x11859))) blanchet@57170: (let (($x11476 (and $x10284 $x10204 $x10097 $x10291 $x10292 $x10293 $x10294 $x10295 $x10296 $x11429 $x11432))) blanchet@57170: (let (($x11481 (not $x11476))) blanchet@57170: (let (($x11868 (not $x11867))) blanchet@57170: (let (($x11895 (forall ((?v0 Int) )(let ((?x11887 (* (- 1) v_b_L_H_max_G_1$))) blanchet@57170: (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$)))) blanchet@57170: (let (($x11889 (<= (+ ?x10163 ?x11887) 0))) blanchet@57170: (let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0))) blanchet@57170: (let (($x11873 (not $x11871))) blanchet@57170: (let ((?x3113 (* (- 1) b_S_max_o_u4$))) blanchet@57170: (let ((?x3114 (+ ?v0 ?x3113))) blanchet@57170: (let (($x3115 (<= ?x3114 0))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (let (($x11879 (and $x2815 $x3115 $x11873))) blanchet@57170: (let (($x11884 (not $x11879))) blanchet@57170: (or $x11884 $x11889))))))))))))) blanchet@57170: )) blanchet@57170: (let (($x11904 (>= ?x11574 0))) blanchet@57170: (let (($x11907 (>= (+ b_S_max_o_u4$ ?x11865) 0))) blanchet@57170: (let (($x11914 (>= (+ b_S_max_o_u1$ (* (- 1) v_b_L_H_max_G_1$)) 0))) blanchet@57170: (let (($x11957 (and $x11260 $x10167 $x11911 $x11914 $x11907 $x11901 $x11904 $x11898 $x11895 $x11868 $x10192 $x11429 $x11432))) blanchet@57170: (let (($x11962 (not $x11957))) blanchet@57170: (let (($x11971 (or $x11962 $x11481 $x11862))) blanchet@57170: (let (($x11979 (and $x11260 $x10167 $x11971))) blanchet@57170: (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$)))) blanchet@57170: (let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0))) blanchet@57170: (let (($x11388 (>= ?v0 1))) blanchet@57170: (let (($x11389 (not $x11388))) blanchet@57170: (let ((?x3113 (* (- 1) b_S_max_o_u4$))) blanchet@57170: (let ((?x3114 (+ ?v0 ?x3113))) blanchet@57170: (let (($x3115 (<= ?x3114 0))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (let (($x11395 (and $x2815 $x3115 $x11389))) blanchet@57170: (let (($x11400 (not $x11395))) blanchet@57170: (or $x11400 $x11404)))))))))))) blanchet@57170: )) blanchet@57170: (let (($x11414 (not $x11411))) blanchet@57170: (let (($x11984 (or $x11414 $x11979))) blanchet@57170: (let (($x11987 (and $x11411 $x11984))) blanchet@57170: (let (($x11382 (>= v_b_P_H_len$ 1))) blanchet@57170: (let (($x11385 (not $x11382))) blanchet@57170: (let (($x11990 (or $x11385 $x11987))) blanchet@57170: (let (($x11993 (and $x11382 $x11990))) blanchet@57170: (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$))) blanchet@57170: (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$))) blanchet@57170: (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$))) blanchet@57170: (let (($x10145 (= v_b_L_H_max_G_0$ ?x10144))) blanchet@57170: (let (($x10138 (b_S_is$ ?x10137 b_T_T_u1$))) blanchet@57170: (let (($x11374 (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148))) blanchet@57170: (let (($x11379 (not $x11374))) blanchet@57170: (let (($x11996 (or $x11379 $x11993))) blanchet@57170: (let (($x12002 (and $x10138 $x10141 $x11996))) blanchet@57170: (let (($x10140 (and $x10138 $x10139))) blanchet@57170: (let (($x11209 (not $x10140))) blanchet@57170: (let (($x12007 (or $x11209 $x12002))) blanchet@57170: (let (($x12013 (and $x10138 $x10139 $x12007))) blanchet@57170: (let (($x10136 (b_S_in_n_domain_n_lab$ v_b_S_s$ ?x10080 ?x10080 b_l_H_public$))) blanchet@57170: (let (($x11221 (not $x10136))) blanchet@57170: (let (($x12018 (or $x11221 $x12013))) blanchet@57170: (let (($x12021 (and $x10136 $x12018))) blanchet@57170: (let (($x12027 (not (or (not $x11342) $x12021)))) blanchet@57170: (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$)))) blanchet@57170: (let (($x10238 (= ?x10163 v_b_S_result_G_0$))) blanchet@57170: (let (($x10233 (< ?v0 v_b_P_H_len$))) blanchet@57170: (let (($x3097 (<= ?v0 b_S_max_o_u4$))) blanchet@57170: (let (($x2766 (<= 0 ?v0))) blanchet@57170: (and $x2766 (and $x3097 (and $x10233 $x10238))))))))) blanchet@57170: )) blanchet@57170: (let (($x10244 (and $x10242 (=> $x10242 true)))) blanchet@57170: (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$)))) blanchet@57170: (let (($x10235 (<= ?x10163 v_b_S_result_G_0$))) blanchet@57170: (let (($x10233 (< ?v0 v_b_P_H_len$))) blanchet@57170: (let (($x3097 (<= ?v0 b_S_max_o_u4$))) blanchet@57170: (let (($x2766 (<= 0 ?v0))) blanchet@57170: (let (($x3098 (and $x2766 $x3097))) blanchet@57170: (let (($x10234 (and $x3098 $x10233))) blanchet@57170: (=> $x10234 $x10235))))))))) blanchet@57170: )) blanchet@57170: (let (($x10245 (=> $x10237 $x10244))) blanchet@57170: (let (($x10227 (and true (and $x10216 (and $x10218 (and $x10220 (and $x10222 true))))))) blanchet@57170: (let (($x10174 (<= 0 v_b_SL_H_witness_G_0$))) blanchet@57170: (let (($x10181 (<= 1 v_b_L_H_p_G_0$))) blanchet@57170: (let (($x10182 (and $x10181 $x10174))) blanchet@57170: (let (($x10230 (and true (and $x10182 (and $x10182 $x10227))))) blanchet@57170: (let (($x10247 (=> (and b_S_position_n_marker$ (and $x10182 $x10230)) (and $x10237 $x10245)))) blanchet@57170: (let (($x10248 (and b_S_position_n_marker$ $x10247))) blanchet@57170: (let (($x10206 (and true $x10182))) blanchet@57170: (let (($x10207 (and $x10182 $x10206))) blanchet@57170: (let (($x10411 (and $x10182 $x10207))) blanchet@57170: (let (($x10412 (and true $x10411))) blanchet@57170: (let (($x10413 (and $x10182 $x10412))) blanchet@57170: (let (($x10410 (<= v_b_P_H_len$ v_b_L_H_p_G_0$))) blanchet@57170: (let (($x10416 (and true (and $x10182 (and $x10410 $x10413))))) blanchet@57170: (let (($x10417 (=> $x10416 $x10248))) blanchet@57170: (let (($x10377 (=> (and (and (< v_b_SL_H_witness_G_1$ v_b_P_H_len$) $x10374) false) true))) blanchet@57170: (let (($x10375 (and (< v_b_SL_H_witness_G_1$ v_b_P_H_len$) $x10374))) blanchet@57170: (let (($x10378 (and $x10375 $x10377))) blanchet@57170: (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$)))) blanchet@57170: (let (($x10368 (<= ?x10163 v_b_L_H_max_G_3$))) blanchet@57170: (let (($x3097 (<= ?v0 b_S_max_o_u4$))) blanchet@57170: (let (($x2766 (<= 0 ?v0))) blanchet@57170: (let (($x3098 (and $x2766 $x3097))) blanchet@57170: (let (($x10367 (and $x3098 (< ?v0 v_b_L_H_p_G_1$)))) blanchet@57170: (=> $x10367 $x10368)))))))) blanchet@57170: )) blanchet@57170: (let (($x10379 (=> $x10370 $x10378))) blanchet@57170: (let (($x10365 (<= v_b_L_H_p_G_1$ v_b_P_H_len$))) blanchet@57170: (let (($x10381 (=> $x10365 (and $x10370 $x10379)))) blanchet@57170: (let (($x10341 (<= 0 v_b_SL_H_witness_G_1$))) blanchet@57170: (let (($x10360 (and (<= 2 v_b_L_H_p_G_1$) $x10341))) blanchet@57170: (let (($x10363 (and (= v_b_L_H_p_G_1$ (+ v_b_L_H_p_G_0$ 1)) (and $x10358 (and $x10360 true))))) blanchet@57170: (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$)))) blanchet@57170: (let (($x10383 (=> (and $x10355 $x10363) (and $x10365 $x10381)))) blanchet@57170: (let (($x10384 (and $x10355 $x10383))) blanchet@57170: (let (($x10395 (and true (and $x10391 (and $x10392 (and true (and $x10181 $x10341))))))) blanchet@57170: (let (($x10398 (and true (and $x10182 (and $x10182 $x10395))))) blanchet@57170: (let (($x10390 (<= ?x10327 v_b_L_H_max_G_1$))) blanchet@57170: (let (($x10402 (and true (and $x10182 (and $x10390 (and $x10182 $x10398)))))) blanchet@57170: (let (($x10403 (=> $x10402 $x10384))) blanchet@57170: (let (($x10346 (and true (and $x10338 (and $x10340 (and true (and $x10181 $x10341))))))) blanchet@57170: (let (($x10325 (and $x10321 $x10324))) blanchet@57170: (let (($x10351 (and $x10325 (and $x10333 (and $x10334 (and $x10335 (and (and $x10181 $x10181) $x10346))))))) blanchet@57170: (let (($x10385 (=> $x10351 $x10384))) blanchet@57170: (let (($x10387 (=> $x10323 (and $x10325 $x10385)))) blanchet@57170: (let (($x10331 (and true (and $x10182 (and (< v_b_L_H_max_G_1$ ?x10327) $x10207))))) blanchet@57170: (let (($x10389 (=> $x10331 (and $x10323 $x10387)))) blanchet@57170: (let (($x10326 (and $x10325 $x10182))) blanchet@57170: (let (($x10405 (=> $x10326 (and $x10389 $x10403)))) blanchet@57170: (let (($x10407 (=> $x10323 (and $x10325 $x10405)))) blanchet@57170: (let (($x10319 (and true (and $x10182 (and (< v_b_L_H_p_G_0$ v_b_P_H_len$) $x10207))))) blanchet@57170: (let (($x10409 (=> $x10319 (and $x10323 $x10407)))) blanchet@57170: (let (($x10300 (and (= ?x10272 ?x10272) (= (b_S_statusmap$ v_b_S_s$) (b_S_statusmap$ v_b_S_s$))))) blanchet@57170: (let (($x10301 (and $x10300 $x10182))) blanchet@57170: (let (($x10297 (and $x10295 $x10296))) blanchet@57170: (let (($x10205 (and $x10204 $x10097))) blanchet@57170: (let (($x10307 (and $x10205 (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x10301)))))))) blanchet@57170: (let (($x10283 (forall ((?v0 B_S_ptr$) )(!(let ((?x10280 (b_S_timestamp$ v_b_S_s$ ?v0))) blanchet@57170: (<= ?x10280 ?x10280)) :pattern ( (b_S_timestamp$ v_b_S_s$ ?v0) ))) blanchet@57170: )) blanchet@57170: (let (($x10286 (and (<= ?x10111 ?x10111) (and $x10283 $x10284)))) blanchet@57170: (let (($x10278 (forall ((?v0 B_S_ptr$) )(!(let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?v0))) blanchet@57170: (let ((?x10272 (b_S_typemap$ v_b_S_s$))) blanchet@57170: (let ((?x10273 (b_S_select_o_tm$ ?x10272 ?v0))) blanchet@57170: (let (($x10275 (and (= ?x10273 ?x10273) $x10260))) blanchet@57170: (=> $x10260 $x10275))))) :pattern ( (b_S_select_o_tm$ (b_S_typemap$ v_b_S_s$) ?v0) ))) blanchet@57170: )) blanchet@57170: (let (($x10287 (and $x10278 $x10286))) blanchet@57170: (let (($x10271 (forall ((?v0 B_S_ptr$) )(!(let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?v0))) blanchet@57170: (let ((?x10256 (b_S_statusmap$ v_b_S_s$))) blanchet@57170: (let ((?x10257 (b_S_select_o_sm$ ?x10256 ?v0))) blanchet@57170: (let (($x10269 (and (= ?x10257 ?x10257) $x10260))) blanchet@57170: (=> $x10260 $x10269))))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ v_b_S_s$) ?v0) ))) blanchet@57170: )) blanchet@57170: (let (($x10288 (and $x10271 $x10287))) blanchet@57170: (let (($x10267 (forall ((?v0 B_S_ptr$) )(!(let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?v0))) blanchet@57170: (let ((?x10261 (b_S_memory$ v_b_S_s$))) blanchet@57170: (let ((?x10262 (b_S_select_o_mem$ ?x10261 ?v0))) blanchet@57170: (let (($x10264 (and (= ?x10262 ?x10262) $x10260))) blanchet@57170: (=> $x10260 $x10264))))) :pattern ( (b_S_select_o_mem$ (b_S_memory$ v_b_S_s$) ?v0) ))) blanchet@57170: )) blanchet@57170: (let (($x10289 (and $x10267 $x10288))) blanchet@57170: (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$))) blanchet@57170: (=> (not $x10253) (not $x10253))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ v_b_S_s$) ?v0) ))) blanchet@57170: )) blanchet@57170: (let (($x10290 (and $x10259 $x10289))) blanchet@57170: (let (($x10311 (and true (and $x10182 (and $x10290 (and $x10286 $x10307)))))) blanchet@57170: (let (($x10313 (and true (and $x10182 $x10311)))) blanchet@57170: (let (($x10315 (and true (and $x10182 $x10313)))) blanchet@57170: (let (($x10419 (=> $x10315 (and $x10409 $x10417)))) blanchet@57170: (let (($x10203 (not true))) blanchet@57170: (let (($x10212 (and $x10203 (and $x10182 (and true (and $x10182 (and $x10205 $x10207))))))) blanchet@57170: (let (($x10213 (and $x10182 $x10212))) blanchet@57170: (let (($x10214 (and true $x10213))) blanchet@57170: (let (($x10249 (=> $x10214 $x10248))) blanchet@57170: (let (($x10420 (and $x10249 $x10419))) blanchet@57170: (let (($x10194 (and (and (< v_b_SL_H_witness_G_0$ v_b_P_H_len$) $x10192) $x10182))) blanchet@57170: (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$)))) blanchet@57170: (let (($x10186 (<= ?x10163 v_b_L_H_max_G_1$))) blanchet@57170: (let (($x3097 (<= ?v0 b_S_max_o_u4$))) blanchet@57170: (let (($x2766 (<= 0 ?v0))) blanchet@57170: (let (($x3098 (and $x2766 $x3097))) blanchet@57170: (let (($x10185 (and $x3098 (< ?v0 v_b_L_H_p_G_0$)))) blanchet@57170: (=> $x10185 $x10186)))))))) blanchet@57170: )) blanchet@57170: (let (($x10183 (<= v_b_L_H_p_G_0$ v_b_P_H_len$))) blanchet@57170: (let (($x10180 (and (<= 0 v_b_L_H_p_G_0$) (<= v_b_L_H_p_G_0$ b_S_max_o_u4$)))) blanchet@57170: (let (($x10176 (and $x10174 (<= v_b_SL_H_witness_G_0$ b_S_max_o_u4$)))) blanchet@57170: (let (($x10172 (and (<= 0 v_b_L_H_max_G_1$) (<= v_b_L_H_max_G_1$ b_S_max_o_u1$)))) blanchet@57170: (let (($x10200 (and $x10172 (and $x10176 (and $x10180 (and $x10182 (and $x10183 (and $x10188 $x10194)))))))) blanchet@57170: (let (($x10201 (and true $x10200))) blanchet@57170: (let (($x10074 (< 0 v_b_P_H_len$))) blanchet@57170: (let (($x10168 (and $x10074 $x10167))) blanchet@57170: (let (($x10421 (=> (and $x10168 $x10201) $x10420))) blanchet@57170: (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$)))) blanchet@57170: (let (($x10164 (<= ?x10163 v_b_L_H_max_G_0$))) blanchet@57170: (let (($x3097 (<= ?v0 b_S_max_o_u4$))) blanchet@57170: (let (($x2766 (<= 0 ?v0))) blanchet@57170: (let (($x3098 (and $x2766 $x3097))) blanchet@57170: (let (($x10161 (and $x3098 (< ?v0 1)))) blanchet@57170: (=> $x10161 $x10164)))))))) blanchet@57170: )) blanchet@57170: (let (($x10423 (=> $x10166 (and $x10168 $x10421)))) blanchet@57170: (let (($x10159 (<= 1 v_b_P_H_len$))) blanchet@57170: (let (($x10425 (=> $x10159 (and $x10166 $x10423)))) blanchet@57170: (let (($x10149 (<= 1 1))) blanchet@57170: (let (($x10154 (and $x10148 (and $x10149 (and $x10149 (and (<= 0 0) (<= 0 0))))))) blanchet@57170: (let (($x10142 (and $x10138 $x10141))) blanchet@57170: (let (($x10427 (=> (and $x10142 (and $x10145 (and $x10146 (and $x10147 $x10154)))) (and $x10159 $x10425)))) blanchet@57170: (let (($x10429 (=> $x10140 (and $x10142 $x10427)))) blanchet@57170: (let (($x10431 (=> $x10136 (and $x10140 $x10429)))) blanchet@57170: (let (($x10119 (and (<= 0 v_b_P_H_len$) (<= v_b_P_H_len$ b_S_max_o_u4$)))) blanchet@57170: (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))) blanchet@57170: (= $x10113 false)) :pattern ( (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0) ))) blanchet@57170: )) blanchet@57170: (let (($x10108 (and $x10106 $x10107))) blanchet@57170: (let (($x10104 (forall ((?v0 B_S_pure_n_function$) )(!(let ((?x10100 (b_S_frame_n_level$ ?v0))) blanchet@57170: (< ?x10100 b_S_current_n_frame_n_level$)) :pattern ( (b_S_frame_n_level$ ?v0) ))) blanchet@57170: )) blanchet@57170: (let (($x10098 (and $x10096 $x10097))) blanchet@57170: (let (($x10125 (and $x10098 (and $x10104 (and $x10108 (and $x10109 (and $x10112 (and $x10116 $x10119)))))))) blanchet@57170: (let (($x10127 (and true (and $x10095 $x10125)))) blanchet@57170: (let (($x10094 (and $x10081 (and $x10083 (and $x10084 (and $x10085 (and $x10088 $x10089))))))) blanchet@57170: (let (($x10073 (< v_b_P_H_len$ 1099511627776))) blanchet@57170: (let (($x10071 (and (<= 0 v_b_SL_H_witness$) (<= v_b_SL_H_witness$ b_S_max_o_u4$)))) blanchet@57170: (let (($x10067 (and (<= 0 v_b_L_H_p$) (<= v_b_L_H_p$ b_S_max_o_u4$)))) blanchet@57170: (let (($x10063 (and (<= 0 v_b_L_H_max$) (<= v_b_L_H_max$ b_S_max_o_u1$)))) blanchet@57170: (let (($x10133 (and $x10063 (and $x10067 (and $x10071 (and $x10073 (and $x10074 (and $x10094 $x10127)))))))) blanchet@57170: (let (($x10134 (and true $x10133))) blanchet@57170: (let (($x10433 (=> $x10134 (and $x10136 $x10431)))) blanchet@57170: (let (($x10434 (not $x10433))) blanchet@57170: (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$)))) blanchet@57170: (let (($x10235 (<= ?x10163 v_b_S_result_G_0$))) blanchet@57170: (let (($x10233 (< ?v0 v_b_P_H_len$))) blanchet@57170: (let (($x3097 (<= ?v0 b_S_max_o_u4$))) blanchet@57170: (let (($x2766 (<= 0 ?v0))) blanchet@57170: (let (($x3098 (and $x2766 $x3097))) blanchet@57170: (let (($x10234 (and $x3098 $x10233))) blanchet@57170: (or (not $x10234) $x10235))))))))) blanchet@57170: )) blanchet@57170: (let (($x10665 (or (not $x10649) $x10242))) blanchet@57170: (let (($x10670 (and $x10649 $x10665))) blanchet@57170: (let (($x10616 (and $x10216 (and $x10218 (and $x10220 $x10222))))) blanchet@57170: (let (($x10626 (and $x10182 $x10616))) blanchet@57170: (let (($x10629 (and $x10182 $x10626))) blanchet@57170: (let (($x10639 (and $x10182 $x10629))) blanchet@57170: (let (($x10642 (and b_S_position_n_marker$ $x10639))) blanchet@57170: (let (($x10677 (or (not $x10642) $x10670))) blanchet@57170: (let (($x10682 (and b_S_position_n_marker$ $x10677))) blanchet@57170: (let (($x11134 (or (not (and $x10182 (and $x10410 $x10182))) $x10682))) blanchet@57170: (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$)))) blanchet@57170: (let (($x10368 (<= ?x10163 v_b_L_H_max_G_3$))) blanchet@57170: (let (($x3097 (<= ?v0 b_S_max_o_u4$))) blanchet@57170: (let (($x2766 (<= 0 ?v0))) blanchet@57170: (let (($x3098 (and $x2766 $x3097))) blanchet@57170: (let (($x10367 (and $x3098 (< ?v0 v_b_L_H_p_G_1$)))) blanchet@57170: (or (not $x10367) $x10368)))))))) blanchet@57170: )) blanchet@57170: (let (($x10954 (or (not $x10931) $x10375))) blanchet@57170: (let (($x10959 (and $x10931 $x10954))) blanchet@57170: (let (($x10966 (or (not $x10365) $x10959))) blanchet@57170: (let (($x10971 (and $x10365 $x10966))) blanchet@57170: (let (($x10918 (and $x10358 $x10360))) blanchet@57170: (let ((?x10901 (+ 1 v_b_L_H_p_G_0$))) blanchet@57170: (let (($x10913 (= v_b_L_H_p_G_1$ ?x10901))) blanchet@57170: (let (($x10921 (and $x10913 $x10918))) blanchet@57170: (let (($x10907 (<= ?x10901 b_S_max_o_u4$))) blanchet@57170: (let (($x10904 (<= 0 ?x10901))) blanchet@57170: (let (($x10910 (and $x10904 $x10907))) blanchet@57170: (let (($x10924 (and $x10910 $x10921))) blanchet@57170: (let (($x10978 (or (not $x10924) $x10971))) blanchet@57170: (let (($x10983 (and $x10910 $x10978))) blanchet@57170: (let (($x10342 (and $x10181 $x10341))) blanchet@57170: (let (($x11019 (and $x10392 $x10342))) blanchet@57170: (let (($x11022 (and $x10391 $x11019))) blanchet@57170: (let (($x11032 (and $x10182 $x11022))) blanchet@57170: (let (($x11035 (and $x10182 $x11032))) blanchet@57170: (let (($x11045 (and $x10182 $x11035))) blanchet@57170: (let (($x11048 (and $x10390 $x11045))) blanchet@57170: (let (($x11051 (and $x10182 $x11048))) blanchet@57170: (let (($x11065 (or (not $x11051) $x10983))) blanchet@57170: (let (($x10873 (and $x10340 $x10342))) blanchet@57170: (let (($x10876 (and $x10338 $x10873))) blanchet@57170: (let (($x10886 (and $x10181 $x10876))) blanchet@57170: (let (($x10889 (and $x10335 $x10886))) blanchet@57170: (let (($x10892 (and $x10334 $x10889))) blanchet@57170: (let (($x10895 (and $x10333 $x10892))) blanchet@57170: (let (($x10898 (and $x10325 $x10895))) blanchet@57170: (let (($x10990 (or (not $x10898) $x10983))) blanchet@57170: (let (($x10995 (and $x10325 $x10990))) blanchet@57170: (let (($x11002 (or $x11001 $x10995))) blanchet@57170: (let (($x11007 (and $x10323 $x11002))) blanchet@57170: (let (($x11014 (or (not (and $x10182 (and (< v_b_L_H_max_G_1$ ?x10327) $x10182))) $x11007))) blanchet@57170: (let (($x11070 (and $x11014 $x11065))) blanchet@57170: (let (($x11077 (or (not $x10326) $x11070))) blanchet@57170: (let (($x11082 (and $x10325 $x11077))) blanchet@57170: (let (($x11088 (or $x11001 $x11082))) blanchet@57170: (let (($x11093 (and $x10323 $x11088))) blanchet@57170: (let (($x11100 (or (not (and $x10182 (and (< v_b_L_H_p_G_0$ v_b_P_H_len$) $x10182))) $x11093))) blanchet@57170: (let (($x11139 (and $x11100 $x11134))) blanchet@57170: (let (($x10789 (and $x10297 $x10182))) blanchet@57170: (let (($x10792 (and $x10294 $x10789))) blanchet@57170: (let (($x10795 (and $x10293 $x10792))) blanchet@57170: (let (($x10798 (and $x10292 $x10795))) blanchet@57170: (let (($x10801 (and $x10291 $x10798))) blanchet@57170: (let (($x10804 (and $x10205 $x10801))) blanchet@57170: (let (($x10807 (and $x10286 $x10804))) blanchet@57170: (let (($x10810 (and $x10286 $x10807))) blanchet@57170: (let (($x10813 (and $x10182 $x10810))) blanchet@57170: (let (($x10823 (and $x10182 $x10813))) blanchet@57170: (let (($x10833 (and $x10182 $x10823))) blanchet@57170: (let (($x11146 (or (not $x10833) $x11139))) blanchet@57170: (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$)))) blanchet@57170: (let (($x10186 (<= ?x10163 v_b_L_H_max_G_1$))) blanchet@57170: (let (($x3097 (<= ?v0 b_S_max_o_u4$))) blanchet@57170: (let (($x2766 (<= 0 ?v0))) blanchet@57170: (let (($x3098 (and $x2766 $x3097))) blanchet@57170: (let (($x10185 (and $x3098 (< ?v0 v_b_L_H_p_G_0$)))) blanchet@57170: (or (not $x10185) $x10186)))))))) blanchet@57170: )) blanchet@57170: (let (($x10532 (and $x10529 $x10194))) blanchet@57170: (let (($x10535 (and $x10183 $x10532))) blanchet@57170: (let (($x10538 (and $x10182 $x10535))) blanchet@57170: (let (($x10541 (and $x10180 $x10538))) blanchet@57170: (let (($x10544 (and $x10176 $x10541))) blanchet@57170: (let (($x10547 (and $x10172 $x10544))) blanchet@57170: (let (($x10557 (and $x10168 $x10547))) blanchet@57170: (let (($x11162 (or (not $x10557) $x11146))) blanchet@57170: (let (($x11167 (and $x10168 $x11162))) blanchet@57170: (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$)))) blanchet@57170: (let (($x10164 (<= ?x10163 v_b_L_H_max_G_0$))) blanchet@57170: (let (($x3097 (<= ?v0 b_S_max_o_u4$))) blanchet@57170: (let (($x2766 (<= 0 ?v0))) blanchet@57170: (let (($x3098 (and $x2766 $x3097))) blanchet@57170: (let (($x10161 (and $x3098 (< ?v0 1)))) blanchet@57170: (or (not $x10161) $x10164)))))))) blanchet@57170: )) blanchet@57170: (let (($x11174 (or (not $x10522) $x11167))) blanchet@57170: (let (($x11179 (and $x10522 $x11174))) blanchet@57170: (let (($x11186 (or (not $x10159) $x11179))) blanchet@57170: (let (($x11191 (and $x10159 $x11186))) blanchet@57170: (let (($x10150 (<= 0 0))) blanchet@57170: (let (($x10497 (and $x10149 $x10150))) blanchet@57170: (let (($x10500 (and $x10149 $x10497))) blanchet@57170: (let (($x10503 (and $x10148 $x10500))) blanchet@57170: (let (($x10506 (and $x10147 $x10503))) blanchet@57170: (let (($x10509 (and $x10146 $x10506))) blanchet@57170: (let (($x10512 (and $x10145 $x10509))) blanchet@57170: (let (($x10515 (and $x10142 $x10512))) blanchet@57170: (let (($x11198 (or (not $x10515) $x11191))) blanchet@57170: (let (($x11203 (and $x10142 $x11198))) blanchet@57170: (let (($x11210 (or $x11209 $x11203))) blanchet@57170: (let (($x11215 (and $x10140 $x11210))) blanchet@57170: (let (($x11222 (or $x11221 $x11215))) blanchet@57170: (let (($x11227 (and $x10136 $x11222))) blanchet@57170: (let (($x10442 (and $x10439 $x10119))) blanchet@57170: (let (($x10445 (and $x10112 $x10442))) blanchet@57170: (let (($x10448 (and $x10109 $x10445))) blanchet@57170: (let (($x10451 (and $x10108 $x10448))) blanchet@57170: (let (($x10454 (and $x10104 $x10451))) blanchet@57170: (let (($x10457 (and $x10098 $x10454))) blanchet@57170: (let (($x10460 (and $x10095 $x10457))) blanchet@57170: (let (($x10470 (and $x10094 $x10460))) blanchet@57170: (let (($x10473 (and $x10074 $x10470))) blanchet@57170: (let (($x10476 (and $x10073 $x10473))) blanchet@57170: (let (($x10479 (and $x10071 $x10476))) blanchet@57170: (let (($x10482 (and $x10067 $x10479))) blanchet@57170: (let (($x10485 (and $x10063 $x10482))) blanchet@57170: (let (($x11234 (or (not $x10485) $x11227))) blanchet@57170: (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ ?x10078 ?0 b_T_T_u1$)))) blanchet@57170: (let (($x10238 (= ?x10163 v_b_S_result_G_0$))) blanchet@57170: (let (($x11800 (>= (+ ?0 (* (- 1) v_b_P_H_len$)) 0))) blanchet@57170: (let (($x11802 (not $x11800))) blanchet@57170: (let ((?x3113 (* (- 1) b_S_max_o_u4$))) blanchet@57170: (let ((?x3114 (+ ?0 ?x3113))) blanchet@57170: (let (($x3115 (<= ?x3114 0))) blanchet@57170: (let (($x2815 (>= ?0 0))) blanchet@57170: (let (($x11839 (and $x2815 $x3115 $x11802 $x10238))) blanchet@57170: (let (($x2766 (<= 0 ?0))) blanchet@57170: (let (($x10241 (and $x2766 (and (<= ?0 b_S_max_o_u4$) (and (< ?0 v_b_P_H_len$) $x10238))))) blanchet@57170: (let (($x11834 (= (and (<= ?0 b_S_max_o_u4$) (and (< ?0 v_b_P_H_len$) $x10238)) (and $x3115 (and $x11802 $x10238))))) blanchet@57170: (let ((@x11832 (monotonicity (rewrite (= (< ?0 v_b_P_H_len$) $x11802)) (= (and (< ?0 v_b_P_H_len$) $x10238) (and $x11802 $x10238))))) blanchet@57170: (let ((@x2814 (rewrite (= $x2766 $x2815)))) blanchet@57170: (let ((@x11838 (monotonicity @x2814 (monotonicity (rewrite (= (<= ?0 b_S_max_o_u4$) $x3115)) @x11832 $x11834) (= $x10241 (and $x2815 (and $x3115 (and $x11802 $x10238))))))) blanchet@57170: (let ((@x11843 (trans @x11838 (rewrite (= (and $x2815 (and $x3115 (and $x11802 $x10238))) $x11839)) (= $x10241 $x11839)))) blanchet@57170: (let (($x11818 (<= (+ ?x10163 (* (- 1) v_b_S_result_G_0$)) 0))) blanchet@57170: (let (($x11808 (and $x2815 $x3115 $x11802))) blanchet@57170: (let (($x11813 (not $x11808))) blanchet@57170: (let (($x11821 (or $x11813 $x11818))) blanchet@57170: (let (($x10235 (<= ?x10163 v_b_S_result_G_0$))) blanchet@57170: (let (($x10233 (< ?0 v_b_P_H_len$))) blanchet@57170: (let (($x3097 (<= ?0 b_S_max_o_u4$))) blanchet@57170: (let (($x3098 (and $x2766 $x3097))) blanchet@57170: (let (($x10234 (and $x3098 $x10233))) blanchet@57170: (let (($x10646 (or (not $x10234) $x10235))) blanchet@57170: (let ((@x3124 (monotonicity @x2814 (rewrite (= $x3097 $x3115)) (= $x3098 (and $x2815 $x3115))))) blanchet@57170: (let ((@x11807 (monotonicity @x3124 (rewrite (= $x10233 $x11802)) (= $x10234 (and (and $x2815 $x3115) $x11802))))) blanchet@57170: (let ((@x11812 (trans @x11807 (rewrite (= (and (and $x2815 $x3115) $x11802) $x11808)) (= $x10234 $x11808)))) blanchet@57170: (let ((@x11823 (monotonicity (monotonicity @x11812 (= (not $x10234) $x11813)) (rewrite (= $x10235 $x11818)) (= $x10646 $x11821)))) blanchet@57170: (let ((@x11829 (monotonicity (quant-intro @x11823 (= $x10649 $x11824)) (= (not $x10649) $x11827)))) blanchet@57170: (let ((@x11852 (monotonicity (quant-intro @x11823 (= $x10649 $x11824)) (monotonicity @x11829 (quant-intro @x11843 (= $x10242 $x11844)) (= $x10665 $x11847)) (= $x10670 $x11850)))) blanchet@57170: (let (($x11434 (and $x11429 $x11432))) blanchet@57170: (let (($x11793 (= (and b_S_position_n_marker$ (and $x11434 (and $x11434 (and $x11434 $x10616)))) $x11792))) blanchet@57170: (let (($x11790 (= $x10642 (and b_S_position_n_marker$ (and $x11434 (and $x11434 (and $x11434 $x10616))))))) blanchet@57170: (let ((@x11430 (rewrite (= $x10181 $x11429)))) blanchet@57170: (let ((@x11436 (monotonicity @x11430 (rewrite (= $x10174 $x11432)) (= $x10182 $x11434)))) blanchet@57170: (let ((@x11785 (monotonicity @x11436 (monotonicity @x11436 (= $x10626 (and $x11434 $x10616))) (= $x10629 (and $x11434 (and $x11434 $x10616)))))) blanchet@57170: (let ((@x11788 (monotonicity @x11436 @x11785 (= $x10639 (and $x11434 (and $x11434 (and $x11434 $x10616))))))) blanchet@57170: (let ((@x11799 (monotonicity (trans (monotonicity @x11788 $x11790) (rewrite $x11793) (= $x10642 $x11792)) (= (not $x10642) $x11797)))) blanchet@57170: (let ((@x11858 (monotonicity (monotonicity @x11799 @x11852 (= $x10677 $x11853)) (= $x10682 $x11856)))) blanchet@57170: (let ((@x11768 (monotonicity (rewrite (= $x10410 $x11486)) @x11436 (= (and $x10410 $x10182) (and $x11486 $x11434))))) blanchet@57170: (let ((@x11771 (monotonicity @x11436 @x11768 (= (and $x10182 (and $x10410 $x10182)) (and $x11434 (and $x11486 $x11434)))))) blanchet@57170: (let ((@x11776 (trans @x11771 (rewrite (= (and $x11434 (and $x11486 $x11434)) $x11772)) (= (and $x10182 (and $x10410 $x10182)) $x11772)))) blanchet@57170: (let ((@x11861 (monotonicity (monotonicity @x11776 (= (not (and $x10182 (and $x10410 $x10182))) $x11777)) @x11858 (= $x11134 $x11859)))) blanchet@57170: (let ((@x11653 (monotonicity (rewrite (= (< v_b_SL_H_witness_G_1$ v_b_P_H_len$) $x11648)) (= $x10375 $x11651)))) blanchet@57170: (let (($x11633 (<= (+ ?x10163 (* (- 1) v_b_L_H_max_G_3$)) 0))) blanchet@57170: (let (($x11615 (>= (+ ?0 ?x11581) 0))) blanchet@57170: (let (($x11617 (not $x11615))) blanchet@57170: (let (($x11623 (and $x2815 $x3115 $x11617))) blanchet@57170: (let (($x11628 (not $x11623))) blanchet@57170: (let (($x11636 (or $x11628 $x11633))) blanchet@57170: (let (($x10368 (<= ?x10163 v_b_L_H_max_G_3$))) blanchet@57170: (let (($x10928 (or (not (and $x3098 (< ?0 v_b_L_H_p_G_1$))) $x10368))) blanchet@57170: (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))))) blanchet@57170: (let ((@x11627 (trans @x11622 (rewrite (= (and (and $x2815 $x3115) $x11617) $x11623)) (= (and $x3098 (< ?0 v_b_L_H_p_G_1$)) $x11623)))) blanchet@57170: (let ((@x11630 (monotonicity @x11627 (= (not (and $x3098 (< ?0 v_b_L_H_p_G_1$))) $x11628)))) blanchet@57170: (let ((@x11641 (quant-intro (monotonicity @x11630 (rewrite (= $x10368 $x11633)) (= $x10928 $x11636)) (= $x10931 $x11639)))) blanchet@57170: (let ((@x11656 (monotonicity (monotonicity @x11641 (= (not $x10931) $x11642)) @x11653 (= $x10954 $x11654)))) blanchet@57170: (let ((@x11662 (monotonicity (monotonicity (rewrite (= $x10365 $x11608)) (= (not $x10365) $x11612)) (monotonicity @x11641 @x11656 (= $x10959 $x11657)) (= $x10966 $x11660)))) blanchet@57170: (let (($x11601 (= (and (and $x11570 $x11573) (and $x11580 (and $x10358 (and $x11578 $x11536)))) $x11600))) blanchet@57170: (let (($x11598 (= $x10924 (and (and $x11570 $x11573) (and $x11580 (and $x10358 (and $x11578 $x11536))))))) blanchet@57170: (let ((@x11587 (monotonicity (rewrite (= (<= 2 v_b_L_H_p_G_1$) $x11578)) (rewrite (= $x10341 $x11536)) (= $x10360 (and $x11578 $x11536))))) blanchet@57170: (let ((@x11593 (monotonicity (rewrite (= $x10913 $x11580)) (monotonicity @x11587 (= $x10918 (and $x10358 (and $x11578 $x11536)))) (= $x10921 (and $x11580 (and $x10358 (and $x11578 $x11536))))))) blanchet@57170: (let ((@x11596 (monotonicity (rewrite (= $x10904 $x11570)) (rewrite (= $x10907 $x11573)) (= $x10910 (and $x11570 $x11573))))) blanchet@57170: (let ((@x11607 (monotonicity (trans (monotonicity @x11596 @x11593 $x11598) (rewrite $x11601) (= $x10924 $x11600)) (= (not $x10924) $x11605)))) blanchet@57170: (let ((@x11668 (monotonicity @x11607 (monotonicity (rewrite (= $x10365 $x11608)) @x11662 (= $x10971 $x11663)) (= $x10978 $x11666)))) blanchet@57170: (let ((@x11676 (trans (monotonicity @x11596 @x11668 (= $x10983 (and (and $x11570 $x11573) $x11666))) (rewrite (= (and (and $x11570 $x11573) $x11666) $x11672)) (= $x10983 $x11672)))) blanchet@57170: (let (($x11716 (and $x11434 (and $x11434 (and $x11434 (and $x10391 (and $x10392 (and $x11429 $x11536)))))))) blanchet@57170: (let (($x11714 (= $x11035 (and $x11434 (and $x11434 (and $x10391 (and $x10392 (and $x11429 $x11536)))))))) blanchet@57170: (let ((@x11540 (monotonicity @x11430 (rewrite (= $x10341 $x11536)) (= $x10342 (and $x11429 $x11536))))) blanchet@57170: (let ((@x11709 (monotonicity (monotonicity @x11540 (= $x11019 (and $x10392 (and $x11429 $x11536)))) (= $x11022 (and $x10391 (and $x10392 (and $x11429 $x11536))))))) blanchet@57170: (let ((@x11712 (monotonicity @x11436 @x11709 (= $x11032 (and $x11434 (and $x10391 (and $x10392 (and $x11429 $x11536)))))))) blanchet@57170: (let ((@x11721 (monotonicity (rewrite (= $x10390 $x11516)) (monotonicity @x11436 (monotonicity @x11436 @x11712 $x11714) (= $x11045 $x11716)) (= $x11048 (and $x11516 $x11716))))) blanchet@57170: (let ((@x11729 (trans (monotonicity @x11436 @x11721 (= $x11051 (and $x11434 (and $x11516 $x11716)))) (rewrite (= (and $x11434 (and $x11516 $x11716)) $x11725)) (= $x11051 $x11725)))) blanchet@57170: (let ((@x11735 (monotonicity (monotonicity @x11729 (= (not $x11051) $x11730)) @x11676 (= $x11065 $x11733)))) blanchet@57170: (let (($x11553 (and $x10334 (and $x10335 (and $x11429 (and $x10338 (and $x10340 (and $x11429 $x11536)))))))) blanchet@57170: (let (($x11551 (= $x10889 (and $x10335 (and $x11429 (and $x10338 (and $x10340 (and $x11429 $x11536)))))))) blanchet@57170: (let ((@x11546 (monotonicity (monotonicity @x11540 (= $x10873 (and $x10340 (and $x11429 $x11536)))) (= $x10876 (and $x10338 (and $x10340 (and $x11429 $x11536))))))) blanchet@57170: (let ((@x11549 (monotonicity @x11430 @x11546 (= $x10886 (and $x11429 (and $x10338 (and $x10340 (and $x11429 $x11536)))))))) blanchet@57170: (let ((@x11558 (monotonicity (monotonicity (monotonicity @x11549 $x11551) (= $x10892 $x11553)) (= $x10895 (and $x10333 $x11553))))) blanchet@57170: (let ((@x11566 (trans (monotonicity @x11558 (= $x10898 (and $x10325 (and $x10333 $x11553)))) (rewrite (= (and $x10325 (and $x10333 $x11553)) $x11562)) (= $x10898 $x11562)))) blanchet@57170: (let ((@x11679 (monotonicity (monotonicity @x11566 (= (not $x10898) $x11567)) @x11676 (= $x10990 $x11677)))) blanchet@57170: (let ((@x11687 (trans (monotonicity @x11679 (= $x10995 (and $x10325 $x11677))) (rewrite (= (and $x10325 $x11677) $x11683)) (= $x10995 $x11683)))) blanchet@57170: (let ((@x11693 (monotonicity (monotonicity @x11687 (= $x11002 $x11688)) (= $x11007 (and $x10323 $x11688))))) blanchet@57170: (let (($x10328 (< v_b_L_H_max_G_1$ ?x10327))) blanchet@57170: (let (($x10856 (and $x10328 $x10182))) blanchet@57170: (let (($x10859 (and $x10182 $x10856))) blanchet@57170: (let ((@x11523 (monotonicity (rewrite (= $x10328 $x11515)) @x11436 (= $x10856 (and $x11515 $x11434))))) blanchet@57170: (let ((@x11531 (trans (monotonicity @x11436 @x11523 (= $x10859 (and $x11434 (and $x11515 $x11434)))) (rewrite (= (and $x11434 (and $x11515 $x11434)) $x11527)) (= $x10859 $x11527)))) blanchet@57170: (let ((@x11701 (monotonicity (monotonicity @x11531 (= (not $x10859) $x11532)) (trans @x11693 (rewrite (= (and $x10323 $x11688) $x11694)) (= $x11007 $x11694)) (= $x11014 $x11699)))) blanchet@57170: (let ((@x11511 (trans (monotonicity @x11436 (= $x10326 (and $x10325 $x11434))) (rewrite (= (and $x10325 $x11434) $x11507)) (= $x10326 $x11507)))) blanchet@57170: (let ((@x11741 (monotonicity (monotonicity @x11511 (= (not $x10326) $x11512)) (monotonicity @x11701 @x11735 (= $x11070 $x11736)) (= $x11077 $x11739)))) blanchet@57170: (let ((@x11749 (trans (monotonicity @x11741 (= $x11082 (and $x10325 $x11739))) (rewrite (= (and $x10325 $x11739) $x11745)) (= $x11082 $x11745)))) blanchet@57170: (let ((@x11755 (monotonicity (monotonicity @x11749 (= $x11088 $x11750)) (= $x11093 (and $x10323 $x11750))))) blanchet@57170: (let (($x11502 (= (not (and $x10182 (and (< v_b_L_H_p_G_0$ v_b_P_H_len$) $x10182))) $x11501))) blanchet@57170: (let (($x10316 (< v_b_L_H_p_G_0$ v_b_P_H_len$))) blanchet@57170: (let (($x10843 (and $x10316 $x10182))) blanchet@57170: (let (($x10846 (and $x10182 $x10843))) blanchet@57170: (let ((@x11492 (monotonicity (rewrite (= $x10316 $x11487)) @x11436 (= $x10843 (and $x11487 $x11434))))) blanchet@57170: (let ((@x11500 (trans (monotonicity @x11436 @x11492 (= $x10846 (and $x11434 (and $x11487 $x11434)))) (rewrite (= (and $x11434 (and $x11487 $x11434)) $x11496)) (= $x10846 $x11496)))) blanchet@57170: (let ((@x11763 (monotonicity (monotonicity @x11500 $x11502) (trans @x11755 (rewrite (= (and $x10323 $x11750) $x11756)) (= $x11093 $x11756)) (= $x11100 $x11761)))) blanchet@57170: (let (($x11452 (and $x10205 (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x11434)))))))) blanchet@57170: (let (($x11458 (and true (and true $x10284)))) blanchet@57170: (let (($x11477 (= (and $x11434 (and $x11434 (and $x11434 (and $x11458 (and $x11458 $x11452))))) $x11476))) blanchet@57170: (let (($x11474 (= $x10833 (and $x11434 (and $x11434 (and $x11434 (and $x11458 (and $x11458 $x11452)))))))) blanchet@57170: (let (($x11450 (= $x10801 (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x11434)))))))) blanchet@57170: (let ((@x11442 (monotonicity (monotonicity @x11436 (= $x10789 (and $x10297 $x11434))) (= $x10792 (and $x10294 (and $x10297 $x11434)))))) blanchet@57170: (let ((@x11448 (monotonicity (monotonicity @x11442 (= $x10795 (and $x10293 (and $x10294 (and $x10297 $x11434))))) (= $x10798 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x11434)))))))) blanchet@57170: (let (($x11419 (forall ((?v0 B_S_ptr$) )(!true :pattern ( (b_S_timestamp$ v_b_S_s$ ?v0) ))) blanchet@57170: )) blanchet@57170: (let (($x11417 (= (<= (b_S_timestamp$ v_b_S_s$ ?0) (b_S_timestamp$ v_b_S_s$ ?0)) true))) blanchet@57170: (let ((@x11425 (trans (quant-intro (rewrite $x11417) (= $x10283 $x11419)) (elim-unused (= $x11419 true)) (= $x10283 true)))) blanchet@57170: (let ((@x11460 (monotonicity (rewrite (= (<= ?x10111 ?x10111) true)) (monotonicity @x11425 (= (and $x10283 $x10284) (and true $x10284))) (= $x10286 $x11458)))) blanchet@57170: (let ((@x11463 (monotonicity @x11460 (monotonicity (monotonicity @x11448 $x11450) (= $x10804 $x11452)) (= $x10807 (and $x11458 $x11452))))) blanchet@57170: (let ((@x11469 (monotonicity @x11436 (monotonicity @x11460 @x11463 (= $x10810 (and $x11458 (and $x11458 $x11452)))) (= $x10813 (and $x11434 (and $x11458 (and $x11458 $x11452))))))) blanchet@57170: (let ((@x11472 (monotonicity @x11436 @x11469 (= $x10823 (and $x11434 (and $x11434 (and $x11458 (and $x11458 $x11452)))))))) blanchet@57170: (let ((@x11483 (monotonicity (trans (monotonicity @x11436 @x11472 $x11474) (rewrite $x11477) (= $x10833 $x11476)) (= (not $x10833) $x11481)))) blanchet@57170: (let ((@x11967 (monotonicity @x11483 (monotonicity @x11763 @x11861 (= $x11139 $x11862)) (= $x11146 (or $x11481 $x11862))))) blanchet@57170: (let (($x11936 (and (and $x11901 $x11904) (and $x11434 (and $x11898 (and $x11895 (and (and $x11868 $x10192) $x11434))))))) blanchet@57170: (let (($x11951 (and $x11260 $x10167))) blanchet@57170: (let (($x11958 (= (and $x11951 (and (and $x11911 $x11914) (and (and $x11432 $x11907) $x11936))) $x11957))) blanchet@57170: (let (($x11955 (= $x10557 (and $x11951 (and (and $x11911 $x11914) (and (and $x11432 $x11907) $x11936)))))) blanchet@57170: (let (($x11931 (= $x10538 (and $x11434 (and $x11898 (and $x11895 (and (and $x11868 $x10192) $x11434))))))) blanchet@57170: (let (($x11919 (= (and (< v_b_SL_H_witness_G_0$ v_b_P_H_len$) $x10192) (and $x11868 $x10192)))) blanchet@57170: (let ((@x11920 (monotonicity (rewrite (= (< v_b_SL_H_witness_G_0$ v_b_P_H_len$) $x11868)) $x11919))) blanchet@57170: (let (($x11889 (<= (+ ?x10163 (* (- 1) v_b_L_H_max_G_1$)) 0))) blanchet@57170: (let (($x11871 (>= (+ ?0 ?x11484) 0))) blanchet@57170: (let (($x11873 (not $x11871))) blanchet@57170: (let (($x11879 (and $x2815 $x3115 $x11873))) blanchet@57170: (let (($x11884 (not $x11879))) blanchet@57170: (let (($x11892 (or $x11884 $x11889))) blanchet@57170: (let (($x10186 (<= ?x10163 v_b_L_H_max_G_1$))) blanchet@57170: (let (($x10526 (or (not (and $x3098 (< ?0 v_b_L_H_p_G_0$))) $x10186))) blanchet@57170: (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))))) blanchet@57170: (let ((@x11883 (trans @x11878 (rewrite (= (and (and $x2815 $x3115) $x11873) $x11879)) (= (and $x3098 (< ?0 v_b_L_H_p_G_0$)) $x11879)))) blanchet@57170: (let ((@x11886 (monotonicity @x11883 (= (not (and $x3098 (< ?0 v_b_L_H_p_G_0$))) $x11884)))) blanchet@57170: (let ((@x11897 (quant-intro (monotonicity @x11886 (rewrite (= $x10186 $x11889)) (= $x10526 $x11892)) (= $x10529 $x11895)))) blanchet@57170: (let ((@x11926 (monotonicity @x11897 (monotonicity @x11920 @x11436 (= $x10194 (and (and $x11868 $x10192) $x11434))) (= $x10532 (and $x11895 (and (and $x11868 $x10192) $x11434)))))) blanchet@57170: (let ((@x11929 (monotonicity (rewrite (= $x10183 $x11898)) @x11926 (= $x10535 (and $x11898 (and $x11895 (and (and $x11868 $x10192) $x11434))))))) blanchet@57170: (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))))) blanchet@57170: (let ((@x11941 (monotonicity (rewrite (= $x10174 $x11432)) (rewrite (= (<= v_b_SL_H_witness_G_0$ b_S_max_o_u4$) $x11907)) (= $x10176 (and $x11432 $x11907))))) blanchet@57170: (let ((@x11944 (monotonicity @x11941 (monotonicity @x11935 (monotonicity @x11436 @x11929 $x11931) (= $x10541 $x11936)) (= $x10544 (and (and $x11432 $x11907) $x11936))))) blanchet@57170: (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))))) blanchet@57170: (let ((@x11950 (monotonicity @x11947 @x11944 (= $x10547 (and (and $x11911 $x11914) (and (and $x11432 $x11907) $x11936)))))) blanchet@57170: (let ((@x11956 (monotonicity (monotonicity (rewrite (= $x10074 $x11260)) (= $x10168 $x11951)) @x11950 $x11955))) blanchet@57170: (let ((@x11964 (monotonicity (trans @x11956 (rewrite $x11958) (= $x10557 $x11957)) (= (not $x10557) $x11962)))) blanchet@57170: (let ((@x11975 (trans (monotonicity @x11964 @x11967 (= $x11162 (or $x11962 (or $x11481 $x11862)))) (rewrite (= (or $x11962 (or $x11481 $x11862)) $x11971)) (= $x11162 $x11971)))) blanchet@57170: (let ((@x11978 (monotonicity (monotonicity (rewrite (= $x10074 $x11260)) (= $x10168 $x11951)) @x11975 (= $x11167 (and $x11951 $x11971))))) blanchet@57170: (let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0))) blanchet@57170: (let (($x11388 (>= ?0 1))) blanchet@57170: (let (($x11389 (not $x11388))) blanchet@57170: (let (($x11395 (and $x2815 $x3115 $x11389))) blanchet@57170: (let (($x11400 (not $x11395))) blanchet@57170: (let (($x11408 (or $x11400 $x11404))) blanchet@57170: (let (($x10164 (<= ?x10163 v_b_L_H_max_G_0$))) blanchet@57170: (let (($x10519 (or (not (and $x3098 (< ?0 1))) $x10164))) blanchet@57170: (let ((@x11394 (monotonicity @x3124 (rewrite (= (< ?0 1) $x11389)) (= (and $x3098 (< ?0 1)) (and (and $x2815 $x3115) $x11389))))) blanchet@57170: (let ((@x11399 (trans @x11394 (rewrite (= (and (and $x2815 $x3115) $x11389) $x11395)) (= (and $x3098 (< ?0 1)) $x11395)))) blanchet@57170: (let ((@x11410 (monotonicity (monotonicity @x11399 (= (not (and $x3098 (< ?0 1))) $x11400)) (rewrite (= $x10164 $x11404)) (= $x10519 $x11408)))) blanchet@57170: (let ((@x11416 (monotonicity (quant-intro @x11410 (= $x10522 $x11411)) (= (not $x10522) $x11414)))) blanchet@57170: (let ((@x11986 (monotonicity @x11416 (trans @x11978 (rewrite (= (and $x11951 $x11971) $x11979)) (= $x11167 $x11979)) (= $x11174 $x11984)))) blanchet@57170: (let ((@x11992 (monotonicity (monotonicity (rewrite (= $x10159 $x11382)) (= (not $x10159) $x11385)) (monotonicity (quant-intro @x11410 (= $x10522 $x11411)) @x11986 (= $x11179 $x11987)) (= $x11186 $x11990)))) blanchet@57170: (let (($x11368 (and $x10145 (and $x10146 (and $x10147 (and $x10148 (and true (and true true)))))))) blanchet@57170: (let (($x11366 (= $x10509 (and $x10146 (and $x10147 (and $x10148 (and true (and true true)))))))) blanchet@57170: (let ((@x11355 (monotonicity (rewrite (= $x10149 true)) (rewrite (= $x10150 true)) (= $x10497 (and true true))))) blanchet@57170: (let ((@x11358 (monotonicity (rewrite (= $x10149 true)) @x11355 (= $x10500 (and true (and true true)))))) blanchet@57170: (let ((@x11361 (monotonicity @x11358 (= $x10503 (and $x10148 (and true (and true true))))))) blanchet@57170: (let ((@x11364 (monotonicity @x11361 (= $x10506 (and $x10147 (and $x10148 (and true (and true true)))))))) blanchet@57170: (let ((@x11373 (monotonicity (monotonicity (monotonicity @x11364 $x11366) (= $x10512 $x11368)) (= $x10515 (and $x10142 $x11368))))) blanchet@57170: (let ((@x11381 (monotonicity (trans @x11373 (rewrite (= (and $x10142 $x11368) $x11374)) (= $x10515 $x11374)) (= (not $x10515) $x11379)))) blanchet@57170: (let ((@x11998 (monotonicity @x11381 (monotonicity (rewrite (= $x10159 $x11382)) @x11992 (= $x11191 $x11993)) (= $x11198 $x11996)))) blanchet@57170: (let ((@x12006 (trans (monotonicity @x11998 (= $x11203 (and $x10142 $x11996))) (rewrite (= (and $x10142 $x11996) $x12002)) (= $x11203 $x12002)))) blanchet@57170: (let ((@x12012 (monotonicity (monotonicity @x12006 (= $x11210 $x12007)) (= $x11215 (and $x10140 $x12007))))) blanchet@57170: (let ((@x12020 (monotonicity (trans @x12012 (rewrite (= (and $x10140 $x12007) $x12013)) (= $x11215 $x12013)) (= $x11222 $x12018)))) blanchet@57170: (let (($x11306 (and $x11256 (and $x10108 (and $x10109 (and $x10112 (and $x10439 (and $x11243 $x11245)))))))) blanchet@57170: (let (($x11327 (and (and $x11268 $x11270) (and $x11264 (and $x11260 (and $x10094 (and $x10095 (and $x10098 $x11306)))))))) blanchet@57170: (let ((@x11344 (rewrite (= (and (and $x11284 $x11286) (and (and $x11276 $x11278) $x11327)) $x11342)))) blanchet@57170: (let (($x11322 (= $x10476 (and $x11264 (and $x11260 (and $x10094 (and $x10095 (and $x10098 $x11306)))))))) blanchet@57170: (let (($x11304 (= $x10451 (and $x10108 (and $x10109 (and $x10112 (and $x10439 (and $x11243 $x11245)))))))) blanchet@57170: (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))))) blanchet@57170: (let ((@x11299 (monotonicity (monotonicity @x11293 (= $x10442 (and $x10439 (and $x11243 $x11245)))) (= $x10445 (and $x10112 (and $x10439 (and $x11243 $x11245))))))) blanchet@57170: (let ((@x11302 (monotonicity @x11299 (= $x10448 (and $x10109 (and $x10112 (and $x10439 (and $x11243 $x11245)))))))) blanchet@57170: (let (($x11251 (>= (+ (b_S_frame_n_level$ ?0) (* (- 1) b_S_current_n_frame_n_level$)) 0))) blanchet@57170: (let (($x11250 (not $x11251))) blanchet@57170: (let ((@x11255 (rewrite (= (< (b_S_frame_n_level$ ?0) b_S_current_n_frame_n_level$) $x11250)))) blanchet@57170: (let ((@x11308 (monotonicity (quant-intro @x11255 (= $x10104 $x11256)) (monotonicity @x11302 $x11304) (= $x10454 $x11306)))) blanchet@57170: (let ((@x11314 (monotonicity (monotonicity @x11308 (= $x10457 (and $x10098 $x11306))) (= $x10460 (and $x10095 (and $x10098 $x11306)))))) blanchet@57170: (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)))))))) blanchet@57170: (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))))) blanchet@57170: (let ((@x11329 (monotonicity @x11326 (monotonicity (rewrite (= $x10073 $x11264)) @x11320 $x11322) (= $x10479 $x11327)))) blanchet@57170: (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))))) blanchet@57170: (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))))) blanchet@57170: (let ((@x11341 (monotonicity @x11338 (monotonicity @x11332 @x11329 (= $x10482 (and (and $x11276 $x11278) $x11327))) (= $x10485 (and (and $x11284 $x11286) (and (and $x11276 $x11278) $x11327)))))) blanchet@57170: (let ((@x11349 (monotonicity (trans @x11341 @x11344 (= $x10485 $x11342)) (= (not $x10485) (not $x11342))))) blanchet@57170: (let ((@x12026 (monotonicity @x11349 (monotonicity @x12020 (= $x11227 $x12021)) (= $x11234 (or (not $x11342) $x12021))))) blanchet@57170: (let ((@x10656 (monotonicity (rewrite (= (=> $x10242 true) true)) (= $x10244 (and $x10242 true))))) blanchet@57170: (let ((@x10663 (monotonicity (quant-intro (rewrite (= (=> $x10234 $x10235) $x10646)) (= $x10237 $x10649)) (trans @x10656 (rewrite (= (and $x10242 true) $x10242)) (= $x10244 $x10242)) (= $x10245 (=> $x10649 $x10242))))) blanchet@57170: (let ((@x10672 (monotonicity (quant-intro (rewrite (= (=> $x10234 $x10235) $x10646)) (= $x10237 $x10649)) (trans @x10663 (rewrite (= (=> $x10649 $x10242) $x10665)) (= $x10245 $x10665)) (= (and $x10237 $x10245) $x10670)))) blanchet@57170: (let (($x10614 (= (and $x10218 (and $x10220 (and $x10222 true))) (and $x10218 (and $x10220 $x10222))))) blanchet@57170: (let ((@x10612 (monotonicity (rewrite (= (and $x10222 true) $x10222)) (= (and $x10220 (and $x10222 true)) (and $x10220 $x10222))))) blanchet@57170: (let ((@x10618 (monotonicity (monotonicity @x10612 $x10614) (= (and $x10216 (and $x10218 (and $x10220 (and $x10222 true)))) $x10616)))) blanchet@57170: (let ((@x10625 (trans (monotonicity @x10618 (= $x10227 (and true $x10616))) (rewrite (= (and true $x10616) $x10616)) (= $x10227 $x10616)))) blanchet@57170: (let ((@x10631 (monotonicity (monotonicity @x10625 (= (and $x10182 $x10227) $x10626)) (= (and $x10182 (and $x10182 $x10227)) $x10629)))) blanchet@57170: (let ((@x10638 (trans (monotonicity @x10631 (= $x10230 (and true $x10629))) (rewrite (= (and true $x10629) $x10629)) (= $x10230 $x10629)))) blanchet@57170: (let ((@x10644 (monotonicity (monotonicity @x10638 (= (and $x10182 $x10230) $x10639)) (= (and b_S_position_n_marker$ (and $x10182 $x10230)) $x10642)))) blanchet@57170: (let ((@x10681 (trans (monotonicity @x10644 @x10672 (= $x10247 (=> $x10642 $x10670))) (rewrite (= (=> $x10642 $x10670) $x10677)) (= $x10247 $x10677)))) blanchet@57170: (let (($x11117 (and $x10410 $x10182))) blanchet@57170: (let (($x11120 (and $x10182 $x11117))) blanchet@57170: (let ((@x10568 (rewrite (= (and $x10182 $x10182) $x10182)))) blanchet@57170: (let ((@x10563 (rewrite (= $x10206 $x10182)))) blanchet@57170: (let ((@x10570 (trans (monotonicity @x10563 (= $x10207 (and $x10182 $x10182))) @x10568 (= $x10207 $x10182)))) blanchet@57170: (let ((@x11108 (trans (monotonicity @x10570 (= $x10411 (and $x10182 $x10182))) @x10568 (= $x10411 $x10182)))) blanchet@57170: (let ((@x11114 (monotonicity (trans (monotonicity @x11108 (= $x10412 $x10206)) @x10563 (= $x10412 $x10182)) (= $x10413 (and $x10182 $x10182))))) blanchet@57170: (let ((@x11119 (monotonicity (trans @x11114 @x10568 (= $x10413 $x10182)) (= (and $x10410 $x10413) $x11117)))) blanchet@57170: (let ((@x11125 (monotonicity (monotonicity @x11119 (= (and $x10182 (and $x10410 $x10413)) $x11120)) (= $x10416 (and true $x11120))))) blanchet@57170: (let ((@x11132 (monotonicity (trans @x11125 (rewrite (= (and true $x11120) $x11120)) (= $x10416 $x11120)) (monotonicity @x10681 (= $x10248 $x10682)) (= $x10417 (=> $x11120 $x10682))))) blanchet@57170: (let ((@x10938 (monotonicity (rewrite (= (and $x10375 false) false)) (= $x10377 (=> false true))))) blanchet@57170: (let ((@x10942 (trans @x10938 (rewrite (= (=> false true) true)) (= $x10377 true)))) blanchet@57170: (let ((@x10949 (trans (monotonicity @x10942 (= $x10378 (and $x10375 true))) (rewrite (= (and $x10375 true) $x10375)) (= $x10378 $x10375)))) blanchet@57170: (let ((@x10933 (quant-intro (rewrite (= (=> (and $x3098 (< ?0 v_b_L_H_p_G_1$)) $x10368) $x10928)) (= $x10370 $x10931)))) blanchet@57170: (let ((@x10958 (trans (monotonicity @x10933 @x10949 (= $x10379 (=> $x10931 $x10375))) (rewrite (= (=> $x10931 $x10375) $x10954)) (= $x10379 $x10954)))) blanchet@57170: (let ((@x10964 (monotonicity (monotonicity @x10933 @x10958 (= (and $x10370 $x10379) $x10959)) (= $x10381 (=> $x10365 $x10959))))) blanchet@57170: (let ((@x10973 (monotonicity (trans @x10964 (rewrite (= (=> $x10365 $x10959) $x10966)) (= $x10381 $x10966)) (= (and $x10365 $x10381) $x10971)))) blanchet@57170: (let ((@x10920 (monotonicity (rewrite (= (and $x10360 true) $x10360)) (= (and $x10358 (and $x10360 true)) $x10918)))) blanchet@57170: (let ((@x10903 (rewrite (= (+ v_b_L_H_p_G_0$ 1) ?x10901)))) blanchet@57170: (let ((@x10915 (monotonicity @x10903 (= (= v_b_L_H_p_G_1$ (+ v_b_L_H_p_G_0$ 1)) $x10913)))) blanchet@57170: (let ((@x10909 (monotonicity @x10903 (= (<= (+ v_b_L_H_p_G_0$ 1) b_S_max_o_u4$) $x10907)))) blanchet@57170: (let ((@x10912 (monotonicity (monotonicity @x10903 (= (<= 0 (+ v_b_L_H_p_G_0$ 1)) $x10904)) @x10909 (= $x10355 $x10910)))) blanchet@57170: (let ((@x10926 (monotonicity @x10912 (monotonicity @x10915 @x10920 (= $x10363 $x10921)) (= (and $x10355 $x10363) $x10924)))) blanchet@57170: (let ((@x10982 (trans (monotonicity @x10926 @x10973 (= $x10383 (=> $x10924 $x10971))) (rewrite (= (=> $x10924 $x10971) $x10978)) (= $x10383 $x10978)))) blanchet@57170: (let ((@x11021 (monotonicity (rewrite (= (and true $x10342) $x10342)) (= (and $x10392 (and true $x10342)) $x11019)))) blanchet@57170: (let ((@x11024 (monotonicity @x11021 (= (and $x10391 (and $x10392 (and true $x10342))) $x11022)))) blanchet@57170: (let ((@x11031 (trans (monotonicity @x11024 (= $x10395 (and true $x11022))) (rewrite (= (and true $x11022) $x11022)) (= $x10395 $x11022)))) blanchet@57170: (let ((@x11037 (monotonicity (monotonicity @x11031 (= (and $x10182 $x10395) $x11032)) (= (and $x10182 (and $x10182 $x10395)) $x11035)))) blanchet@57170: (let ((@x11044 (trans (monotonicity @x11037 (= $x10398 (and true $x11035))) (rewrite (= (and true $x11035) $x11035)) (= $x10398 $x11035)))) blanchet@57170: (let ((@x11050 (monotonicity (monotonicity @x11044 (= (and $x10182 $x10398) $x11045)) (= (and $x10390 (and $x10182 $x10398)) $x11048)))) blanchet@57170: (let ((@x11056 (monotonicity (monotonicity @x11050 (= (and $x10182 (and $x10390 (and $x10182 $x10398))) $x11051)) (= $x10402 (and true $x11051))))) blanchet@57170: (let ((@x11063 (monotonicity (trans @x11056 (rewrite (= (and true $x11051) $x11051)) (= $x10402 $x11051)) (monotonicity @x10912 @x10982 (= $x10384 $x10983)) (= $x10403 (=> $x11051 $x10983))))) blanchet@57170: (let (($x10896 (= (and $x10333 (and $x10334 (and $x10335 (and (and $x10181 $x10181) $x10346)))) $x10895))) blanchet@57170: (let ((@x10875 (monotonicity (rewrite (= (and true $x10342) $x10342)) (= (and $x10340 (and true $x10342)) $x10873)))) blanchet@57170: (let ((@x10878 (monotonicity @x10875 (= (and $x10338 (and $x10340 (and true $x10342))) $x10876)))) blanchet@57170: (let ((@x10885 (trans (monotonicity @x10878 (= $x10346 (and true $x10876))) (rewrite (= (and true $x10876) $x10876)) (= $x10346 $x10876)))) blanchet@57170: (let ((@x10888 (monotonicity (rewrite (= (and $x10181 $x10181) $x10181)) @x10885 (= (and (and $x10181 $x10181) $x10346) $x10886)))) blanchet@57170: (let ((@x10894 (monotonicity (monotonicity @x10888 (= (and $x10335 (and (and $x10181 $x10181) $x10346)) $x10889)) (= (and $x10334 (and $x10335 (and (and $x10181 $x10181) $x10346))) $x10892)))) blanchet@57170: (let ((@x10988 (monotonicity (monotonicity (monotonicity @x10894 $x10896) (= $x10351 $x10898)) (monotonicity @x10912 @x10982 (= $x10384 $x10983)) (= $x10385 (=> $x10898 $x10983))))) blanchet@57170: (let ((@x10997 (monotonicity (trans @x10988 (rewrite (= (=> $x10898 $x10983) $x10990)) (= $x10385 $x10990)) (= (and $x10325 $x10385) $x10995)))) blanchet@57170: (let ((@x11006 (trans (monotonicity @x10997 (= $x10387 (=> $x10323 $x10995))) (rewrite (= (=> $x10323 $x10995) $x11002)) (= $x10387 $x11002)))) blanchet@57170: (let ((@x10861 (monotonicity (monotonicity @x10570 (= (and $x10328 $x10207) $x10856)) (= (and $x10182 (and $x10328 $x10207)) $x10859)))) blanchet@57170: (let ((@x10868 (trans (monotonicity @x10861 (= $x10331 (and true $x10859))) (rewrite (= (and true $x10859) $x10859)) (= $x10331 $x10859)))) blanchet@57170: (let ((@x11012 (monotonicity @x10868 (monotonicity @x11006 (= (and $x10323 $x10387) $x11007)) (= $x10389 (=> $x10859 $x11007))))) blanchet@57170: (let ((@x11072 (monotonicity (trans @x11012 (rewrite (= (=> $x10859 $x11007) $x11014)) (= $x10389 $x11014)) (trans @x11063 (rewrite (= (=> $x11051 $x10983) $x11065)) (= $x10403 $x11065)) (= (and $x10389 $x10403) $x11070)))) blanchet@57170: (let ((@x11081 (trans (monotonicity @x11072 (= $x10405 (=> $x10326 $x11070))) (rewrite (= (=> $x10326 $x11070) $x11077)) (= $x10405 $x11077)))) blanchet@57170: (let ((@x11087 (monotonicity (monotonicity @x11081 (= (and $x10325 $x10405) $x11082)) (= $x10407 (=> $x10323 $x11082))))) blanchet@57170: (let ((@x11095 (monotonicity (trans @x11087 (rewrite (= (=> $x10323 $x11082) $x11088)) (= $x10407 $x11088)) (= (and $x10323 $x10407) $x11093)))) blanchet@57170: (let ((@x10848 (monotonicity (monotonicity @x10570 (= (and $x10316 $x10207) $x10843)) (= (and $x10182 (and $x10316 $x10207)) $x10846)))) blanchet@57170: (let ((@x10855 (trans (monotonicity @x10848 (= $x10319 (and true $x10846))) (rewrite (= (and true $x10846) $x10846)) (= $x10319 $x10846)))) blanchet@57170: (let ((@x11104 (trans (monotonicity @x10855 @x11095 (= $x10409 (=> $x10846 $x11093))) (rewrite (= (=> $x10846 $x11093) $x11100)) (= $x10409 $x11100)))) blanchet@57170: (let ((@x11141 (monotonicity @x11104 (trans @x11132 (rewrite (= (=> $x11120 $x10682) $x11134)) (= $x10417 $x11134)) (= (and $x10409 $x10417) $x11139)))) blanchet@57170: (let (($x10802 (= (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x10301))))) $x10801))) blanchet@57170: (let ((@x10777 (rewrite (= (= (b_S_statusmap$ v_b_S_s$) (b_S_statusmap$ v_b_S_s$)) true)))) blanchet@57170: (let ((@x10780 (monotonicity (rewrite (= (= ?x10272 ?x10272) true)) @x10777 (= $x10300 (and true true))))) blanchet@57170: (let ((@x10784 (trans @x10780 (rewrite (= (and true true) true)) (= $x10300 true)))) blanchet@57170: (let ((@x10791 (monotonicity (trans (monotonicity @x10784 (= $x10301 $x10206)) @x10563 (= $x10301 $x10182)) (= (and $x10297 $x10301) $x10789)))) blanchet@57170: (let ((@x10797 (monotonicity (monotonicity @x10791 (= (and $x10294 (and $x10297 $x10301)) $x10792)) (= (and $x10293 (and $x10294 (and $x10297 $x10301))) $x10795)))) blanchet@57170: (let ((@x10800 (monotonicity @x10797 (= (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x10301)))) $x10798)))) blanchet@57170: (let ((@x10809 (monotonicity (monotonicity (monotonicity @x10800 $x10802) (= $x10307 $x10804)) (= (and $x10286 $x10307) $x10807)))) blanchet@57170: (let ((@x10759 (rewrite (= (and true $x10286) $x10286)))) blanchet@57170: (let (($x10748 (forall ((?v0 B_S_ptr$) )(!true :pattern ( (b_S_select_o_tm$ (b_S_typemap$ v_b_S_s$) ?v0) ))) blanchet@57170: )) blanchet@57170: (let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?0))) blanchet@57170: (let (($x10275 (and (= (b_S_select_o_tm$ ?x10272 ?0) (b_S_select_o_tm$ ?x10272 ?0)) $x10260))) blanchet@57170: (let (($x10276 (=> $x10260 $x10275))) blanchet@57170: (let ((@x10714 (rewrite (= (=> $x10260 $x10260) true)))) blanchet@57170: (let ((@x10707 (rewrite (= (and true $x10260) $x10260)))) blanchet@57170: (let (($x10738 (= (= (b_S_select_o_tm$ ?x10272 ?0) (b_S_select_o_tm$ ?x10272 ?0)) true))) blanchet@57170: (let ((@x10743 (trans (monotonicity (rewrite $x10738) (= $x10275 (and true $x10260))) @x10707 (= $x10275 $x10260)))) blanchet@57170: (let ((@x10747 (trans (monotonicity @x10743 (= $x10276 (=> $x10260 $x10260))) @x10714 (= $x10276 true)))) blanchet@57170: (let ((@x10754 (trans (quant-intro @x10747 (= $x10278 $x10748)) (elim-unused (= $x10748 true)) (= $x10278 true)))) blanchet@57170: (let ((@x10761 (trans (monotonicity @x10754 (= $x10287 (and true $x10286))) @x10759 (= $x10287 $x10286)))) blanchet@57170: (let (($x10694 (forall ((?v0 B_S_ptr$) )(!true :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ v_b_S_s$) ?v0) ))) blanchet@57170: )) blanchet@57170: (let ((?x10256 (b_S_statusmap$ v_b_S_s$))) blanchet@57170: (let ((?x10257 (b_S_select_o_sm$ ?x10256 ?0))) blanchet@57170: (let (($x10269 (and (= ?x10257 ?x10257) $x10260))) blanchet@57170: (let (($x10270 (=> $x10260 $x10269))) blanchet@57170: (let ((@x10727 (monotonicity (rewrite (= (= ?x10257 ?x10257) true)) (= $x10269 (and true $x10260))))) blanchet@57170: (let ((@x10731 (monotonicity (trans @x10727 @x10707 (= $x10269 $x10260)) (= $x10270 (=> $x10260 $x10260))))) blanchet@57170: (let ((@x10737 (trans (quant-intro (trans @x10731 @x10714 (= $x10270 true)) (= $x10271 $x10694)) (elim-unused (= $x10694 true)) (= $x10271 true)))) blanchet@57170: (let ((@x10765 (trans (monotonicity @x10737 @x10761 (= $x10288 (and true $x10286))) @x10759 (= $x10288 $x10286)))) blanchet@57170: (let (($x10717 (forall ((?v0 B_S_ptr$) )(!true :pattern ( (b_S_select_o_mem$ (b_S_memory$ v_b_S_s$) ?v0) ))) blanchet@57170: )) blanchet@57170: (let ((?x10261 (b_S_memory$ v_b_S_s$))) blanchet@57170: (let ((?x10262 (b_S_select_o_mem$ ?x10261 ?0))) blanchet@57170: (let (($x10264 (and (= ?x10262 ?x10262) $x10260))) blanchet@57170: (let (($x10265 (=> $x10260 $x10264))) blanchet@57170: (let ((@x10705 (monotonicity (rewrite (= (= ?x10262 ?x10262) true)) (= $x10264 (and true $x10260))))) blanchet@57170: (let ((@x10712 (monotonicity (trans @x10705 @x10707 (= $x10264 $x10260)) (= $x10265 (=> $x10260 $x10260))))) blanchet@57170: (let ((@x10723 (trans (quant-intro (trans @x10712 @x10714 (= $x10265 true)) (= $x10267 $x10717)) (elim-unused (= $x10717 true)) (= $x10267 true)))) blanchet@57170: (let ((@x10769 (trans (monotonicity @x10723 @x10765 (= $x10289 (and true $x10286))) @x10759 (= $x10289 $x10286)))) blanchet@57170: (let (($x10253 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_owner$ v_b_S_s$ ?0))) b_S_kind_n_thread$))) blanchet@57170: (let ((@x10696 (quant-intro (rewrite (= (=> (not $x10253) (not $x10253)) true)) (= $x10259 $x10694)))) blanchet@57170: (let ((@x10771 (monotonicity (trans @x10696 (elim-unused (= $x10694 true)) (= $x10259 true)) @x10769 (= $x10290 (and true $x10286))))) blanchet@57170: (let ((@x10812 (monotonicity (trans @x10771 @x10759 (= $x10290 $x10286)) @x10809 (= (and $x10290 (and $x10286 $x10307)) $x10810)))) blanchet@57170: (let ((@x10818 (monotonicity (monotonicity @x10812 (= (and $x10182 (and $x10290 (and $x10286 $x10307))) $x10813)) (= $x10311 (and true $x10813))))) blanchet@57170: (let ((@x10825 (monotonicity (trans @x10818 (rewrite (= (and true $x10813) $x10813)) (= $x10311 $x10813)) (= (and $x10182 $x10311) $x10823)))) blanchet@57170: (let ((@x10832 (trans (monotonicity @x10825 (= $x10313 (and true $x10823))) (rewrite (= (and true $x10823) $x10823)) (= $x10313 $x10823)))) blanchet@57170: (let ((@x10838 (monotonicity (monotonicity @x10832 (= (and $x10182 $x10313) $x10833)) (= $x10315 (and true $x10833))))) blanchet@57170: (let ((@x11144 (monotonicity (trans @x10838 (rewrite (= (and true $x10833) $x10833)) (= $x10315 $x10833)) @x11141 (= $x10419 (=> $x10833 $x11139))))) blanchet@57170: (let ((@x10591 (rewrite (= (and false (and $x10182 (and $x10182 (and $x10205 $x10182)))) false)))) blanchet@57170: (let (($x10585 (= (and $x10182 (and true (and $x10182 (and $x10205 $x10207)))) (and $x10182 (and $x10182 (and $x10205 $x10182)))))) blanchet@57170: (let (($x10574 (and $x10182 (and $x10205 $x10182)))) blanchet@57170: (let (($x10210 (and true (and $x10182 (and $x10205 $x10207))))) blanchet@57170: (let ((@x10576 (monotonicity (monotonicity @x10570 (= (and $x10205 $x10207) (and $x10205 $x10182))) (= (and $x10182 (and $x10205 $x10207)) $x10574)))) blanchet@57170: (let ((@x10583 (trans (monotonicity @x10576 (= $x10210 (and true $x10574))) (rewrite (= (and true $x10574) $x10574)) (= $x10210 $x10574)))) blanchet@57170: (let ((@x10561 (rewrite (= $x10203 false)))) blanchet@57170: (let ((@x10589 (monotonicity @x10561 (monotonicity @x10583 $x10585) (= $x10212 (and false (and $x10182 $x10574)))))) blanchet@57170: (let ((@x10596 (monotonicity (trans @x10589 @x10591 (= $x10212 false)) (= $x10213 (and $x10182 false))))) blanchet@57170: (let ((@x10600 (trans @x10596 (rewrite (= (and $x10182 false) false)) (= $x10213 false)))) blanchet@57170: (let ((@x10607 (trans (monotonicity @x10600 (= $x10214 (and true false))) (rewrite (= (and true false) false)) (= $x10214 false)))) blanchet@57170: (let ((@x10687 (monotonicity @x10607 (monotonicity @x10681 (= $x10248 $x10682)) (= $x10249 (=> false $x10682))))) blanchet@57170: (let ((@x10691 (trans @x10687 (rewrite (= (=> false $x10682) true)) (= $x10249 true)))) blanchet@57170: (let ((@x11153 (monotonicity @x10691 (trans @x11144 (rewrite (= (=> $x10833 $x11139) $x11146)) (= $x10419 $x11146)) (= $x10420 (and true $x11146))))) blanchet@57170: (let (($x10545 (= (and $x10176 (and $x10180 (and $x10182 (and $x10183 (and $x10188 $x10194))))) $x10544))) blanchet@57170: (let ((@x10531 (quant-intro (rewrite (= (=> (and $x3098 (< ?0 v_b_L_H_p_G_0$)) $x10186) $x10526)) (= $x10188 $x10529)))) blanchet@57170: (let ((@x10537 (monotonicity (monotonicity @x10531 (= (and $x10188 $x10194) $x10532)) (= (and $x10183 (and $x10188 $x10194)) $x10535)))) blanchet@57170: (let ((@x10543 (monotonicity (monotonicity @x10537 (= (and $x10182 (and $x10183 (and $x10188 $x10194))) $x10538)) (= (and $x10180 (and $x10182 (and $x10183 (and $x10188 $x10194)))) $x10541)))) blanchet@57170: (let ((@x10552 (monotonicity (monotonicity (monotonicity @x10543 $x10545) (= $x10200 $x10547)) (= $x10201 (and true $x10547))))) blanchet@57170: (let ((@x10559 (monotonicity (trans @x10552 (rewrite (= (and true $x10547) $x10547)) (= $x10201 $x10547)) (= (and $x10168 $x10201) $x10557)))) blanchet@57170: (let ((@x11160 (monotonicity @x10559 (trans @x11153 (rewrite (= (and true $x11146) $x11146)) (= $x10420 $x11146)) (= $x10421 (=> $x10557 $x11146))))) blanchet@57170: (let ((@x11169 (monotonicity (trans @x11160 (rewrite (= (=> $x10557 $x11146) $x11162)) (= $x10421 $x11162)) (= (and $x10168 $x10421) $x11167)))) blanchet@57170: (let ((@x10524 (quant-intro (rewrite (= (=> (and $x3098 (< ?0 1)) $x10164) $x10519)) (= $x10166 $x10522)))) blanchet@57170: (let ((@x11178 (trans (monotonicity @x10524 @x11169 (= $x10423 (=> $x10522 $x11167))) (rewrite (= (=> $x10522 $x11167) $x11174)) (= $x10423 $x11174)))) blanchet@57170: (let ((@x11184 (monotonicity (monotonicity @x10524 @x11178 (= (and $x10166 $x10423) $x11179)) (= $x10425 (=> $x10159 $x11179))))) blanchet@57170: (let ((@x11193 (monotonicity (trans @x11184 (rewrite (= (=> $x10159 $x11179) $x11186)) (= $x10425 $x11186)) (= (and $x10159 $x10425) $x11191)))) blanchet@57170: (let ((@x10499 (monotonicity (rewrite (= (and $x10150 $x10150) $x10150)) (= (and $x10149 (and $x10150 $x10150)) $x10497)))) blanchet@57170: (let ((@x10505 (monotonicity (monotonicity @x10499 (= (and $x10149 (and $x10149 (and $x10150 $x10150))) $x10500)) (= $x10154 $x10503)))) blanchet@57170: (let ((@x10511 (monotonicity (monotonicity @x10505 (= (and $x10147 $x10154) $x10506)) (= (and $x10146 (and $x10147 $x10154)) $x10509)))) blanchet@57170: (let ((@x10517 (monotonicity (monotonicity @x10511 (= (and $x10145 (and $x10146 (and $x10147 $x10154))) $x10512)) (= (and $x10142 (and $x10145 (and $x10146 (and $x10147 $x10154)))) $x10515)))) blanchet@57170: (let ((@x11202 (trans (monotonicity @x10517 @x11193 (= $x10427 (=> $x10515 $x11191))) (rewrite (= (=> $x10515 $x11191) $x11198)) (= $x10427 $x11198)))) blanchet@57170: (let ((@x11208 (monotonicity (monotonicity @x11202 (= (and $x10142 $x10427) $x11203)) (= $x10429 (=> $x10140 $x11203))))) blanchet@57170: (let ((@x11217 (monotonicity (trans @x11208 (rewrite (= (=> $x10140 $x11203) $x11210)) (= $x10429 $x11210)) (= (and $x10140 $x10429) $x11215)))) blanchet@57170: (let ((@x11226 (trans (monotonicity @x11217 (= $x10431 (=> $x10136 $x11215))) (rewrite (= (=> $x10136 $x11215) $x11222)) (= $x10431 $x11222)))) blanchet@57170: (let (($x10483 (= (and $x10067 (and $x10071 (and $x10073 (and $x10074 (and $x10094 $x10127))))) $x10482))) blanchet@57170: (let (($x10455 (= (and $x10104 (and $x10108 (and $x10109 (and $x10112 (and $x10116 $x10119))))) $x10454))) blanchet@57170: (let (($x10113 (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?0))) blanchet@57170: (let (($x10436 (not $x10113))) blanchet@57170: (let ((@x10444 (monotonicity (quant-intro (rewrite (= (= $x10113 false) $x10436)) (= $x10116 $x10439)) (= (and $x10116 $x10119) $x10442)))) blanchet@57170: (let ((@x10450 (monotonicity (monotonicity @x10444 (= (and $x10112 (and $x10116 $x10119)) $x10445)) (= (and $x10109 (and $x10112 (and $x10116 $x10119))) $x10448)))) blanchet@57170: (let ((@x10453 (monotonicity @x10450 (= (and $x10108 (and $x10109 (and $x10112 (and $x10116 $x10119)))) $x10451)))) blanchet@57170: (let ((@x10462 (monotonicity (monotonicity (monotonicity @x10453 $x10455) (= $x10125 $x10457)) (= (and $x10095 $x10125) $x10460)))) blanchet@57170: (let ((@x10469 (trans (monotonicity @x10462 (= $x10127 (and true $x10460))) (rewrite (= (and true $x10460) $x10460)) (= $x10127 $x10460)))) blanchet@57170: (let ((@x10475 (monotonicity (monotonicity @x10469 (= (and $x10094 $x10127) $x10470)) (= (and $x10074 (and $x10094 $x10127)) $x10473)))) blanchet@57170: (let ((@x10481 (monotonicity (monotonicity @x10475 (= (and $x10073 (and $x10074 (and $x10094 $x10127))) $x10476)) (= (and $x10071 (and $x10073 (and $x10074 (and $x10094 $x10127)))) $x10479)))) blanchet@57170: (let ((@x10490 (monotonicity (monotonicity (monotonicity @x10481 $x10483) (= $x10133 $x10485)) (= $x10134 (and true $x10485))))) blanchet@57170: (let ((@x11232 (monotonicity (trans @x10490 (rewrite (= (and true $x10485) $x10485)) (= $x10134 $x10485)) (monotonicity @x11226 (= (and $x10136 $x10431) $x11227)) (= $x10433 (=> $x10485 $x11227))))) blanchet@57170: (let ((@x11241 (monotonicity (trans @x11232 (rewrite (= (=> $x10485 $x11227) $x11234)) (= $x10433 $x11234)) (= $x10434 (not $x11234))))) blanchet@57170: (let ((@x12031 (trans @x11241 (monotonicity @x12026 (= (not $x11234) $x12027)) (= $x10434 $x12027)))) blanchet@57170: (let ((@x12033 (not-or-elim (mp (asserted $x10434) @x12031 $x12027) $x11342))) blanchet@57170: (let ((@x12044 (and-elim @x12033 $x10084))) blanchet@57170: (let (($x21982 (not $x10084))) blanchet@57170: (let (($x21995 (or $x21994 $x21982 $x21990))) blanchet@57170: (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))) blanchet@57170: (let ((@x24520 (symm (unit-resolution @x22000 @x15336 @x12044 $x21990) (= ?x21983 ?x10080)))) blanchet@57170: (let ((@x22795 (monotonicity (trans @x24520 (symm @x24530 (= ?x10080 ?x22595)) (= ?x21983 ?x22595)) (= (b_S_set_n_in$ ?x21983 ?x22343) $x22596)))) blanchet@57170: (let (($x22344 (b_S_set_n_in$ ?x21983 ?x22343))) blanchet@57170: (let (($x22362 (forall ((?v3 B_S_ptr$) )(!(let ((?x10078 (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$))) blanchet@57170: (let ((?x10079 (b_S_ref$ ?x10078))) blanchet@57170: (let ((?x10076 (b_S_array$ b_T_T_u1$ v_b_P_H_len$))) blanchet@57170: (let ((?x10080 (b_S_ptr$ ?x10076 ?x10079))) blanchet@57170: (let ((?x21014 (b_S_ref$ ?x10080))) blanchet@57170: (let ((?x21983 (b_S_ptr$ ?x10076 ?x21014))) blanchet@57170: (let ((?x22357 (b_S_read_n_version$ v_b_S_s$ ?x21983))) blanchet@57170: (let ((?x22358 (b_S_ver_n_domain$ ?x22357))) blanchet@57170: (let ((?x22234 (b_S_typ$ ?x21983))) blanchet@57170: (let (($x22353 (b_S_has_n_volatile_n_owns_n_set$ ?x22234))) blanchet@57170: (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$))))))) ))) blanchet@57170: )) blanchet@57170: (let (($x22363 (not $x22362))) blanchet@57170: (let (($x22248 (b_S_closed$ v_b_S_s$ ?x21983))) blanchet@57170: (let (($x22272 (not $x22248))) blanchet@57170: (let (($x22352 (not $x22344))) blanchet@57170: (let (($x22364 (or $x22352 $x22272 $x22363))) blanchet@57170: (let (($x22365 (not $x22364))) blanchet@57170: (let (($x22318 (b_S_in_n_domain$ v_b_S_s$ ?x21983 ?x21983))) blanchet@57170: (let (($x22317 (b_S_in_n_domain_n_lab$ v_b_S_s$ ?x21983 ?x21983 b_l_H_public$))) blanchet@57170: (let (($x22326 (= $x22317 $x22318))) blanchet@57170: (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))) blanchet@57170: (let (($x8718 (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3))) blanchet@57170: (= $x8718 $x8719))) :pattern ( (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3) ))) blanchet@57170: )) blanchet@57170: (let (($x8719 (b_S_in_n_domain$ ?3 ?2 ?1))) blanchet@57170: (let (($x8718 (b_S_in_n_domain_n_lab$ ?3 ?2 ?1 ?0))) blanchet@57170: (let (($x8725 (= $x8718 $x8719))) blanchet@57170: (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))) blanchet@57170: (let (($x8718 (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3))) blanchet@57170: (= $x8718 $x8719))) :pattern ( (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3) ))) blanchet@57170: )) blanchet@57170: (let ((@x8733 (mp (asserted $x8723) (quant-intro (rewrite (= (= $x8718 $x8719) $x8725)) (= $x8723 $x8728)) $x8728))) blanchet@57170: (let ((@x15021 (mp~ @x8733 (nnf-pos (refl (~ $x8725 $x8725)) (~ $x8728 $x8728)) $x8728))) blanchet@57170: (let (($x22612 (or (not $x8728) $x22326))) blanchet@57170: (let ((@x22613 ((_ quant-inst v_b_S_s$ (b_S_ptr$ ?x10076 ?x21014) (b_S_ptr$ ?x10076 ?x21014) b_l_H_public$) $x22612))) blanchet@57170: (let (($x35 (= b_S_kind_n_primitive$ b_S_kind_n_array$))) blanchet@57170: (let (($x36 (not $x35))) blanchet@57232: (let (($x22488 (= $x36 (not (= (b_S_kind_n_of$ (b_S_typ$ ?x21983)) b_S_kind_n_primitive$))))) blanchet@57170: (let ((?x22234 (b_S_typ$ ?x21983))) blanchet@57170: (let ((?x22387 (b_S_kind_n_of$ ?x22234))) blanchet@57170: (let (($x22388 (= ?x22387 b_S_kind_n_primitive$))) blanchet@57170: (let (($x22148 (= ?x10086 b_S_kind_n_array$))) blanchet@57170: (let (($x21115 (b_S_is_n_arraytype$ ?x10076))) blanchet@57170: (let (($x22149 (= $x21115 $x22148))) blanchet@57170: (let (($x9869 (forall ((?v0 B_S_ctype$) )(!(let ((?x9849 (b_S_kind_n_of$ ?v0))) blanchet@57170: (let (($x9861 (= ?x9849 b_S_kind_n_array$))) blanchet@57170: (let (($x7848 (b_S_is_n_arraytype$ ?v0))) blanchet@57170: (= $x7848 $x9861)))) :pattern ( (b_S_is_n_arraytype$ ?v0) ))) blanchet@57170: )) blanchet@57170: (let (($x9861 (= ?x9849 b_S_kind_n_array$))) blanchet@57170: (let (($x7848 (b_S_is_n_arraytype$ ?0))) blanchet@57170: (let (($x9866 (= $x7848 $x9861))) blanchet@57170: (let (($x9864 (forall ((?v0 B_S_ctype$) )(!(let ((?x9849 (b_S_kind_n_of$ ?v0))) blanchet@57170: (let (($x9861 (= ?x9849 b_S_kind_n_array$))) blanchet@57170: (let (($x7848 (b_S_is_n_arraytype$ ?v0))) blanchet@57170: (= $x7848 $x9861)))) :pattern ( (b_S_is_n_arraytype$ ?v0) ))) blanchet@57170: )) blanchet@57170: (let ((@x9874 (mp (asserted $x9864) (quant-intro (rewrite (= (= $x7848 $x9861) $x9866)) (= $x9864 $x9869)) $x9869))) blanchet@57170: (let ((@x15446 (mp~ @x9874 (nnf-pos (refl (~ $x9866 $x9866)) (~ $x9869 $x9869)) $x9869))) blanchet@57170: (let (($x22159 (or (not $x9869) $x22149))) blanchet@57170: (let ((@x22160 ((_ quant-inst (b_S_array$ b_T_T_u1$ v_b_P_H_len$)) $x22159))) blanchet@57170: (let (($x7229 (forall ((?v0 B_S_ctype$) (?v1 Int) )(!(let ((?x6561 (b_S_array$ ?v0 ?v1))) blanchet@57170: (b_S_is_n_arraytype$ ?x6561)) :pattern ( (b_S_array$ ?v0 ?v1) ))) blanchet@57170: )) blanchet@57170: (let ((?x6561 (b_S_array$ ?1 ?0))) blanchet@57170: (let (($x7228 (b_S_is_n_arraytype$ ?x6561))) blanchet@57170: (let ((@x14576 (mp~ (asserted $x7229) (nnf-pos (refl (~ $x7228 $x7228)) (~ $x7229 $x7229)) $x7229))) blanchet@57170: (let (($x21122 (or (not $x7229) $x21115))) blanchet@57170: (let ((@x21123 ((_ quant-inst b_T_T_u1$ v_b_P_H_len$) $x21122))) blanchet@57170: (let ((@x22406 (unit-resolution (def-axiom (or (not $x22149) (not $x21115) $x22148)) (unit-resolution @x21123 @x14576 $x21115) (or (not $x22149) $x22148)))) blanchet@57170: (let ((?x21180 (b_S_typ$ ?x10080))) blanchet@57170: (let (($x21183 (= ?x21180 ?x10076))) blanchet@57170: (let (($x21188 (or $x21147 $x21183))) blanchet@57170: (let ((@x21189 ((_ quant-inst (b_S_array$ b_T_T_u1$ v_b_P_H_len$) (b_S_ref$ ?x10078)) $x21188))) blanchet@57170: (let ((@x22414 (trans (monotonicity @x24520 (= ?x22234 ?x21180)) (unit-resolution @x21189 @x19846 $x21183) (= ?x22234 ?x10076)))) blanchet@57170: (let ((@x22418 (trans (monotonicity @x22414 (= ?x22387 ?x10086)) (unit-resolution @x22406 (unit-resolution @x22160 @x15446 $x22149) $x22148) (= ?x22387 b_S_kind_n_array$)))) blanchet@57170: (let ((@x22857 (monotonicity @x22418 (= $x22388 (= b_S_kind_n_array$ b_S_kind_n_primitive$))))) blanchet@57232: (let ((@x22500 (trans @x22857 (commutativity (= (= b_S_kind_n_array$ b_S_kind_n_primitive$) $x35)) (= $x22388 $x35)))) blanchet@57170: (let (($x41 (= b_S_kind_n_thread$ b_S_kind_n_array$))) blanchet@57170: (let (($x42 (not $x41))) blanchet@57170: (let (($x39 (= b_S_kind_n_composite$ b_S_kind_n_array$))) blanchet@57170: (let (($x40 (not $x39))) blanchet@57170: (let (($x37 (= b_S_kind_n_composite$ b_S_kind_n_thread$))) blanchet@57170: (let (($x38 (not $x37))) blanchet@57170: (let (($x32 (= b_S_kind_n_primitive$ b_S_kind_n_thread$))) blanchet@57170: (let (($x33 (not $x32))) blanchet@57170: (let (($x29 (= b_S_kind_n_primitive$ b_S_kind_n_composite$))) blanchet@57170: (let (($x30 (not $x29))) blanchet@57170: (let (($x67 (and $x30 $x33 $x36 $x38 $x40 $x42))) blanchet@57170: (let (($x48 (and $x30 (and $x33 (and $x36 (and $x38 (and $x40 (and $x42 true)))))))) blanchet@57170: (let (($x68 (= (and $x30 (and $x33 (and $x36 (and $x38 (and $x40 $x42))))) $x67))) blanchet@57170: (let (($x65 (= $x48 (and $x30 (and $x33 (and $x36 (and $x38 (and $x40 $x42)))))))) blanchet@57170: (let (($x62 (= (and $x33 (and $x36 (and $x38 (and $x40 (and $x42 true))))) (and $x33 (and $x36 (and $x38 (and $x40 $x42))))))) blanchet@57170: (let (($x59 (= (and $x36 (and $x38 (and $x40 (and $x42 true)))) (and $x36 (and $x38 (and $x40 $x42)))))) blanchet@57170: (let (($x56 (= (and $x38 (and $x40 (and $x42 true))) (and $x38 (and $x40 $x42))))) blanchet@57170: (let ((@x54 (monotonicity (rewrite (= (and $x42 true) $x42)) (= (and $x40 (and $x42 true)) (and $x40 $x42))))) blanchet@57170: (let ((@x66 (monotonicity (monotonicity (monotonicity (monotonicity @x54 $x56) $x59) $x62) $x65))) blanchet@57170: (let ((@x72 (mp (asserted $x48) (trans @x66 (rewrite $x68) (= $x48 $x67)) $x67))) blanchet@57170: (let ((@x75 (and-elim @x72 $x36))) blanchet@57170: (let (($x22333 (not $x22318))) blanchet@57170: (let (($x22336 (not $x22317))) blanchet@57170: (let ((@x22935 (monotonicity (symm (monotonicity @x24520 @x24520 (= $x22317 $x10136)) (= $x10136 $x22317)) (= $x11221 $x22336)))) blanchet@57170: (let ((@x22938 (unit-resolution (def-axiom (or (not $x22326) $x22317 $x22333)) (mp (hypothesis $x11221) @x22935 $x22336) (unit-resolution @x22613 @x15021 $x22326) $x22333))) blanchet@57170: (let (($x22368 (b_S_is$ ?x21983 ?x22234))) blanchet@57232: (let ((@x22885 (mp @x12044 (symm (monotonicity @x24520 @x22414 (= $x22368 $x10084)) (= $x10084 $x22368)) $x22368))) blanchet@57170: (let (($x22385 (b_S_typed$ v_b_S_s$ ?x21983))) blanchet@57170: (let ((@x12045 (and-elim @x12033 $x10085))) blanchet@57232: (let ((@x22517 (mp @x12045 (symm (monotonicity @x24520 (= $x22385 $x10085)) (= $x10085 $x22385)) $x22385))) blanchet@57170: (let ((?x22243 (b_S_owner$ v_b_S_s$ ?x21983))) blanchet@57170: (let (($x22259 (= ?x22243 b_S_me$))) blanchet@57170: (let ((@x12043 (and-elim @x12033 $x10083))) blanchet@57170: (let ((@x12042 (and-elim @x12033 $x10081))) blanchet@57170: (let ((@x22429 (mp @x12042 (symm (monotonicity @x24520 (= $x22248 $x10081)) (= $x10081 $x22248)) $x22248))) blanchet@57170: (let (($x22235 (b_S_is_n_non_n_primitive$ ?x22234))) blanchet@57170: (let ((@x12047 (and-elim @x12033 $x10089))) blanchet@57170: (let ((@x22409 (mp @x12047 (symm (monotonicity @x22414 (= $x22235 $x10089)) (= $x10089 $x22235)) $x22235))) blanchet@57170: (let ((@x12050 (and-elim @x12033 $x10097))) blanchet@57170: (let (($x18905 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(!(let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1))) blanchet@57170: (let ((?x2247 (b_S_typ$ ?v1))) blanchet@57170: (let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247))) blanchet@57170: (let (($x9239 (not $x2351))) blanchet@57170: (let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$))) blanchet@57170: (let (($x2488 (b_S_typed$ ?v0 ?v1))) blanchet@57170: (let (($x9531 (not $x2488))) blanchet@57170: (let (($x2487 (b_S_is$ ?v1 ?x2247))) blanchet@57170: (let (($x16299 (not $x2487))) blanchet@57170: (let ((?x2484 (b_S_owner$ ?v0 ?v1))) blanchet@57170: (let (($x2486 (= ?x2484 b_S_me$))) blanchet@57170: (let (($x16298 (not $x2486))) blanchet@57170: (let (($x2471 (b_S_closed$ ?v0 ?v1))) blanchet@57170: (let (($x9185 (not $x2471))) blanchet@57170: (let (($x2687 (b_S_full_n_stop$ ?v0))) blanchet@57170: (let (($x16426 (not $x2687))) blanchet@57170: (or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239 $x8613))))))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ))) blanchet@57170: )) blanchet@57170: (let (($x8634 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(!(let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1))) blanchet@57170: (let ((?x2247 (b_S_typ$ ?v1))) blanchet@57170: (let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247))) blanchet@57170: (let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$))) blanchet@57170: (let (($x2294 (not $x2249))) blanchet@57170: (let (($x2488 (b_S_typed$ ?v0 ?v1))) blanchet@57170: (let (($x2487 (b_S_is$ ?v1 ?x2247))) blanchet@57170: (let ((?x2484 (b_S_owner$ ?v0 ?v1))) blanchet@57170: (let (($x2486 (= ?x2484 b_S_me$))) blanchet@57170: (let (($x2471 (b_S_closed$ ?v0 ?v1))) blanchet@57170: (let (($x2687 (b_S_full_n_stop$ ?v0))) blanchet@57170: (let (($x8625 (and $x2687 $x2471 $x2486 $x2487 $x2488 $x2294 $x2351))) blanchet@57170: (let (($x8628 (not $x8625))) blanchet@57170: (or $x8628 $x8613)))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ))) blanchet@57170: )) blanchet@57170: (let (($x8613 (b_S_in_n_domain$ ?1 ?0 ?0))) blanchet@57170: (let ((?x2247 (b_S_typ$ ?0))) blanchet@57170: (let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247))) blanchet@57170: (let (($x9239 (not $x2351))) blanchet@57170: (let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$))) blanchet@57170: (let (($x2488 (b_S_typed$ ?1 ?0))) blanchet@57170: (let (($x9531 (not $x2488))) blanchet@57170: (let (($x2487 (b_S_is$ ?0 ?x2247))) blanchet@57170: (let (($x16299 (not $x2487))) blanchet@57170: (let ((?x2484 (b_S_owner$ ?1 ?0))) blanchet@57170: (let (($x2486 (= ?x2484 b_S_me$))) blanchet@57170: (let (($x16298 (not $x2486))) blanchet@57170: (let (($x2471 (b_S_closed$ ?1 ?0))) blanchet@57170: (let (($x9185 (not $x2471))) blanchet@57170: (let (($x2687 (b_S_full_n_stop$ ?1))) blanchet@57170: (let (($x16426 (not $x2687))) blanchet@57170: (let (($x18900 (or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239 $x8613))) blanchet@57170: (let (($x2294 (not $x2249))) blanchet@57170: (let (($x8625 (and $x2687 $x2471 $x2486 $x2487 $x2488 $x2294 $x2351))) blanchet@57170: (let (($x8628 (not $x8625))) blanchet@57170: (let (($x8631 (or $x8628 $x8613))) blanchet@57170: (let ((@x18902 (rewrite (= (or (or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239) $x8613) $x18900)))) blanchet@57170: (let (($x18886 (or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239))) blanchet@57170: (let ((@x18892 (monotonicity (rewrite (= $x8625 (not $x18886))) (= $x8628 (not (not $x18886)))))) blanchet@57170: (let ((@x18899 (monotonicity (trans @x18892 (rewrite (= (not (not $x18886)) $x18886)) (= $x8628 $x18886)) (= $x8631 (or $x18886 $x8613))))) blanchet@57170: (let (($x8616 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(!(let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1))) blanchet@57170: (let ((?x2247 (b_S_typ$ ?v1))) blanchet@57170: (let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247))) blanchet@57170: (let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$))) blanchet@57170: (let (($x2294 (not $x2249))) blanchet@57170: (let (($x2488 (b_S_typed$ ?v0 ?v1))) blanchet@57170: (let (($x2487 (b_S_is$ ?v1 ?x2247))) blanchet@57170: (let ((?x2484 (b_S_owner$ ?v0 ?v1))) blanchet@57170: (let (($x2486 (= ?x2484 b_S_me$))) blanchet@57170: (let (($x2471 (b_S_closed$ ?v0 ?v1))) blanchet@57170: (let (($x2687 (b_S_full_n_stop$ ?v0))) blanchet@57170: (let (($x8612 (and $x2687 (and $x2471 (and $x2486 (and $x2487 (and $x2488 (and $x2294 $x2351)))))))) blanchet@57170: (=> $x8612 $x8613))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ))) blanchet@57170: )) blanchet@57170: (let (($x8622 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(!(let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1))) blanchet@57170: (let ((?x2247 (b_S_typ$ ?v1))) blanchet@57170: (let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247))) blanchet@57170: (let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$))) blanchet@57170: (let (($x2294 (not $x2249))) blanchet@57170: (let (($x2488 (b_S_typed$ ?v0 ?v1))) blanchet@57170: (let (($x2487 (b_S_is$ ?v1 ?x2247))) blanchet@57170: (let ((?x2484 (b_S_owner$ ?v0 ?v1))) blanchet@57170: (let (($x2486 (= ?x2484 b_S_me$))) blanchet@57170: (let (($x2471 (b_S_closed$ ?v0 ?v1))) blanchet@57170: (let (($x2687 (b_S_full_n_stop$ ?v0))) blanchet@57170: (let (($x8612 (and $x2687 (and $x2471 (and $x2486 (and $x2487 (and $x2488 (and $x2294 $x2351)))))))) blanchet@57170: (or (not $x8612) $x8613))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ))) blanchet@57170: )) blanchet@57170: (let (($x8612 (and $x2687 (and $x2471 (and $x2486 (and $x2487 (and $x2488 (and $x2294 $x2351)))))))) blanchet@57170: (let (($x8619 (or (not $x8612) $x8613))) blanchet@57170: (let ((@x8633 (monotonicity (monotonicity (rewrite (= $x8612 $x8625)) (= (not $x8612) $x8628)) (= $x8619 $x8631)))) blanchet@57170: (let ((@x8638 (trans (quant-intro (rewrite (= (=> $x8612 $x8613) $x8619)) (= $x8616 $x8622)) (quant-intro @x8633 (= $x8622 $x8634)) (= $x8616 $x8634)))) blanchet@57170: (let ((@x14989 (mp~ (mp (asserted $x8616) @x8638 $x8634) (nnf-pos (refl (~ $x8631 $x8631)) (~ $x8634 $x8634)) $x8634))) blanchet@57170: (let ((@x18908 (mp @x14989 (quant-intro (trans @x18899 @x18902 (= $x8631 $x18900)) (= $x8634 $x18905)) $x18905))) blanchet@57170: (let (($x22242 (not $x22235))) blanchet@57170: (let (($x22386 (not $x22385))) blanchet@57170: (let (($x22384 (not $x22368))) blanchet@57170: (let (($x24309 (or (not $x18905) $x19677 $x22272 (not $x22259) $x22384 $x22386 $x22388 $x22242 $x22318))) blanchet@57232: (let (($x22614 (= (or (not $x18905) (or $x19677 $x22272 (not $x22259) $x22384 $x22386 $x22388 $x22242 $x22318)) $x24309))) blanchet@57170: (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))))) blanchet@57232: (let ((@x24070 (mp @x24028 (rewrite $x22614) $x24309))) blanchet@57232: (let ((@x22410 (unit-resolution @x24070 @x18908 @x12050 @x22409 @x22429 (trans (monotonicity @x24520 (= ?x22243 ?x10082)) @x12043 $x22259) (or $x22384 $x22386 $x22388 $x22318)))) blanchet@57232: (let ((@x22411 (unit-resolution @x22410 @x22517 @x22885 @x22938 (mp @x75 (monotonicity (symm @x22500 (= $x35 $x22388)) $x22488) (not $x22388)) false))) blanchet@57170: (let ((@x22434 (lemma @x22411 $x10136))) blanchet@57170: (let ((@x22687 (mp @x22434 (symm (monotonicity @x24520 @x24520 (= $x22317 $x10136)) (= $x10136 $x22317)) $x22317))) blanchet@57170: (let ((@x22688 (unit-resolution (def-axiom (or (not $x22326) $x22336 $x22318)) @x22687 (unit-resolution @x22613 @x15021 $x22326) $x22318))) blanchet@57170: (let (($x22366 (or $x22333 $x22365))) blanchet@57170: (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))))) blanchet@57170: (let ((?x6628 (b_S_typ$ ?v1))) blanchet@57170: (let (($x8640 (b_S_has_n_volatile_n_owns_n_set$ ?x6628))) blanchet@57170: (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)) ))) blanchet@57170: )) blanchet@57170: (let (($x2554 (b_S_closed$ ?v0 ?v1))) blanchet@57170: (let (($x8955 (not $x2554))) blanchet@57170: (let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2)))) blanchet@57170: (let (($x18744 (not $x8428))) blanchet@57170: (let (($x18937 (not (or $x18744 $x8955 (not $x18929))))) blanchet@57170: (let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2))) blanchet@57170: (let (($x8672 (not $x8461))) blanchet@57170: (or $x8672 $x18937))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ))) blanchet@57170: )) blanchet@57170: (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))))) blanchet@57170: (let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)))) blanchet@57170: (let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?v1))) $x8643))) blanchet@57170: (let (($x8656 (not $x8644))) blanchet@57170: (or $x8656 $x8646))))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)) ))) blanchet@57170: )) blanchet@57170: (let (($x2554 (b_S_closed$ ?v0 ?v1))) blanchet@57170: (let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2)))) blanchet@57170: (let (($x8681 (and $x8428 $x2554 $x8660))) blanchet@57170: (let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2))) blanchet@57170: (let (($x8672 (not $x8461))) blanchet@57170: (or $x8672 $x8681))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ))) blanchet@57170: )) blanchet@57170: (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))))) blanchet@57170: (let ((?x6628 (b_S_typ$ ?1))) blanchet@57170: (let (($x8640 (b_S_has_n_volatile_n_owns_n_set$ ?x6628))) blanchet@57170: (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)) ))) blanchet@57170: )) blanchet@57170: (let (($x2554 (b_S_closed$ ?2 ?1))) blanchet@57170: (let (($x8955 (not $x2554))) blanchet@57170: (let (($x8428 (b_S_set_n_in$ ?1 (b_S_domain$ ?2 ?0)))) blanchet@57170: (let (($x18744 (not $x8428))) blanchet@57170: (let (($x18937 (not (or $x18744 $x8955 (not $x18929))))) blanchet@57170: (let (($x8461 (b_S_in_n_domain$ ?2 ?1 ?0))) blanchet@57170: (let (($x8672 (not $x8461))) blanchet@57170: (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))))) blanchet@57170: (let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1)))) blanchet@57170: (let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?1))) $x8643))) blanchet@57170: (let (($x8656 (not $x8644))) blanchet@57170: (or $x8656 $x8646))))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1)) ))) blanchet@57170: )) blanchet@57170: (let (($x8681 (and $x8428 $x2554 $x8660))) blanchet@57170: (let (($x8684 (or $x8672 $x8681))) blanchet@57170: (let (($x8646 (b_S_set_n_in2$ ?0 (b_S_ver_n_domain$ (b_S_read_n_version$ ?3 ?1))))) blanchet@57170: (let ((?x6628 (b_S_typ$ ?2))) blanchet@57170: (let (($x8640 (b_S_has_n_volatile_n_owns_n_set$ ?x6628))) blanchet@57170: (let (($x18924 (or $x8640 (not (b_S_set_n_in$ ?0 (b_S_owns$ ?3 ?2))) $x8646))) blanchet@57170: (let (($x8643 (b_S_set_n_in$ ?0 (b_S_owns$ ?3 ?2)))) blanchet@57170: (let (($x8644 (and (not $x8640) $x8643))) blanchet@57170: (let (($x8656 (not $x8644))) blanchet@57170: (let (($x8657 (or $x8656 $x8646))) blanchet@57170: (let ((@x18918 (rewrite (= (not (not (or $x8640 (not $x8643)))) (or $x8640 (not $x8643)))))) blanchet@57170: (let ((@x18916 (monotonicity (rewrite (= $x8644 (not (or $x8640 (not $x8643))))) (= $x8656 (not (not (or $x8640 (not $x8643)))))))) blanchet@57170: (let ((@x18923 (monotonicity (trans @x18916 @x18918 (= $x8656 (or $x8640 (not $x8643)))) (= $x8657 (or (or $x8640 (not $x8643)) $x8646))))) blanchet@57170: (let ((@x18928 (trans @x18923 (rewrite (= (or (or $x8640 (not $x8643)) $x8646) $x18924)) (= $x8657 $x18924)))) blanchet@57170: (let ((@x18934 (monotonicity (quant-intro @x18928 (= $x8660 $x18929)) (= $x8681 (and $x8428 $x2554 $x18929))))) blanchet@57170: (let ((@x18941 (trans @x18934 (rewrite (= (and $x8428 $x2554 $x18929) $x18937)) (= $x8681 $x18937)))) blanchet@57170: (let ((@x18947 (quant-intro (monotonicity @x18941 (= $x8684 (or $x8672 $x18937))) (= $x8687 $x18945)))) blanchet@57170: (let ((@x15001 (monotonicity (refl (~ $x8428 $x8428)) (refl (~ $x2554 $x2554)) (nnf-pos (refl (~ $x8657 $x8657)) (~ $x8660 $x8660)) (~ $x8681 $x8681)))) blanchet@57170: (let ((@x15005 (nnf-pos (monotonicity (refl (~ $x8672 $x8672)) @x15001 (~ $x8684 $x8684)) (~ $x8687 $x8687)))) blanchet@57170: (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))))) blanchet@57170: (let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)))) blanchet@57170: (let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?v1))) $x8643))) blanchet@57170: (=> $x8644 $x8646)))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)) ))) blanchet@57170: )) blanchet@57170: (let (($x2554 (b_S_closed$ ?v0 ?v1))) blanchet@57170: (let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2)))) blanchet@57170: (let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2))) blanchet@57170: (=> $x8461 (and $x8428 (and $x2554 $x8649))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ))) blanchet@57170: )) blanchet@57170: (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))))) blanchet@57170: (let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)))) blanchet@57170: (let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?v1))) $x8643))) blanchet@57170: (let (($x8656 (not $x8644))) blanchet@57170: (or $x8656 $x8646))))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)) ))) blanchet@57170: )) blanchet@57170: (let (($x2554 (b_S_closed$ ?v0 ?v1))) blanchet@57170: (let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2)))) blanchet@57170: (let (($x8666 (and $x8428 (and $x2554 $x8660)))) blanchet@57170: (let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2))) blanchet@57170: (let (($x8672 (not $x8461))) blanchet@57170: (or $x8672 $x8666))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ))) blanchet@57170: )) blanchet@57170: (let ((@x8686 (monotonicity (rewrite (= (and $x8428 (and $x2554 $x8660)) $x8681)) (= (or $x8672 (and $x8428 (and $x2554 $x8660))) $x8684)))) blanchet@57170: (let (($x8666 (and $x8428 (and $x2554 $x8660)))) blanchet@57170: (let (($x8673 (or $x8672 $x8666))) blanchet@57170: (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))))) blanchet@57170: (let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1)))) blanchet@57170: (let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?1))) $x8643))) blanchet@57170: (=> $x8644 $x8646)))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1)) ))) blanchet@57170: )) blanchet@57170: (let (($x8652 (=> $x8461 (and $x8428 (and $x2554 $x8649))))) blanchet@57170: (let ((@x8665 (monotonicity (quant-intro (rewrite (= (=> $x8644 $x8646) $x8657)) (= $x8649 $x8660)) (= (and $x2554 $x8649) (and $x2554 $x8660))))) blanchet@57170: (let ((@x8671 (monotonicity (monotonicity @x8665 (= (and $x8428 (and $x2554 $x8649)) $x8666)) (= $x8652 (=> $x8461 $x8666))))) blanchet@57170: (let ((@x8680 (quant-intro (trans @x8671 (rewrite (= (=> $x8461 $x8666) $x8673)) (= $x8652 $x8673)) (= $x8654 $x8678)))) blanchet@57170: (let ((@x8692 (mp (asserted $x8654) (trans @x8680 (quant-intro @x8686 (= $x8678 $x8687)) (= $x8654 $x8687)) $x8687))) blanchet@57170: (let ((@x18948 (mp (mp~ @x8692 @x15005 $x8687) @x18947 $x18945))) blanchet@57170: (let (($x22607 (or (not $x18945) $x22333 $x22365))) blanchet@57170: (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))) blanchet@57170: (let ((@x22691 (unit-resolution (def-axiom (or $x22364 $x22344)) (unit-resolution (unit-resolution @x22329 @x18948 $x22366) @x22688 $x22365) $x22344))) blanchet@57170: (let ((@x12041 (and-elim @x12033 $x11260))) blanchet@57170: (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))) blanchet@57170: (let ((?x7097 (b_S_typemap$ ?v0))) blanchet@57170: (let (($x18655 (or (not (b_S_typed$ ?v0 ?x8245)) (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245))))) blanchet@57170: (let (($x18656 (not $x18655))) blanchet@57170: (let (($x5403 (>= (+ ?v4 (* (- 1) ?v3)) 0))) blanchet@57170: (let (($x3057 (>= ?v4 0))) blanchet@57170: (let (($x16520 (not $x3057))) blanchet@57170: (let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)))) blanchet@57170: (let (($x18630 (not $x8240))) blanchet@57170: (let (($x2704 (b_S_is_n_primitive$ ?v5))) blanchet@57170: (let (($x8855 (not $x2704))) blanchet@57170: (let (($x8236 (b_S_full_n_stop$ ?v0))) blanchet@57170: (let (($x18629 (not $x8236))) blanchet@57170: (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) ))) blanchet@57170: )) blanchet@57170: (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))) blanchet@57170: (let ((?x7097 (b_S_typemap$ ?v0))) blanchet@57170: (let (($x8291 (and (b_S_typed$ ?v0 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245)))))) blanchet@57170: (let (($x5403 (>= (+ ?v4 (* (- 1) ?v3)) 0))) blanchet@57170: (let (($x6757 (not $x5403))) blanchet@57170: (let (($x3057 (>= ?v4 0))) blanchet@57170: (let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)))) blanchet@57170: (let (($x2704 (b_S_is_n_primitive$ ?v5))) blanchet@57170: (let (($x8236 (b_S_full_n_stop$ ?v0))) blanchet@57170: (let (($x8270 (and $x8236 $x2704 $x8240 $x3057 $x6757))) blanchet@57170: (let (($x8275 (not $x8270))) blanchet@57170: (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) ))) blanchet@57170: )) blanchet@57170: (let ((?x8245 (b_S_idx$ (b_S_ptr$ ?0 ?4) ?1 ?0))) blanchet@57170: (let ((?x7097 (b_S_typemap$ ?5))) blanchet@57170: (let (($x18655 (or (not (b_S_typed$ ?5 ?x8245)) (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245))))) blanchet@57170: (let (($x18656 (not $x18655))) blanchet@57170: (let (($x5403 (>= (+ ?1 (* (- 1) ?2)) 0))) blanchet@57170: (let (($x3057 (>= ?1 0))) blanchet@57170: (let (($x16520 (not $x3057))) blanchet@57170: (let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?0 ?2) ?4) (b_S_domain$ ?5 ?3)))) blanchet@57170: (let (($x18630 (not $x8240))) blanchet@57170: (let (($x8855 (not $x2704))) blanchet@57170: (let (($x8236 (b_S_full_n_stop$ ?5))) blanchet@57170: (let (($x18629 (not $x8236))) blanchet@57170: (let (($x18662 (or $x18629 $x8855 $x18630 $x16520 $x5403 $x18656))) blanchet@57170: (let (($x8291 (and (b_S_typed$ ?5 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245)))))) blanchet@57170: (let (($x6757 (not $x5403))) blanchet@57170: (let (($x8270 (and $x8236 $x2704 $x8240 $x3057 $x6757))) blanchet@57170: (let (($x8275 (not $x8270))) blanchet@57170: (let (($x8304 (or $x8275 $x8291))) blanchet@57170: (let (($x18631 (or $x18629 $x8855 $x18630 $x16520 $x5403))) blanchet@57170: (let ((@x18637 (monotonicity (rewrite (= $x8270 (not $x18631))) (= $x8275 (not (not $x18631)))))) blanchet@57170: (let ((@x18661 (monotonicity (trans @x18637 (rewrite (= (not (not $x18631)) $x18631)) (= $x8275 $x18631)) (rewrite (= $x8291 $x18656)) (= $x8304 (or $x18631 $x18656))))) blanchet@57170: (let ((@x18669 (quant-intro (trans @x18661 (rewrite (= (or $x18631 $x18656) $x18662)) (= $x8304 $x18662)) (= $x8307 $x18667)))) blanchet@57170: (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))) blanchet@57170: (let ((?x7097 (b_S_typemap$ ?v0))) blanchet@57170: (let (($x8291 (and (b_S_typed$ ?v0 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245)))))) blanchet@57170: (let (($x3027 (<= 0 ?v4))) blanchet@57170: (let (($x6740 (and $x3027 (< ?v4 ?v3)))) blanchet@57170: (let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)))) blanchet@57170: (let (($x2704 (b_S_is_n_primitive$ ?v5))) blanchet@57170: (let (($x8236 (b_S_full_n_stop$ ?v0))) blanchet@57170: (let (($x8243 (and $x8236 (and $x2704 (and $x8240 $x6740))))) blanchet@57170: (=> $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) ))) blanchet@57170: )) blanchet@57170: (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))) blanchet@57170: (let ((?x7097 (b_S_typemap$ ?v0))) blanchet@57170: (let (($x8291 (and (b_S_typed$ ?v0 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245)))))) blanchet@57170: (let (($x3027 (<= 0 ?v4))) blanchet@57170: (let (($x6740 (and $x3027 (< ?v4 ?v3)))) blanchet@57170: (let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)))) blanchet@57170: (let (($x2704 (b_S_is_n_primitive$ ?v5))) blanchet@57170: (let (($x8236 (b_S_full_n_stop$ ?v0))) blanchet@57170: (let (($x8243 (and $x8236 (and $x2704 (and $x8240 $x6740))))) blanchet@57170: (let (($x8254 (not $x8243))) blanchet@57170: (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) ))) blanchet@57170: )) blanchet@57170: (let (($x8243 (and $x8236 (and $x2704 (and $x8240 (and (<= 0 ?1) (< ?1 ?2))))))) blanchet@57170: (let (($x8254 (not $x8243))) blanchet@57170: (let (($x8298 (or $x8254 $x8291))) blanchet@57170: (let ((@x8272 (rewrite (= (and $x8236 (and $x2704 (and $x8240 (and $x3057 $x6757)))) $x8270)))) blanchet@57170: (let (($x8265 (= (and $x2704 (and $x8240 (and (<= 0 ?1) (< ?1 ?2)))) (and $x2704 (and $x8240 (and $x3057 $x6757)))))) blanchet@57170: (let (($x8262 (= (and $x8240 (and (<= 0 ?1) (< ?1 ?2))) (and $x8240 (and $x3057 $x6757))))) blanchet@57170: (let ((@x3058 (rewrite (= (<= 0 ?1) $x3057)))) blanchet@57170: (let ((@x6762 (monotonicity @x3058 (rewrite (= (< ?1 ?2) $x6757)) (= (and (<= 0 ?1) (< ?1 ?2)) (and $x3057 $x6757))))) blanchet@57170: (let ((@x8269 (monotonicity (monotonicity (monotonicity @x6762 $x8262) $x8265) (= $x8243 (and $x8236 (and $x2704 (and $x8240 (and $x3057 $x6757)))))))) blanchet@57170: (let ((@x8306 (monotonicity (monotonicity (trans @x8269 @x8272 (= $x8243 $x8270)) (= $x8254 $x8275)) (= $x8298 $x8304)))) blanchet@57170: (let ((@x8311 (trans (quant-intro (rewrite (= (=> $x8243 $x8291) $x8298)) (= $x8296 $x8301)) (quant-intro @x8306 (= $x8301 $x8307)) (= $x8296 $x8307)))) blanchet@57170: (let ((@x14905 (mp~ (mp (asserted $x8296) @x8311 $x8307) (nnf-pos (refl (~ $x8304 $x8304)) (~ $x8307 $x8307)) $x8307))) blanchet@57170: (let ((@x18670 (mp @x14905 @x18669 $x18667))) blanchet@57170: (let (($x22597 (not $x22596))) blanchet@57170: (let (($x21489 (not $x9768))) blanchet@57170: (let (($x22629 (not $x18667))) blanchet@57170: (let (($x22733 (or $x22629 $x19677 $x21489 $x22597 $x11259 $x22604))) blanchet@57170: (let (($x22601 (>= (+ 0 (* (- 1) v_b_P_H_len$)) 0))) blanchet@57170: (let (($x22599 (not (>= 0 0)))) blanchet@57170: (let (($x22605 (or $x19677 $x21489 $x22597 $x22599 $x22601 $x22604))) blanchet@57170: (let (($x22734 (or $x22629 $x22605))) blanchet@57170: (let (($x22728 (or $x19677 $x21489 $x22597 $x11259 $x22604))) blanchet@57170: (let ((@x22717 (rewrite (= (+ 0 (* (- 1) v_b_P_H_len$)) (* (- 1) v_b_P_H_len$))))) blanchet@57170: (let ((@x22724 (trans (monotonicity @x22717 (= $x22601 (>= (* (- 1) v_b_P_H_len$) 0))) (rewrite (= (>= (* (- 1) v_b_P_H_len$) 0) $x11259)) (= $x22601 $x11259)))) blanchet@57170: (let ((@x22715 (trans (monotonicity (rewrite (= (>= 0 0) true)) (= $x22599 $x10203)) @x10561 (= $x22599 false)))) blanchet@57170: (let ((@x22727 (monotonicity @x22715 @x22724 (= $x22605 (or $x19677 $x21489 $x22597 false $x11259 $x22604))))) blanchet@57170: (let ((@x22732 (trans @x22727 (rewrite (= (or $x19677 $x21489 $x22597 false $x11259 $x22604) $x22728)) (= $x22605 $x22728)))) blanchet@57170: (let ((@x22742 (trans (monotonicity @x22732 (= $x22734 (or $x22629 $x22728))) (rewrite (= (or $x22629 $x22728) $x22733)) (= $x22734 $x22733)))) blanchet@57170: (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))) blanchet@57170: (let ((@x22761 (unit-resolution @x22743 @x18670 @x9769 @x12041 @x12050 (mp @x22691 @x22795 $x22596) (hypothesis $x22603) false))) blanchet@57170: (let ((@x22760 (lemma @x22761 $x22604))) blanchet@57170: (let ((@x23294 (mp (unit-resolution (def-axiom (or $x22603 $x22641)) @x22760 $x22641) (monotonicity @x23082 (= $x22641 $x22897)) $x22897))) blanchet@57170: (let (($x22894 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x22903))) blanchet@57170: (let ((?x22893 (b_S_owner$ v_b_S_s$ ?x22903))) blanchet@57170: (let (($x22888 (= ?x22893 b_S_me$))) blanchet@57170: (let (($x22895 (or $x22888 $x22894))) blanchet@57170: (let (($x22896 (not $x22895))) blanchet@57170: (let ((?x22890 (b_S_typ$ ?x22903))) blanchet@57170: (let ((?x22891 (b_S_kind_n_of$ ?x22890))) blanchet@57170: (let (($x22892 (= ?x22891 b_S_kind_n_primitive$))) blanchet@57170: (let (($x22889 (not $x22906))) blanchet@57170: (let (($x22817 (not $x22807))) blanchet@57170: (let (($x22900 (or $x22817 $x22889 $x22892 $x22896))) blanchet@57170: (let (($x22952 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x10078))) blanchet@57170: (let (($x22953 (= (b_S_owner$ v_b_S_s$ ?x10078) b_S_me$))) blanchet@57170: (let (($x22954 (or $x22953 $x22952))) blanchet@57170: (let (($x22941 (not $x22954))) blanchet@57170: (let (($x22942 (or $x22807 $x22941))) blanchet@57170: (let (($x22920 (not $x22942))) blanchet@57170: (let (($x22901 (not $x22900))) blanchet@57170: (let (($x22921 (or $x22901 $x22920))) blanchet@57170: (let (($x22923 (not $x22921))) blanchet@57170: (let (($x22799 (b_S_typed$ v_b_S_s$ ?x10078))) blanchet@57170: (let (($x22802 (not $x22799))) blanchet@57170: (let (($x22939 (or $x22802 $x22923))) blanchet@57170: (let (($x22943 (not $x22939))) blanchet@57170: (let (($x22801 (b_S_thread_n_local$ v_b_S_s$ ?x10078))) blanchet@57170: (let (($x22944 (= $x22801 $x22943))) blanchet@57170: (let (($x19072 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(!(let (($x9039 (b_S_in_n_wrapped_n_domain$ ?v0 ?v1))) blanchet@57170: (let ((?x2484 (b_S_owner$ ?v0 ?v1))) blanchet@57170: (let (($x2486 (= ?x2484 b_S_me$))) blanchet@57170: (let (($x2249 (= (b_S_kind_n_of$ (b_S_typ$ ?v1)) b_S_kind_n_primitive$))) blanchet@57170: (let ((?x2769 (b_S_typemap$ ?v0))) blanchet@57170: (let ((?x9020 (b_S_select_o_tm$ ?x2769 ?v1))) blanchet@57170: (let ((?x9024 (b_S_ts_n_emb$ ?x9020))) blanchet@57170: (let (($x9035 (or (= (b_S_owner$ ?v0 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?v0 ?x9024)))) blanchet@57170: (let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020))) blanchet@57170: (let (($x9023 (not $x9022))) blanchet@57170: (let (($x9027 (or $x9023 (not (b_S_closed$ ?v0 ?x9024))))) blanchet@57170: (let (($x2294 (not $x2249))) blanchet@57170: (let (($x19047 (or $x2294 (not $x9027) (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$) (not $x9035)))) blanchet@57170: (let (($x19056 (or (not $x19047) (not (or $x2249 (not (or $x2486 $x9039))))))) blanchet@57170: (let (($x2488 (b_S_typed$ ?v0 ?v1))) blanchet@57170: (let (($x9531 (not $x2488))) blanchet@57170: (let (($x19064 (not (or $x9531 (not $x19056))))) blanchet@57170: (let (($x9019 (b_S_thread_n_local$ ?v0 ?v1))) blanchet@57170: (= $x9019 $x19064))))))))))))))))))) :pattern ( (b_S_thread_n_local$ ?v0 ?v1) ))) blanchet@57170: )) blanchet@57170: (let (($x9066 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(!(let (($x9039 (b_S_in_n_wrapped_n_domain$ ?v0 ?v1))) blanchet@57170: (let ((?x2484 (b_S_owner$ ?v0 ?v1))) blanchet@57170: (let (($x2486 (= ?x2484 b_S_me$))) blanchet@57170: (let (($x2249 (= (b_S_kind_n_of$ (b_S_typ$ ?v1)) b_S_kind_n_primitive$))) blanchet@57170: (let (($x2294 (not $x2249))) blanchet@57170: (let (($x9041 (and $x2294 (or $x2486 $x9039)))) blanchet@57170: (let ((?x2769 (b_S_typemap$ ?v0))) blanchet@57170: (let ((?x9020 (b_S_select_o_tm$ ?x2769 ?v1))) blanchet@57170: (let ((?x9024 (b_S_ts_n_emb$ ?x9020))) blanchet@57170: (let (($x9035 (or (= (b_S_owner$ ?v0 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?v0 ?x9024)))) blanchet@57170: (let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020))) blanchet@57170: (let (($x9023 (not $x9022))) blanchet@57170: (let (($x9027 (or $x9023 (not (b_S_closed$ ?v0 ?x9024))))) blanchet@57170: (let (($x9054 (and $x2249 $x9027 (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035))) blanchet@57170: (let (($x9057 (or $x9054 $x9041))) blanchet@57170: (let (($x2488 (b_S_typed$ ?v0 ?v1))) blanchet@57170: (let (($x9060 (and $x2488 $x9057))) blanchet@57170: (let (($x9019 (b_S_thread_n_local$ ?v0 ?v1))) blanchet@57170: (= $x9019 $x9060))))))))))))))))))) :pattern ( (b_S_thread_n_local$ ?v0 ?v1) ))) blanchet@57170: )) blanchet@57170: (let ((?x2769 (b_S_typemap$ ?1))) blanchet@57170: (let ((?x9020 (b_S_select_o_tm$ ?x2769 ?0))) blanchet@57170: (let ((?x9024 (b_S_ts_n_emb$ ?x9020))) blanchet@57170: (let (($x9035 (or (= (b_S_owner$ ?1 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?1 ?x9024)))) blanchet@57170: (let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020))) blanchet@57170: (let (($x9023 (not $x9022))) blanchet@57170: (let (($x9027 (or $x9023 (not (b_S_closed$ ?1 ?x9024))))) blanchet@57170: (let (($x19047 (or $x2294 (not $x9027) (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$) (not $x9035)))) blanchet@57170: (let (($x19056 (or (not $x19047) (not (or $x2249 (not (or $x2486 (b_S_in_n_wrapped_n_domain$ ?1 ?0)))))))) blanchet@57170: (let (($x19064 (not (or $x9531 (not $x19056))))) blanchet@57170: (let (($x9019 (b_S_thread_n_local$ ?1 ?0))) blanchet@57170: (let (($x9041 (and $x2294 (or $x2486 (b_S_in_n_wrapped_n_domain$ ?1 ?0))))) blanchet@57170: (let (($x9054 (and $x2249 $x9027 (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035))) blanchet@57170: (let (($x9057 (or $x9054 $x9041))) blanchet@57170: (let (($x9060 (and $x2488 $x9057))) blanchet@57170: (let (($x9063 (= $x9019 $x9060))) blanchet@57170: (let (($x19054 (= $x9041 (not (or $x2249 (not (or $x2486 (b_S_in_n_wrapped_n_domain$ ?1 ?0)))))))) blanchet@57170: (let ((@x19058 (monotonicity (rewrite (= $x9054 (not $x19047))) (rewrite $x19054) (= $x9057 $x19056)))) blanchet@57170: (let ((@x19068 (trans (monotonicity @x19058 (= $x9060 (and $x2488 $x19056))) (rewrite (= (and $x2488 $x19056) $x19064)) (= $x9060 $x19064)))) blanchet@57170: (let ((@x19074 (quant-intro (monotonicity @x19068 (= $x9063 (= $x9019 $x19064))) (= $x9066 $x19072)))) blanchet@57170: (let (($x9046 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(!(let (($x9039 (b_S_in_n_wrapped_n_domain$ ?v0 ?v1))) blanchet@57170: (let ((?x2484 (b_S_owner$ ?v0 ?v1))) blanchet@57170: (let (($x2486 (= ?x2484 b_S_me$))) blanchet@57170: (let (($x2249 (= (b_S_kind_n_of$ (b_S_typ$ ?v1)) b_S_kind_n_primitive$))) blanchet@57170: (let (($x2294 (not $x2249))) blanchet@57170: (let (($x9041 (and $x2294 (or $x2486 $x9039)))) blanchet@57170: (let ((?x2769 (b_S_typemap$ ?v0))) blanchet@57170: (let ((?x9020 (b_S_select_o_tm$ ?x2769 ?v1))) blanchet@57170: (let ((?x9024 (b_S_ts_n_emb$ ?x9020))) blanchet@57170: (let (($x9035 (or (= (b_S_owner$ ?v0 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?v0 ?x9024)))) blanchet@57170: (let (($x9036 (and (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035))) blanchet@57170: (let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020))) blanchet@57170: (let (($x9023 (not $x9022))) blanchet@57170: (let (($x9027 (or $x9023 (not (b_S_closed$ ?v0 ?x9024))))) blanchet@57170: (let (($x2488 (b_S_typed$ ?v0 ?v1))) blanchet@57170: (let (($x9043 (and $x2488 (or (and $x2249 (and $x9027 $x9036)) $x9041)))) blanchet@57170: (let (($x9019 (b_S_thread_n_local$ ?v0 ?v1))) blanchet@57170: (= $x9019 $x9043)))))))))))))))))) :pattern ( (b_S_thread_n_local$ ?v0 ?v1) ))) blanchet@57170: )) blanchet@57170: (let (($x9051 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(!(let (($x9039 (b_S_in_n_wrapped_n_domain$ ?v0 ?v1))) blanchet@57170: (let ((?x2484 (b_S_owner$ ?v0 ?v1))) blanchet@57170: (let (($x2486 (= ?x2484 b_S_me$))) blanchet@57170: (let (($x2249 (= (b_S_kind_n_of$ (b_S_typ$ ?v1)) b_S_kind_n_primitive$))) blanchet@57170: (let (($x2294 (not $x2249))) blanchet@57170: (let (($x9041 (and $x2294 (or $x2486 $x9039)))) blanchet@57170: (let ((?x2769 (b_S_typemap$ ?v0))) blanchet@57170: (let ((?x9020 (b_S_select_o_tm$ ?x2769 ?v1))) blanchet@57170: (let ((?x9024 (b_S_ts_n_emb$ ?x9020))) blanchet@57170: (let (($x9035 (or (= (b_S_owner$ ?v0 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?v0 ?x9024)))) blanchet@57170: (let (($x9036 (and (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035))) blanchet@57170: (let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020))) blanchet@57170: (let (($x9023 (not $x9022))) blanchet@57170: (let (($x9027 (or $x9023 (not (b_S_closed$ ?v0 ?x9024))))) blanchet@57170: (let (($x2488 (b_S_typed$ ?v0 ?v1))) blanchet@57170: (let (($x9043 (and $x2488 (or (and $x2249 (and $x9027 $x9036)) $x9041)))) blanchet@57170: (let (($x9019 (b_S_thread_n_local$ ?v0 ?v1))) blanchet@57170: (= $x9019 $x9043)))))))))))))))))) :pattern ( (b_S_thread_n_local$ ?v0 ?v1) ))) blanchet@57170: )) blanchet@57170: (let (($x9036 (and (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035))) blanchet@57170: (let (($x9043 (and $x2488 (or (and $x2249 (and $x9027 $x9036)) $x9041)))) blanchet@57170: (let (($x9048 (= $x9019 $x9043))) blanchet@57170: (let ((@x9059 (monotonicity (rewrite (= (and $x2249 (and $x9027 $x9036)) $x9054)) (= (or (and $x2249 (and $x9027 $x9036)) $x9041) $x9057)))) blanchet@57170: (let ((@x9068 (quant-intro (monotonicity (monotonicity @x9059 (= $x9043 $x9060)) (= $x9048 $x9063)) (= $x9051 $x9066)))) blanchet@57170: (let ((@x9070 (trans (quant-intro (rewrite (= (= $x9019 $x9043) $x9048)) (= $x9046 $x9051)) @x9068 (= $x9046 $x9066)))) blanchet@57170: (let ((@x15111 (mp~ (mp (asserted $x9046) @x9070 $x9066) (nnf-pos (refl (~ $x9063 $x9063)) (~ $x9066 $x9066)) $x9066))) blanchet@57170: (let ((@x19075 (mp @x15111 @x19074 $x19072))) blanchet@57170: (let (($x23521 (or (not $x19072) $x22944))) blanchet@57170: (let ((@x23524 ((_ quant-inst v_b_S_s$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$)) $x23521))) blanchet@57170: (let (($x23055 (not $x22801))) blanchet@57232: (let ((@x23295 (monotonicity (symm (monotonicity @x23699 (= $x22801 $x10141)) (= $x10141 $x22801)) (= (not $x10141) $x23055)))) blanchet@57170: (let ((@x23090 (unit-resolution (def-axiom (or (not $x22944) $x22801 $x22939)) (mp (hypothesis (not $x10141)) @x23295 $x23055) (unit-resolution @x23524 @x19075 $x22944) $x22939))) blanchet@57232: (let ((@x23706 (mp (unit-resolution (def-axiom (or $x22603 $x10139)) @x22760 $x10139) (symm (monotonicity @x23699 (= $x22799 $x10139)) (= $x10139 $x22799)) $x22799))) blanchet@57232: (let ((@x23222 (unit-resolution (def-axiom (or $x22921 $x22900)) (unit-resolution (def-axiom (or $x22943 $x22802 $x22923)) @x23706 @x23090 $x22923) $x22900))) blanchet@57170: (let ((?x24419 (b_S_ref$ ?x21983))) blanchet@57170: (let ((?x24433 (b_S_ptr$ b_T_T_u1$ ?x24419))) blanchet@57170: (let ((?x24410 (b_S_idx$ ?x21983 0 b_T_T_u1$))) blanchet@57170: (let (($x24436 (= ?x24410 ?x24433))) blanchet@57170: (let (($x24439 (not $x24436))) blanchet@57170: (let (($x24411 (b_S_extent_n_hint$ ?x24410 ?x21983))) blanchet@57170: (let (($x24418 (not $x24411))) blanchet@57170: (let (($x24442 (or $x24418 $x24439))) blanchet@57170: (let (($x24445 (not $x24442))) blanchet@57170: (let (($x24448 (or $x22568 $x24445))) blanchet@57170: (let (($x24424 (or $x24418 (not (= ?x24410 (b_S_ptr$ b_T_T_u1$ (+ ?x24419 (* 0 ?x10045)))))))) blanchet@57170: (let (($x24425 (not $x24424))) blanchet@57170: (let (($x24440 (= (not (= ?x24410 (b_S_ptr$ b_T_T_u1$ (+ ?x24419 (* 0 ?x10045))))) $x24439))) blanchet@57170: (let ((@x24428 (monotonicity (rewrite (= (* 0 ?x10045) 0)) (= (+ ?x24419 (* 0 ?x10045)) (+ ?x24419 0))))) blanchet@57170: (let ((@x24432 (trans @x24428 (rewrite (= (+ ?x24419 0) ?x24419)) (= (+ ?x24419 (* 0 ?x10045)) ?x24419)))) blanchet@57170: (let ((@x24435 (monotonicity @x24432 (= (b_S_ptr$ b_T_T_u1$ (+ ?x24419 (* 0 ?x10045))) ?x24433)))) blanchet@57170: (let ((@x24438 (monotonicity @x24435 (= (= ?x24410 (b_S_ptr$ b_T_T_u1$ (+ ?x24419 (* 0 ?x10045)))) $x24436)))) blanchet@57170: (let ((@x24447 (monotonicity (monotonicity (monotonicity @x24438 $x24440) (= $x24424 $x24442)) (= $x24425 $x24445)))) blanchet@57170: (let ((@x24455 (trans (monotonicity @x24447 (= (or $x22568 $x24425) $x24448)) (rewrite (= $x24448 $x24448)) (= (or $x22568 $x24425) $x24448)))) blanchet@57170: (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))) blanchet@57170: (let ((@x24460 (def-axiom (or $x24442 $x24436)))) blanchet@57170: (let ((?x24245 (b_S_idx$ ?x22595 0 b_T_T_u1$))) blanchet@57170: (let ((?x24246 (b_S_select_o_tm$ ?x10272 ?x24245))) blanchet@57170: (let ((?x24247 (b_S_ts_n_emb$ ?x24246))) blanchet@57170: (let (($x24248 (= ?x24247 ?x22595))) blanchet@57170: (let (($x24257 (b_S_typed$ v_b_S_s$ ?x24245))) blanchet@57170: (let (($x24258 (not $x24257))) blanchet@57170: (let (($x24255 (b_S_ts_n_is_n_volatile$ ?x24246))) blanchet@57170: (let (($x24254 (not $x24248))) blanchet@57170: (let (($x23737 (or $x24254 $x24255 (not (b_S_ts_n_is_n_array_n_elt$ ?x24246)) $x24258))) blanchet@57170: (let (($x23791 (not $x23737))) blanchet@57170: (let (($x24240 (b_S_typed$ v_b_S_s$ ?x22595))) blanchet@57170: (let ((@x24353 (mp @x12045 (symm (monotonicity @x24530 (= $x24240 $x10085)) (= $x10085 $x24240)) $x24240))) blanchet@57170: (let ((@x24355 (lemma (unit-resolution (hypothesis (not $x24240)) @x24353 false) $x24240))) blanchet@57170: (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)))) blanchet@57170: (let ((?x6897 (b_S_typemap$ ?v0))) blanchet@57170: (let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2)))) blanchet@57170: (let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899))) blanchet@57170: (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)))) blanchet@57170: (let (($x17953 (not $x17952))) blanchet@57170: (let (($x4862 (>= (+ ?v4 (* (- 1) ?v3)) 0))) blanchet@57170: (let (($x2815 (>= ?v4 0))) blanchet@57170: (let (($x3763 (not $x2815))) blanchet@57170: (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) ))) blanchet@57170: )) blanchet@57170: (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)))) blanchet@57170: (let ((?x6897 (b_S_typemap$ ?v0))) blanchet@57170: (let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2)))) blanchet@57170: (let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899))) blanchet@57170: (let ((?x6894 (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1))) blanchet@57170: (let (($x6901 (= (b_S_ts_n_emb$ ?x6899) ?x6894))) blanchet@57170: (let (($x6937 (and $x6901 (not (b_S_ts_n_is_n_volatile$ ?x6899)) $x6904 $x6905))) blanchet@57170: (let (($x4862 (>= (+ ?v4 (* (- 1) ?v3)) 0))) blanchet@57170: (let (($x6603 (not $x4862))) blanchet@57170: (let (($x2815 (>= ?v4 0))) blanchet@57170: (let (($x6895 (b_S_typed$ ?v0 ?x6894))) blanchet@57170: (let (($x6929 (and $x6895 $x2815 $x6603))) blanchet@57170: (let (($x6934 (not $x6929))) blanchet@57170: (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) ))) blanchet@57170: )) blanchet@57170: (let (($x6905 (b_S_typed$ ?4 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?2 ?1) ?3) ?0 ?2)))) blanchet@57170: (let ((?x6897 (b_S_typemap$ ?4))) blanchet@57170: (let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?2 ?1) ?3) ?0 ?2)))) blanchet@57170: (let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899))) blanchet@57170: (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)))) blanchet@57170: (let (($x17953 (not $x17952))) blanchet@57170: (let (($x4862 (>= (+ ?0 (* (- 1) ?1)) 0))) blanchet@57170: (let (($x3763 (not $x2815))) blanchet@57170: (let (($x17959 (or (not (b_S_typed$ ?4 (b_S_ptr$ (b_S_array$ ?2 ?1) ?3))) $x3763 $x4862 $x17953))) blanchet@57170: (let ((?x6894 (b_S_ptr$ (b_S_array$ ?2 ?1) ?3))) blanchet@57170: (let (($x6901 (= (b_S_ts_n_emb$ ?x6899) ?x6894))) blanchet@57170: (let (($x6937 (and $x6901 (not (b_S_ts_n_is_n_volatile$ ?x6899)) $x6904 $x6905))) blanchet@57170: (let (($x6603 (not $x4862))) blanchet@57170: (let (($x6895 (b_S_typed$ ?4 ?x6894))) blanchet@57170: (let (($x6929 (and $x6895 $x2815 $x6603))) blanchet@57170: (let (($x6934 (not $x6929))) blanchet@57170: (let (($x6940 (or $x6934 $x6937))) blanchet@57170: (let (($x17938 (or (not $x6895) $x3763 $x4862))) blanchet@57170: (let ((@x17944 (monotonicity (rewrite (= $x6929 (not $x17938))) (= $x6934 (not (not $x17938)))))) blanchet@57170: (let ((@x17958 (monotonicity (trans @x17944 (rewrite (= (not (not $x17938)) $x17938)) (= $x6934 $x17938)) (rewrite (= $x6937 $x17953)) (= $x6940 (or $x17938 $x17953))))) blanchet@57170: (let ((@x17966 (quant-intro (trans @x17958 (rewrite (= (or $x17938 $x17953) $x17959)) (= $x6940 $x17959)) (= $x6943 $x17964)))) blanchet@57170: (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)))) blanchet@57170: (let ((?x6897 (b_S_typemap$ ?v0))) blanchet@57170: (let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2)))) blanchet@57170: (let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899))) blanchet@57170: (let ((?x6894 (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1))) blanchet@57170: (let (($x6901 (= (b_S_ts_n_emb$ ?x6899) ?x6894))) blanchet@57170: (let (($x6908 (and $x6901 (and (not (b_S_ts_n_is_n_volatile$ ?x6899)) (and $x6904 $x6905))))) blanchet@57170: (let (($x2766 (<= 0 ?v4))) blanchet@57170: (let (($x6566 (and $x2766 (< ?v4 ?v3)))) blanchet@57170: (let (($x6895 (b_S_typed$ ?v0 ?x6894))) blanchet@57170: (let (($x6896 (and $x6895 $x6566))) blanchet@57170: (=> $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) ))) blanchet@57170: )) blanchet@57170: (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)))) blanchet@57170: (let ((?x6897 (b_S_typemap$ ?v0))) blanchet@57170: (let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2)))) blanchet@57170: (let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899))) blanchet@57170: (let ((?x6894 (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1))) blanchet@57170: (let (($x6901 (= (b_S_ts_n_emb$ ?x6899) ?x6894))) blanchet@57170: (let (($x6908 (and $x6901 (and (not (b_S_ts_n_is_n_volatile$ ?x6899)) (and $x6904 $x6905))))) blanchet@57170: (let (($x2766 (<= 0 ?v4))) blanchet@57170: (let (($x6566 (and $x2766 (< ?v4 ?v3)))) blanchet@57170: (let (($x6895 (b_S_typed$ ?v0 ?x6894))) blanchet@57170: (let (($x6896 (and $x6895 $x6566))) blanchet@57170: (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) ))) blanchet@57170: )) blanchet@57170: (let (($x6908 (and $x6901 (and (not (b_S_ts_n_is_n_volatile$ ?x6899)) (and $x6904 $x6905))))) blanchet@57170: (let (($x6920 (or (not (and $x6895 (and $x2766 (< ?0 ?1)))) $x6908))) blanchet@57170: (let (($x6566 (and $x2766 (< ?0 ?1)))) blanchet@57170: (let (($x6896 (and $x6895 $x6566))) blanchet@57170: (let ((@x6608 (monotonicity @x2814 (rewrite (= (< ?0 ?1) $x6603)) (= $x6566 (and $x2815 $x6603))))) blanchet@57170: (let ((@x6933 (trans (monotonicity @x6608 (= $x6896 (and $x6895 (and $x2815 $x6603)))) (rewrite (= (and $x6895 (and $x2815 $x6603)) $x6929)) (= $x6896 $x6929)))) blanchet@57170: (let ((@x6942 (monotonicity (monotonicity @x6933 (= (not $x6896) $x6934)) (rewrite (= $x6908 $x6937)) (= $x6920 $x6940)))) blanchet@57170: (let ((@x6947 (trans (quant-intro (rewrite (= (=> $x6896 $x6908) $x6920)) (= $x6917 $x6923)) (quant-intro @x6942 (= $x6923 $x6943)) (= $x6917 $x6943)))) blanchet@57170: (let ((@x14355 (mp~ (mp (asserted $x6917) @x6947 $x6943) (nnf-pos (refl (~ $x6940 $x6940)) (~ $x6943 $x6943)) $x6943))) blanchet@57170: (let ((@x17967 (mp @x14355 @x17966 $x17964))) blanchet@57170: (let (($x24241 (not $x24240))) blanchet@57232: (let (($x23252 (not $x17964))) blanchet@57232: (let (($x23749 (or $x23252 $x24241 $x11259 $x23791))) blanchet@57170: (let (($x23792 (or $x24241 $x22599 $x22601 $x23791))) blanchet@57232: (let (($x23750 (or $x23252 $x23792))) blanchet@57232: (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))))) blanchet@57232: (let ((@x23352 (trans (monotonicity @x23251 (= $x23750 (or $x23252 (or $x24241 $x11259 $x23791)))) (rewrite (= (or $x23252 (or $x24241 $x11259 $x23791)) $x23749)) (= $x23750 $x23749)))) blanchet@57232: (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))) blanchet@57170: (let (($x21186 (= ?x21014 ?x10079))) blanchet@57170: (let (($x21191 (or $x21152 $x21186))) blanchet@57170: (let ((@x21192 ((_ quant-inst (b_S_array$ b_T_T_u1$ v_b_P_H_len$) (b_S_ref$ ?x10078)) $x21191))) blanchet@57170: (let ((@x24524 (trans (monotonicity @x24520 (= ?x24419 ?x21014)) (unit-resolution @x21192 @x19840 $x21186) (= ?x24419 ?x10079)))) blanchet@57170: (let ((@x24532 (trans @x24530 (unit-resolution @x22000 @x15336 @x12044 $x21990) (= ?x22595 ?x21983)))) blanchet@57170: (let ((@x23632 (trans (monotonicity @x24532 (= ?x24245 ?x24410)) (hypothesis $x24436) (= ?x24245 ?x24433)))) blanchet@57170: (let ((@x23628 (trans @x23632 (monotonicity (trans @x24524 @x24511 (= ?x24419 v_b_P_H_arr$)) (= ?x24433 ?x10078)) (= ?x24245 ?x10078)))) blanchet@57232: (let ((@x23622 (trans (trans @x23628 (symm @x22852 (= ?x10078 ?x22553)) (= ?x24245 ?x22553)) (symm @x24189 (= ?x22553 ?x10137)) (= ?x24245 ?x10137)))) blanchet@57232: (let ((@x23636 (symm (monotonicity (trans @x23622 @x23667 (= ?x24245 ?x22505)) (= ?x24246 ?x22655)) (= ?x22655 ?x24246)))) blanchet@57232: (let ((@x23746 (monotonicity (monotonicity (trans @x23699 @x23667 (= ?x10078 ?x22505)) (= ?x22818 ?x22655)) (= ?x22903 (b_S_ts_n_emb$ ?x22655))))) blanchet@57232: (let ((@x23678 (trans @x23746 (monotonicity @x23636 (= (b_S_ts_n_emb$ ?x22655) ?x24247)) (= ?x22903 ?x24247)))) blanchet@57232: (let ((@x23867 (trans @x23678 (unit-resolution (def-axiom (or $x23737 $x24248)) (lemma @x23658 $x23791) $x24248) (= ?x22903 ?x22595)))) blanchet@57232: (let ((@x23912 (trans (monotonicity (trans @x23867 @x24530 (= ?x22903 ?x10080)) (= ?x22893 ?x10082)) @x12043 $x22888))) blanchet@57170: (let ((@x24132 (lemma (unit-resolution (hypothesis (not $x22888)) @x23912 false) (or $x24439 $x22888)))) blanchet@57170: (let ((@x23115 (unit-resolution @x24132 (unit-resolution @x24460 (lemma @x24133 $x24445) $x24436) $x22888))) blanchet@57170: (let ((?x22658 (b_S_ts_n_emb$ ?x22655))) blanchet@57170: (let ((?x22663 (b_S_typ$ ?x22658))) blanchet@57170: (let ((?x22664 (b_S_kind_n_of$ ?x22663))) blanchet@57170: (let (($x22665 (= ?x22664 b_S_kind_n_primitive$))) blanchet@57232: (let ((@x23071 (monotonicity (monotonicity (symm @x23746 (= ?x22658 ?x22903)) (= ?x22663 ?x22890)) (= ?x22664 ?x22891)))) blanchet@57170: (let (($x22946 (b_S_is_n_non_n_primitive$ ?x22663))) blanchet@57170: (let (($x23237 (not $x22946))) blanchet@57170: (let (($x23503 (or $x22665 $x23237))) blanchet@57170: (let (($x23504 (not $x23503))) blanchet@57170: (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$))) blanchet@57170: (let (($x19230 (or $x9543 (not (b_S_is_n_non_n_primitive$ (b_S_typ$ (b_S_ts_n_emb$ ?v0))))))) blanchet@57170: (not $x19230))) :pattern ( (b_S_ts_n_emb$ ?v0) ))) blanchet@57170: )) blanchet@57170: (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$))) blanchet@57170: (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) ))) blanchet@57170: )) blanchet@57170: (let (($x9543 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_ts_n_emb$ ?0))) b_S_kind_n_primitive$))) blanchet@57170: (let (($x19230 (or $x9543 (not (b_S_is_n_non_n_primitive$ (b_S_typ$ (b_S_ts_n_emb$ ?0))))))) blanchet@57170: (let (($x9546 (and (not $x9543) (b_S_is_n_non_n_primitive$ (b_S_typ$ (b_S_ts_n_emb$ ?0)))))) blanchet@57170: (let ((@x15316 (mp~ (asserted $x9548) (nnf-pos (refl (~ $x9546 $x9546)) (~ $x9548 $x9548)) $x9548))) blanchet@57170: (let ((@x19237 (mp @x15316 (quant-intro (rewrite (= $x9546 (not $x19230))) (= $x9548 $x19234)) $x19234))) blanchet@57170: (let (($x23057 (or (not $x19234) $x23504))) blanchet@57170: (let ((@x23058 ((_ quant-inst (b_S_select_o_tm$ ?x10272 ?x22505)) $x23057))) blanchet@57170: (let ((@x23584 (unit-resolution (def-axiom (or $x23503 (not $x22665))) (unit-resolution @x23058 @x19237 $x23504) (not $x22665)))) blanchet@57170: (let ((@x23060 (lemma (unit-resolution @x23584 (trans @x23071 (hypothesis $x22892) $x22665) false) (not $x22892)))) blanchet@57232: (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)))) blanchet@57232: (let ((@x23406 (unit-resolution @x23221 @x23222 (unit-resolution (def-axiom (or $x22906 $x22902)) @x23294 $x22906) @x23076 false))) blanchet@57170: (let ((@x23403 (lemma @x23406 $x10141))) blanchet@57170: (let (($x20092 (or $x19318 $x20089))) blanchet@57170: (let (($x20095 (not $x20092))) blanchet@57170: (let (($x20098 (or $x11385 $x20095))) blanchet@57170: (let (($x20101 (not $x20098))) blanchet@57170: (let (($x20104 (or $x11385 $x20101))) blanchet@57170: (let (($x20107 (not $x20104))) blanchet@57170: (let (($x19727 (not $x10148))) blanchet@57170: (let (($x19726 (not $x10147))) blanchet@57170: (let (($x19725 (not $x10146))) blanchet@57170: (let (($x19724 (not $x10145))) blanchet@57170: (let (($x15511 (not $x10141))) blanchet@57170: (let (($x15502 (not $x10138))) blanchet@57170: (let (($x20110 (or $x15502 $x15511 $x19724 $x19725 $x19726 $x19727 $x20107))) blanchet@57170: (let (($x20113 (not $x20110))) blanchet@57170: (let (($x20116 (or $x15502 $x15511 $x20113))) blanchet@57170: (let (($x20119 (not $x20116))) blanchet@57170: (let (($x20122 (or $x15502 $x15505 $x20119))) blanchet@57170: (let (($x20125 (not $x20122))) blanchet@57170: (let (($x20128 (or $x15502 $x15505 $x20125))) blanchet@57170: (let (($x20131 (not $x20128))) blanchet@57170: (let (($x20134 (or $x11221 $x20131))) blanchet@57170: (let (($x20137 (not $x20134))) blanchet@57170: (let (($x20140 (or $x11221 $x20137))) blanchet@57170: (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$)))) blanchet@57170: (let (($x10238 (= ?x10163 v_b_S_result_G_0$))) blanchet@57170: (let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0))) blanchet@57170: (let (($x12168 (<= ?v0 4294967295))) blanchet@57170: (let (($x16553 (not $x12168))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (let (($x3763 (not $x2815))) blanchet@57170: (or $x3763 $x16553 $x11800 (not $x10238)))))))))) blanchet@57170: )) blanchet@57170: (let (($x19602 (forall ((?v0 Int) )(let ((?x11816 (* (- 1) v_b_S_result_G_0$))) blanchet@57170: (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$)))) blanchet@57170: (let (($x11818 (<= (+ ?x10163 ?x11816) 0))) blanchet@57170: (let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0))) blanchet@57170: (let (($x12168 (<= ?v0 4294967295))) blanchet@57170: (let (($x16553 (not $x12168))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (let (($x3763 (not $x2815))) blanchet@57170: (or $x3763 $x16553 $x11800 $x11818)))))))))) blanchet@57170: )) blanchet@57170: (let (($x19626 (not (or (not $x19602) (not $x19617))))) blanchet@57170: (let (($x19631 (or $x19580 $x19626))) blanchet@57170: (let (($x19643 (not (or $x15729 $x19474 $x19501 $x19637 $x19638 $x19639 $x19640 (not $x19631))))) blanchet@57170: (let (($x19648 (or $x15729 $x19643))) blanchet@57170: (let (($x19656 (not (or $x11487 $x19474 $x19501 (not $x19648))))) blanchet@57170: (let (($x19408 (forall ((?v0 Int) )(let ((?x11631 (* (- 1) v_b_L_H_max_G_3$))) blanchet@57170: (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$)))) blanchet@57170: (let (($x11633 (<= (+ ?x10163 ?x11631) 0))) blanchet@57170: (let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0))) blanchet@57170: (let (($x12168 (<= ?v0 4294967295))) blanchet@57170: (let (($x16553 (not $x12168))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (let (($x3763 (not $x2815))) blanchet@57170: (or $x3763 $x16553 $x11615 $x11633)))))))))) blanchet@57170: )) blanchet@57170: (let (($x19428 (not (or (not $x19408) $x19413)))) blanchet@57170: (let (($x19433 (or $x19386 $x19428))) blanchet@57170: (let (($x19441 (not (or $x11612 (not $x19433))))) blanchet@57170: (let (($x19446 (or $x11612 $x19441))) blanchet@57170: (let (($x19458 (not (or $x15611 $x15614 $x19452 $x19453 $x19454 $x19455 (not $x19446))))) blanchet@57170: (let (($x19463 (or $x15611 $x15614 $x19458))) blanchet@57170: (let (($x19475 (not $x19463))) blanchet@57170: (let (($x19515 (not (or $x11515 $x19501 $x19512 $x19513 $x19474 $x19455 $x19475)))) blanchet@57170: (let (($x19477 (not (or $x15590 $x15599 $x19469 $x19470 $x19471 $x19472 $x19473 $x19474 $x19455 $x19475)))) blanchet@57170: (let (($x19482 (or $x15590 $x15599 $x19477))) blanchet@57170: (let (($x19490 (not (or $x15590 $x15593 (not $x19482))))) blanchet@57170: (let (($x19495 (or $x15590 $x15593 $x19490))) blanchet@57170: (let (($x19504 (not (or $x11516 $x19474 $x19501 (not $x19495))))) blanchet@57170: (let (($x19520 (or $x19504 $x19515))) blanchet@57170: (let (($x19528 (not (or $x15590 $x15599 $x19474 $x19501 (not $x19520))))) blanchet@57170: (let (($x19533 (or $x15590 $x15599 $x19528))) blanchet@57170: (let (($x19541 (not (or $x15590 $x15593 (not $x19533))))) blanchet@57170: (let (($x19546 (or $x15590 $x15593 $x19541))) blanchet@57170: (let (($x19554 (not (or $x11486 $x19474 $x19501 (not $x19546))))) blanchet@57170: (let (($x19661 (or $x19554 $x19656))) blanchet@57170: (let (($x19362 (forall ((?v0 Int) )(let ((?x11887 (* (- 1) v_b_L_H_max_G_1$))) blanchet@57170: (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$)))) blanchet@57170: (let (($x11889 (<= (+ ?x10163 ?x11887) 0))) blanchet@57170: (let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0))) blanchet@57170: (let (($x12168 (<= ?v0 4294967295))) blanchet@57170: (let (($x16553 (not $x12168))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (let (($x3763 (not $x2815))) blanchet@57170: (or $x3763 $x16553 $x11871 $x11889)))))))))) blanchet@57170: )) blanchet@57170: (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)))) blanchet@57170: (let (($x19686 (not $x19685))) blanchet@57170: (let (($x19691 (or $x11259 $x15548 $x19686))) blanchet@57170: (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$)))) blanchet@57170: (let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0))) blanchet@57170: (let (($x11388 (>= ?v0 1))) blanchet@57170: (let (($x12168 (<= ?v0 4294967295))) blanchet@57170: (let (($x16553 (not $x12168))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (let (($x3763 (not $x2815))) blanchet@57170: (or $x3763 $x16553 $x11388 $x11404))))))))) blanchet@57170: )) blanchet@57170: (let (($x19700 (not (or (not $x19340) (not $x19691))))) blanchet@57170: (let (($x19705 (or $x19318 $x19700))) blanchet@57170: (let (($x19713 (not (or $x11385 (not $x19705))))) blanchet@57170: (let (($x19718 (or $x11385 $x19713))) blanchet@57170: (let (($x19730 (not (or $x15502 $x15511 $x19724 $x19725 $x19726 $x19727 (not $x19718))))) blanchet@57170: (let (($x19735 (or $x15502 $x15511 $x19730))) blanchet@57170: (let (($x19743 (not (or $x15502 $x15505 (not $x19735))))) blanchet@57170: (let (($x19748 (or $x15502 $x15505 $x19743))) blanchet@57170: (let (($x19756 (not (or $x11221 (not $x19748))))) blanchet@57170: (let (($x19761 (or $x11221 $x19756))) blanchet@57170: (let (($x12168 (<= ?0 4294967295))) blanchet@57170: (let (($x16553 (not $x12168))) blanchet@57170: (let (($x19606 (or $x3763 $x16553 $x11800 (not $x10238)))) blanchet@57170: (let ((@x20037 (monotonicity (quant-intro (refl (= $x19606 $x19606)) (= $x19617 $x20030)) (= (not $x19617) $x20035)))) blanchet@57170: (let ((@x20026 (quant-intro (refl (= (or $x3763 $x16553 $x11800 $x11818) (or $x3763 $x16553 $x11800 $x11818))) (= $x19602 $x20022)))) blanchet@57170: (let ((@x20040 (monotonicity (monotonicity @x20026 (= (not $x19602) $x20027)) @x20037 (= (or (not $x19602) (not $x19617)) $x20038)))) blanchet@57170: (let ((@x20049 (monotonicity (monotonicity (monotonicity @x20040 (= $x19626 $x20041)) (= $x19631 $x20044)) (= (not $x19631) $x20047)))) blanchet@57170: (let ((@x20052 (monotonicity @x20049 (= (or $x15729 $x19474 $x19501 $x19637 $x19638 $x19639 $x19640 (not $x19631)) $x20050)))) blanchet@57170: (let ((@x20061 (monotonicity (monotonicity (monotonicity @x20052 (= $x19643 $x20053)) (= $x19648 $x20056)) (= (not $x19648) $x20059)))) blanchet@57170: (let ((@x20067 (monotonicity (monotonicity @x20061 (= (or $x11487 $x19474 $x19501 (not $x19648)) $x20062)) (= $x19656 $x20065)))) blanchet@57170: (let ((@x19910 (quant-intro (refl (= (or $x3763 $x16553 $x11615 $x11633) (or $x3763 $x16553 $x11615 $x11633))) (= $x19408 $x19906)))) blanchet@57170: (let ((@x19916 (monotonicity (monotonicity @x19910 (= (not $x19408) $x19911)) (= (or (not $x19408) $x19413) $x19914)))) blanchet@57170: (let ((@x19925 (monotonicity (monotonicity (monotonicity @x19916 (= $x19428 $x19917)) (= $x19433 $x19920)) (= (not $x19433) $x19923)))) blanchet@57170: (let ((@x19931 (monotonicity (monotonicity @x19925 (= (or $x11612 (not $x19433)) $x19926)) (= $x19441 $x19929)))) blanchet@57170: (let ((@x19937 (monotonicity (monotonicity @x19931 (= $x19446 $x19932)) (= (not $x19446) $x19935)))) blanchet@57170: (let ((@x19940 (monotonicity @x19937 (= (or $x15611 $x15614 $x19452 $x19453 $x19454 $x19455 (not $x19446)) $x19938)))) blanchet@57170: (let ((@x19949 (monotonicity (monotonicity (monotonicity @x19940 (= $x19458 $x19941)) (= $x19463 $x19944)) (= $x19475 $x19947)))) blanchet@57170: (let ((@x19982 (monotonicity @x19949 (= (or $x11515 $x19501 $x19512 $x19513 $x19474 $x19455 $x19475) $x19980)))) blanchet@57170: (let ((@x19952 (monotonicity @x19949 (= (or $x15590 $x15599 $x19469 $x19470 $x19471 $x19472 $x19473 $x19474 $x19455 $x19475) $x19950)))) blanchet@57170: (let ((@x19961 (monotonicity (monotonicity (monotonicity @x19952 (= $x19477 $x19953)) (= $x19482 $x19956)) (= (not $x19482) $x19959)))) blanchet@57170: (let ((@x19967 (monotonicity (monotonicity @x19961 (= (or $x15590 $x15593 (not $x19482)) $x19962)) (= $x19490 $x19965)))) blanchet@57170: (let ((@x19973 (monotonicity (monotonicity @x19967 (= $x19495 $x19968)) (= (not $x19495) $x19971)))) blanchet@57170: (let ((@x19979 (monotonicity (monotonicity @x19973 (= (or $x11516 $x19474 $x19501 (not $x19495)) $x19974)) (= $x19504 $x19977)))) blanchet@57170: (let ((@x19988 (monotonicity @x19979 (monotonicity @x19982 (= $x19515 $x19983)) (= $x19520 $x19986)))) blanchet@57170: (let ((@x19994 (monotonicity (monotonicity @x19988 (= (not $x19520) $x19989)) (= (or $x15590 $x15599 $x19474 $x19501 (not $x19520)) $x19992)))) blanchet@57170: (let ((@x20003 (monotonicity (monotonicity (monotonicity @x19994 (= $x19528 $x19995)) (= $x19533 $x19998)) (= (not $x19533) $x20001)))) blanchet@57170: (let ((@x20009 (monotonicity (monotonicity @x20003 (= (or $x15590 $x15593 (not $x19533)) $x20004)) (= $x19541 $x20007)))) blanchet@57170: (let ((@x20015 (monotonicity (monotonicity @x20009 (= $x19546 $x20010)) (= (not $x19546) $x20013)))) blanchet@57170: (let ((@x20021 (monotonicity (monotonicity @x20015 (= (or $x11486 $x19474 $x19501 (not $x19546)) $x20016)) (= $x19554 $x20019)))) blanchet@57170: (let ((@x20073 (monotonicity (monotonicity @x20021 @x20067 (= $x19661 $x20068)) (= (not $x19661) $x20071)))) blanchet@57170: (let ((@x19902 (quant-intro (refl (= (or $x3763 $x16553 $x11871 $x11889) (or $x3763 $x16553 $x11871 $x11889))) (= $x19362 $x19898)))) blanchet@57170: (let ((@x20076 (monotonicity (monotonicity @x19902 (= (not $x19362) $x19903)) @x20073 (= $x19685 $x20074)))) blanchet@57170: (let ((@x20085 (monotonicity (monotonicity (monotonicity @x20076 (= $x19686 $x20077)) (= $x19691 $x20080)) (= (not $x19691) $x20083)))) blanchet@57170: (let ((@x19894 (quant-intro (refl (= (or $x3763 $x16553 $x11388 $x11404) (or $x3763 $x16553 $x11388 $x11404))) (= $x19340 $x19890)))) blanchet@57170: (let ((@x20088 (monotonicity (monotonicity @x19894 (= (not $x19340) $x19895)) @x20085 (= (or (not $x19340) (not $x19691)) $x20086)))) blanchet@57170: (let ((@x20097 (monotonicity (monotonicity (monotonicity @x20088 (= $x19700 $x20089)) (= $x19705 $x20092)) (= (not $x19705) $x20095)))) blanchet@57170: (let ((@x20103 (monotonicity (monotonicity @x20097 (= (or $x11385 (not $x19705)) $x20098)) (= $x19713 $x20101)))) blanchet@57170: (let ((@x20109 (monotonicity (monotonicity @x20103 (= $x19718 $x20104)) (= (not $x19718) $x20107)))) blanchet@57170: (let ((@x20112 (monotonicity @x20109 (= (or $x15502 $x15511 $x19724 $x19725 $x19726 $x19727 (not $x19718)) $x20110)))) blanchet@57170: (let ((@x20121 (monotonicity (monotonicity (monotonicity @x20112 (= $x19730 $x20113)) (= $x19735 $x20116)) (= (not $x19735) $x20119)))) blanchet@57170: (let ((@x20127 (monotonicity (monotonicity @x20121 (= (or $x15502 $x15505 (not $x19735)) $x20122)) (= $x19743 $x20125)))) blanchet@57170: (let ((@x20133 (monotonicity (monotonicity @x20127 (= $x19748 $x20128)) (= (not $x19748) $x20131)))) blanchet@57170: (let ((@x20139 (monotonicity (monotonicity @x20133 (= (or $x11221 (not $x19748)) $x20134)) (= $x19756 $x20137)))) blanchet@57170: (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$)))) blanchet@57170: (let (($x10238 (= ?x10163 v_b_S_result_G_0$))) blanchet@57170: (let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0))) blanchet@57170: (let (($x11802 (not $x11800))) blanchet@57170: (let (($x12168 (<= ?v0 4294967295))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (let (($x13448 (and $x2815 $x12168 $x11802 $x10238))) blanchet@57170: (not $x13448))))))))) blanchet@57170: )) blanchet@57170: (let (($x13442 (forall ((?v0 Int) )(let ((?x11816 (* (- 1) v_b_S_result_G_0$))) blanchet@57170: (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$)))) blanchet@57170: (let (($x11818 (<= (+ ?x10163 ?x11816) 0))) blanchet@57170: (let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0))) blanchet@57170: (let (($x11802 (not $x11800))) blanchet@57170: (let (($x12168 (<= ?v0 4294967295))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (let (($x13433 (and $x2815 $x12168 $x11802))) blanchet@57170: (let (($x13436 (not $x13433))) blanchet@57170: (or $x13436 $x11818))))))))))) blanchet@57170: )) blanchet@57170: (let (($x15765 (and $x13442 $x15761))) blanchet@57170: (let (($x16014 (not $x16009))) blanchet@57170: (let (($x16017 (and $x15736 $x15737 $x16014))) blanchet@57170: (let (($x16020 (not $x16017))) blanchet@57170: (let (($x16036 (or $x16020 $x16031))) blanchet@57170: (let (($x16039 (not $x16036))) blanchet@57170: (let (($x16042 (or $x16039 $x15765))) blanchet@57170: (let (($x16048 (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222 $x16042))) blanchet@57170: (let (($x16053 (or $x15729 $x16048))) blanchet@57170: (let (($x16059 (and $x11486 $x11429 $x11432 $x16053))) blanchet@57170: (let (($x15648 (not $x11651))) blanchet@57170: (let (($x13373 (forall ((?v0 Int) )(let ((?x11631 (* (- 1) v_b_L_H_max_G_3$))) blanchet@57170: (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$)))) blanchet@57170: (let (($x11633 (<= (+ ?x10163 ?x11631) 0))) blanchet@57170: (let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0))) blanchet@57170: (let (($x11617 (not $x11615))) blanchet@57170: (let (($x12168 (<= ?v0 4294967295))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (let (($x13364 (and $x2815 $x12168 $x11617))) blanchet@57170: (let (($x13367 (not $x13364))) blanchet@57170: (or $x13367 $x11633))))))))))) blanchet@57170: )) blanchet@57170: (let (($x15651 (and $x13373 $x15648))) blanchet@57170: (let (($x15876 (not $x15871))) blanchet@57170: (let (($x15879 (and $x15626 $x15627 $x15876))) blanchet@57170: (let (($x15882 (not $x15879))) blanchet@57170: (let (($x15898 (or $x15882 $x15893))) blanchet@57170: (let (($x15901 (not $x15898))) blanchet@57170: (let (($x15904 (or $x15901 $x15651))) blanchet@57170: (let (($x15907 (and $x11608 $x15904))) blanchet@57170: (let (($x15910 (or $x11612 $x15907))) blanchet@57170: (let (($x15916 (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536 $x15910))) blanchet@57170: (let (($x15921 (or $x15611 $x15614 $x15916))) blanchet@57170: (let (($x15959 (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536 $x15921))) blanchet@57170: (let (($x15927 (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536 $x15921))) blanchet@57170: (let (($x15932 (or $x15590 $x15599 $x15927))) blanchet@57170: (let (($x15938 (and $x10321 $x10322 $x15932))) blanchet@57170: (let (($x15943 (or $x15590 $x15593 $x15938))) blanchet@57170: (let (($x15949 (and $x11515 $x11429 $x11432 $x15943))) blanchet@57170: (let (($x15964 (or $x15949 $x15959))) blanchet@57170: (let (($x15970 (and $x10321 $x10324 $x11429 $x11432 $x15964))) blanchet@57170: (let (($x15975 (or $x15590 $x15599 $x15970))) blanchet@57170: (let (($x15981 (and $x10321 $x10322 $x15975))) blanchet@57170: (let (($x15986 (or $x15590 $x15593 $x15981))) blanchet@57170: (let (($x15992 (and $x11487 $x11429 $x11432 $x15986))) blanchet@57170: (let (($x16064 (or $x15992 $x16059))) blanchet@57170: (let (($x13340 (forall ((?v0 Int) )(let ((?x11887 (* (- 1) v_b_L_H_max_G_1$))) blanchet@57170: (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$)))) blanchet@57170: (let (($x11889 (<= (+ ?x10163 ?x11887) 0))) blanchet@57170: (let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0))) blanchet@57170: (let (($x11873 (not $x11871))) blanchet@57170: (let (($x12168 (<= ?v0 4294967295))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (let (($x13331 (and $x2815 $x12168 $x11873))) blanchet@57170: (let (($x13334 (not $x13331))) blanchet@57170: (or $x13334 $x11889))))))))))) blanchet@57170: )) blanchet@57170: (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))) blanchet@57170: (let (($x16075 (or $x11259 $x15548 $x16070))) blanchet@57170: (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$)))) blanchet@57170: (let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0))) blanchet@57170: (let (($x11388 (>= ?v0 1))) blanchet@57170: (let (($x11389 (not $x11388))) blanchet@57170: (let (($x12168 (<= ?v0 4294967295))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (let (($x13283 (and $x2815 $x12168 $x11389))) blanchet@57170: (let (($x13286 (not $x13283))) blanchet@57170: (or $x13286 $x11404)))))))))) blanchet@57170: )) blanchet@57170: (let (($x16078 (and $x13292 $x16075))) blanchet@57170: (let (($x15528 (not (and $x15523 $x15524 (not $x15525))))) blanchet@57170: (let (($x15534 (or $x15528 $x15533))) blanchet@57170: (let (($x15535 (not $x15534))) blanchet@57170: (let (($x16081 (or $x15535 $x16078))) blanchet@57170: (let (($x16084 (and $x11382 $x16081))) blanchet@57170: (let (($x16087 (or $x11385 $x16084))) blanchet@57170: (let (($x16093 (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148 $x16087))) blanchet@57170: (let (($x16098 (or $x15502 $x15511 $x16093))) blanchet@57170: (let (($x16104 (and $x10138 $x10139 $x16098))) blanchet@57170: (let (($x16109 (or $x15502 $x15505 $x16104))) blanchet@57170: (let (($x16112 (and $x10136 $x16109))) blanchet@57170: (let (($x16115 (or $x11221 $x16112))) blanchet@57170: (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))) blanchet@57170: (let (($x19644 (= (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222 $x19631) $x19643))) blanchet@57170: (let (($x19635 (= $x16048 (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222 $x19631)))) blanchet@57170: (let ((@x19612 (monotonicity (rewrite (= (and $x2815 $x12168 $x11802 $x10238) (not $x19606))) (= (not (and $x2815 $x12168 $x11802 $x10238)) (not (not $x19606)))))) blanchet@57170: (let ((@x19616 (trans @x19612 (rewrite (= (not (not $x19606)) $x19606)) (= (not (and $x2815 $x12168 $x11802 $x10238)) $x19606)))) blanchet@57170: (let ((@x19599 (rewrite (= (or (or $x3763 $x16553 $x11800) $x11818) (or $x3763 $x16553 $x11800 $x11818))))) blanchet@57170: (let (($x13433 (and $x2815 $x12168 $x11802))) blanchet@57170: (let (($x13436 (not $x13433))) blanchet@57170: (let (($x13439 (or $x13436 $x11818))) blanchet@57170: (let ((@x19589 (monotonicity (rewrite (= $x13433 (not (or $x3763 $x16553 $x11800)))) (= $x13436 (not (not (or $x3763 $x16553 $x11800))))))) blanchet@57170: (let ((@x19593 (trans @x19589 (rewrite (= (not (not (or $x3763 $x16553 $x11800))) (or $x3763 $x16553 $x11800))) (= $x13436 (or $x3763 $x16553 $x11800))))) blanchet@57170: (let ((@x19601 (trans (monotonicity @x19593 (= $x13439 (or (or $x3763 $x16553 $x11800) $x11818))) @x19599 (= $x13439 (or $x3763 $x16553 $x11800 $x11818))))) blanchet@57170: (let ((@x19622 (monotonicity (quant-intro @x19601 (= $x13442 $x19602)) (quant-intro @x19616 (= $x15761 $x19617)) (= $x15765 (and $x19602 $x19617))))) blanchet@57170: (let ((@x19567 (monotonicity (rewrite (= $x16017 (not (or $x19559 $x19560 $x16009)))) (= $x16020 (not (not (or $x19559 $x19560 $x16009))))))) blanchet@57170: (let ((@x19571 (trans @x19567 (rewrite (= (not (not (or $x19559 $x19560 $x16009))) (or $x19559 $x19560 $x16009))) (= $x16020 (or $x19559 $x19560 $x16009))))) blanchet@57170: (let ((@x19579 (trans (monotonicity @x19571 (= $x16036 (or (or $x19559 $x19560 $x16009) $x16031))) (rewrite (= (or (or $x19559 $x19560 $x16009) $x16031) $x19575)) (= $x16036 $x19575)))) blanchet@57170: (let ((@x19633 (monotonicity (monotonicity @x19579 (= $x16039 $x19580)) (trans @x19622 (rewrite (= (and $x19602 $x19617) $x19626)) (= $x15765 $x19626)) (= $x16042 $x19631)))) blanchet@57170: (let ((@x19650 (monotonicity (trans (monotonicity @x19633 $x19635) (rewrite $x19644) (= $x16048 $x19643)) (= $x16053 $x19648)))) blanchet@57170: (let ((@x19660 (trans (monotonicity @x19650 (= $x16059 (and $x11486 $x11429 $x11432 $x19648))) (rewrite (= (and $x11486 $x11429 $x11432 $x19648) $x19656)) (= $x16059 $x19656)))) blanchet@57170: (let ((@x19422 (trans (monotonicity (rewrite (= $x11651 $x19413)) (= $x15648 (not $x19413))) (rewrite (= (not $x19413) $x19412)) (= $x15648 $x19412)))) blanchet@57170: (let ((@x19405 (rewrite (= (or (or $x3763 $x16553 $x11615) $x11633) (or $x3763 $x16553 $x11615 $x11633))))) blanchet@57170: (let (($x13364 (and $x2815 $x12168 $x11617))) blanchet@57170: (let (($x13367 (not $x13364))) blanchet@57170: (let (($x13370 (or $x13367 $x11633))) blanchet@57170: (let ((@x19395 (monotonicity (rewrite (= $x13364 (not (or $x3763 $x16553 $x11615)))) (= $x13367 (not (not (or $x3763 $x16553 $x11615))))))) blanchet@57170: (let ((@x19399 (trans @x19395 (rewrite (= (not (not (or $x3763 $x16553 $x11615))) (or $x3763 $x16553 $x11615))) (= $x13367 (or $x3763 $x16553 $x11615))))) blanchet@57170: (let ((@x19407 (trans (monotonicity @x19399 (= $x13370 (or (or $x3763 $x16553 $x11615) $x11633))) @x19405 (= $x13370 (or $x3763 $x16553 $x11615 $x11633))))) blanchet@57170: (let ((@x19425 (monotonicity (quant-intro @x19407 (= $x13373 $x19408)) @x19422 (= $x15651 (and $x19408 $x19412))))) blanchet@57170: (let ((@x19373 (monotonicity (rewrite (= $x15879 (not (or $x19365 $x19366 $x15871)))) (= $x15882 (not (not (or $x19365 $x19366 $x15871))))))) blanchet@57170: (let ((@x19377 (trans @x19373 (rewrite (= (not (not (or $x19365 $x19366 $x15871))) (or $x19365 $x19366 $x15871))) (= $x15882 (or $x19365 $x19366 $x15871))))) blanchet@57170: (let ((@x19385 (trans (monotonicity @x19377 (= $x15898 (or (or $x19365 $x19366 $x15871) $x15893))) (rewrite (= (or (or $x19365 $x19366 $x15871) $x15893) $x19381)) (= $x15898 $x19381)))) blanchet@57170: (let ((@x19435 (monotonicity (monotonicity @x19385 (= $x15901 $x19386)) (trans @x19425 (rewrite (= (and $x19408 $x19412) $x19428)) (= $x15651 $x19428)) (= $x15904 $x19433)))) blanchet@57170: (let ((@x19445 (trans (monotonicity @x19435 (= $x15907 (and $x11608 $x19433))) (rewrite (= (and $x11608 $x19433) $x19441)) (= $x15907 $x19441)))) blanchet@57170: (let ((@x19451 (monotonicity (monotonicity @x19445 (= $x15910 $x19446)) (= $x15916 (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536 $x19446))))) blanchet@57170: (let ((@x19462 (trans @x19451 (rewrite (= (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536 $x19446) $x19458)) (= $x15916 $x19458)))) blanchet@57170: (let ((@x19511 (monotonicity (monotonicity @x19462 (= $x15921 $x19463)) (= $x15959 (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536 $x19463))))) blanchet@57170: (let ((@x19519 (trans @x19511 (rewrite (= (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536 $x19463) $x19515)) (= $x15959 $x19515)))) blanchet@57170: (let ((@x19479 (rewrite (= (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536 $x19463) $x19477)))) blanchet@57170: (let ((@x19468 (monotonicity (monotonicity @x19462 (= $x15921 $x19463)) (= $x15927 (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536 $x19463))))) blanchet@57170: (let ((@x19487 (monotonicity (monotonicity (trans @x19468 @x19479 (= $x15927 $x19477)) (= $x15932 $x19482)) (= $x15938 (and $x10321 $x10322 $x19482))))) blanchet@57170: (let ((@x19494 (trans @x19487 (rewrite (= (and $x10321 $x10322 $x19482) $x19490)) (= $x15938 $x19490)))) blanchet@57170: (let ((@x19500 (monotonicity (monotonicity @x19494 (= $x15943 $x19495)) (= $x15949 (and $x11515 $x11429 $x11432 $x19495))))) blanchet@57170: (let ((@x19508 (trans @x19500 (rewrite (= (and $x11515 $x11429 $x11432 $x19495) $x19504)) (= $x15949 $x19504)))) blanchet@57170: (let ((@x19525 (monotonicity (monotonicity @x19508 @x19519 (= $x15964 $x19520)) (= $x15970 (and $x10321 $x10324 $x11429 $x11432 $x19520))))) blanchet@57170: (let ((@x19532 (trans @x19525 (rewrite (= (and $x10321 $x10324 $x11429 $x11432 $x19520) $x19528)) (= $x15970 $x19528)))) blanchet@57170: (let ((@x19538 (monotonicity (monotonicity @x19532 (= $x15975 $x19533)) (= $x15981 (and $x10321 $x10322 $x19533))))) blanchet@57170: (let ((@x19545 (trans @x19538 (rewrite (= (and $x10321 $x10322 $x19533) $x19541)) (= $x15981 $x19541)))) blanchet@57170: (let ((@x19551 (monotonicity (monotonicity @x19545 (= $x15986 $x19546)) (= $x15992 (and $x11487 $x11429 $x11432 $x19546))))) blanchet@57170: (let ((@x19558 (trans @x19551 (rewrite (= (and $x11487 $x11429 $x11432 $x19546) $x19554)) (= $x15992 $x19554)))) blanchet@57170: (let ((@x19359 (rewrite (= (or (or $x3763 $x16553 $x11871) $x11889) (or $x3763 $x16553 $x11871 $x11889))))) blanchet@57170: (let (($x13331 (and $x2815 $x12168 $x11873))) blanchet@57170: (let (($x13334 (not $x13331))) blanchet@57170: (let (($x13337 (or $x13334 $x11889))) blanchet@57170: (let ((@x19349 (monotonicity (rewrite (= $x13331 (not (or $x3763 $x16553 $x11871)))) (= $x13334 (not (not (or $x3763 $x16553 $x11871))))))) blanchet@57170: (let ((@x19353 (trans @x19349 (rewrite (= (not (not (or $x3763 $x16553 $x11871))) (or $x3763 $x16553 $x11871))) (= $x13334 (or $x3763 $x16553 $x11871))))) blanchet@57170: (let ((@x19361 (trans (monotonicity @x19353 (= $x13337 (or (or $x3763 $x16553 $x11871) $x11889))) @x19359 (= $x13337 (or $x3763 $x16553 $x11871 $x11889))))) blanchet@57170: (let ((@x19666 (monotonicity (quant-intro @x19361 (= $x13340 $x19362)) (monotonicity @x19558 @x19660 (= $x16064 $x19661)) (= $x16070 $x19664)))) blanchet@57170: (let ((@x19693 (monotonicity (trans @x19666 (rewrite (= $x19664 $x19686)) (= $x16070 $x19686)) (= $x16075 $x19691)))) blanchet@57170: (let ((@x19337 (rewrite (= (or (or $x3763 $x16553 $x11388) $x11404) (or $x3763 $x16553 $x11388 $x11404))))) blanchet@57170: (let (($x13283 (and $x2815 $x12168 $x11389))) blanchet@57170: (let (($x13286 (not $x13283))) blanchet@57170: (let (($x13289 (or $x13286 $x11404))) blanchet@57170: (let ((@x19327 (monotonicity (rewrite (= $x13283 (not (or $x3763 $x16553 $x11388)))) (= $x13286 (not (not (or $x3763 $x16553 $x11388))))))) blanchet@57170: (let ((@x19331 (trans @x19327 (rewrite (= (not (not (or $x3763 $x16553 $x11388))) (or $x3763 $x16553 $x11388))) (= $x13286 (or $x3763 $x16553 $x11388))))) blanchet@57170: (let ((@x19339 (trans (monotonicity @x19331 (= $x13289 (or (or $x3763 $x16553 $x11388) $x11404))) @x19337 (= $x13289 (or $x3763 $x16553 $x11388 $x11404))))) blanchet@57170: (let ((@x19696 (monotonicity (quant-intro @x19339 (= $x13292 $x19340)) @x19693 (= $x16078 (and $x19340 $x19691))))) blanchet@57170: (let ((@x19305 (monotonicity (rewrite (= (and $x15523 $x15524 (not $x15525)) (not (or $x19297 $x19298 $x15525)))) (= $x15528 (not (not (or $x19297 $x19298 $x15525))))))) blanchet@57170: (let ((@x19309 (trans @x19305 (rewrite (= (not (not (or $x19297 $x19298 $x15525))) (or $x19297 $x19298 $x15525))) (= $x15528 (or $x19297 $x19298 $x15525))))) blanchet@57170: (let ((@x19317 (trans (monotonicity @x19309 (= $x15534 (or (or $x19297 $x19298 $x15525) $x15533))) (rewrite (= (or (or $x19297 $x19298 $x15525) $x15533) $x19313)) (= $x15534 $x19313)))) blanchet@57170: (let ((@x19707 (monotonicity (monotonicity @x19317 (= $x15535 $x19318)) (trans @x19696 (rewrite (= (and $x19340 $x19691) $x19700)) (= $x16078 $x19700)) (= $x16081 $x19705)))) blanchet@57170: (let ((@x19717 (trans (monotonicity @x19707 (= $x16084 (and $x11382 $x19705))) (rewrite (= (and $x11382 $x19705) $x19713)) (= $x16084 $x19713)))) blanchet@57170: (let ((@x19723 (monotonicity (monotonicity @x19717 (= $x16087 $x19718)) (= $x16093 (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148 $x19718))))) blanchet@57170: (let ((@x19734 (trans @x19723 (rewrite (= (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148 $x19718) $x19730)) (= $x16093 $x19730)))) blanchet@57170: (let ((@x19740 (monotonicity (monotonicity @x19734 (= $x16098 $x19735)) (= $x16104 (and $x10138 $x10139 $x19735))))) blanchet@57170: (let ((@x19747 (trans @x19740 (rewrite (= (and $x10138 $x10139 $x19735) $x19743)) (= $x16104 $x19743)))) blanchet@57170: (let ((@x19753 (monotonicity (monotonicity @x19747 (= $x16109 $x19748)) (= $x16112 (and $x10136 $x19748))))) blanchet@57170: (let ((@x19763 (monotonicity (trans @x19753 (rewrite (= (and $x10136 $x19748) $x19756)) (= $x16112 $x19756)) (= $x16115 $x19761)))) blanchet@57170: (let (($x15746 (<= (+ ?x15744 (* (- 1) v_b_S_result_G_0$)) 0))) blanchet@57170: (let (($x15741 (and $x15736 $x15737 (not (>= (+ ?v0!15 (* (- 1) v_b_P_H_len$)) 0))))) blanchet@57170: (let (($x15748 (not (or (not $x15741) $x15746)))) blanchet@57170: (let (($x15769 (or $x15748 $x15765))) blanchet@57170: (let (($x15732 (not $x11797))) blanchet@57170: (let (($x15773 (and $x15732 $x15769))) blanchet@57170: (let (($x15777 (or $x15729 $x15773))) blanchet@57170: (let (($x15726 (not $x11777))) blanchet@57170: (let (($x15781 (and $x15726 $x15777))) blanchet@57170: (let (($x15636 (<= (+ ?x15634 (* (- 1) v_b_L_H_max_G_3$)) 0))) blanchet@57170: (let (($x15638 (not (or (not (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0)))) $x15636)))) blanchet@57170: (let (($x15655 (or $x15638 $x15651))) blanchet@57170: (let (($x15622 (not $x11612))) blanchet@57170: (let (($x15659 (and $x15622 $x15655))) blanchet@57170: (let (($x15663 (or $x11612 $x15659))) blanchet@57170: (let (($x13358 (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536))) blanchet@57170: (let (($x13361 (not $x13358))) blanchet@57170: (let (($x15617 (not $x13361))) blanchet@57170: (let (($x15667 (and $x15617 $x15663))) blanchet@57170: (let (($x15671 (or $x15611 $x15614 $x15667))) blanchet@57170: (let (($x15695 (not $x11730))) blanchet@57170: (let (($x15698 (and $x15695 $x15671))) blanchet@57170: (let (($x15608 (not $x11567))) blanchet@57170: (let (($x15675 (and $x15608 $x15671))) blanchet@57170: (let (($x15679 (or $x15590 $x15599 $x15675))) blanchet@57170: (let (($x15596 (not $x11001))) blanchet@57170: (let (($x15683 (and $x15596 $x15679))) blanchet@57170: (let (($x15687 (or $x15590 $x15593 $x15683))) blanchet@57170: (let (($x15605 (not $x11532))) blanchet@57170: (let (($x15691 (and $x15605 $x15687))) blanchet@57170: (let (($x15702 (or $x15691 $x15698))) blanchet@57170: (let (($x15602 (not $x11512))) blanchet@57170: (let (($x15706 (and $x15602 $x15702))) blanchet@57170: (let (($x15710 (or $x15590 $x15599 $x15706))) blanchet@57170: (let (($x15714 (and $x15596 $x15710))) blanchet@57170: (let (($x15718 (or $x15590 $x15593 $x15714))) blanchet@57170: (let (($x15587 (not $x11501))) blanchet@57170: (let (($x15722 (and $x15587 $x15718))) blanchet@57170: (let (($x15785 (or $x15722 $x15781))) blanchet@57170: (let (($x15584 (not $x11481))) blanchet@57170: (let (($x13343 (and $x11260 $x10167 $x11911 $x13304 $x13315 $x11901 $x13326 $x11898 $x13340 $x11868 $x10192 $x11429 $x11432))) blanchet@57170: (let (($x15789 (and $x13343 $x15584 $x15785))) blanchet@57170: (let (($x15545 (not $x11260))) blanchet@57170: (let (($x15793 (or $x15545 $x15548 $x15789))) blanchet@57170: (let (($x15797 (and $x13292 $x15793))) blanchet@57170: (let (($x15801 (or $x15535 $x15797))) blanchet@57170: (let (($x15519 (not $x11385))) blanchet@57170: (let (($x15805 (and $x15519 $x15801))) blanchet@57170: (let (($x15809 (or $x11385 $x15805))) blanchet@57170: (let (($x15514 (not $x11379))) blanchet@57170: (let (($x15813 (and $x15514 $x15809))) blanchet@57170: (let (($x15817 (or $x15502 $x15511 $x15813))) blanchet@57170: (let (($x15508 (not $x11209))) blanchet@57170: (let (($x15821 (and $x15508 $x15817))) blanchet@57170: (let (($x15825 (or $x15502 $x15505 $x15821))) blanchet@57170: (let (($x15499 (not $x11221))) blanchet@57170: (let (($x15829 (and $x15499 $x15825))) blanchet@57170: (let (($x15833 (or $x11221 $x15829))) blanchet@57170: (let (($x16024 (= (+ ?x15744 (* (- 1) v_b_S_result_G_0$)) (+ (* (- 1) v_b_S_result_G_0$) ?x15744)))) blanchet@57170: (let ((@x16028 (monotonicity (rewrite $x16024) (= $x15746 (<= (+ (* (- 1) v_b_S_result_G_0$) ?x15744) 0))))) blanchet@57170: (let ((@x16035 (trans @x16028 (rewrite (= (<= (+ (* (- 1) v_b_S_result_G_0$) ?x15744) 0) $x16031)) (= $x15746 $x16031)))) blanchet@57170: (let (($x15739 (>= (+ ?v0!15 (* (- 1) v_b_P_H_len$)) 0))) blanchet@57170: (let (($x16002 (= (+ ?v0!15 (* (- 1) v_b_P_H_len$)) (+ (* (- 1) v_b_P_H_len$) ?v0!15)))) blanchet@57170: (let ((@x16006 (monotonicity (rewrite $x16002) (= $x15739 (>= (+ (* (- 1) v_b_P_H_len$) ?v0!15) 0))))) blanchet@57170: (let ((@x16013 (trans @x16006 (rewrite (= (>= (+ (* (- 1) v_b_P_H_len$) ?v0!15) 0) $x16009)) (= $x15739 $x16009)))) blanchet@57170: (let ((@x16019 (monotonicity (monotonicity @x16013 (= (not $x15739) $x16014)) (= $x15741 $x16017)))) blanchet@57170: (let ((@x16038 (monotonicity (monotonicity @x16019 (= (not $x15741) $x16020)) @x16035 (= (or (not $x15741) $x15746) $x16036)))) blanchet@57170: (let ((@x16047 (monotonicity (rewrite (= $x15732 $x11792)) (monotonicity (monotonicity @x16038 (= $x15748 $x16039)) (= $x15769 $x16042)) (= $x15773 (and $x11792 $x16042))))) blanchet@57170: (let ((@x16055 (monotonicity (trans @x16047 (rewrite (= (and $x11792 $x16042) $x16048)) (= $x15773 $x16048)) (= $x15777 $x16053)))) blanchet@57170: (let ((@x16058 (monotonicity (rewrite (= $x15726 $x11772)) @x16055 (= $x15781 (and $x11772 $x16053))))) blanchet@57170: (let (($x15899 (= (or (not (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0)))) $x15636) $x15898))) blanchet@57170: (let (($x15886 (= (+ ?x15634 (* (- 1) v_b_L_H_max_G_3$)) (+ (* (- 1) v_b_L_H_max_G_3$) ?x15634)))) blanchet@57170: (let ((@x15890 (monotonicity (rewrite $x15886) (= $x15636 (<= (+ (* (- 1) v_b_L_H_max_G_3$) ?x15634) 0))))) blanchet@57170: (let ((@x15897 (trans @x15890 (rewrite (= (<= (+ (* (- 1) v_b_L_H_max_G_3$) ?x15634) 0) $x15893)) (= $x15636 $x15893)))) blanchet@57170: (let ((@x15868 (monotonicity (rewrite (= (+ ?v0!14 ?x11581) (+ ?x11581 ?v0!14))) (= (>= (+ ?v0!14 ?x11581) 0) (>= (+ ?x11581 ?v0!14) 0))))) blanchet@57170: (let ((@x15875 (trans @x15868 (rewrite (= (>= (+ ?x11581 ?v0!14) 0) $x15871)) (= (>= (+ ?v0!14 ?x11581) 0) $x15871)))) blanchet@57170: (let ((@x15881 (monotonicity (monotonicity @x15875 (= (not (>= (+ ?v0!14 ?x11581) 0)) $x15876)) (= (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0))) $x15879)))) blanchet@57170: (let ((@x15884 (monotonicity @x15881 (= (not (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0)))) $x15882)))) blanchet@57170: (let ((@x15906 (monotonicity (monotonicity (monotonicity @x15884 @x15897 $x15899) (= $x15638 $x15901)) (= $x15655 $x15904)))) blanchet@57170: (let ((@x15912 (monotonicity (monotonicity (rewrite (= $x15622 $x11608)) @x15906 (= $x15659 $x15907)) (= $x15663 $x15910)))) blanchet@57170: (let ((@x15915 (monotonicity (rewrite (= $x15617 $x13358)) @x15912 (= $x15667 (and $x13358 $x15910))))) blanchet@57170: (let ((@x15923 (monotonicity (trans @x15915 (rewrite (= (and $x13358 $x15910) $x15916)) (= $x15667 $x15916)) (= $x15671 $x15921)))) blanchet@57170: (let ((@x15958 (monotonicity (rewrite (= $x15695 $x11725)) @x15923 (= $x15698 (and $x11725 $x15921))))) blanchet@57170: (let ((@x15926 (monotonicity (rewrite (= $x15608 $x11562)) @x15923 (= $x15675 (and $x11562 $x15921))))) blanchet@57170: (let ((@x15934 (monotonicity (trans @x15926 (rewrite (= (and $x11562 $x15921) $x15927)) (= $x15675 $x15927)) (= $x15679 $x15932)))) blanchet@57170: (let ((@x15937 (monotonicity (rewrite (= $x15596 $x10323)) @x15934 (= $x15683 (and $x10323 $x15932))))) blanchet@57170: (let ((@x15945 (monotonicity (trans @x15937 (rewrite (= (and $x10323 $x15932) $x15938)) (= $x15683 $x15938)) (= $x15687 $x15943)))) blanchet@57170: (let ((@x15948 (monotonicity (rewrite (= $x15605 $x11527)) @x15945 (= $x15691 (and $x11527 $x15943))))) blanchet@57170: (let ((@x15966 (monotonicity (trans @x15948 (rewrite (= (and $x11527 $x15943) $x15949)) (= $x15691 $x15949)) (trans @x15958 (rewrite (= (and $x11725 $x15921) $x15959)) (= $x15698 $x15959)) (= $x15702 $x15964)))) blanchet@57170: (let ((@x15969 (monotonicity (rewrite (= $x15602 $x11507)) @x15966 (= $x15706 (and $x11507 $x15964))))) blanchet@57170: (let ((@x15977 (monotonicity (trans @x15969 (rewrite (= (and $x11507 $x15964) $x15970)) (= $x15706 $x15970)) (= $x15710 $x15975)))) blanchet@57170: (let ((@x15980 (monotonicity (rewrite (= $x15596 $x10323)) @x15977 (= $x15714 (and $x10323 $x15975))))) blanchet@57170: (let ((@x15988 (monotonicity (trans @x15980 (rewrite (= (and $x10323 $x15975) $x15981)) (= $x15714 $x15981)) (= $x15718 $x15986)))) blanchet@57170: (let ((@x15991 (monotonicity (rewrite (= $x15587 $x11496)) @x15988 (= $x15722 (and $x11496 $x15986))))) blanchet@57170: (let ((@x16066 (monotonicity (trans @x15991 (rewrite (= (and $x11496 $x15986) $x15992)) (= $x15722 $x15992)) (trans @x16058 (rewrite (= (and $x11772 $x16053) $x16059)) (= $x15781 $x16059)) (= $x15785 $x16064)))) blanchet@57170: (let ((@x16069 (monotonicity (rewrite (= $x15584 $x11476)) @x16066 (= $x15789 (and $x13343 $x11476 $x16064))))) blanchet@57170: (let ((@x16074 (trans @x16069 (rewrite (= (and $x13343 $x11476 $x16064) $x16070)) (= $x15789 $x16070)))) blanchet@57170: (let ((@x16080 (monotonicity (monotonicity (rewrite (= $x15545 $x11259)) @x16074 (= $x15793 $x16075)) (= $x15797 $x16078)))) blanchet@57170: (let ((@x16086 (monotonicity (rewrite (= $x15519 $x11382)) (monotonicity @x16080 (= $x15801 $x16081)) (= $x15805 $x16084)))) blanchet@57170: (let ((@x16092 (monotonicity (rewrite (= $x15514 $x11374)) (monotonicity @x16086 (= $x15809 $x16087)) (= $x15813 (and $x11374 $x16087))))) blanchet@57170: (let ((@x16100 (monotonicity (trans @x16092 (rewrite (= (and $x11374 $x16087) $x16093)) (= $x15813 $x16093)) (= $x15817 $x16098)))) blanchet@57170: (let ((@x16103 (monotonicity (rewrite (= $x15508 $x10140)) @x16100 (= $x15821 (and $x10140 $x16098))))) blanchet@57170: (let ((@x16111 (monotonicity (trans @x16103 (rewrite (= (and $x10140 $x16098) $x16104)) (= $x15821 $x16104)) (= $x15825 $x16109)))) blanchet@57170: (let ((@x16117 (monotonicity (monotonicity (rewrite (= $x15499 $x10136)) @x16111 (= $x15829 $x16112)) (= $x15833 $x16115)))) blanchet@57170: (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$)))) blanchet@57170: (let (($x10238 (= ?x10163 v_b_S_result_G_0$))) blanchet@57170: (let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0))) blanchet@57170: (let (($x11802 (not $x11800))) blanchet@57170: (let (($x12168 (<= ?v0 4294967295))) blanchet@57170: (let (($x2815 (>= ?v0 0))) blanchet@57170: (and $x2815 $x12168 $x11802 $x10238)))))))) blanchet@57170: )) blanchet@57170: (let (($x13445 (not $x13442))) blanchet@57170: (let (($x13454 (or $x13445 $x13451))) blanchet@57170: (let (($x13457 (and $x13442 $x13454))) blanchet@57170: (let (($x13460 (or $x11797 $x13457))) blanchet@57170: (let (($x13463 (and b_S_position_n_marker$ $x13460))) blanchet@57170: (let (($x13466 (or $x11777 $x13463))) blanchet@57170: (let (($x13376 (not $x13373))) blanchet@57170: (let (($x13379 (or $x13376 $x11651))) blanchet@57170: (let (($x13382 (and $x13373 $x13379))) blanchet@57170: (let (($x13385 (or $x11612 $x13382))) blanchet@57170: (let (($x13388 (and $x11608 $x13385))) blanchet@57170: (let (($x13391 (or $x13361 $x13388))) blanchet@57170: (let (($x13394 (and $x11570 $x13353 $x13391))) blanchet@57170: (let (($x13412 (or $x11730 $x13394))) blanchet@57170: (let (($x13397 (or $x11567 $x13394))) blanchet@57170: (let (($x13400 (and $x10321 $x10324 $x13397))) blanchet@57170: (let (($x13403 (or $x11001 $x13400))) blanchet@57170: (let (($x13406 (and $x10321 $x10322 $x13403))) blanchet@57170: (let (($x13409 (or $x11532 $x13406))) blanchet@57170: (let (($x13415 (and $x13409 $x13412))) blanchet@57170: (let (($x13418 (or $x11512 $x13415))) blanchet@57170: (let (($x13421 (and $x10321 $x10324 $x13418))) blanchet@57170: (let (($x13424 (or $x11001 $x13421))) blanchet@57170: (let (($x13427 (and $x10321 $x10322 $x13424))) blanchet@57170: (let (($x13430 (or $x11501 $x13427))) blanchet@57170: (let (($x13469 (and $x13430 $x13466))) blanchet@57170: (let (($x13346 (not $x13343))) blanchet@57170: (let (($x13472 (or $x13346 $x11481 $x13469))) blanchet@57170: (let (($x13475 (and $x11260 $x10167 $x13472))) blanchet@57170: (let (($x13295 (not $x13292))) blanchet@57170: (let (($x13478 (or $x13295 $x13475))) blanchet@57170: (let (($x13481 (and $x13292 $x13478))) blanchet@57170: (let (($x13484 (or $x11385 $x13481))) blanchet@57170: (let (($x13487 (and $x11382 $x13484))) blanchet@57170: (let (($x13490 (or $x11379 $x13487))) blanchet@57170: (let (($x13493 (and $x10138 $x10141 $x13490))) blanchet@57170: (let (($x13496 (or $x11209 $x13493))) blanchet@57170: (let (($x13499 (and $x10138 $x10139 $x13496))) blanchet@57170: (let (($x13502 (or $x11221 $x13499))) blanchet@57170: (let (($x13508 (not (and $x10136 $x13502)))) blanchet@57170: (let ((@x15760 (refl (~ (not (and $x2815 $x12168 $x11802 $x10238)) (not (and $x2815 $x12168 $x11802 $x10238)))))) blanchet@57170: (let ((@x15757 (nnf-neg (nnf-pos (refl (~ $x13439 $x13439)) (~ $x13442 $x13442)) (~ (not $x13445) $x13442)))) blanchet@57170: (let ((@x15768 (nnf-neg @x15757 (nnf-neg @x15760 (~ (not $x13451) $x15761)) (~ (not $x13454) $x15765)))) blanchet@57170: (let ((@x15776 (nnf-neg (refl (~ $x15732 $x15732)) (nnf-neg (sk (~ $x13445 $x15748)) @x15768 (~ (not $x13457) $x15769)) (~ (not $x13460) $x15773)))) blanchet@57170: (let ((@x15784 (nnf-neg (refl (~ $x15726 $x15726)) (nnf-neg (refl (~ $x15729 $x15729)) @x15776 (~ (not $x13463) $x15777)) (~ (not $x13466) $x15781)))) blanchet@57170: (let ((@x15647 (nnf-neg (nnf-pos (refl (~ $x13370 $x13370)) (~ $x13373 $x13373)) (~ (not $x13376) $x13373)))) blanchet@57170: (let ((@x15658 (nnf-neg (sk (~ $x13376 $x15638)) (nnf-neg @x15647 (refl (~ $x15648 $x15648)) (~ (not $x13379) $x15651)) (~ (not $x13382) $x15655)))) blanchet@57170: (let ((@x15666 (nnf-neg (refl (~ $x11612 $x11612)) (nnf-neg (refl (~ $x15622 $x15622)) @x15658 (~ (not $x13385) $x15659)) (~ (not $x13388) $x15663)))) blanchet@57170: (let ((@x15674 (nnf-neg (refl (~ $x15611 $x15611)) (refl (~ $x15614 $x15614)) (nnf-neg (refl (~ $x15617 $x15617)) @x15666 (~ (not $x13391) $x15667)) (~ (not $x13394) $x15671)))) blanchet@57170: (let ((@x15592 (refl (~ $x15590 $x15590)))) blanchet@57170: (let ((@x15682 (nnf-neg @x15592 (refl (~ $x15599 $x15599)) (nnf-neg (refl (~ $x15608 $x15608)) @x15674 (~ (not $x13397) $x15675)) (~ (not $x13400) $x15679)))) blanchet@57170: (let ((@x15690 (nnf-neg @x15592 (refl (~ $x15593 $x15593)) (nnf-neg (refl (~ $x15596 $x15596)) @x15682 (~ (not $x13403) $x15683)) (~ (not $x13406) $x15687)))) blanchet@57170: (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)))) blanchet@57170: (let ((@x15713 (nnf-neg @x15592 (refl (~ $x15599 $x15599)) (nnf-neg (refl (~ $x15602 $x15602)) @x15705 (~ (not $x13418) $x15706)) (~ (not $x13421) $x15710)))) blanchet@57170: (let ((@x15721 (nnf-neg @x15592 (refl (~ $x15593 $x15593)) (nnf-neg (refl (~ $x15596 $x15596)) @x15713 (~ (not $x13424) $x15714)) (~ (not $x13427) $x15718)))) blanchet@57170: (let ((@x15788 (nnf-neg (nnf-neg (refl (~ $x15587 $x15587)) @x15721 (~ (not $x13430) $x15722)) @x15784 (~ (not $x13469) $x15785)))) blanchet@57170: (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)))) blanchet@57170: (let ((@x15792 (nnf-neg (nnf-neg @x15580 (~ (not $x13346) $x13343)) (refl (~ $x15584 $x15584)) @x15788 (~ (not $x13472) $x15789)))) blanchet@57170: (let ((@x15796 (nnf-neg (refl (~ $x15545 $x15545)) (refl (~ $x15548 $x15548)) @x15792 (~ (not $x13475) $x15793)))) blanchet@57170: (let ((@x15544 (nnf-neg (nnf-pos (refl (~ $x13289 $x13289)) (~ $x13292 $x13292)) (~ (not $x13295) $x13292)))) blanchet@57170: (let ((@x15804 (nnf-neg (sk (~ $x13295 $x15535)) (nnf-neg @x15544 @x15796 (~ (not $x13478) $x15797)) (~ (not $x13481) $x15801)))) blanchet@57170: (let ((@x15812 (nnf-neg (refl (~ $x11385 $x11385)) (nnf-neg (refl (~ $x15519 $x15519)) @x15804 (~ (not $x13484) $x15805)) (~ (not $x13487) $x15809)))) blanchet@57170: (let ((@x15820 (nnf-neg (refl (~ $x15502 $x15502)) (refl (~ $x15511 $x15511)) (nnf-neg (refl (~ $x15514 $x15514)) @x15812 (~ (not $x13490) $x15813)) (~ (not $x13493) $x15817)))) blanchet@57170: (let ((@x15828 (nnf-neg (refl (~ $x15502 $x15502)) (refl (~ $x15505 $x15505)) (nnf-neg (refl (~ $x15508 $x15508)) @x15820 (~ (not $x13496) $x15821)) (~ (not $x13499) $x15825)))) blanchet@57170: (let ((@x15835 (nnf-neg (refl (~ $x11221 $x11221)) (nnf-neg (refl (~ $x15499 $x15499)) @x15828 (~ (not $x13502) $x15829)) (~ $x13508 $x15833)))) blanchet@57170: (let (($x6441 (= b_S_max_o_u4$ 4294967295))) blanchet@57170: (let ((@x6435 (monotonicity (rewrite (= (* 65536 65536) 4294967296)) (= (- (* 65536 65536) 1) (- 4294967296 1))))) blanchet@57170: (let ((@x6440 (trans @x6435 (rewrite (= (- 4294967296 1) 4294967295)) (= (- (* 65536 65536) 1) 4294967295)))) blanchet@57170: (let ((@x6443 (monotonicity @x6440 (= (= b_S_max_o_u4$ (- (* 65536 65536) 1)) $x6441)))) blanchet@57170: (let ((@x6446 (mp (asserted (= b_S_max_o_u4$ (- (* 65536 65536) 1))) @x6443 $x6441))) blanchet@57170: (let ((@x12140 (trans (monotonicity @x6446 (= ?x3113 (* (- 1) 4294967295))) (rewrite (= (* (- 1) 4294967295) (- 4294967295))) (= ?x3113 (- 4294967295))))) blanchet@57170: (let ((@x12164 (trans (monotonicity @x12140 (= ?x3114 (+ ?0 (- 4294967295)))) (rewrite (= (+ ?0 (- 4294967295)) (+ (- 4294967295) ?0))) (= ?x3114 (+ (- 4294967295) ?0))))) blanchet@57170: (let ((@x12172 (trans (monotonicity @x12164 (= $x3115 (<= (+ (- 4294967295) ?0) 0))) (rewrite (= (<= (+ (- 4294967295) ?0) 0) $x12168)) (= $x3115 $x12168)))) blanchet@57170: (let ((@x13453 (quant-intro (monotonicity @x12172 (= $x11839 (and $x2815 $x12168 $x11802 $x10238))) (= $x11844 $x13451)))) blanchet@57170: (let ((@x13441 (monotonicity (monotonicity (monotonicity @x12172 (= $x11808 $x13433)) (= $x11813 $x13436)) (= $x11821 $x13439)))) blanchet@57170: (let ((@x13456 (monotonicity (monotonicity (quant-intro @x13441 (= $x11824 $x13442)) (= $x11827 $x13445)) @x13453 (= $x11847 $x13454)))) blanchet@57170: (let ((@x13462 (monotonicity (monotonicity (quant-intro @x13441 (= $x11824 $x13442)) @x13456 (= $x11850 $x13457)) (= $x11853 $x13460)))) blanchet@57170: (let ((@x13372 (monotonicity (monotonicity (monotonicity @x12172 (= $x11623 $x13364)) (= $x11628 $x13367)) (= $x11636 $x13370)))) blanchet@57170: (let ((@x13381 (monotonicity (monotonicity (quant-intro @x13372 (= $x11639 $x13373)) (= $x11642 $x13376)) (= $x11654 $x13379)))) blanchet@57170: (let ((@x13387 (monotonicity (monotonicity (quant-intro @x13372 (= $x11639 $x13373)) @x13381 (= $x11657 $x13382)) (= $x11660 $x13385)))) blanchet@57170: (let ((@x13351 (monotonicity (monotonicity @x6446 (= ?x11574 (+ 4294967295 ?x11484))) (= $x11573 (>= (+ 4294967295 ?x11484) 1))))) blanchet@57170: (let ((@x13357 (trans @x13351 (rewrite (= (>= (+ 4294967295 ?x11484) 1) $x13353)) (= $x11573 $x13353)))) blanchet@57170: (let ((@x13393 (monotonicity (monotonicity (monotonicity @x13357 (= $x11600 $x13358)) (= $x11605 $x13361)) (monotonicity @x13387 (= $x11663 $x13388)) (= $x11666 $x13391)))) blanchet@57170: (let ((@x13414 (monotonicity (monotonicity @x13357 @x13393 (= $x11672 $x13394)) (= $x11733 $x13412)))) blanchet@57170: (let ((@x13399 (monotonicity (monotonicity @x13357 @x13393 (= $x11672 $x13394)) (= $x11677 $x13397)))) blanchet@57170: (let ((@x13408 (monotonicity (monotonicity (monotonicity @x13399 (= $x11683 $x13400)) (= $x11688 $x13403)) (= $x11694 $x13406)))) blanchet@57170: (let ((@x13417 (monotonicity (monotonicity @x13408 (= $x11699 $x13409)) @x13414 (= $x11736 $x13415)))) blanchet@57170: (let ((@x13426 (monotonicity (monotonicity (monotonicity @x13417 (= $x11739 $x13418)) (= $x11745 $x13421)) (= $x11750 $x13424)))) blanchet@57170: (let ((@x13471 (monotonicity (monotonicity (monotonicity @x13426 (= $x11756 $x13427)) (= $x11761 $x13430)) (monotonicity (monotonicity @x13462 (= $x11856 $x13463)) (= $x11859 $x13466)) (= $x11862 $x13469)))) blanchet@57170: (let ((@x13339 (monotonicity (monotonicity (monotonicity @x12172 (= $x11879 $x13331)) (= $x11884 $x13334)) (= $x11892 $x13337)))) blanchet@57170: (let ((@x13325 (monotonicity (monotonicity @x6446 (= ?x11574 (+ 4294967295 ?x11484))) (= $x11904 (>= (+ 4294967295 ?x11484) 0))))) blanchet@57170: (let ((@x13330 (trans @x13325 (rewrite (= (>= (+ 4294967295 ?x11484) 0) $x13326)) (= $x11904 $x13326)))) blanchet@57170: (let ((@x13314 (monotonicity (monotonicity @x6446 (= (+ b_S_max_o_u4$ ?x11865) (+ 4294967295 ?x11865))) (= $x11907 (>= (+ 4294967295 ?x11865) 0))))) blanchet@57170: (let ((@x13319 (trans @x13314 (rewrite (= (>= (+ 4294967295 ?x11865) 0) $x13315)) (= $x11907 $x13315)))) blanchet@57170: (let (($x13299 (= (+ b_S_max_o_u1$ (* (- 1) v_b_L_H_max_G_1$)) (+ 255 (* (- 1) v_b_L_H_max_G_1$))))) blanchet@57170: (let (($x6449 (= b_S_max_o_u1$ 255))) blanchet@57170: (let ((@x6450 (asserted $x6449))) blanchet@57170: (let ((@x13303 (monotonicity (monotonicity @x6450 $x13299) (= $x11914 (>= (+ 255 (* (- 1) v_b_L_H_max_G_1$)) 0))))) blanchet@57170: (let ((@x13308 (trans @x13303 (rewrite (= (>= (+ 255 (* (- 1) v_b_L_H_max_G_1$)) 0) $x13304)) (= $x11914 $x13304)))) blanchet@57170: (let ((@x13345 (monotonicity @x13308 @x13319 @x13330 (quant-intro @x13339 (= $x11895 $x13340)) (= $x11957 $x13343)))) blanchet@57170: (let ((@x13474 (monotonicity (monotonicity @x13345 (= $x11962 $x13346)) @x13471 (= $x11971 $x13472)))) blanchet@57170: (let ((@x13291 (monotonicity (monotonicity (monotonicity @x12172 (= $x11395 $x13283)) (= $x11400 $x13286)) (= $x11408 $x13289)))) blanchet@57170: (let ((@x13480 (monotonicity (monotonicity (quant-intro @x13291 (= $x11411 $x13292)) (= $x11414 $x13295)) (monotonicity @x13474 (= $x11979 $x13475)) (= $x11984 $x13478)))) blanchet@57170: (let ((@x13486 (monotonicity (monotonicity (quant-intro @x13291 (= $x11411 $x13292)) @x13480 (= $x11987 $x13481)) (= $x11990 $x13484)))) blanchet@57170: (let ((@x13495 (monotonicity (monotonicity (monotonicity @x13486 (= $x11993 $x13487)) (= $x11996 $x13490)) (= $x12002 $x13493)))) blanchet@57170: (let ((@x13504 (monotonicity (monotonicity (monotonicity @x13495 (= $x12007 $x13496)) (= $x12013 $x13499)) (= $x12018 $x13502)))) blanchet@57170: (let ((@x13510 (monotonicity (monotonicity @x13504 (= $x12021 (and $x10136 $x13502))) (= (not $x12021) $x13508)))) blanchet@57170: (let ((@x13511 (mp (not-or-elim (mp (asserted $x10434) @x12031 $x12027) (not $x12021)) @x13510 $x13508))) blanchet@57170: (let ((@x20143 (mp (mp (mp (mp~ @x13511 @x15835 $x15833) @x16117 $x16115) @x19763 $x19761) (monotonicity @x20139 (= $x19761 $x20140)) $x20140))) blanchet@57232: (let ((@x24008 (unit-resolution (def-axiom (or $x20134 $x20128)) (unit-resolution @x20143 @x22434 $x20137) $x20128))) blanchet@57170: (let ((?x22514 (b_S_typ$ ?x10137))) blanchet@57170: (let (($x22515 (= ?x22514 b_T_T_u1$))) blanchet@57170: (let ((@x22856 (trans (unit-resolution @x22581 (unit-resolution @x22577 @x18183 $x22565) $x22556) @x22852 (= ?x10137 ?x10078)))) blanchet@57170: (let ((@x22875 (trans (monotonicity @x22856 (= ?x22514 ?x21175)) (unit-resolution @x21182 @x19846 $x21176) $x22515))) blanchet@57232: (let (($x22932 (not $x22515))) blanchet@57170: (let (($x22522 (= $x10138 $x22515))) blanchet@57232: (let (($x22487 (or $x22002 $x22522))) blanchet@57232: (let ((@x22492 ((_ quant-inst (b_S_idx$ ?x10078 0 b_T_T_u1$) b_T_T_u1$) $x22487))) blanchet@57232: (let ((@x22511 (unit-resolution (def-axiom (or (not $x22522) $x10138 $x22932)) (hypothesis $x15502) (or (not $x22522) $x22932)))) blanchet@57232: (let ((@x22873 (unit-resolution (unit-resolution @x22511 (unit-resolution @x22492 @x19833 $x22522) $x22932) @x22875 false))) blanchet@57170: (let ((@x22876 (lemma @x22873 $x10138))) blanchet@57232: (let ((@x24016 (unit-resolution (def-axiom (or $x20131 $x15502 $x15505 $x20125)) (unit-resolution (def-axiom (or $x22603 $x10139)) @x22760 $x10139) @x22876 @x24008 $x20125))) blanchet@57170: (let ((?x22963 (* (- 1) ?x10144))) blanchet@57170: (let ((?x22964 (+ v_b_L_H_max_G_0$ ?x22963))) blanchet@57170: (let (($x22965 (>= ?x22964 0))) blanchet@57170: (let ((@x20962 (def-axiom (or $x20119 $x15502 $x15511 $x20113)))) blanchet@57170: (let ((@x22988 (unit-resolution @x20962 (hypothesis $x10138) (hypothesis $x10141) (hypothesis $x20116) $x20113))) blanchet@57170: (let ((@x20944 (def-axiom (or $x20110 $x10145)))) blanchet@57170: (let ((@x23016 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x19724 $x22965)) (unit-resolution @x20944 @x22988 $x10145) $x22965))) blanchet@57170: (let (($x22455 (or $x21994 $x15502 $x22506))) blanchet@57170: (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))) blanchet@57170: (let ((@x23003 (monotonicity ((_ th-lemma arith eq-propagate 0 0) (hypothesis $x15523) (hypothesis (not $x15525)) (= ?v0!13 0)) (= ?x15529 ?x10137)))) blanchet@57170: (let ((@x23005 (trans @x23003 (unit-resolution @x22447 @x15336 (hypothesis $x10138) $x22506) (= ?x15529 ?x22505)))) blanchet@57170: (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)))) blanchet@57170: (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)))) blanchet@57170: (let ((?x22685 (b_S_read_n_u1$ v_b_S_s$ ?x22505))) blanchet@57170: (let ((?x22773 (* (- 1) ?x22685))) blanchet@57170: (let ((?x22835 (+ ?x10144 ?x22773))) blanchet@57170: (let (($x22839 (>= ?x22835 0))) blanchet@57170: (let (($x22834 (= ?x10144 ?x22685))) blanchet@57170: (let ((@x23011 (symm (unit-resolution @x22447 @x15336 (hypothesis $x10138) $x22506) (= ?x22505 ?x10137)))) blanchet@57170: (let ((@x23020 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x22834) $x22839)) (symm (monotonicity @x23011 (= ?x22685 ?x10144)) $x22834) $x22839))) blanchet@57170: (let ((@x23023 (lemma ((_ th-lemma arith farkas 1 -1 -1 1) @x23020 @x23010 (hypothesis $x20589) @x23016 false) (or $x15502 $x15533 $x19297 $x15525 $x15511 $x20119)))) blanchet@57232: (let ((@x24012 (unit-resolution @x23023 @x22876 (unit-resolution (def-axiom (or $x20122 $x20116)) @x24016 $x20116) (or $x15533 $x19297 $x15525 $x15511)))) blanchet@57232: (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))) blanchet@57232: (let ((@x24417 (unit-resolution @x20962 @x22876 (unit-resolution (def-axiom (or $x20122 $x20116)) @x24016 $x20116) (or $x15511 $x20113)))) blanchet@57170: (let ((@x24506 (unit-resolution (def-axiom (or $x20110 $x20104)) (unit-resolution @x24417 @x23403 $x20113) $x20104))) blanchet@57170: (let ((@x24507 (unit-resolution (def-axiom (or $x20107 $x11385 $x20101)) (lemma ((_ th-lemma arith farkas 1 1) @x12041 (hypothesis $x11385) false) $x11382) @x24506 $x20101))) blanchet@57170: (let ((@x24462 (unit-resolution (def-axiom (or $x20095 $x19318 $x20089)) (unit-resolution (def-axiom (or $x20098 $x20092)) @x24507 $x20092) $x20092))) blanchet@57170: (let ((@x24496 (unit-resolution (def-axiom (or $x20086 $x20080)) (unit-resolution @x24462 (lemma @x24203 $x19313) $x20089) $x20080))) blanchet@57170: (let ((@x24578 (mp (unit-resolution @x20944 (unit-resolution @x24417 @x23403 $x20113) $x10145) (symm (commutativity (= $x10167 $x10145)) (= $x10145 $x10167)) $x10167))) blanchet@57170: (let ((@x24580 (unit-resolution (def-axiom (or $x20083 $x11259 $x15548 $x20077)) @x12041 (or $x20083 $x15548 $x20077)))) blanchet@57170: (let ((@x24583 (unit-resolution (unit-resolution @x24580 @x24578 (or $x20083 $x20077)) @x24496 $x20077))) blanchet@57170: (let ((@x24576 (unit-resolution (def-axiom (or $x20074 $x11901)) @x24583 $x11901))) blanchet@57170: (let ((@x24314 (unit-resolution (def-axiom (or $x20074 $x10192)) @x24583 $x10192))) blanchet@57170: (let ((@x24415 (unit-resolution (def-axiom (or $x20074 $x11868)) @x24583 $x11868))) blanchet@57170: (let ((@x24499 (unit-resolution (def-axiom (or $x20074 $x19898)) @x24583 $x19898))) blanchet@57170: (let (($x23168 (<= (+ v_b_L_H_p_G_0$ (* (- 1) ?v0!15)) 0))) blanchet@57170: (let (($x23092 (<= (+ v_b_L_H_max_G_1$ (* (- 1) v_b_S_result_G_0$)) 0))) blanchet@57170: (let (($x23088 (= v_b_L_H_max_G_1$ v_b_S_result_G_0$))) blanchet@57170: (let ((@x9231 (asserted b_S_position_n_marker$))) blanchet@57170: (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))) blanchet@57170: (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))) blanchet@57170: (let (($x20801 (not $x16031))) blanchet@57170: (let ((@x23175 (hypothesis $x10192))) blanchet@57170: (let ((@x23180 (hypothesis $x11868))) blanchet@57170: (let (($x23140 (not (= ?x10191 v_b_S_result_G_0$)))) blanchet@57170: (let (($x23145 (or $x20035 $x19501 $x19669 $x11867 $x23140))) blanchet@57170: (let (($x23036 (>= (+ v_b_SL_H_witness_G_0$ (* (- 1) v_b_P_H_len$)) 0))) blanchet@57170: (let (($x23141 (or $x19501 $x19669 $x23036 $x23140))) blanchet@57170: (let (($x23146 (or $x20035 $x23141))) blanchet@57170: (let (($x23046 (= (>= (+ (* (- 1) v_b_P_H_len$) v_b_SL_H_witness_G_0$) 0) $x11867))) blanchet@57170: (let (($x23044 (= $x23036 (>= (+ (* (- 1) v_b_P_H_len$) v_b_SL_H_witness_G_0$) 0)))) blanchet@57170: (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$)))) blanchet@57170: (let ((@x23049 (trans (monotonicity (rewrite $x23041) $x23044) (rewrite $x23046) (= $x23036 $x11867)))) blanchet@57170: (let ((@x23150 (monotonicity (monotonicity @x23049 (= $x23141 (or $x19501 $x19669 $x11867 $x23140))) (= $x23146 (or $x20035 (or $x19501 $x19669 $x11867 $x23140)))))) blanchet@57170: (let ((@x23154 (trans @x23150 (rewrite (= (or $x20035 (or $x19501 $x19669 $x11867 $x23140)) $x23145)) (= $x23146 $x23145)))) blanchet@57170: (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))) blanchet@57170: (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))) blanchet@57170: (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))) blanchet@57170: (let ((@x23308 ((_ th-lemma arith farkas -1 1 1) (hypothesis (>= (+ v_b_L_H_max_G_1$ ?x16029) 0)) (hypothesis $x20801) (hypothesis $x23092) false))) blanchet@57170: (let ((@x23312 (lemma @x23308 (or (not (>= (+ v_b_L_H_max_G_1$ ?x16029) 0)) $x16031 (not $x23092))))) blanchet@57170: (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))))) blanchet@57170: (let ((@x23333 (hypothesis $x19898))) blanchet@57170: (let (($x23188 (>= (+ v_b_L_H_max_G_1$ ?x16029) 0))) blanchet@57170: (let (($x23196 (or $x19903 $x19559 $x19560 $x23168 $x23188))) blanchet@57170: (let (($x23134 (<= (+ ?x15744 (* (- 1) v_b_L_H_max_G_1$)) 0))) blanchet@57170: (let (($x23114 (>= (+ ?v0!15 ?x11484) 0))) blanchet@57170: (let (($x23135 (or $x19559 $x19560 $x23114 $x23134))) blanchet@57170: (let (($x23197 (or $x19903 $x23135))) blanchet@57170: (let (($x23173 (= (+ ?x15744 (* (- 1) v_b_L_H_max_G_1$)) (+ (* (- 1) v_b_L_H_max_G_1$) ?x15744)))) blanchet@57170: (let ((@x23186 (monotonicity (rewrite $x23173) (= $x23134 (<= (+ (* (- 1) v_b_L_H_max_G_1$) ?x15744) 0))))) blanchet@57170: (let ((@x23192 (trans @x23186 (rewrite (= (<= (+ (* (- 1) v_b_L_H_max_G_1$) ?x15744) 0) $x23188)) (= $x23134 $x23188)))) blanchet@57170: (let ((@x23166 (monotonicity (rewrite (= (+ ?v0!15 ?x11484) (+ ?x11484 ?v0!15))) (= $x23114 (>= (+ ?x11484 ?v0!15) 0))))) blanchet@57170: (let ((@x23171 (trans @x23166 (rewrite (= (>= (+ ?x11484 ?v0!15) 0) $x23168)) (= $x23114 $x23168)))) blanchet@57170: (let ((@x23201 (monotonicity (monotonicity @x23171 @x23192 (= $x23135 (or $x19559 $x19560 $x23168 $x23188))) (= $x23197 (or $x19903 (or $x19559 $x19560 $x23168 $x23188)))))) blanchet@57170: (let ((@x23205 (trans @x23201 (rewrite (= (or $x19903 (or $x19559 $x19560 $x23168 $x23188)) $x23196)) (= $x23197 $x23196)))) blanchet@57170: (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)))) blanchet@57170: (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))) blanchet@57170: (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))) blanchet@57170: (let ((@x24502 (unit-resolution (def-axiom (or $x20071 $x20019 $x20065)) (unit-resolution (def-axiom (or $x20074 $x20068)) @x24583 $x20068) @x24500 $x20019))) blanchet@57232: (let ((@x24656 (unit-resolution (def-axiom (or $x20016 $x11487)) @x24502 $x11487))) blanchet@57232: (let ((@x24896 (mp @x22691 (symm (monotonicity @x24532 (= $x22596 $x22344)) (= $x22344 $x22596)) $x22596))) blanchet@57170: (let ((@x23420 (hypothesis $x11487))) blanchet@57170: (let (($x23378 (or $x22629 $x19677 $x21489 $x22597 $x19670 $x11486 $x23363))) blanchet@57170: (let (($x23360 (>= (+ v_b_L_H_p_G_0$ (* (- 1) v_b_P_H_len$)) 0))) blanchet@57170: (let (($x23364 (or $x19677 $x21489 $x22597 $x19670 $x23360 $x23363))) blanchet@57170: (let (($x23379 (or $x22629 $x23364))) blanchet@57170: (let ((@x23372 (rewrite (= (>= (+ (* (- 1) v_b_P_H_len$) v_b_L_H_p_G_0$) 0) $x11486)))) blanchet@57170: (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$)))) blanchet@57170: (let ((@x23370 (monotonicity (rewrite $x23366) (= $x23360 (>= (+ (* (- 1) v_b_P_H_len$) v_b_L_H_p_G_0$) 0))))) blanchet@57170: (let ((@x23377 (monotonicity (trans @x23370 @x23372 (= $x23360 $x11486)) (= $x23364 (or $x19677 $x21489 $x22597 $x19670 $x11486 $x23363))))) blanchet@57170: (let ((@x23383 (monotonicity @x23377 (= $x23379 (or $x22629 (or $x19677 $x21489 $x22597 $x19670 $x11486 $x23363)))))) blanchet@57170: (let ((@x23387 (trans @x23383 (rewrite (= (or $x22629 (or $x19677 $x21489 $x22597 $x19670 $x11486 $x23363)) $x23378)) (= $x23379 $x23378)))) blanchet@57170: (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))) blanchet@57170: (let ((@x23422 (unit-resolution @x23388 @x18670 @x9769 @x12050 (hypothesis $x11901) @x23420 (hypothesis $x22596) (hypothesis $x23362) false))) blanchet@57232: (let ((@x24759 (unit-resolution (lemma @x23422 (or $x23363 $x19670 $x11486 $x22597)) @x24896 (or $x23363 $x19670 $x11486)))) blanchet@57232: (let ((@x24697 (unit-resolution (def-axiom (or $x23362 $x23297)) (unit-resolution @x24759 @x24656 @x24576 $x23363) $x23297))) blanchet@57170: (let (($x23782 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x24218))) blanchet@57170: (let ((?x23727 (b_S_owner$ v_b_S_s$ ?x24218))) blanchet@57170: (let (($x23776 (= ?x23727 b_S_me$))) blanchet@57170: (let (($x23785 (or $x23776 $x23782))) blanchet@57170: (let (($x24475 (not $x23785))) blanchet@57232: (let ((?x23804 (b_S_typ$ ?x24218))) blanchet@57232: (let ((?x23768 (b_S_kind_n_of$ ?x23804))) blanchet@57170: (let (($x23769 (= ?x23768 b_S_kind_n_primitive$))) blanchet@57232: (let (($x23803 (not $x23797))) blanchet@57232: (let (($x24099 (not $x24098))) blanchet@57232: (let (($x24476 (or $x24099 $x23803 $x23769 $x24475))) blanchet@57232: (let (($x24604 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x23228))) blanchet@57232: (let (($x24478 (= (b_S_owner$ v_b_S_s$ ?x23228) b_S_me$))) blanchet@57232: (let (($x24602 (or $x24478 $x24604))) blanchet@57232: (let (($x24797 (not $x24602))) blanchet@57232: (let (($x24820 (or $x24098 $x24797))) blanchet@57232: (let (($x24655 (not $x24820))) blanchet@57170: (let (($x24474 (not $x24476))) blanchet@57232: (let (($x24912 (or $x24474 $x24655))) blanchet@57232: (let (($x24913 (not $x24912))) blanchet@57232: (let (($x24209 (b_S_typed$ v_b_S_s$ ?x23228))) blanchet@57170: (let (($x24210 (not $x24209))) blanchet@57232: (let (($x24931 (or $x24210 $x24913))) blanchet@57232: (let (($x24932 (not $x24931))) blanchet@57232: (let (($x23783 (b_S_thread_n_local$ v_b_S_s$ ?x23228))) blanchet@57232: (let (($x24934 (= $x23783 $x24932))) blanchet@57232: (let (($x24622 (or (not $x19072) $x24934))) blanchet@57232: (let ((@x24172 ((_ quant-inst v_b_S_s$ (b_S_ptr$ b_T_T_u1$ ?x23404)) $x24622))) blanchet@57170: (let (($x24628 (not $x23783))) blanchet@57170: (let ((@x24670 (monotonicity (symm (monotonicity @x25262 (= $x23783 $x10324)) (= $x10324 $x23783)) (= $x15599 $x24628)))) blanchet@57232: (let ((@x24708 (unit-resolution (def-axiom (or (not $x24934) $x23783 $x24931)) (mp (hypothesis $x15599) @x24670 $x24628) (unit-resolution @x24172 @x19075 $x24934) $x24931))) blanchet@57232: (let ((@x24785 (unit-resolution (def-axiom (or $x23362 $x10322)) (unit-resolution @x24759 @x24656 @x24576 $x23363) $x10322))) blanchet@57232: (let ((@x24710 (mp @x24785 (symm (monotonicity @x25262 (= $x24209 $x10322)) (= $x10322 $x24209)) $x24209))) blanchet@57232: (let ((@x24724 (unit-resolution (def-axiom (or $x24912 $x24476)) (unit-resolution (def-axiom (or $x24932 $x24210 $x24913)) @x24710 @x24708 $x24913) $x24476))) blanchet@57170: (let ((?x24320 (b_S_idx$ ?x22595 v_b_L_H_p_G_0$ b_T_T_u1$))) blanchet@57170: (let ((?x24321 (b_S_select_o_tm$ ?x10272 ?x24320))) blanchet@57170: (let ((?x24322 (b_S_ts_n_emb$ ?x24321))) blanchet@57170: (let (($x24323 (= ?x24322 ?x22595))) blanchet@57170: (let (($x24328 (b_S_typed$ v_b_S_s$ ?x24320))) blanchet@57170: (let (($x24329 (not $x24328))) blanchet@57170: (let (($x24325 (b_S_ts_n_is_n_volatile$ ?x24321))) blanchet@57170: (let (($x24324 (not $x24323))) blanchet@57170: (let (($x24330 (or $x24324 $x24325 (not (b_S_ts_n_is_n_array_n_elt$ ?x24321)) $x24329))) blanchet@57170: (let (($x24331 (not $x24330))) blanchet@57232: (let (($x25071 (or $x23252 $x24241 $x19670 $x11486 $x24331))) blanchet@57170: (let (($x24332 (or $x24241 $x19670 $x23360 $x24331))) blanchet@57232: (let (($x25072 (or $x23252 $x24332))) blanchet@57170: (let ((@x25070 (monotonicity (trans @x23370 @x23372 (= $x23360 $x11486)) (= $x24332 (or $x24241 $x19670 $x11486 $x24331))))) blanchet@57232: (let ((@x25080 (trans (monotonicity @x25070 (= $x25072 (or $x23252 (or $x24241 $x19670 $x11486 $x24331)))) (rewrite (= (or $x23252 (or $x24241 $x19670 $x11486 $x24331)) $x25071)) (= $x25072 $x25071)))) blanchet@57232: (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))) blanchet@57170: (let ((@x25083 (def-axiom (or $x24330 $x24323)))) blanchet@57170: (let ((?x24315 (b_S_ref$ ?x24198))) blanchet@57170: (let ((?x24367 (* (- 1) ?x24315))) blanchet@57170: (let ((?x24368 (+ ?x10079 ?x23278 ?x24367))) blanchet@57170: (let (($x24402 (<= ?x24368 0))) blanchet@57170: (let (($x24365 (= ?x24368 0))) blanchet@57170: (let (($x24384 (or $x21152 $x24365))) blanchet@57170: (let ((@x24394 (monotonicity (rewrite (= (= ?x24315 ?x24174) $x24365)) (= (or $x21152 (= ?x24315 ?x24174)) $x24384)))) blanchet@57170: (let ((@x24404 (trans @x24394 (rewrite (= $x24384 $x24384)) (= (or $x21152 (= ?x24315 ?x24174)) $x24384)))) blanchet@57170: (let ((@x24403 (mp ((_ quant-inst b_T_T_u1$ (+ ?x10079 ?x23278)) (or $x21152 (= ?x24315 ?x24174))) @x24404 $x24384))) blanchet@57170: (let ((@x25241 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x24365) $x24402)) (unit-resolution @x24403 @x19840 $x24365) $x24402))) blanchet@57170: (let (($x24407 (>= ?x24368 0))) blanchet@57170: (let ((@x25244 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x24365) $x24407)) (unit-resolution @x24403 @x19840 $x24365) $x24407))) blanchet@57170: (let ((?x24925 (+ ?x23278 ?x24419))) blanchet@57170: (let (($x25226 (= ?x24174 ?x24925))) blanchet@57170: (let ((?x25227 (* (- 1) ?x24925))) blanchet@57170: (let ((?x25228 (+ ?x24174 ?x25227))) blanchet@57170: (let (($x25229 (<= ?x25228 0))) blanchet@57232: (let ((?x24127 (* (- 1) ?x21014))) blanchet@57232: (let ((?x23641 (+ ?x10079 ?x24127))) blanchet@57232: (let (($x24104 (<= ?x23641 0))) blanchet@57232: (let ((@x25085 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x10079 ?x21014)) $x24104)) (symm (unit-resolution @x21192 @x19840 $x21186) (= ?x10079 ?x21014)) $x24104))) blanchet@57170: (let ((?x25173 (* (- 1) ?x24419))) blanchet@57170: (let ((?x25174 (+ ?x21014 ?x25173))) blanchet@57170: (let (($x25175 (<= ?x25174 0))) blanchet@57170: (let ((@x25090 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x21014 ?x24419)) $x25175)) (symm (monotonicity @x24520 (= ?x24419 ?x21014)) (= ?x21014 ?x24419)) $x25175))) blanchet@57232: (let ((@x25103 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x25229 (not $x24104) (not $x25175))) @x25090 @x25085 $x25229))) blanchet@57170: (let (($x25230 (>= ?x25228 0))) blanchet@57170: (let (($x23809 (>= ?x23641 0))) blanchet@57170: (let ((@x25106 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x10079 ?x21014)) $x23809)) (symm (unit-resolution @x21192 @x19840 $x21186) (= ?x10079 ?x21014)) $x23809))) blanchet@57170: (let (($x25176 (>= ?x25174 0))) blanchet@57170: (let ((@x25109 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x21014 ?x24419)) $x25176)) (symm (monotonicity @x24520 (= ?x24419 ?x21014)) (= ?x21014 ?x24419)) $x25176))) blanchet@57170: (let ((@x25098 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x25230 (not $x23809) (not $x25176))) @x25109 @x25106 $x25230))) blanchet@57170: (let ((@x25111 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x25226 (not $x25229) (not $x25230))) @x25098 @x25103 (hypothesis (not $x25226)) false))) blanchet@57170: (let ((@x25182 (trans (symm (lemma @x25111 $x25226) (= ?x24925 ?x24174)) ((_ th-lemma arith eq-propagate -1 -1) @x25244 @x25241 (= ?x24174 ?x24315)) (= ?x24925 ?x24315)))) blanchet@57170: (let ((@x25183 (trans @x25182 (monotonicity (symm @x24341 (= ?x24198 ?x10320)) (= ?x24315 ?x23404)) (= ?x24925 ?x23404)))) blanchet@57170: (let ((?x24930 (b_S_ptr$ b_T_T_u1$ ?x24925))) blanchet@57170: (let ((?x24463 (b_S_idx$ ?x21983 v_b_L_H_p_G_0$ b_T_T_u1$))) blanchet@57170: (let (($x25146 (= ?x24463 ?x24930))) blanchet@57170: (let (($x25152 (or (not (b_S_extent_n_hint$ ?x24463 ?x21983)) (not $x25146)))) blanchet@57170: (let (($x25155 (not $x25152))) blanchet@57170: (let (($x25158 (or $x22568 $x25155))) blanchet@57170: (let (($x24469 (not (= ?x24463 (b_S_ptr$ b_T_T_u1$ (+ ?x24419 (* v_b_L_H_p_G_0$ ?x10045))))))) blanchet@57170: (let (($x24471 (not (or (not (b_S_extent_n_hint$ ?x24463 ?x21983)) $x24469)))) blanchet@57170: (let (($x25147 (= (= ?x24463 (b_S_ptr$ b_T_T_u1$ (+ ?x24419 (* v_b_L_H_p_G_0$ ?x10045)))) $x25146))) blanchet@57170: (let ((@x25139 (monotonicity (rewrite (= (* v_b_L_H_p_G_0$ ?x10045) ?x23278)) (= (+ ?x24419 (* v_b_L_H_p_G_0$ ?x10045)) (+ ?x24419 ?x23278))))) blanchet@57170: (let ((@x25143 (trans @x25139 (rewrite (= (+ ?x24419 ?x23278) ?x24925)) (= (+ ?x24419 (* v_b_L_H_p_G_0$ ?x10045)) ?x24925)))) blanchet@57170: (let ((@x25145 (monotonicity @x25143 (= (b_S_ptr$ b_T_T_u1$ (+ ?x24419 (* v_b_L_H_p_G_0$ ?x10045))) ?x24930)))) blanchet@57170: (let ((@x25154 (monotonicity (monotonicity (monotonicity @x25145 $x25147) (= $x24469 (not $x25146))) (= (or (not (b_S_extent_n_hint$ ?x24463 ?x21983)) $x24469) $x25152)))) blanchet@57170: (let ((@x25162 (monotonicity (monotonicity @x25154 (= $x24471 $x25155)) (= (or $x22568 $x24471) $x25158)))) blanchet@57170: (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))) blanchet@57170: (let ((@x25257 (unit-resolution (def-axiom (or $x25152 $x25146)) (unit-resolution @x25166 @x18183 $x25155) $x25146))) blanchet@57232: (let ((@x25185 (trans (trans (monotonicity @x24532 (= ?x24320 ?x24463)) @x25257 (= ?x24320 ?x24930)) (monotonicity @x25183 (= ?x24930 ?x23228)) (= ?x24320 ?x23228)))) blanchet@57232: (let ((@x25217 (symm (monotonicity (trans @x25185 @x25262 (= ?x24320 ?x10320)) (= ?x24321 ?x23124)) (= ?x23124 ?x24321)))) blanchet@57232: (let ((@x25274 (monotonicity (monotonicity @x25262 (= ?x24217 ?x23124)) (= ?x24218 (b_S_ts_n_emb$ ?x23124))))) blanchet@57232: (let ((@x25219 (trans @x25274 (monotonicity @x25217 (= (b_S_ts_n_emb$ ?x23124) ?x24322)) (= ?x24218 ?x24322)))) blanchet@57170: (let ((@x25221 (trans (trans @x25219 (hypothesis $x24323) (= ?x24218 ?x22595)) @x24530 (= ?x24218 ?x10080)))) blanchet@57170: (let ((@x25293 (unit-resolution (hypothesis (not $x23776)) (trans (monotonicity @x25221 (= ?x23727 ?x10082)) @x12043 $x23776) false))) blanchet@57232: (let ((@x24057 (unit-resolution (lemma @x25293 (or $x24324 $x23776)) (unit-resolution @x25083 (lemma @x25137 $x24331) $x24323) $x23776))) blanchet@57232: (let ((?x23443 (b_S_ts_n_emb$ ?x23124))) blanchet@57170: (let ((?x23448 (b_S_typ$ ?x23443))) blanchet@57170: (let ((?x23449 (b_S_kind_n_of$ ?x23448))) blanchet@57170: (let (($x23450 (= ?x23449 b_S_kind_n_primitive$))) blanchet@57232: (let ((@x24651 (monotonicity (monotonicity (symm @x25274 (= ?x23443 ?x24218)) (= ?x23448 ?x23804)) (= ?x23449 ?x23768)))) blanchet@57170: (let (($x23598 (b_S_is_n_non_n_primitive$ ?x23448))) blanchet@57170: (let (($x23599 (not $x23598))) blanchet@57170: (let (($x23602 (or $x23450 $x23599))) blanchet@57170: (let (($x23603 (not $x23602))) blanchet@57170: (let (($x24666 (or (not $x19234) $x23603))) blanchet@57232: (let ((@x24626 ((_ quant-inst (b_S_select_o_tm$ ?x10272 ?x10320)) $x24666))) blanchet@57232: (let ((@x24965 (unit-resolution (def-axiom (or $x23602 (not $x23450))) (unit-resolution @x24626 @x19237 $x23603) (not $x23450)))) blanchet@57170: (let ((@x24645 (lemma (unit-resolution @x24965 (trans @x24651 (hypothesis $x23769) $x23450) false) (not $x23769)))) blanchet@57232: (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)))) blanchet@57232: (let ((@x24717 (unit-resolution @x24718 @x24724 (unit-resolution (def-axiom (or $x23797 $x23805)) (mp @x24697 @x24701 $x23770) $x23797) @x24696 false))) blanchet@57170: (let ((@x20784 (def-axiom (or $x20013 $x15590 $x15593 $x20007)))) blanchet@57232: (let ((@x24630 (unit-resolution (unit-resolution @x20784 @x24345 (or $x20013 $x15593 $x20007)) @x24785 (unit-resolution (def-axiom (or $x20016 $x20010)) @x24502 $x20010) $x20007))) blanchet@57170: (let ((@x20774 (def-axiom (or $x20004 $x19998)))) blanchet@57170: (let ((@x20768 (def-axiom (or $x20001 $x15590 $x15599 $x19995)))) blanchet@57232: (let ((@x25020 (unit-resolution (unit-resolution @x20768 @x24345 (or $x20001 $x15599 $x19995)) (unit-resolution @x20774 @x24630 $x19998) (or $x15599 $x19995)))) blanchet@57170: (let ((@x23989 (hypothesis $x19980))) blanchet@57232: (let ((@x25004 (unit-resolution (def-axiom (or $x19959 $x15590 $x15599 $x19953)) @x24345 (or $x19959 $x15599 $x19953)))) blanchet@57232: (let ((@x24684 (unit-resolution @x25004 (unit-resolution (def-axiom (or $x19992 $x10324)) (hypothesis $x19995) $x10324) (hypothesis $x19950) $x19959))) blanchet@57170: (let ((@x20748 (def-axiom (or $x19989 $x19977 $x19983)))) blanchet@57232: (let ((@x24916 (unit-resolution @x20748 (unit-resolution (def-axiom (or $x19992 $x19986)) (hypothesis $x19995) $x19986) @x23989 $x19977))) blanchet@57170: (let ((@x20716 (def-axiom (or $x19974 $x19968)))) blanchet@57232: (let ((@x24762 (unit-resolution (def-axiom (or $x19971 $x15590 $x15593 $x19965)) @x24345 (or $x19971 $x15593 $x19965)))) blanchet@57232: (let ((@x24920 (unit-resolution @x24762 (unit-resolution @x20716 @x24916 $x19968) (unit-resolution (def-axiom (or $x19962 $x19956)) @x24684 $x19962) @x24785 false))) blanchet@57232: (let ((@x24972 (unit-resolution (lemma @x24920 (or $x19992 $x19983 $x19953)) @x23989 (unit-resolution @x25020 (lemma @x24717 $x10324) $x19995) $x19953))) blanchet@57170: (let (($x13277 (<= v_b_P_H_len$ 4294967295))) blanchet@57170: (let (($x13272 (= (+ b_S_max_o_u4$ (* (- 1) v_b_P_H_len$)) (+ 4294967295 (* (- 1) v_b_P_H_len$))))) blanchet@57170: (let ((@x13276 (monotonicity (monotonicity @x6446 $x13272) (= $x11245 (>= (+ 4294967295 (* (- 1) v_b_P_H_len$)) 0))))) blanchet@57170: (let ((@x13281 (trans @x13276 (rewrite (= (>= (+ 4294967295 (* (- 1) v_b_P_H_len$)) 0) $x13277)) (= $x11245 $x13277)))) blanchet@57170: (let ((@x13282 (mp (and-elim @x12033 $x11245) @x13281 $x13277))) blanchet@57170: (let ((@x25068 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1) (or $x13353 (not $x13277) $x11486)) @x13282 (or $x13353 $x11486)))) blanchet@57232: (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)))) blanchet@57170: (let ((@x25021 (unit-resolution @x25023 (unit-resolution (def-axiom (or $x19950 $x19944)) @x24972 $x19944) $x19941))) blanchet@57170: (let ((@x20652 (def-axiom (or $x19938 $x19932)))) blanchet@57170: (let (($x20596 (>= ?x11582 (- 1)))) blanchet@57170: (let ((@x25129 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x19452 $x20596)) (unit-resolution (def-axiom (or $x19938 $x11580)) @x25021 $x11580) $x20596))) blanchet@57232: (let ((@x25134 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x11608 $x11486 (not $x20596))) @x24656 (or $x11608 (not $x20596))))) blanchet@57170: (let ((@x20638 (def-axiom (or $x19935 $x11612 $x19929)))) blanchet@57170: (let ((@x25133 (unit-resolution @x20638 (unit-resolution @x25134 @x25129 $x11608) (unit-resolution @x20652 @x25021 $x19932) $x19929))) blanchet@57170: (let ((@x20630 (def-axiom (or $x19926 $x19920)))) blanchet@57170: (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$)))) blanchet@57170: (let ((@x25118 (symm (unit-resolution (def-axiom (or $x19950 $x10333)) @x24972 $x10333) (= ?x10327 v_b_L_H_max_G_2$)))) blanchet@57170: (let ((@x25171 (monotonicity (unit-resolution (def-axiom (or $x19950 $x10340)) @x24972 $x10340) (= ?x10372 ?x10320)))) blanchet@57170: (let ((@x25190 (trans (monotonicity @x25171 (= ?x10373 ?x10327)) @x25118 (= ?x10373 v_b_L_H_max_G_2$)))) blanchet@57170: (let (($x24861 (>= (+ v_b_L_H_p_G_0$ (* (- 1) v_b_SL_H_witness_G_1$)) 0))) blanchet@57170: (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$)))) blanchet@57170: (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))) blanchet@57170: (let ((@x20614 (def-axiom (or $x19413 $x11647 (not $x10374))))) blanchet@57232: (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))) blanchet@57170: (let ((@x20618 (def-axiom (or $x19914 $x19412)))) blanchet@57170: (let ((@x20626 (def-axiom (or $x19923 $x19386 $x19917)))) blanchet@57170: (let ((@x25210 (unit-resolution @x20626 (unit-resolution @x20618 @x25206 $x19914) (unit-resolution @x20630 @x25133 $x19920) $x19386))) blanchet@57232: (let (($x24195 (>= (+ v_b_L_H_max_G_1$ ?x15891) 0))) blanchet@57232: (let (($x24206 (not $x24195))) blanchet@57170: (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$))) blanchet@57170: (let ((?x20720 (+ v_b_L_H_max_G_1$ ?x11631))) blanchet@57170: (let (($x20721 (<= ?x20720 0))) blanchet@57170: (let (($x24870 (<= (+ ?x10327 ?x11631) 0))) blanchet@57170: (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))) blanchet@57170: (let ((@x20758 (def-axiom (or $x19992 $x19986)))) blanchet@57170: (let ((@x25198 (unit-resolution @x20758 (unit-resolution @x25020 (lemma @x24717 $x10324) $x19995) $x19986))) blanchet@57170: (let ((@x25214 (unit-resolution (def-axiom (or $x19974 $x11515)) (unit-resolution @x20748 @x23989 @x25198 $x19977) $x11515))) blanchet@57170: (let ((@x24170 (hypothesis $x20721))) blanchet@57170: (let (($x20603 (not $x15893))) blanchet@57170: (let ((@x24171 (hypothesis $x20603))) blanchet@57232: (let ((@x24211 (lemma ((_ th-lemma arith farkas -1 1 1) (hypothesis $x24195) @x24171 @x24170 false) (or $x24206 $x15893 (not $x20721))))) blanchet@57170: (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))) blanchet@57170: (let ((?x15869 (* (- 1) ?v0!14))) blanchet@57170: (let ((?x23656 (+ v_b_L_H_p_G_0$ ?x15869))) blanchet@57232: (let (($x24926 (>= ?x23656 0))) blanchet@57170: (let ((@x24735 (hypothesis $x20596))) blanchet@57232: (let ((@x24918 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x24926 $x15871 (not $x20596))) (hypothesis $x15876) @x24735 $x24926))) blanchet@57170: (let (($x23657 (<= ?x23656 0))) blanchet@57232: (let (($x24882 (or $x19903 $x19365 $x19366 $x23657 $x24195))) blanchet@57170: (let (($x23648 (<= (+ ?x15634 (* (- 1) v_b_L_H_max_G_1$)) 0))) blanchet@57170: (let (($x23640 (>= (+ ?v0!14 ?x11484) 0))) blanchet@57170: (let (($x23649 (or $x19365 $x19366 $x23640 $x23648))) blanchet@57232: (let (($x24880 (or $x19903 $x23649))) blanchet@57232: (let (($x24587 (= (+ ?x15634 (* (- 1) v_b_L_H_max_G_1$)) (+ (* (- 1) v_b_L_H_max_G_1$) ?x15634)))) blanchet@57232: (let ((@x24936 (monotonicity (rewrite $x24587) (= $x23648 (<= (+ (* (- 1) v_b_L_H_max_G_1$) ?x15634) 0))))) blanchet@57232: (let ((@x24841 (trans @x24936 (rewrite (= (<= (+ (* (- 1) v_b_L_H_max_G_1$) ?x15634) 0) $x24195)) (= $x23648 $x24195)))) blanchet@57232: (let ((@x24943 (monotonicity (rewrite (= (+ ?v0!14 ?x11484) (+ ?x11484 ?v0!14))) (= $x23640 (>= (+ ?x11484 ?v0!14) 0))))) blanchet@57232: (let ((@x24623 (trans @x24943 (rewrite (= (>= (+ ?x11484 ?v0!14) 0) $x23657)) (= $x23640 $x23657)))) blanchet@57232: (let ((@x24818 (monotonicity (monotonicity @x24623 @x24841 (= $x23649 (or $x19365 $x19366 $x23657 $x24195))) (= $x24880 (or $x19903 (or $x19365 $x19366 $x23657 $x24195)))))) blanchet@57232: (let ((@x24597 (trans @x24818 (rewrite (= (or $x19903 (or $x19365 $x19366 $x23657 $x24195)) $x24882)) (= $x24880 $x24882)))) blanchet@57232: (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))) blanchet@57232: (let ((@x24984 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x25035 (not $x23657) (not $x24926))) @x24900 @x24918 (hypothesis (not $x25035)) false))) blanchet@57232: (let ((@x24787 (lemma @x24984 (or $x19381 $x25035 $x19903 $x24195 $x15871 (not $x20596))))) blanchet@57232: (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))) blanchet@57170: (let ((@x25060 (monotonicity (symm (hypothesis $x25035) (= ?v0!14 v_b_L_H_p_G_0$)) (= ?x15633 ?x10320)))) blanchet@57170: (let ((@x25064 (unit-resolution (hypothesis (not $x25038)) (symm (monotonicity @x25060 (= ?x15634 ?x10327)) $x25038) false))) blanchet@57170: (let ((@x25067 (lemma @x25064 (or (not $x25035) $x25038)))) blanchet@57170: (let ((@x25052 ((_ th-lemma arith triangle-eq) (or (not $x25038) $x25041)))) blanchet@57170: (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))) blanchet@57170: (let ((@x25299 (lemma @x25298 $x19983))) blanchet@57170: (let ((@x24908 (unit-resolution @x25023 (unit-resolution (def-axiom (or $x19980 $x19944)) @x25299 $x19944) $x19941))) blanchet@57170: (let ((@x24947 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x19452 $x20596)) (unit-resolution (def-axiom (or $x19938 $x11580)) @x24908 $x11580) $x20596))) blanchet@57170: (let ((@x24954 (unit-resolution @x20638 (unit-resolution @x25134 @x24947 $x11608) (unit-resolution @x20652 @x24908 $x19932) $x19929))) blanchet@57170: (let (($x20719 (= v_b_L_H_max_G_1$ v_b_L_H_max_G_3$))) blanchet@57170: (let ((@x25006 (mp (unit-resolution (def-axiom (or $x19980 $x10391)) @x25299 $x10391) (symm (commutativity (= $x20719 $x10391)) (= $x10391 $x20719)) $x20719))) blanchet@57170: (let (($x25065 (not $x25035))) blanchet@57170: (let (($x25044 (not $x25038))) blanchet@57170: (let (($x25049 (not $x25041))) blanchet@57170: (let ((@x25051 (lemma ((_ th-lemma arith farkas 1 -1 -1 1) (hypothesis $x25041) @x24170 @x24171 (hypothesis $x11516) false) (or $x25049 (not $x20721) $x15893 $x11515)))) blanchet@57232: (let ((@x24047 (unit-resolution @x25051 (unit-resolution (def-axiom (or $x19980 $x11516)) (hypothesis $x19983) $x11516) @x24171 @x24170 $x25049))) blanchet@57232: (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))) blanchet@57232: (let ((@x24887 (symm (unit-resolution (def-axiom (or $x19980 $x10391)) (hypothesis $x19983) $x10391) $x20719))) blanchet@57232: (let ((@x24982 (monotonicity (unit-resolution (def-axiom (or $x19980 $x10392)) (hypothesis $x19983) $x10392) (= ?x10372 ?x10190)))) blanchet@57232: (let ((@x24897 (trans (monotonicity @x24982 (= ?x10373 ?x10191)) @x23175 (= ?x10373 v_b_L_H_max_G_1$)))) blanchet@57170: (let ((?x11645 (* (- 1) v_b_SL_H_witness_G_1$))) blanchet@57170: (let ((?x20724 (+ v_b_SL_H_witness_G_0$ ?x11645))) blanchet@57170: (let (($x20726 (>= ?x20724 0))) blanchet@57170: (let (($x20723 (= v_b_SL_H_witness_G_0$ v_b_SL_H_witness_G_1$))) blanchet@57232: (let ((@x24788 (mp (unit-resolution (def-axiom (or $x19980 $x10392)) (hypothesis $x19983) $x10392) (symm (commutativity (= $x20723 $x10392)) (= $x10392 $x20723)) $x20723))) blanchet@57232: (let ((@x24909 (lemma ((_ th-lemma arith farkas 1 -1 1) (hypothesis $x20726) (hypothesis $x11647) @x23180 false) (or $x11648 (not $x20726) $x11867)))) blanchet@57232: (let ((@x24673 (unit-resolution @x24909 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x20723) $x20726)) @x24788 $x20726) @x23180 $x11648))) blanchet@57232: (let ((@x24789 (unit-resolution @x20618 (unit-resolution @x20614 @x24673 (trans @x24897 @x24887 $x10374) $x19413) $x19914))) blanchet@57170: (let ((@x20602 (def-axiom (or $x19381 $x15876)))) blanchet@57232: (let ((@x24914 (unit-resolution @x20602 (unit-resolution @x20626 @x24789 (unit-resolution @x20630 @x24884 $x19920) $x19386) $x15876))) blanchet@57232: (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))) blanchet@57232: (let ((@x24889 (lemma @x24915 (or $x19980 $x19903 (not $x20596) $x11867 $x15893 (not $x20721) $x19935 $x11486 $x19674)))) blanchet@57232: (let ((@x24843 (unit-resolution @x24889 @x24499 @x24415 @x24656 @x24314 (or $x19980 (not $x20596) $x15893 (not $x20721) $x19935)))) blanchet@57170: (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))) blanchet@57170: (let ((@x20605 (def-axiom (or $x19381 $x20603)))) blanchet@57170: (let ((@x25302 (monotonicity (unit-resolution (def-axiom (or $x19980 $x10392)) @x25299 $x10392) (= ?x10372 ?x10190)))) blanchet@57170: (let ((@x25305 (trans (monotonicity @x25302 (= ?x10373 ?x10191)) @x24314 (= ?x10373 v_b_L_H_max_G_1$)))) blanchet@57170: (let ((@x25306 (trans @x25305 (symm (unit-resolution (def-axiom (or $x19980 $x10391)) @x25299 $x10391) $x20719) $x10374))) blanchet@57170: (let ((@x25307 (mp (unit-resolution (def-axiom (or $x19980 $x10392)) @x25299 $x10392) (symm (commutativity (= $x20723 $x10392)) (= $x10392 $x20723)) $x20723))) blanchet@57232: (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))) blanchet@57170: (unit-resolution @x20626 (unit-resolution @x20618 (unit-resolution @x20614 @x25311 @x25306 $x19413) $x19914) (unit-resolution @x20605 @x24844 $x19381) (unit-resolution @x20630 @x24954 $x19920) false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) blanchet@57170: