% 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_73__5209966_1 ) ; }
% This file was generated by Isabelle (most likely Sledgehammer)
% 2020-12-16 14:37:18.242

% Could-be-implicit typings (7)
thf(ty_n_t__List__Olist_It__List__Olist_It__List__Olist_It__Lambda__OdB_J_J_J, type,
    list_list_list_dB : $tType).
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 (38)
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_OdB_OApp, type,
    app : dB > dB > dB).
thf(sy_c_Lambda_OdB_OVar, type,
    var : 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_Oconcat_001t__List__Olist_It__Lambda__OdB_J, type,
    concat_list_dB : list_list_list_dB > list_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_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_Ocase__list_001t__List__Olist_It__Lambda__OdB_J_001t__Lambda__OdB, type,
    case_list_list_dB_dB : list_dB > (dB > list_dB > list_dB) > list_dB > list_dB).
thf(sy_c_List_Olist_Ocase__list_001t__List__Olist_It__List__Olist_It__Lambda__OdB_J_J_001t__Lambda__OdB, type,
    case_l638797646_dB_dB : list_list_dB > (dB > list_dB > list_list_dB) > list_dB > list_list_dB).
thf(sy_c_List_Olist_Olist__all_001t__Lambda__OdB, type,
    list_all_dB : (dB > $o) > list_dB > $o).
thf(sy_c_List_Olist_Omap_001t__Lambda__OdB_001t__Lambda__OdB, type,
    map_dB_dB : (dB > dB) > list_dB > list_dB).
thf(sy_c_List_Olist_Omap_001t__Lambda__OdB_001t__List__Olist_It__List__Olist_It__Lambda__OdB_J_J, type,
    map_dB_list_list_dB : (dB > list_list_dB) > list_dB > list_list_list_dB).
thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Lambda__OdB_J_001t__List__Olist_It__Lambda__OdB_J, type,
    map_list_dB_list_dB : (list_dB > list_dB) > list_list_dB > list_list_dB).
thf(sy_c_List_Olist_Omap_001t__List__Olist_It__Lambda__OdB_J_001t__List__Olist_It__List__Olist_It__Lambda__OdB_J_J, type,
    map_li1620797756ist_dB : (list_dB > list_list_dB) > list_list_dB > list_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_Olistsp_001t__Lambda__OdB, type,
    listsp_dB : (dB > $o) > list_dB > $o).
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_Oproduct__lists_001t__Lambda__OdB, type,
    product_lists_dB : list_list_dB > list_list_dB).
thf(sy_c_List_Orotate1_001t__Lambda__OdB, type,
    rotate1_dB : list_dB > list_dB).
thf(sy_c_List_Osubseqs_001t__Lambda__OdB, type,
    subseqs_dB : list_dB > list_list_dB).
thf(sy_c_List_Otranspose_001t__Lambda__OdB, type,
    transpose_dB : list_list_dB > list_list_dB).
thf(sy_c_Set_OCollect_001t__Lambda__OdB, type,
    collect_dB : (dB > $o) > set_dB).
thf(sy_c_Set_OCollect_001t__List__Olist_It__Lambda__OdB_J, type,
    collect_list_dB : (list_dB > $o) > set_list_dB).
thf(sy_c_member_001t__Lambda__OdB, type,
    member_dB : 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).
thf(sy_v_i, type,
    i : nat).
thf(sy_v_rs, type,
    rs : list_dB).

% Relevant facts (118)
thf(fact_0_Var__IT, axiom,
    ((![N : nat]: (it @ (var @ N))))). % Var_IT
thf(fact_1_append1__eq__conv, axiom,
    ((![Xs : list_dB, X : dB, Ys : list_dB, Y : dB]: (((append_dB @ Xs @ (cons_dB @ X @ nil_dB)) = (append_dB @ Ys @ (cons_dB @ Y @ nil_dB))) = (((Xs = Ys)) & ((X = Y))))))). % append1_eq_conv
thf(fact_2_append__in__listsp__conv, axiom,
    ((![A : dB > $o, Xs : list_dB, Ys : list_dB]: ((listsp_dB @ A @ (append_dB @ Xs @ Ys)) = (((listsp_dB @ A @ Xs)) & ((listsp_dB @ A @ Ys))))))). % append_in_listsp_conv
thf(fact_3_listsp__simps_I1_J, axiom,
    ((![A : dB > $o]: (listsp_dB @ A @ nil_dB)))). % listsp_simps(1)
thf(fact_4_append__Nil2, axiom,
    ((![Xs : list_dB]: ((append_dB @ Xs @ nil_dB) = Xs)))). % append_Nil2
thf(fact_5_append__self__conv, axiom,
    ((![Xs : list_dB, Ys : list_dB]: (((append_dB @ Xs @ Ys) = Xs) = (Ys = nil_dB))))). % append_self_conv
thf(fact_6_self__append__conv, axiom,
    ((![Xs : list_dB, Ys : list_dB]: ((Xs = (append_dB @ Xs @ Ys)) = (Ys = nil_dB))))). % self_append_conv
thf(fact_7_append__self__conv2, axiom,
    ((![Xs : list_dB, Ys : list_dB]: (((append_dB @ Xs @ Ys) = Ys) = (Xs = nil_dB))))). % append_self_conv2
thf(fact_8_self__append__conv2, axiom,
    ((![Ys : list_dB, Xs : list_dB]: ((Ys = (append_dB @ Xs @ Ys)) = (Xs = nil_dB))))). % self_append_conv2
thf(fact_9_Nil__is__append__conv, axiom,
    ((![Xs : list_dB, Ys : list_dB]: ((nil_dB = (append_dB @ Xs @ Ys)) = (((Xs = nil_dB)) & ((Ys = nil_dB))))))). % Nil_is_append_conv
thf(fact_10_append__is__Nil__conv, axiom,
    ((![Xs : list_dB, Ys : list_dB]: (((append_dB @ Xs @ Ys) = nil_dB) = (((Xs = nil_dB)) & ((Ys = nil_dB))))))). % append_is_Nil_conv
thf(fact_11_append_Oright__neutral, axiom,
    ((![A2 : list_dB]: ((append_dB @ A2 @ nil_dB) = A2)))). % append.right_neutral
thf(fact_12_listsp__conj__eq, axiom,
    ((![A : dB > $o, B : dB > $o]: ((listsp_dB @ (^[X2 : dB]: (((A @ X2)) & ((B @ X2))))) = (^[X2 : list_dB]: (((listsp_dB @ A @ X2)) & ((listsp_dB @ B @ X2)))))))). % listsp_conj_eq
thf(fact_13_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_14_same__append__eq, axiom,
    ((![Xs : list_dB, Ys : list_dB, Zs : list_dB]: (((append_dB @ Xs @ Ys) = (append_dB @ Xs @ Zs)) = (Ys = Zs))))). % same_append_eq
thf(fact_15_append__same__eq, axiom,
    ((![Ys : list_dB, Xs : list_dB, Zs : list_dB]: (((append_dB @ Ys @ Xs) = (append_dB @ Zs @ Xs)) = (Ys = Zs))))). % append_same_eq
thf(fact_16_append__assoc, axiom,
    ((![Xs : list_dB, Ys : list_dB, Zs : list_dB]: ((append_dB @ (append_dB @ Xs @ Ys) @ Zs) = (append_dB @ Xs @ (append_dB @ Ys @ Zs)))))). % append_assoc
thf(fact_17_append_Oassoc, axiom,
    ((![A2 : list_dB, B2 : list_dB, C : list_dB]: ((append_dB @ (append_dB @ A2 @ B2) @ C) = (append_dB @ A2 @ (append_dB @ B2 @ C)))))). % append.assoc
thf(fact_18_not__Cons__self2, axiom,
    ((![X : dB, Xs : list_dB]: (~ (((cons_dB @ X @ Xs) = Xs)))))). % not_Cons_self2
thf(fact_19_append__eq__append__conv2, axiom,
    ((![Xs : list_dB, Ys : list_dB, Zs : list_dB, Ts : list_dB]: (((append_dB @ Xs @ Ys) = (append_dB @ Zs @ Ts)) = (?[Us : list_dB]: (((((Xs = (append_dB @ Zs @ Us))) & (((append_dB @ Us @ Ys) = Ts)))) | (((((append_dB @ Xs @ Us) = Zs)) & ((Ys = (append_dB @ Us @ Ts))))))))))). % append_eq_append_conv2
thf(fact_20_append__eq__appendI, axiom,
    ((![Xs : list_dB, Xs1 : list_dB, Zs : list_dB, Ys : list_dB, Us2 : list_dB]: (((append_dB @ Xs @ Xs1) = Zs) => ((Ys = (append_dB @ Xs1 @ Us2)) => ((append_dB @ Xs @ Ys) = (append_dB @ Zs @ Us2))))))). % append_eq_appendI
thf(fact_21_map__tailrec__rev_Oinduct, axiom,
    ((![P : (dB > dB) > list_dB > list_dB > $o, A0 : dB > dB, A1 : list_dB, A22 : list_dB]: ((![F : dB > dB, X_1 : list_dB]: (P @ F @ nil_dB @ X_1)) => ((![F : dB > dB, A3 : dB, As : list_dB, Bs : list_dB]: ((P @ F @ As @ (cons_dB @ (F @ A3) @ Bs)) => (P @ F @ (cons_dB @ A3 @ As) @ Bs))) => (P @ A0 @ A1 @ A22)))))). % map_tailrec_rev.induct
thf(fact_22_list__nonempty__induct, axiom,
    ((![Xs : list_dB, P : list_dB > $o]: ((~ ((Xs = nil_dB))) => ((![X3 : dB]: (P @ (cons_dB @ X3 @ nil_dB))) => ((![X3 : dB, Xs2 : list_dB]: ((~ ((Xs2 = nil_dB))) => ((P @ Xs2) => (P @ (cons_dB @ X3 @ Xs2))))) => (P @ Xs))))))). % list_nonempty_induct
thf(fact_23_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, X3 : dB]: (P @ P2 @ (cons_dB @ X3 @ nil_dB))) => ((![P2 : dB > dB > $o, X3 : dB, Y2 : dB, Xs2 : list_dB]: ((P @ P2 @ (cons_dB @ Y2 @ Xs2)) => (P @ P2 @ (cons_dB @ X3 @ (cons_dB @ Y2 @ Xs2))))) => (P @ A0 @ A1))))))). % successively.induct
thf(fact_24_remdups__adj_Oinduct, axiom,
    ((![P : list_dB > $o, A0 : list_dB]: ((P @ nil_dB) => ((![X3 : dB]: (P @ (cons_dB @ X3 @ nil_dB))) => ((![X3 : dB, Y2 : dB, Xs2 : list_dB]: (((X3 = Y2) => (P @ (cons_dB @ X3 @ Xs2))) => (((~ ((X3 = Y2))) => (P @ (cons_dB @ Y2 @ Xs2))) => (P @ (cons_dB @ X3 @ (cons_dB @ Y2 @ Xs2)))))) => (P @ A0))))))). % remdups_adj.induct
thf(fact_25_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, X3 : dB, Ys2 : list_dB]: ((P @ P2 @ Ys2) => (P @ P2 @ (cons_dB @ X3 @ Ys2)))) => (P @ A0 @ A1)))))). % sorted_wrt.induct
thf(fact_26_remdups__adj_Ocases, axiom,
    ((![X : list_dB]: ((~ ((X = nil_dB))) => ((![X3 : dB]: (~ ((X = (cons_dB @ X3 @ nil_dB))))) => (~ ((![X3 : dB, Y2 : dB, Xs2 : list_dB]: (~ ((X = (cons_dB @ X3 @ (cons_dB @ Y2 @ Xs2))))))))))))). % remdups_adj.cases
thf(fact_27_transpose_Ocases, axiom,
    ((![X : list_list_dB]: ((~ ((X = nil_list_dB))) => ((![Xss : list_list_dB]: (~ ((X = (cons_list_dB @ nil_dB @ Xss))))) => (~ ((![X3 : dB, Xs2 : list_dB, Xss : list_list_dB]: (~ ((X = (cons_list_dB @ (cons_dB @ X3 @ Xs2) @ Xss)))))))))))). % transpose.cases
thf(fact_28_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)) => ((![X3 : dB, Xs2 : list_dB, Y2 : dB, Ys2 : list_dB]: ((P @ Xs2 @ (cons_dB @ Y2 @ Ys2)) => ((P @ (cons_dB @ X3 @ Xs2) @ Ys2) => (P @ (cons_dB @ X3 @ Xs2) @ (cons_dB @ Y2 @ Ys2))))) => (P @ A0 @ A1))))))). % shuffles.induct
thf(fact_29_induct__list012, axiom,
    ((![P : list_dB > $o, Xs : list_dB]: ((P @ nil_dB) => ((![X3 : dB]: (P @ (cons_dB @ X3 @ nil_dB))) => ((![X3 : dB, Y2 : dB, Zs2 : list_dB]: ((P @ Zs2) => ((P @ (cons_dB @ Y2 @ Zs2)) => (P @ (cons_dB @ X3 @ (cons_dB @ Y2 @ Zs2)))))) => (P @ Xs))))))). % induct_list012
thf(fact_30_splice_Oinduct, axiom,
    ((![P : list_dB > list_dB > $o, A0 : list_dB, A1 : list_dB]: ((![X_1 : list_dB]: (P @ nil_dB @ X_1)) => ((![X3 : dB, Xs2 : list_dB, Ys2 : list_dB]: ((P @ Ys2 @ Xs2) => (P @ (cons_dB @ X3 @ Xs2) @ Ys2))) => (P @ A0 @ A1)))))). % splice.induct
thf(fact_31_list__induct2_H, axiom,
    ((![P : list_dB > list_dB > $o, Xs : list_dB, Ys : list_dB]: ((P @ nil_dB @ nil_dB) => ((![X3 : dB, Xs2 : list_dB]: (P @ (cons_dB @ X3 @ Xs2) @ nil_dB)) => ((![Y2 : dB, Ys2 : list_dB]: (P @ nil_dB @ (cons_dB @ Y2 @ Ys2))) => ((![X3 : dB, Xs2 : list_dB, Y2 : dB, Ys2 : list_dB]: ((P @ Xs2 @ Ys2) => (P @ (cons_dB @ X3 @ Xs2) @ (cons_dB @ Y2 @ Ys2)))) => (P @ Xs @ Ys)))))))). % list_induct2'
thf(fact_32_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_33_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_34_list_Oexhaust, axiom,
    ((![Y : list_dB]: ((~ ((Y = nil_dB))) => (~ ((![X212 : dB, X222 : list_dB]: (~ ((Y = (cons_dB @ X212 @ X222))))))))))). % list.exhaust
thf(fact_35_list_OdiscI, axiom,
    ((![List : list_dB, X21 : dB, X22 : list_dB]: ((List = (cons_dB @ X21 @ X22)) => (~ ((List = nil_dB))))))). % list.discI
thf(fact_36_list_Odistinct_I1_J, axiom,
    ((![X21 : dB, X22 : list_dB]: (~ ((nil_dB = (cons_dB @ X21 @ X22))))))). % list.distinct(1)
thf(fact_37_append__Cons, axiom,
    ((![X : dB, Xs : list_dB, Ys : list_dB]: ((append_dB @ (cons_dB @ X @ Xs) @ Ys) = (cons_dB @ X @ (append_dB @ Xs @ Ys)))))). % append_Cons
thf(fact_38_Cons__eq__appendI, axiom,
    ((![X : dB, Xs1 : list_dB, Ys : list_dB, Xs : list_dB, Zs : list_dB]: (((cons_dB @ X @ Xs1) = Ys) => ((Xs = (append_dB @ Xs1 @ Zs)) => ((cons_dB @ X @ Xs) = (append_dB @ Ys @ Zs))))))). % Cons_eq_appendI
thf(fact_39_append_Oleft__neutral, axiom,
    ((![A2 : list_dB]: ((append_dB @ nil_dB @ A2) = A2)))). % append.left_neutral
thf(fact_40_append__Nil, axiom,
    ((![Ys : list_dB]: ((append_dB @ nil_dB @ Ys) = Ys)))). % append_Nil
thf(fact_41_eq__Nil__appendI, axiom,
    ((![Xs : list_dB, Ys : list_dB]: ((Xs = Ys) => (Xs = (append_dB @ nil_dB @ Ys)))))). % eq_Nil_appendI
thf(fact_42_listsp_OCons, axiom,
    ((![A : dB > $o, A2 : dB, L : list_dB]: ((A @ A2) => ((listsp_dB @ A @ L) => (listsp_dB @ A @ (cons_dB @ A2 @ L))))))). % listsp.Cons
thf(fact_43_listspE, axiom,
    ((![A : dB > $o, X : dB, L : list_dB]: ((listsp_dB @ A @ (cons_dB @ X @ L)) => (~ (((A @ X) => (~ ((listsp_dB @ A @ L)))))))))). % listspE
thf(fact_44_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_45_listsp_ONil, axiom,
    ((![A : dB > $o]: (listsp_dB @ A @ nil_dB)))). % listsp.Nil
thf(fact_46_rev__nonempty__induct, axiom,
    ((![Xs : list_dB, P : list_dB > $o]: ((~ ((Xs = nil_dB))) => ((![X3 : dB]: (P @ (cons_dB @ X3 @ nil_dB))) => ((![X3 : dB, Xs2 : list_dB]: ((~ ((Xs2 = nil_dB))) => ((P @ Xs2) => (P @ (append_dB @ Xs2 @ (cons_dB @ X3 @ nil_dB)))))) => (P @ Xs))))))). % rev_nonempty_induct
thf(fact_47_append__eq__Cons__conv, axiom,
    ((![Ys : list_dB, Zs : list_dB, X : dB, Xs : list_dB]: (((append_dB @ Ys @ Zs) = (cons_dB @ X @ Xs)) = (((((Ys = nil_dB)) & ((Zs = (cons_dB @ X @ Xs))))) | ((?[Ys4 : list_dB]: (((Ys = (cons_dB @ X @ Ys4))) & (((append_dB @ Ys4 @ Zs) = Xs)))))))))). % append_eq_Cons_conv
thf(fact_48_Cons__eq__append__conv, axiom,
    ((![X : dB, Xs : list_dB, Ys : list_dB, Zs : list_dB]: (((cons_dB @ X @ Xs) = (append_dB @ Ys @ Zs)) = (((((Ys = nil_dB)) & (((cons_dB @ X @ Xs) = Zs)))) | ((?[Ys4 : list_dB]: ((((cons_dB @ X @ Ys4) = Ys)) & ((Xs = (append_dB @ Ys4 @ Zs))))))))))). % Cons_eq_append_conv
thf(fact_49_rev__exhaust, axiom,
    ((![Xs : list_dB]: ((~ ((Xs = nil_dB))) => (~ ((![Ys2 : list_dB, Y2 : dB]: (~ ((Xs = (append_dB @ Ys2 @ (cons_dB @ Y2 @ nil_dB)))))))))))). % rev_exhaust
thf(fact_50_rev__induct, axiom,
    ((![P : list_dB > $o, Xs : list_dB]: ((P @ nil_dB) => ((![X3 : dB, Xs2 : list_dB]: ((P @ Xs2) => (P @ (append_dB @ Xs2 @ (cons_dB @ X3 @ nil_dB))))) => (P @ Xs)))))). % rev_induct
thf(fact_51_listsp_Oinducts, axiom,
    ((![A : dB > $o, X : list_dB, P : list_dB > $o]: ((listsp_dB @ A @ X) => ((P @ nil_dB) => ((![A3 : dB, L2 : list_dB]: ((A @ A3) => ((listsp_dB @ A @ L2) => ((P @ L2) => (P @ (cons_dB @ A3 @ L2)))))) => (P @ X))))))). % listsp.inducts
thf(fact_52_listsp_Osimps, axiom,
    ((listsp_dB = (^[A4 : dB > $o]: (^[A5 : list_dB]: (((A5 = nil_dB)) | ((?[B3 : dB]: (?[L3 : list_dB]: (((A5 = (cons_dB @ B3 @ L3))) & ((((A4 @ B3)) & ((listsp_dB @ A4 @ L3)))))))))))))). % listsp.simps
thf(fact_53_listsp_Ocases, axiom,
    ((![A : dB > $o, A2 : list_dB]: ((listsp_dB @ A @ A2) => ((~ ((A2 = nil_dB))) => (~ ((![A3 : dB, L2 : list_dB]: ((A2 = (cons_dB @ A3 @ L2)) => ((A @ A3) => (~ ((listsp_dB @ A @ L2))))))))))))). % listsp.cases
thf(fact_54_rev__exhaust2, axiom,
    ((![Xs : list_dB]: ((~ ((Xs = nil_dB))) => (~ ((![Ys2 : list_dB, Y2 : dB]: (~ ((Xs = (append_dB @ Ys2 @ (cons_dB @ Y2 @ nil_dB)))))))))))). % rev_exhaust2
thf(fact_55_dB_Oinject_I1_J, axiom,
    ((![X12 : nat, Y1 : nat]: (((var @ X12) = (var @ Y1)) = (X12 = Y1))))). % dB.inject(1)
thf(fact_56_dB_Oinject_I2_J, axiom,
    ((![X21 : dB, X22 : dB, Y21 : dB, Y22 : dB]: (((app @ X21 @ X22) = (app @ Y21 @ Y22)) = (((X21 = Y21)) & ((X22 = Y22))))))). % dB.inject(2)
thf(fact_57_dB_Odistinct_I1_J, axiom,
    ((![X12 : nat, X21 : dB, X22 : dB]: (~ (((var @ X12) = (app @ X21 @ X22))))))). % dB.distinct(1)
thf(fact_58_bind__simps_I2_J, axiom,
    ((![X : dB, Xs : list_dB, F2 : dB > list_dB]: ((bind_dB_dB @ (cons_dB @ X @ Xs) @ F2) = (append_dB @ (F2 @ X) @ (bind_dB_dB @ Xs @ F2)))))). % bind_simps(2)
thf(fact_59_maps__simps_I1_J, axiom,
    ((![F2 : dB > list_dB, X : dB, Xs : list_dB]: ((maps_dB_dB @ F2 @ (cons_dB @ X @ Xs)) = (append_dB @ (F2 @ X) @ (maps_dB_dB @ F2 @ Xs)))))). % maps_simps(1)
thf(fact_60_insert__Nil, axiom,
    ((![X : dB]: ((insert_dB @ X @ nil_dB) = (cons_dB @ X @ nil_dB))))). % insert_Nil
thf(fact_61_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_62_butlast__snoc, axiom,
    ((![Xs : list_dB, X : dB]: ((butlast_dB @ (append_dB @ Xs @ (cons_dB @ X @ nil_dB))) = Xs)))). % butlast_snoc
thf(fact_63_list__ex1__simps_I1_J, axiom,
    ((![P : dB > $o]: (~ ((list_ex1_dB @ P @ nil_dB)))))). % list_ex1_simps(1)
thf(fact_64_rotate1__is__Nil__conv, axiom,
    ((![Xs : list_dB]: (((rotate1_dB @ Xs) = nil_dB) = (Xs = nil_dB))))). % rotate1_is_Nil_conv
thf(fact_65_bind__simps_I1_J, axiom,
    ((![F2 : dB > list_dB]: ((bind_dB_dB @ nil_dB @ F2) = nil_dB)))). % bind_simps(1)
thf(fact_66_butlast_Osimps_I1_J, axiom,
    (((butlast_dB @ nil_dB) = nil_dB))). % butlast.simps(1)
thf(fact_67_rotate1_Osimps_I1_J, axiom,
    (((rotate1_dB @ nil_dB) = nil_dB))). % rotate1.simps(1)
thf(fact_68_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_69_butlast__append, axiom,
    ((![Ys : list_dB, Xs : list_dB]: (((Ys = nil_dB) => ((butlast_dB @ (append_dB @ Xs @ Ys)) = (butlast_dB @ Xs))) & ((~ ((Ys = nil_dB))) => ((butlast_dB @ (append_dB @ Xs @ Ys)) = (append_dB @ Xs @ (butlast_dB @ Ys)))))))). % butlast_append
thf(fact_70_maps__simps_I2_J, axiom,
    ((![F2 : dB > list_dB]: ((maps_dB_dB @ F2 @ nil_dB) = nil_dB)))). % maps_simps(2)
thf(fact_71_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_72_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_73_subseqs_Osimps_I1_J, axiom,
    (((subseqs_dB @ nil_dB) = (cons_list_dB @ nil_dB @ nil_list_dB)))). % subseqs.simps(1)
thf(fact_74_concat__eq__append__conv, axiom,
    ((![Xss2 : list_list_dB, Ys : list_dB, Zs : list_dB]: (((concat_dB @ Xss2) = (append_dB @ Ys @ Zs)) = (((((Xss2 = nil_list_dB)) => ((((Ys = nil_dB)) & ((Zs = 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)))) & ((((Ys = (append_dB @ (concat_dB @ Xss1) @ Xs3))) & ((Zs = (append_dB @ Xs4 @ (concat_dB @ Xss22))))))))))))))))))). % concat_eq_append_conv
thf(fact_75_last__appendR, axiom,
    ((![Ys : list_dB, Xs : list_dB]: ((~ ((Ys = nil_dB))) => ((last_dB @ (append_dB @ Xs @ Ys)) = (last_dB @ Ys)))))). % last_appendR
thf(fact_76_last__appendL, axiom,
    ((![Ys : list_dB, Xs : list_dB]: ((Ys = nil_dB) => ((last_dB @ (append_dB @ Xs @ Ys)) = (last_dB @ Xs)))))). % last_appendL
thf(fact_77_concat__append, axiom,
    ((![Xs : list_list_dB, Ys : list_list_dB]: ((concat_dB @ (append_list_dB @ Xs @ Ys)) = (append_dB @ (concat_dB @ Xs) @ (concat_dB @ Ys)))))). % concat_append
thf(fact_78_last__snoc, axiom,
    ((![Xs : list_dB, X : dB]: ((last_dB @ (append_dB @ Xs @ (cons_dB @ X @ nil_dB))) = X)))). % last_snoc
thf(fact_79_last__ConsR, axiom,
    ((![Xs : list_dB, X : dB]: ((~ ((Xs = nil_dB))) => ((last_dB @ (cons_dB @ X @ Xs)) = (last_dB @ Xs)))))). % last_ConsR
thf(fact_80_last__ConsL, axiom,
    ((![Xs : list_dB, X : dB]: ((Xs = nil_dB) => ((last_dB @ (cons_dB @ X @ Xs)) = X))))). % last_ConsL
thf(fact_81_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_82_longest__common__suffix, axiom,
    ((![Xs : list_dB, Ys : list_dB]: (?[Ss : list_dB, Xs5 : list_dB, Ys5 : list_dB]: ((Xs = (append_dB @ Xs5 @ Ss)) & ((Ys = (append_dB @ Ys5 @ Ss)) & ((Xs5 = nil_dB) | ((Ys5 = nil_dB) | (~ (((last_dB @ Xs5) = (last_dB @ Ys5)))))))))))). % longest_common_suffix
thf(fact_83_last__append, axiom,
    ((![Ys : list_dB, Xs : list_dB]: (((Ys = nil_dB) => ((last_dB @ (append_dB @ Xs @ Ys)) = (last_dB @ Xs))) & ((~ ((Ys = nil_dB))) => ((last_dB @ (append_dB @ Xs @ Ys)) = (last_dB @ Ys))))))). % last_append
thf(fact_84_concat_Osimps_I1_J, axiom,
    (((concat_dB @ nil_list_dB) = nil_dB))). % concat.simps(1)
thf(fact_85_concat_Osimps_I2_J, axiom,
    ((![X : list_dB, Xs : list_list_dB]: ((concat_dB @ (cons_list_dB @ X @ Xs)) = (append_dB @ X @ (concat_dB @ Xs)))))). % concat.simps(2)
thf(fact_86_concat__eq__appendD, axiom,
    ((![Xss2 : list_list_dB, Ys : list_dB, Zs : list_dB]: (((concat_dB @ Xss2) = (append_dB @ Ys @ Zs)) => ((~ ((Xss2 = nil_list_dB))) => (?[Xss12 : list_list_dB, Xs2 : list_dB, Xs5 : list_dB, Xss23 : list_list_dB]: ((Xss2 = (append_list_dB @ Xss12 @ (cons_list_dB @ (append_dB @ Xs2 @ Xs5) @ Xss23))) & ((Ys = (append_dB @ (concat_dB @ Xss12) @ Xs2)) & (Zs = (append_dB @ Xs5 @ (concat_dB @ Xss23))))))))))). % concat_eq_appendD
thf(fact_87_snoc__eq__iff__butlast, axiom,
    ((![Xs : list_dB, X : dB, Ys : list_dB]: (((append_dB @ Xs @ (cons_dB @ X @ nil_dB)) = Ys) = (((~ ((Ys = nil_dB)))) & (((((butlast_dB @ Ys) = Xs)) & (((last_dB @ Ys) = X))))))))). % snoc_eq_iff_butlast
thf(fact_88_list__ex1__simps_I2_J, axiom,
    ((![P : dB > $o, X : dB, Xs : list_dB]: ((list_ex1_dB @ P @ (cons_dB @ X @ Xs)) = (((((P @ X)) => ((list_all_dB @ (^[Y3 : dB]: (((~ ((P @ Y3)))) | ((X = Y3)))) @ Xs)))) & ((((~ ((P @ X)))) => ((list_ex1_dB @ P @ Xs))))))))). % list_ex1_simps(2)
thf(fact_89_Succ__def, axiom,
    ((bNF_Greatest_Succ_dB = (^[Kl : set_list_dB]: (^[Kl2 : list_dB]: (collect_dB @ (^[K : dB]: (member_list_dB @ (append_dB @ Kl2 @ (cons_dB @ K @ nil_dB)) @ Kl)))))))). % Succ_def
thf(fact_90_subseqs_Osimps_I2_J, axiom,
    ((![X : dB, Xs : list_dB]: ((subseqs_dB @ (cons_dB @ X @ Xs)) = (append_list_dB @ (map_list_dB_list_dB @ (cons_dB @ X) @ (subseqs_dB @ Xs)) @ (subseqs_dB @ Xs)))))). % subseqs.simps(2)
thf(fact_91_concat__conv__foldr, axiom,
    ((concat_dB = (^[Xss3 : list_list_dB]: (foldr_1793038095ist_dB @ append_dB @ Xss3 @ nil_dB))))). % concat_conv_foldr
thf(fact_92_list_Omap__disc__iff, axiom,
    ((![F2 : dB > dB, A2 : list_dB]: (((map_dB_dB @ F2 @ A2) = nil_dB) = (A2 = nil_dB))))). % list.map_disc_iff
thf(fact_93_map__is__Nil__conv, axiom,
    ((![F2 : dB > dB, Xs : list_dB]: (((map_dB_dB @ F2 @ Xs) = nil_dB) = (Xs = nil_dB))))). % map_is_Nil_conv
thf(fact_94_Nil__is__map__conv, axiom,
    ((![F2 : dB > dB, Xs : list_dB]: ((nil_dB = (map_dB_dB @ F2 @ Xs)) = (Xs = nil_dB))))). % Nil_is_map_conv
thf(fact_95_map__append, axiom,
    ((![F2 : dB > dB, Xs : list_dB, Ys : list_dB]: ((map_dB_dB @ F2 @ (append_dB @ Xs @ Ys)) = (append_dB @ (map_dB_dB @ F2 @ Xs) @ (map_dB_dB @ F2 @ Ys)))))). % map_append
thf(fact_96_list__all__simps_I1_J, axiom,
    ((![P : dB > $o, X : dB, Xs : list_dB]: ((list_all_dB @ P @ (cons_dB @ X @ Xs)) = (((P @ X)) & ((list_all_dB @ P @ Xs))))))). % list_all_simps(1)
thf(fact_97_list_Opred__inject_I2_J, axiom,
    ((![P : dB > $o, A2 : dB, Aa : list_dB]: ((list_all_dB @ P @ (cons_dB @ A2 @ Aa)) = (((P @ A2)) & ((list_all_dB @ P @ Aa))))))). % list.pred_inject(2)
thf(fact_98_list__all__simps_I2_J, axiom,
    ((![P : dB > $o]: (list_all_dB @ P @ nil_dB)))). % list_all_simps(2)
thf(fact_99_list__all__append, axiom,
    ((![P : dB > $o, Xs : list_dB, Ys : list_dB]: ((list_all_dB @ P @ (append_dB @ Xs @ Ys)) = (((list_all_dB @ P @ Xs)) & ((list_all_dB @ P @ Ys))))))). % list_all_append
thf(fact_100_append__eq__map__conv, axiom,
    ((![Ys : list_dB, Zs : list_dB, F2 : dB > dB, Xs : list_dB]: (((append_dB @ Ys @ Zs) = (map_dB_dB @ F2 @ Xs)) = (?[Us : list_dB]: (?[Vs : list_dB]: (((Xs = (append_dB @ Us @ Vs))) & ((((Ys = (map_dB_dB @ F2 @ Us))) & ((Zs = (map_dB_dB @ F2 @ Vs)))))))))))). % append_eq_map_conv
thf(fact_101_map__eq__append__conv, axiom,
    ((![F2 : dB > dB, Xs : list_dB, Ys : list_dB, Zs : list_dB]: (((map_dB_dB @ F2 @ Xs) = (append_dB @ Ys @ Zs)) = (?[Us : list_dB]: (?[Vs : list_dB]: (((Xs = (append_dB @ Us @ Vs))) & ((((Ys = (map_dB_dB @ F2 @ Us))) & ((Zs = (map_dB_dB @ F2 @ Vs)))))))))))). % map_eq_append_conv
thf(fact_102_list_Opred__inject_I1_J, axiom,
    ((![P : dB > $o]: (list_all_dB @ P @ nil_dB)))). % list.pred_inject(1)
thf(fact_103_list_Osimps_I8_J, axiom,
    ((![F2 : dB > dB]: ((map_dB_dB @ F2 @ nil_dB) = nil_dB)))). % list.simps(8)
thf(fact_104_map__eq__Cons__conv, axiom,
    ((![F2 : dB > dB, Xs : list_dB, Y : dB, Ys : list_dB]: (((map_dB_dB @ F2 @ Xs) = (cons_dB @ Y @ Ys)) = (?[Z : dB]: (?[Zs3 : list_dB]: (((Xs = (cons_dB @ Z @ Zs3))) & (((((F2 @ Z) = Y)) & (((map_dB_dB @ F2 @ Zs3) = Ys))))))))))). % map_eq_Cons_conv
thf(fact_105_Cons__eq__map__conv, axiom,
    ((![X : dB, Xs : list_dB, F2 : dB > dB, Ys : list_dB]: (((cons_dB @ X @ Xs) = (map_dB_dB @ F2 @ Ys)) = (?[Z : dB]: (?[Zs3 : list_dB]: (((Ys = (cons_dB @ Z @ Zs3))) & ((((X = (F2 @ Z))) & ((Xs = (map_dB_dB @ F2 @ Zs3)))))))))))). % Cons_eq_map_conv
thf(fact_106_map__eq__Cons__D, axiom,
    ((![F2 : dB > dB, Xs : list_dB, Y : dB, Ys : list_dB]: (((map_dB_dB @ F2 @ Xs) = (cons_dB @ Y @ Ys)) => (?[Z2 : dB, Zs2 : list_dB]: ((Xs = (cons_dB @ Z2 @ Zs2)) & (((F2 @ Z2) = Y) & ((map_dB_dB @ F2 @ Zs2) = Ys)))))))). % map_eq_Cons_D
thf(fact_107_Cons__eq__map__D, axiom,
    ((![X : dB, Xs : list_dB, F2 : dB > dB, Ys : list_dB]: (((cons_dB @ X @ Xs) = (map_dB_dB @ F2 @ Ys)) => (?[Z2 : dB, Zs2 : list_dB]: ((Ys = (cons_dB @ Z2 @ Zs2)) & ((X = (F2 @ Z2)) & (Xs = (map_dB_dB @ F2 @ Zs2))))))))). % Cons_eq_map_D
thf(fact_108_list_Osimps_I9_J, axiom,
    ((![F2 : dB > dB, X21 : dB, X22 : list_dB]: ((map_dB_dB @ F2 @ (cons_dB @ X21 @ X22)) = (cons_dB @ (F2 @ X21) @ (map_dB_dB @ F2 @ X22)))))). % list.simps(9)
thf(fact_109_SuccD, axiom,
    ((![K2 : dB, Kl3 : set_list_dB, Kl4 : list_dB]: ((member_dB @ K2 @ (bNF_Greatest_Succ_dB @ Kl3 @ Kl4)) => (member_list_dB @ (append_dB @ Kl4 @ (cons_dB @ K2 @ nil_dB)) @ Kl3))))). % SuccD
thf(fact_110_SuccI, axiom,
    ((![Kl4 : list_dB, K2 : dB, Kl3 : set_list_dB]: ((member_list_dB @ (append_dB @ Kl4 @ (cons_dB @ K2 @ nil_dB)) @ Kl3) => (member_dB @ K2 @ (bNF_Greatest_Succ_dB @ Kl3 @ Kl4)))))). % SuccI
thf(fact_111_empty__Shift, axiom,
    ((![Kl3 : set_list_dB, K2 : dB]: ((member_list_dB @ nil_dB @ Kl3) => ((member_dB @ K2 @ (bNF_Greatest_Succ_dB @ Kl3 @ nil_dB)) => (member_list_dB @ nil_dB @ (bNF_Gr1110975684ift_dB @ Kl3 @ K2))))))). % empty_Shift
thf(fact_112_Succ__Shift, axiom,
    ((![Kl3 : set_list_dB, K2 : dB, Kl4 : list_dB]: ((bNF_Greatest_Succ_dB @ (bNF_Gr1110975684ift_dB @ Kl3 @ K2) @ Kl4) = (bNF_Greatest_Succ_dB @ Kl3 @ (cons_dB @ K2 @ Kl4)))))). % Succ_Shift
thf(fact_113_ShiftD, axiom,
    ((![Kl4 : list_dB, Kl3 : set_list_dB, K2 : dB]: ((member_list_dB @ Kl4 @ (bNF_Gr1110975684ift_dB @ Kl3 @ K2)) => (member_list_dB @ (cons_dB @ K2 @ Kl4) @ Kl3))))). % ShiftD
thf(fact_114_Shift__def, axiom,
    ((bNF_Gr1110975684ift_dB = (^[Kl : set_list_dB]: (^[K : dB]: (collect_list_dB @ (^[Kl2 : list_dB]: (member_list_dB @ (cons_dB @ K @ Kl2) @ Kl)))))))). % Shift_def
thf(fact_115_product__lists_Osimps_I2_J, axiom,
    ((![Xs : list_dB, Xss2 : list_list_dB]: ((product_lists_dB @ (cons_list_dB @ Xs @ Xss2)) = (concat_list_dB @ (map_dB_list_list_dB @ (^[X2 : dB]: (map_list_dB_list_dB @ (cons_dB @ X2) @ (product_lists_dB @ Xss2))) @ Xs)))))). % product_lists.simps(2)
thf(fact_116_transpose_Oinduct, axiom,
    ((![P : list_list_dB > $o, A0 : list_list_dB]: ((P @ nil_list_dB) => ((![Xss : list_list_dB]: ((P @ Xss) => (P @ (cons_list_dB @ nil_dB @ Xss)))) => ((![X3 : dB, Xs2 : list_dB, Xss : list_list_dB]: ((P @ (cons_list_dB @ Xs2 @ (concat_list_dB @ (map_li1620797756ist_dB @ (case_l638797646_dB_dB @ nil_list_dB @ (^[H : dB]: (^[T : list_dB]: (cons_list_dB @ T @ nil_list_dB)))) @ Xss)))) => (P @ (cons_list_dB @ (cons_dB @ X3 @ Xs2) @ Xss)))) => (P @ A0))))))). % transpose.induct
thf(fact_117_transpose_Oelims, axiom,
    ((![X : list_list_dB, Y : list_list_dB]: (((transpose_dB @ X) = Y) => (((X = nil_list_dB) => (~ ((Y = nil_list_dB)))) => ((![Xss : list_list_dB]: ((X = (cons_list_dB @ nil_dB @ Xss)) => (~ ((Y = (transpose_dB @ Xss)))))) => (~ ((![X3 : dB, Xs2 : list_dB, Xss : list_list_dB]: ((X = (cons_list_dB @ (cons_dB @ X3 @ Xs2) @ Xss)) => (~ ((Y = (cons_list_dB @ (cons_dB @ X3 @ (concat_dB @ (map_list_dB_list_dB @ (case_list_list_dB_dB @ nil_dB @ (^[H : dB]: (^[T : list_dB]: (cons_dB @ H @ nil_dB)))) @ Xss))) @ (transpose_dB @ (cons_list_dB @ Xs2 @ (concat_list_dB @ (map_li1620797756ist_dB @ (case_l638797646_dB_dB @ nil_list_dB @ (^[H : dB]: (^[T : list_dB]: (cons_list_dB @ T @ nil_list_dB)))) @ Xss)))))))))))))))))). % transpose.elims

% Conjectures (2)
thf(conj_0, hypothesis,
    ((listsp_dB @ (^[X2 : dB]: (((it @ X2)) & ((it @ (app @ X2 @ (var @ i)))))) @ rs))).
thf(conj_1, conjecture,
    ((listsp_dB @ it @ (append_dB @ rs @ (cons_dB @ (var @ i) @ nil_dB))))).
