0.07/0.12 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.07/0.13 % Command : do_cvc5 %s %d 0.13/0.34 % Computer : n003.cluster.edu 0.13/0.34 % Model : x86_64 x86_64 0.13/0.34 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.13/0.34 % Memory : 8042.1875MB 0.13/0.34 % OS : Linux 3.10.0-693.el7.x86_64 0.13/0.34 % CPULimit : 960 0.13/0.34 % WCLimit : 120 0.13/0.34 % DateTime : Tue Aug 9 02:09:21 EDT 2022 0.13/0.34 % CPUTime : 0.19/0.47 %----Proving TF0_ARI 30.71/31.02 ------- cvc5-tfa casc j11 : /export/starexec/sandbox2/benchmark/theBenchmark.p at /export/starexec/sandbox2/benchmark/theBenchmark.p... 30.71/31.02 --- Run --finite-model-find --decision=internal at 15... 30.71/31.02 --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 15... 30.71/31.02 --- Run --no-e-matching --full-saturate-quant at 15... 30.71/31.02 --- Run --cegqi-all --purify-triggers --full-saturate-quant at 15... 30.71/31.02 % SZS status Theorem for theBenchmark 30.71/31.02 % SZS output start Proof for theBenchmark 30.71/31.02 (let ((_let_1 (forall ((A1 array_char) (I1 Int) (A2 array_char) (I2 Int) (N Int)) (= (and (<= 0 I2) (forall ((I Int)) (=> (and (<= 0 I) (< I N)) (= (tb2t2 (get2 char (t2tb1 A1) (+ I1 I))) (tb2t2 (get2 char (t2tb1 A2) (+ I2 I)))))) (<= I2 (- (length1 char (t2tb1 A2)) N)) (<= I1 (- (length1 char (t2tb1 A1)) N)) (<= 0 I1)) (matches1 A1 I1 A2 I2 N))))) (let ((_let_2 (not (forall ((A1 array_char) (A2 array_char) (I1 Int) (I2 Int) (N Int) (Nqt Int)) (=> (matches1 A1 I1 A2 I2 N) (=> (< Nqt N) (matches1 A1 I1 A2 I2 Nqt))))))) (let ((_let_3 (* (- 1) skv_51))) (let ((_let_4 (>= (+ skv_50 _let_3) 1))) (let ((_let_5 (* (- 1) skv_54))) (let ((_let_6 (+ skv_51 _let_5))) (let ((_let_7 (>= _let_6 1))) (let ((_let_8 (+ skv_50 _let_5))) (let ((_let_9 (>= _let_8 1))) (let ((_let_10 (matches1 skv_46 skv_48 skv_47 skv_49 skv_51))) (let ((_let_11 (not _let_4))) (let ((_let_12 (matches1 skv_46 skv_48 skv_47 skv_49 skv_50))) (let ((_let_13 (not _let_12))) (let ((_let_14 (or _let_13 _let_11 _let_10))) (let ((_let_15 (forall ((A1 array_char) (A2 array_char) (I1 Int) (I2 Int) (N Int) (Nqt Int)) (or (not (matches1 A1 I1 A2 I2 N)) (not (>= (+ N (* (- 1) Nqt)) 1)) (matches1 A1 I1 A2 I2 Nqt))))) (let ((_let_16 (not _let_14))) (let ((_let_17 (EQ_RESOLVE (ASSUME :args (_let_2)) (MACRO_SR_EQ_INTRO :args (_let_2 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_18 (OR))) (let ((_let_19 (not _let_15))) (let ((_let_20 (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (IMPLIES_ELIM (SCOPE (SKOLEMIZE _let_17) :args (_let_19))) (CONG (MACRO_SR_PRED_INTRO :args ((= (not _let_19) _let_15))) (REFL :args (_let_16)) :args _let_18)) _let_17 :args (_let_16 true _let_15)))) (let ((_let_21 (REFL :args (_let_14)))) (let ((_let_22 (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_14 1)) (CONG _let_21 (MACRO_SR_PRED_INTRO :args ((= (not _let_11) _let_4))) :args _let_18)) :args ((or _let_4 _let_14))) _let_20 :args (_let_4 true _let_14)))) (let ((_let_23 (t2tb1 skv_46))) (let ((_let_24 (t2tb1 skv_47))) (let ((_let_25 (= (tb2t2 (get2 char _let_24 (+ skv_49 skv_54))) (tb2t2 (get2 char _let_23 (+ skv_48 skv_54)))))) (let ((_let_26 (not _let_7))) (let ((_let_27 (>= skv_54 0))) (let ((_let_28 (not _let_27))) (let ((_let_29 (or _let_28 _let_26 _let_25))) (let ((_let_30 (forall ((I Int)) (or (not (>= I 0)) (>= (+ I (* (- 1) skv_51)) 0) (= (tb2t2 (get2 char (t2tb1 skv_47) (+ I skv_49))) (tb2t2 (get2 char (t2tb1 skv_46) (+ I skv_48)))))))) (let ((_let_31 (not _let_29))) (let ((_let_32 (>= skv_48 0))) (let ((_let_33 (>= skv_49 0))) (let ((_let_34 (* (- 1) (length1 char _let_23)))) (let ((_let_35 (>= (+ skv_48 skv_51 _let_34) 1))) (let ((_let_36 (not _let_35))) (let ((_let_37 (* (- 1) (length1 char _let_24)))) (let ((_let_38 (>= (+ skv_49 skv_51 _let_37) 1))) (let ((_let_39 (not _let_38))) (let ((_let_40 (and _let_33 _let_30 _let_39 _let_36 _let_32))) (let ((_let_41 (not _let_30))) (let ((_let_42 (+ skv_48 skv_50 _let_34))) (let ((_let_43 (>= _let_42 1))) (let ((_let_44 (not _let_43))) (let ((_let_45 (+ skv_49 skv_50 _let_37))) (let ((_let_46 (>= _let_45 1))) (let ((_let_47 (not _let_46))) (let ((_let_48 (forall ((I Int)) (or (not (>= I 0)) (>= (+ I (* (- 1) skv_50)) 0) (= (tb2t2 (get2 char (t2tb1 skv_47) (+ I skv_49))) (tb2t2 (get2 char (t2tb1 skv_46) (+ I skv_48)))))))) (let ((_let_49 (and _let_33 _let_48 _let_47 _let_44 _let_32))) (let ((_let_50 (= _let_12 _let_49))) (let ((_let_51 (forall ((A1 array_char) (I1 Int) (A2 array_char) (I2 Int) (N Int)) (= (matches1 A1 I1 A2 I2 N) (and (>= I2 0) (forall ((I Int)) (or (not (>= I 0)) (not (>= (+ N (* (- 1) I)) 1)) (= (tb2t2 (get2 char (t2tb1 A2) (+ I2 I))) (tb2t2 (get2 char (t2tb1 A1) (+ I1 I)))))) (not (>= (+ I2 N (* (- 1) (length1 char (t2tb1 A2)))) 1)) (not (>= (+ I1 N (* (- 1) (length1 char (t2tb1 A1)))) 1)) (>= I1 0)))))) (let ((_let_52 (EQ_RESOLVE (ASSUME :args (_let_1)) (MACRO_SR_EQ_INTRO :args (_let_1 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_53 (_let_51))) (let ((_let_54 ((matches1 A1 I1 A2 I2 N)))) (let ((_let_55 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_EQUIV_POS1 :args (_let_50)) :args ((or _let_13 _let_49 (not _let_50)))) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_14 0)) (CONG _let_21 (MACRO_SR_PRED_INTRO :args ((= (not _let_13) _let_12))) :args _let_18)) :args ((or _let_12 _let_14))) _let_20 :args (_let_12 true _let_14)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_52 :args (skv_46 skv_48 skv_47 skv_49 skv_50 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_54)) :args _let_53))) _let_52 :args (_let_50 false _let_51)) :args (_let_49 false _let_12 false _let_50)))) (let ((_let_56 (not _let_49))) (let ((_let_57 (= _let_10 _let_40))) (let ((_let_58 (not _let_40))) (let ((_let_59 (false))) (let ((_let_60 ((- 1.0) 1.0 (- 1.0)))) (let ((_let_61 (ASSUME :args (_let_4)))) (let ((_let_62 (_let_38))) (let ((_let_63 (_let_35))) (let ((_let_64 (not _let_32))) (let ((_let_65 (not _let_33))) (let ((_let_66 (_let_41))) (let ((_let_67 (_let_40))) (let ((_let_68 (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (IMPLIES_ELIM (EQ_RESOLVE (SCOPE (SKOLEMIZE (ASSUME :args _let_66)) :args _let_66) (REWRITE :args ((=> _let_41 (not (or _let_28 (>= (+ skv_54 _let_3) 0) (= (tb2t2 (get2 char _let_24 (+ skv_54 skv_49))) (tb2t2 (get2 char _let_23 (+ skv_54 skv_48))))))))))) (CONG (MACRO_SR_PRED_INTRO :args ((= (not _let_41) _let_30))) (REFL :args (_let_31)) :args _let_18)) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_AND_NEG :args _let_67) (CONG (REFL :args _let_67) (REFL :args (_let_65)) (REFL :args _let_66) (MACRO_SR_PRED_INTRO :args ((= (not _let_39) _let_38))) (MACRO_SR_PRED_INTRO :args ((= (not _let_36) _let_35))) (REFL :args (_let_64)) :args _let_18)) :args ((or _let_35 _let_38 _let_40 _let_65 _let_41 _let_64))) (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_63) :args _let_63) (INT_TIGHT_UB (MACRO_SR_PRED_TRANSFORM (ASSUME :args (_let_44)) :args ((< _let_42 1)))) _let_61 :args _let_60) :args _let_59) :args (_let_44 _let_4 _let_35))) :args ((or _let_43 _let_11 _let_36))) :args ((or _let_11 _let_36 _let_43))) _let_22 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_49 3)) :args ((or _let_44 _let_56))) _let_55 :args (_let_44 false _let_49)) :args (_let_36 false _let_4 true _let_43)) (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_62) :args _let_62) (INT_TIGHT_UB (MACRO_SR_PRED_TRANSFORM (ASSUME :args (_let_47)) :args ((< _let_45 1)))) _let_61 :args _let_60) :args _let_59) :args (_let_47 _let_4 _let_38))) :args ((or _let_46 _let_11 _let_39))) :args ((or _let_11 _let_39 _let_46))) _let_22 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_49 2)) :args ((or _let_47 _let_56))) _let_55 :args (_let_47 false _let_49)) :args (_let_39 false _let_4 true _let_46)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_EQUIV_POS2 :args (_let_57)) :args ((or _let_10 _let_58 (not _let_57)))) (MACRO_RESOLUTION_TRUST (CNF_OR_NEG :args (_let_14 2)) _let_20 :args ((not _let_10) true _let_14)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_52 :args (skv_46 skv_48 skv_47 skv_49 skv_51 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_54)) :args _let_53))) _let_52 :args (_let_57 false _let_51)) :args (_let_58 true _let_10 false _let_57)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_49 0)) :args ((or _let_33 _let_56))) _let_55 :args (_let_33 false _let_49)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_49 4)) :args ((or _let_32 _let_56))) _let_55 :args (_let_32 false _let_49)) :args (_let_41 true _let_35 true _let_38 true _let_40 false _let_33 false _let_32)) :args (_let_31 true _let_30)))) (let ((_let_69 (REFL :args (_let_29)))) (let ((_let_70 (not _let_9))) (let ((_let_71 (or _let_28 _let_70 _let_25))) (let ((_let_72 (_let_48))) (let ((_let_73 (_let_26))) (let ((_let_74 (_let_7))) (let ((_let_75 (ASSUME :args (_let_70)))) (let ((_let_76 (ASSUME :args _let_74))) (SCOPE (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (NOT_AND (MACRO_SR_PRED_TRANSFORM (SCOPE (AND_INTRO _let_75 _let_61 _let_76) :args (_let_4 _let_7 _let_70)) (SCOPE (CONTRA _let_76 (MACRO_SR_PRED_TRANSFORM (MACRO_SR_PRED_TRANSFORM (SCOPE (MACRO_SR_PRED_TRANSFORM (MACRO_ARITH_SCALE_SUM_UB _let_76 _let_61 (MACRO_SR_PRED_TRANSFORM _let_75 :args ((< _let_8 1))) :args ((- 1.0) (- 1.0) 1.0)) :args _let_59) :args _let_74) :args ((< _let_6 1))) :args _let_73)) :args (_let_70 _let_4 _let_7)) :args ((not (and _let_4 _let_7 _let_70)) SB_LITERAL))) (CONG (REFL :args (_let_11)) (REFL :args _let_73) (MACRO_SR_PRED_INTRO :args ((= (not _let_70) _let_9))) :args _let_18)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_71)) :args ((or _let_28 _let_25 _let_70 (not _let_71)))) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_29 0)) (CONG _let_69 (MACRO_SR_PRED_INTRO :args ((= (not _let_28) _let_27))) :args _let_18)) :args ((or _let_27 _let_29))) _let_68 :args (_let_27 true _let_29)) (MACRO_RESOLUTION_TRUST (CNF_OR_NEG :args (_let_29 2)) _let_68 :args ((not _let_25) true _let_29)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE (ASSUME :args _let_72) :args (skv_54 QUANTIFIERS_INST_E_MATCHING_VAR_GEN ((get2 char _let_24 (+ I skv_49))))) :args _let_72))) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_49 1)) :args ((or _let_48 _let_56))) _let_55 :args (_let_48 false _let_49)) :args (_let_71 false _let_48)) :args (_let_70 false _let_27 true _let_25 false _let_71)) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_29 1)) (CONG _let_69 (MACRO_SR_PRED_INTRO :args ((= (not _let_26) _let_7))) :args _let_18)) :args ((or _let_7 _let_29))) _let_68 :args (_let_7 true _let_29)) _let_22 :args (false true _let_9 false _let_7 false _let_4)) :args ((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 ((X Int)) (sort1 int (t2tb X))) (forall ((A1 array_char) (A2 array_char) (I1 Int) (I2 Int) (I Int) (N Int)) (=> (< 0 N) (=> (and (<= 0 I) (< I N)) (=> (not (= (tb2t2 (get2 char (t2tb1 A1) (+ I1 I))) (tb2t2 (get2 char (t2tb1 A2) (+ I2 I))))) (not (matches1 A1 I1 A2 I2 N)))))) (forall ((I Int)) (= (tb2t (t2tb I)) I)) (forall ((A ty) (U Int) (U1 uni)) (= (length1 A (mk_array1 A U U1)) U)) (forall ((A1 array_char) (A2 array_char) (I1 Int) (I2 Int) (N Int)) (let ((_let_1 (t2tb1 A2))) (let ((_let_2 (t2tb1 A1))) (=> (matches1 A1 I1 A2 I2 N) (=> (<= I1 (- (- (length1 char _let_2) N) 1)) (=> (<= I2 (- (- (length1 char _let_1) N) 1)) (=> (= (tb2t2 (get2 char _let_2 (+ I1 N))) (tb2t2 (get2 char _let_1 (+ I2 N)))) (matches1 A1 I1 A2 I2 (+ N 1))))))))) (forall ((A ty) (U uni)) (= U (mk_array1 A (length1 A U) (elts A U)))) (forall ((A ty)) (sort1 A (witness1 A))) (forall ((A ty) (N Int) (V uni)) (= (make1 A N V) (mk_array1 A N (const A int V)))) _let_2 (forall ((A ty) (B ty) (X uni)) (sort1 (map A B) (const B A X))) (forall ((U bool1)) (or (= U false1) (= U true1))) (forall ((A ty) (X uni) (X1 Int)) (sort1 A (get2 A X X1))) _let_1 (forall ((A ty) (X uni)) (sort1 (ref A) (mk_ref A X))) (forall ((A ty) (X bool1) (X1 uni) (X2 uni)) (sort1 A (match_bool1 A X X1 X2))) (forall ((X Int) (Y Int) (Z Int)) (=> (<= X Y) (=> (<= 0 Z) (<= (* X Z) (* Y Z))))) (forall ((A ty) (U uni)) (=> (sort1 A U) (= (contents A (mk_ref A U)) U))) (forall ((A1 array_char) (A2 array_char) (I1 Int) (I2 Int)) (=> (and (<= I1 (length1 char (t2tb1 A1))) (<= 0 I1)) (=> (and (<= 0 I2) (<= I2 (length1 char (t2tb1 A2)))) (matches1 A1 I1 A2 I2 0)))) (forall ((X char1)) (sort1 char (t2tb2 X))) (forall ((U tuple02)) (= U tuple03)) (forall ((A ty) (U uni)) (=> (sort1 (ref A) U) (= U (mk_ref A (contents A U))))) (forall ((A ty) (U Int) (U1 uni)) (=> (sort1 (map int A) U1) (= (elts A (mk_array1 A U U1)) U1))) (forall ((J uni)) (= (t2tb (tb2t J)) J)) (forall ((I array_char)) (= (tb2t1 (t2tb1 I)) I)) (forall ((A ty) (B ty) (X uni) (X1 uni)) (sort1 B (get B A X X1))) (forall ((J uni)) (= (t2tb1 (tb2t1 J)) J)) (forall ((A ty) (X uni)) (sort1 A (contents A X))) (forall ((A ty) (X Int) (X1 uni)) (sort1 (array A) (make1 A X X1))) (forall ((A ty) (X uni)) (sort1 (map int A) (elts A X))) (forall ((J uni)) (=> (sort1 char J) (= (t2tb2 (tb2t2 J)) J))) (forall ((A ty) (X Int) (X1 uni)) (sort1 (array A) (mk_array1 A X X1))) (forall ((X array_char)) (sort1 (array char) (t2tb1 X))) (forall ((A ty) (X uni) (X1 Int) (X2 uni)) (sort1 (array A) (set2 A X X1 X2))) (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 ((A ty) (B ty) (X uni) (X1 uni) (X2 uni)) (sort1 (map A B) (set B A X X1 X2))) (forall ((A ty) (Z uni) (Z1 uni)) (=> (sort1 A Z) (= (match_bool1 A true1 Z Z1) Z))) (forall ((A ty) (A1 uni) (I Int)) (= (get2 A A1 I) (get A int (elts A A1) (t2tb I)))) (not (= true1 false1)) (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))))))) (forall ((A ty) (Z uni) (Z1 uni)) (=> (sort1 A Z1) (= (match_bool1 A false1 Z Z1) Z1))) (forall ((A ty) (B ty) (B1 uni) (A1 uni)) (=> (sort1 B B1) (= (get B A (const B A B1) A1) B1))) (forall ((A1 array_char) (A2 array_char) (I1 Int) (I2 Int) (N Int)) (=> (< 0 N) (=> (not (= (tb2t2 (get2 char (t2tb1 A1) I1)) (tb2t2 (get2 char (t2tb1 A2) I2)))) (not (matches1 A1 I1 A2 I2 N))))) (forall ((I char1)) (= (tb2t2 (t2tb2 I)) I)) true)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 30.71/31.02 % SZS output end Proof for theBenchmark 30.71/31.02 EOF