TSTP Solution File: SWW624_2 by cvc5---1.0.5

View Problem - Process Solution

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

% Computer : n010.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:44 EDT 2023

% Result   : Theorem 15.52s 15.80s
% Output   : Proof 15.52s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.14  % Problem    : SWW624_2 : TPTP v8.1.2. Released v6.1.0.
% 0.14/0.15  % Command    : do_cvc5 %s %d
% 0.16/0.36  % Computer : n010.cluster.edu
% 0.16/0.36  % Model    : x86_64 x86_64
% 0.16/0.36  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.16/0.36  % Memory   : 8042.1875MB
% 0.16/0.36  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.16/0.36  % CPULimit   : 300
% 0.16/0.36  % WCLimit    : 300
% 0.16/0.36  % DateTime   : Sun Aug 27 19:54:19 EDT 2023
% 0.16/0.36  % CPUTime    : 
% 0.21/0.50  %----Proving TF0_ARI
% 15.52/15.80  ------- convert to smt2 : /export/starexec/sandbox/tmp/tmp.3w4inFw391/cvc5---1.0.5_22883.p...
% 15.52/15.80  ------- get file name : TPTP file name is SWW624_2
% 15.52/15.80  ------- cvc5-tfa : /export/starexec/sandbox/solver/bin/cvc5---1.0.5_22883.smt2...
% 15.52/15.80  --- Run --finite-model-find --decision=internal at 15...
% 15.52/15.80  --- Run --decision=internal --simplification=none --no-inst-no-entail --no-cbqi --full-saturate-quant at 15...
% 15.52/15.80  % SZS status Theorem for SWW624_2
% 15.52/15.80  % SZS output start Proof for SWW624_2
% 15.52/15.80  (
% 15.52/15.80  (let ((_let_1 (tptp.nil tptp.elt1))) (let ((_let_2 (tptp.length tptp.elt1 _let_1))) (let ((_let_3 (tptp.prefix tptp.elt1 _let_2 _let_1))) (let ((_let_4 (tptp.permut tptp.elt1 _let_3 _let_1))) (let ((_let_5 (not (and _let_4 (forall ((X tptp.elt) (X1 tptp.list_elt)) (let ((_let_1 (tptp.t2tb X1))) (let ((_let_2 (tptp.cons tptp.elt1 (tptp.t2tb1 X) _let_1))) (=> (tptp.permut tptp.elt1 (tptp.prefix tptp.elt1 (tptp.length tptp.elt1 _let_1) _let_1) _let_1) (tptp.permut tptp.elt1 (tptp.prefix tptp.elt1 (tptp.length tptp.elt1 _let_2) _let_2) _let_2))))))))) (let ((_let_6 (forall ((A tptp.ty) (N Int) (X tptp.uni) (L tptp.uni)) (=> (< 0 N) (= (tptp.prefix A N (tptp.cons A X L)) (tptp.cons A X (tptp.prefix A (- N 1) L))))))) (let ((_let_7 (forall ((A tptp.ty) (L tptp.uni)) (= (tptp.prefix A 0 L) (tptp.nil A))))) (let ((_let_8 (forall ((A tptp.ty) (X tptp.uni) (L1 tptp.uni) (L2 tptp.uni)) (=> (tptp.permut A L1 L2) (tptp.permut A (tptp.cons A X L1) (tptp.cons A X L2)))))) (let ((_let_9 (forall ((A tptp.ty) (L1 tptp.uni) (L2 tptp.uni)) (let ((_let_1 (tptp.permut A L1 L2))) (and (=> _let_1 (forall ((X tptp.uni)) (= (tptp.num_occ A X L1) (tptp.num_occ A X L2)))) (=> (forall ((X tptp.uni)) (=> (tptp.sort A X) (= (tptp.num_occ A X L1) (tptp.num_occ A X L2)))) _let_1)))))) (let ((_let_10 (forall ((A tptp.ty) (L tptp.uni)) (= (= (tptp.length A L) 0) (= L (tptp.nil A)))))) (let ((_let_11 (forall ((A tptp.ty) (L tptp.uni)) (<= 0 (tptp.length A L))))) (let ((_let_12 (forall ((A tptp.ty)) (and (= (tptp.length A (tptp.nil A)) 0) (forall ((X tptp.uni) (X1 tptp.uni)) (= (tptp.length A (tptp.cons A X X1)) (+ 1 (tptp.length A X1)))))))) (let ((_let_13 (forall ((A tptp.ty) (V tptp.uni) (V1 tptp.uni)) (not (= (tptp.nil A) (tptp.cons A V V1)))))) (let ((_let_14 (tptp.t2tb SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_4))) (let ((_let_15 (tptp.t2tb1 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_3))) (let ((_let_16 (tptp.cons tptp.elt1 _let_15 _let_14))) (let ((_let_17 (tptp.length tptp.elt1 _let_16))) (let ((_let_18 (+ (- 1) _let_17))) (let ((_let_19 (tptp.prefix tptp.elt1 _let_18 _let_14))) (let ((_let_20 (tptp.cons tptp.elt1 _let_15 _let_19))) (let ((_let_21 (tptp.permut tptp.elt1 _let_20 _let_16))) (let ((_let_22 (tptp.permut tptp.elt1 _let_19 _let_14))) (let ((_let_23 (not _let_22))) (let ((_let_24 (or _let_23 _let_21))) (let ((_let_25 (forall ((A tptp.ty) (X tptp.uni) (L1 tptp.uni) (L2 tptp.uni)) (or (not (tptp.permut A L1 L2)) (tptp.permut A (tptp.cons A X L1) (tptp.cons A X L2)))))) (let ((_let_26 (EQ_RESOLVE (ASSUME :args (_let_8)) (MACRO_SR_EQ_INTRO :args (_let_8 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_27 (tptp.prefix tptp.elt1 _let_17 _let_16))) (let ((_let_28 (= _let_27 _let_20))) (let ((_let_29 (tptp.permut tptp.elt1 _let_27 _let_16))) (let ((_let_30 (not _let_21))) (let ((_let_31 (>= _let_17 1))) (let ((_let_32 (not _let_31))) (let ((_let_33 (or _let_32 _let_28))) (let ((_let_34 (forall ((A tptp.ty) (N Int) (X tptp.uni) (L tptp.uni)) (or (not (>= N 1)) (= (tptp.prefix A N (tptp.cons A X L)) (tptp.cons A X (tptp.prefix A (+ (- 1) N) L))))))) (let ((_let_35 (EQ_RESOLVE (ASSUME :args (_let_6)) (MACRO_SR_EQ_INTRO :args (_let_6 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_36 (>= _let_17 0))) (let ((_let_37 (= _let_17 0))) (let ((_let_38 (forall ((A tptp.ty) (L tptp.uni)) (>= (tptp.length A L) 0)))) (let ((_let_39 (EQ_RESOLVE (ASSUME :args (_let_11)) (MACRO_SR_EQ_INTRO :args (_let_11 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_40 (= _let_1 _let_16))) (let ((_let_41 (= _let_40 _let_37))) (let ((_let_42 (not _let_37))) (let ((_let_43 (_let_10))) (let ((_let_44 (ASSUME :args _let_43))) (let ((_let_45 (_let_13))) (let ((_let_46 (ASSUME :args _let_45))) (let ((_let_47 (not _let_36))) (let ((_let_48 (or))) (let ((_let_49 (and _let_36 _let_42))) (let ((_let_50 (_let_36 _let_42))) (let ((_let_51 (ASSUME :args (_let_42)))) (let ((_let_52 (ASSUME :args (_let_36)))) (let ((_let_53 (tptp.length tptp.elt1 _let_14))) (let ((_let_54 (tptp.permut tptp.elt1 (tptp.prefix tptp.elt1 _let_53 _let_14) _let_14))) (let ((_let_55 (not _let_54))) (let ((_let_56 (or _let_55 _let_29))) (let ((_let_57 (not _let_29))) (let ((_let_58 (forall ((X tptp.elt) (X1 tptp.list_elt)) (let ((_let_1 (tptp.t2tb X1))) (let ((_let_2 (tptp.cons tptp.elt1 (tptp.t2tb1 X) _let_1))) (or (not (tptp.permut tptp.elt1 (tptp.prefix tptp.elt1 (tptp.length tptp.elt1 _let_1) _let_1) _let_1)) (tptp.permut tptp.elt1 (tptp.prefix tptp.elt1 (tptp.length tptp.elt1 _let_2) _let_2) _let_2))))))) (let ((_let_59 (not _let_56))) (let ((_let_60 (not _let_58))) (let ((_let_61 (forall ((X tptp.uni)) (let ((_let_1 (tptp.nil tptp.elt1))) (or (not (tptp.sort tptp.elt1 X)) (= (tptp.num_occ tptp.elt1 X (tptp.prefix tptp.elt1 (tptp.length tptp.elt1 _let_1) _let_1)) (tptp.num_occ tptp.elt1 X _let_1))))))) (let ((_let_62 (not _let_61))) (let ((_let_63 (or _let_62 _let_4))) (let ((_let_64 (forall ((BOUND_VARIABLE_2034 tptp.ty) (BOUND_VARIABLE_2036 tptp.uni) (BOUND_VARIABLE_2038 tptp.uni)) (or (not (forall ((X tptp.uni)) (or (not (tptp.sort BOUND_VARIABLE_2034 X)) (= (tptp.num_occ BOUND_VARIABLE_2034 X BOUND_VARIABLE_2036) (tptp.num_occ BOUND_VARIABLE_2034 X BOUND_VARIABLE_2038))))) (tptp.permut BOUND_VARIABLE_2034 BOUND_VARIABLE_2036 BOUND_VARIABLE_2038))))) (let ((_let_65 (1))) (let ((_let_66 (_let_64))) (let ((_let_67 (= (tptp.num_occ tptp.elt1 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_120 _let_3) (tptp.num_occ tptp.elt1 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_120 _let_1)))) (let ((_let_68 (or (not (tptp.sort tptp.elt1 SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_120)) _let_67))) (let ((_let_69 (= _let_1 (tptp.prefix tptp.elt1 0 _let_1)))) (let ((_let_70 (= _let_2 0))) (let ((_let_71 (_let_7))) (let ((_let_72 (ASSUME :args _let_71))) (let ((_let_73 (forall ((BOUND_VARIABLE_1826 tptp.ty)) (= (tptp.length BOUND_VARIABLE_1826 (tptp.nil BOUND_VARIABLE_1826)) 0)))) (let ((_let_74 (EQ_RESOLVE (ASSUME :args (_let_12)) (MACRO_SR_EQ_INTRO :args (_let_12 SB_DEFAULT SBA_FIXPOINT))))) (let ((_let_75 (_let_73))) (let ((_let_76 (and _let_70 _let_69))) (let ((_let_77 (= 0 _let_2))) (let ((_let_78 (ASSUME :args (_let_69)))) (let ((_let_79 (APPLY_UF tptp.prefix))) (let ((_let_80 (REFL :args (tptp.elt1)))) (let ((_let_81 (_let_70))) (let ((_let_82 (ASSUME :args _let_81))) (let ((_let_83 (_let_62))) (let ((_let_84 (_let_60))) (let ((_let_85 (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (IMPLIES_ELIM (SCOPE (SKOLEMIZE (ASSUME :args _let_84)) :args _let_84)) (CONG (MACRO_SR_PRED_INTRO :args ((= (not _let_60) _let_58))) (REFL :args (_let_59)) :args _let_48)) (MACRO_RESOLUTION_TRUST (NOT_AND (EQ_RESOLVE (ASSUME :args (_let_5)) (MACRO_SR_EQ_INTRO :args (_let_5 SB_DEFAULT SBA_FIXPOINT)))) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_63)) :args ((or _let_4 _let_62 (not _let_63)))) (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (IMPLIES_ELIM (SCOPE (SKOLEMIZE (ASSUME :args _let_83)) :args _let_83)) (CONG (MACRO_SR_PRED_INTRO :args ((= (not _let_62) _let_61))) (REFL :args ((not _let_68))) :args _let_48)) (MACRO_RESOLUTION_TRUST (CNF_OR_NEG :args (_let_68 1)) (MACRO_RESOLUTION_TRUST (REORDERING (RESOLUTION (CNF_AND_NEG :args (_let_76)) (IMPLIES_ELIM (SCOPE (MODUS_PONENS (AND_INTRO _let_78 (MODUS_PONENS _let_82 (SCOPE (SYMM _let_82) :args _let_81))) (SCOPE (CONG _let_80 (REFL :args (SKOLEM_FUN_QUANTIFIERS_SKOLEMIZE_120)) (TRANS (CONG _let_80 (SYMM (ASSUME :args (_let_77))) (REFL :args (_let_1)) :args _let_79) (SYMM _let_78)) :args (APPLY_UF tptp.num_occ)) :args (_let_69 _let_77))) :args (_let_70 _let_69))) :args (true _let_76)) :args ((or (not _let_70) _let_67 (not _let_69)))) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE (ASSUME :args _let_75) :args (tptp.elt1 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((tptp.nil BOUND_VARIABLE_1826)))) :args _let_75)) (AND_ELIM _let_74 :args (0)) :args (_let_70 false _let_73)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_72 :args (tptp.elt1 _let_1 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((tptp.prefix A 0 L)))) :args _let_71))) _let_72 :args (_let_69 false _let_7)) :args (_let_67 false _let_70 false _let_69)) :args (_let_68 false _let_67)) :args (_let_61 false _let_68)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE (ASSUME :args _let_66) :args (tptp.elt1 _let_3 _let_1 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((not (= (tptp.permut BOUND_VARIABLE_2034 BOUND_VARIABLE_2036 BOUND_VARIABLE_2038) true))))) :args _let_66)) (AND_ELIM (EQ_RESOLVE (ASSUME :args (_let_9)) (MACRO_SR_EQ_INTRO :args (_let_9 SB_DEFAULT SBA_FIXPOINT))) :args _let_65) :args (_let_63 false _let_64)) :args (_let_4 false _let_61 false _let_63)) :args (_let_60 false _let_4)) :args (_let_59 true _let_58)))) (let ((_let_86 (and _let_57 _let_28))) (let ((_let_87 (_let_57 _let_28))) (let ((_let_88 (ASSUME :args (_let_57)))) (let ((_let_89 (APPLY_UF tptp.permut))) (let ((_let_90 (ASSUME :args (_let_28)))) (let ((_let_91 (= _let_53 _let_18))) (let ((_let_92 (forall ((BOUND_VARIABLE_1833 tptp.ty) (X tptp.uni) (X1 tptp.uni)) (= (tptp.length BOUND_VARIABLE_1833 (tptp.cons BOUND_VARIABLE_1833 X X1)) (+ 1 (tptp.length BOUND_VARIABLE_1833 X1)))))) (let ((_let_93 (_let_92))) (let ((_let_94 (and _let_54 _let_91))) (let ((_let_95 (= _let_18 _let_53))) (let ((_let_96 (ASSUME :args (_let_54)))) (let ((_let_97 (REFL :args (_let_14)))) (let ((_let_98 (_let_91))) (let ((_let_99 (ASSUME :args _let_98))) (SCOPE (SCOPE (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_24)) :args ((or _let_23 _let_21 (not _let_24)))) (MACRO_RESOLUTION_TRUST (RESOLUTION (CNF_AND_NEG :args (_let_94)) (IMPLIES_ELIM (SCOPE (MODUS_PONENS (AND_INTRO _let_96 (MODUS_PONENS _let_99 (SCOPE (SYMM _let_99) :args _let_98))) (SCOPE (TRUE_ELIM (TRANS (CONG _let_80 (CONG _let_80 (SYMM (SYMM (ASSUME :args (_let_95)))) _let_97 :args _let_79) _let_97 :args _let_89) (TRUE_INTRO _let_96))) :args (_let_54 _let_95))) :args (_let_54 _let_91))) :args (true _let_94)) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (CNF_OR_NEG :args (_let_56 0)) (CONG (REFL :args (_let_56)) (MACRO_SR_PRED_INTRO :args ((= (not _let_55) _let_54))) :args _let_48)) :args ((or _let_54 _let_56))) _let_85 :args (_let_54 true _let_56)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE (ASSUME :args _let_93) :args (tptp.elt1 _let_15 _let_14 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((tptp.cons BOUND_VARIABLE_1833 X X1)))) :args _let_93))) (AND_ELIM _let_74 :args _let_65) :args (_let_91 false _let_92)) :args (_let_22 false _let_54 false _let_91)) (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (RESOLUTION (CNF_AND_NEG :args (_let_86)) (IMPLIES_ELIM (SCOPE (MODUS_PONENS (AND_INTRO _let_88 _let_90) (SCOPE (FALSE_ELIM (TRANS (CONG _let_80 (SYMM _let_90) (REFL :args (_let_16)) :args _let_89) (FALSE_INTRO _let_88))) :args _let_87)) :args _let_87)) :args (true _let_86)) (CONG (MACRO_SR_PRED_INTRO :args ((= (not _let_57) _let_29))) (REFL :args ((not _let_28))) (REFL :args (_let_30)) :args _let_48)) (MACRO_RESOLUTION_TRUST (CNF_OR_NEG :args (_let_56 1)) _let_85 :args (_let_57 true _let_56)) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_33)) :args ((or _let_32 _let_28 (not _let_33)))) (MACRO_RESOLUTION_TRUST (REORDERING (EQ_RESOLVE (RESOLUTION (CNF_AND_NEG :args (_let_49)) (IMPLIES_ELIM (SCOPE (MODUS_PONENS (AND_INTRO _let_52 _let_51) (SCOPE (INT_TIGHT_LB (ARITH_TRICHOTOMY _let_52 _let_51 :args ((> _let_17 0)))) :args _let_50)) :args _let_50)) :args (true _let_49)) (CONG (REFL :args (_let_47)) (MACRO_SR_PRED_INTRO :args ((= (not _let_42) _let_37))) (REFL :args (_let_31)) :args _let_48)) :args ((or _let_37 _let_31 _let_47))) (MACRO_RESOLUTION_TRUST (REORDERING (CNF_EQUIV_POS2 :args (_let_41)) :args ((or _let_40 _let_42 (not _let_41)))) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_46 :args (tptp.elt1 _let_15 _let_14 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((tptp.cons A V V1)))) :args _let_45)) _let_46 :args ((not _let_40) false _let_13)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (MACRO_SR_PRED_ELIM (SCOPE (INSTANTIATE _let_44 :args (tptp.elt1 _let_16 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((tptp.length A L)))) :args _let_43))) _let_44 :args (_let_41 false _let_10)) :args (_let_42 true _let_40 false _let_41)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_39 :args (tptp.elt1 _let_16 QUANTIFIERS_INST_E_MATCHING_SIMPLE ((tptp.length A L)))) :args (_let_38))) _let_39 :args (_let_36 false _let_38)) :args (_let_31 true _let_37 false _let_36)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_35 :args (tptp.elt1 _let_17 _let_15 _let_14 QUANTIFIERS_INST_E_MATCHING ((tptp.prefix A N (tptp.cons A X L))))) :args (_let_34))) _let_35 :args (_let_33 false _let_34)) :args (_let_28 false _let_31 false _let_33)) :args (_let_30 true _let_29 false _let_28)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_26 :args (tptp.elt1 _let_15 _let_19 _let_14 QUANTIFIERS_INST_E_MATCHING ((not (= (tptp.permut A (tptp.cons A X L1) (tptp.cons A X L2)) true))))) :args (_let_25))) _let_26 :args (_let_24 false _let_25)) :args (false false _let_22 true _let_21 false _let_24)) :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)) (tptp.sort (tptp.list A) (tptp.nil A))) (forall ((A tptp.ty) (X tptp.uni) (X1 tptp.uni)) (tptp.sort (tptp.list A) (tptp.cons A X X1))) (forall ((A tptp.ty) (A1 tptp.ty) (X tptp.uni) (X1 tptp.uni) (X2 tptp.uni)) (tptp.sort A1 (tptp.match_list A1 A X X1 X2))) (forall ((A tptp.ty) (A1 tptp.ty) (Z tptp.uni) (Z1 tptp.uni)) (=> (tptp.sort A1 Z) (= (tptp.match_list A1 A (tptp.nil A) Z Z1) Z))) (forall ((A tptp.ty) (A1 tptp.ty) (Z tptp.uni) (Z1 tptp.uni) (U tptp.uni) (U1 tptp.uni)) (=> (tptp.sort A1 Z1) (= (tptp.match_list A1 A (tptp.cons A U U1) Z Z1) Z1))) _let_13 (forall ((A tptp.ty) (X tptp.uni)) (tptp.sort A (tptp.cons_proj_1 A X))) (forall ((A tptp.ty) (U tptp.uni) (U1 tptp.uni)) (=> (tptp.sort A U) (= (tptp.cons_proj_1 A (tptp.cons A U U1)) U))) (forall ((A tptp.ty) (X tptp.uni)) (tptp.sort (tptp.list A) (tptp.cons_proj_2 A X))) (forall ((A tptp.ty) (U tptp.uni) (U1 tptp.uni)) (= (tptp.cons_proj_2 A (tptp.cons A U U1)) U1)) (forall ((A tptp.ty) (U tptp.uni)) (or (= U (tptp.nil A)) (= U (tptp.cons A (tptp.cons_proj_1 A U) (tptp.cons_proj_2 A U))))) _let_12 _let_11 _let_10 (forall ((A tptp.ty) (X tptp.uni) (X1 tptp.uni)) (tptp.sort (tptp.list A) (tptp.infix_plpl A X X1))) (forall ((A tptp.ty) (L2 tptp.uni)) (and (= (tptp.infix_plpl A (tptp.nil A) L2) L2) (forall ((X tptp.uni) (X1 tptp.uni)) (= (tptp.infix_plpl A (tptp.cons A X X1) L2) (tptp.cons A X (tptp.infix_plpl A X1 L2)))))) (forall ((A tptp.ty) (L1 tptp.uni) (L2 tptp.uni) (L3 tptp.uni)) (= (tptp.infix_plpl A L1 (tptp.infix_plpl A L2 L3)) (tptp.infix_plpl A (tptp.infix_plpl A L1 L2) L3))) (forall ((A tptp.ty) (L tptp.uni)) (= (tptp.infix_plpl A L (tptp.nil A)) L)) (forall ((A tptp.ty) (L1 tptp.uni) (L2 tptp.uni)) (= (tptp.length A (tptp.infix_plpl A L1 L2)) (+ (tptp.length A L1) (tptp.length A L2)))) (forall ((A tptp.ty) (X tptp.uni)) (=> (tptp.sort A X) (and (not (tptp.mem A X (tptp.nil A))) (forall ((X1 tptp.uni) (X2 tptp.uni)) (=> (tptp.sort A X1) (= (tptp.mem A X (tptp.cons A X1 X2)) (or (= X X1) (tptp.mem A X X2)))))))) (forall ((A tptp.ty) (X tptp.uni) (L1 tptp.uni) (L2 tptp.uni)) (= (tptp.mem A X (tptp.infix_plpl A L1 L2)) (or (tptp.mem A X L1) (tptp.mem A X L2)))) (forall ((A tptp.ty) (X tptp.uni) (L tptp.uni)) (=> (tptp.mem A X L) (exists ((L1 tptp.uni) (L2 tptp.uni)) (let ((_let_1 (tptp.list A))) (and (tptp.sort _let_1 L1) (tptp.sort _let_1 L2) (= L (tptp.infix_plpl A L1 (tptp.cons A X L2)))))))) (forall ((A tptp.ty) (X tptp.uni)) (=> (tptp.sort A X) (and (= (tptp.num_occ A X (tptp.nil A)) 0) (forall ((X1 tptp.uni) (X2 tptp.uni)) (let ((_let_1 (tptp.num_occ A X X2))) (let ((_let_2 (tptp.num_occ A X (tptp.cons A X1 X2)))) (let ((_let_3 (= X X1))) (=> (tptp.sort A X1) (and (=> _let_3 (= _let_2 (+ 1 _let_1))) (=> (not _let_3) (= _let_2 (+ 0 _let_1)))))))))))) (forall ((A tptp.ty) (X tptp.uni) (L tptp.uni)) (= (tptp.mem A X L) (< 0 (tptp.num_occ A X L)))) (forall ((A tptp.ty) (X tptp.uni) (L1 tptp.uni) (L2 tptp.uni)) (= (tptp.num_occ A X (tptp.infix_plpl A L1 L2)) (+ (tptp.num_occ A X L1) (tptp.num_occ A X L2)))) (forall ((A tptp.ty) (X tptp.uni)) (tptp.sort (tptp.list A) (tptp.reverse A X))) (forall ((A tptp.ty)) (let ((_let_1 (tptp.nil A))) (and (= (tptp.reverse A _let_1) _let_1) (forall ((X tptp.uni) (X1 tptp.uni)) (= (tptp.reverse A (tptp.cons A X X1)) (tptp.infix_plpl A (tptp.reverse A X1) (tptp.cons A X (tptp.nil A)))))))) (forall ((A tptp.ty) (L1 tptp.uni) (L2 tptp.uni) (X tptp.uni)) (= (tptp.infix_plpl A (tptp.reverse A (tptp.cons A X L1)) L2) (tptp.infix_plpl A (tptp.reverse A L1) (tptp.cons A X L2)))) (forall ((A tptp.ty) (L tptp.uni) (X tptp.uni)) (= (tptp.reverse A (tptp.cons A X L)) (tptp.infix_plpl A (tptp.reverse A L) (tptp.cons A X (tptp.nil A))))) (forall ((A tptp.ty) (L tptp.uni)) (= (tptp.reverse A (tptp.reverse A L)) L)) (forall ((A tptp.ty) (L tptp.uni) (X tptp.uni)) (= (tptp.mem A X L) (tptp.mem A X (tptp.reverse A L)))) (forall ((A tptp.ty) (L tptp.uni)) (= (tptp.length A (tptp.reverse A L)) (tptp.length A L))) (forall ((A tptp.ty) (X tptp.uni) (L tptp.uni)) (= (tptp.num_occ A X L) (tptp.num_occ A X (tptp.reverse A L)))) _let_9 (forall ((A tptp.ty) (L tptp.uni)) (tptp.permut A L L)) (forall ((A tptp.ty) (L1 tptp.uni) (L2 tptp.uni)) (=> (tptp.permut A L1 L2) (tptp.permut A L2 L1))) (forall ((A tptp.ty) (L1 tptp.uni) (L2 tptp.uni) (L3 tptp.uni)) (=> (tptp.permut A L1 L2) (=> (tptp.permut A L2 L3) (tptp.permut A L1 L3)))) _let_8 (forall ((A tptp.ty) (X tptp.uni) (Y tptp.uni) (L tptp.uni)) (tptp.permut A (tptp.cons A X (tptp.cons A Y L)) (tptp.cons A Y (tptp.cons A X L)))) (forall ((A tptp.ty) (X tptp.uni) (L1 tptp.uni) (L2 tptp.uni)) (tptp.permut A (tptp.infix_plpl A (tptp.cons A X L1) L2) (tptp.infix_plpl A L1 (tptp.cons A X L2)))) (forall ((A tptp.ty) (L1 tptp.uni) (L2 tptp.uni) (L3 tptp.uni)) (tptp.permut A (tptp.infix_plpl A (tptp.infix_plpl A L1 L2) L3) (tptp.infix_plpl A L1 (tptp.infix_plpl A L2 L3)))) (forall ((A tptp.ty) (L1 tptp.uni) (L2 tptp.uni) (K1 tptp.uni) (K2 tptp.uni)) (=> (tptp.permut A L1 K1) (=> (tptp.permut A L2 K2) (tptp.permut A (tptp.infix_plpl A L1 L2) (tptp.infix_plpl A K1 K2))))) (forall ((A tptp.ty) (L1 tptp.uni) (L2 tptp.uni)) (tptp.permut A (tptp.infix_plpl A L1 L2) (tptp.infix_plpl A L2 L1))) (forall ((A tptp.ty) (X tptp.uni) (L1 tptp.uni) (L2 tptp.uni)) (=> (tptp.permut A L1 L2) (=> (tptp.mem A X L1) (tptp.mem A X L2)))) (forall ((A tptp.ty) (L1 tptp.uni) (L2 tptp.uni)) (=> (tptp.permut A L1 L2) (= (tptp.length A L1) (tptp.length A L2)))) (forall ((X tptp.elt)) (tptp.le X X)) (forall ((X tptp.elt) (Y tptp.elt) (Z tptp.elt)) (=> (tptp.le X Y) (=> (tptp.le Y Z) (tptp.le X Z)))) (forall ((X tptp.elt) (Y tptp.elt)) (or (tptp.le X Y) (tptp.le Y X))) (forall ((X tptp.list_elt)) (tptp.sort (tptp.list tptp.elt1) (tptp.t2tb X))) (forall ((I tptp.list_elt)) (= (tptp.tb2t (tptp.t2tb I)) I)) (forall ((J tptp.uni)) (= (tptp.t2tb (tptp.tb2t J)) J)) (tptp.sorted (tptp.tb2t _let_1)) (forall ((X tptp.elt)) (tptp.sort tptp.elt1 (tptp.t2tb1 X))) (forall ((I tptp.elt)) (= (tptp.tb2t1 (tptp.t2tb1 I)) I)) (forall ((J tptp.uni)) (=> (tptp.sort tptp.elt1 J) (= (tptp.t2tb1 (tptp.tb2t1 J)) J))) (forall ((X tptp.elt)) (tptp.sorted (tptp.tb2t (tptp.cons tptp.elt1 (tptp.t2tb1 X) (tptp.nil tptp.elt1))))) (forall ((X tptp.elt) (Y tptp.elt) (L tptp.list_elt)) (let ((_let_1 (tptp.cons tptp.elt1 (tptp.t2tb1 Y) (tptp.t2tb L)))) (=> (tptp.le X Y) (=> (tptp.sorted (tptp.tb2t _let_1)) (tptp.sorted (tptp.tb2t (tptp.cons tptp.elt1 (tptp.t2tb1 X) _let_1))))))) (forall ((Z tptp.list_elt)) (=> (tptp.sorted Z) (or (= Z (tptp.tb2t (tptp.nil tptp.elt1))) (exists ((X tptp.elt)) (= Z (tptp.tb2t (tptp.cons tptp.elt1 (tptp.t2tb1 X) (tptp.nil tptp.elt1))))) (exists ((X tptp.elt) (Y tptp.elt) (L tptp.list_elt)) (let ((_let_1 (tptp.cons tptp.elt1 (tptp.t2tb1 Y) (tptp.t2tb L)))) (and (tptp.le X Y) (tptp.sorted (tptp.tb2t _let_1)) (= Z (tptp.tb2t (tptp.cons tptp.elt1 (tptp.t2tb1 X) _let_1))))))))) (forall ((X tptp.elt) (L tptp.list_elt)) (= (and (forall ((Y tptp.elt)) (=> (tptp.mem tptp.elt1 (tptp.t2tb1 Y) (tptp.t2tb L)) (tptp.le X Y))) (tptp.sorted L)) (tptp.sorted (tptp.tb2t (tptp.cons tptp.elt1 (tptp.t2tb1 X) (tptp.t2tb L)))))) (forall ((L1 tptp.list_elt) (L2 tptp.list_elt)) (= (and (tptp.sorted L1) (tptp.sorted L2) (forall ((X tptp.elt) (Y tptp.elt)) (=> (tptp.mem tptp.elt1 (tptp.t2tb1 X) (tptp.t2tb L1)) (=> (tptp.mem tptp.elt1 (tptp.t2tb1 Y) (tptp.t2tb L2)) (tptp.le X Y))))) (tptp.sorted (tptp.tb2t (tptp.infix_plpl tptp.elt1 (tptp.t2tb L1) (tptp.t2tb L2)))))) (forall ((A tptp.ty) (X tptp.uni) (X1 tptp.uni)) (tptp.sort (tptp.list A) (tptp.rev_append A X X1))) (forall ((A tptp.ty) (T tptp.uni)) (and (= (tptp.rev_append A (tptp.nil A) T) T) (forall ((X tptp.uni) (R tptp.uni)) (= (tptp.rev_append A (tptp.cons A X R) T) (tptp.rev_append A R (tptp.cons A X T)))))) (forall ((A tptp.ty) (R tptp.uni) (S tptp.uni) (T tptp.uni)) (= (tptp.rev_append A (tptp.infix_plpl A R S) T) (tptp.rev_append A S (tptp.rev_append A R T)))) (forall ((A tptp.ty) (R tptp.uni) (S tptp.uni) (T tptp.uni)) (= (tptp.rev_append A R (tptp.infix_plpl A S T)) (tptp.rev_append A (tptp.rev_append A S R) T))) (forall ((A tptp.ty) (S tptp.uni) (T tptp.uni)) (= (tptp.length A (tptp.rev_append A S T)) (+ (tptp.length A S) (tptp.length A T)))) (forall ((A tptp.ty) (R tptp.uni) (S tptp.uni)) (= (tptp.rev_append A R S) (tptp.infix_plpl A (tptp.reverse A R) S))) (forall ((Acc tptp.list_elt) (X1 tptp.elt)) (let ((_let_1 (tptp.t2tb Acc))) (=> (tptp.sorted (tptp.tb2t (tptp.reverse tptp.elt1 _let_1))) (=> (forall ((X tptp.elt)) (=> (tptp.mem tptp.elt1 (tptp.t2tb1 X) (tptp.t2tb Acc)) (tptp.le X X1))) (tptp.sorted (tptp.tb2t (tptp.reverse tptp.elt1 (tptp.cons tptp.elt1 (tptp.t2tb1 X1) _let_1)))))))) (forall ((Acc tptp.list_elt) (L tptp.list_elt)) (let ((_let_1 (tptp.t2tb Acc))) (=> (tptp.sorted (tptp.tb2t (tptp.reverse tptp.elt1 _let_1))) (=> (tptp.sorted L) (=> (forall ((X tptp.elt) (Y tptp.elt)) (=> (tptp.mem tptp.elt1 (tptp.t2tb1 X) (tptp.t2tb Acc)) (=> (tptp.mem tptp.elt1 (tptp.t2tb1 Y) (tptp.t2tb L)) (tptp.le X Y)))) (tptp.sorted (tptp.tb2t (tptp.reverse tptp.elt1 (tptp.rev_append tptp.elt1 (tptp.t2tb L) _let_1))))))))) (forall ((X tptp.elt) (L tptp.list_elt)) (=> (tptp.sorted (tptp.tb2t (tptp.reverse tptp.elt1 (tptp.cons tptp.elt1 (tptp.t2tb1 X) (tptp.t2tb L))))) (forall ((Y tptp.elt)) (=> (tptp.mem tptp.elt1 (tptp.t2tb1 Y) (tptp.t2tb L)) (tptp.le Y X))))) (forall ((X tptp.elt) (L tptp.list_elt)) (let ((_let_1 (tptp.t2tb L))) (=> (tptp.sorted (tptp.tb2t (tptp.reverse tptp.elt1 (tptp.cons tptp.elt1 (tptp.t2tb1 X) _let_1)))) (tptp.sorted (tptp.tb2t (tptp.reverse tptp.elt1 _let_1)))))) (forall ((A tptp.ty) (X Int) (X1 tptp.uni)) (tptp.sort (tptp.list A) (tptp.prefix A X X1))) _let_7 _let_6 (forall ((A tptp.ty) (N Int) (L tptp.uni)) (=> (and (<= 0 N) (<= N (tptp.length A L))) (= (tptp.length A (tptp.prefix A N L)) N))) (forall ((A tptp.ty) (N Int) (L1 tptp.uni) (L2 tptp.uni)) (let ((_let_1 (tptp.length A L1))) (=> (and (<= _let_1 N) (<= N (+ _let_1 (tptp.length A L2)))) (= (tptp.prefix A N (tptp.infix_plpl A L1 L2)) (tptp.infix_plpl A (tptp.prefix A _let_1 L1) (tptp.prefix A (- N _let_1) L2)))))) (forall ((X Int)) (let ((_let_1 (tptp.abs X))) (let ((_let_2 (<= 0 X))) (and (=> _let_2 (= _let_1 X)) (=> (not _let_2) (= _let_1 (- X))))))) (forall ((X Int) (Y Int)) (= (<= (tptp.abs X) Y) (and (<= (- Y) X) (<= X Y)))) (forall ((X Int)) (<= 0 (tptp.abs X))) (forall ((X Int) (Y Int)) (=> (not (= Y 0)) (= X (+ (* Y (tptp.div X Y)) (tptp.mod X Y))))) (forall ((X Int) (Y Int)) (let ((_let_1 (tptp.div X Y))) (=> (and (<= 0 X) (< 0 Y)) (and (<= 0 _let_1) (<= _let_1 X))))) (forall ((X Int) (Y Int)) (let ((_let_1 (tptp.abs Y))) (let ((_let_2 (tptp.mod X Y))) (=> (not (= Y 0)) (and (< (- _let_1) _let_2) (< _let_2 _let_1)))))) (forall ((X Int) (Y Int)) (=> (and (<= 0 X) (< 0 Y)) (<= 0 (tptp.div X Y)))) (forall ((X Int) (Y Int)) (=> (and (<= X 0) (< 0 Y)) (<= (tptp.div X Y) 0))) (forall ((X Int) (Y Int)) (=> (and (<= 0 X) (not (= Y 0))) (<= 0 (tptp.mod X Y)))) (forall ((X Int) (Y Int)) (=> (and (<= X 0) (not (= Y 0))) (<= (tptp.mod X Y) 0))) (forall ((X Int) (Y Int)) (=> (not (= Y 0)) (<= (tptp.abs (* (tptp.div X Y) Y)) (tptp.abs X)))) (forall ((X Int)) (= (tptp.div X 1) X)) (forall ((X Int)) (= (tptp.mod X 1) 0)) (forall ((X Int) (Y Int)) (=> (and (<= 0 X) (< X Y)) (= (tptp.div X Y) 0))) (forall ((X Int) (Y Int)) (=> (and (<= 0 X) (< X Y)) (= (tptp.mod X Y) X))) (forall ((X Int) (Y Int) (Z Int)) (=> (and (< 0 X) (<= 0 Y) (<= 0 Z)) (= (tptp.div (+ (* X Y) Z) X) (+ Y (tptp.div Z X))))) (forall ((X Int) (Y Int) (Z Int)) (=> (and (< 0 X) (<= 0 Y) (<= 0 Z)) (= (tptp.mod (+ (* X Y) Z) X) (tptp.mod Z X)))) _let_5 true))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
% 15.52/15.80  )
% 15.52/15.80  % SZS output end Proof for SWW624_2
% 15.52/15.80  % cvc5---1.0.5 exiting
% 15.52/15.80  % cvc5---1.0.5 exiting
%------------------------------------------------------------------------------