0.06/0.11 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.06/0.12 % Command : do_cvc5 %s %d 0.12/0.33 % Computer : n026.cluster.edu 0.12/0.33 % Model : x86_64 x86_64 0.12/0.33 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.12/0.33 % Memory : 8042.1875MB 0.12/0.33 % OS : Linux 3.10.0-693.el7.x86_64 0.12/0.33 % CPULimit : 960 0.12/0.33 % WCLimit : 120 0.12/0.33 % DateTime : Tue Aug 9 04:27:19 EDT 2022 0.12/0.33 % CPUTime : 0.17/0.45 %----Proving TF0_ARI 15.40/15.75 ------- cvc5-tfa casc j11 : /export/starexec/sandbox2/benchmark/theBenchmark.p at /export/starexec/sandbox2/benchmark/theBenchmark.p... 15.40/15.75 --- Run --finite-model-find --decision=internal at 15... 15.40/15.75 --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 15... 15.40/15.75 % SZS status Theorem for theBenchmark 15.40/15.75 % SZS output start Proof for theBenchmark 15.40/15.75 (let ((_let_1 (forall ((A ty) (A1 uni) (I Int)) (= (get1 A A1 I) (get A int (elts A A1) (t2tb I)))))) (let ((_let_2 (not (forall ((A Int) (A1 map_int_color)) (=> (<= 0 A) (forall ((R Int) (I Int) (B Int) (A2 map_int_color)) (let ((_let_1 (t2tb3 A2))) (let ((_let_2 (mk_array color1 A _let_1))) (let ((_let_3 (tb2t1 _let_2))) (=> (and (<= I R) (monochrome _let_3 0 B blue) (monochrome _let_3 R A red) (permut_all color1 (mk_array color1 A (t2tb3 A1)) _let_2) (monochrome _let_3 B I white) (<= R A) (<= B I) (<= 0 B)) (=> (< I R) (=> (and (<= 0 A) (<= 0 I) (< I A)) (=> (= (tb2t2 (get color1 int _let_1 (t2tb I))) white) (forall ((I1 Int)) (=> (= I1 (+ I 1)) (monochrome (tb2t1 (mk_array color1 A (t2tb3 A2))) B I1 white)))))))))))))))) (let ((_let_3 (forall ((X map_int_color)) (sort (map int color1) (t2tb3 X))))) (let ((_let_4 (forall ((A ty) (U Int) (U1 uni)) (=> (sort (map int A) U1) (= (elts A (mk_array A U U1)) U1))))) (let ((_let_5 (forall ((A array_color) (I Int) (J Int) (C color)) (= (monochrome A I J C) (forall ((K Int)) (=> (and (< K J) (<= I K)) (= (tb2t2 (get1 color1 (t2tb1 A) K)) C))))))) (let ((_let_6 (forall ((J uni)) (= (t2tb1 (tb2t1 J)) J)))) (let ((_let_7 (t2tb skv_7))) (let ((_let_8 (t2tb3 skv_5))) (let ((_let_9 (= white (tb2t2 (get color1 int _let_8 _let_7))))) (let ((_let_10 (mk_array color1 skv_3 _let_8))) (let ((_let_11 (tb2t1 _let_10))) (let ((_let_12 (t2tb1 _let_11))) (let ((_let_13 (= _let_10 _let_12))) (let ((_let_14 (elts color1 _let_10))) (let ((_let_15 (= _let_8 _let_14))) (let ((_let_16 (* (- 1) skv_10))) (let ((_let_17 (+ skv_7 _let_16))) (let ((_let_18 (>= _let_17 0))) (let ((_let_19 (= white (tb2t2 (get1 color1 _let_12 skv_10))))) (let ((_let_20 (= (get color1 int _let_14 _let_7) (get1 color1 _let_10 skv_7)))) (let ((_let_21 (>= _let_17 1))) (let ((_let_22 (+ 1 skv_7))) (let ((_let_23 (monochrome _let_11 skv_6 _let_22 white))) (let ((_let_24 (not _let_9))) (let ((_let_25 (* (- 1) skv_7))) (let ((_let_26 (not (>= (+ skv_3 _let_25) 1)))) (let ((_let_27 (not (>= skv_7 0)))) (let ((_let_28 (* (- 1) skv_8))) (let ((_let_29 (+ skv_7 _let_28))) (let ((_let_30 (not (>= skv_6 0)))) (let ((_let_31 (not (>= (+ skv_3 _let_28) 0)))) (let ((_let_32 (monochrome _let_11 skv_6 skv_7 white))) (let ((_let_33 (not _let_32))) (let ((_let_34 (not (permut_all color1 (mk_array color1 skv_3 (t2tb3 skv_4)) _let_10)))) (let ((_let_35 (not (monochrome _let_11 skv_8 skv_3 red)))) (let ((_let_36 (not (monochrome _let_11 0 skv_6 blue)))) (let ((_let_37 (not (>= skv_3 0)))) (let ((_let_38 (or _let_37 (>= _let_29 1) _let_36 _let_35 _let_34 _let_33 _let_31 (>= (+ skv_6 _let_25) 1) _let_30 (>= _let_29 0) _let_27 _let_26 _let_24 _let_23))) (let ((_let_39 (forall ((A Int) (A1 map_int_color) (BOUND_VARIABLE_2029 map_int_color) (BOUND_VARIABLE_2027 Int) (BOUND_VARIABLE_2025 Int) (BOUND_VARIABLE_2023 Int)) (let ((_let_1 (t2tb3 BOUND_VARIABLE_2029))) (let ((_let_2 (mk_array color1 A _let_1))) (let ((_let_3 (tb2t1 _let_2))) (let ((_let_4 (* (- 1) BOUND_VARIABLE_2025))) (let ((_let_5 (+ BOUND_VARIABLE_2023 _let_4))) (or (not (>= A 0)) (not (>= _let_5 0)) (not (monochrome _let_3 0 BOUND_VARIABLE_2027 blue)) (not (monochrome _let_3 BOUND_VARIABLE_2023 A red)) (not (permut_all color1 (mk_array color1 A (t2tb3 A1)) _let_2)) (not (monochrome _let_3 BOUND_VARIABLE_2027 BOUND_VARIABLE_2025 white)) (not (>= (+ A (* (- 1) BOUND_VARIABLE_2023)) 0)) (not (>= (+ BOUND_VARIABLE_2025 (* (- 1) BOUND_VARIABLE_2027)) 0)) (not (>= BOUND_VARIABLE_2027 0)) (not (>= _let_5 1)) (not (>= BOUND_VARIABLE_2025 0)) (not (>= (+ A _let_4) 1)) (not (= white (tb2t2 (get color1 int _let_1 (t2tb BOUND_VARIABLE_2025))))) (monochrome _let_3 BOUND_VARIABLE_2027 (+ 1 BOUND_VARIABLE_2025) white)))))))))) (let ((_let_40 (not _let_38))) (let ((_let_41 (EQ_RESOLVE (ASSUME :args (_let_2)) (MACRO_SR_EQ_INTRO :args (_let_2 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_42 (OR))) (let ((_let_43 (not _let_39))) (let ((_let_44 (+ skv_8 _let_25))) (let ((_let_45 (* (- 1) skv_6))) (let ((_let_46 (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (IMPLIES_ELIM (EQ_RESOLVE (SCOPE (SKOLEMIZE _let_41) :args (_let_43)) (REWRITE :args ((=> _let_43 (not (or _let_37 (not (>= _let_44 0)) _let_36 _let_35 _let_34 _let_33 _let_31 (not (>= (+ skv_7 _let_45) 0)) _let_30 (not (>= _let_44 1)) _let_27 _let_26 _let_24 _let_23))))))) (CONG (MACRO_SR_PRED_INTRO :args ((= (not _let_43) _let_39))) (REFL :args (_let_40)) :args _let_42)) _let_41 :args (_let_40 true _let_39)))) (let ((_let_47 (REFL :args (_let_38)))) (let ((_let_48 (forall ((J uni)) (= J (t2tb1 (tb2t1 J)))))) (let ((_let_49 (EQ_RESOLVE (ASSUME :args (_let_6)) (MACRO_SR_EQ_INTRO :args (_let_6 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_50 (sort (map int color1) _let_8))) (let ((_let_51 (not _let_50))) (let ((_let_52 (or _let_51 _let_15))) (let ((_let_53 (forall ((A ty) (U Int) (U1 uni)) (or (not (sort (map int A) U1)) (= U1 (elts A (mk_array A U U1))))))) (let ((_let_54 (EQ_RESOLVE (ASSUME :args (_let_4)) (MACRO_SR_EQ_INTRO :args (_let_4 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_55 (_let_3))) (let ((_let_56 (ASSUME :args _let_55))) (let ((_let_57 (>= (+ skv_6 _let_16) 1))) (let ((_let_58 (not _let_18))) (let ((_let_59 (or _let_58 _let_57 _let_19))) (let ((_let_60 (forall ((K Int)) (or (>= (+ K (* (- 1) skv_7)) 1) (not (>= (+ K (* (- 1) skv_6)) 0)) (= white (tb2t2 (get1 color1 (t2tb1 (tb2t1 (mk_array color1 skv_3 (t2tb3 skv_5)))) K))))))) (let ((_let_61 (not _let_59))) (let ((_let_62 (= _let_23 _let_60))) (let ((_let_63 (not _let_60))) (let ((_let_64 (forall ((A array_color) (I Int) (J Int) (C color)) (= (monochrome A I J C) (forall ((K Int)) (let ((_let_1 (* (- 1) K))) (or (not (>= (+ J _let_1) 1)) (>= (+ I _let_1) 1) (= C (tb2t2 (get1 color1 (t2tb1 A) K)))))))))) (let ((_let_65 (EQ_RESOLVE (ASSUME :args (_let_5)) (MACRO_SR_EQ_INTRO :args (_let_5 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_66 (_let_64))) (let ((_let_67 ((monochrome A I J C)))) (let ((_let_68 (_let_63))) (let ((_let_69 (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (IMPLIES_ELIM (EQ_RESOLVE (SCOPE (SKOLEMIZE (ASSUME :args _let_68)) :args _let_68) (REWRITE :args ((=> _let_63 (not (or (>= (+ skv_10 _let_25) 1) (not (>= (+ skv_10 _let_45) 0)) _let_19))))))) (CONG (MACRO_SR_PRED_INTRO :args ((= (not _let_63) _let_60))) (REFL :args (_let_61)) :args _let_42)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_EQUIV_POS2 :args (_let_62)) :args ((or _let_23 _let_63 (not _let_62)))) (MACRO_RESOLUTION_TRUST (CNF_OR_NEG :args (_let_38 13)) _let_46 :args ((not _let_23) true _let_38)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_65 :args (_let_11 skv_6 _let_22 white QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_67)) :args _let_66))) _let_65 :args (_let_62 false _let_64)) :args (_let_63 true _let_23 false _let_62)) :args (_let_61 true _let_60)))) (let ((_let_70 (MACRO_RESOLUTION_TRUST (CNF_OR_NEG :args (_let_59 2)) _let_69 :args ((not _let_19) true _let_59)))) (let ((_let_71 (forall ((A ty) (A1 uni) (I Int)) (= (get A int (elts A A1) (t2tb I)) (get1 A A1 I))))) (let ((_let_72 (EQ_RESOLVE (ASSUME :args (_let_1)) (MACRO_SR_EQ_INTRO :args (_let_1 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_73 (not _let_21))) (let ((_let_74 (or _let_73 _let_57 _let_19))) (let ((_let_75 (forall ((K Int)) (or (>= (+ K (* (- 1) skv_7)) 0) (not (>= (+ K (* (- 1) skv_6)) 0)) (= white (tb2t2 (get1 color1 (t2tb1 (tb2t1 (mk_array color1 skv_3 (t2tb3 skv_5)))) K))))))) (let ((_let_76 (= _let_32 _let_75))) (let ((_let_77 (_let_75))) (let ((_let_78 (not _let_57))) (let ((_let_79 (not _let_20))) (let ((_let_80 (not _let_15))) (let ((_let_81 (not _let_13))) (let ((_let_82 (and _let_9 _let_13 _let_15 _let_18 _let_20 _let_73))) (let ((_let_83 (= skv_7 skv_10))) (let ((_let_84 (_let_83))) (let ((_let_85 (ASSUME :args (_let_13)))) (let ((_let_86 (REFL :args (color1)))) (let ((_let_87 (ASSUME :args (_let_20)))) (let ((_let_88 (ASSUME :args (_let_15)))) (let ((_let_89 (ASSUME :args (_let_9)))) (let ((_let_90 (ASSUME :args (_let_73)))) (let ((_let_91 (ASSUME :args (_let_18)))) (SCOPE (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (RESOLUTION (CNF_AND_NEG :args (_let_82)) (IMPLIES_ELIM (SCOPE (MODUS_PONENS (AND_INTRO _let_85 (MODUS_PONENS (AND_INTRO _let_91 _let_90) (SCOPE (SYMM (SYMM (MACRO_SR_PRED_TRANSFORM (ARITH_TRICHOTOMY _let_91 (INT_TIGHT_UB (MACRO_SR_PRED_TRANSFORM _let_90 :args ((< _let_17 1)))) :args ((= _let_17 0))) :args _let_84))) :args (_let_18 _let_73))) _let_87 _let_88 _let_89) (SCOPE (TRANS (SYMM (SYMM _let_89)) (CONG (TRANS (CONG _let_86 (REFL :args (int)) (SYMM (SYMM _let_88)) (REFL :args (_let_7)) :args (APPLY_UF get)) (SYMM (SYMM _let_87)) (CONG _let_86 (SYMM (SYMM _let_85)) (SYMM (SYMM (ASSUME :args _let_84))) :args (APPLY_UF get1))) :args (APPLY_UF tb2t2))) :args (_let_13 _let_83 _let_20 _let_15 _let_9))) :args (_let_9 _let_13 _let_15 _let_18 _let_20 _let_73))) :args (true _let_82)) (CONG (REFL :args (_let_24)) (REFL :args (_let_81)) (REFL :args (_let_80)) (REFL :args (_let_58)) (REFL :args (_let_79)) (MACRO_SR_PRED_INTRO :args ((= (not _let_73) _let_21))) (REFL :args (_let_19)) :args _let_42)) :args ((or _let_24 _let_81 _let_80 _let_19 _let_58 _let_21 _let_79))) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_74)) :args ((or _let_19 _let_57 _let_73 (not _let_74)))) _let_70 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_NEG :args (_let_59 1)) :args ((or _let_78 _let_59))) _let_69 :args (_let_78 true _let_59)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE (ASSUME :args _let_77) :args (skv_10 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((get1 color1 _let_12 K)))) :args _let_77))) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_EQUIV_POS1 :args (_let_76)) :args ((or _let_33 _let_75 (not _let_76)))) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_38 5)) (CONG _let_47 (MACRO_SR_PRED_INTRO :args ((= (not _let_33) _let_32))) :args _let_42)) :args ((or _let_32 _let_38))) _let_46 :args (_let_32 true _let_38)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_65 :args (_let_11 skv_6 skv_7 white QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_67)) :args _let_66))) _let_65 :args (_let_76 false _let_64)) :args (_let_75 false _let_32 false _let_76)) :args (_let_74 false _let_75)) :args (_let_73 true _let_19 true _let_57 false _let_74)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_72 :args (color1 _let_10 skv_7 QUANTIFIERS_INST_E_MATCHING ((get A int (elts A A1) (t2tb I))))) :args (_let_71))) _let_72 :args (_let_20 false _let_71)) _let_70 (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_59 0)) (CONG (REFL :args (_let_59)) (MACRO_SR_PRED_INTRO :args ((= (not _let_58) _let_18))) :args _let_42)) :args ((or _let_18 _let_59))) _let_69 :args (_let_18 true _let_59)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_52)) :args ((or _let_51 _let_15 (not _let_52)))) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_56 :args (skv_5 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((t2tb3 X)))) :args _let_55)) _let_56 :args (_let_50 false _let_3)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_54 :args (color1 skv_3 _let_8 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((mk_array A U U1)))) :args (_let_53))) _let_54 :args (_let_52 false _let_53)) :args (_let_15 false _let_50 false _let_52)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_49 :args (_let_10 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((tb2t1 J)))) :args (_let_48))) _let_49 :args (_let_13 false _let_48)) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_38 12)) (CONG _let_47 (MACRO_SR_PRED_INTRO :args ((= (not _let_24) _let_9))) :args _let_42)) :args ((or _let_9 _let_38))) _let_46 :args (_let_9 true _let_38)) :args (false true _let_21 false _let_20 true _let_19 false _let_18 false _let_15 false _let_13 false _let_9)) :args ((forall ((X color)) (sort color1 (t2tb2 X))) (forall ((A ty) (A1 uni) (A2 uni) (L Int) (U Int)) (= (forall ((I Int)) (let ((_let_1 (t2tb I))) (=> (and (<= L I) (< I U)) (= (get A int A1 _let_1) (get A int A2 _let_1))))) (map_eq_sub A A1 A2 L U))) (forall ((I color)) (= (tb2t2 (t2tb2 I)) I)) (forall ((A ty) (X uni) (X1 Int)) (sort A (get1 A X X1))) (forall ((A ty) (A1 uni) (A2 uni) (A3 uni) (L Int) (U Int)) (=> (permut A A1 A2 L U) (=> (permut A A2 A3 L U) (permut A A1 A3 L U)))) (forall ((A ty) (A1 uni) (A2 uni) (I Int) (J Int)) (let ((_let_1 (length A A1))) (= (and (exchange A (elts A A1) (elts A A2) 0 _let_1 I J) (= _let_1 (length A A2))) (exchange1 A A1 A2 I J)))) (forall ((A ty) (A1 uni) (L Int) (U Int) (I Int) (J Int)) (let ((_let_1 (t2tb I))) (let ((_let_2 (t2tb J))) (=> (and (< I U) (<= L I)) (=> (and (< J U) (<= L J)) (exchange A A1 (set A int (set A int A1 _let_1 (get A int A1 _let_2)) _let_2 (get A int A1 _let_1)) L U I J)))))) (forall ((A ty) (U uni)) (= U (mk_array A (length A U) (elts A U)))) (forall ((A ty) (A1 uni) (A2 uni) (L Int) (U Int)) (let ((_let_1 (elts A A2))) (let ((_let_2 (elts A A1))) (= (and (map_eq_sub A _let_2 _let_1 0 L) (map_eq_sub A _let_2 _let_1 U (length A A1)) (permut1 A A1 A2 L U)) (permut_sub A A1 A2 L U))))) (forall ((A ty) (V uni) (M uni) (L Int) (U Int)) (let ((_let_1 (occ A V M L U))) (=> (<= L U) (and (<= 0 _let_1) (<= _let_1 (- U L)))))) (forall ((A ty) (B ty) (M uni) (A1 uni) (A2 uni) (B1 uni)) (=> (sort B B1) (=> (= A1 A2) (= (get B A (set B A M A1 B1) A2) B1)))) (forall ((A ty) (A1 uni) (A2 uni) (L Int) (U Int)) (let ((_let_1 (length A A1))) (= (and (= _let_1 (length A A2)) (<= 0 L) (<= U _let_1) (map_eq_sub A (elts A A1) (elts A A2) L U) (<= 0 U) (<= L _let_1)) (array_eq_sub A A1 A2 L U)))) (forall ((A ty) (A1 uni) (A2 uni) (L Int) (U Int)) (let ((_let_1 (length A A1))) (= (and (= _let_1 (length A A2)) (<= 0 L) (<= 0 U) (<= U _let_1) (permut A (elts A A1) (elts A A2) L U) (<= L _let_1)) (permut1 A A1 A2 L U)))) (forall ((J uni)) (=> (sort (map int color1) J) (= (t2tb3 (tb2t3 J)) J))) (forall ((A ty) (A1 uni) (A2 uni)) (let ((_let_1 (length A A1))) (= (permut_all A A1 A2) (and (= _let_1 (length A A2)) (permut A (elts A A1) (elts A A2) 0 _let_1))))) (forall ((A ty) (V uni) (M uni) (L Int) (U Int)) (=> (sort A V) (=> (< 0 (occ A V M L U)) (exists ((I Int)) (and (<= L I) (= (get A int M (t2tb I)) V) (< I U)))))) _let_6 (forall ((I array_color)) (= (tb2t1 (t2tb1 I)) I)) (forall ((U bool)) (or (= U false) (= U true))) (forall ((I Int)) (= (tb2t (t2tb I)) I)) (forall ((A ty) (X uni)) (sort (ref A) (mk_ref A X))) (forall ((A ty) (X uni) (X1 Int) (X2 uni)) (sort (array A) (set1 A X X1 X2))) (not (= true false)) (forall ((A ty) (Z uni) (Z1 uni) (Z2 uni)) (=> (sort A Z) (= (match_color A blue Z Z1 Z2) Z))) (forall ((A ty) (A1 uni) (A2 uni) (I Int) (J Int)) (=> (exchange1 A A1 A2 I J) (permut_all A A1 A2))) _let_5 (forall ((A ty) (X uni)) (sort (map int A) (elts A X))) (forall ((U color)) (or (= U blue) (= U white) (= U red))) (forall ((J uni)) (= (t2tb (tb2t J)) J)) (forall ((A ty) (V uni) (M1 uni) (M2 uni) (L Int) (U Int)) (=> (forall ((I Int)) (let ((_let_1 (t2tb I))) (=> (and (<= L I) (< I U)) (= (get A int M1 _let_1) (get A int M2 _let_1))))) (= (occ A V M1 L U) (occ A V M2 L U)))) (forall ((A ty) (B ty) (X uni)) (sort (map A B) (const B A X))) (forall ((A ty) (N Int) (V uni)) (= (make A N V) (mk_array A N (const A int V)))) (not (= blue white)) (forall ((A ty) (X Int) (X1 uni)) (sort (array A) (mk_array A X X1))) (not (= white red)) (forall ((A ty) (B ty) (X uni) (X1 uni) (X2 uni)) (sort (map A B) (set B A X X1 X2))) (forall ((X Int) (Y Int) (Z Int)) (=> (<= X Y) (=> (<= 0 Z) (<= (* X Z) (* Y Z))))) (not (= blue red)) (forall ((A ty) (X Int) (X1 uni)) (sort (array A) (make A X X1))) (forall ((A ty) (B ty) (X uni) (X1 uni)) (sort B (get B A X X1))) (forall ((A ty) (V uni) (M uni) (L Int) (U Int)) (=> (<= U L) (= (occ A V M L U) 0))) (forall ((A ty) (U uni)) (=> (sort (ref A) U) (= U (mk_ref A (contents A U))))) (forall ((A ty) (X color) (X1 uni) (X2 uni) (X3 uni)) (sort A (match_color A X X1 X2 X3))) (forall ((A ty) (V uni) (M uni) (L Int) (Mid Int) (U Int)) (=> (and (<= Mid U) (<= L Mid)) (= (occ A V M L U) (+ (occ A V M L Mid) (occ A V M Mid U))))) (forall ((A ty) (B ty) (B1 uni) (A1 uni)) (=> (sort B B1) (= (get B A (const B A B1) A1) B1))) (forall ((X Int)) (sort int (t2tb X))) (forall ((U tuple0)) (= U tuple02)) (forall ((A ty) (V uni) (M uni) (L Int) (U Int)) (=> (sort A V) (=> (forall ((I Int)) (=> (and (<= L I) (< I U)) (not (= (get A int M (t2tb I)) V)))) (= (occ A V M L U) 0)))) (forall ((A ty) (A1 uni) (A2 uni)) (let ((_let_1 (length A A1))) (= (array_eq A A1 A2) (and (= _let_1 (length A A2)) (map_eq_sub A (elts A A1) (elts A A2) 0 _let_1))))) (forall ((A ty) (M uni) (L Int) (U Int) (I Int)) (=> (and (< I U) (<= L I)) (< 0 (occ A (get A int M (t2tb I)) M L U)))) (forall ((A ty) (U Int) (U1 uni)) (= (length A (mk_array A U U1)) U)) (forall ((X array_color)) (sort (array color1) (t2tb1 X))) (forall ((A ty) (U uni)) (=> (sort A U) (= (contents A (mk_ref A U)) U))) (forall ((A ty) (Z uni) (Z1 uni)) (=> (sort A Z1) (= (match_bool A false Z Z1) Z1))) (forall ((A ty) (V uni) (M uni) (L Int) (U Int)) (let ((_let_1 (- U 1))) (=> (sort A V) (=> (< L U) (=> (not (= (get A int M (t2tb _let_1)) V)) (= (occ A V M L U) (occ A V M L _let_1))))))) (forall ((A ty) (A1 uni) (A2 uni) (L1 Int) (U1 Int) (L2 Int) (U2 Int)) (=> (permut_sub A A1 A2 L1 U1) (=> (and (<= 0 L2) (<= L2 L1)) (=> (and (<= U1 U2) (<= U2 (length A A1))) (permut_sub A A1 A2 L2 U2))))) _let_4 (forall ((A ty) (A1 uni) (I Int) (V uni)) (= (set1 A A1 I V) (mk_array A (length A A1) (set A int (elts A A1) (t2tb I) V)))) (forall ((A ty) (X bool) (X1 uni) (X2 uni)) (sort A (match_bool A X X1 X2))) (forall ((A ty)) (sort A (witness A))) (forall ((I map_int_color)) (= (tb2t3 (t2tb3 I)) I)) (forall ((J uni)) (=> (sort color1 J) (= (t2tb2 (tb2t2 J)) J))) (forall ((A ty) (V uni) (M uni) (L Int) (U Int)) (let ((_let_1 (- U 1))) (=> (< L U) (=> (= (get A int M (t2tb _let_1)) V) (= (occ A V M L U) (+ 1 (occ A V M L _let_1))))))) (forall ((A ty) (Z uni) (Z1 uni)) (=> (sort A Z) (= (match_bool A true Z Z1) Z))) _let_3 (forall ((A ty) (A1 uni) (A2 uni) (I Int) (J Int) (L Int) (U Int)) (=> (exchange1 A A1 A2 I J) (=> (and (< I U) (<= L I)) (=> (and (< J U) (<= L J)) (=> (<= 0 L) (=> (<= U (length A A1)) (permut_sub A A1 A2 L U))))))) (forall ((A ty) (Z uni) (Z1 uni) (Z2 uni)) (=> (sort A Z1) (= (match_color A white Z Z1 Z2) Z1))) (forall ((A ty) (Z uni) (Z1 uni) (Z2 uni)) (=> (sort A Z2) (= (match_color A red Z Z1 Z2) Z2))) _let_2 (forall ((A ty) (M1 uni) (M2 uni) (L Int) (U Int)) (let ((_let_1 (permut A M1 M2 L U))) (and (=> (forall ((V uni)) (=> (sort A V) (= (occ A V M1 L U) (occ A V M2 L U)))) _let_1) (=> _let_1 (forall ((V uni)) (= (occ A V M1 L U) (occ A V M2 L U))))))) (forall ((A ty) (A1 uni) (A2 uni) (L Int) (U Int) (I Int) (J Int)) (let ((_let_1 (t2tb I))) (let ((_let_2 (t2tb J))) (= (and (< I U) (= (get A int A1 _let_1) (get A int A2 _let_2)) (forall ((K Int)) (let ((_let_1 (t2tb K))) (=> (and (<= L K) (< K U)) (=> (not (= K I)) (=> (not (= K J)) (= (get A int A1 _let_1) (get A int A2 _let_1))))))) (= (get A int A1 _let_2) (get A int A2 _let_1)) (< J U) (<= L J) (<= L I)) (exchange A A1 A2 L U I J))))) _let_1 (forall ((A ty) (A1 uni) (A2 uni) (L Int) (U Int) (I Int)) (=> (permut A A1 A2 L U) (=> (and (<= L I) (< I U)) (exists ((J Int)) (and (= (get A int A1 (t2tb J)) (get A int A2 (t2tb I))) (< J U) (<= L J)))))) (forall ((A ty) (B ty) (M uni) (A1 uni) (A2 uni)) (=> (sort A A1) (=> (sort A A2) (forall ((B1 uni)) (=> (not (= A1 A2)) (= (get B A (set B A M A1 B1) A2) (get B A M A2))))))) (forall ((A ty) (X uni)) (sort A (contents A X))) true))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 15.40/15.75 % SZS output end Proof for theBenchmark 15.40/15.75 EOF