% TIMEFORMAT='%3R'; { time (exec 2>&1; /home/martin/bin/satallax -E /home/martin/.isabelle/contrib/e-2.5-1/x86_64-linux/eprover -p tstp -t 5 /home/martin/judgement-day/tptp-thf/tptp/StrongNorm/prob_66__5209890_1 ) ; }
% This file was generated by Isabelle (most likely Sledgehammer)
% 2020-12-16 14:37:14.256

% Could-be-implicit typings (6)
thf(ty_n_t__List__Olist_It__List__Olist_It__Lambda__OdB_J_J, type,
    list_list_dB : $tType).
thf(ty_n_t__Set__Oset_It__List__Olist_It__Lambda__OdB_J_J, type,
    set_list_dB : $tType).
thf(ty_n_t__List__Olist_It__Lambda__OdB_J, type,
    list_dB : $tType).
thf(ty_n_t__Set__Oset_It__Lambda__OdB_J, type,
    set_dB : $tType).
thf(ty_n_t__Lambda__OdB, type,
    dB : $tType).
thf(ty_n_t__Nat__Onat, type,
    nat : $tType).

% Explicit typings (31)
thf(sy_c_BNF__Greatest__Fixpoint_OShift_001t__Lambda__OdB, type,
    bNF_Gr1110975684ift_dB : set_list_dB > dB > set_list_dB).
thf(sy_c_BNF__Greatest__Fixpoint_OSucc_001t__Lambda__OdB, type,
    bNF_Greatest_Succ_dB : set_list_dB > list_dB > set_dB).
thf(sy_c_InductTermi_OIT, type,
    it : dB > $o).
thf(sy_c_Lambda_Olift, type,
    lift : dB > nat > dB).
thf(sy_c_List_Oappend_001t__Lambda__OdB, type,
    append_dB : list_dB > list_dB > list_dB).
thf(sy_c_List_Oappend_001t__List__Olist_It__Lambda__OdB_J, type,
    append_list_dB : list_list_dB > list_list_dB > list_list_dB).
thf(sy_c_List_Obind_001t__Lambda__OdB_001t__Lambda__OdB, type,
    bind_dB_dB : list_dB > (dB > list_dB) > list_dB).
thf(sy_c_List_Obutlast_001t__Lambda__OdB, type,
    butlast_dB : list_dB > list_dB).
thf(sy_c_List_Oconcat_001t__Lambda__OdB, type,
    concat_dB : list_list_dB > list_dB).
thf(sy_c_List_Ofoldr_001t__List__Olist_It__Lambda__OdB_J_001t__List__Olist_It__Lambda__OdB_J, type,
    foldr_1793038095ist_dB : (list_dB > list_dB > list_dB) > list_list_dB > list_dB > list_dB).
thf(sy_c_List_Ogen__length_001t__Lambda__OdB, type,
    gen_length_dB : nat > list_dB > nat).
thf(sy_c_List_Oinsert_001t__Lambda__OdB, type,
    insert_dB : dB > list_dB > list_dB).
thf(sy_c_List_Olast_001t__Lambda__OdB, type,
    last_dB : list_dB > dB).
thf(sy_c_List_Olist_OCons_001t__Lambda__OdB, type,
    cons_dB : dB > list_dB > list_dB).
thf(sy_c_List_Olist_OCons_001t__List__Olist_It__Lambda__OdB_J, type,
    cons_list_dB : list_dB > list_list_dB > list_list_dB).
thf(sy_c_List_Olist_ONil_001t__Lambda__OdB, type,
    nil_dB : list_dB).
thf(sy_c_List_Olist_ONil_001t__List__Olist_It__Lambda__OdB_J, type,
    nil_list_dB : list_list_dB).
thf(sy_c_List_Olist__ex1_001t__Lambda__OdB, type,
    list_ex1_dB : (dB > $o) > list_dB > $o).
thf(sy_c_List_Olistrelp_001t__Lambda__OdB_001t__Lambda__OdB, type,
    listrelp_dB_dB : (dB > dB > $o) > list_dB > list_dB > $o).
thf(sy_c_List_Olistsp_001t__Lambda__OdB, type,
    listsp_dB : (dB > $o) > list_dB > $o).
thf(sy_c_List_Omap__tailrec__rev_001t__Lambda__OdB_001t__Lambda__OdB, type,
    map_ta277069629_dB_dB : (dB > dB) > list_dB > list_dB > list_dB).
thf(sy_c_List_Omaps_001t__Lambda__OdB_001t__Lambda__OdB, type,
    maps_dB_dB : (dB > list_dB) > list_dB > list_dB).
thf(sy_c_List_Omember_001t__Lambda__OdB, type,
    member_dB : list_dB > dB > $o).
thf(sy_c_List_Oord_Olexordp__eq_001t__Lambda__OdB, type,
    lexordp_eq_dB : (dB > dB > $o) > list_dB > list_dB > $o).
thf(sy_c_List_Oproduct__lists_001t__Lambda__OdB, type,
    product_lists_dB : list_list_dB > list_list_dB).
thf(sy_c_List_Orev_001t__Lambda__OdB, type,
    rev_dB : list_dB > list_dB).
thf(sy_c_List_Orotate1_001t__Lambda__OdB, type,
    rotate1_dB : list_dB > list_dB).
thf(sy_c_List_Osplice_001t__Lambda__OdB, type,
    splice_dB : list_dB > list_dB > list_dB).
thf(sy_c_List_Osubseqs_001t__Lambda__OdB, type,
    subseqs_dB : list_dB > list_list_dB).
thf(sy_c_member_001t__Lambda__OdB, type,
    member_dB2 : dB > set_dB > $o).
thf(sy_c_member_001t__List__Olist_It__Lambda__OdB_J, type,
    member_list_dB : list_dB > set_list_dB > $o).

% Relevant facts (111)
thf(fact_0_listsp__simps_I1_J, axiom,
    ((![A : dB > $o]: (listsp_dB @ A @ nil_dB)))). % listsp_simps(1)
thf(fact_1_listsp_ONil, axiom,
    ((![A : dB > $o]: (listsp_dB @ A @ nil_dB)))). % listsp.Nil
thf(fact_2_lift__IT, axiom,
    ((![T : dB, I : nat]: ((it @ T) => (it @ (lift @ T @ I)))))). % lift_IT
thf(fact_3_list__ex1__simps_I1_J, axiom,
    ((![P : dB > $o]: (~ ((list_ex1_dB @ P @ nil_dB)))))). % list_ex1_simps(1)
thf(fact_4_listsp_Ocases, axiom,
    ((![A : dB > $o, A2 : list_dB]: ((listsp_dB @ A @ A2) => ((~ ((A2 = nil_dB))) => (~ ((![A3 : dB, L : list_dB]: ((A2 = (cons_dB @ A3 @ L)) => ((A @ A3) => (~ ((listsp_dB @ A @ L))))))))))))). % listsp.cases
thf(fact_5_listsp_Osimps, axiom,
    ((listsp_dB = (^[A4 : dB > $o]: (^[A5 : list_dB]: (((A5 = nil_dB)) | ((?[B : dB]: (?[L2 : list_dB]: (((A5 = (cons_dB @ B @ L2))) & ((((A4 @ B)) & ((listsp_dB @ A4 @ L2)))))))))))))). % listsp.simps
thf(fact_6_listsp_Oinducts, axiom,
    ((![A : dB > $o, X : list_dB, P : list_dB > $o]: ((listsp_dB @ A @ X) => ((P @ nil_dB) => ((![A3 : dB, L : list_dB]: ((A @ A3) => ((listsp_dB @ A @ L) => ((P @ L) => (P @ (cons_dB @ A3 @ L)))))) => (P @ X))))))). % listsp.inducts
thf(fact_7_bind__simps_I1_J, axiom,
    ((![F : dB > list_dB]: ((bind_dB_dB @ nil_dB @ F) = nil_dB)))). % bind_simps(1)
thf(fact_8_member__rec_I2_J, axiom,
    ((![Y : dB]: (~ ((member_dB @ nil_dB @ Y)))))). % member_rec(2)
thf(fact_9_gen__length__code_I1_J, axiom,
    ((![N : nat]: ((gen_length_dB @ N @ nil_dB) = N)))). % gen_length_code(1)
thf(fact_10_maps__simps_I2_J, axiom,
    ((![F : dB > list_dB]: ((maps_dB_dB @ F @ nil_dB) = nil_dB)))). % maps_simps(2)
thf(fact_11_list_Oinject, axiom,
    ((![X21 : dB, X22 : list_dB, Y21 : dB, Y22 : list_dB]: (((cons_dB @ X21 @ X22) = (cons_dB @ Y21 @ Y22)) = (((X21 = Y21)) & ((X22 = Y22))))))). % list.inject
thf(fact_12_member__rec_I1_J, axiom,
    ((![X : dB, Xs : list_dB, Y : dB]: ((member_dB @ (cons_dB @ X @ Xs) @ Y) = (((X = Y)) | ((member_dB @ Xs @ Y))))))). % member_rec(1)
thf(fact_13_not__Cons__self2, axiom,
    ((![X : dB, Xs : list_dB]: (~ (((cons_dB @ X @ Xs) = Xs)))))). % not_Cons_self2
thf(fact_14_transpose_Ocases, axiom,
    ((![X : list_list_dB]: ((~ ((X = nil_list_dB))) => ((![Xss : list_list_dB]: (~ ((X = (cons_list_dB @ nil_dB @ Xss))))) => (~ ((![X2 : dB, Xs2 : list_dB, Xss : list_list_dB]: (~ ((X = (cons_list_dB @ (cons_dB @ X2 @ Xs2) @ Xss)))))))))))). % transpose.cases
thf(fact_15_map__tailrec__rev_Oinduct, axiom,
    ((![P : (dB > dB) > list_dB > list_dB > $o, A0 : dB > dB, A1 : list_dB, A22 : list_dB]: ((![F2 : dB > dB, X_1 : list_dB]: (P @ F2 @ nil_dB @ X_1)) => ((![F2 : dB > dB, A3 : dB, As : list_dB, Bs : list_dB]: ((P @ F2 @ As @ (cons_dB @ (F2 @ A3) @ Bs)) => (P @ F2 @ (cons_dB @ A3 @ As) @ Bs))) => (P @ A0 @ A1 @ A22)))))). % map_tailrec_rev.induct
thf(fact_16_list__nonempty__induct, axiom,
    ((![Xs : list_dB, P : list_dB > $o]: ((~ ((Xs = nil_dB))) => ((![X2 : dB]: (P @ (cons_dB @ X2 @ nil_dB))) => ((![X2 : dB, Xs2 : list_dB]: ((~ ((Xs2 = nil_dB))) => ((P @ Xs2) => (P @ (cons_dB @ X2 @ Xs2))))) => (P @ Xs))))))). % list_nonempty_induct
thf(fact_17_successively_Oinduct, axiom,
    ((![P : (dB > dB > $o) > list_dB > $o, A0 : dB > dB > $o, A1 : list_dB]: ((![P2 : dB > dB > $o]: (P @ P2 @ nil_dB)) => ((![P2 : dB > dB > $o, X2 : dB]: (P @ P2 @ (cons_dB @ X2 @ nil_dB))) => ((![P2 : dB > dB > $o, X2 : dB, Y2 : dB, Xs2 : list_dB]: ((P @ P2 @ (cons_dB @ Y2 @ Xs2)) => (P @ P2 @ (cons_dB @ X2 @ (cons_dB @ Y2 @ Xs2))))) => (P @ A0 @ A1))))))). % successively.induct
thf(fact_18_remdups__adj_Oinduct, axiom,
    ((![P : list_dB > $o, A0 : list_dB]: ((P @ nil_dB) => ((![X2 : dB]: (P @ (cons_dB @ X2 @ nil_dB))) => ((![X2 : dB, Y2 : dB, Xs2 : list_dB]: (((X2 = Y2) => (P @ (cons_dB @ X2 @ Xs2))) => (((~ ((X2 = Y2))) => (P @ (cons_dB @ Y2 @ Xs2))) => (P @ (cons_dB @ X2 @ (cons_dB @ Y2 @ Xs2)))))) => (P @ A0))))))). % remdups_adj.induct
thf(fact_19_sorted__wrt_Oinduct, axiom,
    ((![P : (dB > dB > $o) > list_dB > $o, A0 : dB > dB > $o, A1 : list_dB]: ((![P2 : dB > dB > $o]: (P @ P2 @ nil_dB)) => ((![P2 : dB > dB > $o, X2 : dB, Ys : list_dB]: ((P @ P2 @ Ys) => (P @ P2 @ (cons_dB @ X2 @ Ys)))) => (P @ A0 @ A1)))))). % sorted_wrt.induct
thf(fact_20_remdups__adj_Ocases, axiom,
    ((![X : list_dB]: ((~ ((X = nil_dB))) => ((![X2 : dB]: (~ ((X = (cons_dB @ X2 @ nil_dB))))) => (~ ((![X2 : dB, Y2 : dB, Xs2 : list_dB]: (~ ((X = (cons_dB @ X2 @ (cons_dB @ Y2 @ Xs2))))))))))))). % remdups_adj.cases
thf(fact_21_shuffles_Oinduct, axiom,
    ((![P : list_dB > list_dB > $o, A0 : list_dB, A1 : list_dB]: ((![X_1 : list_dB]: (P @ nil_dB @ X_1)) => ((![Xs2 : list_dB]: (P @ Xs2 @ nil_dB)) => ((![X2 : dB, Xs2 : list_dB, Y2 : dB, Ys : list_dB]: ((P @ Xs2 @ (cons_dB @ Y2 @ Ys)) => ((P @ (cons_dB @ X2 @ Xs2) @ Ys) => (P @ (cons_dB @ X2 @ Xs2) @ (cons_dB @ Y2 @ Ys))))) => (P @ A0 @ A1))))))). % shuffles.induct
thf(fact_22_induct__list012, axiom,
    ((![P : list_dB > $o, Xs : list_dB]: ((P @ nil_dB) => ((![X2 : dB]: (P @ (cons_dB @ X2 @ nil_dB))) => ((![X2 : dB, Y2 : dB, Zs : list_dB]: ((P @ Zs) => ((P @ (cons_dB @ Y2 @ Zs)) => (P @ (cons_dB @ X2 @ (cons_dB @ Y2 @ Zs)))))) => (P @ Xs))))))). % induct_list012
thf(fact_23_splice_Oinduct, axiom,
    ((![P : list_dB > list_dB > $o, A0 : list_dB, A1 : list_dB]: ((![X_1 : list_dB]: (P @ nil_dB @ X_1)) => ((![X2 : dB, Xs2 : list_dB, Ys : list_dB]: ((P @ Ys @ Xs2) => (P @ (cons_dB @ X2 @ Xs2) @ Ys))) => (P @ A0 @ A1)))))). % splice.induct
thf(fact_24_list__induct2_H, axiom,
    ((![P : list_dB > list_dB > $o, Xs : list_dB, Ys2 : list_dB]: ((P @ nil_dB @ nil_dB) => ((![X2 : dB, Xs2 : list_dB]: (P @ (cons_dB @ X2 @ Xs2) @ nil_dB)) => ((![Y2 : dB, Ys : list_dB]: (P @ nil_dB @ (cons_dB @ Y2 @ Ys))) => ((![X2 : dB, Xs2 : list_dB, Y2 : dB, Ys : list_dB]: ((P @ Xs2 @ Ys) => (P @ (cons_dB @ X2 @ Xs2) @ (cons_dB @ Y2 @ Ys)))) => (P @ Xs @ Ys2)))))))). % list_induct2'
thf(fact_25_neq__Nil__conv, axiom,
    ((![Xs : list_dB]: ((~ ((Xs = nil_dB))) = (?[Y3 : dB]: (?[Ys3 : list_dB]: (Xs = (cons_dB @ Y3 @ Ys3)))))))). % neq_Nil_conv
thf(fact_26_list_Oinducts, axiom,
    ((![P : list_dB > $o, List : list_dB]: ((P @ nil_dB) => ((![X1 : dB, X23 : list_dB]: ((P @ X23) => (P @ (cons_dB @ X1 @ X23)))) => (P @ List)))))). % list.inducts
thf(fact_27_list_Oexhaust, axiom,
    ((![Y : list_dB]: ((~ ((Y = nil_dB))) => (~ ((![X212 : dB, X222 : list_dB]: (~ ((Y = (cons_dB @ X212 @ X222))))))))))). % list.exhaust
thf(fact_28_list_OdiscI, axiom,
    ((![List : list_dB, X21 : dB, X22 : list_dB]: ((List = (cons_dB @ X21 @ X22)) => (~ ((List = nil_dB))))))). % list.discI
thf(fact_29_list_Odistinct_I1_J, axiom,
    ((![X21 : dB, X22 : list_dB]: (~ ((nil_dB = (cons_dB @ X21 @ X22))))))). % list.distinct(1)
thf(fact_30_listsp_OCons, axiom,
    ((![A : dB > $o, A2 : dB, L3 : list_dB]: ((A @ A2) => ((listsp_dB @ A @ L3) => (listsp_dB @ A @ (cons_dB @ A2 @ L3))))))). % listsp.Cons
thf(fact_31_listspE, axiom,
    ((![A : dB > $o, X : dB, L3 : list_dB]: ((listsp_dB @ A @ (cons_dB @ X @ L3)) => (~ (((A @ X) => (~ ((listsp_dB @ A @ L3)))))))))). % listspE
thf(fact_32_listsp__simps_I2_J, axiom,
    ((![A : dB > $o, X : dB, Xs : list_dB]: ((listsp_dB @ A @ (cons_dB @ X @ Xs)) = (((A @ X)) & ((listsp_dB @ A @ Xs))))))). % listsp_simps(2)
thf(fact_33_insert__Nil, axiom,
    ((![X : dB]: ((insert_dB @ X @ nil_dB) = (cons_dB @ X @ nil_dB))))). % insert_Nil
thf(fact_34_map__tailrec__rev_Oelims, axiom,
    ((![X : dB > dB, Xa : list_dB, Xb : list_dB, Y : list_dB]: (((map_ta277069629_dB_dB @ X @ Xa @ Xb) = Y) => (((Xa = nil_dB) => (~ ((Y = Xb)))) => (~ ((![A3 : dB, As : list_dB]: ((Xa = (cons_dB @ A3 @ As)) => (~ ((Y = (map_ta277069629_dB_dB @ X @ As @ (cons_dB @ (X @ A3) @ Xb)))))))))))))). % map_tailrec_rev.elims
thf(fact_35_ord_Olexordp__eq__simps_I3_J, axiom,
    ((![Less : dB > dB > $o, X : dB, Xs : list_dB]: (~ ((lexordp_eq_dB @ Less @ (cons_dB @ X @ Xs) @ nil_dB)))))). % ord.lexordp_eq_simps(3)
thf(fact_36_listrelp_Ocases, axiom,
    ((![R : dB > dB > $o, A1 : list_dB, A22 : list_dB]: ((listrelp_dB_dB @ R @ A1 @ A22) => (((A1 = nil_dB) => (~ ((A22 = nil_dB)))) => (~ ((![X2 : dB, Y2 : dB, Xs2 : list_dB]: ((A1 = (cons_dB @ X2 @ Xs2)) => (![Ys : list_dB]: ((A22 = (cons_dB @ Y2 @ Ys)) => ((R @ X2 @ Y2) => (~ ((listrelp_dB_dB @ R @ Xs2 @ Ys))))))))))))))). % listrelp.cases
thf(fact_37_listrelp_Osimps, axiom,
    ((listrelp_dB_dB = (^[R2 : dB > dB > $o]: (^[A12 : list_dB]: (^[A23 : list_dB]: (((((A12 = nil_dB)) & ((A23 = nil_dB)))) | ((?[X3 : dB]: (?[Y3 : dB]: (?[Xs3 : list_dB]: (?[Ys3 : list_dB]: (((A12 = (cons_dB @ X3 @ Xs3))) & ((((A23 = (cons_dB @ Y3 @ Ys3))) & ((((R2 @ X3 @ Y3)) & ((listrelp_dB_dB @ R2 @ Xs3 @ Ys3))))))))))))))))))). % listrelp.simps
thf(fact_38_listrelp_Oinducts, axiom,
    ((![R : dB > dB > $o, X12 : list_dB, X24 : list_dB, P : list_dB > list_dB > $o]: ((listrelp_dB_dB @ R @ X12 @ X24) => ((P @ nil_dB @ nil_dB) => ((![X2 : dB, Y2 : dB, Xs2 : list_dB, Ys : list_dB]: ((R @ X2 @ Y2) => ((listrelp_dB_dB @ R @ Xs2 @ Ys) => ((P @ Xs2 @ Ys) => (P @ (cons_dB @ X2 @ Xs2) @ (cons_dB @ Y2 @ Ys)))))) => (P @ X12 @ X24))))))). % listrelp.inducts
thf(fact_39_splice_Oelims, axiom,
    ((![X : list_dB, Xa : list_dB, Y : list_dB]: (((splice_dB @ X @ Xa) = Y) => (((X = nil_dB) => (~ ((Y = Xa)))) => (~ ((![X2 : dB, Xs2 : list_dB]: ((X = (cons_dB @ X2 @ Xs2)) => (~ ((Y = (cons_dB @ X2 @ (splice_dB @ Xa @ Xs2)))))))))))))). % splice.elims
thf(fact_40_bind__simps_I2_J, axiom,
    ((![X : dB, Xs : list_dB, F : dB > list_dB]: ((bind_dB_dB @ (cons_dB @ X @ Xs) @ F) = (append_dB @ (F @ X) @ (bind_dB_dB @ Xs @ F)))))). % bind_simps(2)
thf(fact_41_append__Nil2, axiom,
    ((![Xs : list_dB]: ((append_dB @ Xs @ nil_dB) = Xs)))). % append_Nil2
thf(fact_42_append__self__conv, axiom,
    ((![Xs : list_dB, Ys2 : list_dB]: (((append_dB @ Xs @ Ys2) = Xs) = (Ys2 = nil_dB))))). % append_self_conv
thf(fact_43_self__append__conv, axiom,
    ((![Xs : list_dB, Ys2 : list_dB]: ((Xs = (append_dB @ Xs @ Ys2)) = (Ys2 = nil_dB))))). % self_append_conv
thf(fact_44_append__self__conv2, axiom,
    ((![Xs : list_dB, Ys2 : list_dB]: (((append_dB @ Xs @ Ys2) = Ys2) = (Xs = nil_dB))))). % append_self_conv2
thf(fact_45_self__append__conv2, axiom,
    ((![Ys2 : list_dB, Xs : list_dB]: ((Ys2 = (append_dB @ Xs @ Ys2)) = (Xs = nil_dB))))). % self_append_conv2
thf(fact_46_Nil__is__append__conv, axiom,
    ((![Xs : list_dB, Ys2 : list_dB]: ((nil_dB = (append_dB @ Xs @ Ys2)) = (((Xs = nil_dB)) & ((Ys2 = nil_dB))))))). % Nil_is_append_conv
thf(fact_47_append__is__Nil__conv, axiom,
    ((![Xs : list_dB, Ys2 : list_dB]: (((append_dB @ Xs @ Ys2) = nil_dB) = (((Xs = nil_dB)) & ((Ys2 = nil_dB))))))). % append_is_Nil_conv
thf(fact_48_append_Oright__neutral, axiom,
    ((![A2 : list_dB]: ((append_dB @ A2 @ nil_dB) = A2)))). % append.right_neutral
thf(fact_49_append__in__listsp__conv, axiom,
    ((![A : dB > $o, Xs : list_dB, Ys2 : list_dB]: ((listsp_dB @ A @ (append_dB @ Xs @ Ys2)) = (((listsp_dB @ A @ Xs)) & ((listsp_dB @ A @ Ys2))))))). % append_in_listsp_conv
thf(fact_50_ord_Olexordp__eq__simps_I4_J, axiom,
    ((![Less : dB > dB > $o, X : dB, Xs : list_dB, Y : dB, Ys2 : list_dB]: ((lexordp_eq_dB @ Less @ (cons_dB @ X @ Xs) @ (cons_dB @ Y @ Ys2)) = (((Less @ X @ Y)) | ((((~ ((Less @ Y @ X)))) & ((lexordp_eq_dB @ Less @ Xs @ Ys2))))))))). % ord.lexordp_eq_simps(4)
thf(fact_51_ord_Olexordp__eq__simps_I2_J, axiom,
    ((![Less : dB > dB > $o, Xs : list_dB]: ((lexordp_eq_dB @ Less @ Xs @ nil_dB) = (Xs = nil_dB))))). % ord.lexordp_eq_simps(2)
thf(fact_52_ord_Olexordp__eq__simps_I1_J, axiom,
    ((![Less : dB > dB > $o, Ys2 : list_dB]: (lexordp_eq_dB @ Less @ nil_dB @ Ys2)))). % ord.lexordp_eq_simps(1)
thf(fact_53_splice__Nil2, axiom,
    ((![Xs : list_dB]: ((splice_dB @ Xs @ nil_dB) = Xs)))). % splice_Nil2
thf(fact_54_split__Nil__iff, axiom,
    ((![Xs : list_dB, Ys2 : list_dB]: (((splice_dB @ Xs @ Ys2) = nil_dB) = (((Xs = nil_dB)) & ((Ys2 = nil_dB))))))). % split_Nil_iff
thf(fact_55_append1__eq__conv, axiom,
    ((![Xs : list_dB, X : dB, Ys2 : list_dB, Y : dB]: (((append_dB @ Xs @ (cons_dB @ X @ nil_dB)) = (append_dB @ Ys2 @ (cons_dB @ Y @ nil_dB))) = (((Xs = Ys2)) & ((X = Y))))))). % append1_eq_conv
thf(fact_56_append__Cons, axiom,
    ((![X : dB, Xs : list_dB, Ys2 : list_dB]: ((append_dB @ (cons_dB @ X @ Xs) @ Ys2) = (cons_dB @ X @ (append_dB @ Xs @ Ys2)))))). % append_Cons
thf(fact_57_Cons__eq__appendI, axiom,
    ((![X : dB, Xs1 : list_dB, Ys2 : list_dB, Xs : list_dB, Zs2 : list_dB]: (((cons_dB @ X @ Xs1) = Ys2) => ((Xs = (append_dB @ Xs1 @ Zs2)) => ((cons_dB @ X @ Xs) = (append_dB @ Ys2 @ Zs2))))))). % Cons_eq_appendI
thf(fact_58_eq__Nil__appendI, axiom,
    ((![Xs : list_dB, Ys2 : list_dB]: ((Xs = Ys2) => (Xs = (append_dB @ nil_dB @ Ys2)))))). % eq_Nil_appendI
thf(fact_59_append__Nil, axiom,
    ((![Ys2 : list_dB]: ((append_dB @ nil_dB @ Ys2) = Ys2)))). % append_Nil
thf(fact_60_append_Oleft__neutral, axiom,
    ((![A2 : list_dB]: ((append_dB @ nil_dB @ A2) = A2)))). % append.left_neutral
thf(fact_61_ord_Olexordp__eq_OCons__eq, axiom,
    ((![Less : dB > dB > $o, X : dB, Y : dB, Xs : list_dB, Ys2 : list_dB]: ((~ ((Less @ X @ Y))) => ((~ ((Less @ Y @ X))) => ((lexordp_eq_dB @ Less @ Xs @ Ys2) => (lexordp_eq_dB @ Less @ (cons_dB @ X @ Xs) @ (cons_dB @ Y @ Ys2)))))))). % ord.lexordp_eq.Cons_eq
thf(fact_62_ord_Olexordp__eq_OCons, axiom,
    ((![Less : dB > dB > $o, X : dB, Y : dB, Xs : list_dB, Ys2 : list_dB]: ((Less @ X @ Y) => (lexordp_eq_dB @ Less @ (cons_dB @ X @ Xs) @ (cons_dB @ Y @ Ys2)))))). % ord.lexordp_eq.Cons
thf(fact_63_ord_Olexordp__eq_ONil, axiom,
    ((![Less : dB > dB > $o, Ys2 : list_dB]: (lexordp_eq_dB @ Less @ nil_dB @ Ys2)))). % ord.lexordp_eq.Nil
thf(fact_64_splice_Osimps_I2_J, axiom,
    ((![X : dB, Xs : list_dB, Ys2 : list_dB]: ((splice_dB @ (cons_dB @ X @ Xs) @ Ys2) = (cons_dB @ X @ (splice_dB @ Ys2 @ Xs)))))). % splice.simps(2)
thf(fact_65_splice_Osimps_I1_J, axiom,
    ((![Ys2 : list_dB]: ((splice_dB @ nil_dB @ Ys2) = Ys2)))). % splice.simps(1)
thf(fact_66_listrelp_OCons, axiom,
    ((![R : dB > dB > $o, X : dB, Y : dB, Xs : list_dB, Ys2 : list_dB]: ((R @ X @ Y) => ((listrelp_dB_dB @ R @ Xs @ Ys2) => (listrelp_dB_dB @ R @ (cons_dB @ X @ Xs) @ (cons_dB @ Y @ Ys2))))))). % listrelp.Cons
thf(fact_67_listrelp_ONil, axiom,
    ((![R : dB > dB > $o]: (listrelp_dB_dB @ R @ nil_dB @ nil_dB)))). % listrelp.Nil
thf(fact_68_rev__nonempty__induct, axiom,
    ((![Xs : list_dB, P : list_dB > $o]: ((~ ((Xs = nil_dB))) => ((![X2 : dB]: (P @ (cons_dB @ X2 @ nil_dB))) => ((![X2 : dB, Xs2 : list_dB]: ((~ ((Xs2 = nil_dB))) => ((P @ Xs2) => (P @ (append_dB @ Xs2 @ (cons_dB @ X2 @ nil_dB)))))) => (P @ Xs))))))). % rev_nonempty_induct
thf(fact_69_append__eq__Cons__conv, axiom,
    ((![Ys2 : list_dB, Zs2 : list_dB, X : dB, Xs : list_dB]: (((append_dB @ Ys2 @ Zs2) = (cons_dB @ X @ Xs)) = (((((Ys2 = nil_dB)) & ((Zs2 = (cons_dB @ X @ Xs))))) | ((?[Ys4 : list_dB]: (((Ys2 = (cons_dB @ X @ Ys4))) & (((append_dB @ Ys4 @ Zs2) = Xs)))))))))). % append_eq_Cons_conv
thf(fact_70_Cons__eq__append__conv, axiom,
    ((![X : dB, Xs : list_dB, Ys2 : list_dB, Zs2 : list_dB]: (((cons_dB @ X @ Xs) = (append_dB @ Ys2 @ Zs2)) = (((((Ys2 = nil_dB)) & (((cons_dB @ X @ Xs) = Zs2)))) | ((?[Ys4 : list_dB]: ((((cons_dB @ X @ Ys4) = Ys2)) & ((Xs = (append_dB @ Ys4 @ Zs2))))))))))). % Cons_eq_append_conv
thf(fact_71_rev__exhaust, axiom,
    ((![Xs : list_dB]: ((~ ((Xs = nil_dB))) => (~ ((![Ys : list_dB, Y2 : dB]: (~ ((Xs = (append_dB @ Ys @ (cons_dB @ Y2 @ nil_dB)))))))))))). % rev_exhaust
thf(fact_72_rev__induct, axiom,
    ((![P : list_dB > $o, Xs : list_dB]: ((P @ nil_dB) => ((![X2 : dB, Xs2 : list_dB]: ((P @ Xs2) => (P @ (append_dB @ Xs2 @ (cons_dB @ X2 @ nil_dB))))) => (P @ Xs)))))). % rev_induct
thf(fact_73_map__tailrec__rev_Osimps_I2_J, axiom,
    ((![F : dB > dB, A2 : dB, As2 : list_dB, Bs2 : list_dB]: ((map_ta277069629_dB_dB @ F @ (cons_dB @ A2 @ As2) @ Bs2) = (map_ta277069629_dB_dB @ F @ As2 @ (cons_dB @ (F @ A2) @ Bs2)))))). % map_tailrec_rev.simps(2)
thf(fact_74_ord_Olexordp__eq_Oinducts, axiom,
    ((![Less : dB > dB > $o, X12 : list_dB, X24 : list_dB, P : list_dB > list_dB > $o]: ((lexordp_eq_dB @ Less @ X12 @ X24) => ((![X_1 : list_dB]: (P @ nil_dB @ X_1)) => ((![X2 : dB, Y2 : dB, Xs2 : list_dB, Ys : list_dB]: ((Less @ X2 @ Y2) => (P @ (cons_dB @ X2 @ Xs2) @ (cons_dB @ Y2 @ Ys)))) => ((![X2 : dB, Y2 : dB, Xs2 : list_dB, Ys : list_dB]: ((~ ((Less @ X2 @ Y2))) => ((~ ((Less @ Y2 @ X2))) => ((lexordp_eq_dB @ Less @ Xs2 @ Ys) => ((P @ Xs2 @ Ys) => (P @ (cons_dB @ X2 @ Xs2) @ (cons_dB @ Y2 @ Ys))))))) => (P @ X12 @ X24)))))))). % ord.lexordp_eq.inducts
thf(fact_75_ord_Olexordp__eq_Osimps, axiom,
    ((lexordp_eq_dB = (^[Less2 : dB > dB > $o]: (^[A12 : list_dB]: (^[A23 : list_dB]: (((?[Ys3 : list_dB]: (((A12 = nil_dB)) & ((A23 = Ys3))))) | ((((?[X3 : dB]: (?[Y3 : dB]: (?[Xs3 : list_dB]: (?[Ys3 : list_dB]: (((A12 = (cons_dB @ X3 @ Xs3))) & ((((A23 = (cons_dB @ Y3 @ Ys3))) & ((Less2 @ X3 @ Y3)))))))))) | ((?[X3 : dB]: (?[Y3 : dB]: (?[Xs3 : list_dB]: (?[Ys3 : list_dB]: (((A12 = (cons_dB @ X3 @ Xs3))) & ((((A23 = (cons_dB @ Y3 @ Ys3))) & ((((~ ((Less2 @ X3 @ Y3)))) & ((((~ ((Less2 @ Y3 @ X3)))) & ((lexordp_eq_dB @ Less2 @ Xs3 @ Ys3))))))))))))))))))))))). % ord.lexordp_eq.simps
thf(fact_76_ord_Olexordp__eq_Ocases, axiom,
    ((![Less : dB > dB > $o, A1 : list_dB, A22 : list_dB]: ((lexordp_eq_dB @ Less @ A1 @ A22) => ((~ ((A1 = nil_dB))) => ((![X2 : dB]: ((?[Xs2 : list_dB]: (A1 = (cons_dB @ X2 @ Xs2))) => (![Y2 : dB]: ((?[Ys : list_dB]: (A22 = (cons_dB @ Y2 @ Ys))) => (~ ((Less @ X2 @ Y2))))))) => (~ ((![X2 : dB, Y2 : dB, Xs2 : list_dB]: ((A1 = (cons_dB @ X2 @ Xs2)) => (![Ys : list_dB]: ((A22 = (cons_dB @ Y2 @ Ys)) => ((~ ((Less @ X2 @ Y2))) => ((~ ((Less @ Y2 @ X2))) => (~ ((lexordp_eq_dB @ Less @ Xs2 @ Ys))))))))))))))))). % ord.lexordp_eq.cases
thf(fact_77_rev__exhaust2, axiom,
    ((![Xs : list_dB]: ((~ ((Xs = nil_dB))) => (~ ((![Ys : list_dB, Y2 : dB]: (~ ((Xs = (append_dB @ Ys @ (cons_dB @ Y2 @ nil_dB)))))))))))). % rev_exhaust2
thf(fact_78_product__lists_Osimps_I1_J, axiom,
    (((product_lists_dB @ nil_list_dB) = (cons_list_dB @ nil_dB @ nil_list_dB)))). % product_lists.simps(1)
thf(fact_79_subseqs_Osimps_I1_J, axiom,
    (((subseqs_dB @ nil_dB) = (cons_list_dB @ nil_dB @ nil_list_dB)))). % subseqs.simps(1)
thf(fact_80_concat__eq__append__conv, axiom,
    ((![Xss2 : list_list_dB, Ys2 : list_dB, Zs2 : list_dB]: (((concat_dB @ Xss2) = (append_dB @ Ys2 @ Zs2)) = (((((Xss2 = nil_list_dB)) => ((((Ys2 = nil_dB)) & ((Zs2 = nil_dB)))))) & ((((~ ((Xss2 = nil_list_dB)))) => ((?[Xss1 : list_list_dB]: (?[Xs3 : list_dB]: (?[Xs4 : list_dB]: (?[Xss22 : list_list_dB]: (((Xss2 = (append_list_dB @ Xss1 @ (cons_list_dB @ (append_dB @ Xs3 @ Xs4) @ Xss22)))) & ((((Ys2 = (append_dB @ (concat_dB @ Xss1) @ Xs3))) & ((Zs2 = (append_dB @ Xs4 @ (concat_dB @ Xss22))))))))))))))))))). % concat_eq_append_conv
thf(fact_81_rotate1_Osimps_I2_J, axiom,
    ((![X : dB, Xs : list_dB]: ((rotate1_dB @ (cons_dB @ X @ Xs)) = (append_dB @ Xs @ (cons_dB @ X @ nil_dB)))))). % rotate1.simps(2)
thf(fact_82_butlast__snoc, axiom,
    ((![Xs : list_dB, X : dB]: ((butlast_dB @ (append_dB @ Xs @ (cons_dB @ X @ nil_dB))) = Xs)))). % butlast_snoc
thf(fact_83_rotate1__is__Nil__conv, axiom,
    ((![Xs : list_dB]: (((rotate1_dB @ Xs) = nil_dB) = (Xs = nil_dB))))). % rotate1_is_Nil_conv
thf(fact_84_butlast_Osimps_I1_J, axiom,
    (((butlast_dB @ nil_dB) = nil_dB))). % butlast.simps(1)
thf(fact_85_rotate1_Osimps_I1_J, axiom,
    (((rotate1_dB @ nil_dB) = nil_dB))). % rotate1.simps(1)
thf(fact_86_butlast_Osimps_I2_J, axiom,
    ((![Xs : list_dB, X : dB]: (((Xs = nil_dB) => ((butlast_dB @ (cons_dB @ X @ Xs)) = nil_dB)) & ((~ ((Xs = nil_dB))) => ((butlast_dB @ (cons_dB @ X @ Xs)) = (cons_dB @ X @ (butlast_dB @ Xs)))))))). % butlast.simps(2)
thf(fact_87_concat_Osimps_I1_J, axiom,
    (((concat_dB @ nil_list_dB) = nil_dB))). % concat.simps(1)
thf(fact_88_butlast__append, axiom,
    ((![Ys2 : list_dB, Xs : list_dB]: (((Ys2 = nil_dB) => ((butlast_dB @ (append_dB @ Xs @ Ys2)) = (butlast_dB @ Xs))) & ((~ ((Ys2 = nil_dB))) => ((butlast_dB @ (append_dB @ Xs @ Ys2)) = (append_dB @ Xs @ (butlast_dB @ Ys2)))))))). % butlast_append
thf(fact_89_append__butlast__last__id, axiom,
    ((![Xs : list_dB]: ((~ ((Xs = nil_dB))) => ((append_dB @ (butlast_dB @ Xs) @ (cons_dB @ (last_dB @ Xs) @ nil_dB)) = Xs))))). % append_butlast_last_id
thf(fact_90_snoc__eq__iff__butlast, axiom,
    ((![Xs : list_dB, X : dB, Ys2 : list_dB]: (((append_dB @ Xs @ (cons_dB @ X @ nil_dB)) = Ys2) = (((~ ((Ys2 = nil_dB)))) & (((((butlast_dB @ Ys2) = Xs)) & (((last_dB @ Ys2) = X))))))))). % snoc_eq_iff_butlast
thf(fact_91_last__appendR, axiom,
    ((![Ys2 : list_dB, Xs : list_dB]: ((~ ((Ys2 = nil_dB))) => ((last_dB @ (append_dB @ Xs @ Ys2)) = (last_dB @ Ys2)))))). % last_appendR
thf(fact_92_last__appendL, axiom,
    ((![Ys2 : list_dB, Xs : list_dB]: ((Ys2 = nil_dB) => ((last_dB @ (append_dB @ Xs @ Ys2)) = (last_dB @ Xs)))))). % last_appendL
thf(fact_93_last__snoc, axiom,
    ((![Xs : list_dB, X : dB]: ((last_dB @ (append_dB @ Xs @ (cons_dB @ X @ nil_dB))) = X)))). % last_snoc
thf(fact_94_last__ConsR, axiom,
    ((![Xs : list_dB, X : dB]: ((~ ((Xs = nil_dB))) => ((last_dB @ (cons_dB @ X @ Xs)) = (last_dB @ Xs)))))). % last_ConsR
thf(fact_95_last__ConsL, axiom,
    ((![Xs : list_dB, X : dB]: ((Xs = nil_dB) => ((last_dB @ (cons_dB @ X @ Xs)) = X))))). % last_ConsL
thf(fact_96_last_Osimps, axiom,
    ((![Xs : list_dB, X : dB]: (((Xs = nil_dB) => ((last_dB @ (cons_dB @ X @ Xs)) = X)) & ((~ ((Xs = nil_dB))) => ((last_dB @ (cons_dB @ X @ Xs)) = (last_dB @ Xs))))))). % last.simps
thf(fact_97_longest__common__suffix, axiom,
    ((![Xs : list_dB, Ys2 : list_dB]: (?[Ss : list_dB, Xs5 : list_dB, Ys5 : list_dB]: ((Xs = (append_dB @ Xs5 @ Ss)) & ((Ys2 = (append_dB @ Ys5 @ Ss)) & ((Xs5 = nil_dB) | ((Ys5 = nil_dB) | (~ (((last_dB @ Xs5) = (last_dB @ Ys5)))))))))))). % longest_common_suffix
thf(fact_98_last__append, axiom,
    ((![Ys2 : list_dB, Xs : list_dB]: (((Ys2 = nil_dB) => ((last_dB @ (append_dB @ Xs @ Ys2)) = (last_dB @ Xs))) & ((~ ((Ys2 = nil_dB))) => ((last_dB @ (append_dB @ Xs @ Ys2)) = (last_dB @ Ys2))))))). % last_append
thf(fact_99_concat__conv__foldr, axiom,
    ((concat_dB = (^[Xss3 : list_list_dB]: (foldr_1793038095ist_dB @ append_dB @ Xss3 @ nil_dB))))). % concat_conv_foldr
thf(fact_100_SuccI, axiom,
    ((![Kl : list_dB, K : dB, Kl2 : set_list_dB]: ((member_list_dB @ (append_dB @ Kl @ (cons_dB @ K @ nil_dB)) @ Kl2) => (member_dB2 @ K @ (bNF_Greatest_Succ_dB @ Kl2 @ Kl)))))). % SuccI
thf(fact_101_SuccD, axiom,
    ((![K : dB, Kl2 : set_list_dB, Kl : list_dB]: ((member_dB2 @ K @ (bNF_Greatest_Succ_dB @ Kl2 @ Kl)) => (member_list_dB @ (append_dB @ Kl @ (cons_dB @ K @ nil_dB)) @ Kl2))))). % SuccD
thf(fact_102_empty__Shift, axiom,
    ((![Kl2 : set_list_dB, K : dB]: ((member_list_dB @ nil_dB @ Kl2) => ((member_dB2 @ K @ (bNF_Greatest_Succ_dB @ Kl2 @ nil_dB)) => (member_list_dB @ nil_dB @ (bNF_Gr1110975684ift_dB @ Kl2 @ K))))))). % empty_Shift
thf(fact_103_ShiftD, axiom,
    ((![Kl : list_dB, Kl2 : set_list_dB, K : dB]: ((member_list_dB @ Kl @ (bNF_Gr1110975684ift_dB @ Kl2 @ K)) => (member_list_dB @ (cons_dB @ K @ Kl) @ Kl2))))). % ShiftD
thf(fact_104_Succ__Shift, axiom,
    ((![Kl2 : set_list_dB, K : dB, Kl : list_dB]: ((bNF_Greatest_Succ_dB @ (bNF_Gr1110975684ift_dB @ Kl2 @ K) @ Kl) = (bNF_Greatest_Succ_dB @ Kl2 @ (cons_dB @ K @ Kl)))))). % Succ_Shift
thf(fact_105_rev__eq__Cons__iff, axiom,
    ((![Xs : list_dB, Y : dB, Ys2 : list_dB]: (((rev_dB @ Xs) = (cons_dB @ Y @ Ys2)) = (Xs = (append_dB @ (rev_dB @ Ys2) @ (cons_dB @ Y @ nil_dB))))))). % rev_eq_Cons_iff
thf(fact_106_Nil__is__rev__conv, axiom,
    ((![Xs : list_dB]: ((nil_dB = (rev_dB @ Xs)) = (Xs = nil_dB))))). % Nil_is_rev_conv
thf(fact_107_rev__is__Nil__conv, axiom,
    ((![Xs : list_dB]: (((rev_dB @ Xs) = nil_dB) = (Xs = nil_dB))))). % rev_is_Nil_conv
thf(fact_108_singleton__rev__conv, axiom,
    ((![X : dB, Xs : list_dB]: (((cons_dB @ X @ nil_dB) = (rev_dB @ Xs)) = (Xs = (cons_dB @ X @ nil_dB)))))). % singleton_rev_conv
thf(fact_109_rev__singleton__conv, axiom,
    ((![Xs : list_dB, X : dB]: (((rev_dB @ Xs) = (cons_dB @ X @ nil_dB)) = (Xs = (cons_dB @ X @ nil_dB)))))). % rev_singleton_conv
thf(fact_110_rev_Osimps_I2_J, axiom,
    ((![X : dB, Xs : list_dB]: ((rev_dB @ (cons_dB @ X @ Xs)) = (append_dB @ (rev_dB @ Xs) @ (cons_dB @ X @ nil_dB)))))). % rev.simps(2)

% Conjectures (1)
thf(conj_0, conjecture,
    ((listsp_dB @ it @ nil_dB))).
