TSTP Solution File: SWW594_2 by cvc5---1.0.5

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cvc5---1.0.5
% Problem  : SWW594_2 : TPTP v8.1.2. Released v6.1.0.
% Transfm  : none
% Format   : tptp
% Command  : do_cvc5 %s %d

% Computer : n018.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Fri Sep  1 00:21:38 EDT 2023

% Result   : Theorem 15.50s 15.81s
% Output   : Proof 15.50s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.13  % Problem    : SWW594_2 : TPTP v8.1.2. Released v6.1.0.
% 0.00/0.14  % Command    : do_cvc5 %s %d
% 0.15/0.35  % Computer : n018.cluster.edu
% 0.15/0.35  % Model    : x86_64 x86_64
% 0.15/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.35  % Memory   : 8042.1875MB
% 0.15/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.15/0.35  % CPULimit   : 300
% 0.15/0.35  % WCLimit    : 300
% 0.15/0.35  % DateTime   : Sun Aug 27 22:38:01 EDT 2023
% 0.15/0.36  % CPUTime    : 
% 0.22/0.50  %----Proving TF0_ARI
% 15.50/15.81  ------- convert to smt2 : /export/starexec/sandbox/tmp/tmp.Ci5HN1yMyK/cvc5---1.0.5_18894.p...
% 15.50/15.81  ------- get file name : TPTP file name is SWW594_2
% 15.50/15.81  ------- cvc5-tfa : /export/starexec/sandbox/solver/bin/cvc5---1.0.5_18894.smt2...
% 15.50/15.81  --- Run --finite-model-find --decision=internal at 15...
% 15.50/15.81  --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 15...
% 15.50/15.81  % SZS status Theorem for SWW594_2
% 15.50/15.81  % SZS output start Proof for SWW594_2
% 15.50/15.81  (
% 15.50/15.81  (let ((_let_1 (not (forall ((A Int) (A1 tptp.map_int_int)) (=> (and (<= 0 A) (= A (+ tptp.usN 1))) (forall ((N Int) (M Int) (A2 tptp.map_int_int)) (let ((_let_1 (tptp.mk_array tptp.int A (tptp.t2tb2 A2)))) (let ((_let_2 (tptp.tb2t1 _let_1))) (=> (and (tptp.m_invariant M _let_2) (tptp.n_invariant N _let_2) (tptp.permut_all tptp.int _let_1 (tptp.mk_array tptp.int A (tptp.t2tb2 A1))) (<= 1 M) (<= N tptp.usN)) (=> (< M N) (=> (and (<= 0 A) (<= 0 tptp.f) (< tptp.f A)) (forall ((J Int) (I Int) (A3 tptp.map_int_int)) (let ((_let_1 (tptp.mk_array tptp.int A (tptp.t2tb2 A3)))) (let ((_let_2 (tptp.tb2t1 _let_1))) (let ((_let_3 (tptp.tb2t (tptp.get tptp.int tptp.int (tptp.t2tb2 A2) (tptp.t2tb tptp.f))))) (=> (and (tptp.i_invariant M N I _let_3 _let_2) (tptp.j_invariant M N J _let_3 _let_2) (tptp.m_invariant M _let_2) (tptp.n_invariant N _let_2) (<= 0 J) (<= I (+ tptp.usN 1)) (tptp.termination I J M N _let_3 _let_2) (tptp.permut_all tptp.int _let_1 (tptp.mk_array tptp.int A (tptp.t2tb2 A1)))) (=> (<= I J) (forall ((I1 Int)) (let ((_let_1 (tptp.tb2t (tptp.get tptp.int tptp.int (tptp.t2tb2 A2) (tptp.t2tb tptp.f))))) (let ((_let_2 (tptp.t2tb2 A3))) (let ((_let_3 (tptp.tb2t1 (tptp.mk_array tptp.int A _let_2)))) (=> (and (tptp.i_invariant M N I1 _let_1 _let_3) (<= I I1) (<= I1 N) (tptp.termination I1 J M N _let_1 _let_3)) (=> (and (<= 0 A) (<= 0 I1) (< I1 A)) (=> (not (< (tptp.tb2t (tptp.get tptp.int tptp.int _let_2 (tptp.t2tb I1))) _let_1)) (forall ((J1 Int)) (let ((_let_1 (tptp.t2tb2 A3))) (let ((_let_2 (tptp.tb2t (tptp.get tptp.int tptp.int (tptp.t2tb2 A2) (tptp.t2tb tptp.f))))) (let ((_let_3 (tptp.tb2t1 (tptp.mk_array tptp.int A _let_1)))) (=> (and (tptp.j_invariant M N J1 _let_2 _let_3) (<= J1 J) (<= M J1) (tptp.termination I1 J1 M N _let_2 _let_3)) (=> (and (<= 0 J1) (< J1 A)) (=> (< _let_2 (tptp.tb2t (tptp.get tptp.int tptp.int _let_1 (tptp.t2tb J1)))) (forall ((J2 Int)) (=> (= J2 (- J1 1)) (tptp.termination I1 J2 M N (tptp.tb2t (tptp.get tptp.int tptp.int (tptp.t2tb2 A2) (tptp.t2tb tptp.f))) (tptp.tb2t1 (tptp.mk_array tptp.int A (tptp.t2tb2 A3))))))))))))))))))))))))))))))))))))) (let ((_let_2 (forall ((X tptp.map_int_int)) (tptp.sort (tptp.map tptp.int tptp.int) (tptp.t2tb2 X))))) (let ((_let_3 (forall ((I Int) (J Int) (I0 Int) (J0 Int) (R Int) (A tptp.array_int)) (= (tptp.termination I J I0 J0 R A) (or (and (< I0 I) (< J J0)) (and (<= I tptp.f) (<= tptp.f J) (= (tptp.tb2t (tptp.get1 tptp.int (tptp.t2tb1 A) tptp.f)) R))))))) (let ((_let_4 (forall ((M Int) (N Int) (J Int) (R Int) (A tptp.array_int)) (= (tptp.j_invariant M N J R A) (and (<= J N) (forall ((Q Int)) (=> (and (< J Q) (<= Q tptp.usN)) (<= R (tptp.tb2t (tptp.get1 tptp.int (tptp.t2tb1 A) Q))))) (=> (<= M J) (exists ((Q Int)) (and (<= M Q) (<= Q J) (<= (tptp.tb2t (tptp.get1 tptp.int (tptp.t2tb1 A) Q)) R))))))))) (let ((_let_5 (forall ((J tptp.uni)) (= (tptp.t2tb1 (tptp.tb2t1 J)) J)))) (let ((_let_6 (forall ((A tptp.ty) (A1 tptp.uni) (I Int)) (= (tptp.get1 A A1 I) (tptp.get A tptp.int (tptp.elts A A1) (tptp.t2tb I)))))) (let ((_let_7 (forall ((J tptp.uni)) (= (tptp.t2tb (tptp.tb2t J)) J)))) (let ((_let_8 (forall ((A tptp.ty) (U Int) (U1 tptp.uni)) (=> (tptp.sort (tptp.map tptp.int A) U1) (= (tptp.elts A (tptp.mk_array A U U1)) U1))))) (let ((_let_9 (tptp.t2tb2 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_8))) (let ((_let_10 (tptp.tb2t (tptp.get tptp.int tptp.int _let_9 (tptp.t2tb SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_11))))) (let ((_let_11 (tptp.t2tb tptp.f))) (let ((_let_12 (tptp.t2tb2 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_3))) (let ((_let_13 (tptp.get tptp.int tptp.int _let_12 _let_11))) (let ((_let_14 (tptp.tb2t _let_13))) (let ((_let_15 (+ _let_14 (* (- 1) _let_10)))) (let ((_let_16 (>= _let_15 0))) (let ((_let_17 (= _let_13 (tptp.t2tb _let_14)))) (let ((_let_18 (+ 1 tptp.usN))) (let ((_let_19 (tptp.mk_array tptp.int _let_18 _let_9))) (let ((_let_20 (tptp.tb2t1 _let_19))) (let ((_let_21 (tptp.t2tb1 _let_20))) (let ((_let_22 (= _let_19 _let_21))) (let ((_let_23 (= _let_9 (tptp.elts tptp.int _let_19)))) (let ((_let_24 (tptp.get1 tptp.int _let_21 tptp.f))) (let ((_let_25 (tptp.tb2t _let_24))) (let ((_let_26 (= _let_14 _let_25))) (let ((_let_27 (* (- 1) SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_11))) (let ((_let_28 (+ tptp.f _let_27))) (let ((_let_29 (>= _let_28 1))) (let ((_let_30 (>= _let_28 0))) (let ((_let_31 (= _let_24 (tptp.t2tb _let_25)))) (let ((_let_32 (= _let_24 (tptp.get tptp.int tptp.int (tptp.elts tptp.int _let_21) _let_11)))) (let ((_let_33 (+ (- 1) SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_11))) (let ((_let_34 (tptp.termination SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_10 _let_33 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_5 _let_14 _let_20))) (let ((_let_35 (not (>= (+ tptp.usN _let_27) 0)))) (let ((_let_36 (not (>= SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_11 0)))) (let ((_let_37 (tptp.termination SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_10 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_11 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_5 _let_14 _let_20))) (let ((_let_38 (not _let_37))) (let ((_let_39 (>= (+ SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4 _let_27) 1))) (let ((_let_40 (tptp.j_invariant SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_5 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_11 _let_14 _let_20))) (let ((_let_41 (not _let_40))) (let ((_let_42 (>= (+ _let_14 (* (- 1) (tptp.tb2t (tptp.get tptp.int tptp.int _let_9 (tptp.t2tb SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_10))))) 1))) (let ((_let_43 (* (- 1) SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_10))) (let ((_let_44 (not (>= (+ tptp.usN _let_43) 0)))) (let ((_let_45 (not (>= SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_10 0)))) (let ((_let_46 (tptp.termination SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_10 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_9 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_5 _let_14 _let_20))) (let ((_let_47 (not _let_46))) (let ((_let_48 (not (>= (+ SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_5 _let_43) 0)))) (let ((_let_49 (not (tptp.i_invariant SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_5 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_10 _let_14 _let_20)))) (let ((_let_50 (* (- 1) SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_9))) (let ((_let_51 (tptp.mk_array tptp.int _let_18 (tptp.t2tb2 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_6)))) (let ((_let_52 (not (tptp.permut_all tptp.int _let_19 _let_51)))) (let ((_let_53 (not (tptp.termination SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_7 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_9 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_5 _let_14 _let_20)))) (let ((_let_54 (* (- 1) SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_7))) (let ((_let_55 (not (>= (+ tptp.usN _let_54) (- 1))))) (let ((_let_56 (not (>= SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_9 0)))) (let ((_let_57 (not (tptp.n_invariant SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_5 _let_20)))) (let ((_let_58 (not (tptp.m_invariant SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4 _let_20)))) (let ((_let_59 (not (tptp.j_invariant SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_5 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_9 _let_14 _let_20)))) (let ((_let_60 (not (tptp.i_invariant SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_5 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_7 _let_14 _let_20)))) (let ((_let_61 (* (- 1) SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_5))) (let ((_let_62 (>= (+ SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4 _let_61) 0))) (let ((_let_63 (not (>= (+ tptp.usN _let_61) 0)))) (let ((_let_64 (not (>= SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4 1)))) (let ((_let_65 (tptp.mk_array tptp.int _let_18 _let_12))) (let ((_let_66 (not (tptp.permut_all tptp.int _let_65 _let_51)))) (let ((_let_67 (tptp.tb2t1 _let_65))) (let ((_let_68 (not (tptp.n_invariant SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_5 _let_67)))) (let ((_let_69 (not (tptp.m_invariant SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4 _let_67)))) (let ((_let_70 (or _let_69 _let_68 _let_66 _let_64 _let_63 _let_62 _let_60 _let_59 _let_58 _let_57 _let_56 _let_55 _let_53 _let_52 (>= (+ SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_7 _let_50) 1) _let_49 (>= (+ SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_7 _let_43) 1) _let_48 _let_47 _let_45 _let_44 _let_42 _let_41 (not (>= (+ SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_9 _let_27) 0)) _let_39 _let_38 _let_36 _let_35 _let_16 _let_34))) (let ((_let_71 (not _let_16))) (let ((_let_72 (forall ((BOUND_VARIABLE_3033 tptp.map_int_int) (BOUND_VARIABLE_3031 Int) (BOUND_VARIABLE_3035 Int) (A1 tptp.map_int_int) (BOUND_VARIABLE_3045 Int) (BOUND_VARIABLE_3043 tptp.map_int_int) (BOUND_VARIABLE_3041 Int) (BOUND_VARIABLE_3037 Int) (BOUND_VARIABLE_3039 Int)) (let ((_let_1 (tptp.t2tb2 BOUND_VARIABLE_3043))) (let ((_let_2 (+ 1 tptp.usN))) (let ((_let_3 (tptp.mk_array tptp.int _let_2 _let_1))) (let ((_let_4 (tptp.tb2t1 _let_3))) (let ((_let_5 (tptp.t2tb2 BOUND_VARIABLE_3033))) (let ((_let_6 (tptp.tb2t (tptp.get tptp.int tptp.int _let_5 (tptp.t2tb tptp.f))))) (let ((_let_7 (* (- 1) BOUND_VARIABLE_3039))) (let ((_let_8 (* (- 1) BOUND_VARIABLE_3037))) (let ((_let_9 (* (- 1) BOUND_VARIABLE_3045))) (let ((_let_10 (tptp.mk_array tptp.int _let_2 (tptp.t2tb2 A1)))) (let ((_let_11 (* (- 1) BOUND_VARIABLE_3035))) (let ((_let_12 (tptp.mk_array tptp.int _let_2 _let_5))) (let ((_let_13 (tptp.tb2t1 _let_12))) (or (not (tptp.m_invariant BOUND_VARIABLE_3031 _let_13)) (not (tptp.n_invariant BOUND_VARIABLE_3035 _let_13)) (not (tptp.permut_all tptp.int _let_12 _let_10)) (not (>= BOUND_VARIABLE_3031 1)) (not (>= (+ tptp.usN _let_11) 0)) (>= (+ BOUND_VARIABLE_3031 _let_11) 0) (not (tptp.i_invariant BOUND_VARIABLE_3031 BOUND_VARIABLE_3035 BOUND_VARIABLE_3045 _let_6 _let_4)) (not (tptp.j_invariant BOUND_VARIABLE_3031 BOUND_VARIABLE_3035 BOUND_VARIABLE_3041 _let_6 _let_4)) (not (tptp.m_invariant BOUND_VARIABLE_3031 _let_4)) (not (tptp.n_invariant BOUND_VARIABLE_3035 _let_4)) (not (>= BOUND_VARIABLE_3041 0)) (not (>= (+ tptp.usN _let_9) (- 1))) (not (tptp.termination BOUND_VARIABLE_3045 BOUND_VARIABLE_3041 BOUND_VARIABLE_3031 BOUND_VARIABLE_3035 _let_6 _let_4)) (not (tptp.permut_all tptp.int _let_3 _let_10)) (not (>= (+ BOUND_VARIABLE_3041 _let_9) 0)) (not (tptp.i_invariant BOUND_VARIABLE_3031 BOUND_VARIABLE_3035 BOUND_VARIABLE_3037 _let_6 _let_4)) (not (>= (+ BOUND_VARIABLE_3037 _let_9) 0)) (not (>= (+ BOUND_VARIABLE_3035 _let_8) 0)) (not (tptp.termination BOUND_VARIABLE_3037 BOUND_VARIABLE_3041 BOUND_VARIABLE_3031 BOUND_VARIABLE_3035 _let_6 _let_4)) (not (>= BOUND_VARIABLE_3037 0)) (not (>= (+ tptp.usN _let_8) 0)) (>= (+ _let_6 (* (- 1) (tptp.tb2t (tptp.get tptp.int tptp.int _let_1 (tptp.t2tb BOUND_VARIABLE_3037))))) 1) (not (tptp.j_invariant BOUND_VARIABLE_3031 BOUND_VARIABLE_3035 BOUND_VARIABLE_3039 _let_6 _let_4)) (>= (+ BOUND_VARIABLE_3039 (* (- 1) BOUND_VARIABLE_3041)) 1) (>= (+ BOUND_VARIABLE_3031 _let_7) 1) (not (tptp.termination BOUND_VARIABLE_3037 BOUND_VARIABLE_3039 BOUND_VARIABLE_3031 BOUND_VARIABLE_3035 _let_6 _let_4)) (not (>= BOUND_VARIABLE_3039 0)) (not (>= (+ tptp.usN _let_7) 0)) (>= (+ _let_6 (* (- 1) (tptp.tb2t (tptp.get tptp.int tptp.int _let_1 (tptp.t2tb BOUND_VARIABLE_3039))))) 0) (tptp.termination BOUND_VARIABLE_3037 (+ (- 1) BOUND_VARIABLE_3039) BOUND_VARIABLE_3031 BOUND_VARIABLE_3035 _let_6 _let_4)))))))))))))))))) (let ((_let_73 (not _let_70))) (let ((_let_74 (or))) (let ((_let_75 (not _let_72))) (let ((_let_76 (_let_75))) (let ((_let_77 (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (IMPLIES_ELIM (EQ_RESOLVE (SCOPE (SKOLEMIZE (ASSUME :args _let_76)) :args _let_76) (REWRITE :args ((=> _let_75 (not (or _let_69 _let_68 _let_66 _let_64 _let_63 _let_62 _let_60 _let_59 _let_58 _let_57 _let_56 _let_55 _let_53 _let_52 (not (>= (+ SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_9 _let_54) 0)) _let_49 (not (>= (+ SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_10 _let_54) 0)) _let_48 _let_47 _let_45 _let_44 _let_42 _let_41 (>= (+ SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_11 _let_50) 1) _let_39 _let_38 _let_36 _let_35 _let_16 _let_34))))))) (CONG (MACRO_SR_PRED_INTRO :args ((= (not _let_75) _let_72))) (REFL :args (_let_73)) :args _let_74)) (NOT_OR_ELIM (EQ_RESOLVE (ASSUME :args (_let_1)) (MACRO_SR_EQ_INTRO :args (_let_1 SB_DEFAULT SBA_FIXPOINT))) :args (3)) :args (_let_73 true _let_72)))) (let ((_let_78 (forall ((J tptp.uni)) (= J (tptp.t2tb (tptp.tb2t J)))))) (let ((_let_79 (EQ_RESOLVE (ASSUME :args (_let_7)) (MACRO_SR_EQ_INTRO :args (_let_7 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_80 (_let_78))) (let ((_let_81 ((tptp.tb2t J)))) (let ((_let_82 (forall ((J tptp.uni)) (= J (tptp.t2tb1 (tptp.tb2t1 J)))))) (let ((_let_83 (EQ_RESOLVE (ASSUME :args (_let_5)) (MACRO_SR_EQ_INTRO :args (_let_5 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_84 (tptp.sort (tptp.map tptp.int tptp.int) _let_9))) (let ((_let_85 (not _let_84))) (let ((_let_86 (or _let_85 _let_23))) (let ((_let_87 (forall ((A tptp.ty) (U Int) (U1 tptp.uni)) (or (not (tptp.sort (tptp.map tptp.int A) U1)) (= U1 (tptp.elts A (tptp.mk_array A U U1))))))) (let ((_let_88 (EQ_RESOLVE (ASSUME :args (_let_8)) (MACRO_SR_EQ_INTRO :args (_let_8 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_89 (_let_2))) (let ((_let_90 (ASSUME :args _let_89))) (let ((_let_91 (>= (+ tptp.f _let_43) 0))) (let ((_let_92 (and _let_91 (not (>= (+ tptp.f _let_50) 1)) _let_26))) (let ((_let_93 (>= (+ SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4 _let_43) 0))) (let ((_let_94 (not _let_93))) (let ((_let_95 (and _let_94 (>= (+ SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_5 _let_50) 1)))) (let ((_let_96 (or _let_95 _let_92))) (let ((_let_97 (= _let_46 _let_96))) (let ((_let_98 (forall ((I Int) (J Int) (I0 Int) (J0 Int) (R Int) (A tptp.array_int)) (= (tptp.termination I J I0 J0 R A) (or (and (>= (+ I (* (- 1) I0)) 1) (not (>= (+ J (* (- 1) J0)) 0))) (and (>= (+ tptp.f (* (- 1) I)) 0) (not (>= (+ tptp.f (* (- 1) J)) 1)) (= R (tptp.tb2t (tptp.get1 tptp.int (tptp.t2tb1 A) tptp.f))))))))) (let ((_let_99 (EQ_RESOLVE (ASSUME :args (_let_3)) (MACRO_SR_EQ_INTRO :args (_let_3 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_100 (_let_98))) (let ((_let_101 ((tptp.termination I J I0 J0 R A)))) (let ((_let_102 (REFL :args (_let_70)))) (let ((_let_103 (not _let_95))) (let ((_let_104 (+ SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_5 _let_27))) (let ((_let_105 (>= _let_104 0))) (let ((_let_106 (and _let_94 _let_105))) (let ((_let_107 (not _let_30))) (let ((_let_108 (and _let_91 _let_107 _let_26))) (let ((_let_109 (or _let_106 _let_108))) (let ((_let_110 (= _let_34 _let_109))) (let ((_let_111 (not _let_109))) (let ((_let_112 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_EQUIV_POS2 :args (_let_110)) :args ((or _let_34 _let_111 (not _let_110)))) (MACRO_RESOLUTION_TRUST (CNF_OR_NEG :args (_let_70 29)) _let_77 :args ((not _let_34) true _let_70)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_99 :args (SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_10 _let_33 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_5 _let_14 _let_20 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_101)) :args _let_100))) _let_99 :args (_let_110 false _let_98)) :args (_let_111 true _let_34 false _let_110)))) (let ((_let_113 (and _let_105 (forall ((Q Int)) (or (not (>= (+ Q (* (- 1) SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_11)) 1)) (not (>= (+ tptp.usN (* (- 1) Q)) 0)) (not (>= (+ (tptp.tb2t (tptp.get tptp.int tptp.int (tptp.t2tb2 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_3) (tptp.t2tb tptp.f))) (* (- 1) (tptp.tb2t (tptp.get1 tptp.int (tptp.t2tb1 (tptp.tb2t1 (tptp.mk_array tptp.int (+ 1 tptp.usN) (tptp.t2tb2 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_8)))) Q)))) 1)))) (or _let_39 (not (forall ((Q Int)) (or (not (>= (+ Q (* (- 1) SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4)) 0)) (>= (+ Q (* (- 1) SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_11)) 1) (not (>= (+ (tptp.tb2t (tptp.get tptp.int tptp.int (tptp.t2tb2 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_3) (tptp.t2tb tptp.f))) (* (- 1) (tptp.tb2t (tptp.get1 tptp.int (tptp.t2tb1 (tptp.tb2t1 (tptp.mk_array tptp.int (+ 1 tptp.usN) (tptp.t2tb2 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_8)))) Q)))) 0))))))))) (let ((_let_114 (= _let_40 _let_113))) (let ((_let_115 (forall ((M Int) (N Int) (J Int) (R Int) (A tptp.array_int)) (let ((_let_1 (* (- 1) J))) (= (tptp.j_invariant M N J R A) (and (>= (+ N _let_1) 0) (forall ((Q Int)) (let ((_let_1 (* (- 1) Q))) (or (>= (+ J _let_1) 0) (not (>= (+ tptp.usN _let_1) 0)) (not (>= (+ R (* (- 1) (tptp.tb2t (tptp.get1 tptp.int (tptp.t2tb1 A) Q)))) 1))))) (or (>= (+ M _let_1) 1) (not (forall ((Q Int)) (let ((_let_1 (* (- 1) Q))) (or (>= (+ M _let_1) 1) (not (>= (+ J _let_1) 0)) (not (>= (+ R (* (- 1) (tptp.tb2t (tptp.get1 tptp.int (tptp.t2tb1 A) Q)))) 0))))))))))))) (let ((_let_116 (EQ_RESOLVE (ASSUME :args (_let_4)) (MACRO_SR_EQ_INTRO :args (_let_4 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_117 (not _let_105))) (let ((_let_118 (_let_106))) (let ((_let_119 (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_AND_NEG :args _let_118) (CONG (REFL :args _let_118) (MACRO_SR_PRED_INTRO :args ((= (not _let_94) _let_93))) (REFL :args (_let_117)) :args _let_74)) :args ((or _let_93 _let_117 _let_106))) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_113 0)) :args ((or _let_105 (not _let_113)))) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_EQUIV_POS1 :args (_let_114)) :args ((or _let_41 _let_113 (not _let_114)))) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_70 22)) (CONG _let_102 (MACRO_SR_PRED_INTRO :args ((= (not _let_41) _let_40))) :args _let_74)) :args ((or _let_40 _let_70))) _let_77 :args (_let_40 true _let_70)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_116 :args (SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_5 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_11 _let_14 _let_20 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((tptp.j_invariant M N J R A)))) :args (_let_115)))) _let_116 :args (_let_114 false _let_115)) :args (_let_113 false _let_40 false _let_114)) :args (_let_105 false _let_113)) (MACRO_RESOLUTION_TRUST (CNF_OR_NEG :args (_let_109 0)) _let_112 :args ((not _let_106) true _let_109)) :args (_let_93 false _let_105 true _let_106)))) (let ((_let_120 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_96)) :args ((or _let_92 _let_95 (not _let_96)))) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_95 0)) :args ((or _let_94 _let_103))) _let_119 :args (_let_103 false _let_93)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_EQUIV_POS1 :args (_let_97)) :args ((or _let_47 _let_96 (not _let_97)))) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_70 18)) (CONG _let_102 (MACRO_SR_PRED_INTRO :args ((= (not _let_47) _let_46))) :args _let_74)) :args ((or _let_46 _let_70))) _let_77 :args (_let_46 true _let_70)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_99 :args (SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_10 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_9 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_5 _let_14 _let_20 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_101)) :args _let_100))) _let_99 :args (_let_97 false _let_98)) :args (_let_96 false _let_46 false _let_97)) :args (_let_92 true _let_95 false _let_96)))) (let ((_let_121 (not _let_92))) (let ((_let_122 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_92 2)) :args ((or _let_26 _let_121))) _let_120 :args (_let_26 false _let_92)))) (let ((_let_123 (not _let_29))) (let ((_let_124 (and _let_91 _let_123 _let_26))) (let ((_let_125 (and _let_94 (>= _let_104 1)))) (let ((_let_126 (or _let_125 _let_124))) (let ((_let_127 (= _let_37 _let_126))) (let ((_let_128 (not _let_125))) (let ((_let_129 (not _let_91))) (let ((_let_130 (not _let_26))) (let ((_let_131 (REFL :args (_let_130)))) (let ((_let_132 (_let_108))) (let ((_let_133 (_let_6))) (let ((_let_134 (ASSUME :args _let_133))) (let ((_let_135 (not _let_32))) (let ((_let_136 (not _let_31))) (let ((_let_137 (not _let_22))) (let ((_let_138 (not _let_17))) (let ((_let_139 (not _let_23))) (let ((_let_140 (= _let_14 _let_10))) (let ((_let_141 (not _let_140))) (let ((_let_142 (_let_140))) (let ((_let_143 (ASSUME :args _let_142))) (let ((_let_144 (= tptp.f SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_11))) (let ((_let_145 (APPLY_UF tptp.t2tb))) (let ((_let_146 (_let_144))) (let ((_let_147 (ASSUME :args (_let_23)))) (let ((_let_148 (ASSUME :args (_let_22)))) (let ((_let_149 (REFL :args (tptp.int)))) (let ((_let_150 (ASSUME :args (_let_32)))) (let ((_let_151 (ASSUME :args (_let_31)))) (let ((_let_152 (ASSUME :args (_let_26)))) (let ((_let_153 (ASSUME :args (_let_17)))) (let ((_let_154 (ASSUME :args (_let_123)))) (let ((_let_155 (ASSUME :args (_let_30)))) (let ((_let_156 (_let_71))) (let ((_let_157 (ASSUME :args _let_156))) (SCOPE (SCOPE (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (NOT_AND (MACRO_SR_PRED_TRANSFORM (SCOPE (AND_INTRO (MODUS_PONENS _let_157 (SCOPE (SCOPE (MACRO_SR_PRED_TRANSFORM (MACRO_ARITH_SCALE_SUM_UB _let_143 (INT_TIGHT_UB (MACRO_SR_PRED_TRANSFORM _let_157 :args ((< _let_15 0)))) :args ((- 1) 1)) :args (false)) :args _let_142) :args _let_156)) (MODUS_PONENS (AND_INTRO _let_147 _let_148 (MODUS_PONENS (AND_INTRO _let_155 _let_154) (SCOPE (SYMM (SYMM (MACRO_SR_PRED_TRANSFORM (ARITH_TRICHOTOMY _let_155 (INT_TIGHT_UB (MACRO_SR_PRED_TRANSFORM _let_154 :args ((< _let_28 1)))) :args ((= _let_28 0))) :args _let_146))) :args (_let_30 _let_123))) _let_150 _let_151 _let_152 _let_153) (SCOPE (CONG (TRANS (SYMM (SYMM _let_153)) (CONG (SYMM (SYMM _let_152)) :args _let_145) (SYMM _let_151) (SYMM (SYMM _let_150)) (CONG _let_149 _let_149 (TRANS (CONG _let_149 (SYMM _let_148) :args (APPLY_UF tptp.elts)) (SYMM _let_147)) (CONG (SYMM (SYMM (ASSUME :args _let_146))) :args _let_145) :args (APPLY_UF tptp.get))) :args (APPLY_UF tptp.tb2t)) :args (_let_23 _let_22 _let_144 _let_32 _let_31 _let_26 _let_17)))) :args (_let_71 _let_23 _let_17 _let_22 _let_26 _let_123 _let_30 _let_31 _let_32)) (SCOPE (MACRO_SR_PRED_ELIM (TRANS (SYMM (FALSE_INTRO (ASSUME :args (_let_141)))) (TRUE_INTRO _let_143))) :args (_let_141 _let_140)) :args ((not (and _let_71 _let_23 _let_17 _let_22 _let_26 _let_123 _let_30 _let_31 _let_32)) SB_LITERAL))) (CONG (MACRO_SR_PRED_INTRO :args ((= (not _let_71) _let_16))) (REFL :args (_let_139)) (REFL :args (_let_138)) (REFL :args (_let_137)) _let_131 (MACRO_SR_PRED_INTRO :args ((= (not _let_123) _let_29))) (REFL :args (_let_107)) (REFL :args (_let_136)) (REFL :args (_let_135)) :args _let_74)) :args ((or _let_16 _let_29 _let_107 _let_139 _let_138 _let_137 _let_130 _let_136 _let_135))) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_134 :args (tptp.int _let_21 tptp.f QUANTIFIERS_INST_E_MATCHING_SIMPLE ((tptp.get1 A A1 I)))) :args _let_133)) _let_134 :args (_let_32 false _let_6)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_79 :args (_let_24 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_81)) :args _let_80)) _let_79 :args (_let_31 false _let_78)) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_AND_NEG :args _let_132) (CONG (REFL :args _let_132) (REFL :args (_let_129)) (MACRO_SR_PRED_INTRO :args ((= (not _let_107) _let_30))) _let_131 :args _let_74)) :args ((or _let_30 _let_108 _let_130 _let_129))) (MACRO_RESOLUTION_TRUST (CNF_OR_NEG :args (_let_109 1)) _let_112 :args ((not _let_108) true _let_109)) _let_122 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_92 0)) :args ((or _let_91 _let_121))) _let_120 :args (_let_91 false _let_92)) :args (_let_30 true _let_108 false _let_26 false _let_91)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_124 1)) :args ((or _let_123 (not _let_124)))) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_126)) :args ((or _let_124 _let_125 (not _let_126)))) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_AND_POS :args (_let_125 0)) :args ((or _let_94 _let_128))) _let_119 :args (_let_128 false _let_93)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_EQUIV_POS1 :args (_let_127)) :args ((or _let_38 _let_126 (not _let_127)))) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_70 25)) (CONG _let_102 (MACRO_SR_PRED_INTRO :args ((= (not _let_38) _let_37))) :args _let_74)) :args ((or _let_37 _let_70))) _let_77 :args (_let_37 true _let_70)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_99 :args (SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_10 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_11 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_5 _let_14 _let_20 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_101)) :args _let_100))) _let_99 :args (_let_127 false _let_98)) :args (_let_126 false _let_37 false _let_127)) :args (_let_124 true _let_125 false _let_126)) :args (_let_123 false _let_124)) _let_122 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_86)) :args ((or _let_85 _let_23 (not _let_86)))) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_90 :args (SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_8 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((tptp.t2tb2 X)))) :args _let_89)) _let_90 :args (_let_84 false _let_2)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_88 :args (tptp.int _let_18 _let_9 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((tptp.mk_array A U U1)))) :args (_let_87))) _let_88 :args (_let_86 false _let_87)) :args (_let_23 false _let_84 false _let_86)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_83 :args (_let_19 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((tptp.tb2t1 J)))) :args (_let_82))) _let_83 :args (_let_22 false _let_82)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_79 :args (_let_13 QUANTIFIERS_INST_E_MATCHING_SIMPLE _let_81)) :args _let_80)) _let_79 :args (_let_17 false _let_78)) (MACRO_RESOLUTION_TRUST (CNF_OR_NEG :args (_let_70 28)) _let_77 :args (_let_71 true _let_70)) :args (false false _let_32 false _let_31 false _let_30 true _let_29 false _let_26 false _let_23 false _let_22 false _let_17 true _let_16)) :args ((forall ((A tptp.ty)) (tptp.sort A (tptp.witness A))) (forall ((A tptp.ty) (X tptp.bool) (X1 tptp.uni) (X2 tptp.uni)) (tptp.sort A (tptp.match_bool A X X1 X2))) (forall ((A tptp.ty) (Z tptp.uni) (Z1 tptp.uni)) (=> (tptp.sort A Z) (= (tptp.match_bool A tptp.true Z Z1) Z))) (forall ((A tptp.ty) (Z tptp.uni) (Z1 tptp.uni)) (=> (tptp.sort A Z1) (= (tptp.match_bool A tptp.false Z Z1) Z1))) (not (= tptp.true tptp.false)) (forall ((U tptp.bool)) (or (= U tptp.true) (= U tptp.false))) (forall ((U tptp.tuple0)) (= U tptp.tuple02)) (forall ((X Int) (Y Int) (Z Int)) (=> (<= X Y) (=> (<= 0 Z) (<= (* X Z) (* Y Z))))) (forall ((A tptp.ty) (X tptp.uni)) (tptp.sort (tptp.ref A) (tptp.mk_ref A X))) (forall ((A tptp.ty) (X tptp.uni)) (tptp.sort A (tptp.contents A X))) (forall ((A tptp.ty) (U tptp.uni)) (=> (tptp.sort A U) (= (tptp.contents A (tptp.mk_ref A U)) U))) (forall ((A tptp.ty) (U tptp.uni)) (=> (tptp.sort (tptp.ref A) U) (= U (tptp.mk_ref A (tptp.contents A U))))) (forall ((A tptp.ty) (B tptp.ty) (X tptp.uni) (X1 tptp.uni)) (tptp.sort B (tptp.get B A X X1))) (forall ((A tptp.ty) (B tptp.ty) (X tptp.uni) (X1 tptp.uni) (X2 tptp.uni)) (tptp.sort (tptp.map A B) (tptp.set B A X X1 X2))) (forall ((A tptp.ty) (B tptp.ty) (M tptp.uni) (A1 tptp.uni) (A2 tptp.uni) (B1 tptp.uni)) (=> (tptp.sort B B1) (=> (= A1 A2) (= (tptp.get B A (tptp.set B A M A1 B1) A2) B1)))) (forall ((A tptp.ty) (B tptp.ty) (M tptp.uni) (A1 tptp.uni) (A2 tptp.uni)) (=> (tptp.sort A A1) (=> (tptp.sort A A2) (forall ((B1 tptp.uni)) (=> (not (= A1 A2)) (= (tptp.get B A (tptp.set B A M A1 B1) A2) (tptp.get B A M A2))))))) (forall ((A tptp.ty) (B tptp.ty) (X tptp.uni)) (tptp.sort (tptp.map A B) (tptp.const B A X))) (forall ((A tptp.ty) (B tptp.ty) (B1 tptp.uni) (A1 tptp.uni)) (=> (tptp.sort B B1) (= (tptp.get B A (tptp.const B A B1) A1) B1))) (forall ((A tptp.ty) (X Int) (X1 tptp.uni)) (tptp.sort (tptp.array A) (tptp.mk_array A X X1))) (forall ((A tptp.ty) (U Int) (U1 tptp.uni)) (= (tptp.length A (tptp.mk_array A U U1)) U)) (forall ((A tptp.ty) (X tptp.uni)) (tptp.sort (tptp.map tptp.int A) (tptp.elts A X))) _let_8 (forall ((A tptp.ty) (U tptp.uni)) (= U (tptp.mk_array A (tptp.length A U) (tptp.elts A U)))) (forall ((A tptp.ty) (X tptp.uni) (X1 Int)) (tptp.sort A (tptp.get1 A X X1))) (forall ((X Int)) (tptp.sort tptp.int (tptp.t2tb X))) (forall ((I Int)) (= (tptp.tb2t (tptp.t2tb I)) I)) _let_7 _let_6 (forall ((A tptp.ty) (X tptp.uni) (X1 Int) (X2 tptp.uni)) (tptp.sort (tptp.array A) (tptp.set1 A X X1 X2))) (forall ((A tptp.ty) (A1 tptp.uni) (I Int) (V tptp.uni)) (= (tptp.set1 A A1 I V) (tptp.mk_array A (tptp.length A A1) (tptp.set A tptp.int (tptp.elts A A1) (tptp.t2tb I) V)))) (forall ((A tptp.ty) (X Int) (X1 tptp.uni)) (tptp.sort (tptp.array A) (tptp.make A X X1))) (forall ((A tptp.ty) (N Int) (V tptp.uni)) (= (tptp.make A N V) (tptp.mk_array A N (tptp.const A tptp.int V)))) (forall ((A tptp.ty) (V tptp.uni) (M tptp.uni) (L Int) (U Int)) (=> (<= U L) (= (tptp.occ A V M L U) 0))) (forall ((A tptp.ty) (V tptp.uni) (M tptp.uni) (L Int) (U Int)) (let ((_let_1 (- U 1))) (=> (tptp.sort A V) (=> (< L U) (=> (not (= (tptp.get A tptp.int M (tptp.t2tb _let_1)) V)) (= (tptp.occ A V M L U) (tptp.occ A V M L _let_1))))))) (forall ((A tptp.ty) (V tptp.uni) (M tptp.uni) (L Int) (U Int)) (let ((_let_1 (- U 1))) (=> (< L U) (=> (= (tptp.get A tptp.int M (tptp.t2tb _let_1)) V) (= (tptp.occ A V M L U) (+ 1 (tptp.occ A V M L _let_1))))))) (forall ((A tptp.ty) (V tptp.uni) (M tptp.uni) (L Int) (U Int)) (let ((_let_1 (tptp.occ A V M L U))) (=> (<= L U) (and (<= 0 _let_1) (<= _let_1 (- U L)))))) (forall ((A tptp.ty) (V tptp.uni) (M tptp.uni) (L Int) (Mid Int) (U Int)) (=> (and (<= L Mid) (<= Mid U)) (= (tptp.occ A V M L U) (+ (tptp.occ A V M L Mid) (tptp.occ A V M Mid U))))) (forall ((A tptp.ty) (V tptp.uni) (M tptp.uni) (L Int) (U Int)) (=> (tptp.sort A V) (=> (forall ((I Int)) (=> (and (<= L I) (< I U)) (not (= (tptp.get A tptp.int M (tptp.t2tb I)) V)))) (= (tptp.occ A V M L U) 0)))) (forall ((A tptp.ty) (V tptp.uni) (M tptp.uni) (L Int) (U Int)) (=> (tptp.sort A V) (=> (< 0 (tptp.occ A V M L U)) (exists ((I Int)) (and (<= L I) (< I U) (= (tptp.get A tptp.int M (tptp.t2tb I)) V)))))) (forall ((A tptp.ty) (M tptp.uni) (L Int) (U Int) (I Int)) (=> (and (<= L I) (< I U)) (< 0 (tptp.occ A (tptp.get A tptp.int M (tptp.t2tb I)) M L U)))) (forall ((A tptp.ty) (V tptp.uni) (M1 tptp.uni) (M2 tptp.uni) (L Int) (U Int)) (=> (forall ((I Int)) (let ((_let_1 (tptp.t2tb I))) (=> (and (<= L I) (< I U)) (= (tptp.get A tptp.int M1 _let_1) (tptp.get A tptp.int M2 _let_1))))) (= (tptp.occ A V M1 L U) (tptp.occ A V M2 L U)))) (forall ((A tptp.ty) (M1 tptp.uni) (M2 tptp.uni) (L Int) (U Int)) (let ((_let_1 (tptp.permut A M1 M2 L U))) (and (=> _let_1 (forall ((V tptp.uni)) (= (tptp.occ A V M1 L U) (tptp.occ A V M2 L U)))) (=> (forall ((V tptp.uni)) (=> (tptp.sort A V) (= (tptp.occ A V M1 L U) (tptp.occ A V M2 L U)))) _let_1)))) (forall ((A tptp.ty) (A1 tptp.uni) (A2 tptp.uni) (A3 tptp.uni) (L Int) (U Int)) (=> (tptp.permut A A1 A2 L U) (=> (tptp.permut A A2 A3 L U) (tptp.permut A A1 A3 L U)))) (forall ((A tptp.ty) (A1 tptp.uni) (A2 tptp.uni) (L Int) (U Int) (I Int)) (=> (tptp.permut A A1 A2 L U) (=> (and (<= L I) (< I U)) (exists ((J Int)) (and (<= L J) (< J U) (= (tptp.get A tptp.int A1 (tptp.t2tb J)) (tptp.get A tptp.int A2 (tptp.t2tb I)))))))) (forall ((A tptp.ty) (A1 tptp.uni) (A2 tptp.uni) (L Int) (U Int)) (= (tptp.map_eq_sub A A1 A2 L U) (forall ((I Int)) (let ((_let_1 (tptp.t2tb I))) (=> (and (<= L I) (< I U)) (= (tptp.get A tptp.int A1 _let_1) (tptp.get A tptp.int A2 _let_1))))))) (forall ((A tptp.ty) (A1 tptp.uni) (A2 tptp.uni) (L Int) (U Int)) (let ((_let_1 (tptp.length A A1))) (= (tptp.array_eq_sub A A1 A2 L U) (and (= _let_1 (tptp.length A A2)) (<= 0 L) (<= L _let_1) (<= 0 U) (<= U _let_1) (tptp.map_eq_sub A (tptp.elts A A1) (tptp.elts A A2) L U))))) (forall ((A tptp.ty) (A1 tptp.uni) (A2 tptp.uni)) (let ((_let_1 (tptp.length A A1))) (= (tptp.array_eq A A1 A2) (and (= _let_1 (tptp.length A A2)) (tptp.map_eq_sub A (tptp.elts A A1) (tptp.elts A A2) 0 _let_1))))) (forall ((A tptp.ty) (A1 tptp.uni) (A2 tptp.uni) (L Int) (U Int) (I Int) (J Int)) (let ((_let_1 (tptp.t2tb I))) (let ((_let_2 (tptp.t2tb J))) (= (tptp.exchange A A1 A2 L U I J) (and (<= L I) (< I U) (<= L J) (< J U) (= (tptp.get A tptp.int A1 _let_1) (tptp.get A tptp.int A2 _let_2)) (= (tptp.get A tptp.int A1 _let_2) (tptp.get A tptp.int A2 _let_1)) (forall ((K Int)) (let ((_let_1 (tptp.t2tb K))) (=> (and (<= L K) (< K U)) (=> (not (= K I)) (=> (not (= K J)) (= (tptp.get A tptp.int A1 _let_1) (tptp.get A tptp.int A2 _let_1)))))))))))) (forall ((A tptp.ty) (A1 tptp.uni) (L Int) (U Int) (I Int) (J Int)) (let ((_let_1 (tptp.t2tb I))) (let ((_let_2 (tptp.t2tb J))) (=> (and (<= L I) (< I U)) (=> (and (<= L J) (< J U)) (tptp.exchange A A1 (tptp.set A tptp.int (tptp.set A tptp.int A1 _let_1 (tptp.get A tptp.int A1 _let_2)) _let_2 (tptp.get A tptp.int A1 _let_1)) L U I J)))))) (forall ((A tptp.ty) (A1 tptp.uni) (A2 tptp.uni) (I Int) (J Int)) (let ((_let_1 (tptp.length A A1))) (= (tptp.exchange1 A A1 A2 I J) (and (= _let_1 (tptp.length A A2)) (tptp.exchange A (tptp.elts A A1) (tptp.elts A A2) 0 _let_1 I J))))) (forall ((A tptp.ty) (A1 tptp.uni) (A2 tptp.uni) (L Int) (U Int)) (let ((_let_1 (tptp.length A A1))) (= (tptp.permut1 A A1 A2 L U) (and (= _let_1 (tptp.length A A2)) (<= 0 L) (<= L _let_1) (<= 0 U) (<= U _let_1) (tptp.permut A (tptp.elts A A1) (tptp.elts A A2) L U))))) (forall ((A tptp.ty) (A1 tptp.uni) (A2 tptp.uni) (L Int) (U Int)) (let ((_let_1 (tptp.elts A A2))) (let ((_let_2 (tptp.elts A A1))) (= (tptp.permut_sub A A1 A2 L U) (and (tptp.map_eq_sub A _let_2 _let_1 0 L) (tptp.permut1 A A1 A2 L U) (tptp.map_eq_sub A _let_2 _let_1 U (tptp.length A A1))))))) (forall ((A tptp.ty) (A1 tptp.uni) (A2 tptp.uni)) (let ((_let_1 (tptp.length A A1))) (= (tptp.permut_all A A1 A2) (and (= _let_1 (tptp.length A A2)) (tptp.permut A (tptp.elts A A1) (tptp.elts A A2) 0 _let_1))))) (forall ((A tptp.ty) (A1 tptp.uni) (A2 tptp.uni) (I Int) (J Int) (L Int) (U Int)) (=> (tptp.exchange1 A A1 A2 I J) (=> (and (<= L I) (< I U)) (=> (and (<= L J) (< J U)) (=> (<= 0 L) (=> (<= U (tptp.length A A1)) (tptp.permut_sub A A1 A2 L U))))))) (forall ((A tptp.ty) (A1 tptp.uni) (A2 tptp.uni) (L1 Int) (U1 Int) (L2 Int) (U2 Int)) (=> (tptp.permut_sub A A1 A2 L1 U1) (=> (and (<= 0 L2) (<= L2 L1)) (=> (and (<= U1 U2) (<= U2 (tptp.length A A1))) (tptp.permut_sub A A1 A2 L2 U2))))) (forall ((A tptp.ty) (A1 tptp.uni) (A2 tptp.uni) (I Int) (J Int)) (=> (tptp.exchange1 A A1 A2 I J) (tptp.permut_all A A1 A2))) (and (<= 1 tptp.f) (<= tptp.f tptp.usN)) (forall ((X tptp.array_int)) (tptp.sort (tptp.array tptp.int) (tptp.t2tb1 X))) (forall ((I tptp.array_int)) (= (tptp.tb2t1 (tptp.t2tb1 I)) I)) _let_5 (forall ((A tptp.array_int)) (= (tptp.found A) (forall ((P Int) (Q Int)) (let ((_let_1 (tptp.t2tb1 A))) (let ((_let_2 (tptp.tb2t (tptp.get1 tptp.int _let_1 tptp.f)))) (=> (and (<= 1 P) (<= P tptp.f) (<= tptp.f Q) (<= Q tptp.usN)) (and (<= (tptp.tb2t (tptp.get1 tptp.int _let_1 P)) _let_2) (<= _let_2 (tptp.tb2t (tptp.get1 tptp.int _let_1 Q)))))))))) (forall ((M Int) (A tptp.array_int)) (= (tptp.m_invariant M A) (and (<= M tptp.f) (forall ((P Int) (Q Int)) (let ((_let_1 (tptp.t2tb1 A))) (=> (and (<= 1 P) (< P M) (<= M Q) (<= Q tptp.usN)) (<= (tptp.tb2t (tptp.get1 tptp.int _let_1 P)) (tptp.tb2t (tptp.get1 tptp.int _let_1 Q))))))))) (forall ((N Int) (A tptp.array_int)) (= (tptp.n_invariant N A) (and (<= tptp.f N) (forall ((P Int) (Q Int)) (let ((_let_1 (tptp.t2tb1 A))) (=> (and (<= 1 P) (<= P N) (< N Q) (<= Q tptp.usN)) (<= (tptp.tb2t (tptp.get1 tptp.int _let_1 P)) (tptp.tb2t (tptp.get1 tptp.int _let_1 Q))))))))) (forall ((M Int) (N Int) (I Int) (R Int) (A tptp.array_int)) (= (tptp.i_invariant M N I R A) (and (<= M I) (forall ((P Int)) (=> (and (<= 1 P) (< P I)) (<= (tptp.tb2t (tptp.get1 tptp.int (tptp.t2tb1 A) P)) R))) (=> (<= I N) (exists ((P Int)) (and (<= I P) (<= P N) (<= R (tptp.tb2t (tptp.get1 tptp.int (tptp.t2tb1 A) P))))))))) _let_4 _let_3 _let_2 (forall ((I tptp.map_int_int)) (= (tptp.tb2t2 (tptp.t2tb2 I)) I)) (forall ((J tptp.uni)) (= (tptp.t2tb2 (tptp.tb2t2 J)) J)) _let_1 true))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
% 15.50/15.81  )
% 15.50/15.81  % SZS output end Proof for SWW594_2
% 15.50/15.81  % cvc5---1.0.5 exiting
% 15.50/15.82  % cvc5---1.0.5 exiting
%------------------------------------------------------------------------------