0.06/0.12 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.06/0.13 % Command : do_cvc5 %s %d 0.12/0.34 % Computer : n017.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 03:44:30 EDT 2022 0.12/0.34 % CPUTime : 0.19/0.47 %----Proving TF0_ARI 46.93/47.16 ------- cvc5-tfa casc j11 : /export/starexec/sandbox2/benchmark/theBenchmark.p at /export/starexec/sandbox2/benchmark/theBenchmark.p... 46.93/47.16 --- Run --finite-model-find --decision=internal at 15... 46.93/47.16 --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 15... 46.93/47.16 --- Run --no-e-matching --full-saturate-quant at 15... 46.93/47.16 --- Run --cegqi-all --purify-triggers --full-saturate-quant at 15... 46.93/47.16 % SZS status Theorem for theBenchmark 46.93/47.16 % SZS output start Proof for theBenchmark 46.93/47.16 (let ((_let_1 (forall ((X map_int_int)) (sort1 (map int int) (t2tb2 X))))) (let ((_let_2 (forall ((J uni)) (= (t2tb (tb2t J)) J)))) (let ((_let_3 (forall ((A ty) (A1 uni) (I Int)) (= (get2 A A1 I) (get A int (elts A A1) (t2tb I)))))) (let ((_let_4 (forall ((A ty) (U Int) (U1 uni)) (= (length1 A (mk_array1 A U U1)) U)))) (let ((_let_5 (forall ((A ty) (U Int) (U1 uni)) (=> (sort1 (map int A) U1) (= (elts A (mk_array1 A U U1)) U1))))) (let ((_let_6 (forall ((A array_int) (X Int) (Y Int) (L Int)) (let ((_let_1 (length1 int (t2tb1 A)))) (= (is_common_prefix1 A X Y L) (and (<= 0 L) (forall ((I Int)) (let ((_let_1 (t2tb1 A))) (=> (and (<= 0 I) (< I L)) (= (tb2t (get2 int _let_1 (+ X I))) (tb2t (get2 int _let_1 (+ Y I))))))) (<= (+ Y L) _let_1) (<= (+ X L) _let_1))))))) (let ((_let_7 (forall ((J uni)) (= (t2tb1 (tb2t1 J)) J)))) (let ((_let_8 (not (forall ((A Int) (A1 map_int_int) (X Int) (Y Int)) (=> (and (<= 0 A) (<= 0 X) (<= X A) (<= 0 Y) (<= Y A)) (forall ((L Int)) (let ((_let_1 (+ Y L))) (let ((_let_2 (t2tb2 A1))) (let ((_let_3 (+ X L))) (let ((_let_4 (< _let_3 A))) (let ((_let_5 (< _let_1 A))) (=> (is_common_prefix1 (tb2t1 (mk_array1 int A _let_2)) X Y L) (=> _let_4 (=> _let_5 (=> (and (<= 0 _let_1) _let_5) (=> (and _let_4 (<= 0 _let_3)) (=> (= (tb2t (get int int _let_2 (t2tb _let_3))) (tb2t (get int int _let_2 (t2tb _let_1)))) (forall ((L1 Int)) (=> (= L1 (+ L 1)) (is_common_prefix1 (tb2t1 (mk_array1 int A (t2tb2 A1))) X Y L1)))))))))))))))))))) (let ((_let_9 (+ skv_48 skv_50))) (let ((_let_10 (t2tb _let_9))) (let ((_let_11 (t2tb2 skv_47))) (let ((_let_12 (get int int _let_11 _let_10))) (let ((_let_13 (tb2t _let_12))) (let ((_let_14 (+ skv_49 skv_50))) (let ((_let_15 (t2tb _let_14))) (let ((_let_16 (get int int _let_11 _let_15))) (let ((_let_17 (tb2t _let_16))) (let ((_let_18 (= _let_17 _let_13))) (let ((_let_19 (mk_array1 int skv_46 _let_11))) (let ((_let_20 (tb2t1 _let_19))) (let ((_let_21 (t2tb1 _let_20))) (let ((_let_22 (= _let_19 _let_21))) (let ((_let_23 (= _let_12 (t2tb _let_13)))) (let ((_let_24 (elts int _let_19))) (let ((_let_25 (= _let_11 _let_24))) (let ((_let_26 (+ skv_48 skv_56))) (let ((_let_27 (+ skv_49 skv_56))) (let ((_let_28 (= (tb2t (get2 int _let_21 _let_27)) (tb2t (get2 int _let_21 _let_26))))) (let ((_let_29 (= _let_16 (t2tb _let_17)))) (let ((_let_30 (= (get int int _let_24 _let_10) (get2 int _let_19 _let_9)))) (let ((_let_31 (= (get int int _let_24 _let_15) (get2 int _let_19 _let_14)))) (let ((_let_32 (= skv_50 skv_56))) (let ((_let_33 (+ 1 skv_50))) (let ((_let_34 (is_common_prefix1 _let_20 skv_48 skv_49 _let_33))) (let ((_let_35 (not _let_18))) (let ((_let_36 (* (- 1) skv_50))) (let ((_let_37 (* (- 1) skv_49))) (let ((_let_38 (>= (+ skv_46 _let_37 _let_36) 1))) (let ((_let_39 (not _let_38))) (let ((_let_40 (* (- 1) skv_48))) (let ((_let_41 (>= (+ skv_46 _let_40 _let_36) 1))) (let ((_let_42 (not _let_41))) (let ((_let_43 (is_common_prefix1 _let_20 skv_48 skv_49 skv_50))) (let ((_let_44 (not _let_43))) (let ((_let_45 (or (not (>= skv_46 0)) (not (>= skv_48 0)) (not (>= (+ skv_46 _let_40) 0)) (not (>= skv_49 0)) (not (>= (+ skv_46 _let_37) 0)) _let_44 _let_42 _let_39 (not (>= _let_14 0)) (not (>= _let_9 0)) _let_35 _let_34))) (let ((_let_46 (forall ((A Int) (A1 map_int_int) (X Int) (Y Int) (BOUND_VARIABLE_906 Int)) (let ((_let_1 (t2tb2 A1))) (let ((_let_2 (tb2t1 (mk_array1 int A _let_1)))) (let ((_let_3 (+ X BOUND_VARIABLE_906))) (let ((_let_4 (+ Y BOUND_VARIABLE_906))) (let ((_let_5 (* (- 1) BOUND_VARIABLE_906))) (let ((_let_6 (* (- 1) Y))) (let ((_let_7 (* (- 1) X))) (or (not (>= A 0)) (not (>= X 0)) (not (>= (+ A _let_7) 0)) (not (>= Y 0)) (not (>= (+ A _let_6) 0)) (not (is_common_prefix1 _let_2 X Y BOUND_VARIABLE_906)) (not (>= (+ A _let_7 _let_5) 1)) (not (>= (+ A _let_6 _let_5) 1)) (not (>= _let_4 0)) (not (>= _let_3 0)) (not (= (tb2t (get int int _let_1 (t2tb _let_4))) (tb2t (get int int _let_1 (t2tb _let_3))))) (is_common_prefix1 _let_2 X Y (+ 1 BOUND_VARIABLE_906))))))))))))) (let ((_let_47 (not _let_45))) (let ((_let_48 (EQ_RESOLVE (ASSUME :args (_let_8)) (MACRO_SR_EQ_INTRO :args (_let_8 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_49 (OR))) (let ((_let_50 (not _let_46))) (let ((_let_51 (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (IMPLIES_ELIM (SCOPE (SKOLEMIZE _let_48) :args (_let_50))) (CONG (MACRO_SR_PRED_INTRO :args ((= (not _let_50) _let_46))) (REFL :args (_let_47)) :args _let_49)) _let_48 :args (_let_47 true _let_46)))) (let ((_let_52 (REFL :args (_let_45)))) (let ((_let_53 (forall ((J uni)) (= J (t2tb1 (tb2t1 J)))))) (let ((_let_54 (EQ_RESOLVE (ASSUME :args (_let_7)) (MACRO_SR_EQ_INTRO :args (_let_7 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_55 (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_54 :args (_let_19 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((tb2t1 J)))) :args (_let_53))) _let_54 :args (_let_22 false _let_53)))) (let ((_let_56 (forall ((J uni)) (= J (t2tb (tb2t J)))))) (let ((_let_57 (EQ_RESOLVE (ASSUME :args (_let_2)) (MACRO_SR_EQ_INTRO :args (_let_2 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_58 (_let_56))) (let ((_let_59 (sort1 (map int int) _let_11))) (let ((_let_60 (not _let_59))) (let ((_let_61 (or _let_60 _let_25))) (let ((_let_62 (forall ((A ty) (U Int) (U1 uni)) (or (not (sort1 (map int A) U1)) (= U1 (elts A (mk_array1 A U U1))))))) (let ((_let_63 (EQ_RESOLVE (ASSUME :args (_let_5)) (MACRO_SR_EQ_INTRO :args (_let_5 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_64 (_let_1))) (let ((_let_65 (ASSUME :args _let_64))) (let ((_let_66 (+ skv_50 (* (- 1) skv_56)))) (let ((_let_67 (>= _let_66 0))) (let ((_let_68 (not _let_67))) (let ((_let_69 (>= skv_56 0))) (let ((_let_70 (not _let_69))) (let ((_let_71 (or _let_70 _let_68 _let_28))) (let ((_let_72 (forall ((I Int)) (let ((_let_1 (t2tb1 (tb2t1 (mk_array1 int skv_46 (t2tb2 skv_47)))))) (or (not (>= I 0)) (>= (+ I (* (- 1) skv_50)) 1) (= (tb2t (get2 int _let_1 (+ I skv_49))) (tb2t (get2 int _let_1 (+ I skv_48))))))))) (let ((_let_73 (not _let_71))) (let ((_let_74 (>= skv_50 (- 1)))) (let ((_let_75 (length1 int _let_21))) (let ((_let_76 (* (- 1) _let_75))) (let ((_let_77 (+ skv_48 skv_50 _let_76))) (let ((_let_78 (>= _let_77 0))) (let ((_let_79 (not _let_78))) (let ((_let_80 (+ skv_49 skv_50 _let_76))) (let ((_let_81 (>= _let_80 0))) (let ((_let_82 (not _let_81))) (let ((_let_83 (and _let_74 _let_72 _let_82 _let_79))) (let ((_let_84 (not _let_72))) (let ((_let_85 (>= skv_50 0))) (let ((_let_86 (forall ((I Int)) (let ((_let_1 (t2tb1 (tb2t1 (mk_array1 int skv_46 (t2tb2 skv_47)))))) (or (not (>= I 0)) (>= (+ I (* (- 1) skv_50)) 0) (= (tb2t (get2 int _let_1 (+ I skv_49))) (tb2t (get2 int _let_1 (+ I skv_48))))))))) (let ((_let_87 (and _let_85 _let_86 (not (>= _let_80 1)) (not (>= _let_77 1))))) (let ((_let_88 (= _let_43 _let_87))) (let ((_let_89 (forall ((A array_int) (X Int) (Y Int) (L Int)) (let ((_let_1 (* (- 1) (length1 int (t2tb1 A))))) (= (is_common_prefix1 A X Y L) (and (>= L 0) (forall ((I Int)) (let ((_let_1 (t2tb1 A))) (or (not (>= I 0)) (not (>= (+ L (* (- 1) I)) 1)) (= (tb2t (get2 int _let_1 (+ Y I))) (tb2t (get2 int _let_1 (+ X I))))))) (not (>= (+ Y L _let_1) 1)) (not (>= (+ X L _let_1) 1)))))))) (let ((_let_90 (EQ_RESOLVE (ASSUME :args (_let_6)) (MACRO_SR_EQ_INTRO :args (_let_6 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_91 (_let_89))) (let ((_let_92 ((is_common_prefix1 A X Y L)))) (let ((_let_93 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_EQUIV_POS1 :args (_let_88)) :args ((or _let_44 _let_87 (not _let_88)))) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_45 5)) (CONG _let_52 (MACRO_SR_PRED_INTRO :args ((= (not _let_44) _let_43))) :args _let_49)) :args ((or _let_43 _let_45))) _let_51 :args (_let_43 true _let_45)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_90 :args (_let_20 skv_48 skv_49 skv_50 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_92)) :args _let_91))) _let_90 :args (_let_88 false _let_89)) :args (_let_87 false _let_43 false _let_88)))) (let ((_let_94 (not _let_87))) (let ((_let_95 (_let_85))) (let ((_let_96 ((< skv_50 (- 1))))) (let ((_let_97 (false))) (let ((_let_98 (ASSUME :args _let_95))) (let ((_let_99 (= _let_34 _let_83))) (let ((_let_100 (not _let_83))) (let ((_let_101 (= skv_46 _let_75))) (let ((_let_102 (= skv_46 (length1 int _let_19)))) (let ((_let_103 (forall ((A ty) (U Int) (U1 uni)) (= U (length1 A (mk_array1 A U U1)))))) (let ((_let_104 (EQ_RESOLVE (ASSUME :args (_let_4)) (MACRO_SR_EQ_INTRO :args (_let_4 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_105 (and _let_22 _let_102))) (let ((_let_106 ((= _let_75 skv_46)))) (let ((_let_107 (ASSUME :args (_let_102)))) (let ((_let_108 (ASSUME :args (_let_22)))) (let ((_let_109 (SYMM _let_108))) (let ((_let_110 (REFL :args (int)))) (let ((_let_111 (MACRO_RESOLUTION_TRUST (RESOLUTION (CNF_AND_NEG :args (_let_105)) (IMPLIES_ELIM (SCOPE (MODUS_PONENS (MODUS_PONENS (AND_INTRO _let_107 _let_108) (SCOPE (TRANS (CONG _let_110 _let_109 :args (APPLY_UF length1)) (SYMM _let_107)) :args (_let_102 _let_22))) (SCOPE (SYMM (ASSUME :args _let_106)) :args _let_106)) :args (_let_22 _let_102))) :args (true _let_105)) _let_55 (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_104 :args (int skv_46 _let_11 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((mk_array1 A U U1)))) :args (_let_103))) _let_104 :args (_let_102 false _let_103)) :args (_let_101 false _let_22 false _let_102)))) (let ((_let_112 (not _let_101))) (let ((_let_113 ((- 1.0) 1.0 (- 1.0)))) (let ((_let_114 (MACRO_SR_PRED_TRANSFORM (ASSUME :args (_let_101)) :args ((= (+ skv_46 _let_76) 0))))) (let ((_let_115 (_let_78))) (let ((_let_116 (_let_81))) (let ((_let_117 (not _let_74))) (let ((_let_118 (_let_84))) (let ((_let_119 (_let_83))) (let ((_let_120 (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (IMPLIES_ELIM (EQ_RESOLVE (SCOPE (SKOLEMIZE (ASSUME :args _let_118)) :args _let_118) (REWRITE :args ((=> _let_84 (not (or _let_70 (>= (+ skv_56 _let_36) 1) (= (tb2t (get2 int _let_21 (+ skv_56 skv_49))) (tb2t (get2 int _let_21 (+ skv_56 skv_48))))))))))) (CONG (MACRO_SR_PRED_INTRO :args ((= (not _let_84) _let_72))) (REFL :args (_let_73)) :args _let_49)) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_AND_NEG :args _let_119) (CONG (REFL :args _let_119) (REFL :args (_let_117)) (REFL :args _let_118) (MACRO_SR_PRED_INTRO :args ((= (not _let_82) _let_81))) (MACRO_SR_PRED_INTRO :args ((= (not _let_79) _let_78))) :args _let_49)) :args ((or _let_81 _let_78 _let_83 _let_117 _let_84))) (MACRO_RESOLUTION_TRUST (REORDERING (MACRO_SR_PRED_TRANSFORM (NOT_AND (SCOPE (MACRO_SR_PRED_TRANSFORM (MACRO_ARITH_SCALE_SUM_UB (MACRO_SR_PRED_TRANSFORM (ASSUME :args _let_116) :args _let_116) _let_114 (ASSUME :args (_let_38)) :args _let_113) :args _let_97) :args (_let_101 _let_38 _let_81))) :args ((or _let_112 _let_39 _let_82))) :args ((or _let_39 _let_82 _let_112))) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_45 7)) (CONG _let_52 (MACRO_SR_PRED_INTRO :args ((= (not _let_39) _let_38))) :args _let_49)) :args ((or _let_38 _let_45))) _let_51 :args (_let_38 true _let_45)) _let_111 :args (_let_82 false _let_38 false _let_101)) (MACRO_RESOLUTION_TRUST (REORDERING (MACRO_SR_PRED_TRANSFORM (NOT_AND (SCOPE (MACRO_SR_PRED_TRANSFORM (MACRO_ARITH_SCALE_SUM_UB (MACRO_SR_PRED_TRANSFORM (ASSUME :args _let_115) :args _let_115) _let_114 (ASSUME :args (_let_41)) :args _let_113) :args _let_97) :args (_let_101 _let_41 _let_78))) :args ((or _let_112 _let_42 _let_79))) :args ((or _let_42 _let_79 _let_112))) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_45 6)) (CONG _let_52 (MACRO_SR_PRED_INTRO :args ((= (not _let_42) _let_41))) :args _let_49)) :args ((or _let_41 _let_45))) _let_51 :args (_let_41 true _let_45)) _let_111 :args (_let_79 false _let_41 false _let_101)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_EQUIV_POS2 :args (_let_99)) :args ((or _let_34 _let_100 (not _let_99)))) (MACRO_RESOLUTION_TRUST (CNF_OR_NEG :args (_let_45 11)) _let_51 :args ((not _let_34) true _let_45)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_90 :args (_let_20 skv_48 skv_49 _let_33 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_92)) :args _let_91))) _let_90 :args (_let_99 false _let_89)) :args (_let_100 true _let_34 false _let_99)) (MACRO_RESOLUTION_TRUST (REORDERING (IMPLIES_ELIM (SCOPE (MODUS_PONENS _let_98 (SCOPE (MACRO_SR_PRED_TRANSFORM (SCOPE (MACRO_SR_PRED_TRANSFORM (MACRO_ARITH_SCALE_SUM_UB (ASSUME :args _let_96) _let_98 :args (1.0 (- 1.0))) :args _let_97) :args _let_96) :args (_let_74)) :args _let_95)) :args _let_95)) :args ((or _let_74 (not _let_85)))) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_87 0)) :args ((or _let_85 _let_94))) _let_93 :args (_let_85 false _let_87)) :args (_let_74 false _let_85)) :args (_let_84 true _let_81 true _let_78 true _let_83 false _let_74)) :args (_let_73 true _let_72)))) (let ((_let_121 (MACRO_RESOLUTION_TRUST (CNF_OR_NEG :args (_let_71 2)) _let_120 :args ((not _let_28) true _let_71)))) (let ((_let_122 (forall ((A ty) (A1 uni) (I Int)) (= (get A int (elts A A1) (t2tb I)) (get2 A A1 I))))) (let ((_let_123 (EQ_RESOLVE (ASSUME :args (_let_3)) (MACRO_SR_EQ_INTRO :args (_let_3 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_124 (_let_122))) (let ((_let_125 ((get A int (elts A A1) (t2tb I))))) (let ((_let_126 (>= _let_66 1))) (let ((_let_127 (not _let_126))) (let ((_let_128 (or _let_70 _let_127 _let_28))) (let ((_let_129 (_let_86))) (let ((_let_130 (REFL :args (_let_71)))) (let ((_let_131 (_let_32))) (let ((_let_132 (and _let_67 _let_127))) (let ((_let_133 (_let_67 _let_127))) (let ((_let_134 (ASSUME :args (_let_127)))) (let ((_let_135 (ASSUME :args (_let_67)))) (let ((_let_136 (and _let_18 _let_22 _let_25 _let_23 _let_32 _let_29 _let_30 _let_31))) (let ((_let_137 (= _let_14 _let_27))) (let ((_let_138 (= _let_9 _let_26))) (let ((_let_139 (APPLY_UF tb2t))) (let ((_let_140 (APPLY_UF get2))) (let ((_let_141 (_let_138))) (let ((_let_142 (ASSUME :args (_let_30)))) (let ((_let_143 (APPLY_UF get))) (let ((_let_144 (ASSUME :args (_let_25)))) (let ((_let_145 (SYMM _let_144))) (let ((_let_146 (ASSUME :args (_let_23)))) (let ((_let_147 (ASSUME :args (_let_18)))) (let ((_let_148 (ASSUME :args (_let_29)))) (let ((_let_149 (ASSUME :args (_let_31)))) (let ((_let_150 (_let_137))) (let ((_let_151 (ASSUME :args _let_131))) (SCOPE (MACRO_RESOLUTION_TRUST (REORDERING (RESOLUTION (CNF_AND_NEG :args (_let_136)) (IMPLIES_ELIM (SCOPE (MODUS_PONENS (AND_INTRO _let_108 (MACRO_SR_PRED_TRANSFORM _let_151 :args _let_141) _let_142 _let_144 _let_146 _let_147 _let_148 _let_149 (MACRO_SR_PRED_TRANSFORM _let_151 :args _let_150)) (SCOPE (TRANS (CONG (TRANS (CONG _let_110 _let_109 (SYMM (ASSUME :args _let_150)) :args _let_140) (SYMM _let_149) (CONG _let_110 _let_110 _let_145 (REFL :args (_let_15)) :args _let_143) (SYMM (SYMM _let_148)) (CONG (SYMM (SYMM _let_147)) :args (APPLY_UF t2tb)) (SYMM _let_146)) :args _let_139) (CONG (TRANS (CONG _let_110 _let_110 (SYMM _let_145) (REFL :args (_let_10)) :args _let_143) (SYMM (SYMM _let_142)) (CONG _let_110 (SYMM _let_109) (SYMM (SYMM (ASSUME :args _let_141))) :args _let_140)) :args _let_139)) :args (_let_22 _let_138 _let_30 _let_25 _let_23 _let_18 _let_29 _let_31 _let_137))) :args (_let_18 _let_22 _let_25 _let_23 _let_32 _let_29 _let_30 _let_31))) :args (true _let_136)) :args ((or _let_35 (not _let_22) (not _let_25) (not _let_23) _let_28 (not _let_29) (not _let_30) (not _let_31) (not _let_32)))) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (RESOLUTION (CNF_AND_NEG :args (_let_132)) (IMPLIES_ELIM (SCOPE (MODUS_PONENS (AND_INTRO _let_135 _let_134) (SCOPE (SYMM (SYMM (MACRO_SR_PRED_TRANSFORM (ARITH_TRICHOTOMY _let_135 (INT_TIGHT_UB (MACRO_SR_PRED_TRANSFORM _let_134 :args ((< _let_66 1)))) :args ((= _let_66 0))) :args _let_131))) :args _let_133)) :args _let_133)) :args (true _let_132)) (CONG (REFL :args (_let_68)) (MACRO_SR_PRED_INTRO :args ((= (not _let_127) _let_126))) (REFL :args _let_131) :args _let_49)) :args ((or _let_68 _let_32 _let_126))) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_71 1)) (CONG _let_130 (MACRO_SR_PRED_INTRO :args ((= (not _let_68) _let_67))) :args _let_49)) :args ((or _let_67 _let_71))) _let_120 :args (_let_67 true _let_71)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_128)) :args ((or _let_70 _let_28 _let_127 (not _let_128)))) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_71 0)) (CONG _let_130 (MACRO_SR_PRED_INTRO :args ((= (not _let_70) _let_69))) :args _let_49)) :args ((or _let_69 _let_71))) _let_120 :args (_let_69 true _let_71)) _let_121 (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE (ASSUME :args _let_129) :args (skv_56 QUANTIFIERS_INST_E_MATCHING_VAR_GEN ((get2 int _let_21 (+ I skv_48))))) :args _let_129))) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_87 1)) :args ((or _let_86 _let_94))) _let_93 :args (_let_86 false _let_87)) :args (_let_128 false _let_86)) :args (_let_127 false _let_69 true _let_28 false _let_128)) :args (_let_32 false _let_67 true _let_126)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_123 :args (int _let_19 _let_14 QUANTIFIERS_INST_E_MATCHING _let_125)) :args _let_124)) _let_123 :args (_let_31 false _let_122)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_123 :args (int _let_19 _let_9 QUANTIFIERS_INST_E_MATCHING _let_125)) :args _let_124)) _let_123 :args (_let_30 false _let_122)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_57 :args (_let_16 QUANTIFIERS_INST_CBQI_PROP)) :args _let_58)) _let_57 :args (_let_29 false _let_56)) _let_121 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_61)) :args ((or _let_60 _let_25 (not _let_61)))) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_65 :args (skv_47 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((t2tb2 X)))) :args _let_64)) _let_65 :args (_let_59 false _let_1)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_63 :args (int skv_46 _let_11 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((mk_array1 A U U1)))) :args (_let_62))) _let_63 :args (_let_61 false _let_62)) :args (_let_25 false _let_59 false _let_61)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_57 :args (_let_12 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((tb2t J)))) :args _let_58)) _let_57 :args (_let_23 false _let_56)) _let_55 (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_45 10)) (CONG _let_52 (MACRO_SR_PRED_INTRO :args ((= (not _let_35) _let_18))) :args _let_49)) :args ((or _let_18 _let_45))) _let_51 :args (_let_18 true _let_45)) :args (false false _let_32 false _let_31 false _let_30 false _let_29 true _let_28 false _let_25 false _let_23 false _let_22 false _let_18)) :args (_let_8 (forall ((X Int)) (sort1 int (t2tb X))) (forall ((A ty) (X uni)) (sort1 (map int A) (elts A X))) (forall ((A ty) (B ty) (X uni)) (sort1 (map A B) (const B A X))) (forall ((A ty) (X uni)) (sort1 (ref A) (mk_ref A X))) (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_7 (forall ((U tuple02)) (= U tuple03)) (forall ((A ty)) (sort1 A (witness1 A))) (forall ((I map_int_int)) (= (tb2t2 (t2tb2 I)) I)) (forall ((A ty) (A1 uni) (I Int) (V uni)) (= (set2 A A1 I V) (mk_array1 A (length1 A A1) (set A int (elts A A1) (t2tb I) V)))) (forall ((X Int) (Y Int) (Z Int)) (=> (<= X Y) (=> (<= 0 Z) (<= (* X Z) (* Y Z))))) _let_6 (forall ((A ty) (Z uni) (Z1 uni)) (=> (sort1 A Z1) (= (match_bool1 A false1 Z Z1) Z1))) (forall ((A ty) (B ty) (X uni) (X1 uni)) (sort1 B (get B A X X1))) (forall ((A ty) (U uni)) (=> (sort1 A U) (= (contents A (mk_ref A U)) U))) (forall ((I Int)) (= (tb2t (t2tb I)) I)) (forall ((A ty) (Z uni) (Z1 uni)) (=> (sort1 A Z) (= (match_bool1 A true1 Z Z1) Z))) (forall ((A ty) (B ty) (X uni) (X1 uni) (X2 uni)) (sort1 (map A B) (set B A X X1 X2))) (forall ((A ty) (U uni)) (= U (mk_array1 A (length1 A U) (elts A U)))) _let_5 _let_4 _let_3 (forall ((X array_int)) (sort1 (array int) (t2tb1 X))) (forall ((U bool1)) (or (= U false1) (= U true1))) _let_2 _let_1 (not (= true1 false1)) (forall ((I array_int)) (= (tb2t1 (t2tb1 I)) I)) (forall ((A ty) (X uni) (X1 Int) (X2 uni)) (sort1 (array A) (set2 A X X1 X2))) (forall ((A ty) (X bool1) (X1 uni) (X2 uni)) (sort1 A (match_bool1 A X X1 X2))) (forall ((A ty) (X Int) (X1 uni)) (sort1 (array A) (mk_array1 A X X1))) (forall ((A ty) (X uni)) (sort1 A (contents A X))) (forall ((J uni)) (= (t2tb2 (tb2t2 J)) J)) (forall ((A ty) (X Int) (X1 uni)) (sort1 (array A) (make1 A X X1))) (forall ((A array_int) (X Int) (Y Int) (L Int)) (let ((_let_1 (t2tb1 A))) (let ((_let_2 (length1 int _let_1))) (let ((_let_3 (+ X L))) (let ((_let_4 (+ Y L))) (=> (and (< _let_4 _let_2) (not (= (tb2t (get2 int _let_1 _let_3)) (tb2t (get2 int _let_1 _let_4)))) (< _let_3 _let_2) (<= 0 L)) (not (is_common_prefix1 A X Y (+ L 1))))))))) (forall ((A array_int) (X Int) (Y Int) (L Int)) (=> (and (is_common_prefix1 A X Y L) (not (is_common_prefix1 A X Y (+ L 1)))) (is_longest_common_prefix1 A X Y L))) (forall ((A ty) (U uni)) (=> (sort1 (ref A) U) (= U (mk_ref A (contents A U))))) (forall ((A array_int) (X Int) (Y Int) (L Int)) (= (is_longest_common_prefix1 A X Y L) (and (is_common_prefix1 A X Y L) (forall ((M Int)) (=> (< L M) (not (is_common_prefix1 A X Y M))))))) (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) (B1 uni)) (=> (sort1 B B1) (=> (= A1 A2) (= (get B A (set B A M A1 B1) A2) B1)))) (forall ((A ty) (B ty) (B1 uni) (A1 uni)) (=> (sort1 B B1) (= (get B A (const B A B1) A1) B1))) (forall ((A ty) (X uni) (X1 Int)) (sort1 A (get2 A X X1))) true))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 46.93/47.17 % SZS output end Proof for theBenchmark 46.93/47.17 EOF