0.11/0.12 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.11/0.13 % Command : do_cvc5 %s %d 0.12/0.34 % Computer : n014.cluster.edu 0.12/0.34 % Model : x86_64 x86_64 0.12/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.12/0.34 % Memory : 8042.1875MB 0.12/0.34 % OS : Linux 3.10.0-693.el7.x86_64 0.12/0.34 % CPULimit : 960 0.12/0.34 % WCLimit : 120 0.12/0.34 % DateTime : Tue Aug 9 05:02:01 EDT 2022 0.12/0.35 % CPUTime : 0.19/0.49 %----Proving TF0_ARI 15.53/15.91 ------- cvc5-tfa casc j11 : /export/starexec/sandbox/benchmark/theBenchmark.p at /export/starexec/sandbox/benchmark/theBenchmark.p... 15.53/15.91 --- Run --finite-model-find --decision=internal at 15... 15.53/15.91 --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 15... 15.53/15.91 % SZS status Theorem for theBenchmark 15.53/15.91 % SZS output start Proof for theBenchmark 15.53/15.91 (let ((_let_1 (forall ((A ty) (Z uni) (Z1 uni) (Z2 uni) (U rope1) (U1 rope1) (U2 Int)) (=> (sort1 A Z2) (= (match_rope1 A (app3 U U1 U2) Z Z1 Z2) Z2))))) (let ((_let_2 (not (forall ((Q Int) (Q1 map_int_rope) (R rope1)) (let ((_let_1 (+ max3 1))) (=> (and (<= 0 Q) (< 2 Q) (= Q _let_1) (inv1 R) (forall ((J Int)) (=> (and (<= J max3) (<= 2 J)) (inv1 (tb2t2 (get rope int (t2tb3 Q1) (t2tb J)))))) (< (+ (length3 (string_of_queue1 (tb2t1 (mk_array1 rope Q (t2tb3 Q1))))) (tb2t (match_rope1 int R (t2tb 0) (t2tb (str_proj_31 R)) (t2tb (app_proj_31 R))))) (fib1 _let_1))) (forall ((X rope1) (X1 rope1) (X2 Int)) (let ((_let_1 (+ max3 1))) (=> (= R (app3 X X1 X2)) (=> (and (inv1 X) (forall ((J Int)) (=> (and (<= J max3) (<= 2 J)) (inv1 (tb2t2 (get rope int (t2tb3 Q1) (t2tb J)))))) (< (+ (length3 (string_of_queue1 (tb2t1 (mk_array1 rope Q (t2tb3 Q1))))) (tb2t (match_rope1 int X (t2tb 0) (t2tb (str_proj_31 X)) (t2tb (app_proj_31 X))))) (fib1 _let_1)) (= Q _let_1) (< 2 Q)) (forall ((Q2 map_int_rope)) (let ((_let_1 (string_of_queue1 (tb2t1 (mk_array1 rope Q (t2tb3 Q2)))))) (=> (and (<= 0 Q) (infix_eqeq1 _let_1 (app2 (string_of_queue1 (tb2t1 (mk_array1 rope Q (t2tb3 Q1)))) (string3 X))) (forall ((J Int)) (=> (and (<= J max3) (<= 2 J)) (inv1 (tb2t2 (get rope int (t2tb3 Q2) (t2tb J))))))) (< (+ (length3 _let_1) (tb2t (match_rope1 int X1 (t2tb 0) (t2tb (str_proj_31 X1)) (t2tb (app_proj_31 X1))))) (fib1 (+ max3 1)))))))))))))))) (let ((_let_3 (forall ((U rope1) (U1 rope1) (U2 Int)) (= (app_proj_31 (app3 U U1 U2)) U2)))) (let ((_let_4 (and (inv1 emp1) (forall ((X string2) (X1 Int) (X2 Int)) (let ((_let_1 (length3 X))) (= (inv1 (str1 X X1 X2)) (and (<= (+ X1 X2) _let_1) (< X1 _let_1) (<= 0 X1) (< 0 X2))))) (forall ((X rope1) (X1 rope1) (X2 Int)) (let ((_let_1 (length4 X1))) (let ((_let_2 (length4 X))) (= (and (< 0 _let_2) (< 0 _let_1) (inv1 X1) (= X2 (+ _let_2 _let_1)) (inv1 X)) (inv1 (app3 X X1 X2))))))))) (let ((_let_5 (forall ((X Int)) (sort1 int (t2tb X))))) (let ((_let_6 (forall ((R rope1)) (=> (inv1 R) (= (length3 (string3 R)) (length4 R)))))) (let ((_let_7 (forall ((A ty) (Z uni) (Z1 uni) (Z2 uni) (U string2) (U1 Int) (U2 Int)) (=> (sort1 A Z1) (= (match_rope1 A (str1 U U1 U2) Z Z1 Z2) Z1))))) (let ((_let_8 (forall ((I Int)) (= (tb2t (t2tb I)) I)))) (let ((_let_9 (= (length4 emp1) 0))) (let ((_let_10 (and _let_9 (forall ((X string2) (X1 Int) (X2 Int)) (= (length4 (str1 X X1 X2)) X2)) (forall ((X rope1) (X1 rope1) (X2 Int)) (= (length4 (app3 X X1 X2)) X2))))) (let ((_let_11 (forall ((S1 string2) (S2 string2)) (= (infix_eqeq1 S1 S2) (and (= (length3 S1) (length3 S2)) (forall ((I Int)) (=> (and (<= 0 I) (< I (length3 S1))) (= (mixfix_lbrb1 S1 I) (mixfix_lbrb1 S2 I))))))))) (let ((_let_12 (forall ((U rope1)) (or (= U emp1) (= U (str1 (str_proj_11 U) (str_proj_21 U) (str_proj_31 U))) (= U (app3 (app_proj_11 U) (app_proj_21 U) (app_proj_31 U))))))) (let ((_let_13 (forall ((S1 string2) (S2 string2)) (= (length3 (app2 S1 S2)) (+ (length3 S1) (length3 S2)))))) (let ((_let_14 (app3 skv_6 skv_5 skv_4))) (let ((_let_15 (app_proj_31 _let_14))) (let ((_let_16 (t2tb _let_15))) (let ((_let_17 (t2tb (str_proj_31 _let_14)))) (let ((_let_18 (t2tb 0))) (let ((_let_19 (match_rope1 int _let_14 _let_18 _let_17 _let_16))) (let ((_let_20 (tb2t _let_19))) (let ((_let_21 (+ 1 max3))) (let ((_let_22 (string_of_queue1 (tb2t1 (mk_array1 rope _let_21 (t2tb3 skv_3)))))) (let ((_let_23 (length3 _let_22))) (let ((_let_24 (* (- 1) _let_23))) (let ((_let_25 (fib1 _let_21))) (let ((_let_26 (>= (+ _let_25 _let_24 (* (- 1) _let_20)) 1))) (let ((_let_27 (string_of_queue1 (tb2t1 (mk_array1 rope _let_21 (t2tb3 skv_7)))))) (let ((_let_28 (length3 _let_27))) (let ((_let_29 (app_proj_31 skv_5))) (let ((_let_30 (t2tb _let_29))) (let ((_let_31 (str_proj_31 skv_5))) (let ((_let_32 (t2tb _let_31))) (let ((_let_33 (tb2t (match_rope1 int skv_5 _let_18 _let_32 _let_30)))) (let ((_let_34 (* (- 1) _let_33))) (let ((_let_35 (+ _let_25 _let_34 (* (- 1) _let_28)))) (let ((_let_36 (>= _let_35 1))) (let ((_let_37 (string3 skv_6))) (let ((_let_38 (app2 _let_22 _let_37))) (let ((_let_39 (length3 _let_38))) (let ((_let_40 (length3 _let_37))) (let ((_let_41 (= _let_23 (+ (* (- 1) _let_40) _let_39)))) (let ((_let_42 (= _let_29 (tb2t _let_30)))) (let ((_let_43 (= _let_15 (tb2t _let_16)))) (let ((_let_44 (= skv_4 _let_15))) (let ((_let_45 (length4 skv_6))) (let ((_let_46 (= _let_40 _let_45))) (let ((_let_47 (= _let_16 _let_19))) (let ((_let_48 (= _let_28 _let_39))) (let ((_let_49 (length4 skv_5))) (let ((_let_50 (+ _let_45 _let_49))) (let ((_let_51 (= skv_4 _let_50))) (let ((_let_52 (app_proj_21 skv_5))) (let ((_let_53 (app_proj_11 skv_5))) (let ((_let_54 (app3 _let_53 _let_52 _let_29))) (let ((_let_55 (= _let_29 (length4 _let_54)))) (let ((_let_56 (= skv_5 _let_54))) (let ((_let_57 (length4 _let_52))) (let ((_let_58 (length4 _let_53))) (let ((_let_59 (+ _let_58 _let_57))) (let ((_let_60 (= _let_29 _let_59))) (let ((_let_61 (= _let_30 (match_rope1 int _let_54 _let_18 _let_32 _let_30)))) (let ((_let_62 (not (forall ((J Int)) (or (not (>= (+ max3 (* (- 1) J)) 0)) (not (>= J 2)) (inv1 (tb2t2 (get rope int (t2tb3 skv_7) (t2tb J))))))))) (let ((_let_63 (infix_eqeq1 _let_27 _let_38))) (let ((_let_64 (not _let_63))) (let ((_let_65 (* (- 1) (tb2t (match_rope1 int skv_6 _let_18 (t2tb (str_proj_31 skv_6)) (t2tb (app_proj_31 skv_6))))))) (let ((_let_66 (inv1 skv_6))) (let ((_let_67 (not _let_66))) (let ((_let_68 (not (forall ((J Int)) (or (not (>= (+ max3 (* (- 1) J)) 0)) (not (>= J 2)) (inv1 (tb2t2 (get rope int (t2tb3 skv_3) (t2tb J))))))))) (let ((_let_69 (not _let_26))) (let ((_let_70 (inv1 _let_14))) (let ((_let_71 (not _let_70))) (let ((_let_72 (not (forall ((J Int)) (or (not (>= (+ max3 (* (- 1) J)) 0)) (not (>= J 2)) (inv1 (tb2t2 (get rope int (t2tb3 skv_3) (t2tb J))))))))) (let ((_let_73 (or _let_72 _let_71 _let_69 _let_68 _let_67 (not (>= (+ _let_25 _let_24 _let_65) 1)) _let_64 _let_62 _let_36))) (let ((_let_74 (forall ((Q1 map_int_rope) (BOUND_VARIABLE_2551 Int) (BOUND_VARIABLE_2549 rope1) (BOUND_VARIABLE_2547 rope1) (BOUND_VARIABLE_2553 map_int_rope)) (let ((_let_1 (+ 1 max3))) (let ((_let_2 (string_of_queue1 (tb2t1 (mk_array1 rope _let_1 (t2tb3 BOUND_VARIABLE_2553)))))) (let ((_let_3 (t2tb 0))) (let ((_let_4 (fib1 _let_1))) (let ((_let_5 (string_of_queue1 (tb2t1 (mk_array1 rope _let_1 (t2tb3 Q1)))))) (let ((_let_6 (* (- 1) (length3 _let_5)))) (let ((_let_7 (app3 BOUND_VARIABLE_2547 BOUND_VARIABLE_2549 BOUND_VARIABLE_2551))) (or (not (forall ((J Int)) (or (not (>= (+ max3 (* (- 1) J)) 0)) (not (>= J 2)) (inv1 (tb2t2 (get rope int (t2tb3 Q1) (t2tb J))))))) (not (inv1 _let_7)) (not (>= (+ _let_4 _let_6 (* (- 1) (tb2t (match_rope1 int _let_7 _let_3 (t2tb (str_proj_31 _let_7)) (t2tb (app_proj_31 _let_7)))))) 1)) (not (forall ((J Int)) (or (not (>= (+ max3 (* (- 1) J)) 0)) (not (>= J 2)) (inv1 (tb2t2 (get rope int (t2tb3 Q1) (t2tb J))))))) (not (inv1 BOUND_VARIABLE_2547)) (not (>= (+ _let_4 (* (- 1) (tb2t (match_rope1 int BOUND_VARIABLE_2547 _let_3 (t2tb (str_proj_31 BOUND_VARIABLE_2547)) (t2tb (app_proj_31 BOUND_VARIABLE_2547))))) _let_6) 1)) (not (infix_eqeq1 _let_2 (app2 _let_5 (string3 BOUND_VARIABLE_2547)))) (not (forall ((J Int)) (or (not (>= (+ max3 (* (- 1) J)) 0)) (not (>= J 2)) (inv1 (tb2t2 (get rope int (t2tb3 BOUND_VARIABLE_2553) (t2tb J))))))) (>= (+ _let_4 (* (- 1) (tb2t (match_rope1 int BOUND_VARIABLE_2549 _let_3 (t2tb (str_proj_31 BOUND_VARIABLE_2549)) (t2tb (app_proj_31 BOUND_VARIABLE_2549))))) (* (- 1) (length3 _let_2))) 1)))))))))))) (let ((_let_75 (not _let_73))) (let ((_let_76 (2))) (let ((_let_77 (OR))) (let ((_let_78 (not _let_74))) (let ((_let_79 (_let_78))) (let ((_let_80 (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (IMPLIES_ELIM (EQ_RESOLVE (SCOPE (SKOLEMIZE (ASSUME :args _let_79)) :args _let_79) (REWRITE :args ((=> _let_78 (not (or _let_72 _let_71 _let_69 _let_68 _let_67 (not (>= (+ _let_25 _let_65 _let_24) 1)) _let_64 _let_62 _let_36))))))) (CONG (MACRO_SR_PRED_INTRO :args ((= (not _let_78) _let_74))) (REFL :args (_let_75)) :args _let_77)) (NOT_OR_ELIM (EQ_RESOLVE (ASSUME :args (_let_2)) (MACRO_SR_EQ_INTRO :args (_let_2 SB_DEFAULT SBA_FIXPOINT))) :args _let_76) :args (_let_75 true _let_74)))) (let ((_let_81 (REFL :args (_let_73)))) (let ((_let_82 (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_73 2)) (CONG _let_81 (MACRO_SR_PRED_INTRO :args ((= (not _let_69) _let_26))) :args _let_77)) :args ((or _let_26 _let_73))) _let_80 :args (_let_26 true _let_73)))) (let ((_let_83 (not _let_36))) (let ((_let_84 (MACRO_RESOLUTION_TRUST (CNF_OR_NEG :args (_let_73 8)) _let_80 :args (_let_83 true _let_73)))) (let ((_let_85 (forall ((S1 string2) (S2 string2)) (= (length3 S1) (+ (* (- 1) (length3 S2)) (length3 (app2 S1 S2))))))) (let ((_let_86 (EQ_RESOLVE (ASSUME :args (_let_13)) (MACRO_SR_EQ_INTRO :args (_let_13 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_87 (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_86 :args (_let_22 _let_37 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((app2 S1 S2)))) :args (_let_85))) _let_86 :args (_let_41 false _let_85)))) (let ((_let_88 (forall ((I Int)) (= I (tb2t (t2tb I)))))) (let ((_let_89 (EQ_RESOLVE (ASSUME :args (_let_8)) (MACRO_SR_EQ_INTRO :args (_let_8 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_90 (_let_88))) (let ((_let_91 ((t2tb I)))) (let ((_let_92 (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_89 :args (_let_15 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_91)) :args _let_90)) _let_89 :args (_let_43 false _let_88)))) (let ((_let_93 (forall ((U rope1) (U1 rope1) (U2 Int)) (= U2 (app_proj_31 (app3 U U1 U2)))))) (let ((_let_94 (EQ_RESOLVE (ASSUME :args (_let_3)) (MACRO_SR_EQ_INTRO :args (_let_3 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_95 (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_94 :args (skv_6 skv_5 skv_4 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((app3 U U1 U2)))) :args (_let_93))) _let_94 :args (_let_44 false _let_93)))) (let ((_let_96 (or _let_67 _let_46))) (let ((_let_97 (forall ((R rope1)) (or (not (inv1 R)) (= (length4 R) (length3 (string3 R))))))) (let ((_let_98 (EQ_RESOLVE (ASSUME :args (_let_6)) (MACRO_SR_EQ_INTRO :args (_let_6 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_99 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_96)) :args ((or _let_67 _let_46 (not _let_96)))) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_73 4)) (CONG _let_81 (MACRO_SR_PRED_INTRO :args ((= (not _let_67) _let_66))) :args _let_77)) :args ((or _let_66 _let_73))) _let_80 :args (_let_66 true _let_73)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_98 :args (skv_6 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((not (= (inv1 R) false))))) :args (_let_97)))) _let_98 :args (_let_96 false _let_97)) :args (_let_46 false _let_66 false _let_96)))) (let ((_let_100 (sort1 int _let_16))) (let ((_let_101 (not _let_100))) (let ((_let_102 (or _let_101 _let_47))) (let ((_let_103 (forall ((A ty) (Z uni) (Z1 uni) (Z2 uni) (U rope1) (U1 rope1) (U2 Int)) (or (not (sort1 A Z2)) (= Z2 (match_rope1 A (app3 U U1 U2) Z Z1 Z2)))))) (let ((_let_104 (EQ_RESOLVE (ASSUME :args (_let_1)) (MACRO_SR_EQ_INTRO :args (_let_1 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_105 (_let_103))) (let ((_let_106 ((match_rope1 A (app3 U U1 U2) Z Z1 Z2)))) (let ((_let_107 (_let_5))) (let ((_let_108 (ASSUME :args _let_107))) (let ((_let_109 ((t2tb X)))) (let ((_let_110 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_102)) :args ((or _let_101 _let_47 (not _let_102)))) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_108 :args (_let_15 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_109)) :args _let_107)) _let_108 :args (_let_100 false _let_5)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_104 :args (int _let_18 _let_17 _let_16 skv_6 skv_5 skv_4 QUANTIFIERS_INST_E_MATCHING _let_106)) :args _let_105)) _let_104 :args (_let_102 false _let_103)) :args (_let_47 false _let_100 false _let_102)))) (let ((_let_111 (and _let_48 (forall ((I Int)) (let ((_let_1 (+ 1 max3))) (let ((_let_2 (string_of_queue1 (tb2t1 (mk_array1 rope _let_1 (t2tb3 skv_7)))))) (or (not (>= I 0)) (>= (+ I (* (- 1) (length3 _let_2))) 0) (= (mixfix_lbrb1 (app2 (string_of_queue1 (tb2t1 (mk_array1 rope _let_1 (t2tb3 skv_3)))) (string3 skv_6)) I) (mixfix_lbrb1 _let_2 I))))))))) (let ((_let_112 (= _let_63 _let_111))) (let ((_let_113 (forall ((S1 string2) (S2 string2)) (= (infix_eqeq1 S1 S2) (and (= (length3 S2) (length3 S1)) (forall ((I Int)) (or (not (>= I 0)) (>= (+ I (* (- 1) (length3 S1))) 0) (= (mixfix_lbrb1 S2 I) (mixfix_lbrb1 S1 I))))))))) (let ((_let_114 (EQ_RESOLVE (ASSUME :args (_let_11)) (MACRO_SR_EQ_INTRO :args (_let_11 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_115 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_111 0)) :args ((or _let_48 (not _let_111)))) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_EQUIV_POS1 :args (_let_112)) :args ((or _let_64 _let_111 (not _let_112)))) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_73 6)) (CONG _let_81 (MACRO_SR_PRED_INTRO :args ((= (not _let_64) _let_63))) :args _let_77)) :args ((or _let_63 _let_73))) _let_80 :args (_let_63 true _let_73)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_114 :args (_let_27 _let_38 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((infix_eqeq1 S1 S2)))) :args (_let_113)))) _let_114 :args (_let_112 false _let_113)) :args (_let_111 false _let_63 false _let_112)) :args (_let_48 false _let_111)))) (let ((_let_116 (inv1 skv_5))) (let ((_let_117 (>= _let_49 1))) (let ((_let_118 (and (>= _let_45 1) _let_117 _let_116 _let_51 _let_66))) (let ((_let_119 (= _let_70 _let_118))) (let ((_let_120 (forall ((X rope1) (X1 rope1) (X2 Int)) (let ((_let_1 (length4 X1))) (let ((_let_2 (length4 X))) (= (inv1 (app3 X X1 X2)) (and (>= _let_2 1) (>= _let_1 1) (inv1 X1) (= X2 (+ _let_2 _let_1)) (inv1 X)))))))) (let ((_let_121 (AND_ELIM (EQ_RESOLVE (ASSUME :args (_let_4)) (MACRO_SR_EQ_INTRO :args (_let_4 SB_DEFAULT SBA_FIXPOINT))) :args _let_76))) (let ((_let_122 (_let_120))) (let ((_let_123 ((app3 X X1 X2)))) (let ((_let_124 (ASSUME :args _let_122))) (let ((_let_125 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_EQUIV_POS1 :args (_let_119)) :args ((or _let_71 _let_118 (not _let_119)))) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_73 1)) (CONG _let_81 (MACRO_SR_PRED_INTRO :args ((= (not _let_71) _let_70))) :args _let_77)) :args ((or _let_70 _let_73))) _let_80 :args (_let_70 true _let_73)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_124 :args (skv_6 skv_5 skv_4 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_123)) :args _let_122)) _let_121 :args (_let_119 false _let_120)) :args (_let_118 false _let_70 false _let_119)))) (let ((_let_126 (not _let_118))) (let ((_let_127 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_118 3)) :args ((or _let_51 _let_126))) _let_125 :args (_let_51 false _let_118)))) (let ((_let_128 (forall ((X rope1) (X1 rope1) (X2 Int)) (= X2 (length4 (app3 X X1 X2)))))) (let ((_let_129 (EQ_RESOLVE (ASSUME :args (_let_10)) (MACRO_SR_EQ_INTRO :args (_let_10 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_130 (_let_128))) (let ((_let_131 (str_proj_21 skv_5))) (let ((_let_132 (str_proj_11 skv_5))) (let ((_let_133 (str1 _let_132 _let_131 _let_31))) (let ((_let_134 (= skv_5 _let_133))) (let ((_let_135 (= emp1 skv_5))) (let ((_let_136 (or _let_135 _let_134 _let_56))) (let ((_let_137 (forall ((U rope1)) (or (= emp1 U) (= U (str1 (str_proj_11 U) (str_proj_21 U) (str_proj_31 U))) (= U (app3 (app_proj_11 U) (app_proj_21 U) (app_proj_31 U))))))) (let ((_let_138 (EQ_RESOLVE (ASSUME :args (_let_12)) (MACRO_SR_EQ_INTRO :args (_let_12 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_139 (= _let_32 (match_rope1 int _let_133 _let_18 _let_32 _let_30)))) (let ((_let_140 (= _let_31 (length4 _let_133)))) (let ((_let_141 (= _let_31 (tb2t _let_32)))) (let ((_let_142 (not _let_134))) (let ((_let_143 (sort1 int _let_32))) (let ((_let_144 (not _let_143))) (let ((_let_145 (or _let_144 _let_139))) (let ((_let_146 (forall ((A ty) (Z uni) (Z1 uni) (Z2 uni) (U string2) (U1 Int) (U2 Int)) (or (not (sort1 A Z1)) (= Z1 (match_rope1 A (str1 U U1 U2) Z Z1 Z2)))))) (let ((_let_147 (EQ_RESOLVE (ASSUME :args (_let_7)) (MACRO_SR_EQ_INTRO :args (_let_7 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_148 (forall ((X string2) (X1 Int) (X2 Int)) (= X2 (length4 (str1 X X1 X2)))))) (let ((_let_149 (_let_148))) (let ((_let_150 (REFL :args ((not _let_47))))) (let ((_let_151 (REFL :args ((not _let_44))))) (let ((_let_152 (REFL :args ((not _let_51))))) (let ((_let_153 (REFL :args ((not _let_46))))) (let ((_let_154 (REFL :args ((not _let_43))))) (let ((_let_155 (REFL :args ((not _let_48))))) (let ((_let_156 (REFL :args ((not _let_41))))) (let ((_let_157 (MACRO_SR_PRED_INTRO :args ((= (not _let_83) _let_36))))) (let ((_let_158 (REFL :args (_let_69)))) (let ((_let_159 (= _let_31 _let_33))) (let ((_let_160 (= _let_45 _let_40))) (let ((_let_161 (= _let_50 _let_20))) (let ((_let_162 (= _let_31 _let_49))) (let ((_let_163 (= (+ _let_31 _let_34) 0))) (let ((_let_164 ((not _let_163)))) (let ((_let_165 (_let_163))) (let ((_let_166 (false))) (let ((_let_167 (* (- 1) _let_49))) (let ((_let_168 (* (- 1) _let_45))) (let ((_let_169 (MACRO_SR_PRED_TRANSFORM (ASSUME :args (_let_161)) :args ((= (+ _let_20 _let_168 _let_167) 0))))) (let ((_let_170 (ASSUME :args (_let_26)))) (let ((_let_171 (* (- 1) _let_39))) (let ((_let_172 (ASSUME :args (_let_48)))) (let ((_let_173 (MACRO_SR_PRED_TRANSFORM _let_172 :args ((= (+ _let_28 _let_171) 0))))) (let ((_let_174 (MACRO_SR_PRED_TRANSFORM (ASSUME :args (_let_160)) :args ((= (+ _let_40 _let_168) 0))))) (let ((_let_175 (ASSUME :args (_let_41)))) (let ((_let_176 (MACRO_SR_PRED_TRANSFORM _let_175 :args ((= (+ _let_23 _let_40 _let_171) 0))))) (let ((_let_177 (ASSUME :args (_let_83)))) (let ((_let_178 (MACRO_SR_PRED_TRANSFORM _let_177 :args ((< _let_35 1))))) (let ((_let_179 (APPLY_UF tb2t))) (let ((_let_180 (APPLY_UF match_rope1))) (let ((_let_181 (REFL :args (_let_30)))) (let ((_let_182 (REFL :args (_let_32)))) (let ((_let_183 (REFL :args (_let_18)))) (let ((_let_184 (ASSUME :args (_let_134)))) (let ((_let_185 (SYMM _let_184))) (let ((_let_186 (REFL :args (int)))) (let ((_let_187 (ASSUME :args (_let_139)))) (let ((_let_188 (ASSUME :args (_let_141)))) (let ((_let_189 (_let_46))) (let ((_let_190 (ASSUME :args _let_189))) (let ((_let_191 (MODUS_PONENS _let_190 (SCOPE (SYMM _let_190) :args _let_189)))) (let ((_let_192 ((= _let_20 _let_50)))) (let ((_let_193 (ASSUME :args (_let_51)))) (let ((_let_194 (ASSUME :args (_let_44)))) (let ((_let_195 (ASSUME :args (_let_43)))) (let ((_let_196 (ASSUME :args (_let_47)))) (let ((_let_197 (MODUS_PONENS (MODUS_PONENS (AND_INTRO _let_193 _let_194 _let_195 _let_196) (SCOPE (TRANS (CONG (SYMM _let_196) :args _let_179) (SYMM _let_195) (SYMM _let_194) (SYMM (SYMM _let_193))) :args (_let_51 _let_44 _let_43 _let_47))) (SCOPE (SYMM (ASSUME :args _let_192)) :args _let_192)))) (let ((_let_198 (APPLY_UF length4))) (let ((_let_199 (ASSUME :args (_let_140)))) (let ((_let_200 (= 0 _let_49))) (let ((_let_201 (= _let_49 0))) (let ((_let_202 (_let_201))) (let ((_let_203 (ASSUME :args (_let_117)))) (let ((_let_204 (ASSUME :args (_let_135)))) (let ((_let_205 (ASSUME :args (_let_9)))) (let ((_let_206 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_136)) :args ((or _let_135 _let_134 _let_56 (not _let_136)))) (MACRO_RESOLUTION_TRUST (NOT_AND (MACRO_SR_PRED_TRANSFORM (SCOPE (AND_INTRO (MODUS_PONENS (AND_INTRO _let_204 _let_205) (SCOPE (TRANS (SYMM _let_205) (CONG (SYMM (SYMM _let_204)) :args _let_198)) :args (_let_135 _let_9))) _let_203) :args (_let_9 _let_135 _let_117)) (SCOPE (CONTRA (MACRO_SR_PRED_TRANSFORM (MACRO_SR_PRED_TRANSFORM (ASSUME :args (_let_200)) :args _let_202) :args _let_202) (MACRO_SR_PRED_TRANSFORM (SCOPE (MACRO_SR_PRED_TRANSFORM (MACRO_ARITH_SCALE_SUM_UB (ASSUME :args _let_202) _let_203 :args (1.0 (- 1.0))) :args _let_166) :args _let_202) :args ((not _let_201)))) :args (_let_200 _let_117)) :args ((not (and _let_9 _let_135 _let_117)) SB_LITERAL))) (AND_ELIM _let_129 :args (0)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_118 1)) :args ((or _let_117 _let_126))) _let_125 :args (_let_117 false _let_118)) :args ((not _let_135) false _let_9 false _let_117)) (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (NOT_AND (MACRO_SR_PRED_TRANSFORM (SCOPE (AND_INTRO (MODUS_PONENS (AND_INTRO _let_184 _let_199) (SCOPE (TRANS (SYMM (SYMM _let_199)) (CONG _let_185 :args _let_198)) :args (_let_134 _let_140))) _let_197 _let_170 _let_172 _let_191 _let_175 _let_177 (MODUS_PONENS (AND_INTRO _let_184 _let_187 _let_188) (SCOPE (TRANS (SYMM (SYMM _let_188)) (CONG (TRANS (SYMM (SYMM _let_187)) (CONG _let_186 _let_185 _let_183 _let_182 _let_181 :args _let_180)) :args _let_179)) :args (_let_134 _let_139 _let_141)))) :args (_let_26 _let_83 _let_41 _let_134 _let_48 _let_141 _let_43 _let_46 _let_51 _let_44 _let_47 _let_140 _let_139)) (SCOPE (CONTRA (MACRO_SR_PRED_TRANSFORM (ASSUME :args (_let_159)) :args _let_165) (MACRO_SR_PRED_TRANSFORM (MACRO_SR_PRED_TRANSFORM (SCOPE (MACRO_SR_PRED_TRANSFORM (MACRO_ARITH_SCALE_SUM_UB (ASSUME :args _let_165) _let_178 _let_176 _let_174 _let_173 _let_170 _let_169 (MACRO_SR_PRED_TRANSFORM (ASSUME :args (_let_162)) :args ((= (+ _let_31 _let_167) 0))) :args ((- 1.0) 1.0 (- 1.0) 1.0 1.0 (- 1.0) (- 1.0) 1.0)) :args _let_166) :args _let_165) :args _let_164) :args _let_164)) :args (_let_162 _let_161 _let_26 _let_48 _let_160 _let_41 _let_83 _let_159)) :args ((not (and _let_26 _let_83 _let_41 _let_134 _let_48 _let_141 _let_43 _let_46 _let_51 _let_44 _let_47 _let_140 _let_139)) SB_LITERAL))) (CONG _let_158 _let_157 _let_156 (REFL :args (_let_142)) _let_155 (REFL :args ((not _let_141))) _let_154 _let_153 _let_152 _let_151 _let_150 (REFL :args ((not _let_140))) (REFL :args ((not _let_139))) :args _let_77)) _let_82 _let_84 _let_87 _let_115 (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_89 :args (_let_31 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_91)) :args _let_90)) _let_89 :args (_let_141 false _let_88)) _let_92 _let_99 _let_127 _let_95 _let_110 (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE (ASSUME :args _let_149) :args (_let_132 _let_131 _let_31 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((str1 X X1 X2)))) :args _let_149)) (AND_ELIM _let_129 :args (1)) :args (_let_140 false _let_148)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_145)) :args ((or _let_144 _let_139 (not _let_145)))) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_108 :args (_let_31 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_109)) :args _let_107)) _let_108 :args (_let_143 false _let_5)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_147 :args (int _let_18 _let_32 _let_30 _let_132 _let_131 _let_31 QUANTIFIERS_INST_E_MATCHING ((match_rope1 A (str1 U U1 U2) Z Z1 Z2)))) :args (_let_146))) _let_147 :args (_let_145 false _let_146)) :args (_let_139 false _let_143 false _let_145)) :args (_let_142 false _let_26 true _let_36 false _let_41 false _let_48 false _let_141 false _let_43 false _let_46 false _let_51 false _let_44 false _let_47 false _let_140 false _let_139)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_138 :args (skv_5 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((str_proj_31 U)))) :args (_let_137))) _let_138 :args (_let_136 false _let_137)) :args (_let_56 true _let_135 true _let_134 false _let_136)))) (let ((_let_207 (and (>= _let_58 1) (>= _let_57 1) (inv1 _let_52) _let_60 (inv1 _let_53)))) (let ((_let_208 (inv1 _let_54))) (let ((_let_209 (= _let_208 _let_207))) (let ((_let_210 (and _let_56 _let_116))) (let ((_let_211 (ASSUME :args (_let_116)))) (let ((_let_212 (ASSUME :args (_let_56)))) (let ((_let_213 (SYMM (SYMM _let_212)))) (let ((_let_214 (SYMM _let_213))) (let ((_let_215 (sort1 int _let_30))) (let ((_let_216 (not _let_215))) (let ((_let_217 (or _let_216 _let_61))) (let ((_let_218 (= _let_59 _let_33))) (let ((_let_219 (= _let_59 _let_49))) (let ((_let_220 (* (- 1) _let_57))) (let ((_let_221 (* (- 1) _let_58))) (let ((_let_222 (= (+ _let_33 _let_221 _let_220) 0))) (let ((_let_223 ((not _let_222)))) (let ((_let_224 (_let_222))) (let ((_let_225 (= _let_49 _let_59))) (let ((_let_226 (= _let_49 _let_33))) (let ((_let_227 (_let_225))) (let ((_let_228 (SYMM (ASSUME :args _let_227)))) (let ((_let_229 (ASSUME :args (_let_60)))) (let ((_let_230 (ASSUME :args (_let_55)))) (let ((_let_231 (SYMM _let_230))) (let ((_let_232 (CONG _let_213 :args _let_198))) (let ((_let_233 (MODUS_PONENS (AND_INTRO _let_229 _let_230 _let_212) (SCOPE (TRANS _let_232 _let_231 (SYMM (SYMM _let_229))) :args (_let_60 _let_55 _let_56))))) (let ((_let_234 (ASSUME :args (_let_61)))) (let ((_let_235 (ASSUME :args (_let_42)))) (SCOPE (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (NOT_AND (MACRO_SR_PRED_TRANSFORM (SCOPE (AND_INTRO (MODUS_PONENS _let_233 (SCOPE _let_228 :args _let_227)) _let_177 _let_175 _let_172 _let_170 _let_197 _let_191 (MODUS_PONENS (AND_INTRO (MODUS_PONENS (AND_INTRO _let_212 _let_234 _let_235 _let_230) (SCOPE (TRANS _let_232 _let_231 (SYMM (SYMM _let_235)) (CONG (TRANS (SYMM (SYMM _let_234)) (CONG _let_186 _let_214 _let_183 _let_182 _let_181 :args _let_180)) :args _let_179)) :args (_let_56 _let_61 _let_42 _let_55))) _let_233) (SCOPE (TRANS _let_228 (SYMM (SYMM (ASSUME :args (_let_226))))) :args (_let_226 _let_225)))) :args (_let_26 _let_83 _let_41 _let_56 _let_48 _let_42 _let_43 _let_46 _let_51 _let_44 _let_47 _let_55 _let_60 _let_61)) (SCOPE (CONTRA (MACRO_SR_PRED_TRANSFORM (ASSUME :args (_let_218)) :args _let_224) (MACRO_SR_PRED_TRANSFORM (MACRO_SR_PRED_TRANSFORM (SCOPE (MACRO_SR_PRED_TRANSFORM (MACRO_ARITH_SCALE_SUM_UB (ASSUME :args _let_224) _let_174 _let_169 _let_170 _let_173 _let_176 _let_178 (MACRO_SR_PRED_TRANSFORM (ASSUME :args (_let_219)) :args ((= (+ _let_49 _let_221 _let_220) 0))) :args (1.0 1.0 (- 1.0) (- 1.0) 1.0 (- 1.0) 1.0 (- 1.0))) :args _let_166) :args _let_224) :args _let_223) :args _let_223)) :args (_let_219 _let_83 _let_41 _let_48 _let_26 _let_161 _let_160 _let_218)) :args ((not (and _let_26 _let_83 _let_41 _let_56 _let_48 _let_42 _let_43 _let_46 _let_51 _let_44 _let_47 _let_55 _let_60 _let_61)) SB_LITERAL))) (CONG _let_158 _let_157 _let_156 (REFL :args ((not _let_56))) _let_155 (REFL :args ((not _let_42))) _let_154 _let_153 _let_152 _let_151 _let_150 (REFL :args ((not _let_55))) (REFL :args ((not _let_60))) (REFL :args ((not _let_61))) :args _let_77)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_217)) :args ((or _let_216 _let_61 (not _let_217)))) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_108 :args (_let_29 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_109)) :args _let_107)) _let_108 :args (_let_215 false _let_5)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_104 :args (int _let_18 _let_32 _let_30 _let_53 _let_52 _let_29 QUANTIFIERS_INST_E_MATCHING _let_106)) :args _let_105)) _let_104 :args (_let_217 false _let_103)) :args (_let_61 false _let_215 false _let_217)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_207 3)) :args ((or _let_60 (not _let_207)))) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_EQUIV_POS1 :args (_let_209)) :args ((or _let_207 (not _let_208) (not _let_209)))) (MACRO_RESOLUTION_TRUST (RESOLUTION (CNF_AND_NEG :args (_let_210)) (IMPLIES_ELIM (SCOPE (MODUS_PONENS (AND_INTRO _let_211 _let_212) (SCOPE (TRUE_ELIM (TRANS (CONG _let_214 :args (APPLY_UF inv1)) (TRUE_INTRO _let_211))) :args (_let_116 _let_56))) :args (_let_56 _let_116))) :args (true _let_210)) _let_206 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_118 2)) :args ((or _let_116 _let_126))) _let_125 :args (_let_116 false _let_118)) :args (_let_208 false _let_56 false _let_116)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_124 :args (_let_53 _let_52 _let_29 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_123)) :args _let_122)) _let_121 :args (_let_209 false _let_120)) :args (_let_207 false _let_208 false _let_209)) :args (_let_60 false _let_207)) _let_206 (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE (ASSUME :args _let_130) :args (_let_53 _let_52 _let_29 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((app3 X X1 X2)))) :args _let_130)) (AND_ELIM _let_129 :args _let_76) :args (_let_55 false _let_128)) _let_127 _let_115 _let_110 _let_99 _let_95 _let_92 (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_89 :args (_let_29 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_91)) :args _let_90)) _let_89 :args (_let_42 false _let_88)) _let_87 _let_84 _let_82 :args (false false _let_61 false _let_60 false _let_56 false _let_55 false _let_51 false _let_48 false _let_47 false _let_46 false _let_44 false _let_43 false _let_42 false _let_41 true _let_36 false _let_26)) :args ((forall ((U rope1) (U1 rope1) (U2 Int)) (= (app_proj_21 (app3 U U1 U2)) U1)) (forall ((X Int) (Y Int)) (=> (<= X Y) (= (max2 X Y) Y))) (forall ((S string2) (Ofs Int) (Len Int)) (let ((_let_1 (length3 S))) (=> (<= 0 Len) (=> (and (<= 0 Ofs) (<= Ofs _let_1)) (=> (<= (+ Ofs Len) _let_1) (= (length3 (sub1 S Ofs Len)) Len)))))) (forall ((A ty) (X rope1) (X1 uni) (X2 uni) (X3 uni)) (sort1 A (match_rope1 A X X1 X2 X3))) (forall ((A ty) (X Int) (X1 uni)) (sort1 (array A) (make1 A X X1))) _let_13 _let_12 (forall ((U rope1) (U1 rope1) (U2 Int)) (= (app_proj_11 (app3 U U1 U2)) U)) (forall ((S1 string2) (S2 string2)) (=> (infix_eqeq1 S1 S2) (= S1 S2))) _let_11 (forall ((J uni)) (= (t2tb3 (tb2t3 J)) J)) (forall ((Q array_rope) (L Int) (U Int) (I Int)) (let ((_let_1 (t2tb1 Q))) (let ((_let_2 (length5 rope _let_1))) (=> (and (<= L I) (forall ((J Int)) (=> (and (<= L J) (< J U)) (inv1 (tb2t2 (get2 rope (t2tb1 Q) J))))) (<= U _let_2) (< I U) (<= 0 L) (<= 0 _let_2)) (<= (length3 (string3 (tb2t2 (get2 rope _let_1 I)))) (length3 (string_of_array1 Q L U))))))) (forall ((U string2) (U1 Int) (U2 Int)) (= (str_proj_21 (str1 U U1 U2)) U1)) (forall ((V rope1) (V1 rope1) (V2 Int)) (not (= emp1 (app3 V V1 V2)))) (forall ((A ty) (X uni)) (sort1 (map int A) (elts A X))) (forall ((X rope1)) (sort1 rope (t2tb2 X))) (= (length3 empty1) 0) (forall ((A ty) (B ty) (B1 uni) (A1 uni)) (=> (sort1 B B1) (= (get B A (const B A B1) A1) B1))) (forall ((A ty) (B ty) (X uni) (X1 uni)) (sort1 B (get B A X X1))) (forall ((A ty) (Z uni) (Z1 uni)) (=> (sort1 A Z1) (= (match_bool1 A false1 Z Z1) Z1))) (forall ((A ty) (U Int) (U1 uni)) (=> (sort1 (map int A) U1) (= (elts A (mk_array1 A U U1)) U1))) (forall ((S string2)) (<= 0 (length3 S))) (forall ((X array_rope)) (sort1 (array rope) (t2tb1 X))) (forall ((S1 string2) (S2 string2) (I Int)) (=> (and (< I (length3 S1)) (<= 0 I)) (= (mixfix_lbrb1 (app2 S1 S2) I) (mixfix_lbrb1 S1 I)))) (forall ((S1 string2) (S2 string2) (I Int)) (let ((_let_1 (length3 S1))) (=> (and (< I (+ _let_1 (length3 S2))) (<= _let_1 I)) (= (mixfix_lbrb1 (app2 S1 S2) I) (mixfix_lbrb1 S2 (- I _let_1)))))) (forall ((A ty) (U uni)) (=> (sort1 A U) (= (contents A (mk_ref A U)) U))) (forall ((J uni)) (= (t2tb2 (tb2t2 J)) J)) _let_10 (forall ((Q array_rope) (L Int) (U Int)) (let ((_let_1 (t2tb1 Q))) (=> (and (<= U (length5 rope _let_1)) (< L U) (<= 0 L)) (infix_eqeq1 (string_of_array1 Q L U) (app2 (string_of_array1 Q (+ L 1) U) (string3 (tb2t2 (get2 rope _let_1 L)))))))) (forall ((I rope1)) (= (tb2t2 (t2tb2 I)) I)) (forall ((X Int) (Y Int)) (=> (<= Y X) (= (min1 X Y) (min1 Y X)))) _let_8 (forall ((X Int) (Y Int)) (=> (<= Y X) (= (max2 X Y) (max2 Y X)))) (forall ((X Int) (Y Int)) (=> (<= X Y) (= (min1 X Y) X))) (= (fib1 1) 1) (forall ((A ty) (A1 uni) (I Int)) (= (get2 A A1 I) (get A int (elts A A1) (t2tb I)))) _let_7 (forall ((U bool1)) (or (= U true1) (= U false1))) (forall ((X Int) (Y Int)) (let ((_let_1 (min1 X Y))) (and (<= _let_1 X) (<= _let_1 Y)))) (forall ((A ty) (B ty) (X uni) (X1 uni) (X2 uni)) (sort1 (map A B) (set B A X X1 X2))) (<= 2 max3) (forall ((S string2) (Ofs Int) (Len Int)) (let ((_let_1 (length3 S))) (=> (<= 0 Len) (=> (and (<= 0 Ofs) (<= Ofs _let_1)) (=> (<= (+ Ofs Len) _let_1) (forall ((I Int)) (=> (and (< I Len) (<= 0 I)) (= (mixfix_lbrb1 (sub1 S Ofs Len) I) (mixfix_lbrb1 S (+ Ofs I)))))))))) (forall ((Q1 array_rope) (Q2 array_rope) (L Int) (U Int)) (let ((_let_1 (length5 rope (t2tb1 Q1)))) (let ((_let_2 (length5 rope (t2tb1 Q2)))) (=> (and (<= 0 _let_1) (<= 0 _let_2) (<= L U) (= _let_1 _let_2) (forall ((J Int)) (=> (and (<= L J) (< J U)) (= (tb2t2 (get2 rope (t2tb1 Q1) J)) (tb2t2 (get2 rope (t2tb1 Q2) J))))) (<= U _let_1) (<= 0 L)) (infix_eqeq1 (string_of_array1 Q1 L U) (string_of_array1 Q2 L U)))))) (forall ((A ty) (Z uni) (Z1 uni)) (=> (sort1 A Z) (= (match_bool1 A true1 Z Z1) Z))) (forall ((A ty) (X uni)) (sort1 (ref A) (mk_ref A X))) (forall ((I array_rope)) (= (tb2t1 (t2tb1 I)) I)) (forall ((X Int) (Y Int) (Z Int)) (=> (<= X Y) (=> (<= 0 Z) (<= (* X Z) (* Y Z))))) (not (= true1 false1)) (= (fib1 0) 0) (forall ((X Int) (Y Int)) (let ((_let_1 (max2 X Y))) (and (<= X _let_1) (<= Y _let_1)))) (forall ((A ty) (X uni)) (sort1 A (contents A X))) (and (forall ((X rope1) (X1 rope1) (X2 Int)) (= (string3 (app3 X X1 X2)) (app2 (string3 X) (string3 X1)))) (forall ((X string2) (X1 Int) (X2 Int)) (= (string3 (str1 X X1 X2)) (sub1 X X1 X2))) (= (string3 emp1) empty1)) (forall ((J uni)) (= (t2tb1 (tb2t1 J)) J)) (forall ((Q array_rope) (L Int) (U Int)) (=> (and (<= U (length5 rope (t2tb1 Q))) (<= L U) (<= 0 L)) (forall ((I Int) (R rope1)) (let ((_let_1 (t2tb1 Q))) (=> (or (and (< I (length5 rope _let_1)) (<= U I)) (and (<= 0 I) (< I L))) (infix_eqeq1 (string_of_array1 Q L U) (string_of_array1 (tb2t1 (set2 rope _let_1 I (t2tb2 R))) L U))))))) (forall ((X Int) (Y Int)) (let ((_let_1 (min1 X Y))) (or (= _let_1 Y) (= _let_1 X)))) (forall ((X Int) (Y Int)) (let ((_let_1 (max2 X Y))) (or (= _let_1 Y) (= _let_1 X)))) (forall ((U tuple02)) (= U tuple03)) (forall ((Q array_rope) (L Int) (U Int)) (let ((_let_1 (- U 1))) (let ((_let_2 (t2tb1 Q))) (let ((_let_3 (length5 rope _let_2))) (=> (and (<= 0 L) (< L U) (<= U _let_3) (<= 0 _let_3)) (infix_eqeq1 (string_of_array1 Q L U) (app2 (string3 (tb2t2 (get2 rope _let_2 _let_1))) (string_of_array1 Q L _let_1)))))))) (forall ((A ty) (U uni)) (=> (sort1 (ref A) U) (= U (mk_ref A (contents A U))))) (forall ((I map_int_rope)) (= (tb2t3 (t2tb3 I)) I)) (forall ((U string2) (U1 Int) (U2 Int)) (= (str_proj_11 (str1 U U1 U2)) U)) (forall ((U string2) (U1 Int) (U2 Int) (V rope1) (V1 rope1) (V2 Int)) (not (= (str1 U U1 U2) (app3 V V1 V2)))) _let_6 (forall ((A ty) (U Int) (U1 uni)) (= (length5 A (mk_array1 A U U1)) U)) (forall ((Q array_rope) (L Int) (U Int)) (let ((_let_1 (length5 rope (t2tb1 Q)))) (=> (and (<= 0 L) (<= L U) (<= U _let_1) (forall ((J Int)) (=> (and (<= L J) (< J U)) (= (tb2t2 (get2 rope (t2tb1 Q) J)) emp1))) (<= 0 _let_1)) (infix_eqeq1 (string_of_array1 Q L U) empty1)))) _let_5 (forall ((X map_int_rope)) (sort1 (map int rope) (t2tb3 X))) (forall ((A ty) (A1 uni) (I Int) (V uni)) (= (set2 A A1 I V) (mk_array1 A (length5 A A1) (set A int (elts A A1) (t2tb I) V)))) (forall ((U string2) (U1 Int) (U2 Int)) (= (str_proj_31 (str1 U U1 U2)) U2)) (forall ((A ty) (X bool1) (X1 uni) (X2 uni)) (sort1 A (match_bool1 A X X1 X2))) (forall ((A ty) (X uni) (X1 Int) (X2 uni)) (sort1 (array A) (set2 A X X1 X2))) (forall ((S1 string2) (S2 string2) (S3 string2)) (infix_eqeq1 (app2 S1 (app2 S2 S3)) (app2 (app2 S1 S2) S3))) (forall ((A ty) (B ty) (M uni) (A1 uni) (A2 uni) (B1 uni)) (=> (sort1 B B1) (=> (= A1 A2) (= (get B A (set B A M A1 B1) A2) B1)))) (forall ((Q array_rope)) (= (string_of_queue1 Q) (string_of_array1 Q 2 (length5 rope (t2tb1 Q))))) (forall ((A ty) (X Int) (X1 uni)) (sort1 (array A) (mk_array1 A X X1))) (forall ((A ty) (N Int) (V uni)) (= (make1 A N V) (mk_array1 A N (const A int V)))) (forall ((A ty) (B ty) (M uni) (A1 uni) (A2 uni)) (=> (sort1 A A1) (=> (sort1 A A2) (forall ((B1 uni)) (=> (not (= A1 A2)) (= (get B A (set B A M A1 B1) A2) (get B A M A2))))))) _let_4 (forall ((Q array_rope) (L Int) (Mid Int) (U Int)) (let ((_let_1 (length5 rope (t2tb1 Q)))) (=> (and (<= 0 _let_1) (<= 0 L) (<= Mid U) (<= U _let_1) (<= L Mid)) (infix_eqeq1 (string_of_array1 Q L U) (app2 (string_of_array1 Q Mid U) (string_of_array1 Q L Mid)))))) _let_3 (forall ((A ty) (Z uni) (Z1 uni) (Z2 uni)) (=> (sort1 A Z) (= (match_rope1 A emp1 Z Z1 Z2) Z))) (forall ((J uni)) (= (t2tb (tb2t J)) J)) _let_2 (forall ((N Int)) (=> (<= 2 N) (= (fib1 N) (+ (fib1 (- N 1)) (fib1 (- N 2)))))) (forall ((A ty)) (sort1 A (witness1 A))) (forall ((A ty) (X uni) (X1 Int)) (sort1 A (get2 A X X1))) _let_1 (forall ((A ty) (U uni)) (= U (mk_array1 A (length5 A U) (elts A U)))) (forall ((X Int) (Y Int)) (=> (<= Y X) (= (max2 X Y) X))) (forall ((Q array_rope) (L Int)) (=> (and (<= L (length5 rope (t2tb1 Q))) (<= 0 L)) (infix_eqeq1 (string_of_array1 Q L L) empty1))) (forall ((A ty) (B ty) (X uni)) (sort1 (map A B) (const B A X))) (forall ((V string2) (V1 Int) (V2 Int)) (not (= emp1 (str1 V V1 V2)))) (forall ((X Int) (Y Int)) (=> (<= Y X) (= (min1 X Y) Y))) true))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 15.53/15.92 % SZS output end Proof for theBenchmark 15.53/15.92 EOF