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

% Could-be-implicit typings (4)
thf(ty_n_t__List__Olist_It__List__Olist_It__Lambda__OdB_J_J, type,
    list_list_dB : $tType).
thf(ty_n_t__List__Olist_It__Lambda__OdB_J, type,
    list_dB : $tType).
thf(ty_n_t__Lambda__OdB, type,
    dB : $tType).
thf(ty_n_t__Nat__Onat, type,
    nat : $tType).

% Explicit typings (23)
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_Obind_001t__Lambda__OdB_001t__Lambda__OdB, type,
    bind_dB_dB : list_dB > (dB > list_dB) > list_dB).
thf(sy_c_List_Ofoldl_001t__Lambda__OdB_001t__Lambda__OdB, type,
    foldl_dB_dB : (dB > dB > dB) > dB > list_dB > dB).
thf(sy_c_List_Oinsert_001t__Lambda__OdB, type,
    insert_dB : dB > list_dB > list_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_Olist__all_001t__Lambda__OdB, type,
    list_all_dB : (dB > $o) > list_dB > $o).
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_Osubseqs_001t__Lambda__OdB, type,
    subseqs_dB : list_dB > list_list_dB).
thf(sy_v_i, type,
    i : nat).
thf(sy_v_rs, type,
    rs : list_dB).

% Relevant facts (100)
thf(fact_0_Var__IT, axiom,
    ((![N : nat]: (it @ (var @ N))))). % Var_IT
thf(fact_1_listsp__simps_I1_J, axiom,
    ((![A : dB > $o]: (listsp_dB @ A @ nil_dB)))). % listsp_simps(1)
thf(fact_2_listsp__conj__eq, axiom,
    ((![A : dB > $o, B : dB > $o]: ((listsp_dB @ (^[X : dB]: (((A @ X)) & ((B @ X))))) = (^[X : list_dB]: (((listsp_dB @ A @ X)) & ((listsp_dB @ B @ X)))))))). % listsp_conj_eq
thf(fact_3_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_4_listsp_Osimps, axiom,
    ((listsp_dB = (^[A4 : dB > $o]: (^[A5 : list_dB]: (((A5 = nil_dB)) | ((?[B2 : dB]: (?[L2 : list_dB]: (((A5 = (cons_dB @ B2 @ L2))) & ((((A4 @ B2)) & ((listsp_dB @ A4 @ L2)))))))))))))). % listsp.simps
thf(fact_5_listsp_Oinducts, axiom,
    ((![A : dB > $o, X2 : list_dB, P : list_dB > $o]: ((listsp_dB @ A @ X2) => ((P @ nil_dB) => ((![A3 : dB, L : list_dB]: ((A @ A3) => ((listsp_dB @ A @ L) => ((P @ L) => (P @ (cons_dB @ A3 @ L)))))) => (P @ X2))))))). % listsp.inducts
thf(fact_6_dB_Oinject_I1_J, axiom,
    ((![X1 : nat, Y1 : nat]: (((var @ X1) = (var @ Y1)) = (X1 = Y1))))). % dB.inject(1)
thf(fact_7_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_8_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_9_dB_Odistinct_I1_J, axiom,
    ((![X1 : nat, X21 : dB, X22 : dB]: (~ (((var @ X1) = (app @ X21 @ X22))))))). % dB.distinct(1)
thf(fact_10_listsp_ONil, axiom,
    ((![A : dB > $o]: (listsp_dB @ A @ nil_dB)))). % listsp.Nil
thf(fact_11_listsp__simps_I2_J, axiom,
    ((![A : dB > $o, X2 : dB, Xs : list_dB]: ((listsp_dB @ A @ (cons_dB @ X2 @ Xs)) = (((A @ X2)) & ((listsp_dB @ A @ Xs))))))). % listsp_simps(2)
thf(fact_12_listspE, axiom,
    ((![A : dB > $o, X2 : dB, L3 : list_dB]: ((listsp_dB @ A @ (cons_dB @ X2 @ L3)) => (~ (((A @ X2) => (~ ((listsp_dB @ A @ L3)))))))))). % listspE
thf(fact_13_not__Cons__self2, axiom,
    ((![X2 : dB, Xs : list_dB]: (~ (((cons_dB @ X2 @ Xs) = Xs)))))). % not_Cons_self2
thf(fact_14_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_15_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_16_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, Y : dB, Xs2 : list_dB]: ((P @ P2 @ (cons_dB @ Y @ Xs2)) => (P @ P2 @ (cons_dB @ X3 @ (cons_dB @ Y @ Xs2))))) => (P @ A0 @ A1))))))). % successively.induct
thf(fact_17_remdups__adj_Oinduct, axiom,
    ((![P : list_dB > $o, A0 : list_dB]: ((P @ nil_dB) => ((![X3 : dB]: (P @ (cons_dB @ X3 @ nil_dB))) => ((![X3 : dB, Y : dB, Xs2 : list_dB]: (((X3 = Y) => (P @ (cons_dB @ X3 @ Xs2))) => (((~ ((X3 = Y))) => (P @ (cons_dB @ Y @ Xs2))) => (P @ (cons_dB @ X3 @ (cons_dB @ Y @ Xs2)))))) => (P @ A0))))))). % remdups_adj.induct
thf(fact_18_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, Ys : list_dB]: ((P @ P2 @ Ys) => (P @ P2 @ (cons_dB @ X3 @ Ys)))) => (P @ A0 @ A1)))))). % sorted_wrt.induct
thf(fact_19_remdups__adj_Ocases, axiom,
    ((![X2 : list_dB]: ((~ ((X2 = nil_dB))) => ((![X3 : dB]: (~ ((X2 = (cons_dB @ X3 @ nil_dB))))) => (~ ((![X3 : dB, Y : dB, Xs2 : list_dB]: (~ ((X2 = (cons_dB @ X3 @ (cons_dB @ Y @ Xs2))))))))))))). % remdups_adj.cases
thf(fact_20_transpose_Ocases, axiom,
    ((![X2 : list_list_dB]: ((~ ((X2 = nil_list_dB))) => ((![Xss : list_list_dB]: (~ ((X2 = (cons_list_dB @ nil_dB @ Xss))))) => (~ ((![X3 : dB, Xs2 : list_dB, Xss : list_list_dB]: (~ ((X2 = (cons_list_dB @ (cons_dB @ X3 @ Xs2) @ Xss)))))))))))). % transpose.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)) => ((![X3 : dB, Xs2 : list_dB, Y : dB, Ys : list_dB]: ((P @ Xs2 @ (cons_dB @ Y @ Ys)) => ((P @ (cons_dB @ X3 @ Xs2) @ Ys) => (P @ (cons_dB @ X3 @ Xs2) @ (cons_dB @ Y @ Ys))))) => (P @ A0 @ A1))))))). % shuffles.induct
thf(fact_22_induct__list012, axiom,
    ((![P : list_dB > $o, Xs : list_dB]: ((P @ nil_dB) => ((![X3 : dB]: (P @ (cons_dB @ X3 @ nil_dB))) => ((![X3 : dB, Y : dB, Zs : list_dB]: ((P @ Zs) => ((P @ (cons_dB @ Y @ Zs)) => (P @ (cons_dB @ X3 @ (cons_dB @ Y @ 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)) => ((![X3 : dB, Xs2 : list_dB, Ys : list_dB]: ((P @ Ys @ Xs2) => (P @ (cons_dB @ X3 @ 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) => ((![X3 : dB, Xs2 : list_dB]: (P @ (cons_dB @ X3 @ Xs2) @ nil_dB)) => ((![Y : dB, Ys : list_dB]: (P @ nil_dB @ (cons_dB @ Y @ Ys))) => ((![X3 : dB, Xs2 : list_dB, Y : dB, Ys : list_dB]: ((P @ Xs2 @ Ys) => (P @ (cons_dB @ X3 @ Xs2) @ (cons_dB @ Y @ Ys)))) => (P @ Xs @ Ys2)))))))). % list_induct2'
thf(fact_25_neq__Nil__conv, axiom,
    ((![Xs : list_dB]: ((~ ((Xs = nil_dB))) = (?[Y2 : dB]: (?[Ys3 : list_dB]: (Xs = (cons_dB @ Y2 @ Ys3)))))))). % neq_Nil_conv
thf(fact_26_list_Oinducts, axiom,
    ((![P : list_dB > $o, List : list_dB]: ((P @ nil_dB) => ((![X12 : dB, X23 : list_dB]: ((P @ X23) => (P @ (cons_dB @ X12 @ X23)))) => (P @ List)))))). % list.inducts
thf(fact_27_list_Oexhaust, axiom,
    ((![Y3 : list_dB]: ((~ ((Y3 = nil_dB))) => (~ ((![X212 : dB, X222 : list_dB]: (~ ((Y3 = (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_insert__Nil, axiom,
    ((![X2 : dB]: ((insert_dB @ X2 @ nil_dB) = (cons_dB @ X2 @ nil_dB))))). % insert_Nil
thf(fact_32_list__ex1__simps_I1_J, axiom,
    ((![P : dB > $o]: (~ ((list_ex1_dB @ P @ nil_dB)))))). % list_ex1_simps(1)
thf(fact_33_map__tailrec__rev_Oelims, axiom,
    ((![X2 : dB > dB, Xa : list_dB, Xb : list_dB, Y3 : list_dB]: (((map_ta277069629_dB_dB @ X2 @ Xa @ Xb) = Y3) => (((Xa = nil_dB) => (~ ((Y3 = Xb)))) => (~ ((![A3 : dB, As : list_dB]: ((Xa = (cons_dB @ A3 @ As)) => (~ ((Y3 = (map_ta277069629_dB_dB @ X2 @ As @ (cons_dB @ (X2 @ A3) @ Xb)))))))))))))). % map_tailrec_rev.elims
thf(fact_34_ord_Olexordp__eq__simps_I3_J, axiom,
    ((![Less : dB > dB > $o, X2 : dB, Xs : list_dB]: (~ ((lexordp_eq_dB @ Less @ (cons_dB @ X2 @ Xs) @ nil_dB)))))). % ord.lexordp_eq_simps(3)
thf(fact_35_bind__simps_I1_J, axiom,
    ((![F2 : dB > list_dB]: ((bind_dB_dB @ nil_dB @ F2) = nil_dB)))). % bind_simps(1)
thf(fact_36_listrelp_Oinducts, axiom,
    ((![R : dB > dB > $o, X1 : list_dB, X24 : list_dB, P : list_dB > list_dB > $o]: ((listrelp_dB_dB @ R @ X1 @ X24) => ((P @ nil_dB @ nil_dB) => ((![X3 : dB, Y : dB, Xs2 : list_dB, Ys : list_dB]: ((R @ X3 @ Y) => ((listrelp_dB_dB @ R @ Xs2 @ Ys) => ((P @ Xs2 @ Ys) => (P @ (cons_dB @ X3 @ Xs2) @ (cons_dB @ Y @ Ys)))))) => (P @ X1 @ X24))))))). % listrelp.inducts
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)))) | ((?[X : dB]: (?[Y2 : dB]: (?[Xs3 : list_dB]: (?[Ys3 : list_dB]: (((A12 = (cons_dB @ X @ Xs3))) & ((((A23 = (cons_dB @ Y2 @ Ys3))) & ((((R2 @ X @ Y2)) & ((listrelp_dB_dB @ R2 @ Xs3 @ Ys3))))))))))))))))))). % listrelp.simps
thf(fact_38_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)))) => (~ ((![X3 : dB, Y : dB, Xs2 : list_dB]: ((A1 = (cons_dB @ X3 @ Xs2)) => (![Ys : list_dB]: ((A22 = (cons_dB @ Y @ Ys)) => ((R @ X3 @ Y) => (~ ((listrelp_dB_dB @ R @ Xs2 @ Ys))))))))))))))). % listrelp.cases
thf(fact_39_ord_Olexordp__eq__simps_I4_J, axiom,
    ((![Less : dB > dB > $o, X2 : dB, Xs : list_dB, Y3 : dB, Ys2 : list_dB]: ((lexordp_eq_dB @ Less @ (cons_dB @ X2 @ Xs) @ (cons_dB @ Y3 @ Ys2)) = (((Less @ X2 @ Y3)) | ((((~ ((Less @ Y3 @ X2)))) & ((lexordp_eq_dB @ Less @ Xs @ Ys2))))))))). % ord.lexordp_eq_simps(4)
thf(fact_40_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_41_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_42_ord_Olexordp__eq_OCons, axiom,
    ((![Less : dB > dB > $o, X2 : dB, Y3 : dB, Xs : list_dB, Ys2 : list_dB]: ((Less @ X2 @ Y3) => (lexordp_eq_dB @ Less @ (cons_dB @ X2 @ Xs) @ (cons_dB @ Y3 @ Ys2)))))). % ord.lexordp_eq.Cons
thf(fact_43_ord_Olexordp__eq_OCons__eq, axiom,
    ((![Less : dB > dB > $o, X2 : dB, Y3 : dB, Xs : list_dB, Ys2 : list_dB]: ((~ ((Less @ X2 @ Y3))) => ((~ ((Less @ Y3 @ X2))) => ((lexordp_eq_dB @ Less @ Xs @ Ys2) => (lexordp_eq_dB @ Less @ (cons_dB @ X2 @ Xs) @ (cons_dB @ Y3 @ Ys2)))))))). % ord.lexordp_eq.Cons_eq
thf(fact_44_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_45_listrelp_OCons, axiom,
    ((![R : dB > dB > $o, X2 : dB, Y3 : dB, Xs : list_dB, Ys2 : list_dB]: ((R @ X2 @ Y3) => ((listrelp_dB_dB @ R @ Xs @ Ys2) => (listrelp_dB_dB @ R @ (cons_dB @ X2 @ Xs) @ (cons_dB @ Y3 @ Ys2))))))). % listrelp.Cons
thf(fact_46_listrelp_ONil, axiom,
    ((![R : dB > dB > $o]: (listrelp_dB_dB @ R @ nil_dB @ nil_dB)))). % listrelp.Nil
thf(fact_47_map__tailrec__rev_Osimps_I2_J, axiom,
    ((![F2 : dB > dB, A2 : dB, As2 : list_dB, Bs2 : list_dB]: ((map_ta277069629_dB_dB @ F2 @ (cons_dB @ A2 @ As2) @ Bs2) = (map_ta277069629_dB_dB @ F2 @ As2 @ (cons_dB @ (F2 @ A2) @ Bs2)))))). % map_tailrec_rev.simps(2)
thf(fact_48_ord_Olexordp__eq_Ocases, axiom,
    ((![Less : dB > dB > $o, A1 : list_dB, A22 : list_dB]: ((lexordp_eq_dB @ Less @ A1 @ A22) => ((~ ((A1 = nil_dB))) => ((![X3 : dB]: ((?[Xs2 : list_dB]: (A1 = (cons_dB @ X3 @ Xs2))) => (![Y : dB]: ((?[Ys : list_dB]: (A22 = (cons_dB @ Y @ Ys))) => (~ ((Less @ X3 @ Y))))))) => (~ ((![X3 : dB, Y : dB, Xs2 : list_dB]: ((A1 = (cons_dB @ X3 @ Xs2)) => (![Ys : list_dB]: ((A22 = (cons_dB @ Y @ Ys)) => ((~ ((Less @ X3 @ Y))) => ((~ ((Less @ Y @ X3))) => (~ ((lexordp_eq_dB @ Less @ Xs2 @ Ys))))))))))))))))). % ord.lexordp_eq.cases
thf(fact_49_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))))) | ((((?[X : dB]: (?[Y2 : dB]: (?[Xs3 : list_dB]: (?[Ys3 : list_dB]: (((A12 = (cons_dB @ X @ Xs3))) & ((((A23 = (cons_dB @ Y2 @ Ys3))) & ((Less2 @ X @ Y2)))))))))) | ((?[X : dB]: (?[Y2 : dB]: (?[Xs3 : list_dB]: (?[Ys3 : list_dB]: (((A12 = (cons_dB @ X @ Xs3))) & ((((A23 = (cons_dB @ Y2 @ Ys3))) & ((((~ ((Less2 @ X @ Y2)))) & ((((~ ((Less2 @ Y2 @ X)))) & ((lexordp_eq_dB @ Less2 @ Xs3 @ Ys3))))))))))))))))))))))). % ord.lexordp_eq.simps
thf(fact_50_ord_Olexordp__eq_Oinducts, axiom,
    ((![Less : dB > dB > $o, X1 : list_dB, X24 : list_dB, P : list_dB > list_dB > $o]: ((lexordp_eq_dB @ Less @ X1 @ X24) => ((![X_1 : list_dB]: (P @ nil_dB @ X_1)) => ((![X3 : dB, Y : dB, Xs2 : list_dB, Ys : list_dB]: ((Less @ X3 @ Y) => (P @ (cons_dB @ X3 @ Xs2) @ (cons_dB @ Y @ Ys)))) => ((![X3 : dB, Y : dB, Xs2 : list_dB, Ys : list_dB]: ((~ ((Less @ X3 @ Y))) => ((~ ((Less @ Y @ X3))) => ((lexordp_eq_dB @ Less @ Xs2 @ Ys) => ((P @ Xs2 @ Ys) => (P @ (cons_dB @ X3 @ Xs2) @ (cons_dB @ Y @ Ys))))))) => (P @ X1 @ X24)))))))). % ord.lexordp_eq.inducts
thf(fact_51_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_52_subseqs_Osimps_I1_J, axiom,
    (((subseqs_dB @ nil_dB) = (cons_list_dB @ nil_dB @ nil_list_dB)))). % subseqs.simps(1)
thf(fact_53_list__ex1__simps_I2_J, axiom,
    ((![P : dB > $o, X2 : dB, Xs : list_dB]: ((list_ex1_dB @ P @ (cons_dB @ X2 @ Xs)) = (((((P @ X2)) => ((list_all_dB @ (^[Y2 : dB]: (((~ ((P @ Y2)))) | ((X2 = Y2)))) @ Xs)))) & ((((~ ((P @ X2)))) => ((list_ex1_dB @ P @ Xs))))))))). % list_ex1_simps(2)
thf(fact_54_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_55_list__all__simps_I1_J, axiom,
    ((![P : dB > $o, X2 : dB, Xs : list_dB]: ((list_all_dB @ P @ (cons_dB @ X2 @ Xs)) = (((P @ X2)) & ((list_all_dB @ P @ Xs))))))). % list_all_simps(1)
thf(fact_56_list__all__simps_I2_J, axiom,
    ((![P : dB > $o]: (list_all_dB @ P @ nil_dB)))). % list_all_simps(2)
thf(fact_57_list_Opred__inject_I1_J, axiom,
    ((![P : dB > $o]: (list_all_dB @ P @ nil_dB)))). % list.pred_inject(1)
thf(fact_58_IT_OVar, axiom,
    ((![Rs : list_dB, N : nat]: ((listsp_dB @ it @ Rs) => (it @ (foldl_dB_dB @ app @ (var @ N) @ Rs)))))). % IT.Var
thf(fact_59_member__rec_I2_J, axiom,
    ((![Y3 : dB]: (~ ((member_dB @ nil_dB @ Y3)))))). % member_rec(2)
thf(fact_60_member__rec_I1_J, axiom,
    ((![X2 : dB, Xs : list_dB, Y3 : dB]: ((member_dB @ (cons_dB @ X2 @ Xs) @ Y3) = (((X2 = Y3)) | ((member_dB @ Xs @ Y3))))))). % member_rec(1)
thf(fact_61_foldl__Cons, axiom,
    ((![F2 : dB > dB > dB, A2 : dB, X2 : dB, Xs : list_dB]: ((foldl_dB_dB @ F2 @ A2 @ (cons_dB @ X2 @ Xs)) = (foldl_dB_dB @ F2 @ (F2 @ A2 @ X2) @ Xs))))). % foldl_Cons
thf(fact_62_foldl__Nil, axiom,
    ((![F2 : dB > dB > dB, A2 : dB]: ((foldl_dB_dB @ F2 @ A2 @ nil_dB) = A2)))). % foldl_Nil
thf(fact_63_Var__eq__apps__conv, axiom,
    ((![M : nat, S : dB, Ss : list_dB]: (((var @ M) = (foldl_dB_dB @ app @ S @ Ss)) = ((((var @ M) = S)) & ((Ss = nil_dB))))))). % Var_eq_apps_conv
thf(fact_64_Var__apps__eq__Var__apps__conv, axiom,
    ((![M : nat, Rs : list_dB, N : nat, Ss : list_dB]: (((foldl_dB_dB @ app @ (var @ M) @ Rs) = (foldl_dB_dB @ app @ (var @ N) @ Ss)) = (((M = N)) & ((Rs = Ss))))))). % Var_apps_eq_Var_apps_conv
thf(fact_65_apps__eq__tail__conv, axiom,
    ((![R : dB, Ts : list_dB, S : dB]: (((foldl_dB_dB @ app @ R @ Ts) = (foldl_dB_dB @ app @ S @ Ts)) = (R = S))))). % apps_eq_tail_conv
thf(fact_66_App__eq__foldl__conv, axiom,
    ((![R : dB, S : dB, T : dB, Ts : list_dB]: (((app @ R @ S) = (foldl_dB_dB @ app @ T @ Ts)) = (((((Ts = nil_dB)) => (((app @ R @ S) = T)))) & ((((~ ((Ts = nil_dB)))) => ((?[Ss2 : list_dB]: (((Ts = (append_dB @ Ss2 @ (cons_dB @ S @ nil_dB)))) & ((R = (foldl_dB_dB @ app @ T @ Ss2))))))))))))). % App_eq_foldl_conv
thf(fact_67_app__last, axiom,
    ((![T : dB, Ts : list_dB, U : dB]: ((app @ (foldl_dB_dB @ app @ T @ Ts) @ U) = (foldl_dB_dB @ app @ T @ (append_dB @ Ts @ (cons_dB @ U @ nil_dB))))))). % app_last
thf(fact_68_same__append__eq, axiom,
    ((![Xs : list_dB, Ys2 : list_dB, Zs2 : list_dB]: (((append_dB @ Xs @ Ys2) = (append_dB @ Xs @ Zs2)) = (Ys2 = Zs2))))). % same_append_eq
thf(fact_69_append__same__eq, axiom,
    ((![Ys2 : list_dB, Xs : list_dB, Zs2 : list_dB]: (((append_dB @ Ys2 @ Xs) = (append_dB @ Zs2 @ Xs)) = (Ys2 = Zs2))))). % append_same_eq
thf(fact_70_append__assoc, axiom,
    ((![Xs : list_dB, Ys2 : list_dB, Zs2 : list_dB]: ((append_dB @ (append_dB @ Xs @ Ys2) @ Zs2) = (append_dB @ Xs @ (append_dB @ Ys2 @ Zs2)))))). % append_assoc
thf(fact_71_append_Oassoc, axiom,
    ((![A2 : list_dB, B3 : list_dB, C : list_dB]: ((append_dB @ (append_dB @ A2 @ B3) @ C) = (append_dB @ A2 @ (append_dB @ B3 @ C)))))). % append.assoc
thf(fact_72_append__Nil2, axiom,
    ((![Xs : list_dB]: ((append_dB @ Xs @ nil_dB) = Xs)))). % append_Nil2
thf(fact_73_append__self__conv, axiom,
    ((![Xs : list_dB, Ys2 : list_dB]: (((append_dB @ Xs @ Ys2) = Xs) = (Ys2 = nil_dB))))). % append_self_conv
thf(fact_74_self__append__conv, axiom,
    ((![Xs : list_dB, Ys2 : list_dB]: ((Xs = (append_dB @ Xs @ Ys2)) = (Ys2 = nil_dB))))). % self_append_conv
thf(fact_75_append__self__conv2, axiom,
    ((![Xs : list_dB, Ys2 : list_dB]: (((append_dB @ Xs @ Ys2) = Ys2) = (Xs = nil_dB))))). % append_self_conv2
thf(fact_76_self__append__conv2, axiom,
    ((![Ys2 : list_dB, Xs : list_dB]: ((Ys2 = (append_dB @ Xs @ Ys2)) = (Xs = nil_dB))))). % self_append_conv2
thf(fact_77_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_78_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_79_append_Oright__neutral, axiom,
    ((![A2 : list_dB]: ((append_dB @ A2 @ nil_dB) = A2)))). % append.right_neutral
thf(fact_80_foldl__append, axiom,
    ((![F2 : dB > dB > dB, A2 : dB, Xs : list_dB, Ys2 : list_dB]: ((foldl_dB_dB @ F2 @ A2 @ (append_dB @ Xs @ Ys2)) = (foldl_dB_dB @ F2 @ (foldl_dB_dB @ F2 @ A2 @ Xs) @ Ys2))))). % foldl_append
thf(fact_81_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_82_list__all__append, axiom,
    ((![P : dB > $o, Xs : list_dB, Ys2 : list_dB]: ((list_all_dB @ P @ (append_dB @ Xs @ Ys2)) = (((list_all_dB @ P @ Xs)) & ((list_all_dB @ P @ Ys2))))))). % list_all_append
thf(fact_83_append1__eq__conv, axiom,
    ((![Xs : list_dB, X2 : dB, Ys2 : list_dB, Y3 : dB]: (((append_dB @ Xs @ (cons_dB @ X2 @ nil_dB)) = (append_dB @ Ys2 @ (cons_dB @ Y3 @ nil_dB))) = (((Xs = Ys2)) & ((X2 = Y3))))))). % append1_eq_conv
thf(fact_84_bind__simps_I2_J, axiom,
    ((![X2 : dB, Xs : list_dB, F2 : dB > list_dB]: ((bind_dB_dB @ (cons_dB @ X2 @ Xs) @ F2) = (append_dB @ (F2 @ X2) @ (bind_dB_dB @ Xs @ F2)))))). % bind_simps(2)
thf(fact_85_append__eq__append__conv2, axiom,
    ((![Xs : list_dB, Ys2 : list_dB, Zs2 : list_dB, Ts : list_dB]: (((append_dB @ Xs @ Ys2) = (append_dB @ Zs2 @ Ts)) = (?[Us : list_dB]: (((((Xs = (append_dB @ Zs2 @ Us))) & (((append_dB @ Us @ Ys2) = Ts)))) | (((((append_dB @ Xs @ Us) = Zs2)) & ((Ys2 = (append_dB @ Us @ Ts))))))))))). % append_eq_append_conv2
thf(fact_86_append__eq__appendI, axiom,
    ((![Xs : list_dB, Xs1 : list_dB, Zs2 : list_dB, Ys2 : list_dB, Us2 : list_dB]: (((append_dB @ Xs @ Xs1) = Zs2) => ((Ys2 = (append_dB @ Xs1 @ Us2)) => ((append_dB @ Xs @ Ys2) = (append_dB @ Zs2 @ Us2))))))). % append_eq_appendI
thf(fact_87_eq__Nil__appendI, axiom,
    ((![Xs : list_dB, Ys2 : list_dB]: ((Xs = Ys2) => (Xs = (append_dB @ nil_dB @ Ys2)))))). % eq_Nil_appendI
thf(fact_88_append__Nil, axiom,
    ((![Ys2 : list_dB]: ((append_dB @ nil_dB @ Ys2) = Ys2)))). % append_Nil
thf(fact_89_append_Oleft__neutral, axiom,
    ((![A2 : list_dB]: ((append_dB @ nil_dB @ A2) = A2)))). % append.left_neutral
thf(fact_90_Cons__eq__appendI, axiom,
    ((![X2 : dB, Xs1 : list_dB, Ys2 : list_dB, Xs : list_dB, Zs2 : list_dB]: (((cons_dB @ X2 @ Xs1) = Ys2) => ((Xs = (append_dB @ Xs1 @ Zs2)) => ((cons_dB @ X2 @ Xs) = (append_dB @ Ys2 @ Zs2))))))). % Cons_eq_appendI
thf(fact_91_append__Cons, axiom,
    ((![X2 : dB, Xs : list_dB, Ys2 : list_dB]: ((append_dB @ (cons_dB @ X2 @ Xs) @ Ys2) = (cons_dB @ X2 @ (append_dB @ Xs @ Ys2)))))). % append_Cons
thf(fact_92_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_93_rev__exhaust, axiom,
    ((![Xs : list_dB]: ((~ ((Xs = nil_dB))) => (~ ((![Ys : list_dB, Y : dB]: (~ ((Xs = (append_dB @ Ys @ (cons_dB @ Y @ nil_dB)))))))))))). % rev_exhaust
thf(fact_94_Cons__eq__append__conv, axiom,
    ((![X2 : dB, Xs : list_dB, Ys2 : list_dB, Zs2 : list_dB]: (((cons_dB @ X2 @ Xs) = (append_dB @ Ys2 @ Zs2)) = (((((Ys2 = nil_dB)) & (((cons_dB @ X2 @ Xs) = Zs2)))) | ((?[Ys4 : list_dB]: ((((cons_dB @ X2 @ Ys4) = Ys2)) & ((Xs = (append_dB @ Ys4 @ Zs2))))))))))). % Cons_eq_append_conv
thf(fact_95_append__eq__Cons__conv, axiom,
    ((![Ys2 : list_dB, Zs2 : list_dB, X2 : dB, Xs : list_dB]: (((append_dB @ Ys2 @ Zs2) = (cons_dB @ X2 @ Xs)) = (((((Ys2 = nil_dB)) & ((Zs2 = (cons_dB @ X2 @ Xs))))) | ((?[Ys4 : list_dB]: (((Ys2 = (cons_dB @ X2 @ Ys4))) & (((append_dB @ Ys4 @ Zs2) = Xs)))))))))). % append_eq_Cons_conv
thf(fact_96_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_97_rev__exhaust2, axiom,
    ((![Xs : list_dB]: ((~ ((Xs = nil_dB))) => (~ ((![Ys : list_dB, Y : dB]: (~ ((Xs = (append_dB @ Ys @ (cons_dB @ Y @ nil_dB)))))))))))). % rev_exhaust2
thf(fact_98_maps__simps_I1_J, axiom,
    ((![F2 : dB > list_dB, X2 : dB, Xs : list_dB]: ((maps_dB_dB @ F2 @ (cons_dB @ X2 @ Xs)) = (append_dB @ (F2 @ X2) @ (maps_dB_dB @ F2 @ Xs)))))). % maps_simps(1)
thf(fact_99_maps__simps_I2_J, axiom,
    ((![F2 : dB > list_dB]: ((maps_dB_dB @ F2 @ nil_dB) = nil_dB)))). % maps_simps(2)

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