% This file was generated by Isabelle's Sledgehammer. 2021-05-14 08:17:33.802

% Could-be-implicit typings (29)
thf(ty_t_FWState_Onew__thread__action,type,(
    new_thread_action: $tType > $tType > $tType > $tType )).

thf(ty_t_FWState_Oconditional__action,type,(
    conditional_action: $tType > $tType )).

thf(ty_t_FWState_Owait__set__action,type,(
    wait_set_action: $tType > $tType > $tType )).

thf(ty_t_FWState_Ointerrupt__action,type,(
    interrupt_action: $tType > $tType )).

thf(ty_t_Code__Numeral_Onatural,type,(
    code_natural: $tType )).

thf(ty_t_Code__Numeral_Ointeger,type,(
    code_integer: $tType )).

thf(ty_t_Code__Evaluation_Oterm,type,(
    code_term: $tType )).

thf(ty_t_FWState_Olock__action,type,(
    lock_action: $tType )).

thf(ty_t_Product__Type_Ounit,type,(
    product_unit: $tType )).

thf(ty_t_Product__Type_Oprod,type,(
    product_prod: $tType > $tType > $tType )).

thf(ty_t_Typerep_Otyperep,type,(
    typerep: $tType )).

thf(ty_t_String_Oliteral,type,(
    literal: $tType )).

thf(ty_t_Predicate_Opred,type,(
    pred: $tType > $tType )).

thf(ty_t_Predicate_Oseq,type,(
    seq: $tType > $tType )).

thf(ty_t_Option_Ooption,type,(
    option: $tType > $tType )).

thf(ty_t_FinFun_Ofinfun,type,(
    finfun: $tType > $tType > $tType )).

thf(ty_t_Filter_Ofilter,type,(
    filter: $tType > $tType )).

thf(ty_t_List_Olist,type,(
    list: $tType > $tType )).

thf(ty_t_Set_Oset,type,(
    set: $tType > $tType )).

thf(ty_t_Num_Onum,type,(
    num: $tType )).

thf(ty_t_Nat_Onat,type,(
    nat: $tType )).

thf(ty_t_Int_Oint,type,(
    int: $tType )).

thf(ty_t_itself,type,(
    itself: $tType > $tType )).

thf(ty_tf_f,type,(
    f: $tType )).

thf(ty_tf_e,type,(
    e: $tType )).

thf(ty_tf_d,type,(
    d: $tType )).

thf(ty_tf_c,type,(
    c: $tType )).

thf(ty_tf_b,type,(
    b: $tType )).

thf(ty_tf_a,type,(
    a: $tType )).

% Explicit typings (246)
thf(sy_cl_Cardinality_Ocard__UNIV,type,(
    card_UNIV: 
      !>[A: $tType] : $o )).

thf(sy_cl_Enum_Oenum,type,(
    enum: 
      !>[A: $tType] : $o )).

thf(sy_cl_Code__Evaluation_Oterm__of,type,(
    code_term_of: 
      !>[A: $tType] : $o )).

thf(sy_cl_Lattices_Obounded__lattice,type,(
    bounded_lattice: 
      !>[A: $tType] : $o )).

thf(sy_cl_HOL_Otype,type,(
    type: 
      !>[A: $tType] : $o )).

thf(sy_cl_HOL_Oequal,type,(
    cl_HOL_Oequal: 
      !>[A: $tType] : $o )).

thf(sy_cl_Orderings_Oord,type,(
    ord: 
      !>[A: $tType] : $o )).

thf(sy_cl_Orderings_Oorder,type,(
    order: 
      !>[A: $tType] : $o )).

thf(sy_cl_Typerep_Otyperep,type,(
    typerep2: 
      !>[A: $tType] : $o )).

thf(sy_cl_Lattices_Olattice,type,(
    lattice: 
      !>[A: $tType] : $o )).

thf(sy_cl_Groups_Omonoid__add,type,(
    monoid_add: 
      !>[A: $tType] : $o )).

thf(sy_cl_Orderings_Olinorder,type,(
    linorder: 
      !>[A: $tType] : $o )).

thf(sy_cl_Orderings_Opreorder,type,(
    preorder: 
      !>[A: $tType] : $o )).

thf(sy_cl_Lattices_Osemilattice__inf,type,(
    semilattice_inf: 
      !>[A: $tType] : $o )).

thf(sy_cl_Lattices_Osemilattice__sup,type,(
    semilattice_sup: 
      !>[A: $tType] : $o )).

thf(sy_cl_Quickcheck__Random_Orandom,type,(
    quickcheck_random: 
      !>[A: $tType] : $o )).

thf(sy_cl_Lattices_Obounded__lattice__top,type,(
    bounded_lattice_top: 
      !>[A: $tType] : $o )).

thf(sy_cl_Quickcheck__Exhaustive_Oexhaustive,type,(
    quickc658316121487927005ustive: 
      !>[A: $tType] : $o )).

thf(sy_cl_Lattices_Obounded__semilattice__sup__bot,type,(
    bounde4967611905675639751up_bot: 
      !>[A: $tType] : $o )).

thf(sy_cl_Quickcheck__Exhaustive_Ofull__exhaustive,type,(
    quickc3360725361186068524ustive: 
      !>[A: $tType] : $o )).

thf(sy_c_Auxiliary_Ortrancl3p,type,(
    rtrancl3p: 
      !>[A: $tType,B: $tType] :
        ( ( A > B > A > $o ) > A > ( list @ B ) > A > $o ) )).

thf(sy_c_BNF__Cardinal__Order__Relation_OrelChain,type,(
    bNF_Ca3754400796208372196lChain: 
      !>[A: $tType,B: $tType] :
        ( ( set @ ( product_prod @ A @ A ) ) > ( A > B ) > $o ) )).

thf(sy_c_BNF__Def_OGr,type,(
    bNF_Gr: 
      !>[A: $tType,B: $tType] :
        ( ( set @ A ) > ( A > B ) > ( set @ ( product_prod @ A @ B ) ) ) )).

thf(sy_c_BNF__Def_OGrp,type,(
    bNF_Grp: 
      !>[A: $tType,B: $tType] :
        ( ( set @ A ) > ( A > B ) > A > B > $o ) )).

thf(sy_c_BNF__Def_Ocollect,type,(
    bNF_collect: 
      !>[B: $tType,A: $tType] :
        ( ( set @ ( B > ( set @ A ) ) ) > B > ( set @ A ) ) )).

thf(sy_c_BNF__Def_Oconvol,type,(
    bNF_convol: 
      !>[A: $tType,B: $tType,C: $tType] :
        ( ( A > B ) > ( A > C ) > A > ( product_prod @ B @ C ) ) )).

thf(sy_c_BNF__Def_Ocsquare,type,(
    bNF_csquare: 
      !>[A: $tType,B: $tType,C: $tType,D: $tType] :
        ( ( set @ A ) > ( B > C ) > ( D > C ) > ( A > B ) > ( A > D ) > $o ) )).

thf(sy_c_BNF__Def_Oeq__onp,type,(
    bNF_eq_onp: 
      !>[A: $tType] :
        ( ( A > $o ) > A > A > $o ) )).

thf(sy_c_BNF__Def_OfstOp,type,(
    bNF_fstOp: 
      !>[A: $tType,B: $tType,C: $tType] :
        ( ( A > B > $o ) > ( B > C > $o ) > ( product_prod @ A @ C ) > ( product_prod @ A @ B ) ) )).

thf(sy_c_BNF__Def_Opick__middlep,type,(
    bNF_pick_middlep: 
      !>[B: $tType,A: $tType,C: $tType] :
        ( ( B > A > $o ) > ( A > C > $o ) > B > C > A ) )).

thf(sy_c_BNF__Def_Orel__fun,type,(
    bNF_rel_fun: 
      !>[A: $tType,C: $tType,B: $tType,D: $tType] :
        ( ( A > C > $o ) > ( B > D > $o ) > ( A > B ) > ( C > D ) > $o ) )).

thf(sy_c_BNF__Def_Orel__set,type,(
    bNF_rel_set: 
      !>[A: $tType,B: $tType] :
        ( ( A > B > $o ) > ( set @ A ) > ( set @ B ) > $o ) )).

thf(sy_c_BNF__Def_OsndOp,type,(
    bNF_sndOp: 
      !>[C: $tType,A: $tType,B: $tType] :
        ( ( C > A > $o ) > ( A > B > $o ) > ( product_prod @ C @ B ) > ( product_prod @ A @ B ) ) )).

thf(sy_c_BNF__Def_Ovimage2p,type,(
    bNF_vimage2p: 
      !>[A: $tType,D: $tType,B: $tType,E: $tType,C: $tType] :
        ( ( A > D ) > ( B > E ) > ( D > E > C ) > A > B > C ) )).

thf(sy_c_BNF__Greatest__Fixpoint_Oimage2,type,(
    bNF_Greatest_image2: 
      !>[C: $tType,A: $tType,B: $tType] :
        ( ( set @ C ) > ( C > A ) > ( C > B ) > ( set @ ( product_prod @ A @ B ) ) ) )).

thf(sy_c_BNF__Greatest__Fixpoint_Oimage2p,type,(
    bNF_Greatest_image2p: 
      !>[C: $tType,A: $tType,D: $tType,B: $tType] :
        ( ( C > A ) > ( D > B ) > ( C > D > $o ) > A > B > $o ) )).

thf(sy_c_BNF__Wellorder__Constructions_Obsqr,type,(
    bNF_Wellorder_bsqr: 
      !>[A: $tType] :
        ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( product_prod @ A @ A ) @ ( product_prod @ A @ A ) ) ) ) )).

thf(sy_c_BNF__Wellorder__Relation_Owo__rel_Omax2,type,(
    bNF_We1388413361240627857o_max2: 
      !>[A: $tType] :
        ( ( set @ ( product_prod @ A @ A ) ) > A > A > A ) )).

thf(sy_c_Basic__BNF__LFPs_Oprod_Osize__prod,type,(
    basic_BNF_size_prod: 
      !>[A: $tType,B: $tType] :
        ( ( A > nat ) > ( B > nat ) > ( product_prod @ A @ B ) > nat ) )).

thf(sy_c_Basic__BNFs_Ofsts,type,(
    basic_fsts: 
      !>[A: $tType,B: $tType] :
        ( ( product_prod @ A @ B ) > ( set @ A ) ) )).

thf(sy_c_Basic__BNFs_Opred__prod,type,(
    basic_pred_prod: 
      !>[A: $tType,B: $tType] :
        ( ( A > $o ) > ( B > $o ) > ( product_prod @ A @ B ) > $o ) )).

thf(sy_c_Basic__BNFs_Orel__prod,type,(
    basic_rel_prod: 
      !>[A: $tType,B: $tType,C: $tType,D: $tType] :
        ( ( A > B > $o ) > ( C > D > $o ) > ( product_prod @ A @ C ) > ( product_prod @ B @ D ) > $o ) )).

thf(sy_c_Basic__BNFs_Osnds,type,(
    basic_snds: 
      !>[A: $tType,B: $tType] :
        ( ( product_prod @ A @ B ) > ( set @ B ) ) )).

thf(sy_c_Complete__Lattices_OSup__class_OSup,type,(
    complete_Sup_Sup: 
      !>[A: $tType] :
        ( ( set @ A ) > A ) )).

thf(sy_c_FWState_Ocond__a,type,(
    cond_a: 
      !>[L: $tType,T: $tType,X: $tType,M: $tType,W: $tType,O: $tType] :
        ( ( product_prod @ ( finfun @ L @ ( list @ lock_action ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) > ( list @ ( conditional_action @ T ) ) ) )).

thf(sy_c_FWState_Oconditional__action_OJoin,type,(
    conditional_Join: 
      !>[T: $tType] :
        ( T > ( conditional_action @ T ) ) )).

thf(sy_c_FWState_Oconditional__action_OYield,type,(
    conditional_Yield: 
      !>[T: $tType] :
        ( conditional_action @ T ) )).

thf(sy_c_FWState_Oconditional__action_Ocase__conditional__action,type,(
    condit2152691216506315636action: 
      !>[T: $tType,A: $tType] :
        ( ( T > A ) > A > ( conditional_action @ T ) > A ) )).

thf(sy_c_FWState_Oconditional__action_Omap__conditional__action,type,(
    condit198635377858011928action: 
      !>[T: $tType,Ta: $tType] :
        ( ( T > Ta ) > ( conditional_action @ T ) > ( conditional_action @ Ta ) ) )).

thf(sy_c_FWState_Oconditional__action_Opred__conditional__action,type,(
    condit606476673698705123action: 
      !>[A: $tType] :
        ( ( A > $o ) > ( conditional_action @ A ) > $o ) )).

thf(sy_c_FWState_Oconditional__action_Orec__conditional__action,type,(
    condit2004826933596026276action: 
      !>[T: $tType,B: $tType] :
        ( ( T > B ) > B > ( conditional_action @ T ) > B ) )).

thf(sy_c_FWState_Oconditional__action_Orel__conditional__action,type,(
    condit4280512358590153947action: 
      !>[A: $tType,B: $tType] :
        ( ( A > B > $o ) > ( conditional_action @ A ) > ( conditional_action @ B ) > $o ) )).

thf(sy_c_FWState_Oconditional__action_Oset__conditional__action,type,(
    condit2393454222984209554action: 
      !>[T: $tType] :
        ( ( conditional_action @ T ) > ( set @ T ) ) )).

thf(sy_c_FWState_Oconditional__action_Osize__conditional__action,type,(
    condit7996436068482063107action: 
      !>[T: $tType] :
        ( ( T > nat ) > ( conditional_action @ T ) > nat ) )).

thf(sy_c_FWState_Ointerrupt__a,type,(
    interrupt_a: 
      !>[L: $tType,T: $tType,X: $tType,M: $tType,W: $tType,O: $tType] :
        ( ( product_prod @ ( finfun @ L @ ( list @ lock_action ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) > ( list @ ( interrupt_action @ T ) ) ) )).

thf(sy_c_FWState_Ointerrupt__action_OClearInterrupt,type,(
    interr7976201102587534891errupt: 
      !>[T: $tType] :
        ( T > ( interrupt_action @ T ) ) )).

thf(sy_c_FWState_Ointerrupt__action_OInterrupt,type,(
    interrupt_Interrupt: 
      !>[T: $tType] :
        ( T > ( interrupt_action @ T ) ) )).

thf(sy_c_FWState_Ointerrupt__action_OIsInterrupted,type,(
    interr5885539089632487139rupted: 
      !>[T: $tType] :
        ( T > $o > ( interrupt_action @ T ) ) )).

thf(sy_c_FWState_Ointerrupt__action_Omap__interrupt__action,type,(
    interr6514223866936857682action: 
      !>[T: $tType,Ta: $tType] :
        ( ( T > Ta ) > ( interrupt_action @ T ) > ( interrupt_action @ Ta ) ) )).

thf(sy_c_FWState_Ointerrupt__action_Opred__interrupt__action,type,(
    interr8158014761281175971action: 
      !>[A: $tType] :
        ( ( A > $o ) > ( interrupt_action @ A ) > $o ) )).

thf(sy_c_FWState_Ointerrupt__action_Orel__interrupt__action,type,(
    interr1799892525631285141action: 
      !>[A: $tType,B: $tType] :
        ( ( A > B > $o ) > ( interrupt_action @ A ) > ( interrupt_action @ B ) > $o ) )).

thf(sy_c_FWState_Ointerrupt__action_Oset__interrupt__action,type,(
    interr3053324309844243148action: 
      !>[T: $tType] :
        ( ( interrupt_action @ T ) > ( set @ T ) ) )).

thf(sy_c_FWState_Ointerrupt__action_Osize__interrupt__action,type,(
    interr4439281168783392195action: 
      !>[T: $tType] :
        ( ( T > nat ) > ( interrupt_action @ T ) > nat ) )).

thf(sy_c_FWState_Olock__action_OLock,type,(
    lock_Lock: lock_action )).

thf(sy_c_FWState_Olock__action_OReleaseAcquire,type,(
    lock_ReleaseAcquire: lock_action )).

thf(sy_c_FWState_Olock__action_OUnlock,type,(
    lock_Unlock: lock_action )).

thf(sy_c_FWState_Olock__action_OUnlockFail,type,(
    lock_UnlockFail: lock_action )).

thf(sy_c_FWState_Olock__action_Ocase__lock__action,type,(
    lock_c780515111982967862action: 
      !>[A: $tType] :
        ( A > A > A > A > lock_action > A ) )).

thf(sy_c_FWState_Olock__action_Orec__lock__action,type,(
    lock_rec_lock_action: 
      !>[A: $tType] :
        ( A > A > A > A > lock_action > A ) )).

thf(sy_c_FWState_Olock__action_Osize__lock__action,type,(
    lock_s5444299122428672615action: lock_action > nat )).

thf(sy_c_FWState_Olocks__a,type,(
    locks_a: 
      !>[L: $tType,T: $tType,X: $tType,M: $tType,W: $tType,O: $tType] :
        ( ( product_prod @ ( finfun @ L @ ( list @ lock_action ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) > ( finfun @ L @ ( list @ lock_action ) ) ) )).

thf(sy_c_FWState_Onew__thread__action_ONewThread,type,(
    new_thread_NewThread: 
      !>[T: $tType,X: $tType,M: $tType] :
        ( T > X > M > ( new_thread_action @ T @ X @ M ) ) )).

thf(sy_c_FWState_Onew__thread__action_OThreadExists,type,(
    new_th4503388622997288770Exists: 
      !>[T: $tType,X: $tType,M: $tType] :
        ( T > $o > ( new_thread_action @ T @ X @ M ) ) )).

thf(sy_c_FWState_Onew__thread__action_Ocase__new__thread__action,type,(
    new_th5509480840830140020action: 
      !>[T: $tType,X: $tType,M: $tType,A: $tType] :
        ( ( T > X > M > A ) > ( T > $o > A ) > ( new_thread_action @ T @ X @ M ) > A ) )).

thf(sy_c_FWState_Onew__thread__action_Omap__new__thread__action,type,(
    new_th6052504119144402208action: 
      !>[T: $tType,Ta: $tType,X: $tType,Xa: $tType,M: $tType,Ma: $tType] :
        ( ( T > Ta ) > ( X > Xa ) > ( M > Ma ) > ( new_thread_action @ T @ X @ M ) > ( new_thread_action @ Ta @ Xa @ Ma ) ) )).

thf(sy_c_FWState_Onew__thread__action_Opred__new__thread__action,type,(
    new_th3963266298022529507action: 
      !>[A: $tType,B: $tType,C: $tType] :
        ( ( A > $o ) > ( B > $o ) > ( C > $o ) > ( new_thread_action @ A @ B @ C ) > $o ) )).

thf(sy_c_FWState_Onew__thread__action_Orec__new__thread__action,type,(
    new_th7858695674882416556action: 
      !>[T: $tType,X: $tType,M: $tType,D: $tType] :
        ( ( T > X > M > D ) > ( T > $o > D ) > ( new_thread_action @ T @ X @ M ) > D ) )).

thf(sy_c_FWState_Onew__thread__action_Orel__new__thread__action,type,(
    new_th911009063021768419action: 
      !>[A: $tType,D: $tType,B: $tType,E: $tType,C: $tType,F: $tType] :
        ( ( A > D > $o ) > ( B > E > $o ) > ( C > F > $o ) > ( new_thread_action @ A @ B @ C ) > ( new_thread_action @ D @ E @ F ) > $o ) )).

thf(sy_c_FWState_Onew__thread__action_Oset1__new__thread__action,type,(
    new_th4037974794548711221action: 
      !>[T: $tType,X: $tType,M: $tType] :
        ( ( new_thread_action @ T @ X @ M ) > ( set @ T ) ) )).

thf(sy_c_FWState_Onew__thread__action_Oset2__new__thread__action,type,(
    new_th5315647845865256052action: 
      !>[T: $tType,X: $tType,M: $tType] :
        ( ( new_thread_action @ T @ X @ M ) > ( set @ X ) ) )).

thf(sy_c_FWState_Onew__thread__action_Oset3__new__thread__action,type,(
    new_th6593320897181800883action: 
      !>[T: $tType,X: $tType,M: $tType] :
        ( ( new_thread_action @ T @ X @ M ) > ( set @ M ) ) )).

thf(sy_c_FWState_Onew__thread__action_Osize__new__thread__action,type,(
    new_th2129853655951111683action: 
      !>[T: $tType,X: $tType,M: $tType] :
        ( ( T > nat ) > ( X > nat ) > ( M > nat ) > ( new_thread_action @ T @ X @ M ) > nat ) )).

thf(sy_c_FWState_Oobs__a,type,(
    obs_a: 
      !>[L: $tType,T: $tType,X: $tType,M: $tType,W: $tType,O: $tType] :
        ( ( product_prod @ ( finfun @ L @ ( list @ lock_action ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) > ( list @ O ) ) )).

thf(sy_c_FWState_Othr__a,type,(
    thr_a: 
      !>[L: $tType,T: $tType,X: $tType,M: $tType,W: $tType,O: $tType] :
        ( ( product_prod @ ( finfun @ L @ ( list @ lock_action ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) > ( list @ ( new_thread_action @ T @ X @ M ) ) ) )).

thf(sy_c_FWState_Owait__set__action_ONotified,type,(
    wait_set_Notified: 
      !>[T: $tType,W: $tType] :
        ( wait_set_action @ T @ W ) )).

thf(sy_c_FWState_Owait__set__action_ONotify,type,(
    wait_set_Notify: 
      !>[W: $tType,T: $tType] :
        ( W > ( wait_set_action @ T @ W ) ) )).

thf(sy_c_FWState_Owait__set__action_ONotifyAll,type,(
    wait_set_NotifyAll: 
      !>[W: $tType,T: $tType] :
        ( W > ( wait_set_action @ T @ W ) ) )).

thf(sy_c_FWState_Owait__set__action_OSuspend,type,(
    wait_set_Suspend: 
      !>[W: $tType,T: $tType] :
        ( W > ( wait_set_action @ T @ W ) ) )).

thf(sy_c_FWState_Owait__set__action_OWakeUp,type,(
    wait_set_WakeUp: 
      !>[T: $tType,W: $tType] :
        ( T > ( wait_set_action @ T @ W ) ) )).

thf(sy_c_FWState_Owait__set__action_OWokenUp,type,(
    wait_set_WokenUp: 
      !>[T: $tType,W: $tType] :
        ( wait_set_action @ T @ W ) )).

thf(sy_c_FWState_Owait__set__action_Omap__wait__set__action,type,(
    wait_s8865918783579551590action: 
      !>[T: $tType,Ta: $tType,W: $tType,Wa: $tType] :
        ( ( T > Ta ) > ( W > Wa ) > ( wait_set_action @ T @ W ) > ( wait_set_action @ Ta @ Wa ) ) )).

thf(sy_c_FWState_Owait__set__action_Opred__wait__set__action,type,(
    wait_s752929372302630947action: 
      !>[A: $tType,B: $tType] :
        ( ( A > $o ) > ( B > $o ) > ( wait_set_action @ A @ B ) > $o ) )).

thf(sy_c_FWState_Owait__set__action_Orec__wait__set__action,type,(
    wait_s6484701876979208178action: 
      !>[W: $tType,C: $tType,T: $tType] :
        ( ( W > C ) > ( W > C ) > ( W > C ) > ( T > C ) > C > C > ( wait_set_action @ T @ W ) > C ) )).

thf(sy_c_FWState_Owait__set__action_Orel__wait__set__action,type,(
    wait_s4151587442273979049action: 
      !>[A: $tType,C: $tType,B: $tType,D: $tType] :
        ( ( A > C > $o ) > ( B > D > $o ) > ( wait_set_action @ A @ B ) > ( wait_set_action @ C @ D ) > $o ) )).

thf(sy_c_FWState_Owait__set__action_Oset1__wait__set__action,type,(
    wait_s8753297657872117365action: 
      !>[T: $tType,W: $tType] :
        ( ( wait_set_action @ T @ W ) > ( set @ T ) ) )).

thf(sy_c_FWState_Owait__set__action_Oset2__wait__set__action,type,(
    wait_s6444424490270475060action: 
      !>[T: $tType,W: $tType] :
        ( ( wait_set_action @ T @ W ) > ( set @ W ) ) )).

thf(sy_c_FWState_Owait__set__action_Osize__wait__set__action,type,(
    wait_s6257567816659622979action: 
      !>[T: $tType,W: $tType] :
        ( ( T > nat ) > ( W > nat ) > ( wait_set_action @ T @ W ) > nat ) )).

thf(sy_c_FWState_Owset__a,type,(
    wset_a: 
      !>[L: $tType,T: $tType,X: $tType,M: $tType,W: $tType,O: $tType] :
        ( ( product_prod @ ( finfun @ L @ ( list @ lock_action ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) > ( list @ ( wait_set_action @ T @ W ) ) ) )).

thf(sy_c_Filter_Oeventually,type,(
    eventually: 
      !>[A: $tType] :
        ( ( A > $o ) > ( filter @ A ) > $o ) )).

thf(sy_c_Filter_Ofiltermap,type,(
    filtermap: 
      !>[A: $tType,B: $tType] :
        ( ( A > B ) > ( filter @ A ) > ( filter @ B ) ) )).

thf(sy_c_Filter_Oprod__filter,type,(
    prod_filter: 
      !>[A: $tType,B: $tType] :
        ( ( filter @ A ) > ( filter @ B ) > ( filter @ ( product_prod @ A @ B ) ) ) )).

thf(sy_c_FinFun_Ofinfun,type,(
    finfun2: 
      !>[A: $tType,B: $tType] :
        ( set @ ( A > B ) ) )).

thf(sy_c_FinFun_Ofinfun_OAbs__finfun,type,(
    abs_finfun: 
      !>[A: $tType,B: $tType] :
        ( ( A > B ) > ( finfun @ A @ B ) ) )).

thf(sy_c_FinFun_Ofinfun_Ofinfun__apply,type,(
    finfun_apply: 
      !>[A: $tType,B: $tType] :
        ( ( finfun @ A @ B ) > A > B ) )).

thf(sy_c_FinFun_Ofinfun__Diag,type,(
    finfun_Diag: 
      !>[A: $tType,B: $tType,C: $tType] :
        ( ( finfun @ A @ B ) > ( finfun @ A @ C ) > ( finfun @ A @ ( product_prod @ B @ C ) ) ) )).

thf(sy_c_FinFun_Ofinfun__comp,type,(
    finfun_comp: 
      !>[A: $tType,B: $tType,C: $tType] :
        ( ( A > B ) > ( finfun @ C @ A ) > ( finfun @ C @ B ) ) )).

thf(sy_c_FinFun_Ofinfun__const,type,(
    finfun_const: 
      !>[B: $tType,A: $tType] :
        ( B > ( finfun @ A @ B ) ) )).

thf(sy_c_FinFun_Ofinfun__update,type,(
    finfun_update: 
      !>[A: $tType,B: $tType] :
        ( ( finfun @ A @ B ) > A > B > ( finfun @ A @ B ) ) )).

thf(sy_c_FinFun_Ofinfun__update__code,type,(
    finfun_update_code: 
      !>[A: $tType,B: $tType] :
        ( ( finfun @ A @ B ) > A > B > ( finfun @ A @ B ) ) )).

thf(sy_c_Finite__Set_OFpow,type,(
    finite_Fpow: 
      !>[A: $tType] :
        ( ( set @ A ) > ( set @ ( set @ A ) ) ) )).

thf(sy_c_Finite__Set_Ocomp__fun__commute,type,(
    finite6289374366891150609ommute: 
      !>[A: $tType,B: $tType] :
        ( ( A > B > B ) > $o ) )).

thf(sy_c_Finite__Set_Ofinite,type,(
    finite_finite: 
      !>[A: $tType] :
        ( ( set @ A ) > $o ) )).

thf(sy_c_Finite__Set_Ofold,type,(
    finite_fold: 
      !>[A: $tType,B: $tType] :
        ( ( A > B > B ) > B > ( set @ A ) > B ) )).

thf(sy_c_Fun_Ocomp,type,(
    comp: 
      !>[B: $tType,C: $tType,A: $tType] :
        ( ( B > C ) > ( A > B ) > A > C ) )).

thf(sy_c_Fun_Ofun__upd,type,(
    fun_upd: 
      !>[A: $tType,B: $tType] :
        ( ( A > B ) > A > B > A > B ) )).

thf(sy_c_Fun_Oid,type,(
    id: 
      !>[A: $tType] :
        ( A > A ) )).

thf(sy_c_Fun_Oinj__on,type,(
    inj_on: 
      !>[A: $tType,B: $tType] :
        ( ( A > B ) > ( set @ A ) > $o ) )).

thf(sy_c_Fun_Omap__fun,type,(
    map_fun: 
      !>[C: $tType,A: $tType,B: $tType,D: $tType] :
        ( ( C > A ) > ( B > D ) > ( A > B ) > C > D ) )).

thf(sy_c_Fun__Def_Oin__rel,type,(
    fun_in_rel: 
      !>[A: $tType,B: $tType] :
        ( ( set @ ( product_prod @ A @ B ) ) > A > B > $o ) )).

thf(sy_c_Fun__Def_Opair__leq,type,(
    fun_pair_leq: set @ ( product_prod @ ( product_prod @ nat @ nat ) @ ( product_prod @ nat @ nat ) ) )).

thf(sy_c_Fun__Def_Opair__less,type,(
    fun_pair_less: set @ ( product_prod @ ( product_prod @ nat @ nat ) @ ( product_prod @ nat @ nat ) ) )).

thf(sy_c_Groups_Ominus__class_Ominus,type,(
    minus_minus: 
      !>[A: $tType] :
        ( A > A > A ) )).

thf(sy_c_Groups_Oone__class_Oone,type,(
    one_one: 
      !>[A: $tType] : A )).

thf(sy_c_Groups_Oplus__class_Oplus,type,(
    plus_plus: 
      !>[A: $tType] :
        ( A > A > A ) )).

thf(sy_c_Groups_Otimes__class_Otimes,type,(
    times_times: 
      !>[A: $tType] :
        ( A > A > A ) )).

thf(sy_c_Groups_Ozero__class_Ozero,type,(
    zero_zero: 
      !>[A: $tType] : A )).

thf(sy_c_HOL_OThe,type,(
    the: 
      !>[A: $tType] :
        ( ( A > $o ) > A ) )).

thf(sy_c_Hilbert__Choice_OEps,type,(
    hilbert_Eps: 
      !>[A: $tType] :
        ( ( A > $o ) > A ) )).

thf(sy_c_If,type,(
    if: 
      !>[A: $tType] :
        ( $o > A > A > A ) )).

thf(sy_c_Lattices_Oinf__class_Oinf,type,(
    inf_inf: 
      !>[A: $tType] :
        ( A > A > A ) )).

thf(sy_c_Lattices_Osup__class_Osup,type,(
    sup_sup: 
      !>[A: $tType] :
        ( A > A > A ) )).

thf(sy_c_Lifting_OQuotient,type,(
    quotient: 
      !>[A: $tType,B: $tType] :
        ( ( A > A > $o ) > ( A > B ) > ( B > A ) > ( A > B > $o ) > $o ) )).

thf(sy_c_List_Oappend,type,(
    append: 
      !>[A: $tType] :
        ( ( list @ A ) > ( list @ A ) > ( list @ A ) ) )).

thf(sy_c_List_OdropWhile,type,(
    dropWhile: 
      !>[A: $tType] :
        ( ( A > $o ) > ( list @ A ) > ( list @ A ) ) )).

thf(sy_c_List_Oextract,type,(
    extract: 
      !>[A: $tType] :
        ( ( A > $o ) > ( list @ A ) > ( option @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ ( list @ A ) ) ) ) ) )).

thf(sy_c_List_Olist_OCons,type,(
    cons: 
      !>[A: $tType] :
        ( A > ( list @ A ) > ( list @ A ) ) )).

thf(sy_c_List_Olist_ONil,type,(
    nil: 
      !>[A: $tType] :
        ( list @ A ) )).

thf(sy_c_List_Olist_Ocase__list,type,(
    case_list: 
      !>[B: $tType,A: $tType] :
        ( B > ( A > ( list @ A ) > B ) > ( list @ A ) > B ) )).

thf(sy_c_List_Olist_Omap,type,(
    map: 
      !>[A: $tType,Aa: $tType] :
        ( ( A > Aa ) > ( list @ A ) > ( list @ Aa ) ) )).

thf(sy_c_List_Olist_Orec__list,type,(
    rec_list: 
      !>[C: $tType,A: $tType] :
        ( C > ( A > ( list @ A ) > C > C ) > ( list @ A ) > C ) )).

thf(sy_c_List_Olist_Oset,type,(
    set2: 
      !>[A: $tType] :
        ( ( list @ A ) > ( set @ A ) ) )).

thf(sy_c_List_Omap__tailrec__rev,type,(
    map_tailrec_rev: 
      !>[A: $tType,B: $tType] :
        ( ( A > B ) > ( list @ A ) > ( list @ B ) > ( list @ B ) ) )).

thf(sy_c_List_Omap__tailrec__rev__rel,type,(
    map_tailrec_rev_rel: 
      !>[A: $tType,B: $tType] :
        ( ( product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) > ( product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) > $o ) )).

thf(sy_c_List_OtakeWhile,type,(
    takeWhile: 
      !>[A: $tType] :
        ( ( A > $o ) > ( list @ A ) > ( list @ A ) ) )).

thf(sy_c_List_Ozip,type,(
    zip: 
      !>[A: $tType,B: $tType] :
        ( ( list @ A ) > ( list @ B ) > ( list @ ( product_prod @ A @ B ) ) ) )).

thf(sy_c_Map_Odom,type,(
    dom: 
      !>[A: $tType,B: $tType] :
        ( ( A > ( option @ B ) ) > ( set @ A ) ) )).

thf(sy_c_Nat_OSuc,type,(
    suc: nat > nat )).

thf(sy_c_Nat_Osize__class_Osize,type,(
    size_size: 
      !>[A: $tType] :
        ( A > nat ) )).

thf(sy_c_Num_Onum_OBit0,type,(
    bit0: num > num )).

thf(sy_c_Num_Onum_OBit1,type,(
    bit1: num > num )).

thf(sy_c_Num_Onum_OOne,type,(
    one: num )).

thf(sy_c_Num_Onumeral__class_Onumeral,type,(
    numeral_numeral: 
      !>[A: $tType] :
        ( num > A ) )).

thf(sy_c_Option_Ooption_ONone,type,(
    none: 
      !>[A: $tType] :
        ( option @ A ) )).

thf(sy_c_Option_Ooption_OSome,type,(
    some: 
      !>[A: $tType] :
        ( A > ( option @ A ) ) )).

thf(sy_c_Option_Ooption_Ocase__option,type,(
    case_option: 
      !>[B: $tType,A: $tType] :
        ( B > ( A > B ) > ( option @ A ) > B ) )).

thf(sy_c_Order__Relation_Owell__order__on,type,(
    order_well_order_on: 
      !>[A: $tType] :
        ( ( set @ A ) > ( set @ ( product_prod @ A @ A ) ) > $o ) )).

thf(sy_c_Orderings_Obot__class_Obot,type,(
    bot_bot: 
      !>[A: $tType] : A )).

thf(sy_c_Orderings_Oord__class_Oless,type,(
    ord_less: 
      !>[A: $tType] :
        ( A > A > $o ) )).

thf(sy_c_Orderings_Oord__class_Oless__eq,type,(
    ord_less_eq: 
      !>[A: $tType] :
        ( A > A > $o ) )).

thf(sy_c_Orderings_Oord__class_Omax,type,(
    ord_max: 
      !>[A: $tType] :
        ( A > A > A ) )).

thf(sy_c_Orderings_Oord__class_Omin,type,(
    ord_min: 
      !>[A: $tType] :
        ( A > A > A ) )).

thf(sy_c_Orderings_Otop__class_Otop,type,(
    top_top: 
      !>[A: $tType] : A )).

thf(sy_c_Predicate_OSeq,type,(
    seq2: 
      !>[A: $tType] :
        ( ( product_unit > ( seq @ A ) ) > ( pred @ A ) ) )).

thf(sy_c_Predicate_Obind,type,(
    bind: 
      !>[A: $tType,B: $tType] :
        ( ( pred @ A ) > ( A > ( pred @ B ) ) > ( pred @ B ) ) )).

thf(sy_c_Predicate_Oif__pred,type,(
    if_pred: $o > ( pred @ product_unit ) )).

thf(sy_c_Predicate_Oiterate__upto,type,(
    iterate_upto: 
      !>[A: $tType] :
        ( ( code_natural > A ) > code_natural > code_natural > ( pred @ A ) ) )).

thf(sy_c_Predicate_Oiterate__upto__rel,type,(
    iterate_upto_rel: 
      !>[A: $tType] :
        ( ( product_prod @ ( code_natural > A ) @ ( product_prod @ code_natural @ code_natural ) ) > ( product_prod @ ( code_natural > A ) @ ( product_prod @ code_natural @ code_natural ) ) > $o ) )).

thf(sy_c_Predicate_Oseq_OEmpty,type,(
    empty: 
      !>[A: $tType] :
        ( seq @ A ) )).

thf(sy_c_Predicate_Oseq_OInsert,type,(
    insert: 
      !>[A: $tType] :
        ( A > ( pred @ A ) > ( seq @ A ) ) )).

thf(sy_c_Predicate_Osingle,type,(
    single: 
      !>[A: $tType] :
        ( A > ( pred @ A ) ) )).

thf(sy_c_Product__Type_OPair,type,(
    product_Pair: 
      !>[A: $tType,B: $tType] :
        ( A > B > ( product_prod @ A @ B ) ) )).

thf(sy_c_Product__Type_OSigma,type,(
    product_Sigma: 
      !>[A: $tType,B: $tType] :
        ( ( set @ A ) > ( A > ( set @ B ) ) > ( set @ ( product_prod @ A @ B ) ) ) )).

thf(sy_c_Product__Type_OUnity,type,(
    product_Unity: product_unit )).

thf(sy_c_Product__Type_Oapfst,type,(
    product_apfst: 
      !>[A: $tType,C: $tType,B: $tType] :
        ( ( A > C ) > ( product_prod @ A @ B ) > ( product_prod @ C @ B ) ) )).

thf(sy_c_Product__Type_Oapsnd,type,(
    product_apsnd: 
      !>[B: $tType,C: $tType,A: $tType] :
        ( ( B > C ) > ( product_prod @ A @ B ) > ( product_prod @ A @ C ) ) )).

thf(sy_c_Product__Type_Ocurry,type,(
    product_curry: 
      !>[A: $tType,B: $tType,C: $tType] :
        ( ( ( product_prod @ A @ B ) > C ) > A > B > C ) )).

thf(sy_c_Product__Type_Ointernal__case__prod,type,(
    produc5280177257484947105e_prod: 
      !>[A: $tType,B: $tType,C: $tType] :
        ( ( A > B > C ) > ( product_prod @ A @ B ) > C ) )).

thf(sy_c_Product__Type_Omap__prod,type,(
    product_map_prod: 
      !>[A: $tType,C: $tType,B: $tType,D: $tType] :
        ( ( A > C ) > ( B > D ) > ( product_prod @ A @ B ) > ( product_prod @ C @ D ) ) )).

thf(sy_c_Product__Type_Oold_Obool_Orec__bool,type,(
    product_rec_bool: 
      !>[T: $tType] :
        ( T > T > $o > T ) )).

thf(sy_c_Product__Type_Oold_Oprod_Orec__prod,type,(
    product_rec_prod: 
      !>[A: $tType,B: $tType,T: $tType] :
        ( ( A > B > T ) > ( product_prod @ A @ B ) > T ) )).

thf(sy_c_Product__Type_Oprod_Ocase__prod,type,(
    product_case_prod: 
      !>[A: $tType,B: $tType,C: $tType] :
        ( ( A > B > C ) > ( product_prod @ A @ B ) > C ) )).

thf(sy_c_Product__Type_Oprod_Ofst,type,(
    product_fst: 
      !>[A: $tType,B: $tType] :
        ( ( product_prod @ A @ B ) > A ) )).

thf(sy_c_Product__Type_Oprod_Osnd,type,(
    product_snd: 
      !>[A: $tType,B: $tType] :
        ( ( product_prod @ A @ B ) > B ) )).

thf(sy_c_Product__Type_Oprod_Oswap,type,(
    product_swap: 
      !>[A: $tType,B: $tType] :
        ( ( product_prod @ A @ B ) > ( product_prod @ B @ A ) ) )).

thf(sy_c_Product__Type_Oproduct,type,(
    product_product: 
      !>[A: $tType,B: $tType] :
        ( ( set @ A ) > ( set @ B ) > ( set @ ( product_prod @ A @ B ) ) ) )).

thf(sy_c_Product__Type_Oscomp,type,(
    product_scomp: 
      !>[A: $tType,B: $tType,C: $tType,D: $tType] :
        ( ( A > ( product_prod @ B @ C ) ) > ( B > C > D ) > A > D ) )).

thf(sy_c_Product__Type_Ounit_Ocase__unit,type,(
    product_case_unit: 
      !>[A: $tType] :
        ( A > product_unit > A ) )).

thf(sy_c_Pure_Otype,type,(
    type2: 
      !>[A: $tType] :
        ( itself @ A ) )).

thf(sy_c_Random_Oinc__shift,type,(
    inc_shift: code_natural > code_natural > code_natural )).

thf(sy_c_Random_Oiterate,type,(
    iterate: 
      !>[B: $tType,A: $tType] :
        ( code_natural > ( B > A > ( product_prod @ B @ A ) ) > B > A > ( product_prod @ B @ A ) ) )).

thf(sy_c_Random_Oiterate__rel,type,(
    iterate_rel: 
      !>[B: $tType,A: $tType] :
        ( ( product_prod @ code_natural @ ( product_prod @ ( B > A > ( product_prod @ B @ A ) ) @ B ) ) > ( product_prod @ code_natural @ ( product_prod @ ( B > A > ( product_prod @ B @ A ) ) @ B ) ) > $o ) )).

thf(sy_c_Random_Ominus__shift,type,(
    minus_shift: code_natural > code_natural > code_natural > code_natural )).

thf(sy_c_Random_Onext,type,(
    next: ( product_prod @ code_natural @ code_natural ) > ( product_prod @ code_natural @ ( product_prod @ code_natural @ code_natural ) ) )).

thf(sy_c_Random_Osplit__seed,type,(
    split_seed: ( product_prod @ code_natural @ code_natural ) > ( product_prod @ ( product_prod @ code_natural @ code_natural ) @ ( product_prod @ code_natural @ code_natural ) ) )).

thf(sy_c_Relation_ODomainp,type,(
    domainp: 
      !>[A: $tType,B: $tType] :
        ( ( A > B > $o ) > A > $o ) )).

thf(sy_c_Relation_OField,type,(
    field: 
      !>[A: $tType] :
        ( ( set @ ( product_prod @ A @ A ) ) > ( set @ A ) ) )).

thf(sy_c_Relation_OId,type,(
    id2: 
      !>[A: $tType] :
        ( set @ ( product_prod @ A @ A ) ) )).

thf(sy_c_Relation_OId__on,type,(
    id_on: 
      !>[A: $tType] :
        ( ( set @ A ) > ( set @ ( product_prod @ A @ A ) ) ) )).

thf(sy_c_Relation_OImage,type,(
    image: 
      !>[A: $tType,B: $tType] :
        ( ( set @ ( product_prod @ A @ B ) ) > ( set @ A ) > ( set @ B ) ) )).

thf(sy_c_Relation_Oconverse,type,(
    converse: 
      !>[A: $tType,B: $tType] :
        ( ( set @ ( product_prod @ A @ B ) ) > ( set @ ( product_prod @ B @ A ) ) ) )).

thf(sy_c_Relation_Oconversep,type,(
    conversep: 
      !>[A: $tType,B: $tType] :
        ( ( A > B > $o ) > B > A > $o ) )).

thf(sy_c_Relation_Orefl__on,type,(
    refl_on: 
      !>[A: $tType] :
        ( ( set @ A ) > ( set @ ( product_prod @ A @ A ) ) > $o ) )).

thf(sy_c_Relation_Oreflp,type,(
    reflp: 
      !>[A: $tType] :
        ( ( A > A > $o ) > $o ) )).

thf(sy_c_Relation_Orelcomp,type,(
    relcomp: 
      !>[A: $tType,B: $tType,C: $tType] :
        ( ( set @ ( product_prod @ A @ B ) ) > ( set @ ( product_prod @ B @ C ) ) > ( set @ ( product_prod @ A @ C ) ) ) )).

thf(sy_c_Relation_Orelcompp,type,(
    relcompp: 
      !>[A: $tType,B: $tType,C: $tType] :
        ( ( A > B > $o ) > ( B > C > $o ) > A > C > $o ) )).

thf(sy_c_Relation_Osymp,type,(
    symp: 
      !>[A: $tType] :
        ( ( A > A > $o ) > $o ) )).

thf(sy_c_Relation_Ototal__on,type,(
    total_on: 
      !>[A: $tType] :
        ( ( set @ A ) > ( set @ ( product_prod @ A @ A ) ) > $o ) )).

thf(sy_c_Relation_Otransp,type,(
    transp: 
      !>[A: $tType] :
        ( ( A > A > $o ) > $o ) )).

thf(sy_c_Rings_Odivide__class_Odivide,type,(
    divide_divide: 
      !>[A: $tType] :
        ( A > A > A ) )).

thf(sy_c_Rings_Omodulo__class_Omodulo,type,(
    modulo_modulo: 
      !>[A: $tType] :
        ( A > A > A ) )).

thf(sy_c_Set_OBall,type,(
    ball: 
      !>[A: $tType] :
        ( ( set @ A ) > ( A > $o ) > $o ) )).

thf(sy_c_Set_OCollect,type,(
    collect: 
      !>[A: $tType] :
        ( ( A > $o ) > ( set @ A ) ) )).

thf(sy_c_Set_OPow,type,(
    pow: 
      !>[A: $tType] :
        ( ( set @ A ) > ( set @ ( set @ A ) ) ) )).

thf(sy_c_Set_Oimage,type,(
    image2: 
      !>[A: $tType,B: $tType] :
        ( ( A > B ) > ( set @ A ) > ( set @ B ) ) )).

thf(sy_c_Set_Oinsert,type,(
    insert2: 
      !>[A: $tType] :
        ( A > ( set @ A ) > ( set @ A ) ) )).

thf(sy_c_Set__Interval_Ofold__atLeastAtMost__nat,type,(
    set_fo6178422350223883121st_nat: 
      !>[A: $tType] :
        ( ( nat > A > A ) > nat > nat > A > A ) )).

thf(sy_c_Set__Interval_Ofold__atLeastAtMost__nat__rel,type,(
    set_fo1817059534552279752at_rel: 
      !>[A: $tType] :
        ( ( product_prod @ ( nat > A > A ) @ ( product_prod @ nat @ ( product_prod @ nat @ A ) ) ) > ( product_prod @ ( nat > A > A ) @ ( product_prod @ nat @ ( product_prod @ nat @ A ) ) ) > $o ) )).

thf(sy_c_String_OLiteral,type,(
    literal2: $o > $o > $o > $o > $o > $o > $o > literal > literal )).

thf(sy_c_Transfer_ORel,type,(
    rel: 
      !>[A: $tType,B: $tType] :
        ( ( A > B > $o ) > A > B > $o ) )).

thf(sy_c_Transfer_Obi__total,type,(
    bi_total: 
      !>[A: $tType,B: $tType] :
        ( ( A > B > $o ) > $o ) )).

thf(sy_c_Transfer_Obi__unique,type,(
    bi_unique: 
      !>[A: $tType,B: $tType] :
        ( ( A > B > $o ) > $o ) )).

thf(sy_c_Transfer_Ois__equality,type,(
    is_equality: 
      !>[A: $tType] :
        ( ( A > A > $o ) > $o ) )).

thf(sy_c_Transfer_Oleft__total,type,(
    left_total: 
      !>[A: $tType,B: $tType] :
        ( ( A > B > $o ) > $o ) )).

thf(sy_c_Transfer_Oleft__unique,type,(
    left_unique: 
      !>[A: $tType,B: $tType] :
        ( ( A > B > $o ) > $o ) )).

thf(sy_c_Transfer_Oright__total,type,(
    right_total: 
      !>[A: $tType,B: $tType] :
        ( ( A > B > $o ) > $o ) )).

thf(sy_c_Transfer_Oright__unique,type,(
    right_unique: 
      !>[A: $tType,B: $tType] :
        ( ( A > B > $o ) > $o ) )).

thf(sy_c_Transfer_Otransfer__forall,type,(
    transfer_forall: 
      !>[A: $tType] :
        ( ( A > $o ) > $o ) )).

thf(sy_c_Transitive__Closure_Oacyclic,type,(
    transitive_acyclic: 
      !>[A: $tType] :
        ( ( set @ ( product_prod @ A @ A ) ) > $o ) )).

thf(sy_c_Transitive__Closure_Ortrancl,type,(
    transitive_rtrancl: 
      !>[A: $tType] :
        ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ A @ A ) ) ) )).

thf(sy_c_Transitive__Closure_Ortranclp,type,(
    transitive_rtranclp: 
      !>[A: $tType] :
        ( ( A > A > $o ) > A > A > $o ) )).

thf(sy_c_Transitive__Closure_Otrancl,type,(
    transitive_trancl: 
      !>[A: $tType] :
        ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ A @ A ) ) ) )).

thf(sy_c_Transitive__Closure_Otranclp,type,(
    transitive_tranclp: 
      !>[A: $tType] :
        ( ( A > A > $o ) > A > A > $o ) )).

thf(sy_c_Transitive__Closure__Table_Ortrancl__tab__FioB__i__i__i,type,(
    transi8253828792423813248_i_i_i: 
      !>[A: $tType] :
        ( ( A > ( pred @ A ) ) > ( list @ A ) > A > A > ( pred @ product_unit ) ) )).

thf(sy_c_Transitive__Closure__Table_Ortrancl__tab__FooB__i__i__i,type,(
    transi4439934788793893114_i_i_i: 
      !>[A: $tType] :
        ( ( pred @ ( product_prod @ A @ A ) ) > ( list @ A ) > A > A > ( pred @ product_unit ) ) )).

thf(sy_c_Transitive__Closure__Table_Ortrancl__tab__FooB__i__o__i,type,(
    transi4441628513830593908_i_o_i: 
      !>[A: $tType] :
        ( ( pred @ ( product_prod @ A @ A ) ) > ( list @ A ) > A > ( pred @ A ) ) )).

thf(sy_c_Typedef_Otype__definition,type,(
    type_definition: 
      !>[B: $tType,A: $tType] :
        ( ( B > A ) > ( A > B ) > ( set @ A ) > $o ) )).

thf(sy_c_Typerep_Otyperep_OTyperep,type,(
    typerep3: literal > ( list @ typerep ) > typerep )).

thf(sy_c_Typerep_Otyperep__class_Otyperep,type,(
    typerep_typerep: 
      !>[A: $tType] :
        ( ( itself @ A ) > typerep ) )).

thf(sy_c_Wellfounded_Oaccp,type,(
    accp: 
      !>[A: $tType] :
        ( ( A > A > $o ) > A > $o ) )).

thf(sy_c_Wellfounded_Oless__than,type,(
    less_than: set @ ( product_prod @ nat @ nat ) )).

thf(sy_c_Wellfounded_Olex__prod,type,(
    lex_prod: 
      !>[A: $tType,B: $tType] :
        ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ B @ B ) ) > ( set @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) ) )).

thf(sy_c_Wfrec_Osame__fst,type,(
    same_fst: 
      !>[A: $tType,B: $tType] :
        ( ( A > $o ) > ( A > ( set @ ( product_prod @ B @ B ) ) ) > ( set @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) ) ) )).

thf(sy_c_member,type,(
    member: 
      !>[A: $tType] :
        ( A > ( set @ A ) > $o ) )).

thf(sy_v_jswss,type,(
    jswss: product_prod @ ( list @ ( conditional_action @ a ) ) @ ( product_prod @ ( list @ ( wait_set_action @ a @ e ) ) @ ( product_prod @ ( list @ ( interrupt_action @ a ) ) @ ( list @ f ) ) ) )).

thf(sy_v_ls,type,(
    ls: finfun @ d @ ( list @ lock_action ) )).

thf(sy_v_nts,type,(
    nts: list @ ( new_thread_action @ a @ b @ c ) )).

% Relevant facts (1022)
thf(fact_0_locks__a__conv,axiom,(
    ! [B: $tType,C: $tType,D: $tType,E: $tType,F: $tType,A: $tType,Ls: finfun @ A @ ( list @ lock_action ),Ntsjswss: product_prod @ ( list @ ( new_thread_action @ B @ C @ D ) ) @ ( product_prod @ ( list @ ( conditional_action @ B ) ) @ ( product_prod @ ( list @ ( wait_set_action @ B @ E ) ) @ ( product_prod @ ( list @ ( interrupt_action @ B ) ) @ ( list @ F ) ) ) )] :
      ( ( locks_a @ A @ B @ C @ D @ E @ F @ ( product_Pair @ ( finfun @ A @ ( list @ lock_action ) ) @ ( product_prod @ ( list @ ( new_thread_action @ B @ C @ D ) ) @ ( product_prod @ ( list @ ( conditional_action @ B ) ) @ ( product_prod @ ( list @ ( wait_set_action @ B @ E ) ) @ ( product_prod @ ( list @ ( interrupt_action @ B ) ) @ ( list @ F ) ) ) ) ) @ Ls @ Ntsjswss ) )
      = Ls ) )).

% locks_a_conv
thf(fact_1_locks__a__def,axiom,(
    ! [O: $tType,W: $tType,M: $tType,X: $tType,T: $tType,L: $tType] :
      ( ( locks_a @ L @ T @ X @ M @ W @ O )
      = ( product_fst @ ( finfun @ L @ ( list @ lock_action ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) ) )).

% locks_a_def
thf(fact_2_prod__cases6,axiom,(
    ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) )] :
      ~ ! [A2: A,B2: B,C2: C,D2: D,E2: E,F2: F] :
          ( Y
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ F ) @ D2 @ ( product_Pair @ E @ F @ E2 @ F2 ) ) ) ) ) ) )).

% prod_cases6
thf(fact_3_prod__cases7,axiom,(
    ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F: $tType,G: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G ) ) ) ) )] :
      ~ ! [A2: A,B2: B,C2: C,D2: D,E2: E,F2: F,G2: G] :
          ( Y
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G ) ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G ) ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G ) ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F @ G ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F @ G ) @ E2 @ ( product_Pair @ F @ G @ F2 @ G2 ) ) ) ) ) ) ) )).

% prod_cases7
thf(fact_4_thr__a__def,axiom,(
    ! [O: $tType,W: $tType,M: $tType,X: $tType,T: $tType,L: $tType] :
      ( ( thr_a @ L @ T @ X @ M @ W @ O )
      = ( comp @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( finfun @ L @ ( list @ lock_action ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) @ ( product_fst @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) @ ( product_snd @ ( finfun @ L @ ( list @ lock_action ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) ) ) )).

% thr_a_def
thf(fact_5_fst__conv,axiom,(
    ! [B: $tType,A: $tType,X1: A,X2: B] :
      ( ( product_fst @ A @ B @ ( product_Pair @ A @ B @ X1 @ X2 ) )
      = X1 ) )).

% fst_conv
thf(fact_6_prod__induct6,axiom,(
    ! [F: $tType,E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) )] :
      ( ! [A2: A,B2: B,C2: C,D2: D,E2: E,F2: F] :
          ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ F ) @ D2 @ ( product_Pair @ E @ F @ E2 @ F2 ) ) ) ) ) )
     => ( P @ X3 ) ) )).

% prod_induct6
thf(fact_7_prod__induct7,axiom,(
    ! [G: $tType,F: $tType,E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G ) ) ) ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G ) ) ) ) )] :
      ( ! [A2: A,B2: B,C2: C,D2: D,E2: E,F2: F,G2: G] :
          ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G ) ) ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G ) ) ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F @ G ) ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F @ G ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F @ G ) @ E2 @ ( product_Pair @ F @ G @ F2 @ G2 ) ) ) ) ) ) )
     => ( P @ X3 ) ) )).

% prod_induct7
thf(fact_8_obs__a__def,axiom,(
    ! [O: $tType,W: $tType,M: $tType,X: $tType,T: $tType,L: $tType] :
      ( ( obs_a @ L @ T @ X @ M @ W @ O )
      = ( comp @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) @ ( list @ O ) @ ( product_prod @ ( finfun @ L @ ( list @ lock_action ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) @ ( comp @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) @ ( list @ O ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) @ ( comp @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) @ ( list @ O ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) @ ( comp @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) @ ( list @ O ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) @ ( product_snd @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) @ ( product_snd @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) @ ( product_snd @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) @ ( product_snd @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) @ ( product_snd @ ( finfun @ L @ ( list @ lock_action ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) ) ) )).

% obs_a_def
thf(fact_9_prod__cases5,axiom,(
    ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
      ~ ! [A2: A,B2: B,C2: C,D2: D,E2: E] :
          ( Y
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C2 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) ) )).

% prod_cases5
thf(fact_10_cond__a__def,axiom,(
    ! [O: $tType,W: $tType,M: $tType,X: $tType,T: $tType,L: $tType] :
      ( ( cond_a @ L @ T @ X @ M @ W @ O )
      = ( comp @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( finfun @ L @ ( list @ lock_action ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) @ ( comp @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) @ ( product_fst @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) @ ( product_snd @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) @ ( product_snd @ ( finfun @ L @ ( list @ lock_action ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) ) ) )).

% cond_a_def
thf(fact_11_prod__induct5,axiom,(
    ! [E: $tType,D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
      ( ! [A2: A,B2: B,C2: C,D2: D,E2: E] :
          ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B2 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C2 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) )
     => ( P @ X3 ) ) )).

% prod_induct5
thf(fact_12_interrupt__a__def,axiom,(
    ! [O: $tType,W: $tType,M: $tType,X: $tType,T: $tType,L: $tType] :
      ( ( interrupt_a @ L @ T @ X @ M @ W @ O )
      = ( comp @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) @ ( list @ ( interrupt_action @ T ) ) @ ( product_prod @ ( finfun @ L @ ( list @ lock_action ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) @ ( comp @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) @ ( list @ ( interrupt_action @ T ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) @ ( comp @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) @ ( list @ ( interrupt_action @ T ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) @ ( comp @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) @ ( list @ ( interrupt_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) @ ( product_fst @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) @ ( product_snd @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) @ ( product_snd @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) @ ( product_snd @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) @ ( product_snd @ ( finfun @ L @ ( list @ lock_action ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) ) ) )).

% interrupt_a_def
thf(fact_13_prod__cases4,axiom,(
    ! [A: $tType,B: $tType,C: $tType,D: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
      ~ ! [A2: A,B2: B,C2: C,D2: D] :
          ( Y
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B2 @ ( product_Pair @ C @ D @ C2 @ D2 ) ) ) ) )).

% prod_cases4
thf(fact_14_wset__a__def,axiom,(
    ! [O: $tType,W: $tType,M: $tType,X: $tType,T: $tType,L: $tType] :
      ( ( wset_a @ L @ T @ X @ M @ W @ O )
      = ( comp @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( finfun @ L @ ( list @ lock_action ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) @ ( comp @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) @ ( comp @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) @ ( product_fst @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) @ ( product_snd @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) @ ( product_snd @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) @ ( product_snd @ ( finfun @ L @ ( list @ lock_action ) ) @ ( product_prod @ ( list @ ( new_thread_action @ T @ X @ M ) ) @ ( product_prod @ ( list @ ( conditional_action @ T ) ) @ ( product_prod @ ( list @ ( wait_set_action @ T @ W ) ) @ ( product_prod @ ( list @ ( interrupt_action @ T ) ) @ ( list @ O ) ) ) ) ) ) ) ) )).

% wset_a_def
thf(fact_15_old_Oprod_Oinject,axiom,(
    ! [A: $tType,B: $tType,A3: A,B3: B,A4: A,B4: B] :
      ( ( ( product_Pair @ A @ B @ A3 @ B3 )
        = ( product_Pair @ A @ B @ A4 @ B4 ) )
      = ( ( A3 = A4 )
        & ( B3 = B4 ) ) ) )).

% old.prod.inject
thf(fact_16_prod__induct4,axiom,(
    ! [D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
      ( ! [A2: A,B2: B,C2: C,D2: D] :
          ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B2 @ ( product_Pair @ C @ D @ C2 @ D2 ) ) ) )
     => ( P @ X3 ) ) )).

% prod_induct4
thf(fact_17_prod_Oinject,axiom,(
    ! [A: $tType,B: $tType,X1: A,X2: B,Y1: A,Y2: B] :
      ( ( ( product_Pair @ A @ B @ X1 @ X2 )
        = ( product_Pair @ A @ B @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) )).

% prod.inject
thf(fact_18_prod__cases3,axiom,(
    ! [A: $tType,B: $tType,C: $tType,Y: product_prod @ A @ ( product_prod @ B @ C )] :
      ~ ! [A2: A,B2: B,C2: C] :
          ( Y
         != ( product_Pair @ A @ ( product_prod @ B @ C ) @ A2 @ ( product_Pair @ B @ C @ B2 @ C2 ) ) ) )).

% prod_cases3
thf(fact_19_eq__onp__same__args,axiom,(
    ! [A: $tType,P: A > $o,X3: A] :
      ( ( bNF_eq_onp @ A @ P @ X3 @ X3 )
      = ( P @ X3 ) ) )).

% eq_onp_same_args
thf(fact_20_old_Oprod_Oexhaust,axiom,(
    ! [A: $tType,B: $tType,Y: product_prod @ A @ B] :
      ~ ! [A2: A,B2: B] :
          ( Y
         != ( product_Pair @ A @ B @ A2 @ B2 ) ) )).

% old.prod.exhaust
thf(fact_21_id__apply,axiom,(
    ! [A: $tType] :
      ( ( id @ A )
      = ( ^ [X4: A] : X4 ) ) )).

% id_apply
thf(fact_22_internal__case__prod__conv,axiom,(
    ! [B: $tType,A: $tType,C: $tType,C3: B > C > A,A3: B,B3: C] :
      ( ( produc5280177257484947105e_prod @ B @ C @ A @ C3 @ ( product_Pair @ B @ C @ A3 @ B3 ) )
      = ( C3 @ A3 @ B3 ) ) )).

% internal_case_prod_conv
thf(fact_23_lock__action_Osize_I5_J,axiom,
    ( ( size_size @ lock_action @ lock_Lock )
    = ( zero_zero @ nat ) )).

% lock_action.size(5)
thf(fact_24_typerep__lock__action__def,axiom,
    ( ( typerep_typerep @ lock_action )
    = ( ^ [T2: itself @ lock_action] :
          ( typerep3 @ ( literal2 @ $false @ $true @ $true @ $false @ $false @ $false @ $true @ ( literal2 @ $true @ $true @ $true @ $false @ $true @ $false @ $true @ ( literal2 @ $true @ $true @ $false @ $false @ $true @ $false @ $true @ ( literal2 @ $false @ $false @ $true @ $false @ $true @ $true @ $true @ ( literal2 @ $true @ $false @ $false @ $false @ $false @ $true @ $true @ ( literal2 @ $false @ $false @ $true @ $false @ $true @ $true @ $true @ ( literal2 @ $true @ $false @ $true @ $false @ $false @ $true @ $true @ ( literal2 @ $false @ $true @ $true @ $true @ $false @ $true @ $false @ ( literal2 @ $false @ $false @ $true @ $true @ $false @ $true @ $true @ ( literal2 @ $true @ $true @ $true @ $true @ $false @ $true @ $true @ ( literal2 @ $true @ $true @ $false @ $false @ $false @ $true @ $true @ ( literal2 @ $true @ $true @ $false @ $true @ $false @ $true @ $true @ ( literal2 @ $true @ $true @ $true @ $true @ $true @ $false @ $true @ ( literal2 @ $true @ $false @ $false @ $false @ $false @ $true @ $true @ ( literal2 @ $true @ $true @ $false @ $false @ $false @ $true @ $true @ ( literal2 @ $false @ $false @ $true @ $false @ $true @ $true @ $true @ ( literal2 @ $true @ $false @ $false @ $true @ $false @ $true @ $true @ ( literal2 @ $true @ $true @ $true @ $true @ $false @ $true @ $true @ ( literal2 @ $false @ $true @ $true @ $true @ $false @ $true @ $true @ ( zero_zero @ literal ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( nil @ typerep ) ) ) )).

% typerep_lock_action_def
thf(fact_25_prod__induct3,axiom,(
    ! [C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,X3: product_prod @ A @ ( product_prod @ B @ C )] :
      ( ! [A2: A,B2: B,C2: C] :
          ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A2 @ ( product_Pair @ B @ C @ B2 @ C2 ) ) )
     => ( P @ X3 ) ) )).

% prod_induct3
thf(fact_26_old_Oprod_Oinducts,axiom,(
    ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
      ( ! [A2: A,B2: B] :
          ( P @ ( product_Pair @ A @ B @ A2 @ B2 ) )
     => ( P @ Prod ) ) )).

% old.prod.inducts
thf(fact_27_ge__eq__refl,axiom,(
    ! [A: $tType,R: A > A > $o,X3: A] :
      ( ( ord_less_eq @ ( A > A > $o )
        @ ^ [Y3: A,Z: A] : ( Y3 = Z )
        @ R )
     => ( R @ X3 @ X3 ) ) )).

% ge_eq_refl
thf(fact_28_mem__Collect__eq,axiom,(
    ! [A: $tType,A3: A,P: A > $o] :
      ( ( member @ A @ A3 @ ( collect @ A @ P ) )
      = ( P @ A3 ) ) )).

% mem_Collect_eq
thf(fact_29_lock__action_Osize_I6_J,axiom,
    ( ( size_size @ lock_action @ lock_Unlock )
    = ( zero_zero @ nat ) )).

% lock_action.size(6)
thf(fact_30_Pair__inject,axiom,(
    ! [A: $tType,B: $tType,A3: A,B3: B,A4: A,B4: B] :
      ( ( ( product_Pair @ A @ B @ A3 @ B3 )
        = ( product_Pair @ A @ B @ A4 @ B4 ) )
     => ~ ( ( A3 = A4 )
         => ( B3 != B4 ) ) ) )).

% Pair_inject
thf(fact_31_lock__action_Osize_I7_J,axiom,
    ( ( size_size @ lock_action @ lock_UnlockFail )
    = ( zero_zero @ nat ) )).

% lock_action.size(7)
thf(fact_32_prod__cases,axiom,(
    ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P2: product_prod @ A @ B] :
      ( ! [A2: A,B2: B] :
          ( P @ ( product_Pair @ A @ B @ A2 @ B2 ) )
     => ( P @ P2 ) ) )).

% prod_cases
thf(fact_33_surj__pair,axiom,(
    ! [A: $tType,B: $tType,P2: product_prod @ A @ B] :
    ? [X5: A,Y4: B] :
      ( P2
      = ( product_Pair @ A @ B @ X5 @ Y4 ) ) )).

% surj_pair
thf(fact_34_lock__action_Osize_I8_J,axiom,
    ( ( size_size @ lock_action @ lock_ReleaseAcquire )
    = ( zero_zero @ nat ) )).

% lock_action.size(8)
thf(fact_35_ord__eq__le__trans,axiom,(
    ! [A: $tType] :
      ( ( ord @ A )
     => ! [A3: A,B3: A,C3: A] :
          ( ( A3 = B3 )
         => ( ( ord_less_eq @ A @ B3 @ C3 )
           => ( ord_less_eq @ A @ A3 @ C3 ) ) ) ) )).

% ord_eq_le_trans
thf(fact_36_vimage2p__def,axiom,(
    ! [B: $tType,E: $tType,C: $tType,D: $tType,A: $tType] :
      ( ( bNF_vimage2p @ A @ D @ B @ E @ C )
      = ( ^ [F3: A > D,G3: B > E,R2: D > E > C,X4: A,Y5: B] :
            ( R2 @ ( F3 @ X4 ) @ ( G3 @ Y5 ) ) ) ) )).

% vimage2p_def
thf(fact_37_comp__eq__dest,axiom,(
    ! [C: $tType,B: $tType,D: $tType,A: $tType,A3: C > B,B3: A > C,C3: D > B,D3: A > D,V: A] :
      ( ( ( comp @ C @ B @ A @ A3 @ B3 )
        = ( comp @ D @ B @ A @ C3 @ D3 ) )
     => ( ( A3 @ ( B3 @ V ) )
        = ( C3 @ ( D3 @ V ) ) ) ) )).

% comp_eq_dest
thf(fact_38_old_Oprod_Orec,axiom,(
    ! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A3: A,B3: B] :
      ( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A3 @ B3 ) )
      = ( F1 @ A3 @ B3 ) ) )).

% old.prod.rec
thf(fact_39_id__def,axiom,(
    ! [A: $tType] :
      ( ( id @ A )
      = ( ^ [X4: A] : X4 ) ) )).

% id_def
thf(fact_40_tranclp__induct4,axiom,(
    ! [C: $tType,A: $tType,B: $tType,D: $tType,R3: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) > ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) > $o,Ax: A,Ay: B,Az: C,Aw: D,Bx: A,By: B,Bz: C,Bw: D,P: A > B > C > D > $o] :
      ( ( transitive_tranclp @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) @ R3 @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ Ax @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ Ay @ ( product_Pair @ C @ D @ Az @ Aw ) ) ) @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ Bx @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ By @ ( product_Pair @ C @ D @ Bz @ Bw ) ) ) )
     => ( ! [A2: A,Aa2: B,Ab: C,B2: D] :
            ( ( R3 @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ Ax @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ Ay @ ( product_Pair @ C @ D @ Az @ Aw ) ) ) @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ Aa2 @ ( product_Pair @ C @ D @ Ab @ B2 ) ) ) )
           => ( P @ A2 @ Aa2 @ Ab @ B2 ) )
       => ( ! [A2: A,Aa2: B,Ab: C,B2: D,Ac: A,Ad: B,Ae: C,Ba: D] :
              ( ( transitive_tranclp @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) @ R3 @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ Ax @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ Ay @ ( product_Pair @ C @ D @ Az @ Aw ) ) ) @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ Aa2 @ ( product_Pair @ C @ D @ Ab @ B2 ) ) ) )
             => ( ( R3 @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ Aa2 @ ( product_Pair @ C @ D @ Ab @ B2 ) ) ) @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ Ac @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ Ad @ ( product_Pair @ C @ D @ Ae @ Ba ) ) ) )
               => ( ( P @ A2 @ Aa2 @ Ab @ B2 )
                 => ( P @ Ac @ Ad @ Ae @ Ba ) ) ) )
         => ( P @ Bx @ By @ Bz @ Bw ) ) ) ) )).

% tranclp_induct4
thf(fact_41_comp__eq__dest__lhs,axiom,(
    ! [C: $tType,B: $tType,A: $tType,A3: C > B,B3: A > C,C3: A > B,V: A] :
      ( ( ( comp @ C @ B @ A @ A3 @ B3 )
        = C3 )
     => ( ( A3 @ ( B3 @ V ) )
        = ( C3 @ V ) ) ) )).

% comp_eq_dest_lhs
thf(fact_42_old_Oprod_Ocase,axiom,(
    ! [A: $tType,C: $tType,B: $tType,F4: A > B > C,X1: A,X2: B] :
      ( ( product_case_prod @ A @ B @ C @ F4 @ ( product_Pair @ A @ B @ X1 @ X2 ) )
      = ( F4 @ X1 @ X2 ) ) )).

% old.prod.case
thf(fact_43_conversep__iff,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( conversep @ A @ B )
      = ( ^ [R4: A > B > $o,A5: B,B5: A] :
            ( R4 @ B5 @ A5 ) ) ) )).

% conversep_iff
thf(fact_44_ssubst__Pair__rhs,axiom,(
    ! [B: $tType,A: $tType,R3: A,S: B,R: set @ ( product_prod @ A @ B ),S2: B] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R3 @ S ) @ R )
     => ( ( S2 = S )
       => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R3 @ S2 ) @ R ) ) ) )).

% ssubst_Pair_rhs
thf(fact_45_lock__action_Osize_I1_J,axiom,
    ( ( lock_s5444299122428672615action @ lock_Lock )
    = ( zero_zero @ nat ) )).

% lock_action.size(1)
thf(fact_46_curry__conv,axiom,(
    ! [A: $tType,C: $tType,B: $tType] :
      ( ( product_curry @ B @ C @ A )
      = ( ^ [F3: ( product_prod @ B @ C ) > A,A5: B,B5: C] :
            ( F3 @ ( product_Pair @ B @ C @ A5 @ B5 ) ) ) ) )).

% curry_conv
thf(fact_47_rtranclp__induct4,axiom,(
    ! [C: $tType,A: $tType,B: $tType,D: $tType,R3: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) > ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) > $o,Ax: A,Ay: B,Az: C,Aw: D,Bx: A,By: B,Bz: C,Bw: D,P: A > B > C > D > $o] :
      ( ( transitive_rtranclp @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) @ R3 @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ Ax @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ Ay @ ( product_Pair @ C @ D @ Az @ Aw ) ) ) @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ Bx @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ By @ ( product_Pair @ C @ D @ Bz @ Bw ) ) ) )
     => ( ( P @ Ax @ Ay @ Az @ Aw )
       => ( ! [A2: A,Aa2: B,Ab: C,B2: D,Ac: A,Ad: B,Ae: C,Ba: D] :
              ( ( transitive_rtranclp @ ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) @ R3 @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ Ax @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ Ay @ ( product_Pair @ C @ D @ Az @ Aw ) ) ) @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ Aa2 @ ( product_Pair @ C @ D @ Ab @ B2 ) ) ) )
             => ( ( R3 @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A2 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ Aa2 @ ( product_Pair @ C @ D @ Ab @ B2 ) ) ) @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ Ac @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ Ad @ ( product_Pair @ C @ D @ Ae @ Ba ) ) ) )
               => ( ( P @ A2 @ Aa2 @ Ab @ B2 )
                 => ( P @ Ac @ Ad @ Ae @ Ba ) ) ) )
         => ( P @ Bx @ By @ Bz @ Bw ) ) ) ) )).

% rtranclp_induct4
thf(fact_48_swap__simp,axiom,(
    ! [A: $tType,B: $tType,X3: B,Y: A] :
      ( ( product_swap @ B @ A @ ( product_Pair @ B @ A @ X3 @ Y ) )
      = ( product_Pair @ A @ B @ Y @ X3 ) ) )).

% swap_simp
thf(fact_49_lock__action_Osize_I2_J,axiom,
    ( ( lock_s5444299122428672615action @ lock_Unlock )
    = ( zero_zero @ nat ) )).

% lock_action.size(2)
thf(fact_50_curryI,axiom,(
    ! [A: $tType,B: $tType,F4: ( product_prod @ A @ B ) > $o,A3: A,B3: B] :
      ( ( F4 @ ( product_Pair @ A @ B @ A3 @ B3 ) )
     => ( product_curry @ A @ B @ $o @ F4 @ A3 @ B3 ) ) )).

% curryI
thf(fact_51_predicate2D,axiom,(
    ! [A: $tType,B: $tType,P: A > B > $o,Q: A > B > $o,X3: A,Y: B] :
      ( ( ord_less_eq @ ( A > B > $o ) @ P @ Q )
     => ( ( P @ X3 @ Y )
       => ( Q @ X3 @ Y ) ) ) )).

% predicate2D
thf(fact_52_rtranclp__induct3,axiom,(
    ! [B: $tType,A: $tType,C: $tType,R3: ( product_prod @ A @ ( product_prod @ B @ C ) ) > ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,Ax: A,Ay: B,Az: C,Bx: A,By: B,Bz: C,P: A > B > C > $o] :
      ( ( transitive_rtranclp @ ( product_prod @ A @ ( product_prod @ B @ C ) ) @ R3 @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ Ax @ ( product_Pair @ B @ C @ Ay @ Az ) ) @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ Bx @ ( product_Pair @ B @ C @ By @ Bz ) ) )
     => ( ( P @ Ax @ Ay @ Az )
       => ( ! [A2: A,Aa2: B,B2: C,Ab: A,Ac: B,Ba: C] :
              ( ( transitive_rtranclp @ ( product_prod @ A @ ( product_prod @ B @ C ) ) @ R3 @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ Ax @ ( product_Pair @ B @ C @ Ay @ Az ) ) @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A2 @ ( product_Pair @ B @ C @ Aa2 @ B2 ) ) )
             => ( ( R3 @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A2 @ ( product_Pair @ B @ C @ Aa2 @ B2 ) ) @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ Ab @ ( product_Pair @ B @ C @ Ac @ Ba ) ) )
               => ( ( P @ A2 @ Aa2 @ B2 )
                 => ( P @ Ab @ Ac @ Ba ) ) ) )
         => ( P @ Bx @ By @ Bz ) ) ) ) )).

% rtranclp_induct3
thf(fact_53_lock__action_Osize_I3_J,axiom,
    ( ( lock_s5444299122428672615action @ lock_UnlockFail )
    = ( zero_zero @ nat ) )).

% lock_action.size(3)
thf(fact_54_ext,axiom,(
    ! [B: $tType,A: $tType,F4: A > B,G4: A > B] :
      ( ! [X5: A] :
          ( ( F4 @ X5 )
          = ( G4 @ X5 ) )
     => ( F4 = G4 ) ) )).

% ext
thf(fact_55_tranclp__induct3,axiom,(
    ! [B: $tType,A: $tType,C: $tType,R3: ( product_prod @ A @ ( product_prod @ B @ C ) ) > ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,Ax: A,Ay: B,Az: C,Bx: A,By: B,Bz: C,P: A > B > C > $o] :
      ( ( transitive_tranclp @ ( product_prod @ A @ ( product_prod @ B @ C ) ) @ R3 @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ Ax @ ( product_Pair @ B @ C @ Ay @ Az ) ) @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ Bx @ ( product_Pair @ B @ C @ By @ Bz ) ) )
     => ( ! [A2: A,Aa2: B,B2: C] :
            ( ( R3 @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ Ax @ ( product_Pair @ B @ C @ Ay @ Az ) ) @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A2 @ ( product_Pair @ B @ C @ Aa2 @ B2 ) ) )
           => ( P @ A2 @ Aa2 @ B2 ) )
       => ( ! [A2: A,Aa2: B,B2: C,Ab: A,Ac: B,Ba: C] :
              ( ( transitive_tranclp @ ( product_prod @ A @ ( product_prod @ B @ C ) ) @ R3 @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ Ax @ ( product_Pair @ B @ C @ Ay @ Az ) ) @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A2 @ ( product_Pair @ B @ C @ Aa2 @ B2 ) ) )
             => ( ( R3 @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A2 @ ( product_Pair @ B @ C @ Aa2 @ B2 ) ) @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ Ab @ ( product_Pair @ B @ C @ Ac @ Ba ) ) )
               => ( ( P @ A2 @ Aa2 @ B2 )
                 => ( P @ Ab @ Ac @ Ba ) ) ) )
         => ( P @ Bx @ By @ Bz ) ) ) ) )).

% tranclp_induct3
thf(fact_56_refl__ge__eq,axiom,(
    ! [A: $tType,R: A > A > $o] :
      ( ! [X5: A] :
          ( R @ X5 @ X5 )
     => ( ord_less_eq @ ( A > A > $o )
        @ ^ [Y3: A,Z: A] : ( Y3 = Z )
        @ R ) ) )).

% refl_ge_eq
thf(fact_57_apsnd__conv,axiom,(
    ! [A: $tType,B: $tType,C: $tType,F4: C > B,X3: A,Y: C] :
      ( ( product_apsnd @ C @ B @ A @ F4 @ ( product_Pair @ A @ C @ X3 @ Y ) )
      = ( product_Pair @ A @ B @ X3 @ ( F4 @ Y ) ) ) )).

% apsnd_conv
thf(fact_58_lock__action_Osize_I4_J,axiom,
    ( ( lock_s5444299122428672615action @ lock_ReleaseAcquire )
    = ( zero_zero @ nat ) )).

% lock_action.size(4)
thf(fact_59_old_Obool_Osimps_I6_J,axiom,(
    ! [T: $tType,F1: T,F22: T] :
      ( ( product_rec_bool @ T @ F1 @ F22 @ $false )
      = F22 ) )).

% old.bool.simps(6)
thf(fact_60_old_Obool_Osimps_I5_J,axiom,(
    ! [T: $tType,F1: T,F22: T] :
      ( ( product_rec_bool @ T @ F1 @ F22 @ $true )
      = F1 ) )).

% old.bool.simps(5)
thf(fact_61_comp__apply,axiom,(
    ! [C: $tType,A: $tType,B: $tType] :
      ( ( comp @ B @ A @ C )
      = ( ^ [F3: B > A,G3: C > B,X4: C] :
            ( F3 @ ( G3 @ X4 ) ) ) ) )).

% comp_apply
thf(fact_62_OO__Grp__alt,axiom,(
    ! [B: $tType,C: $tType,A: $tType,A6: set @ C,F4: C > A,G4: C > B] :
      ( ( relcompp @ A @ C @ B @ ( conversep @ C @ A @ ( bNF_Grp @ C @ A @ A6 @ F4 ) ) @ ( bNF_Grp @ C @ B @ A6 @ G4 ) )
      = ( ^ [X4: A,Y5: B] :
          ? [Z2: C] :
            ( ( member @ C @ Z2 @ A6 )
            & ( ( F4 @ Z2 )
              = X4 )
            & ( ( G4 @ Z2 )
              = Y5 ) ) ) ) )).

% OO_Grp_alt
thf(fact_63_eq__onp__live__step,axiom,(
    ! [A: $tType,X3: $o,Y: $o,P: A > $o,A3: A] :
      ( ( X3 = Y )
     => ( ( ( bNF_eq_onp @ A @ P @ A3 @ A3 )
          & X3 )
        = ( ( P @ A3 )
          & Y ) ) ) )).

% eq_onp_live_step
thf(fact_64_fst__eqD,axiom,(
    ! [B: $tType,A: $tType,X3: A,Y: B,A3: A] :
      ( ( ( product_fst @ A @ B @ ( product_Pair @ A @ B @ X3 @ Y ) )
        = A3 )
     => ( X3 = A3 ) ) )).

% fst_eqD
thf(fact_65_swap__swap,axiom,(
    ! [B: $tType,A: $tType,P2: product_prod @ A @ B] :
      ( ( product_swap @ B @ A @ ( product_swap @ A @ B @ P2 ) )
      = P2 ) )).

% swap_swap
thf(fact_66_rtranclp__induct,axiom,(
    ! [A: $tType,R3: A > A > $o,A3: A,B3: A,P: A > $o] :
      ( ( transitive_rtranclp @ A @ R3 @ A3 @ B3 )
     => ( ( P @ A3 )
       => ( ! [Y4: A,Z3: A] :
              ( ( transitive_rtranclp @ A @ R3 @ A3 @ Y4 )
             => ( ( R3 @ Y4 @ Z3 )
               => ( ( P @ Y4 )
                 => ( P @ Z3 ) ) ) )
         => ( P @ B3 ) ) ) ) )).

% rtranclp_induct
thf(fact_67_diag__imp__eq__le,axiom,(
    ! [A: $tType,A6: set @ A,R: A > A > $o] :
      ( ! [X5: A] :
          ( ( member @ A @ X5 @ A6 )
         => ( R @ X5 @ X5 ) )
     => ! [X6: A,Y6: A] :
          ( ( member @ A @ X6 @ A6 )
         => ( ( member @ A @ Y6 @ A6 )
           => ( ( X6 = Y6 )
             => ( R @ X6 @ Y6 ) ) ) ) ) )).

% diag_imp_eq_le
thf(fact_68_fst__apsnd,axiom,(
    ! [B: $tType,C: $tType,A: $tType,F4: C > B,X3: product_prod @ A @ C] :
      ( ( product_fst @ A @ B @ ( product_apsnd @ C @ B @ A @ F4 @ X3 ) )
      = ( product_fst @ A @ C @ X3 ) ) )).

% fst_apsnd
thf(fact_69_lock__action_Ocase_I1_J,axiom,(
    ! [A: $tType,F1: A,F22: A,F32: A,F42: A] :
      ( ( lock_c780515111982967862action @ A @ F1 @ F22 @ F32 @ F42 @ lock_Lock )
      = F1 ) )).

% lock_action.case(1)
thf(fact_70_converse__tranclp__induct2,axiom,(
    ! [A: $tType,B: $tType,R3: ( product_prod @ A @ B ) > ( product_prod @ A @ B ) > $o,Ax: A,Ay: B,Bx: A,By: B,P: A > B > $o] :
      ( ( transitive_tranclp @ ( product_prod @ A @ B ) @ R3 @ ( product_Pair @ A @ B @ Ax @ Ay ) @ ( product_Pair @ A @ B @ Bx @ By ) )
     => ( ! [A2: A,B2: B] :
            ( ( R3 @ ( product_Pair @ A @ B @ A2 @ B2 ) @ ( product_Pair @ A @ B @ Bx @ By ) )
           => ( P @ A2 @ B2 ) )
       => ( ! [A2: A,B2: B,Aa2: A,Ba: B] :
              ( ( R3 @ ( product_Pair @ A @ B @ A2 @ B2 ) @ ( product_Pair @ A @ B @ Aa2 @ Ba ) )
             => ( ( transitive_tranclp @ ( product_prod @ A @ B ) @ R3 @ ( product_Pair @ A @ B @ Aa2 @ Ba ) @ ( product_Pair @ A @ B @ Bx @ By ) )
               => ( ( P @ Aa2 @ Ba )
                 => ( P @ A2 @ B2 ) ) ) )
         => ( P @ Ax @ Ay ) ) ) ) )).

% converse_tranclp_induct2
thf(fact_71_order__less__irrefl,axiom,(
    ! [A: $tType] :
      ( ( preorder @ A )
     => ! [X3: A] :
          ~ ( ord_less @ A @ X3 @ X3 ) ) )).

% order_less_irrefl
thf(fact_72_curryD,axiom,(
    ! [A: $tType,B: $tType,F4: ( product_prod @ A @ B ) > $o,A3: A,B3: B] :
      ( ( product_curry @ A @ B @ $o @ F4 @ A3 @ B3 )
     => ( F4 @ ( product_Pair @ A @ B @ A3 @ B3 ) ) ) )).

% curryD
thf(fact_73_comp__def,axiom,(
    ! [A: $tType,C: $tType,B: $tType] :
      ( ( comp @ B @ C @ A )
      = ( ^ [F3: B > C,G3: A > B,X4: A] :
            ( F3 @ ( G3 @ X4 ) ) ) ) )).

% comp_def
thf(fact_74_curryE,axiom,(
    ! [A: $tType,B: $tType,F4: ( product_prod @ A @ B ) > $o,A3: A,B3: B] :
      ( ( product_curry @ A @ B @ $o @ F4 @ A3 @ B3 )
     => ( F4 @ ( product_Pair @ A @ B @ A3 @ B3 ) ) ) )).

% curryE
thf(fact_75_eq__onp__eqD,axiom,(
    ! [A: $tType,P: A > $o,Q: A > A > $o,X3: A] :
      ( ( ( bNF_eq_onp @ A @ P )
        = Q )
     => ( ( P @ X3 )
        = ( Q @ X3 @ X3 ) ) ) )).

% eq_onp_eqD
thf(fact_76_snd__conv,axiom,(
    ! [Aa: $tType,A: $tType,X1: Aa,X2: A] :
      ( ( product_snd @ Aa @ A @ ( product_Pair @ Aa @ A @ X1 @ X2 ) )
      = X2 ) )).

% snd_conv
thf(fact_77_lock__action_Ocase_I2_J,axiom,(
    ! [A: $tType,F1: A,F22: A,F32: A,F42: A] :
      ( ( lock_c780515111982967862action @ A @ F1 @ F22 @ F32 @ F42 @ lock_Unlock )
      = F22 ) )).

% lock_action.case(2)
thf(fact_78_tranclp__induct,axiom,(
    ! [A: $tType,R3: A > A > $o,A3: A,B3: A,P: A > $o] :
      ( ( transitive_tranclp @ A @ R3 @ A3 @ B3 )
     => ( ! [Y4: A] :
            ( ( R3 @ A3 @ Y4 )
           => ( P @ Y4 ) )
       => ( ! [Y4: A,Z3: A] :
              ( ( transitive_tranclp @ A @ R3 @ A3 @ Y4 )
             => ( ( R3 @ Y4 @ Z3 )
               => ( ( P @ Y4 )
                 => ( P @ Z3 ) ) ) )
         => ( P @ B3 ) ) ) ) )).

% tranclp_induct
thf(fact_79_rel__fun__eq__onp__rel,axiom,(
    ! [C: $tType,B: $tType,A: $tType,R: A > $o,S3: B > C > $o] :
      ( ( bNF_rel_fun @ A @ A @ B @ C @ ( bNF_eq_onp @ A @ R ) @ S3 )
      = ( ^ [F3: A > B,G3: A > C] :
          ! [X4: A] :
            ( ( R @ X4 )
           => ( S3 @ ( F3 @ X4 ) @ ( G3 @ X4 ) ) ) ) ) )).

% rel_fun_eq_onp_rel
thf(fact_80_lock__action_Odistinct_I1_J,axiom,(
    lock_Lock != lock_Unlock )).

% lock_action.distinct(1)
thf(fact_81_antisym,axiom,(
    ! [A: $tType] :
      ( ( order @ A )
     => ! [A3: A,B3: A] :
          ( ( ord_less_eq @ A @ A3 @ B3 )
         => ( ( ord_less_eq @ A @ B3 @ A3 )
           => ( A3 = B3 ) ) ) ) )).

% antisym
thf(fact_82_tranclp__rtranclp__absorb,axiom,(
    ! [A: $tType,R: A > A > $o] :
      ( ( transitive_rtranclp @ A @ ( transitive_tranclp @ A @ R ) )
      = ( transitive_rtranclp @ A @ R ) ) )).

% tranclp_rtranclp_absorb
thf(fact_83_lock__action_Ocase_I3_J,axiom,(
    ! [A: $tType,F1: A,F22: A,F32: A,F42: A] :
      ( ( lock_c780515111982967862action @ A @ F1 @ F22 @ F32 @ F42 @ lock_UnlockFail )
      = F32 ) )).

% lock_action.case(3)
thf(fact_84_rtranclp__tranclp__absorb,axiom,(
    ! [A: $tType,R: A > A > $o] :
      ( ( transitive_tranclp @ A @ ( transitive_rtranclp @ A @ R ) )
      = ( transitive_rtranclp @ A @ R ) ) )).

% rtranclp_tranclp_absorb
thf(fact_85_Collect__mem__eq,axiom,(
    ! [A: $tType,A6: set @ A] :
      ( ( collect @ A
        @ ^ [X4: A] :
            ( member @ A @ X4 @ A6 ) )
      = A6 ) )).

% Collect_mem_eq
thf(fact_86_lock__action_Odistinct_I10_J,axiom,(
    lock_ReleaseAcquire != lock_Unlock )).

% lock_action.distinct(10)
thf(fact_87_r__into__rtranclp,axiom,(
    ! [A: $tType,R3: A > A > $o,X3: A,Y: A] :
      ( ( R3 @ X3 @ Y )
     => ( transitive_rtranclp @ A @ R3 @ X3 @ Y ) ) )).

% r_into_rtranclp
thf(fact_88_internal__case__prod__def,axiom,(
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( produc5280177257484947105e_prod @ A @ B @ C )
      = ( product_case_prod @ A @ B @ C ) ) )).

% internal_case_prod_def
thf(fact_89_lock__action_Ocase_I4_J,axiom,(
    ! [A: $tType,F1: A,F22: A,F32: A,F42: A] :
      ( ( lock_c780515111982967862action @ A @ F1 @ F22 @ F32 @ F42 @ lock_ReleaseAcquire )
      = F42 ) )).

% lock_action.case(4)
thf(fact_90_rtranclp__idemp,axiom,(
    ! [A: $tType,R3: A > A > $o] :
      ( ( transitive_rtranclp @ A @ ( transitive_rtranclp @ A @ R3 ) )
      = ( transitive_rtranclp @ A @ R3 ) ) )).

% rtranclp_idemp
thf(fact_91_rel__fun__eq__eq__onp,axiom,(
    ! [B: $tType,A: $tType,P: B > $o] :
      ( ( bNF_rel_fun @ A @ A @ B @ B
        @ ^ [Y3: A,Z: A] : ( Y3 = Z )
        @ ( bNF_eq_onp @ B @ P ) )
      = ( bNF_eq_onp @ ( A > B )
        @ ^ [F3: A > B] :
          ! [X4: A] :
            ( P @ ( F3 @ X4 ) ) ) ) )).

% rel_fun_eq_eq_onp
thf(fact_92_tranclp__induct2,axiom,(
    ! [A: $tType,B: $tType,R3: ( product_prod @ A @ B ) > ( product_prod @ A @ B ) > $o,Ax: A,Ay: B,Bx: A,By: B,P: A > B > $o] :
      ( ( transitive_tranclp @ ( product_prod @ A @ B ) @ R3 @ ( product_Pair @ A @ B @ Ax @ Ay ) @ ( product_Pair @ A @ B @ Bx @ By ) )
     => ( ! [A2: A,B2: B] :
            ( ( R3 @ ( product_Pair @ A @ B @ Ax @ Ay ) @ ( product_Pair @ A @ B @ A2 @ B2 ) )
           => ( P @ A2 @ B2 ) )
       => ( ! [A2: A,B2: B,Aa2: A,Ba: B] :
              ( ( transitive_tranclp @ ( product_prod @ A @ B ) @ R3 @ ( product_Pair @ A @ B @ Ax @ Ay ) @ ( product_Pair @ A @ B @ A2 @ B2 ) )
             => ( ( R3 @ ( product_Pair @ A @ B @ A2 @ B2 ) @ ( product_Pair @ A @ B @ Aa2 @ Ba ) )
               => ( ( P @ A2 @ B2 )
                 => ( P @ Aa2 @ Ba ) ) ) )
         => ( P @ Bx @ By ) ) ) ) )).

% tranclp_induct2
thf(fact_93_rtranclp__induct2,axiom,(
    ! [A: $tType,B: $tType,R3: ( product_prod @ A @ B ) > ( product_prod @ A @ B ) > $o,Ax: A,Ay: B,Bx: A,By: B,P: A > B > $o] :
      ( ( transitive_rtranclp @ ( product_prod @ A @ B ) @ R3 @ ( product_Pair @ A @ B @ Ax @ Ay ) @ ( product_Pair @ A @ B @ Bx @ By ) )
     => ( ( P @ Ax @ Ay )
       => ( ! [A2: A,B2: B,Aa2: A,Ba: B] :
              ( ( transitive_rtranclp @ ( product_prod @ A @ B ) @ R3 @ ( product_Pair @ A @ B @ Ax @ Ay ) @ ( product_Pair @ A @ B @ A2 @ B2 ) )
             => ( ( R3 @ ( product_Pair @ A @ B @ A2 @ B2 ) @ ( product_Pair @ A @ B @ Aa2 @ Ba ) )
               => ( ( P @ A2 @ B2 )
                 => ( P @ Aa2 @ Ba ) ) ) )
         => ( P @ Bx @ By ) ) ) ) )).

% rtranclp_induct2
thf(fact_94_case__prod__conv,axiom,(
    ! [B: $tType,A: $tType,C: $tType,F4: B > C > A,A3: B,B3: C] :
      ( ( product_case_prod @ B @ C @ A @ F4 @ ( product_Pair @ B @ C @ A3 @ B3 ) )
      = ( F4 @ A3 @ B3 ) ) )).

% case_prod_conv
thf(fact_95_wait__set__action_Osize__gen__o__map,axiom,(
    ! [T: $tType,A: $tType,B: $tType,W: $tType,F4: A > nat,Fa: B > nat,G4: T > A,Ga: W > B] :
      ( ( comp @ ( wait_set_action @ A @ B ) @ nat @ ( wait_set_action @ T @ W ) @ ( wait_s6257567816659622979action @ A @ B @ F4 @ Fa ) @ ( wait_s8865918783579551590action @ T @ A @ W @ B @ G4 @ Ga ) )
      = ( wait_s6257567816659622979action @ T @ W @ ( comp @ A @ nat @ T @ F4 @ G4 ) @ ( comp @ B @ nat @ W @ Fa @ Ga ) ) ) )).

% wait_set_action.size_gen_o_map
thf(fact_96_lock__action_Odistinct_I11_J,axiom,(
    lock_UnlockFail != lock_ReleaseAcquire )).

% lock_action.distinct(11)
thf(fact_97_lock__action_Odistinct_I12_J,axiom,(
    lock_ReleaseAcquire != lock_UnlockFail )).

% lock_action.distinct(12)
thf(fact_98_Collect__cong,axiom,(
    ! [A: $tType,P: A > $o,Q: A > $o] :
      ( ! [X5: A] :
          ( ( P @ X5 )
          = ( Q @ X5 ) )
     => ( ( collect @ A @ P )
        = ( collect @ A @ Q ) ) ) )).

% Collect_cong
thf(fact_99_lock__action_Odistinct_I2_J,axiom,(
    lock_Unlock != lock_Lock )).

% lock_action.distinct(2)
thf(fact_100_converse__rtranclpE2,axiom,(
    ! [A: $tType,B: $tType,R3: ( product_prod @ A @ B ) > ( product_prod @ A @ B ) > $o,Xa2: A,Xb: B,Za: A,Zb: B] :
      ( ( transitive_rtranclp @ ( product_prod @ A @ B ) @ R3 @ ( product_Pair @ A @ B @ Xa2 @ Xb ) @ ( product_Pair @ A @ B @ Za @ Zb ) )
     => ( ( ( product_Pair @ A @ B @ Xa2 @ Xb )
         != ( product_Pair @ A @ B @ Za @ Zb ) )
       => ~ ! [A2: A,B2: B] :
              ( ( R3 @ ( product_Pair @ A @ B @ Xa2 @ Xb ) @ ( product_Pair @ A @ B @ A2 @ B2 ) )
             => ~ ( transitive_rtranclp @ ( product_prod @ A @ B ) @ R3 @ ( product_Pair @ A @ B @ A2 @ B2 ) @ ( product_Pair @ A @ B @ Za @ Zb ) ) ) ) ) )).

% converse_rtranclpE2
thf(fact_101_image__eqI,axiom,(
    ! [A: $tType,B: $tType,B3: A,F4: B > A,X3: B,A6: set @ B] :
      ( ( B3
        = ( F4 @ X3 ) )
     => ( ( member @ B @ X3 @ A6 )
       => ( member @ A @ B3 @ ( image2 @ B @ A @ F4 @ A6 ) ) ) ) )).

% image_eqI
thf(fact_102_lock__action_Odistinct_I3_J,axiom,(
    lock_Lock != lock_UnlockFail )).

% lock_action.distinct(3)
thf(fact_103_converse__rtranclp__induct2,axiom,(
    ! [A: $tType,B: $tType,R3: ( product_prod @ A @ B ) > ( product_prod @ A @ B ) > $o,Ax: A,Ay: B,Bx: A,By: B,P: A > B > $o] :
      ( ( transitive_rtranclp @ ( product_prod @ A @ B ) @ R3 @ ( product_Pair @ A @ B @ Ax @ Ay ) @ ( product_Pair @ A @ B @ Bx @ By ) )
     => ( ( P @ Bx @ By )
       => ( ! [A2: A,B2: B,Aa2: A,Ba: B] :
              ( ( R3 @ ( product_Pair @ A @ B @ A2 @ B2 ) @ ( product_Pair @ A @ B @ Aa2 @ Ba ) )
             => ( ( transitive_rtranclp @ ( product_prod @ A @ B ) @ R3 @ ( product_Pair @ A @ B @ Aa2 @ Ba ) @ ( product_Pair @ A @ B @ Bx @ By ) )
               => ( ( P @ Aa2 @ Ba )
                 => ( P @ A2 @ B2 ) ) ) )
         => ( P @ Ax @ Ay ) ) ) ) )).

% converse_rtranclp_induct2
thf(fact_104_rtranclp_Ortrancl__refl,axiom,(
    ! [A: $tType,R3: A > A > $o,A3: A] :
      ( transitive_rtranclp @ A @ R3 @ A3 @ A3 ) )).

% rtranclp.rtrancl_refl
thf(fact_105_lock__action_Ocase__distrib,axiom,(
    ! [A: $tType,B: $tType,H: A > B,F1: A,F22: A,F32: A,F42: A,Lock_action: lock_action] :
      ( ( H @ ( lock_c780515111982967862action @ A @ F1 @ F22 @ F32 @ F42 @ Lock_action ) )
      = ( lock_c780515111982967862action @ B @ ( H @ F1 ) @ ( H @ F22 ) @ ( H @ F32 ) @ ( H @ F42 ) @ Lock_action ) ) )).

% lock_action.case_distrib
thf(fact_106_tranclp__rtranclp__tranclp,axiom,(
    ! [A: $tType,R3: A > A > $o,A3: A,B3: A,C3: A] :
      ( ( transitive_tranclp @ A @ R3 @ A3 @ B3 )
     => ( ( transitive_rtranclp @ A @ R3 @ B3 @ C3 )
       => ( transitive_tranclp @ A @ R3 @ A3 @ C3 ) ) ) )).

% tranclp_rtranclp_tranclp
thf(fact_107_rtranclp_Ortrancl__into__rtrancl,axiom,(
    ! [A: $tType,R3: A > A > $o,A3: A,B3: A,C3: A] :
      ( ( transitive_rtranclp @ A @ R3 @ A3 @ B3 )
     => ( ( R3 @ B3 @ C3 )
       => ( transitive_rtranclp @ A @ R3 @ A3 @ C3 ) ) ) )).

% rtranclp.rtrancl_into_rtrancl
thf(fact_108_rtranclp__tranclp__tranclp,axiom,(
    ! [A: $tType,R3: A > A > $o,X3: A,Y: A,Z4: A] :
      ( ( transitive_rtranclp @ A @ R3 @ X3 @ Y )
     => ( ( transitive_tranclp @ A @ R3 @ Y @ Z4 )
       => ( transitive_tranclp @ A @ R3 @ X3 @ Z4 ) ) ) )).

% rtranclp_tranclp_tranclp
thf(fact_109_converse__rtranclp__induct,axiom,(
    ! [A: $tType,R3: A > A > $o,A3: A,B3: A,P: A > $o] :
      ( ( transitive_rtranclp @ A @ R3 @ A3 @ B3 )
     => ( ( P @ B3 )
       => ( ! [Y4: A,Z3: A] :
              ( ( R3 @ Y4 @ Z3 )
             => ( ( transitive_rtranclp @ A @ R3 @ Z3 @ B3 )
               => ( ( P @ Z3 )
                 => ( P @ Y4 ) ) ) )
         => ( P @ A3 ) ) ) ) )).

% converse_rtranclp_induct
thf(fact_110_lock__action_Odistinct_I4_J,axiom,(
    lock_UnlockFail != lock_Lock )).

% lock_action.distinct(4)
thf(fact_111_rtranclp__into__tranclp2,axiom,(
    ! [A: $tType,R3: A > A > $o,A3: A,B3: A,C3: A] :
      ( ( R3 @ A3 @ B3 )
     => ( ( transitive_rtranclp @ A @ R3 @ B3 @ C3 )
       => ( transitive_tranclp @ A @ R3 @ A3 @ C3 ) ) ) )).

% rtranclp_into_tranclp2
thf(fact_112_lock__action_Odistinct_I5_J,axiom,(
    lock_Lock != lock_ReleaseAcquire )).

% lock_action.distinct(5)
thf(fact_113_mono__rtranclp,axiom,(
    ! [A: $tType,X3: A > A > $o,Y: A > A > $o,A3: A,B3: A] :
      ( ! [A2: A,B2: A] :
          ( ( X3 @ A2 @ B2 )
         => ( Y @ A2 @ B2 ) )
     => ( ( transitive_rtranclp @ A @ X3 @ A3 @ B3 )
       => ( transitive_rtranclp @ A @ Y @ A3 @ B3 ) ) ) )).

% mono_rtranclp
thf(fact_114_converse__rtranclp__into__rtranclp,axiom,(
    ! [A: $tType,R3: A > A > $o,A3: A,B3: A,C3: A] :
      ( ( R3 @ A3 @ B3 )
     => ( ( transitive_rtranclp @ A @ R3 @ B3 @ C3 )
       => ( transitive_rtranclp @ A @ R3 @ A3 @ C3 ) ) ) )).

% converse_rtranclp_into_rtranclp
thf(fact_115_lock__action_Odistinct_I6_J,axiom,(
    lock_ReleaseAcquire != lock_Lock )).

% lock_action.distinct(6)
thf(fact_116_rtranclp_Ocases,axiom,(
    ! [A: $tType,R3: A > A > $o,A1: A,A22: A] :
      ( ( transitive_rtranclp @ A @ R3 @ A1 @ A22 )
     => ( ( A22 != A1 )
       => ~ ! [B2: A] :
              ( ( transitive_rtranclp @ A @ R3 @ A1 @ B2 )
             => ~ ( R3 @ B2 @ A22 ) ) ) ) )).

% rtranclp.cases
thf(fact_117_rtranclp_Osimps,axiom,(
    ! [A: $tType] :
      ( ( transitive_rtranclp @ A )
      = ( ^ [R4: A > A > $o,A12: A,A23: A] :
            ( ? [A5: A] :
                ( ( A12 = A5 )
                & ( A23 = A5 ) )
            | ? [A5: A,B5: A,C4: A] :
                ( ( A12 = A5 )
                & ( A23 = C4 )
                & ( transitive_rtranclp @ A @ R4 @ A5 @ B5 )
                & ( R4 @ B5 @ C4 ) ) ) ) ) )).

% rtranclp.simps
thf(fact_118_prod_Ocollapse,axiom,(
    ! [B: $tType,A: $tType,Prod: product_prod @ A @ B] :
      ( ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) )
      = Prod ) )).

% prod.collapse
thf(fact_119_lock__action_Ocase__transfer,axiom,(
    ! [A: $tType,B: $tType,S3: A > B > $o] :
      ( bNF_rel_fun @ A @ B @ ( A > A > A > lock_action > A ) @ ( B > B > B > lock_action > B ) @ S3
      @ ( bNF_rel_fun @ A @ B @ ( A > A > lock_action > A ) @ ( B > B > lock_action > B ) @ S3
        @ ( bNF_rel_fun @ A @ B @ ( A > lock_action > A ) @ ( B > lock_action > B ) @ S3
          @ ( bNF_rel_fun @ A @ B @ ( lock_action > A ) @ ( lock_action > B ) @ S3
            @ ( bNF_rel_fun @ lock_action @ lock_action @ A @ B
              @ ^ [Y3: lock_action,Z: lock_action] : ( Y3 = Z )
              @ S3 ) ) ) )
      @ ( lock_c780515111982967862action @ A )
      @ ( lock_c780515111982967862action @ B ) ) )).

% lock_action.case_transfer
thf(fact_120_rtranclp__trans,axiom,(
    ! [A: $tType,R3: A > A > $o,X3: A,Y: A,Z4: A] :
      ( ( transitive_rtranclp @ A @ R3 @ X3 @ Y )
     => ( ( transitive_rtranclp @ A @ R3 @ Y @ Z4 )
       => ( transitive_rtranclp @ A @ R3 @ X3 @ Z4 ) ) ) )).

% rtranclp_trans
thf(fact_121_bspec,axiom,(
    ! [A: $tType,A6: set @ A,P: A > $o,X3: A] :
      ( ! [X5: A] :
          ( ( member @ A @ X5 @ A6 )
         => ( P @ X5 ) )
     => ( ( member @ A @ X3 @ A6 )
       => ( P @ X3 ) ) ) )).

% bspec
thf(fact_122_converse__tranclpE,axiom,(
    ! [A: $tType,R3: A > A > $o,X3: A,Z4: A] :
      ( ( transitive_tranclp @ A @ R3 @ X3 @ Z4 )
     => ( ~ ( R3 @ X3 @ Z4 )
       => ~ ! [Y4: A] :
              ( ( R3 @ X3 @ Y4 )
             => ~ ( transitive_tranclp @ A @ R3 @ Y4 @ Z4 ) ) ) ) )).

% converse_tranclpE
thf(fact_123_rtranclp_Oinducts,axiom,(
    ! [A: $tType,R3: A > A > $o,X1: A,X2: A,P: A > A > $o] :
      ( ( transitive_rtranclp @ A @ R3 @ X1 @ X2 )
     => ( ! [A2: A] :
            ( P @ A2 @ A2 )
       => ( ! [A2: A,B2: A,C2: A] :
              ( ( transitive_rtranclp @ A @ R3 @ A2 @ B2 )
             => ( ( P @ A2 @ B2 )
               => ( ( R3 @ B2 @ C2 )
                 => ( P @ A2 @ C2 ) ) ) )
         => ( P @ X1 @ X2 ) ) ) ) )).

% rtranclp.inducts
thf(fact_124_lock__action_Odistinct_I7_J,axiom,(
    lock_Unlock != lock_UnlockFail )).

% lock_action.distinct(7)
thf(fact_125_converse__rtranclpE,axiom,(
    ! [A: $tType,R3: A > A > $o,X3: A,Z4: A] :
      ( ( transitive_rtranclp @ A @ R3 @ X3 @ Z4 )
     => ( ( X3 != Z4 )
       => ~ ! [Y4: A] :
              ( ( R3 @ X3 @ Y4 )
             => ~ ( transitive_rtranclp @ A @ R3 @ Y4 @ Z4 ) ) ) ) )).

% converse_rtranclpE
thf(fact_126_list_Orec_I2_J,axiom,(
    ! [C: $tType,A: $tType,F1: C,F22: A > ( list @ A ) > C > C,X21: A,X22: list @ A] :
      ( ( rec_list @ C @ A @ F1 @ F22 @ ( cons @ A @ X21 @ X22 ) )
      = ( F22 @ X21 @ X22 @ ( rec_list @ C @ A @ F1 @ F22 @ X22 ) ) ) )).

% list.rec(2)
thf(fact_127_lock__action_Odistinct_I8_J,axiom,(
    lock_UnlockFail != lock_Unlock )).

% lock_action.distinct(8)
thf(fact_128_list_Orec_I1_J,axiom,(
    ! [A: $tType,C: $tType,F1: C,F22: A > ( list @ A ) > C > C] :
      ( ( rec_list @ C @ A @ F1 @ F22 @ ( nil @ A ) )
      = F1 ) )).

% list.rec(1)
thf(fact_129_lock__action_Odistinct_I9_J,axiom,(
    lock_Unlock != lock_ReleaseAcquire )).

% lock_action.distinct(9)
thf(fact_130_tranclp_Ocases,axiom,(
    ! [A: $tType,R3: A > A > $o,A1: A,A22: A] :
      ( ( transitive_tranclp @ A @ R3 @ A1 @ A22 )
     => ( ~ ( R3 @ A1 @ A22 )
       => ~ ! [B2: A] :
              ( ( transitive_tranclp @ A @ R3 @ A1 @ B2 )
             => ~ ( R3 @ B2 @ A22 ) ) ) ) )).

% tranclp.cases
thf(fact_131_wait__set__action_Osize_I4_J,axiom,(
    ! [W: $tType,T: $tType,Xa2: T > nat,X3: W > nat,X42: T] :
      ( ( wait_s6257567816659622979action @ T @ W @ Xa2 @ X3 @ ( wait_set_WakeUp @ T @ W @ X42 ) )
      = ( plus_plus @ nat @ ( Xa2 @ X42 ) @ ( suc @ ( zero_zero @ nat ) ) ) ) )).

% wait_set_action.size(4)
thf(fact_132_tranclp_Osimps,axiom,(
    ! [A: $tType] :
      ( ( transitive_tranclp @ A )
      = ( ^ [R4: A > A > $o,A12: A,A23: A] :
            ( ? [A5: A,B5: A] :
                ( ( A12 = A5 )
                & ( A23 = B5 )
                & ( R4 @ A5 @ B5 ) )
            | ? [A5: A,B5: A,C4: A] :
                ( ( A12 = A5 )
                & ( A23 = C4 )
                & ( transitive_tranclp @ A @ R4 @ A5 @ B5 )
                & ( R4 @ B5 @ C4 ) ) ) ) ) )).

% tranclp.simps
thf(fact_133_imageE,axiom,(
    ! [A: $tType,B: $tType,B3: A,F4: B > A,A6: set @ B] :
      ( ( member @ A @ B3 @ ( image2 @ B @ A @ F4 @ A6 ) )
     => ~ ! [X5: B] :
            ( ( B3
              = ( F4 @ X5 ) )
           => ~ ( member @ B @ X5 @ A6 ) ) ) )).

% imageE
thf(fact_134_option_Ocase_I1_J,axiom,(
    ! [A: $tType,B: $tType,F1: B,F22: A > B] :
      ( ( case_option @ B @ A @ F1 @ F22 @ ( none @ A ) )
      = F1 ) )).

% option.case(1)
thf(fact_135_tranclp__trans,axiom,(
    ! [A: $tType,R3: A > A > $o,X3: A,Y: A,Z4: A] :
      ( ( transitive_tranclp @ A @ R3 @ X3 @ Y )
     => ( ( transitive_tranclp @ A @ R3 @ Y @ Z4 )
       => ( transitive_tranclp @ A @ R3 @ X3 @ Z4 ) ) ) )).

% tranclp_trans
thf(fact_136_eq__fst__iff,axiom,(
    ! [A: $tType,B: $tType,A3: A,P2: product_prod @ A @ B] :
      ( ( A3
        = ( product_fst @ A @ B @ P2 ) )
      = ( ? [B5: B] :
            ( P2
            = ( product_Pair @ A @ B @ A3 @ B5 ) ) ) ) )).

% eq_fst_iff
thf(fact_137_fstI,axiom,(
    ! [B: $tType,A: $tType,X3: product_prod @ A @ B,Y: A,Z4: B] :
      ( ( X3
        = ( product_Pair @ A @ B @ Y @ Z4 ) )
     => ( ( product_fst @ A @ B @ X3 )
        = Y ) ) )).

% fstI
thf(fact_138_option_Ocase_I2_J,axiom,(
    ! [B: $tType,A: $tType,F1: B,F22: A > B,X2: A] :
      ( ( case_option @ B @ A @ F1 @ F22 @ ( some @ A @ X2 ) )
      = ( F22 @ X2 ) ) )).

% option.case(2)
thf(fact_139_tranclp_Oinducts,axiom,(
    ! [A: $tType,R3: A > A > $o,X1: A,X2: A,P: A > A > $o] :
      ( ( transitive_tranclp @ A @ R3 @ X1 @ X2 )
     => ( ! [A2: A,B2: A] :
            ( ( R3 @ A2 @ B2 )
           => ( P @ A2 @ B2 ) )
       => ( ! [A2: A,B2: A,C2: A] :
              ( ( transitive_tranclp @ A @ R3 @ A2 @ B2 )
             => ( ( P @ A2 @ B2 )
               => ( ( R3 @ B2 @ C2 )
                 => ( P @ A2 @ C2 ) ) ) )
         => ( P @ X1 @ X2 ) ) ) ) )).

% tranclp.inducts
thf(fact_140_wait__set__action_Osize_I3_J,axiom,(
    ! [T: $tType,W: $tType,Xa2: T > nat,X3: W > nat,X32: W] :
      ( ( wait_s6257567816659622979action @ T @ W @ Xa2 @ X3 @ ( wait_set_NotifyAll @ W @ T @ X32 ) )
      = ( plus_plus @ nat @ ( X3 @ X32 ) @ ( suc @ ( zero_zero @ nat ) ) ) ) )).

% wait_set_action.size(3)
thf(fact_141_tranclp__trans__induct,axiom,(
    ! [A: $tType,R3: A > A > $o,X3: A,Y: A,P: A > A > $o] :
      ( ( transitive_tranclp @ A @ R3 @ X3 @ Y )
     => ( ! [X5: A,Y4: A] :
            ( ( R3 @ X5 @ Y4 )
           => ( P @ X5 @ Y4 ) )
       => ( ! [X5: A,Y4: A,Z3: A] :
              ( ( transitive_tranclp @ A @ R3 @ X5 @ Y4 )
             => ( ( P @ X5 @ Y4 )
               => ( ( transitive_tranclp @ A @ R3 @ Y4 @ Z3 )
                 => ( ( P @ Y4 @ Z3 )
                   => ( P @ X5 @ Z3 ) ) ) ) )
         => ( P @ X3 @ Y ) ) ) ) )).

% tranclp_trans_induct
thf(fact_142_subsetI,axiom,(
    ! [A: $tType,A6: set @ A,B6: set @ A] :
      ( ! [X5: A] :
          ( ( member @ A @ X5 @ A6 )
         => ( member @ A @ X5 @ B6 ) )
     => ( ord_less_eq @ ( set @ A ) @ A6 @ B6 ) ) )).

% subsetI
thf(fact_143_tranclp_Or__into__trancl,axiom,(
    ! [A: $tType,R3: A > A > $o,A3: A,B3: A] :
      ( ( R3 @ A3 @ B3 )
     => ( transitive_tranclp @ A @ R3 @ A3 @ B3 ) ) )).

% tranclp.r_into_trancl
thf(fact_144_lock__action_Oexhaust,axiom,(
    ! [Y: lock_action] :
      ( ( Y != lock_Lock )
     => ( ( Y != lock_Unlock )
       => ( ( Y != lock_UnlockFail )
         => ( Y = lock_ReleaseAcquire ) ) ) ) )).

% lock_action.exhaust
thf(fact_145_tranclp__into__tranclp2,axiom,(
    ! [A: $tType,R3: A > A > $o,A3: A,B3: A,C3: A] :
      ( ( R3 @ A3 @ B3 )
     => ( ( transitive_tranclp @ A @ R3 @ B3 @ C3 )
       => ( transitive_tranclp @ A @ R3 @ A3 @ C3 ) ) ) )).

% tranclp_into_tranclp2
thf(fact_146_wait__set__action_Osize_I6_J,axiom,(
    ! [T: $tType,W: $tType,Xa2: T > nat,X3: W > nat] :
      ( ( wait_s6257567816659622979action @ T @ W @ Xa2 @ X3 @ ( wait_set_WokenUp @ T @ W ) )
      = ( suc @ ( zero_zero @ nat ) ) ) )).

% wait_set_action.size(6)
thf(fact_147_converse__tranclp__induct,axiom,(
    ! [A: $tType,R3: A > A > $o,A3: A,B3: A,P: A > $o] :
      ( ( transitive_tranclp @ A @ R3 @ A3 @ B3 )
     => ( ! [Y4: A] :
            ( ( R3 @ Y4 @ B3 )
           => ( P @ Y4 ) )
       => ( ! [Y4: A,Z3: A] :
              ( ( R3 @ Y4 @ Z3 )
             => ( ( transitive_tranclp @ A @ R3 @ Z3 @ B3 )
               => ( ( P @ Z3 )
                 => ( P @ Y4 ) ) ) )
         => ( P @ A3 ) ) ) ) )).

% converse_tranclp_induct
thf(fact_148_lock__action_Orec_I1_J,axiom,(
    ! [A: $tType,F1: A,F22: A,F32: A,F42: A] :
      ( ( lock_rec_lock_action @ A @ F1 @ F22 @ F32 @ F42 @ lock_Lock )
      = F1 ) )).

% lock_action.rec(1)
thf(fact_149_tranclp_Otrancl__into__trancl,axiom,(
    ! [A: $tType,R3: A > A > $o,A3: A,B3: A,C3: A] :
      ( ( transitive_tranclp @ A @ R3 @ A3 @ B3 )
     => ( ( R3 @ B3 @ C3 )
       => ( transitive_tranclp @ A @ R3 @ A3 @ C3 ) ) ) )).

% tranclp.trancl_into_trancl
thf(fact_150_lock__action_Oinduct,axiom,(
    ! [P: lock_action > $o,Lock_action: lock_action] :
      ( ( P @ lock_Lock )
     => ( ( P @ lock_Unlock )
       => ( ( P @ lock_UnlockFail )
         => ( ( P @ lock_ReleaseAcquire )
           => ( P @ Lock_action ) ) ) ) ) )).

% lock_action.induct
thf(fact_151_tranclpD,axiom,(
    ! [A: $tType,R: A > A > $o,X3: A,Y: A] :
      ( ( transitive_tranclp @ A @ R @ X3 @ Y )
     => ? [Z3: A] :
          ( ( R @ X3 @ Z3 )
          & ( transitive_rtranclp @ A @ R @ Z3 @ Y ) ) ) )).

% tranclpD
thf(fact_152_lock__action_Orec_I2_J,axiom,(
    ! [A: $tType,F1: A,F22: A,F32: A,F42: A] :
      ( ( lock_rec_lock_action @ A @ F1 @ F22 @ F32 @ F42 @ lock_Unlock )
      = F22 ) )).

% lock_action.rec(2)
thf(fact_153_rtranclpD,axiom,(
    ! [A: $tType,R: A > A > $o,A3: A,B3: A] :
      ( ( transitive_rtranclp @ A @ R @ A3 @ B3 )
     => ( ( A3 = B3 )
        | ( ( A3 != B3 )
          & ( transitive_tranclp @ A @ R @ A3 @ B3 ) ) ) ) )).

% rtranclpD
thf(fact_154_option_Oinject,axiom,(
    ! [A: $tType,X2: A,Y2: A] :
      ( ( ( some @ A @ X2 )
        = ( some @ A @ Y2 ) )
      = ( X2 = Y2 ) ) )).

% option.inject
thf(fact_155_tranclp__into__rtranclp,axiom,(
    ! [A: $tType,R3: A > A > $o,A3: A,B3: A] :
      ( ( transitive_tranclp @ A @ R3 @ A3 @ B3 )
     => ( transitive_rtranclp @ A @ R3 @ A3 @ B3 ) ) )).

% tranclp_into_rtranclp
thf(fact_156_case__prod__beta,axiom,(
    ! [A: $tType,C: $tType,B: $tType] :
      ( ( product_case_prod @ B @ C @ A )
      = ( ^ [F3: B > C > A,P3: product_prod @ B @ C] :
            ( F3 @ ( product_fst @ B @ C @ P3 ) @ ( product_snd @ B @ C @ P3 ) ) ) ) )).

% case_prod_beta
thf(fact_157_lock__action_Orec_I3_J,axiom,(
    ! [A: $tType,F1: A,F22: A,F32: A,F42: A] :
      ( ( lock_rec_lock_action @ A @ F1 @ F22 @ F32 @ F42 @ lock_UnlockFail )
      = F32 ) )).

% lock_action.rec(3)
thf(fact_158_rtranclp__into__tranclp1,axiom,(
    ! [A: $tType,R3: A > A > $o,A3: A,B3: A,C3: A] :
      ( ( transitive_rtranclp @ A @ R3 @ A3 @ B3 )
     => ( ( R3 @ B3 @ C3 )
       => ( transitive_tranclp @ A @ R3 @ A3 @ C3 ) ) ) )).

% rtranclp_into_tranclp1
thf(fact_159_prod_Ocase__eq__if,axiom,(
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( product_case_prod @ A @ B @ C )
      = ( ^ [F3: A > B > C,Prod2: product_prod @ A @ B] :
            ( F3 @ ( product_fst @ A @ B @ Prod2 ) @ ( product_snd @ A @ B @ Prod2 ) ) ) ) )).

% prod.case_eq_if
thf(fact_160_wait__set__action_Osize_I2_J,axiom,(
    ! [T: $tType,W: $tType,Xa2: T > nat,X3: W > nat,X2: W] :
      ( ( wait_s6257567816659622979action @ T @ W @ Xa2 @ X3 @ ( wait_set_Notify @ W @ T @ X2 ) )
      = ( plus_plus @ nat @ ( X3 @ X2 ) @ ( suc @ ( zero_zero @ nat ) ) ) ) )).

% wait_set_action.size(2)
thf(fact_161_Nitpick_Ortranclp__unfold,axiom,(
    ! [A: $tType] :
      ( ( transitive_rtranclp @ A )
      = ( ^ [R4: A > A > $o,A5: A,B5: A] :
            ( ( A5 = B5 )
            | ( transitive_tranclp @ A @ R4 @ A5 @ B5 ) ) ) ) )).

% Nitpick.rtranclp_unfold
thf(fact_162_option_Odistinct_I1_J,axiom,(
    ! [A: $tType,X2: A] :
      ( ( none @ A )
     != ( some @ A @ X2 ) ) )).

% option.distinct(1)
thf(fact_163_lock__action_Orec_I4_J,axiom,(
    ! [A: $tType,F1: A,F22: A,F32: A,F42: A] :
      ( ( lock_rec_lock_action @ A @ F1 @ F22 @ F32 @ F42 @ lock_ReleaseAcquire )
      = F42 ) )).

% lock_action.rec(4)
thf(fact_164_sndI,axiom,(
    ! [A: $tType,B: $tType,X3: product_prod @ A @ B,Y: A,Z4: B] :
      ( ( X3
        = ( product_Pair @ A @ B @ Y @ Z4 ) )
     => ( ( product_snd @ A @ B @ X3 )
        = Z4 ) ) )).

% sndI
thf(fact_165_list_Odistinct_I1_J,axiom,(
    ! [A: $tType,X21: A,X22: list @ A] :
      ( ( nil @ A )
     != ( cons @ A @ X21 @ X22 ) ) )).

% list.distinct(1)
thf(fact_166_prod_Oswap__def,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( product_swap @ A @ B )
      = ( ^ [P3: product_prod @ A @ B] :
            ( product_Pair @ B @ A @ ( product_snd @ A @ B @ P3 ) @ ( product_fst @ A @ B @ P3 ) ) ) ) )).

% prod.swap_def
thf(fact_167_eq__snd__iff,axiom,(
    ! [A: $tType,B: $tType,B3: A,P2: product_prod @ B @ A] :
      ( ( B3
        = ( product_snd @ B @ A @ P2 ) )
      = ( ? [A5: B] :
            ( P2
            = ( product_Pair @ B @ A @ A5 @ B3 ) ) ) ) )).

% eq_snd_iff
thf(fact_168_snd__swap,axiom,(
    ! [B: $tType,A: $tType,X3: product_prod @ A @ B] :
      ( ( product_snd @ B @ A @ ( product_swap @ A @ B @ X3 ) )
      = ( product_fst @ A @ B @ X3 ) ) )).

% snd_swap
thf(fact_169_someI__ex,axiom,(
    ! [A: $tType,P: A > $o] :
      ( ? [X_1: A] :
          ( P @ X_1 )
     => ( P @ ( hilbert_Eps @ A @ P ) ) ) )).

% someI_ex
thf(fact_170_fst__swap,axiom,(
    ! [A: $tType,B: $tType,X3: product_prod @ B @ A] :
      ( ( product_fst @ A @ B @ ( product_swap @ B @ A @ X3 ) )
      = ( product_snd @ B @ A @ X3 ) ) )).

% fst_swap
thf(fact_171_prod__eq__iff,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( ^ [Y3: product_prod @ A @ B,Z: product_prod @ A @ B] : ( Y3 = Z ) )
      = ( ^ [S4: product_prod @ A @ B,T3: product_prod @ A @ B] :
            ( ( ( product_fst @ A @ B @ S4 )
              = ( product_fst @ A @ B @ T3 ) )
            & ( ( product_snd @ A @ B @ S4 )
              = ( product_snd @ A @ B @ T3 ) ) ) ) ) )).

% prod_eq_iff
thf(fact_172_snd__eqD,axiom,(
    ! [B: $tType,A: $tType,X3: B,Y: A,A3: A] :
      ( ( ( product_snd @ B @ A @ ( product_Pair @ B @ A @ X3 @ Y ) )
        = A3 )
     => ( Y = A3 ) ) )).

% snd_eqD
thf(fact_173_pair__in__swap__image,axiom,(
    ! [A: $tType,B: $tType,Y: A,X3: B,A6: set @ ( product_prod @ B @ A )] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Y @ X3 ) @ ( image2 @ ( product_prod @ B @ A ) @ ( product_prod @ A @ B ) @ ( product_swap @ B @ A ) @ A6 ) )
      = ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ X3 @ Y ) @ A6 ) ) )).

% pair_in_swap_image
thf(fact_174_wait__set__action_Osize__gen_I1_J,axiom,(
    ! [T: $tType,W: $tType,Xa2: T > nat,X3: W > nat,X1: W] :
      ( ( wait_s6257567816659622979action @ T @ W @ Xa2 @ X3 @ ( wait_set_Suspend @ W @ T @ X1 ) )
      = ( plus_plus @ nat @ ( X3 @ X1 ) @ ( suc @ ( zero_zero @ nat ) ) ) ) )).

% wait_set_action.size_gen(1)
thf(fact_175_fst__comp__apsnd,axiom,(
    ! [C: $tType,B: $tType,A: $tType,F4: B > C] :
      ( ( comp @ ( product_prod @ A @ C ) @ A @ ( product_prod @ A @ B ) @ ( product_fst @ A @ C ) @ ( product_apsnd @ B @ C @ A @ F4 ) )
      = ( product_fst @ A @ B ) ) )).

% fst_comp_apsnd
thf(fact_176_reflclp__tranclp,axiom,(
    ! [A: $tType,R3: A > A > $o] :
      ( ( sup_sup @ ( A > A > $o ) @ ( transitive_tranclp @ A @ R3 )
        @ ^ [Y3: A,Z: A] : ( Y3 = Z ) )
      = ( transitive_rtranclp @ A @ R3 ) ) )).

% reflclp_tranclp
thf(fact_177_rec__prod__split,axiom,(
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( product_rec_prod @ A @ B @ C )
      = ( product_case_prod @ A @ B @ C ) ) )).

% rec_prod_split
thf(fact_178_reflclp__idemp,axiom,(
    ! [A: $tType,P: A > A > $o] :
      ( ( sup_sup @ ( A > A > $o )
        @ ( sup_sup @ ( A > A > $o ) @ P
          @ ^ [Y3: A,Z: A] : ( Y3 = Z ) )
        @ ^ [Y3: A,Z: A] : ( Y3 = Z ) )
      = ( sup_sup @ ( A > A > $o ) @ P
        @ ^ [Y3: A,Z: A] : ( Y3 = Z ) ) ) )).

% reflclp_idemp
thf(fact_179_Ball__def,axiom,(
    ! [A: $tType] :
      ( ( ball @ A )
      = ( ^ [A7: set @ A,P4: A > $o] :
          ! [X4: A] :
            ( ( member @ A @ X4 @ A7 )
           => ( P4 @ X4 ) ) ) ) )).

% Ball_def
thf(fact_180_rtranclp__reflclp__absorb,axiom,(
    ! [A: $tType,R: A > A > $o] :
      ( ( sup_sup @ ( A > A > $o ) @ ( transitive_rtranclp @ A @ R )
        @ ^ [Y3: A,Z: A] : ( Y3 = Z ) )
      = ( transitive_rtranclp @ A @ R ) ) )).

% rtranclp_reflclp_absorb
thf(fact_181_rtranclp__reflclp,axiom,(
    ! [A: $tType,R: A > A > $o] :
      ( ( transitive_rtranclp @ A
        @ ( sup_sup @ ( A > A > $o ) @ R
          @ ^ [Y3: A,Z: A] : ( Y3 = Z ) ) )
      = ( transitive_rtranclp @ A @ R ) ) )).

% rtranclp_reflclp
thf(fact_182_snd__apsnd,axiom,(
    ! [A: $tType,C: $tType,B: $tType,F4: C > A,X3: product_prod @ B @ C] :
      ( ( product_snd @ B @ A @ ( product_apsnd @ C @ A @ B @ F4 @ X3 ) )
      = ( F4 @ ( product_snd @ B @ C @ X3 ) ) ) )).

% snd_apsnd
thf(fact_183_apsnd__eq__conv,axiom,(
    ! [B: $tType,C: $tType,A: $tType,F4: C > B,X3: product_prod @ A @ C,G4: C > B] :
      ( ( ( product_apsnd @ C @ B @ A @ F4 @ X3 )
        = ( product_apsnd @ C @ B @ A @ G4 @ X3 ) )
      = ( ( F4 @ ( product_snd @ A @ C @ X3 ) )
        = ( G4 @ ( product_snd @ A @ C @ X3 ) ) ) ) )).

% apsnd_eq_conv
thf(fact_184_sup__apply,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( semilattice_sup @ B )
     => ( ( sup_sup @ ( A > B ) )
        = ( ^ [F3: A > B,G3: A > B,X4: A] :
              ( sup_sup @ B @ ( F3 @ X4 ) @ ( G3 @ X4 ) ) ) ) ) )).

% sup_apply
thf(fact_185_case__prod__curry,axiom,(
    ! [C: $tType,B: $tType,A: $tType,F4: ( product_prod @ A @ B ) > C] :
      ( ( product_case_prod @ A @ B @ C @ ( product_curry @ A @ B @ C @ F4 ) )
      = F4 ) )).

% case_prod_curry
thf(fact_186_curry__case__prod,axiom,(
    ! [C: $tType,B: $tType,A: $tType,F4: A > B > C] :
      ( ( product_curry @ A @ B @ C @ ( product_case_prod @ A @ B @ C @ F4 ) )
      = F4 ) )).

% curry_case_prod
thf(fact_187_exI__realizer,axiom,(
    ! [B: $tType,A: $tType,P: A > B > $o,Y: A,X3: B] :
      ( ( P @ Y @ X3 )
     => ( P @ ( product_snd @ B @ A @ ( product_Pair @ B @ A @ X3 @ Y ) ) @ ( product_fst @ B @ A @ ( product_Pair @ B @ A @ X3 @ Y ) ) ) ) )).

% exI_realizer
thf(fact_188_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,(
    ! [B: $tType,A: $tType,P: A > B > $o,X3: A,Y: B,A3: product_prod @ A @ B] :
      ( ( P @ X3 @ Y )
     => ( ( A3
          = ( product_Pair @ A @ B @ X3 @ Y ) )
       => ( P @ ( product_fst @ A @ B @ A3 ) @ ( product_snd @ A @ B @ A3 ) ) ) ) )).

% BNF_Greatest_Fixpoint.subst_Pair
thf(fact_189_conjI__realizer,axiom,(
    ! [A: $tType,B: $tType,P: A > $o,P2: A,Q: B > $o,Q2: B] :
      ( ( P @ P2 )
     => ( ( Q @ Q2 )
       => ( ( P @ ( product_fst @ A @ B @ ( product_Pair @ A @ B @ P2 @ Q2 ) ) )
          & ( Q @ ( product_snd @ A @ B @ ( product_Pair @ A @ B @ P2 @ Q2 ) ) ) ) ) ) )).

% conjI_realizer
thf(fact_190_snd__comp__apsnd,axiom,(
    ! [C: $tType,B: $tType,A: $tType,F4: B > C] :
      ( ( comp @ ( product_prod @ A @ C ) @ C @ ( product_prod @ A @ B ) @ ( product_snd @ A @ C ) @ ( product_apsnd @ B @ C @ A @ F4 ) )
      = ( comp @ B @ C @ ( product_prod @ A @ B ) @ F4 @ ( product_snd @ A @ B ) ) ) )).

% snd_comp_apsnd
thf(fact_191_case__prod__unfold,axiom,(
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( product_case_prod @ A @ B @ C )
      = ( ^ [C4: A > B > C,P3: product_prod @ A @ B] :
            ( C4 @ ( product_fst @ A @ B @ P3 ) @ ( product_snd @ A @ B @ P3 ) ) ) ) )).

% case_prod_unfold
thf(fact_192_wait__set__action_Osize_I5_J,axiom,(
    ! [T: $tType,W: $tType,Xa2: T > nat,X3: W > nat] :
      ( ( wait_s6257567816659622979action @ T @ W @ Xa2 @ X3 @ ( wait_set_Notified @ T @ W ) )
      = ( suc @ ( zero_zero @ nat ) ) ) )).

% wait_set_action.size(5)
thf(fact_193_comp__apply__eq,axiom,(
    ! [B: $tType,D: $tType,A: $tType,C: $tType,F4: B > A,G4: C > B,X3: C,H: D > A,K: C > D] :
      ( ( ( F4 @ ( G4 @ X3 ) )
        = ( H @ ( K @ X3 ) ) )
     => ( ( comp @ B @ A @ C @ F4 @ G4 @ X3 )
        = ( comp @ D @ A @ C @ H @ K @ X3 ) ) ) )).

% comp_apply_eq
thf(fact_194_exhaustive__int_H_Ocases,axiom,(
    ! [X3: product_prod @ ( int > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ) ) @ ( product_prod @ int @ int )] :
      ~ ! [F2: int > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ),D2: int,I: int] :
          ( X3
         != ( product_Pair @ ( int > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ) ) @ ( product_prod @ int @ int ) @ F2 @ ( product_Pair @ int @ int @ D2 @ I ) ) ) )).

% exhaustive_int'.cases
thf(fact_195_Product__Type_OCollect__case__prodD,axiom,(
    ! [B: $tType,A: $tType,X3: product_prod @ A @ B,A6: A > B > $o] :
      ( ( member @ ( product_prod @ A @ B ) @ X3 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ A6 ) ) )
     => ( A6 @ ( product_fst @ A @ B @ X3 ) @ ( product_snd @ A @ B @ X3 ) ) ) )).

% Product_Type.Collect_case_prodD
thf(fact_196_full__exhaustive__int_H_Ocases,axiom,(
    ! [X3: product_prod @ ( ( product_prod @ int @ ( product_unit > code_term ) ) > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ) ) @ ( product_prod @ int @ int )] :
      ~ ! [F2: ( product_prod @ int @ ( product_unit > code_term ) ) > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ),D2: int,I: int] :
          ( X3
         != ( product_Pair @ ( ( product_prod @ int @ ( product_unit > code_term ) ) > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ) ) @ ( product_prod @ int @ int ) @ F2 @ ( product_Pair @ int @ int @ D2 @ I ) ) ) )).

% full_exhaustive_int'.cases
thf(fact_197_lock__action_Orec__transfer,axiom,(
    ! [A: $tType,B: $tType,S3: A > B > $o] :
      ( bNF_rel_fun @ A @ B @ ( A > A > A > lock_action > A ) @ ( B > B > B > lock_action > B ) @ S3
      @ ( bNF_rel_fun @ A @ B @ ( A > A > lock_action > A ) @ ( B > B > lock_action > B ) @ S3
        @ ( bNF_rel_fun @ A @ B @ ( A > lock_action > A ) @ ( B > lock_action > B ) @ S3
          @ ( bNF_rel_fun @ A @ B @ ( lock_action > A ) @ ( lock_action > B ) @ S3
            @ ( bNF_rel_fun @ lock_action @ lock_action @ A @ B
              @ ^ [Y3: lock_action,Z: lock_action] : ( Y3 = Z )
              @ S3 ) ) ) )
      @ ( lock_rec_lock_action @ A )
      @ ( lock_rec_lock_action @ B ) ) )).

% lock_action.rec_transfer
thf(fact_198_equalityI,axiom,(
    ! [A: $tType,A6: set @ A,B6: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
     => ( ( ord_less_eq @ ( set @ A ) @ B6 @ A6 )
       => ( A6 = B6 ) ) ) )).

% equalityI
thf(fact_199_empty__iff,axiom,(
    ! [A: $tType,C3: A] :
      ~ ( member @ A @ C3 @ ( bot_bot @ ( set @ A ) ) ) )).

% empty_iff
thf(fact_200_insert__iff,axiom,(
    ! [A: $tType,A3: A,B3: A,A6: set @ A] :
      ( ( member @ A @ A3 @ ( insert2 @ A @ B3 @ A6 ) )
      = ( ( A3 = B3 )
        | ( member @ A @ A3 @ A6 ) ) ) )).

% insert_iff
thf(fact_201_prod_Osplit__sel,axiom,(
    ! [C: $tType,B: $tType,A: $tType,P: C > $o,F4: A > B > C,Prod: product_prod @ A @ B] :
      ( ( P @ ( product_case_prod @ A @ B @ C @ F4 @ Prod ) )
      = ( ( Prod
          = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) )
       => ( P @ ( F4 @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) ) ) ) )).

% prod.split_sel
thf(fact_202_UNIV__I,axiom,(
    ! [A: $tType,X3: A] :
      ( member @ A @ X3 @ ( top_top @ ( set @ A ) ) ) )).

% UNIV_I
thf(fact_203_prod_Osplit__sel__asm,axiom,(
    ! [C: $tType,B: $tType,A: $tType,P: C > $o,F4: A > B > C,Prod: product_prod @ A @ B] :
      ( ( P @ ( product_case_prod @ A @ B @ C @ F4 @ Prod ) )
      = ( ~ ( ( Prod
              = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) )
            & ~ ( P @ ( F4 @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) ) ) ) ) )).

% prod.split_sel_asm
thf(fact_204_in__lex__prod,axiom,(
    ! [A: $tType,B: $tType,A3: A,B3: B,A4: A,B4: B,R3: set @ ( product_prod @ A @ A ),S: set @ ( product_prod @ B @ B )] :
      ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ ( product_Pair @ A @ B @ A4 @ B4 ) ) @ ( lex_prod @ A @ B @ R3 @ S ) )
      = ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ A4 ) @ R3 )
        | ( ( A3 = A4 )
          & ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ B3 @ B4 ) @ S ) ) ) ) )).

% in_lex_prod
thf(fact_205_exhaustive__natural_H_Ocases,axiom,(
    ! [X3: product_prod @ ( code_natural > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ) ) @ ( product_prod @ code_natural @ code_natural )] :
      ~ ! [F2: code_natural > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ),D2: code_natural,I: code_natural] :
          ( X3
         != ( product_Pair @ ( code_natural > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ) ) @ ( product_prod @ code_natural @ code_natural ) @ F2 @ ( product_Pair @ code_natural @ code_natural @ D2 @ I ) ) ) )).

% exhaustive_natural'.cases
thf(fact_206_mem__case__prodE,axiom,(
    ! [B: $tType,A: $tType,C: $tType,Z4: A,C3: B > C > ( set @ A ),P2: product_prod @ B @ C] :
      ( ( member @ A @ Z4 @ ( product_case_prod @ B @ C @ ( set @ A ) @ C3 @ P2 ) )
     => ~ ! [X5: B,Y4: C] :
            ( ( P2
              = ( product_Pair @ B @ C @ X5 @ Y4 ) )
           => ~ ( member @ A @ Z4 @ ( C3 @ X5 @ Y4 ) ) ) ) )).

% mem_case_prodE
thf(fact_207_prod__eqI,axiom,(
    ! [B: $tType,A: $tType,P2: product_prod @ A @ B,Q2: product_prod @ A @ B] :
      ( ( ( product_fst @ A @ B @ P2 )
        = ( product_fst @ A @ B @ Q2 ) )
     => ( ( ( product_snd @ A @ B @ P2 )
          = ( product_snd @ A @ B @ Q2 ) )
       => ( P2 = Q2 ) ) ) )).

% prod_eqI
thf(fact_208_conditional__action_Osize__neq,axiom,(
    ! [T: $tType,X3: conditional_action @ T] :
      ( ( size_size @ ( conditional_action @ T ) @ X3 )
     != ( zero_zero @ nat ) ) )).

% conditional_action.size_neq
thf(fact_209_prod_Oexpand,axiom,(
    ! [B: $tType,A: $tType,Prod: product_prod @ A @ B,Prod3: product_prod @ A @ B] :
      ( ( ( ( product_fst @ A @ B @ Prod )
          = ( product_fst @ A @ B @ Prod3 ) )
        & ( ( product_snd @ A @ B @ Prod )
          = ( product_snd @ A @ B @ Prod3 ) ) )
     => ( Prod = Prod3 ) ) )).

% prod.expand
thf(fact_210_exhaustive__integer_H_Ocases,axiom,(
    ! [X3: product_prod @ ( code_integer > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ) ) @ ( product_prod @ code_integer @ code_integer )] :
      ~ ! [F2: code_integer > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ),D2: code_integer,I: code_integer] :
          ( X3
         != ( product_Pair @ ( code_integer > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ) ) @ ( product_prod @ code_integer @ code_integer ) @ F2 @ ( product_Pair @ code_integer @ code_integer @ D2 @ I ) ) ) )).

% exhaustive_integer'.cases
thf(fact_211_map__fun__def,axiom,(
    ! [B: $tType,D: $tType,A: $tType,C: $tType] :
      ( ( map_fun @ C @ A @ B @ D )
      = ( ^ [F3: C > A,G3: B > D,H2: A > B] :
            ( comp @ A @ D @ C @ ( comp @ B @ D @ A @ G3 @ H2 ) @ F3 ) ) ) )).

% map_fun_def
thf(fact_212_rtranclp__sup__rtranclp,axiom,(
    ! [A: $tType,R: A > A > $o,S3: A > A > $o] :
      ( ( transitive_rtranclp @ A @ ( sup_sup @ ( A > A > $o ) @ ( transitive_rtranclp @ A @ R ) @ ( transitive_rtranclp @ A @ S3 ) ) )
      = ( transitive_rtranclp @ A @ ( sup_sup @ ( A > A > $o ) @ R @ S3 ) ) ) )).

% rtranclp_sup_rtranclp
thf(fact_213_dropWhile__eq__Nil__conv,axiom,(
    ! [A: $tType,P: A > $o,Xs: list @ A] :
      ( ( ( dropWhile @ A @ P @ Xs )
        = ( nil @ A ) )
      = ( ! [X4: A] :
            ( ( member @ A @ X4 @ ( set2 @ A @ Xs ) )
           => ( P @ X4 ) ) ) ) )).

% dropWhile_eq_Nil_conv
thf(fact_214_UnCI,axiom,(
    ! [A: $tType,C3: A,B6: set @ A,A6: set @ A] :
      ( ( ~ ( member @ A @ C3 @ B6 )
       => ( member @ A @ C3 @ A6 ) )
     => ( member @ A @ C3 @ ( sup_sup @ ( set @ A ) @ A6 @ B6 ) ) ) )).

% UnCI
thf(fact_215_Rel__def,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( rel @ A @ B )
      = ( ^ [R4: A > B > $o] : R4 ) ) )).

% Rel_def
thf(fact_216_apsnd__compose,axiom,(
    ! [C: $tType,B: $tType,D: $tType,A: $tType,F4: C > B,G4: D > C,X3: product_prod @ A @ D] :
      ( ( product_apsnd @ C @ B @ A @ F4 @ ( product_apsnd @ D @ C @ A @ G4 @ X3 ) )
      = ( product_apsnd @ D @ B @ A @ ( comp @ C @ B @ D @ F4 @ G4 ) @ X3 ) ) )).

% apsnd_compose
thf(fact_217_conditional__action_Osize_I3_J,axiom,(
    ! [T: $tType,X1: T] :
      ( ( size_size @ ( conditional_action @ T ) @ ( conditional_Join @ T @ X1 ) )
      = ( suc @ ( zero_zero @ nat ) ) ) )).

% conditional_action.size(3)
thf(fact_218_conditional__action_Osize_I4_J,axiom,(
    ! [T: $tType] :
      ( ( size_size @ ( conditional_action @ T ) @ ( conditional_Yield @ T ) )
      = ( suc @ ( zero_zero @ nat ) ) ) )).

% conditional_action.size(4)
thf(fact_219_surjective__pairing,axiom,(
    ! [B: $tType,A: $tType,T4: product_prod @ A @ B] :
      ( T4
      = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ T4 ) @ ( product_snd @ A @ B @ T4 ) ) ) )).

% surjective_pairing
thf(fact_220_map__tailrec__rev_Ocases,axiom,(
    ! [A: $tType,B: $tType,X3: product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) )] :
      ( ! [F2: A > B,Bs: list @ B] :
          ( X3
         != ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ F2 @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ Bs ) ) )
     => ~ ! [F2: A > B,A2: A,As: list @ A,Bs: list @ B] :
            ( X3
           != ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ F2 @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ A2 @ As ) @ Bs ) ) ) ) )).

% map_tailrec_rev.cases
thf(fact_221_prod_Oexhaust__sel,axiom,(
    ! [B: $tType,A: $tType,Prod: product_prod @ A @ B] :
      ( Prod
      = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) ) )).

% prod.exhaust_sel
thf(fact_222_apfst__conv,axiom,(
    ! [C: $tType,A: $tType,B: $tType,F4: C > A,X3: C,Y: B] :
      ( ( product_apfst @ C @ A @ B @ F4 @ ( product_Pair @ C @ B @ X3 @ Y ) )
      = ( product_Pair @ A @ B @ ( F4 @ X3 ) @ Y ) ) )).

% apfst_conv
thf(fact_223_split__cong,axiom,(
    ! [C: $tType,B: $tType,A: $tType,Q2: product_prod @ A @ B,F4: A > B > C,G4: A > B > C,P2: product_prod @ A @ B] :
      ( ! [X5: A,Y4: B] :
          ( ( ( product_Pair @ A @ B @ X5 @ Y4 )
            = Q2 )
         => ( ( F4 @ X5 @ Y4 )
            = ( G4 @ X5 @ Y4 ) ) )
     => ( ( P2 = Q2 )
       => ( ( product_case_prod @ A @ B @ C @ F4 @ P2 )
          = ( product_case_prod @ A @ B @ C @ G4 @ Q2 ) ) ) ) )).

% split_cong
thf(fact_224_full__exhaustive__natural_H_Ocases,axiom,(
    ! [X3: product_prod @ ( ( product_prod @ code_natural @ ( product_unit > code_term ) ) > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ) ) @ ( product_prod @ code_natural @ code_natural )] :
      ~ ! [F2: ( product_prod @ code_natural @ ( product_unit > code_term ) ) > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ),D2: code_natural,I: code_natural] :
          ( X3
         != ( product_Pair @ ( ( product_prod @ code_natural @ ( product_unit > code_term ) ) > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ) ) @ ( product_prod @ code_natural @ code_natural ) @ F2 @ ( product_Pair @ code_natural @ code_natural @ D2 @ I ) ) ) )).

% full_exhaustive_natural'.cases
thf(fact_225_Un__iff,axiom,(
    ! [A: $tType,C3: A,A6: set @ A,B6: set @ A] :
      ( ( member @ A @ C3 @ ( sup_sup @ ( set @ A ) @ A6 @ B6 ) )
      = ( ( member @ A @ C3 @ A6 )
        | ( member @ A @ C3 @ B6 ) ) ) )).

% Un_iff
thf(fact_226_takeWhile__eq__all__conv,axiom,(
    ! [A: $tType,P: A > $o,Xs: list @ A] :
      ( ( ( takeWhile @ A @ P @ Xs )
        = Xs )
      = ( ! [X4: A] :
            ( ( member @ A @ X4 @ ( set2 @ A @ Xs ) )
           => ( P @ X4 ) ) ) ) )).

% takeWhile_eq_all_conv
thf(fact_227_full__exhaustive__integer_H_Ocases,axiom,(
    ! [X3: product_prod @ ( ( product_prod @ code_integer @ ( product_unit > code_term ) ) > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ) ) @ ( product_prod @ code_integer @ code_integer )] :
      ~ ! [F2: ( product_prod @ code_integer @ ( product_unit > code_term ) ) > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ),D2: code_integer,I: code_integer] :
          ( X3
         != ( product_Pair @ ( ( product_prod @ code_integer @ ( product_unit > code_term ) ) > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ) ) @ ( product_prod @ code_integer @ code_integer ) @ F2 @ ( product_Pair @ code_integer @ code_integer @ D2 @ I ) ) ) )).

% full_exhaustive_integer'.cases
thf(fact_228_full__exhaustive__fun_H_Ocases,axiom,(
    ! [A: $tType,B: $tType] :
      ( ( ( quickc3360725361186068524ustive @ B )
        & ( cl_HOL_Oequal @ A )
        & ( quickc3360725361186068524ustive @ A ) )
     => ! [X3: product_prod @ ( ( product_prod @ ( A > B ) @ ( product_unit > code_term ) ) > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ) ) @ ( product_prod @ code_natural @ code_natural )] :
          ~ ! [F2: ( product_prod @ ( A > B ) @ ( product_unit > code_term ) ) > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ),I: code_natural,D2: code_natural] :
              ( X3
             != ( product_Pair @ ( ( product_prod @ ( A > B ) @ ( product_unit > code_term ) ) > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ) ) @ ( product_prod @ code_natural @ code_natural ) @ F2 @ ( product_Pair @ code_natural @ code_natural @ I @ D2 ) ) ) ) )).

% full_exhaustive_fun'.cases
thf(fact_229_sup2CI,axiom,(
    ! [A: $tType,B: $tType,B6: A > B > $o,X3: A,Y: B,A6: A > B > $o] :
      ( ( ~ ( B6 @ X3 @ Y )
       => ( A6 @ X3 @ Y ) )
     => ( sup_sup @ ( A > B > $o ) @ A6 @ B6 @ X3 @ Y ) ) )).

% sup2CI
thf(fact_230_extract__def,axiom,(
    ! [A: $tType] :
      ( ( extract @ A )
      = ( ^ [P4: A > $o,Xs2: list @ A] :
            ( case_list @ ( option @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ ( list @ A ) ) ) ) @ A @ ( none @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ ( list @ A ) ) ) )
            @ ^ [Y5: A,Ys: list @ A] :
                ( some @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ ( list @ A ) ) ) @ ( product_Pair @ ( list @ A ) @ ( product_prod @ A @ ( list @ A ) ) @ ( takeWhile @ A @ ( comp @ $o @ $o @ A @ (~) @ P4 ) @ Xs2 ) @ ( product_Pair @ A @ ( list @ A ) @ Y5 @ Ys ) ) )
            @ ( dropWhile @ A @ ( comp @ $o @ $o @ A @ (~) @ P4 ) @ Xs2 ) ) ) ) )).

% extract_def
thf(fact_231_sup_Oright__idem,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [A3: A,B3: A] :
          ( ( sup_sup @ A @ ( sup_sup @ A @ A3 @ B3 ) @ B3 )
          = ( sup_sup @ A @ A3 @ B3 ) ) ) )).

% sup.right_idem
thf(fact_232_rev__image__eqI,axiom,(
    ! [B: $tType,A: $tType,X3: A,A6: set @ A,B3: B,F4: A > B] :
      ( ( member @ A @ X3 @ A6 )
     => ( ( B3
          = ( F4 @ X3 ) )
       => ( member @ B @ B3 @ ( image2 @ A @ B @ F4 @ A6 ) ) ) ) )).

% rev_image_eqI
thf(fact_233_eq__OO,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( relcompp @ A @ A @ B
        @ ^ [Y3: A,Z: A] : ( Y3 = Z )
        @ R )
      = R ) )).

% eq_OO
thf(fact_234_sup__left__idem,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [X3: A,Y: A] :
          ( ( sup_sup @ A @ X3 @ ( sup_sup @ A @ X3 @ Y ) )
          = ( sup_sup @ A @ X3 @ Y ) ) ) )).

% sup_left_idem
thf(fact_235_extract__SomeE,axiom,(
    ! [A: $tType,P: A > $o,Xs: list @ A,Ys2: list @ A,Y: A,Zs: list @ A] :
      ( ( ( extract @ A @ P @ Xs )
        = ( some @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ ( list @ A ) ) ) @ ( product_Pair @ ( list @ A ) @ ( product_prod @ A @ ( list @ A ) ) @ Ys2 @ ( product_Pair @ A @ ( list @ A ) @ Y @ Zs ) ) ) )
     => ( ( Xs
          = ( append @ A @ Ys2 @ ( cons @ A @ Y @ Zs ) ) )
        & ( P @ Y )
        & ~ ? [X6: A] :
              ( ( member @ A @ X6 @ ( set2 @ A @ Ys2 ) )
              & ( P @ X6 ) ) ) ) )).

% extract_SomeE
thf(fact_236_sup_Oleft__idem,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [A3: A,B3: A] :
          ( ( sup_sup @ A @ A3 @ ( sup_sup @ A @ A3 @ B3 ) )
          = ( sup_sup @ A @ A3 @ B3 ) ) ) )).

% sup.left_idem
thf(fact_237_zip__assoc,axiom,(
    ! [B: $tType,A: $tType,C: $tType,Xs: list @ A,Ys2: list @ B,Zs: list @ C] :
      ( ( zip @ A @ ( product_prod @ B @ C ) @ Xs @ ( zip @ B @ C @ Ys2 @ Zs ) )
      = ( map @ ( product_prod @ ( product_prod @ A @ B ) @ C ) @ ( product_prod @ A @ ( product_prod @ B @ C ) )
        @ ( product_case_prod @ ( product_prod @ A @ B ) @ C @ ( product_prod @ A @ ( product_prod @ B @ C ) )
          @ ( product_case_prod @ A @ B @ ( C > ( product_prod @ A @ ( product_prod @ B @ C ) ) )
            @ ^ [X4: A,Y5: B,Z2: C] :
                ( product_Pair @ A @ ( product_prod @ B @ C ) @ X4 @ ( product_Pair @ B @ C @ Y5 @ Z2 ) ) ) )
        @ ( zip @ ( product_prod @ A @ B ) @ C @ ( zip @ A @ B @ Xs @ Ys2 ) @ Zs ) ) ) )).

% zip_assoc
thf(fact_238_sup__idem,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [X3: A] :
          ( ( sup_sup @ A @ X3 @ X3 )
          = X3 ) ) )).

% sup_idem
thf(fact_239_UnE,axiom,(
    ! [A: $tType,C3: A,A6: set @ A,B6: set @ A] :
      ( ( member @ A @ C3 @ ( sup_sup @ ( set @ A ) @ A6 @ B6 ) )
     => ( ~ ( member @ A @ C3 @ A6 )
       => ( member @ A @ C3 @ B6 ) ) ) )).

% UnE
thf(fact_240_list_Ocase_I2_J,axiom,(
    ! [B: $tType,A: $tType,F1: B,F22: A > ( list @ A ) > B,X21: A,X22: list @ A] :
      ( ( case_list @ B @ A @ F1 @ F22 @ ( cons @ A @ X21 @ X22 ) )
      = ( F22 @ X21 @ X22 ) ) )).

% list.case(2)
thf(fact_241_sup_Oidem,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [A3: A] :
          ( ( sup_sup @ A @ A3 @ A3 )
          = A3 ) ) )).

% sup.idem
thf(fact_242_rtrancl3p_Oinduct,axiom,(
    ! [B: $tType,A: $tType,R3: A > B > A > $o,X1: A,X2: list @ B,X32: A,P: A > ( list @ B ) > A > $o] :
      ( ( rtrancl3p @ A @ B @ R3 @ X1 @ X2 @ X32 )
     => ( ! [A2: A] :
            ( P @ A2 @ ( nil @ B ) @ A2 )
       => ( ! [A2: A,Bs: list @ B,A8: A,B2: B,A9: A] :
              ( ( rtrancl3p @ A @ B @ R3 @ A2 @ Bs @ A8 )
             => ( ( P @ A2 @ Bs @ A8 )
               => ( ( R3 @ A8 @ B2 @ A9 )
                 => ( P @ A2 @ ( append @ B @ Bs @ ( cons @ B @ B2 @ ( nil @ B ) ) ) @ A9 ) ) ) )
         => ( P @ X1 @ X2 @ X32 ) ) ) ) )).

% rtrancl3p.induct
thf(fact_243_inf__sup__aci_I8_J,axiom,(
    ! [A: $tType] :
      ( ( lattice @ A )
     => ! [X3: A,Y: A] :
          ( ( sup_sup @ A @ X3 @ ( sup_sup @ A @ X3 @ Y ) )
          = ( sup_sup @ A @ X3 @ Y ) ) ) )).

% inf_sup_aci(8)
thf(fact_244_bi__unique__eq,axiom,(
    ! [A: $tType] :
      ( bi_unique @ A @ A
      @ ^ [Y3: A,Z: A] : ( Y3 = Z ) ) )).

% bi_unique_eq
thf(fact_245_inf__sup__aci_I7_J,axiom,(
    ! [A: $tType] :
      ( ( lattice @ A )
     => ! [X3: A,Y: A,Z4: A] :
          ( ( sup_sup @ A @ X3 @ ( sup_sup @ A @ Y @ Z4 ) )
          = ( sup_sup @ A @ Y @ ( sup_sup @ A @ X3 @ Z4 ) ) ) ) )).

% inf_sup_aci(7)
thf(fact_246_identity__quotient,axiom,(
    ! [A: $tType] :
      ( quotient @ A @ A
      @ ^ [Y3: A,Z: A] : ( Y3 = Z )
      @ ( id @ A )
      @ ( id @ A )
      @ ^ [Y3: A,Z: A] : ( Y3 = Z ) ) )).

% identity_quotient
thf(fact_247_inf__sup__aci_I6_J,axiom,(
    ! [A: $tType] :
      ( ( lattice @ A )
     => ! [X3: A,Y: A,Z4: A] :
          ( ( sup_sup @ A @ ( sup_sup @ A @ X3 @ Y ) @ Z4 )
          = ( sup_sup @ A @ X3 @ ( sup_sup @ A @ Y @ Z4 ) ) ) ) )).

% inf_sup_aci(6)
thf(fact_248_conditional__action_Orel__eq,axiom,(
    ! [A: $tType] :
      ( ( condit4280512358590153947action @ A @ A
        @ ^ [Y3: A,Z: A] : ( Y3 = Z ) )
      = ( ^ [Y3: conditional_action @ A,Z: conditional_action @ A] : ( Y3 = Z ) ) ) )).

% conditional_action.rel_eq
thf(fact_249_inf__sup__aci_I5_J,axiom,(
    ! [A: $tType] :
      ( ( lattice @ A )
     => ( ( sup_sup @ A )
        = ( ^ [X4: A,Y5: A] :
              ( sup_sup @ A @ Y5 @ X4 ) ) ) ) )).

% inf_sup_aci(5)
thf(fact_250_fold__atLeastAtMost__nat_Ocases,axiom,(
    ! [A: $tType,X3: product_prod @ ( nat > A > A ) @ ( product_prod @ nat @ ( product_prod @ nat @ A ) )] :
      ~ ! [F2: nat > A > A,A2: nat,B2: nat,Acc: A] :
          ( X3
         != ( product_Pair @ ( nat > A > A ) @ ( product_prod @ nat @ ( product_prod @ nat @ A ) ) @ F2 @ ( product_Pair @ nat @ ( product_prod @ nat @ A ) @ A2 @ ( product_Pair @ nat @ A @ B2 @ Acc ) ) ) ) )).

% fold_atLeastAtMost_nat.cases
thf(fact_251_boolean__algebra__cancel_Osup1,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [A6: A,K: A,A3: A,B3: A] :
          ( ( A6
            = ( sup_sup @ A @ K @ A3 ) )
         => ( ( sup_sup @ A @ A6 @ B3 )
            = ( sup_sup @ A @ K @ ( sup_sup @ A @ A3 @ B3 ) ) ) ) ) )).

% boolean_algebra_cancel.sup1
thf(fact_252_fun__upd__apply,axiom,(
    ! [A: $tType,B: $tType] :
      ( ( fun_upd @ B @ A )
      = ( ^ [F3: B > A,X4: B,Y5: A,Z2: B] :
            ( if @ A @ ( Z2 = X4 ) @ Y5 @ ( F3 @ Z2 ) ) ) ) )).

% fun_upd_apply
thf(fact_253_boolean__algebra__cancel_Osup2,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [B6: A,K: A,B3: A,A3: A] :
          ( ( B6
            = ( sup_sup @ A @ K @ B3 ) )
         => ( ( sup_sup @ A @ A3 @ B6 )
            = ( sup_sup @ A @ K @ ( sup_sup @ A @ A3 @ B3 ) ) ) ) ) )).

% boolean_algebra_cancel.sup2
thf(fact_254_new__thread__action_Osize__neq,axiom,(
    ! [T: $tType,X: $tType,M: $tType,X3: new_thread_action @ T @ X @ M] :
      ( ( size_size @ ( new_thread_action @ T @ X @ M ) @ X3 )
     != ( zero_zero @ nat ) ) )).

% new_thread_action.size_neq
thf(fact_255_sup_Oassoc,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [A3: A,B3: A,C3: A] :
          ( ( sup_sup @ A @ ( sup_sup @ A @ A3 @ B3 ) @ C3 )
          = ( sup_sup @ A @ A3 @ ( sup_sup @ A @ B3 @ C3 ) ) ) ) )).

% sup.assoc
thf(fact_256_Rel__abs,axiom,(
    ! [A: $tType,C: $tType,D: $tType,B: $tType,A6: A > B > $o,B6: C > D > $o,F4: A > C,G4: B > D] :
      ( ! [X5: A,Y4: B] :
          ( ( rel @ A @ B @ A6 @ X5 @ Y4 )
         => ( rel @ C @ D @ B6 @ ( F4 @ X5 ) @ ( G4 @ Y4 ) ) )
     => ( rel @ ( A > C ) @ ( B > D ) @ ( bNF_rel_fun @ A @ B @ C @ D @ A6 @ B6 ) @ F4 @ G4 ) ) )).

% Rel_abs
thf(fact_257_sup__assoc,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [X3: A,Y: A,Z4: A] :
          ( ( sup_sup @ A @ ( sup_sup @ A @ X3 @ Y ) @ Z4 )
          = ( sup_sup @ A @ X3 @ ( sup_sup @ A @ Y @ Z4 ) ) ) ) )).

% sup_assoc
thf(fact_258_zip__left__commute,axiom,(
    ! [B: $tType,A: $tType,C: $tType,Xs: list @ A,Ys2: list @ B,Zs: list @ C] :
      ( ( zip @ A @ ( product_prod @ B @ C ) @ Xs @ ( zip @ B @ C @ Ys2 @ Zs ) )
      = ( map @ ( product_prod @ B @ ( product_prod @ A @ C ) ) @ ( product_prod @ A @ ( product_prod @ B @ C ) )
        @ ( product_case_prod @ B @ ( product_prod @ A @ C ) @ ( product_prod @ A @ ( product_prod @ B @ C ) )
          @ ^ [Y5: B] :
              ( product_case_prod @ A @ C @ ( product_prod @ A @ ( product_prod @ B @ C ) )
              @ ^ [X4: A,Z2: C] :
                  ( product_Pair @ A @ ( product_prod @ B @ C ) @ X4 @ ( product_Pair @ B @ C @ Y5 @ Z2 ) ) ) )
        @ ( zip @ B @ ( product_prod @ A @ C ) @ Ys2 @ ( zip @ A @ C @ Xs @ Zs ) ) ) ) )).

% zip_left_commute
thf(fact_259_sup_Ocommute,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ( ( sup_sup @ A )
        = ( ^ [A5: A,B5: A] :
              ( sup_sup @ A @ B5 @ A5 ) ) ) ) )).

% sup.commute
thf(fact_260_new__thread__action_Osize_I3_J,axiom,(
    ! [M: $tType,T: $tType,X: $tType,X11: T,X12: X,X13: M] :
      ( ( size_size @ ( new_thread_action @ T @ X @ M ) @ ( new_thread_NewThread @ T @ X @ M @ X11 @ X12 @ X13 ) )
      = ( suc @ ( zero_zero @ nat ) ) ) )).

% new_thread_action.size(3)
thf(fact_261_sup__commute,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ( ( sup_sup @ A )
        = ( ^ [X4: A,Y5: A] :
              ( sup_sup @ A @ Y5 @ X4 ) ) ) ) )).

% sup_commute
thf(fact_262_wait__set__action_Osize__neq,axiom,(
    ! [T: $tType,W: $tType,X3: wait_set_action @ T @ W] :
      ( ( size_size @ ( wait_set_action @ T @ W ) @ X3 )
     != ( zero_zero @ nat ) ) )).

% wait_set_action.size_neq
thf(fact_263_sup_Oleft__commute,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [B3: A,A3: A,C3: A] :
          ( ( sup_sup @ A @ B3 @ ( sup_sup @ A @ A3 @ C3 ) )
          = ( sup_sup @ A @ A3 @ ( sup_sup @ A @ B3 @ C3 ) ) ) ) )).

% sup.left_commute
thf(fact_264_eq__onp__le__eq,axiom,(
    ! [A: $tType,P: A > $o] :
      ( ord_less_eq @ ( A > A > $o ) @ ( bNF_eq_onp @ A @ P )
      @ ^ [Y3: A,Z: A] : ( Y3 = Z ) ) )).

% eq_onp_le_eq
thf(fact_265_sup__left__commute,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [X3: A,Y: A,Z4: A] :
          ( ( sup_sup @ A @ X3 @ ( sup_sup @ A @ Y @ Z4 ) )
          = ( sup_sup @ A @ Y @ ( sup_sup @ A @ X3 @ Z4 ) ) ) ) )).

% sup_left_commute
thf(fact_266_dropWhile__eq__Cons__conv,axiom,(
    ! [A: $tType,P: A > $o,Xs: list @ A,Y: A,Ys2: list @ A] :
      ( ( ( dropWhile @ A @ P @ Xs )
        = ( cons @ A @ Y @ Ys2 ) )
      = ( ( Xs
          = ( append @ A @ ( takeWhile @ A @ P @ Xs ) @ ( cons @ A @ Y @ Ys2 ) ) )
        & ~ ( P @ Y ) ) ) )).

% dropWhile_eq_Cons_conv
thf(fact_267_sup2E,axiom,(
    ! [A: $tType,B: $tType,A6: A > B > $o,B6: A > B > $o,X3: A,Y: B] :
      ( ( sup_sup @ ( A > B > $o ) @ A6 @ B6 @ X3 @ Y )
     => ( ~ ( A6 @ X3 @ Y )
       => ( B6 @ X3 @ Y ) ) ) )).

% sup2E
thf(fact_268_takeWhile__append1,axiom,(
    ! [A: $tType,X3: A,Xs: list @ A,P: A > $o,Ys2: list @ A] :
      ( ( member @ A @ X3 @ ( set2 @ A @ Xs ) )
     => ( ~ ( P @ X3 )
       => ( ( takeWhile @ A @ P @ ( append @ A @ Xs @ Ys2 ) )
          = ( takeWhile @ A @ P @ Xs ) ) ) ) )).

% takeWhile_append1
thf(fact_269_sup2I1,axiom,(
    ! [A: $tType,B: $tType,A6: A > B > $o,X3: A,Y: B,B6: A > B > $o] :
      ( ( A6 @ X3 @ Y )
     => ( sup_sup @ ( A > B > $o ) @ A6 @ B6 @ X3 @ Y ) ) )).

% sup2I1
thf(fact_270_Rel__app,axiom,(
    ! [A: $tType,B: $tType,D: $tType,C: $tType,A6: A > C > $o,B6: B > D > $o,F4: A > B,G4: C > D,X3: A,Y: C] :
      ( ( rel @ ( A > B ) @ ( C > D ) @ ( bNF_rel_fun @ A @ C @ B @ D @ A6 @ B6 ) @ F4 @ G4 )
     => ( ( rel @ A @ C @ A6 @ X3 @ Y )
       => ( rel @ B @ D @ B6 @ ( F4 @ X3 ) @ ( G4 @ Y ) ) ) ) )).

% Rel_app
thf(fact_271_sup2I2,axiom,(
    ! [A: $tType,B: $tType,B6: A > B > $o,X3: A,Y: B,A6: A > B > $o] :
      ( ( B6 @ X3 @ Y )
     => ( sup_sup @ ( A > B > $o ) @ A6 @ B6 @ X3 @ Y ) ) )).

% sup2I2
thf(fact_272_conditional__action_Oinject,axiom,(
    ! [T: $tType,X1: T,Y1: T] :
      ( ( ( conditional_Join @ T @ X1 )
        = ( conditional_Join @ T @ Y1 ) )
      = ( X1 = Y1 ) ) )).

% conditional_action.inject
thf(fact_273_exE__realizer_H,axiom,(
    ! [A: $tType,B: $tType,P: A > B > $o,P2: product_prod @ B @ A] :
      ( ( P @ ( product_snd @ B @ A @ P2 ) @ ( product_fst @ B @ A @ P2 ) )
     => ~ ! [X5: B,Y4: A] :
            ~ ( P @ Y4 @ X5 ) ) )).

% exE_realizer'
thf(fact_274_map__prod__simp,axiom,(
    ! [C: $tType,A: $tType,B: $tType,D: $tType,F4: C > A,G4: D > B,A3: C,B3: D] :
      ( ( product_map_prod @ C @ A @ D @ B @ F4 @ G4 @ ( product_Pair @ C @ D @ A3 @ B3 ) )
      = ( product_Pair @ A @ B @ ( F4 @ A3 ) @ ( G4 @ B3 ) ) ) )).

% map_prod_simp
thf(fact_275_eq__transfer,axiom,(
    ! [A: $tType,B: $tType,A6: A > B > $o] :
      ( ( bi_unique @ A @ B @ A6 )
     => ( bNF_rel_fun @ A @ B @ ( A > $o ) @ ( B > $o ) @ A6
        @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A6
          @ ^ [Y3: $o,Z: $o] : ( Y3 = Z ) )
        @ ^ [Y3: A,Z: A] : ( Y3 = Z )
        @ ^ [Y3: B,Z: B] : ( Y3 = Z ) ) ) )).

% eq_transfer
thf(fact_276_sup__fun__def,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( semilattice_sup @ B )
     => ( ( sup_sup @ ( A > B ) )
        = ( ^ [F3: A > B,G3: A > B,X4: A] :
              ( sup_sup @ B @ ( F3 @ X4 ) @ ( G3 @ X4 ) ) ) ) ) )).

% sup_fun_def
thf(fact_277_equalityCE,axiom,(
    ! [A: $tType,A6: set @ A,B6: set @ A,C3: A] :
      ( ( A6 = B6 )
     => ( ( ( member @ A @ C3 @ A6 )
         => ~ ( member @ A @ C3 @ B6 ) )
       => ~ ( ~ ( member @ A @ C3 @ A6 )
           => ( member @ A @ C3 @ B6 ) ) ) ) )).

% equalityCE
thf(fact_278_curry__def,axiom,(
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( product_curry @ A @ B @ C )
      = ( ^ [C4: ( product_prod @ A @ B ) > C,X4: A,Y5: B] :
            ( C4 @ ( product_Pair @ A @ B @ X4 @ Y5 ) ) ) ) )).

% curry_def
thf(fact_279_less__than__iff,axiom,(
    ! [X3: nat,Y: nat] :
      ( ( member @ ( product_prod @ nat @ nat ) @ ( product_Pair @ nat @ nat @ X3 @ Y ) @ less_than )
      = ( ord_less @ nat @ X3 @ Y ) ) )).

% less_than_iff
thf(fact_280_wait__set__action_Osize_I9_J,axiom,(
    ! [W: $tType,T: $tType,X32: W] :
      ( ( size_size @ ( wait_set_action @ T @ W ) @ ( wait_set_NotifyAll @ W @ T @ X32 ) )
      = ( suc @ ( zero_zero @ nat ) ) ) )).

% wait_set_action.size(9)
thf(fact_281_conditional__action_Opred__True,axiom,(
    ! [A: $tType] :
      ( ( condit606476673698705123action @ A
        @ ^ [Uu: A] : $true )
      = ( ^ [Uu: conditional_action @ A] : $true ) ) )).

% conditional_action.pred_True
thf(fact_282_insertCI,axiom,(
    ! [A: $tType,A3: A,B6: set @ A,B3: A] :
      ( ( ~ ( member @ A @ A3 @ B6 )
       => ( A3 = B3 ) )
     => ( member @ A @ A3 @ ( insert2 @ A @ B3 @ B6 ) ) ) )).

% insertCI
thf(fact_283_wait__set__action_Osize_I8_J,axiom,(
    ! [W: $tType,T: $tType,X2: W] :
      ( ( size_size @ ( wait_set_action @ T @ W ) @ ( wait_set_Notify @ W @ T @ X2 ) )
      = ( suc @ ( zero_zero @ nat ) ) ) )).

% wait_set_action.size(8)
thf(fact_284_apsnd__apfst,axiom,(
    ! [A: $tType,B: $tType,C: $tType,D: $tType,F4: C > B,G4: D > A,X3: product_prod @ D @ C] :
      ( ( product_apsnd @ C @ B @ A @ F4 @ ( product_apfst @ D @ A @ C @ G4 @ X3 ) )
      = ( product_Pair @ A @ B @ ( G4 @ ( product_fst @ D @ C @ X3 ) ) @ ( F4 @ ( product_snd @ D @ C @ X3 ) ) ) ) )).

% apsnd_apfst
thf(fact_285_top__conj_I2_J,axiom,(
    ! [A: $tType,P: $o,X3: A] :
      ( ( P
        & ( top_top @ ( A > $o ) @ X3 ) )
      = P ) )).

% top_conj(2)
thf(fact_286_apfst__apsnd,axiom,(
    ! [A: $tType,B: $tType,D: $tType,C: $tType,F4: C > A,G4: D > B,X3: product_prod @ C @ D] :
      ( ( product_apfst @ C @ A @ B @ F4 @ ( product_apsnd @ D @ B @ C @ G4 @ X3 ) )
      = ( product_Pair @ A @ B @ ( F4 @ ( product_fst @ C @ D @ X3 ) ) @ ( G4 @ ( product_snd @ C @ D @ X3 ) ) ) ) )).

% apfst_apsnd
thf(fact_287_list_Oset_I2_J,axiom,(
    ! [A: $tType,X21: A,X22: list @ A] :
      ( ( set2 @ A @ ( cons @ A @ X21 @ X22 ) )
      = ( insert2 @ A @ X21 @ ( set2 @ A @ X22 ) ) ) )).

% list.set(2)
thf(fact_288_Quotient__to__transfer,axiom,(
    ! [A: $tType,B: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,T5: A > B > $o,C3: A,C5: B] :
      ( ( quotient @ A @ B @ R @ Abs @ Rep @ T5 )
     => ( ( R @ C3 @ C3 )
       => ( ( C5
            = ( Abs @ C3 ) )
         => ( T5 @ C3 @ C5 ) ) ) ) )).

% Quotient_to_transfer
thf(fact_289_interrupt__action_Osize__neq,axiom,(
    ! [T: $tType,X3: interrupt_action @ T] :
      ( ( size_size @ ( interrupt_action @ T ) @ X3 )
     != ( zero_zero @ nat ) ) )).

% interrupt_action.size_neq
thf(fact_290_snd__apfst,axiom,(
    ! [B: $tType,A: $tType,C: $tType,F4: C > B,X3: product_prod @ C @ A] :
      ( ( product_snd @ B @ A @ ( product_apfst @ C @ B @ A @ F4 @ X3 ) )
      = ( product_snd @ C @ A @ X3 ) ) )).

% snd_apfst
thf(fact_291_exhaustive__fun_H_Ocases,axiom,(
    ! [A: $tType,B: $tType] :
      ( ( ( quickc658316121487927005ustive @ B )
        & ( cl_HOL_Oequal @ A )
        & ( quickc658316121487927005ustive @ A ) )
     => ! [X3: product_prod @ ( ( A > B ) > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ) ) @ ( product_prod @ code_natural @ code_natural )] :
          ~ ! [F2: ( A > B ) > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ),I: code_natural,D2: code_natural] :
              ( X3
             != ( product_Pair @ ( ( A > B ) > ( option @ ( product_prod @ $o @ ( list @ code_term ) ) ) ) @ ( product_prod @ code_natural @ code_natural ) @ F2 @ ( product_Pair @ code_natural @ code_natural @ I @ D2 ) ) ) ) )).

% exhaustive_fun'.cases
thf(fact_292_fst__apfst,axiom,(
    ! [A: $tType,B: $tType,C: $tType,F4: C > A,X3: product_prod @ C @ B] :
      ( ( product_fst @ A @ B @ ( product_apfst @ C @ A @ B @ F4 @ X3 ) )
      = ( F4 @ ( product_fst @ C @ B @ X3 ) ) ) )).

% fst_apfst
thf(fact_293_rtrancl3p__induct4_H,axiom,(
    ! [C: $tType,A: $tType,E: $tType,B: $tType,D: $tType,R3: ( product_prod @ A @ ( product_prod @ ( product_prod @ B @ C ) @ D ) ) > E > ( product_prod @ A @ ( product_prod @ ( product_prod @ B @ C ) @ D ) ) > $o,Ax: A,Ay: B,Az: C,Aw: D,Bs2: list @ E,Cx: A,Cy: B,Cz: C,Cw: D,P: A > B > C > D > ( list @ E ) > A > B > C > D > $o] :
      ( ( rtrancl3p @ ( product_prod @ A @ ( product_prod @ ( product_prod @ B @ C ) @ D ) ) @ E @ R3 @ ( product_Pair @ A @ ( product_prod @ ( product_prod @ B @ C ) @ D ) @ Ax @ ( product_Pair @ ( product_prod @ B @ C ) @ D @ ( product_Pair @ B @ C @ Ay @ Az ) @ Aw ) ) @ Bs2 @ ( product_Pair @ A @ ( product_prod @ ( product_prod @ B @ C ) @ D ) @ Cx @ ( product_Pair @ ( product_prod @ B @ C ) @ D @ ( product_Pair @ B @ C @ Cy @ Cz ) @ Cw ) ) )
     => ( ! [A2: A,Aa2: B,B2: C,Ba: D] :
            ( P @ A2 @ Aa2 @ B2 @ Ba @ ( nil @ E ) @ A2 @ Aa2 @ B2 @ Ba )
       => ( ! [A2: A,Aa2: B,B2: C,Ba: D,Bs: list @ E,Ab: A,Ac: B,Bb: C,Bc: D,Bd: E,Ad: A,Ae: B,Be: C,Bf: D] :
              ( ( rtrancl3p @ ( product_prod @ A @ ( product_prod @ ( product_prod @ B @ C ) @ D ) ) @ E @ R3 @ ( product_Pair @ A @ ( product_prod @ ( product_prod @ B @ C ) @ D ) @ A2 @ ( product_Pair @ ( product_prod @ B @ C ) @ D @ ( product_Pair @ B @ C @ Aa2 @ B2 ) @ Ba ) ) @ Bs @ ( product_Pair @ A @ ( product_prod @ ( product_prod @ B @ C ) @ D ) @ Ab @ ( product_Pair @ ( product_prod @ B @ C ) @ D @ ( product_Pair @ B @ C @ Ac @ Bb ) @ Bc ) ) )
             => ( ( P @ A2 @ Aa2 @ B2 @ Ba @ Bs @ Ab @ Ac @ Bb @ Bc )
               => ( ( R3 @ ( product_Pair @ A @ ( product_prod @ ( product_prod @ B @ C ) @ D ) @ Ab @ ( product_Pair @ ( product_prod @ B @ C ) @ D @ ( product_Pair @ B @ C @ Ac @ Bb ) @ Bc ) ) @ Bd @ ( product_Pair @ A @ ( product_prod @ ( product_prod @ B @ C ) @ D ) @ Ad @ ( product_Pair @ ( product_prod @ B @ C ) @ D @ ( product_Pair @ B @ C @ Ae @ Be ) @ Bf ) ) )
                 => ( P @ A2 @ Aa2 @ B2 @ Ba @ ( append @ E @ Bs @ ( cons @ E @ Bd @ ( nil @ E ) ) ) @ Ad @ Ae @ Be @ Bf ) ) ) )
         => ( P @ Ax @ Ay @ Az @ Aw @ Bs2 @ Cx @ Cy @ Cz @ Cw ) ) ) ) )).

% rtrancl3p_induct4'
thf(fact_294_apfst__eq__conv,axiom,(
    ! [A: $tType,B: $tType,C: $tType,F4: C > A,X3: product_prod @ C @ B,G4: C > A] :
      ( ( ( product_apfst @ C @ A @ B @ F4 @ X3 )
        = ( product_apfst @ C @ A @ B @ G4 @ X3 ) )
      = ( ( F4 @ ( product_fst @ C @ B @ X3 ) )
        = ( G4 @ ( product_fst @ C @ B @ X3 ) ) ) ) )).

% apfst_eq_conv
thf(fact_295_rtrancl3p__induct3,axiom,(
    ! [Ba2: $tType,B: $tType,A: $tType,C: $tType,R3: A > Ba2 > C > B > A > Ba2 > C > $o,Ax: A,Ay: Ba2,Az: C,X2a: list @ B,Cx: A,Cy: Ba2,Cz: C,P: A > Ba2 > C > ( list @ B ) > A > Ba2 > C > $o] :
      ( ( rtrancl3p @ ( product_prod @ A @ ( product_prod @ Ba2 @ C ) ) @ B
        @ ^ [V2: product_prod @ A @ ( product_prod @ Ba2 @ C ),W2: B] :
            ( product_case_prod @ A @ ( product_prod @ Ba2 @ C ) @ $o
            @ ^ [X4: A] :
                ( product_case_prod @ Ba2 @ C @ $o
                @ ( product_case_prod @ A @ ( product_prod @ Ba2 @ C ) @ ( B > A > Ba2 > C > $o )
                  @ ^ [Y5: A] :
                      ( product_case_prod @ Ba2 @ C @ ( B > A > Ba2 > C > $o ) @ ( R3 @ Y5 ) )
                  @ V2
                  @ W2
                  @ X4 ) ) )
        @ ( product_Pair @ A @ ( product_prod @ Ba2 @ C ) @ Ax @ ( product_Pair @ Ba2 @ C @ Ay @ Az ) )
        @ X2a
        @ ( product_Pair @ A @ ( product_prod @ Ba2 @ C ) @ Cx @ ( product_Pair @ Ba2 @ C @ Cy @ Cz ) ) )
     => ( ! [A2: A,Aa2: Ba2,B2: C] :
            ( P @ A2 @ Aa2 @ B2 @ ( nil @ B ) @ A2 @ Aa2 @ B2 )
       => ( ! [A2: A,Aa2: Ba2,B2: C,Bs: list @ B,Ab: A,Ac: Ba2,Ba: C,Bb: B,Ad: A,Ae: Ba2,Bc: C] :
              ( ( rtrancl3p @ ( product_prod @ A @ ( product_prod @ Ba2 @ C ) ) @ B
                @ ^ [V2: product_prod @ A @ ( product_prod @ Ba2 @ C ),W2: B] :
                    ( product_case_prod @ A @ ( product_prod @ Ba2 @ C ) @ $o
                    @ ^ [X4: A] :
                        ( product_case_prod @ Ba2 @ C @ $o
                        @ ( product_case_prod @ A @ ( product_prod @ Ba2 @ C ) @ ( B > A > Ba2 > C > $o )
                          @ ^ [Y5: A] :
                              ( product_case_prod @ Ba2 @ C @ ( B > A > Ba2 > C > $o ) @ ( R3 @ Y5 ) )
                          @ V2
                          @ W2
                          @ X4 ) ) )
                @ ( product_Pair @ A @ ( product_prod @ Ba2 @ C ) @ A2 @ ( product_Pair @ Ba2 @ C @ Aa2 @ B2 ) )
                @ Bs
                @ ( product_Pair @ A @ ( product_prod @ Ba2 @ C ) @ Ab @ ( product_Pair @ Ba2 @ C @ Ac @ Ba ) ) )
             => ( ( P @ A2 @ Aa2 @ B2 @ Bs @ Ab @ Ac @ Ba )
               => ( ( R3 @ Ab @ Ac @ Ba @ Bb @ Ad @ Ae @ Bc )
                 => ( P @ A2 @ Aa2 @ B2 @ ( append @ B @ Bs @ ( cons @ B @ Bb @ ( nil @ B ) ) ) @ Ad @ Ae @ Bc ) ) ) )
         => ( P @ Ax @ Ay @ Az @ X2a @ Cx @ Cy @ Cz ) ) ) ) )).

% rtrancl3p_induct3
thf(fact_296_snd__comp__apfst,axiom,(
    ! [C: $tType,B: $tType,A: $tType,F4: A > C] :
      ( ( comp @ ( product_prod @ C @ B ) @ B @ ( product_prod @ A @ B ) @ ( product_snd @ C @ B ) @ ( product_apfst @ A @ C @ B @ F4 ) )
      = ( product_snd @ A @ B ) ) )).

% snd_comp_apfst
thf(fact_297_wait__set__action_Oexhaust,axiom,(
    ! [W: $tType,T: $tType,Y: wait_set_action @ T @ W] :
      ( ! [X14: W] :
          ( Y
         != ( wait_set_Suspend @ W @ T @ X14 ) )
     => ( ! [X23: W] :
            ( Y
           != ( wait_set_Notify @ W @ T @ X23 ) )
       => ( ! [X33: W] :
              ( Y
             != ( wait_set_NotifyAll @ W @ T @ X33 ) )
         => ( ! [X43: T] :
                ( Y
               != ( wait_set_WakeUp @ T @ W @ X43 ) )
           => ( ( Y
               != ( wait_set_Notified @ T @ W ) )
             => ( Y
                = ( wait_set_WokenUp @ T @ W ) ) ) ) ) ) ) )).

% wait_set_action.exhaust
thf(fact_298_fst__comp__apfst,axiom,(
    ! [C: $tType,B: $tType,A: $tType,F4: A > C] :
      ( ( comp @ ( product_prod @ C @ B ) @ C @ ( product_prod @ A @ B ) @ ( product_fst @ C @ B ) @ ( product_apfst @ A @ C @ B @ F4 ) )
      = ( comp @ A @ C @ ( product_prod @ A @ B ) @ F4 @ ( product_fst @ A @ B ) ) ) )).

% fst_comp_apfst
thf(fact_299_rtrancl3p__induct4,axiom,(
    ! [C: $tType,A: $tType,B: $tType,Ba2: $tType,D: $tType,R3: A > Ba2 > C > D > B > A > Ba2 > C > D > $o,Ax: A,Ay: Ba2,Az: C,Aw: D,X2a: list @ B,Cx: A,Cy: Ba2,Cz: C,Cw: D,P: A > Ba2 > C > D > ( list @ B ) > A > Ba2 > C > D > $o] :
      ( ( rtrancl3p @ ( product_prod @ A @ ( product_prod @ Ba2 @ ( product_prod @ C @ D ) ) ) @ B
        @ ^ [V2: product_prod @ A @ ( product_prod @ Ba2 @ ( product_prod @ C @ D ) ),W2: B] :
            ( product_case_prod @ A @ ( product_prod @ Ba2 @ ( product_prod @ C @ D ) ) @ $o
            @ ^ [X4: A] :
                ( product_case_prod @ Ba2 @ ( product_prod @ C @ D ) @ $o
                @ ^ [Y5: Ba2] :
                    ( product_case_prod @ C @ D @ $o
                    @ ( product_case_prod @ A @ ( product_prod @ Ba2 @ ( product_prod @ C @ D ) ) @ ( B > A > Ba2 > C > D > $o )
                      @ ^ [Z2: A] :
                          ( product_case_prod @ Ba2 @ ( product_prod @ C @ D ) @ ( B > A > Ba2 > C > D > $o )
                          @ ^ [Aa3: Ba2] :
                              ( product_case_prod @ C @ D @ ( B > A > Ba2 > C > D > $o ) @ ( R3 @ Z2 @ Aa3 ) ) )
                      @ V2
                      @ W2
                      @ X4
                      @ Y5 ) ) ) )
        @ ( product_Pair @ A @ ( product_prod @ Ba2 @ ( product_prod @ C @ D ) ) @ Ax @ ( product_Pair @ Ba2 @ ( product_prod @ C @ D ) @ Ay @ ( product_Pair @ C @ D @ Az @ Aw ) ) )
        @ X2a
        @ ( product_Pair @ A @ ( product_prod @ Ba2 @ ( product_prod @ C @ D ) ) @ Cx @ ( product_Pair @ Ba2 @ ( product_prod @ C @ D ) @ Cy @ ( product_Pair @ C @ D @ Cz @ Cw ) ) ) )
     => ( ! [A2: A,Aa2: Ba2,Ab: C,B2: D] :
            ( P @ A2 @ Aa2 @ Ab @ B2 @ ( nil @ B ) @ A2 @ Aa2 @ Ab @ B2 )
       => ( ! [A2: A,Aa2: Ba2,Ab: C,B2: D,Bs: list @ B,Ac: A,Ad: Ba2,Ae: C,Ba: D,Bb: B,Af: A,Ag: Ba2,Ah: C,Bc: D] :
              ( ( rtrancl3p @ ( product_prod @ A @ ( product_prod @ Ba2 @ ( product_prod @ C @ D ) ) ) @ B
                @ ^ [V2: product_prod @ A @ ( product_prod @ Ba2 @ ( product_prod @ C @ D ) ),W2: B] :
                    ( product_case_prod @ A @ ( product_prod @ Ba2 @ ( product_prod @ C @ D ) ) @ $o
                    @ ^ [X4: A] :
                        ( product_case_prod @ Ba2 @ ( product_prod @ C @ D ) @ $o
                        @ ^ [Y5: Ba2] :
                            ( product_case_prod @ C @ D @ $o
                            @ ( product_case_prod @ A @ ( product_prod @ Ba2 @ ( product_prod @ C @ D ) ) @ ( B > A > Ba2 > C > D > $o )
                              @ ^ [Z2: A] :
                                  ( product_case_prod @ Ba2 @ ( product_prod @ C @ D ) @ ( B > A > Ba2 > C > D > $o )
                                  @ ^ [Ai: Ba2] :
                                      ( product_case_prod @ C @ D @ ( B > A > Ba2 > C > D > $o ) @ ( R3 @ Z2 @ Ai ) ) )
                              @ V2
                              @ W2
                              @ X4
                              @ Y5 ) ) ) )
                @ ( product_Pair @ A @ ( product_prod @ Ba2 @ ( product_prod @ C @ D ) ) @ A2 @ ( product_Pair @ Ba2 @ ( product_prod @ C @ D ) @ Aa2 @ ( product_Pair @ C @ D @ Ab @ B2 ) ) )
                @ Bs
                @ ( product_Pair @ A @ ( product_prod @ Ba2 @ ( product_prod @ C @ D ) ) @ Ac @ ( product_Pair @ Ba2 @ ( product_prod @ C @ D ) @ Ad @ ( product_Pair @ C @ D @ Ae @ Ba ) ) ) )
             => ( ( P @ A2 @ Aa2 @ Ab @ B2 @ Bs @ Ac @ Ad @ Ae @ Ba )
               => ( ( R3 @ Ac @ Ad @ Ae @ Ba @ Bb @ Af @ Ag @ Ah @ Bc )
                 => ( P @ A2 @ Aa2 @ Ab @ B2 @ ( append @ B @ Bs @ ( cons @ B @ Bb @ ( nil @ B ) ) ) @ Af @ Ag @ Ah @ Bc ) ) ) )
         => ( P @ Ax @ Ay @ Az @ Aw @ X2a @ Cx @ Cy @ Cz @ Cw ) ) ) ) )).

% rtrancl3p_induct4
thf(fact_300_apfst__compose,axiom,(
    ! [C: $tType,A: $tType,B: $tType,D: $tType,F4: C > A,G4: D > C,X3: product_prod @ D @ B] :
      ( ( product_apfst @ C @ A @ B @ F4 @ ( product_apfst @ D @ C @ B @ G4 @ X3 ) )
      = ( product_apfst @ D @ A @ B @ ( comp @ C @ A @ D @ F4 @ G4 ) @ X3 ) ) )).

% apfst_compose
thf(fact_301_fun__mono,axiom,(
    ! [A: $tType,B: $tType,D: $tType,C: $tType,C6: A > B > $o,A6: A > B > $o,B6: C > D > $o,D4: C > D > $o] :
      ( ( ord_less_eq @ ( A > B > $o ) @ C6 @ A6 )
     => ( ( ord_less_eq @ ( C > D > $o ) @ B6 @ D4 )
       => ( ord_less_eq @ ( ( A > C ) > ( B > D ) > $o ) @ ( bNF_rel_fun @ A @ B @ C @ D @ A6 @ B6 ) @ ( bNF_rel_fun @ A @ B @ C @ D @ C6 @ D4 ) ) ) ) )).

% fun_mono
thf(fact_302_apsnd__apfst__commute,axiom,(
    ! [A: $tType,B: $tType,C: $tType,D: $tType,F4: C > B,G4: D > A,P2: product_prod @ D @ C] :
      ( ( product_apsnd @ C @ B @ A @ F4 @ ( product_apfst @ D @ A @ C @ G4 @ P2 ) )
      = ( product_apfst @ D @ A @ B @ G4 @ ( product_apsnd @ C @ B @ D @ F4 @ P2 ) ) ) )).

% apsnd_apfst_commute
thf(fact_303_wait__set__action_Oinduct,axiom,(
    ! [W: $tType,T: $tType,P: ( wait_set_action @ T @ W ) > $o,Wait_set_action: wait_set_action @ T @ W] :
      ( ! [X5: W] :
          ( P @ ( wait_set_Suspend @ W @ T @ X5 ) )
     => ( ! [X5: W] :
            ( P @ ( wait_set_Notify @ W @ T @ X5 ) )
       => ( ! [X5: W] :
              ( P @ ( wait_set_NotifyAll @ W @ T @ X5 ) )
         => ( ! [X5: T] :
                ( P @ ( wait_set_WakeUp @ T @ W @ X5 ) )
           => ( ( P @ ( wait_set_Notified @ T @ W ) )
             => ( ( P @ ( wait_set_WokenUp @ T @ W ) )
               => ( P @ Wait_set_action ) ) ) ) ) ) ) )).

% wait_set_action.induct
thf(fact_304_Quotient__rep__abs__fold__unmap,axiom,(
    ! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,T5: A > B > $o,X7: B,X3: A,Rep2: B > A] :
      ( ( quotient @ A @ B @ R @ Abs @ Rep @ T5 )
     => ( ( X7
          = ( Abs @ X3 ) )
       => ( ( R @ X3 @ X3 )
         => ( ( ( Rep @ X7 )
              = ( Rep2 @ X7 ) )
           => ( R @ ( Rep2 @ X7 ) @ X3 ) ) ) ) ) )).

% Quotient_rep_abs_fold_unmap
thf(fact_305_ball__imageD,axiom,(
    ! [A: $tType,B: $tType,F4: B > A,A6: set @ B,P: A > $o] :
      ( ! [X5: A] :
          ( ( member @ A @ X5 @ ( image2 @ B @ A @ F4 @ A6 ) )
         => ( P @ X5 ) )
     => ! [X6: B] :
          ( ( member @ B @ X6 @ A6 )
         => ( P @ ( F4 @ X6 ) ) ) ) )).

% ball_imageD
thf(fact_306_interrupt__action_Osize_I5_J,axiom,(
    ! [T: $tType,X2: T] :
      ( ( size_size @ ( interrupt_action @ T ) @ ( interrupt_Interrupt @ T @ X2 ) )
      = ( suc @ ( zero_zero @ nat ) ) ) )).

% interrupt_action.size(5)
thf(fact_307_image__cong,axiom,(
    ! [B: $tType,A: $tType,M2: set @ A,N: set @ A,F4: A > B,G4: A > B] :
      ( ( M2 = N )
     => ( ! [X5: A] :
            ( ( member @ A @ X5 @ N )
           => ( ( F4 @ X5 )
              = ( G4 @ X5 ) ) )
       => ( ( image2 @ A @ B @ F4 @ M2 )
          = ( image2 @ A @ B @ G4 @ N ) ) ) ) )).

% image_cong
thf(fact_308_map__fun__apply,axiom,(
    ! [D: $tType,A: $tType,C: $tType,B: $tType] :
      ( ( map_fun @ B @ C @ D @ A )
      = ( ^ [F3: B > C,G3: D > A,H2: C > D,X4: B] :
            ( G3 @ ( H2 @ ( F3 @ X4 ) ) ) ) ) )).

% map_fun_apply
thf(fact_309_bex__imageD,axiom,(
    ! [A: $tType,B: $tType,F4: B > A,A6: set @ B,P: A > $o] :
      ( ? [X6: A] :
          ( ( member @ A @ X6 @ ( image2 @ B @ A @ F4 @ A6 ) )
          & ( P @ X6 ) )
     => ? [X5: B] :
          ( ( member @ B @ X5 @ A6 )
          & ( P @ ( F4 @ X5 ) ) ) ) )).

% bex_imageD
thf(fact_310_Quotient__rel__abs2,axiom,(
    ! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,T5: A > B > $o,X3: B,Y: A] :
      ( ( quotient @ A @ B @ R @ Abs @ Rep @ T5 )
     => ( ( R @ ( Rep @ X3 ) @ Y )
       => ( X3
          = ( Abs @ Y ) ) ) ) )).

% Quotient_rel_abs2
thf(fact_311_image__iff,axiom,(
    ! [A: $tType,B: $tType,Z4: A,F4: B > A,A6: set @ B] :
      ( ( member @ A @ Z4 @ ( image2 @ B @ A @ F4 @ A6 ) )
      = ( ? [X4: B] :
            ( ( member @ B @ X4 @ A6 )
            & ( Z4
              = ( F4 @ X4 ) ) ) ) ) )).

% image_iff
thf(fact_312_interrupt__action_Osize_I6_J,axiom,(
    ! [T: $tType,X32: T] :
      ( ( size_size @ ( interrupt_action @ T ) @ ( interr7976201102587534891errupt @ T @ X32 ) )
      = ( suc @ ( zero_zero @ nat ) ) ) )).

% interrupt_action.size(6)
thf(fact_313_imageI,axiom,(
    ! [B: $tType,A: $tType,X3: A,A6: set @ A,F4: A > B] :
      ( ( member @ A @ X3 @ A6 )
     => ( member @ B @ ( F4 @ X3 ) @ ( image2 @ A @ B @ F4 @ A6 ) ) ) )).

% imageI
thf(fact_314_rel__funD2,axiom,(
    ! [B: $tType,C: $tType,A: $tType,A6: A > A > $o,B6: B > C > $o,F4: A > B,G4: A > C,X3: A] :
      ( ( bNF_rel_fun @ A @ A @ B @ C @ A6 @ B6 @ F4 @ G4 )
     => ( ( A6 @ X3 @ X3 )
       => ( B6 @ ( F4 @ X3 ) @ ( G4 @ X3 ) ) ) ) )).

% rel_funD2
thf(fact_315_image__Un,axiom,(
    ! [A: $tType,B: $tType,F4: B > A,A6: set @ B,B6: set @ B] :
      ( ( image2 @ B @ A @ F4 @ ( sup_sup @ ( set @ B ) @ A6 @ B6 ) )
      = ( sup_sup @ ( set @ A ) @ ( image2 @ B @ A @ F4 @ A6 ) @ ( image2 @ B @ A @ F4 @ B6 ) ) ) )).

% image_Un
thf(fact_316_rtrancl__induct,axiom,(
    ! [A: $tType,A3: A,B3: A,R3: set @ ( product_prod @ A @ A ),P: A > $o] :
      ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ ( transitive_rtrancl @ A @ R3 ) )
     => ( ( P @ A3 )
       => ( ! [Y4: A,Z3: A] :
              ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ Y4 ) @ ( transitive_rtrancl @ A @ R3 ) )
             => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y4 @ Z3 ) @ R3 )
               => ( ( P @ Y4 )
                 => ( P @ Z3 ) ) ) )
         => ( P @ B3 ) ) ) ) )).

% rtrancl_induct
thf(fact_317_finfun__update__code__def,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( finfun_update_code @ A @ B )
      = ( finfun_update @ A @ B ) ) )).

% finfun_update_code_def
thf(fact_318_comp__cong,axiom,(
    ! [C: $tType,B: $tType,D: $tType,A: $tType,E: $tType,F4: B > A,G4: C > B,X3: C,F5: D > A,G5: E > D,X7: E] :
      ( ( ( F4 @ ( G4 @ X3 ) )
        = ( F5 @ ( G5 @ X7 ) ) )
     => ( ( comp @ B @ A @ C @ F4 @ G4 @ X3 )
        = ( comp @ D @ A @ E @ F5 @ G5 @ X7 ) ) ) )).

% comp_cong
thf(fact_319_extract__Some__iff,axiom,(
    ! [A: $tType,P: A > $o,Xs: list @ A,Ys2: list @ A,Y: A,Zs: list @ A] :
      ( ( ( extract @ A @ P @ Xs )
        = ( some @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ ( list @ A ) ) ) @ ( product_Pair @ ( list @ A ) @ ( product_prod @ A @ ( list @ A ) ) @ Ys2 @ ( product_Pair @ A @ ( list @ A ) @ Y @ Zs ) ) ) )
      = ( ( Xs
          = ( append @ A @ Ys2 @ ( cons @ A @ Y @ Zs ) ) )
        & ( P @ Y )
        & ~ ? [X4: A] :
              ( ( member @ A @ X4 @ ( set2 @ A @ Ys2 ) )
              & ( P @ X4 ) ) ) ) )).

% extract_Some_iff
thf(fact_320_comp__eq__elim,axiom,(
    ! [C: $tType,B: $tType,D: $tType,A: $tType,A3: C > B,B3: A > C,C3: D > B,D3: A > D] :
      ( ( ( comp @ C @ B @ A @ A3 @ B3 )
        = ( comp @ D @ B @ A @ C3 @ D3 ) )
     => ! [V3: A] :
          ( ( A3 @ ( B3 @ V3 ) )
          = ( C3 @ ( D3 @ V3 ) ) ) ) )).

% comp_eq_elim
thf(fact_321_finite__subset,axiom,(
    ! [A: $tType,A6: set @ A,B6: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
     => ( ( finite_finite @ A @ B6 )
       => ( finite_finite @ A @ A6 ) ) ) )).

% finite_subset
thf(fact_322_singletonD,axiom,(
    ! [A: $tType,B3: A,A3: A] :
      ( ( member @ A @ B3 @ ( insert2 @ A @ A3 @ ( bot_bot @ ( set @ A ) ) ) )
     => ( B3 = A3 ) ) )).

% singletonD
thf(fact_323_comp__assoc,axiom,(
    ! [B: $tType,D: $tType,C: $tType,A: $tType,F4: D > B,G4: C > D,H: A > C] :
      ( ( comp @ C @ B @ A @ ( comp @ D @ B @ C @ F4 @ G4 ) @ H )
      = ( comp @ D @ B @ A @ F4 @ ( comp @ C @ D @ A @ G4 @ H ) ) ) )).

% comp_assoc
thf(fact_324_comp__fun__commute_Ointro,axiom,(
    ! [B: $tType,A: $tType,F4: A > B > B] :
      ( ! [Y4: A,X5: A] :
          ( ( comp @ B @ B @ B @ ( F4 @ Y4 ) @ ( F4 @ X5 ) )
          = ( comp @ B @ B @ B @ ( F4 @ X5 ) @ ( F4 @ Y4 ) ) )
     => ( finite6289374366891150609ommute @ A @ B @ F4 ) ) )).

% comp_fun_commute.intro
thf(fact_325_subrelI,axiom,(
    ! [B: $tType,A: $tType,R3: set @ ( product_prod @ A @ B ),S: set @ ( product_prod @ A @ B )] :
      ( ! [X5: A,Y4: B] :
          ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y4 ) @ R3 )
         => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y4 ) @ S ) )
     => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R3 @ S ) ) )).

% subrelI
thf(fact_326_Lazy__Sequence_Oiterate__upto_Ocases,axiom,(
    ! [A: $tType,X3: product_prod @ ( code_natural > A ) @ ( product_prod @ code_natural @ code_natural )] :
      ~ ! [F2: code_natural > A,N2: code_natural,M3: code_natural] :
          ( X3
         != ( product_Pair @ ( code_natural > A ) @ ( product_prod @ code_natural @ code_natural ) @ F2 @ ( product_Pair @ code_natural @ code_natural @ N2 @ M3 ) ) ) )).

% Lazy_Sequence.iterate_upto.cases
thf(fact_327_cond__case__prod__eta,axiom,(
    ! [C: $tType,B: $tType,A: $tType,F4: A > B > C,G4: ( product_prod @ A @ B ) > C] :
      ( ! [X5: A,Y4: B] :
          ( ( F4 @ X5 @ Y4 )
          = ( G4 @ ( product_Pair @ A @ B @ X5 @ Y4 ) ) )
     => ( ( product_case_prod @ A @ B @ C @ F4 )
        = G4 ) ) )).

% cond_case_prod_eta
thf(fact_328_pair__lessI1,axiom,(
    ! [A3: nat,B3: nat,S: nat,T4: nat] :
      ( ( ord_less @ nat @ A3 @ B3 )
     => ( member @ ( product_prod @ ( product_prod @ nat @ nat ) @ ( product_prod @ nat @ nat ) ) @ ( product_Pair @ ( product_prod @ nat @ nat ) @ ( product_prod @ nat @ nat ) @ ( product_Pair @ nat @ nat @ A3 @ S ) @ ( product_Pair @ nat @ nat @ B3 @ T4 ) ) @ fun_pair_less ) ) )).

% pair_lessI1
thf(fact_329_image__eq__imp__comp,axiom,(
    ! [B: $tType,A: $tType,D: $tType,C: $tType,F4: B > A,A6: set @ B,G4: C > A,B6: set @ C,H: A > D] :
      ( ( ( image2 @ B @ A @ F4 @ A6 )
        = ( image2 @ C @ A @ G4 @ B6 ) )
     => ( ( image2 @ B @ D @ ( comp @ A @ D @ B @ H @ F4 ) @ A6 )
        = ( image2 @ C @ D @ ( comp @ A @ D @ C @ H @ G4 ) @ B6 ) ) ) )).

% image_eq_imp_comp
thf(fact_330_pair__leqI2,axiom,(
    ! [A3: nat,B3: nat,S: nat,T4: nat] :
      ( ( ord_less_eq @ nat @ A3 @ B3 )
     => ( ( ord_less_eq @ nat @ S @ T4 )
       => ( member @ ( product_prod @ ( product_prod @ nat @ nat ) @ ( product_prod @ nat @ nat ) ) @ ( product_Pair @ ( product_prod @ nat @ nat ) @ ( product_prod @ nat @ nat ) @ ( product_Pair @ nat @ nat @ A3 @ S ) @ ( product_Pair @ nat @ nat @ B3 @ T4 ) ) @ fun_pair_leq ) ) ) )).

% pair_leqI2
thf(fact_331_image__comp,axiom,(
    ! [B: $tType,A: $tType,C: $tType,F4: B > A,G4: C > B,R3: set @ C] :
      ( ( image2 @ B @ A @ F4 @ ( image2 @ C @ B @ G4 @ R3 ) )
      = ( image2 @ C @ A @ ( comp @ B @ A @ C @ F4 @ G4 ) @ R3 ) ) )).

% image_comp
thf(fact_332_pair__leqI1,axiom,(
    ! [A3: nat,B3: nat,S: nat,T4: nat] :
      ( ( ord_less @ nat @ A3 @ B3 )
     => ( member @ ( product_prod @ ( product_prod @ nat @ nat ) @ ( product_prod @ nat @ nat ) ) @ ( product_Pair @ ( product_prod @ nat @ nat ) @ ( product_prod @ nat @ nat ) @ ( product_Pair @ nat @ nat @ A3 @ S ) @ ( product_Pair @ nat @ nat @ B3 @ T4 ) ) @ fun_pair_leq ) ) )).

% pair_leqI1
thf(fact_333_Sup_OSUP__image,axiom,(
    ! [B: $tType,A: $tType,C: $tType,Sup: ( set @ A ) > A,G4: B > A,F4: C > B,A6: set @ C] :
      ( ( Sup @ ( image2 @ B @ A @ G4 @ ( image2 @ C @ B @ F4 @ A6 ) ) )
      = ( Sup @ ( image2 @ C @ A @ ( comp @ B @ A @ C @ G4 @ F4 ) @ A6 ) ) ) )).

% Sup.SUP_image
thf(fact_334_iterate_Ocases,axiom,(
    ! [A: $tType,B: $tType,X3: product_prod @ code_natural @ ( product_prod @ ( B > A > ( product_prod @ B @ A ) ) @ B )] :
      ~ ! [K2: code_natural,F2: B > A > ( product_prod @ B @ A ),X5: B] :
          ( X3
         != ( product_Pair @ code_natural @ ( product_prod @ ( B > A > ( product_prod @ B @ A ) ) @ B ) @ K2 @ ( product_Pair @ ( B > A > ( product_prod @ B @ A ) ) @ B @ F2 @ X5 ) ) ) )).

% iterate.cases
thf(fact_335_Inf_OINF__image,axiom,(
    ! [B: $tType,A: $tType,C: $tType,Inf: ( set @ A ) > A,G4: B > A,F4: C > B,A6: set @ C] :
      ( ( Inf @ ( image2 @ B @ A @ G4 @ ( image2 @ C @ B @ F4 @ A6 ) ) )
      = ( Inf @ ( image2 @ C @ A @ ( comp @ B @ A @ C @ G4 @ F4 ) @ A6 ) ) ) )).

% Inf.INF_image
thf(fact_336_fst__fstOp,axiom,(
    ! [A: $tType,B: $tType,C: $tType,P: A > C > $o,Q: C > B > $o] :
      ( ( product_fst @ A @ B )
      = ( comp @ ( product_prod @ A @ C ) @ A @ ( product_prod @ A @ B ) @ ( product_fst @ A @ C ) @ ( bNF_fstOp @ A @ C @ B @ P @ Q ) ) ) )).

% fst_fstOp
thf(fact_337_pair__lessI2,axiom,(
    ! [A3: nat,B3: nat,S: nat,T4: nat] :
      ( ( ord_less_eq @ nat @ A3 @ B3 )
     => ( ( ord_less @ nat @ S @ T4 )
       => ( member @ ( product_prod @ ( product_prod @ nat @ nat ) @ ( product_prod @ nat @ nat ) ) @ ( product_Pair @ ( product_prod @ nat @ nat ) @ ( product_prod @ nat @ nat ) @ ( product_Pair @ nat @ nat @ A3 @ S ) @ ( product_Pair @ nat @ nat @ B3 @ T4 ) ) @ fun_pair_less ) ) ) )).

% pair_lessI2
thf(fact_338_snd__sndOp,axiom,(
    ! [B: $tType,A: $tType,C: $tType,P: B > C > $o,Q: C > A > $o] :
      ( ( product_snd @ B @ A )
      = ( comp @ ( product_prod @ C @ A ) @ A @ ( product_prod @ B @ A ) @ ( product_snd @ C @ A ) @ ( bNF_sndOp @ B @ C @ A @ P @ Q ) ) ) )).

% snd_sndOp
thf(fact_339_Collect__split__mono__strong,axiom,(
    ! [B: $tType,A: $tType,X8: set @ A,A6: set @ ( product_prod @ A @ B ),Y7: set @ B,P: A > B > $o,Q: A > B > $o] :
      ( ( X8
        = ( image2 @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B ) @ A6 ) )
     => ( ( Y7
          = ( image2 @ ( product_prod @ A @ B ) @ B @ ( product_snd @ A @ B ) @ A6 ) )
       => ( ! [X5: A] :
              ( ( member @ A @ X5 @ X8 )
             => ! [Xa3: B] :
                  ( ( member @ B @ Xa3 @ Y7 )
                 => ( ( P @ X5 @ Xa3 )
                   => ( Q @ X5 @ Xa3 ) ) ) )
         => ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ A6 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ P ) ) )
           => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ A6 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ Q ) ) ) ) ) ) ) )).

% Collect_split_mono_strong
thf(fact_340_case__prodE,axiom,(
    ! [A: $tType,B: $tType,C3: A > B > $o,P2: product_prod @ A @ B] :
      ( ( product_case_prod @ A @ B @ $o @ C3 @ P2 )
     => ~ ! [X5: A,Y4: B] :
            ( ( P2
              = ( product_Pair @ A @ B @ X5 @ Y4 ) )
           => ~ ( C3 @ X5 @ Y4 ) ) ) )).

% case_prodE
thf(fact_341_pair__less__iff1,axiom,(
    ! [X3: nat,Y: nat,Z4: nat] :
      ( ( member @ ( product_prod @ ( product_prod @ nat @ nat ) @ ( product_prod @ nat @ nat ) ) @ ( product_Pair @ ( product_prod @ nat @ nat ) @ ( product_prod @ nat @ nat ) @ ( product_Pair @ nat @ nat @ X3 @ Y ) @ ( product_Pair @ nat @ nat @ X3 @ Z4 ) ) @ fun_pair_less )
      = ( ord_less @ nat @ Y @ Z4 ) ) )).

% pair_less_iff1
thf(fact_342_Collect__case__prod__Grp__eqD,axiom,(
    ! [B: $tType,A: $tType,Z4: product_prod @ A @ B,A6: set @ A,F4: A > B] :
      ( ( member @ ( product_prod @ A @ B ) @ Z4 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ ( bNF_Grp @ A @ B @ A6 @ F4 ) ) ) )
     => ( ( comp @ A @ B @ ( product_prod @ A @ B ) @ F4 @ ( product_fst @ A @ B ) @ Z4 )
        = ( product_snd @ A @ B @ Z4 ) ) ) )).

% Collect_case_prod_Grp_eqD
thf(fact_343_fst__comp__map__prod,axiom,(
    ! [D: $tType,C: $tType,B: $tType,A: $tType,F4: A > C,G4: B > D] :
      ( ( comp @ ( product_prod @ C @ D ) @ C @ ( product_prod @ A @ B ) @ ( product_fst @ C @ D ) @ ( product_map_prod @ A @ C @ B @ D @ F4 @ G4 ) )
      = ( comp @ A @ C @ ( product_prod @ A @ B ) @ F4 @ ( product_fst @ A @ B ) ) ) )).

% fst_comp_map_prod
thf(fact_344_snd__comp__map__prod,axiom,(
    ! [D: $tType,C: $tType,B: $tType,A: $tType,F4: A > D,G4: B > C] :
      ( ( comp @ ( product_prod @ D @ C ) @ C @ ( product_prod @ A @ B ) @ ( product_snd @ D @ C ) @ ( product_map_prod @ A @ D @ B @ C @ F4 @ G4 ) )
      = ( comp @ B @ C @ ( product_prod @ A @ B ) @ G4 @ ( product_snd @ A @ B ) ) ) )).

% snd_comp_map_prod
thf(fact_345_right__total__eq,axiom,(
    ! [A: $tType] :
      ( right_total @ A @ A
      @ ^ [Y3: A,Z: A] : ( Y3 = Z ) ) )).

% right_total_eq
thf(fact_346_fstOp__def,axiom,(
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( bNF_fstOp @ A @ B @ C )
      = ( ^ [P4: A > B > $o,Q3: B > C > $o,Ac2: product_prod @ A @ C] :
            ( product_Pair @ A @ B @ ( product_fst @ A @ C @ Ac2 ) @ ( bNF_pick_middlep @ A @ B @ C @ P4 @ Q3 @ ( product_fst @ A @ C @ Ac2 ) @ ( product_snd @ A @ C @ Ac2 ) ) ) ) ) )).

% fstOp_def
thf(fact_347_case__prodI,axiom,(
    ! [A: $tType,B: $tType,F4: A > B > $o,A3: A,B3: B] :
      ( ( F4 @ A3 @ B3 )
     => ( product_case_prod @ A @ B @ $o @ F4 @ ( product_Pair @ A @ B @ A3 @ B3 ) ) ) )).

% case_prodI
thf(fact_348_rtrancl__induct2,axiom,(
    ! [A: $tType,B: $tType,Ax: A,Ay: B,Bx: A,By: B,R3: set @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ),P: A > B > $o] :
      ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Ax @ Ay ) @ ( product_Pair @ A @ B @ Bx @ By ) ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) @ R3 ) )
     => ( ( P @ Ax @ Ay )
       => ( ! [A2: A,B2: B,Aa2: A,Ba: B] :
              ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Ax @ Ay ) @ ( product_Pair @ A @ B @ A2 @ B2 ) ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) @ R3 ) )
             => ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ ( product_Pair @ A @ B @ Aa2 @ Ba ) ) @ R3 )
               => ( ( P @ A2 @ B2 )
                 => ( P @ Aa2 @ Ba ) ) ) )
         => ( P @ Bx @ By ) ) ) ) )).

% rtrancl_induct2
thf(fact_349_pair__less__def,axiom,
    ( fun_pair_less
    = ( lex_prod @ nat @ nat @ less_than @ less_than ) )).

% pair_less_def
thf(fact_350_convol__def,axiom,(
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( bNF_convol @ A @ B @ C )
      = ( ^ [F3: A > B,G3: A > C,A5: A] :
            ( product_Pair @ B @ C @ ( F3 @ A5 ) @ ( G3 @ A5 ) ) ) ) )).

% convol_def
thf(fact_351_le__sup__iff,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [X3: A,Y: A,Z4: A] :
          ( ( ord_less_eq @ A @ ( sup_sup @ A @ X3 @ Y ) @ Z4 )
          = ( ( ord_less_eq @ A @ X3 @ Z4 )
            & ( ord_less_eq @ A @ Y @ Z4 ) ) ) ) )).

% le_sup_iff
thf(fact_352_sup_Obounded__iff,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [B3: A,C3: A,A3: A] :
          ( ( ord_less_eq @ A @ ( sup_sup @ A @ B3 @ C3 ) @ A3 )
          = ( ( ord_less_eq @ A @ B3 @ A3 )
            & ( ord_less_eq @ A @ C3 @ A3 ) ) ) ) )).

% sup.bounded_iff
thf(fact_353_in__rel__def,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( fun_in_rel @ A @ B )
      = ( ^ [R2: set @ ( product_prod @ A @ B ),X4: A,Y5: B] :
            ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ R2 ) ) ) )).

% in_rel_def
thf(fact_354_rtrancl__tab_Oequation_I3_J,axiom,(
    ! [A: $tType] :
      ( ( transi4439934788793893114_i_i_i @ A )
      = ( ^ [R4: pred @ ( product_prod @ A @ A ),Xa4: list @ A,Xb2: A,Xc: A] :
            ( sup_sup @ ( pred @ product_unit )
            @ ( bind @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ A ) ) @ product_unit @ ( single @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( product_prod @ A @ A ) @ Xa4 @ ( product_Pair @ A @ A @ Xb2 @ Xc ) ) )
              @ ( product_case_prod @ ( list @ A ) @ ( product_prod @ A @ A ) @ ( pred @ product_unit )
                @ ^ [Xs3: list @ A] :
                    ( product_case_prod @ A @ A @ ( pred @ product_unit )
                    @ ^ [X9: A,Xa5: A] :
                        ( if @ ( pred @ product_unit ) @ ( X9 = Xa5 ) @ ( single @ product_unit @ product_Unity ) @ ( bot_bot @ ( pred @ product_unit ) ) ) ) ) )
            @ ( bind @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ A ) ) @ product_unit @ ( single @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( product_prod @ A @ A ) @ Xa4 @ ( product_Pair @ A @ A @ Xb2 @ Xc ) ) )
              @ ( product_case_prod @ ( list @ A ) @ ( product_prod @ A @ A ) @ ( pred @ product_unit )
                @ ^ [Xs3: list @ A] :
                    ( product_case_prod @ A @ A @ ( pred @ product_unit )
                    @ ^ [X9: A,Z5: A] :
                        ( bind @ product_unit @ product_unit
                        @ ( if_pred
                          @ ~ ( member @ A @ X9 @ ( set2 @ A @ Xs3 ) ) )
                        @ ( product_case_unit @ ( pred @ product_unit )
                          @ ( bind @ A @ product_unit @ ( transi4441628513830593908_i_o_i @ A @ R4 @ ( cons @ A @ X9 @ Xs3 ) @ Z5 )
                            @ ^ [Xd: A] :
                                ( bind @ ( product_prod @ A @ A ) @ product_unit @ R4
                                @ ( product_case_prod @ A @ A @ ( pred @ product_unit )
                                  @ ^ [Xa5: A,Ya: A] :
                                      ( if @ ( pred @ product_unit )
                                      @ ( ( X9 = Xa5 )
                                        & ( Xd = Ya ) )
                                      @ ( single @ product_unit @ product_Unity )
                                      @ ( bot_bot @ ( pred @ product_unit ) ) ) ) ) ) ) ) ) ) ) ) ) ) )).

% rtrancl_tab.equation(3)
thf(fact_355_Un__subset__iff,axiom,(
    ! [A: $tType,A6: set @ A,B6: set @ A,C6: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ A6 @ B6 ) @ C6 )
      = ( ( ord_less_eq @ ( set @ A ) @ A6 @ C6 )
        & ( ord_less_eq @ ( set @ A ) @ B6 @ C6 ) ) ) )).

% Un_subset_iff
thf(fact_356_fun__quotient,axiom,(
    ! [A: $tType,B: $tType,D: $tType,C: $tType,R1: A > A > $o,Abs1: A > B,Rep1: B > A,T1: A > B > $o,R22: C > C > $o,Abs2: C > D,Rep22: D > C,T22: C > D > $o] :
      ( ( quotient @ A @ B @ R1 @ Abs1 @ Rep1 @ T1 )
     => ( ( quotient @ C @ D @ R22 @ Abs2 @ Rep22 @ T22 )
       => ( quotient @ ( A > C ) @ ( B > D ) @ ( bNF_rel_fun @ A @ A @ C @ C @ R1 @ R22 ) @ ( map_fun @ B @ A @ C @ D @ Rep1 @ Abs2 ) @ ( map_fun @ A @ B @ D @ C @ Abs1 @ Rep22 ) @ ( bNF_rel_fun @ A @ B @ C @ D @ T1 @ T22 ) ) ) ) )).

% fun_quotient
thf(fact_357_conditional__action_Omap__ident,axiom,(
    ! [A: $tType,T4: conditional_action @ A] :
      ( ( condit198635377858011928action @ A @ A
        @ ^ [X4: A] : X4
        @ T4 )
      = T4 ) )).

% conditional_action.map_ident
thf(fact_358_snd__map__prod,axiom,(
    ! [B: $tType,A: $tType,D: $tType,C: $tType,F4: C > B,G4: D > A,X3: product_prod @ C @ D] :
      ( ( product_snd @ B @ A @ ( product_map_prod @ C @ B @ D @ A @ F4 @ G4 @ X3 ) )
      = ( G4 @ ( product_snd @ C @ D @ X3 ) ) ) )).

% snd_map_prod
thf(fact_359_min__def,axiom,(
    ! [A: $tType] :
      ( ( ord @ A )
     => ( ( ord_min @ A )
        = ( ^ [A5: A,B5: A] :
              ( if @ A @ ( ord_less_eq @ A @ A5 @ B5 ) @ A5 @ B5 ) ) ) ) )).

% min_def
thf(fact_360_fst__map__prod,axiom,(
    ! [B: $tType,A: $tType,D: $tType,C: $tType,F4: C > A,G4: D > B,X3: product_prod @ C @ D] :
      ( ( product_fst @ A @ B @ ( product_map_prod @ C @ A @ D @ B @ F4 @ G4 @ X3 ) )
      = ( F4 @ ( product_fst @ C @ D @ X3 ) ) ) )).

% fst_map_prod
thf(fact_361_rtrancl__tab_Oequation_I1_J,axiom,(
    ! [A: $tType] :
      ( ( transi8253828792423813248_i_i_i @ A )
      = ( ^ [R4: A > ( pred @ A ),Xa4: list @ A,Xb2: A,Xc: A] :
            ( sup_sup @ ( pred @ product_unit )
            @ ( bind @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ A ) ) @ product_unit @ ( single @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( product_prod @ A @ A ) @ Xa4 @ ( product_Pair @ A @ A @ Xb2 @ Xc ) ) )
              @ ( product_case_prod @ ( list @ A ) @ ( product_prod @ A @ A ) @ ( pred @ product_unit )
                @ ^ [Xs3: list @ A] :
                    ( product_case_prod @ A @ A @ ( pred @ product_unit )
                    @ ^ [X9: A,Xa5: A] :
                        ( if @ ( pred @ product_unit ) @ ( X9 = Xa5 ) @ ( single @ product_unit @ product_Unity ) @ ( bot_bot @ ( pred @ product_unit ) ) ) ) ) )
            @ ( bind @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ A ) ) @ product_unit @ ( single @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( product_prod @ A @ A ) @ Xa4 @ ( product_Pair @ A @ A @ Xb2 @ Xc ) ) )
              @ ( product_case_prod @ ( list @ A ) @ ( product_prod @ A @ A ) @ ( pred @ product_unit )
                @ ^ [Xs3: list @ A] :
                    ( product_case_prod @ A @ A @ ( pred @ product_unit )
                    @ ^ [X9: A,Z5: A] :
                        ( bind @ product_unit @ product_unit
                        @ ( if_pred
                          @ ~ ( member @ A @ X9 @ ( set2 @ A @ Xs3 ) ) )
                        @ ( product_case_unit @ ( pred @ product_unit )
                          @ ( bind @ A @ product_unit @ ( R4 @ X9 )
                            @ ^ [Xd: A] :
                                ( bind @ product_unit @ product_unit @ ( transi8253828792423813248_i_i_i @ A @ R4 @ ( cons @ A @ X9 @ Xs3 ) @ Xd @ Z5 ) @ ( product_case_unit @ ( pred @ product_unit ) @ ( single @ product_unit @ product_Unity ) ) ) ) ) ) ) ) ) ) ) ) )).

% rtrancl_tab.equation(1)
thf(fact_362_map__prod__imageI,axiom,(
    ! [D: $tType,C: $tType,B: $tType,A: $tType,A3: A,B3: B,R: set @ ( product_prod @ A @ B ),F4: A > C,G4: B > D] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ R )
     => ( member @ ( product_prod @ C @ D ) @ ( product_Pair @ C @ D @ ( F4 @ A3 ) @ ( G4 @ B3 ) ) @ ( image2 @ ( product_prod @ A @ B ) @ ( product_prod @ C @ D ) @ ( product_map_prod @ A @ C @ B @ D @ F4 @ G4 ) @ R ) ) ) )).

% map_prod_imageI
thf(fact_363_finite__induct,axiom,(
    ! [A: $tType,F6: set @ A,P: ( set @ A ) > $o] :
      ( ( finite_finite @ A @ F6 )
     => ( ( P @ ( bot_bot @ ( set @ A ) ) )
       => ( ! [X5: A,F7: set @ A] :
              ( ( finite_finite @ A @ F7 )
             => ( ~ ( member @ A @ X5 @ F7 )
               => ( ( P @ F7 )
                 => ( P @ ( insert2 @ A @ X5 @ F7 ) ) ) ) )
         => ( P @ F6 ) ) ) ) )).

% finite_induct
thf(fact_364_Un__left__commute,axiom,(
    ! [A: $tType,A6: set @ A,B6: set @ A,C6: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ A6 @ ( sup_sup @ ( set @ A ) @ B6 @ C6 ) )
      = ( sup_sup @ ( set @ A ) @ B6 @ ( sup_sup @ ( set @ A ) @ A6 @ C6 ) ) ) )).

% Un_left_commute
thf(fact_365_trancl__induct,axiom,(
    ! [A: $tType,A3: A,B3: A,R3: set @ ( product_prod @ A @ A ),P: A > $o] :
      ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ ( transitive_trancl @ A @ R3 ) )
     => ( ! [Y4: A] :
            ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ Y4 ) @ R3 )
           => ( P @ Y4 ) )
       => ( ! [Y4: A,Z3: A] :
              ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ Y4 ) @ ( transitive_trancl @ A @ R3 ) )
             => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y4 @ Z3 ) @ R3 )
               => ( ( P @ Y4 )
                 => ( P @ Z3 ) ) ) )
         => ( P @ B3 ) ) ) ) )).

% trancl_induct
thf(fact_366_Un__left__absorb,axiom,(
    ! [A: $tType,A6: set @ A,B6: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ A6 @ ( sup_sup @ ( set @ A ) @ A6 @ B6 ) )
      = ( sup_sup @ ( set @ A ) @ A6 @ B6 ) ) )).

% Un_left_absorb
thf(fact_367_wait__set__action_Osize_I12_J,axiom,(
    ! [T: $tType,W: $tType] :
      ( ( size_size @ ( wait_set_action @ T @ W ) @ ( wait_set_WokenUp @ T @ W ) )
      = ( suc @ ( zero_zero @ nat ) ) ) )).

% wait_set_action.size(12)
thf(fact_368_subset__Un__eq,axiom,(
    ! [A: $tType] :
      ( ( ord_less_eq @ ( set @ A ) )
      = ( ^ [A7: set @ A,B7: set @ A] :
            ( ( sup_sup @ ( set @ A ) @ A7 @ B7 )
            = B7 ) ) ) )).

% subset_Un_eq
thf(fact_369_fold__atLeastAtMost__nat_Opinduct,axiom,(
    ! [A: $tType,A0: nat > A > A,A1: nat,A22: nat,A32: A,P: ( nat > A > A ) > nat > nat > A > $o] :
      ( ( accp @ ( product_prod @ ( nat > A > A ) @ ( product_prod @ nat @ ( product_prod @ nat @ A ) ) ) @ ( set_fo1817059534552279752at_rel @ A ) @ ( product_Pair @ ( nat > A > A ) @ ( product_prod @ nat @ ( product_prod @ nat @ A ) ) @ A0 @ ( product_Pair @ nat @ ( product_prod @ nat @ A ) @ A1 @ ( product_Pair @ nat @ A @ A22 @ A32 ) ) ) )
     => ( ! [F2: nat > A > A,A2: nat,B2: nat,Acc: A] :
            ( ( accp @ ( product_prod @ ( nat > A > A ) @ ( product_prod @ nat @ ( product_prod @ nat @ A ) ) ) @ ( set_fo1817059534552279752at_rel @ A ) @ ( product_Pair @ ( nat > A > A ) @ ( product_prod @ nat @ ( product_prod @ nat @ A ) ) @ F2 @ ( product_Pair @ nat @ ( product_prod @ nat @ A ) @ A2 @ ( product_Pair @ nat @ A @ B2 @ Acc ) ) ) )
           => ( ( ~ ( ord_less @ nat @ B2 @ A2 )
               => ( P @ F2 @ ( plus_plus @ nat @ A2 @ ( one_one @ nat ) ) @ B2 @ ( F2 @ A2 @ Acc ) ) )
             => ( P @ F2 @ A2 @ B2 @ Acc ) ) )
       => ( P @ A0 @ A1 @ A22 @ A32 ) ) ) )).

% fold_atLeastAtMost_nat.pinduct
thf(fact_370_subset__UnE,axiom,(
    ! [A: $tType,C6: set @ A,A6: set @ A,B6: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ C6 @ ( sup_sup @ ( set @ A ) @ A6 @ B6 ) )
     => ~ ! [A10: set @ A] :
            ( ( ord_less_eq @ ( set @ A ) @ A10 @ A6 )
           => ! [B8: set @ A] :
                ( ( ord_less_eq @ ( set @ A ) @ B8 @ B6 )
               => ( C6
                 != ( sup_sup @ ( set @ A ) @ A10 @ B8 ) ) ) ) ) )).

% subset_UnE
thf(fact_371_case__prod__Pair,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( product_case_prod @ A @ B @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B ) )
      = ( id @ ( product_prod @ A @ B ) ) ) )).

% case_prod_Pair
thf(fact_372_mem__Sigma__iff,axiom,(
    ! [B: $tType,A: $tType,A3: A,B3: B,A6: set @ A,B6: A > ( set @ B )] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) )
      = ( ( member @ A @ A3 @ A6 )
        & ( member @ B @ B3 @ ( B6 @ A3 ) ) ) ) )).

% mem_Sigma_iff
thf(fact_373_trancl__induct2,axiom,(
    ! [A: $tType,B: $tType,Ax: A,Ay: B,Bx: A,By: B,R3: set @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ),P: A > B > $o] :
      ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Ax @ Ay ) @ ( product_Pair @ A @ B @ Bx @ By ) ) @ ( transitive_trancl @ ( product_prod @ A @ B ) @ R3 ) )
     => ( ! [A2: A,B2: B] :
            ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Ax @ Ay ) @ ( product_Pair @ A @ B @ A2 @ B2 ) ) @ R3 )
           => ( P @ A2 @ B2 ) )
       => ( ! [A2: A,B2: B,Aa2: A,Ba: B] :
              ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Ax @ Ay ) @ ( product_Pair @ A @ B @ A2 @ B2 ) ) @ ( transitive_trancl @ ( product_prod @ A @ B ) @ R3 ) )
             => ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ ( product_Pair @ A @ B @ Aa2 @ Ba ) ) @ R3 )
               => ( ( P @ A2 @ B2 )
                 => ( P @ Aa2 @ Ba ) ) ) )
         => ( P @ Bx @ By ) ) ) ) )).

% trancl_induct2
thf(fact_374_Un__commute,axiom,(
    ! [A: $tType] :
      ( ( sup_sup @ ( set @ A ) )
      = ( ^ [A7: set @ A,B7: set @ A] :
            ( sup_sup @ ( set @ A ) @ B7 @ A7 ) ) ) )).

% Un_commute
thf(fact_375_converse__rtrancl__induct2,axiom,(
    ! [A: $tType,B: $tType,Ax: A,Ay: B,Bx: A,By: B,R3: set @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ),P: A > B > $o] :
      ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Ax @ Ay ) @ ( product_Pair @ A @ B @ Bx @ By ) ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) @ R3 ) )
     => ( ( P @ Bx @ By )
       => ( ! [A2: A,B2: B,Aa2: A,Ba: B] :
              ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ ( product_Pair @ A @ B @ Aa2 @ Ba ) ) @ R3 )
             => ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Aa2 @ Ba ) @ ( product_Pair @ A @ B @ Bx @ By ) ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) @ R3 ) )
               => ( ( P @ Aa2 @ Ba )
                 => ( P @ A2 @ B2 ) ) ) )
         => ( P @ Ax @ Ay ) ) ) ) )).

% converse_rtrancl_induct2
thf(fact_376_Un__absorb2,axiom,(
    ! [A: $tType,B6: set @ A,A6: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ B6 @ A6 )
     => ( ( sup_sup @ ( set @ A ) @ A6 @ B6 )
        = A6 ) ) )).

% Un_absorb2
thf(fact_377_snd__o__Pair__conv__id,axiom,(
    ! [B: $tType,A: $tType,A3: B] :
      ( ( comp @ ( product_prod @ B @ A ) @ A @ A @ ( product_snd @ B @ A ) @ ( product_Pair @ B @ A @ A3 ) )
      = ( id @ A ) ) )).

% snd_o_Pair_conv_id
thf(fact_378_Quotient__rep__abs__eq,axiom,(
    ! [B: $tType,A: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,T5: A > B > $o,T4: A] :
      ( ( quotient @ A @ B @ R @ Abs @ Rep @ T5 )
     => ( ( R @ T4 @ T4 )
       => ( ( ord_less_eq @ ( A > A > $o ) @ R
            @ ^ [Y3: A,Z: A] : ( Y3 = Z ) )
         => ( ( Rep @ ( Abs @ T4 ) )
            = T4 ) ) ) ) )).

% Quotient_rep_abs_eq
thf(fact_379_Un__absorb1,axiom,(
    ! [A: $tType,A6: set @ A,B6: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
     => ( ( sup_sup @ ( set @ A ) @ A6 @ B6 )
        = B6 ) ) )).

% Un_absorb1
thf(fact_380_conditional__action_Osize_I1_J,axiom,(
    ! [T: $tType,X3: T > nat,X1: T] :
      ( ( condit7996436068482063107action @ T @ X3 @ ( conditional_Join @ T @ X1 ) )
      = ( plus_plus @ nat @ ( X3 @ X1 ) @ ( suc @ ( zero_zero @ nat ) ) ) ) )).

% conditional_action.size(1)
thf(fact_381_Un__upper2,axiom,(
    ! [A: $tType,B6: set @ A,A6: set @ A] :
      ( ord_less_eq @ ( set @ A ) @ B6 @ ( sup_sup @ ( set @ A ) @ A6 @ B6 ) ) )).

% Un_upper2
thf(fact_382_new__thread__action_Orel__eq,axiom,(
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( new_th911009063021768419action @ A @ A @ B @ B @ C @ C
        @ ^ [Y3: A,Z: A] : ( Y3 = Z )
        @ ^ [Y3: B,Z: B] : ( Y3 = Z )
        @ ^ [Y3: C,Z: C] : ( Y3 = Z ) )
      = ( ^ [Y3: new_thread_action @ A @ B @ C,Z: new_thread_action @ A @ B @ C] : ( Y3 = Z ) ) ) )).

% new_thread_action.rel_eq
thf(fact_383_Un__upper1,axiom,(
    ! [A: $tType,A6: set @ A,B6: set @ A] :
      ( ord_less_eq @ ( set @ A ) @ A6 @ ( sup_sup @ ( set @ A ) @ A6 @ B6 ) ) )).

% Un_upper1
thf(fact_384_wait__set__action_Osize_I11_J,axiom,(
    ! [T: $tType,W: $tType] :
      ( ( size_size @ ( wait_set_action @ T @ W ) @ ( wait_set_Notified @ T @ W ) )
      = ( suc @ ( zero_zero @ nat ) ) ) )).

% wait_set_action.size(11)
thf(fact_385_Un__absorb,axiom,(
    ! [A: $tType,A6: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ A6 @ A6 )
      = A6 ) )).

% Un_absorb
thf(fact_386_insertE,axiom,(
    ! [A: $tType,A3: A,B3: A,A6: set @ A] :
      ( ( member @ A @ A3 @ ( insert2 @ A @ B3 @ A6 ) )
     => ( ( A3 != B3 )
       => ( member @ A @ A3 @ A6 ) ) ) )).

% insertE
thf(fact_387_Un__least,axiom,(
    ! [A: $tType,A6: set @ A,C6: set @ A,B6: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ A6 @ C6 )
     => ( ( ord_less_eq @ ( set @ A ) @ B6 @ C6 )
       => ( ord_less_eq @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ A6 @ B6 ) @ C6 ) ) ) )).

% Un_least
thf(fact_388_conditional__action_Omap__id0,axiom,(
    ! [A: $tType] :
      ( ( condit198635377858011928action @ A @ A @ ( id @ A ) )
      = ( id @ ( conditional_action @ A ) ) ) )).

% conditional_action.map_id0
thf(fact_389_Un__assoc,axiom,(
    ! [A: $tType,A6: set @ A,B6: set @ A,C6: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ A6 @ B6 ) @ C6 )
      = ( sup_sup @ ( set @ A ) @ A6 @ ( sup_sup @ ( set @ A ) @ B6 @ C6 ) ) ) )).

% Un_assoc
thf(fact_390_id__comp,axiom,(
    ! [B: $tType,A: $tType,G4: A > B] :
      ( ( comp @ B @ B @ A @ ( id @ B ) @ G4 )
      = G4 ) )).

% id_comp
thf(fact_391_conditional__action_Odistinct_I1_J,axiom,(
    ! [T: $tType,X1: T] :
      ( ( conditional_Join @ T @ X1 )
     != ( conditional_Yield @ T ) ) )).

% conditional_action.distinct(1)
thf(fact_392_ball__Un,axiom,(
    ! [A: $tType,A6: set @ A,B6: set @ A,P: A > $o] :
      ( ( ! [X4: A] :
            ( ( member @ A @ X4 @ ( sup_sup @ ( set @ A ) @ A6 @ B6 ) )
           => ( P @ X4 ) ) )
      = ( ! [X4: A] :
            ( ( member @ A @ X4 @ A6 )
           => ( P @ X4 ) )
        & ! [X4: A] :
            ( ( member @ A @ X4 @ B6 )
           => ( P @ X4 ) ) ) ) )).

% ball_Un
thf(fact_393_comp__id,axiom,(
    ! [B: $tType,A: $tType,F4: A > B] :
      ( ( comp @ A @ B @ A @ F4 @ ( id @ A ) )
      = F4 ) )).

% comp_id
thf(fact_394_conditional__action_Odistinct_I2_J,axiom,(
    ! [T: $tType,X1: T] :
      ( ( conditional_Yield @ T )
     != ( conditional_Join @ T @ X1 ) ) )).

% conditional_action.distinct(2)
thf(fact_395_Un__mono,axiom,(
    ! [A: $tType,A6: set @ A,C6: set @ A,B6: set @ A,D4: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ A6 @ C6 )
     => ( ( ord_less_eq @ ( set @ A ) @ B6 @ D4 )
       => ( ord_less_eq @ ( set @ A ) @ ( sup_sup @ ( set @ A ) @ A6 @ B6 ) @ ( sup_sup @ ( set @ A ) @ C6 @ D4 ) ) ) ) )).

% Un_mono
thf(fact_396_conditional__action_Oexhaust,axiom,(
    ! [T: $tType,Y: conditional_action @ T] :
      ( ! [X14: T] :
          ( Y
         != ( conditional_Join @ T @ X14 ) )
     => ( Y
        = ( conditional_Yield @ T ) ) ) )).

% conditional_action.exhaust
thf(fact_397_bex__Un,axiom,(
    ! [A: $tType,A6: set @ A,B6: set @ A,P: A > $o] :
      ( ( ? [X4: A] :
            ( ( member @ A @ X4 @ ( sup_sup @ ( set @ A ) @ A6 @ B6 ) )
            & ( P @ X4 ) ) )
      = ( ? [X4: A] :
            ( ( member @ A @ X4 @ A6 )
            & ( P @ X4 ) )
        | ? [X4: A] :
            ( ( member @ A @ X4 @ B6 )
            & ( P @ X4 ) ) ) ) )).

% bex_Un
thf(fact_398_converse__rtrancl__induct,axiom,(
    ! [A: $tType,A3: A,B3: A,R3: set @ ( product_prod @ A @ A ),P: A > $o] :
      ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ ( transitive_rtrancl @ A @ R3 ) )
     => ( ( P @ B3 )
       => ( ! [Y4: A,Z3: A] :
              ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y4 @ Z3 ) @ R3 )
             => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Z3 @ B3 ) @ ( transitive_rtrancl @ A @ R3 ) )
               => ( ( P @ Z3 )
                 => ( P @ Y4 ) ) ) )
         => ( P @ A3 ) ) ) ) )).

% converse_rtrancl_induct
thf(fact_399_UnI2,axiom,(
    ! [A: $tType,C3: A,B6: set @ A,A6: set @ A] :
      ( ( member @ A @ C3 @ B6 )
     => ( member @ A @ C3 @ ( sup_sup @ ( set @ A ) @ A6 @ B6 ) ) ) )).

% UnI2
thf(fact_400_wait__set__action_Osize_I10_J,axiom,(
    ! [T: $tType,W: $tType,X42: T] :
      ( ( size_size @ ( wait_set_action @ T @ W ) @ ( wait_set_WakeUp @ T @ W @ X42 ) )
      = ( suc @ ( zero_zero @ nat ) ) ) )).

% wait_set_action.size(10)
thf(fact_401_UnI1,axiom,(
    ! [A: $tType,C3: A,A6: set @ A,B6: set @ A] :
      ( ( member @ A @ C3 @ A6 )
     => ( member @ A @ C3 @ ( sup_sup @ ( set @ A ) @ A6 @ B6 ) ) ) )).

% UnI1
thf(fact_402_conditional__action_Oinduct,axiom,(
    ! [T: $tType,P: ( conditional_action @ T ) > $o,Conditional_action: conditional_action @ T] :
      ( ! [X5: T] :
          ( P @ ( conditional_Join @ T @ X5 ) )
     => ( ( P @ ( conditional_Yield @ T ) )
       => ( P @ Conditional_action ) ) ) )).

% conditional_action.induct
thf(fact_403_new__thread__action_Osize_I4_J,axiom,(
    ! [X: $tType,M: $tType,T: $tType,X21: T,X22: $o] :
      ( ( size_size @ ( new_thread_action @ T @ X @ M ) @ ( new_th4503388622997288770Exists @ T @ X @ M @ X21 @ X22 ) )
      = ( suc @ ( zero_zero @ nat ) ) ) )).

% new_thread_action.size(4)
thf(fact_404_GrpI,axiom,(
    ! [B: $tType,A: $tType,F4: B > A,X3: B,Y: A,A6: set @ B] :
      ( ( ( F4 @ X3 )
        = Y )
     => ( ( member @ B @ X3 @ A6 )
       => ( bNF_Grp @ B @ A @ A6 @ F4 @ X3 @ Y ) ) ) )).

% GrpI
thf(fact_405_new__thread__action_Oinject_I1_J,axiom,(
    ! [T: $tType,X: $tType,M: $tType,X11: T,X12: X,X13: M,Y11: T,Y12: X,Y13: M] :
      ( ( ( new_thread_NewThread @ T @ X @ M @ X11 @ X12 @ X13 )
        = ( new_thread_NewThread @ T @ X @ M @ Y11 @ Y12 @ Y13 ) )
      = ( ( X11 = Y11 )
        & ( X12 = Y12 )
        & ( X13 = Y13 ) ) ) )).

% new_thread_action.inject(1)
thf(fact_406_GrpE,axiom,(
    ! [B: $tType,A: $tType,A6: set @ A,F4: A > B,X3: A,Y: B] :
      ( ( bNF_Grp @ A @ B @ A6 @ F4 @ X3 @ Y )
     => ~ ( ( ( F4 @ X3 )
            = Y )
         => ~ ( member @ A @ X3 @ A6 ) ) ) )).

% GrpE
thf(fact_407_lex__prod__def,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( lex_prod @ A @ B )
      = ( ^ [Ra: set @ ( product_prod @ A @ A ),Rb: set @ ( product_prod @ B @ B )] :
            ( collect @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) )
            @ ( product_case_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ $o
              @ ( product_case_prod @ A @ B @ ( ( product_prod @ A @ B ) > $o )
                @ ^ [A5: A,B5: B] :
                    ( product_case_prod @ A @ B @ $o
                    @ ^ [A11: A,B9: B] :
                        ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A5 @ A11 ) @ Ra )
                        | ( ( A5 = A11 )
                          & ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ B5 @ B9 ) @ Rb ) ) ) ) ) ) ) ) ) )).

% lex_prod_def
thf(fact_408_subset__Un2,axiom,(
    ! [A: $tType,A6: set @ A,C6: set @ A,B6: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ A6 @ C6 )
     => ( ord_less_eq @ ( set @ A ) @ A6 @ ( sup_sup @ ( set @ A ) @ B6 @ C6 ) ) ) )).

% subset_Un2
thf(fact_409_new__thread__action_Opred__True,axiom,(
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( new_th3963266298022529507action @ A @ B @ C
        @ ^ [Uu: A] : $true
        @ ^ [Uu: B] : $true
        @ ^ [Uu: C] : $true )
      = ( ^ [Uu: new_thread_action @ A @ B @ C] : $true ) ) )).

% new_thread_action.pred_True
thf(fact_410_subset__Un1,axiom,(
    ! [A: $tType,A6: set @ A,B6: set @ A,C6: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
     => ( ord_less_eq @ ( set @ A ) @ A6 @ ( sup_sup @ ( set @ A ) @ B6 @ C6 ) ) ) )).

% subset_Un1
thf(fact_411_wait__set__action_Odistinct_I29_J,axiom,(
    ! [W: $tType,T: $tType] :
      ( ( wait_set_Notified @ T @ W )
     != ( wait_set_WokenUp @ T @ W ) ) )).

% wait_set_action.distinct(29)
thf(fact_412_map__prod_Ocompositionality,axiom,(
    ! [D: $tType,F: $tType,E: $tType,C: $tType,B: $tType,A: $tType,F4: C > E,G4: D > F,H: A > C,I2: B > D,Prod: product_prod @ A @ B] :
      ( ( product_map_prod @ C @ E @ D @ F @ F4 @ G4 @ ( product_map_prod @ A @ C @ B @ D @ H @ I2 @ Prod ) )
      = ( product_map_prod @ A @ E @ B @ F @ ( comp @ C @ E @ A @ F4 @ H ) @ ( comp @ D @ F @ B @ G4 @ I2 ) @ Prod ) ) )).

% map_prod.compositionality
thf(fact_413_wait__set__action_Odistinct_I30_J,axiom,(
    ! [W: $tType,T: $tType] :
      ( ( wait_set_WokenUp @ T @ W )
     != ( wait_set_Notified @ T @ W ) ) )).

% wait_set_action.distinct(30)
thf(fact_414_map__prod__compose,axiom,(
    ! [D: $tType,C: $tType,A: $tType,E: $tType,F: $tType,B: $tType,F1: E > C,F22: A > E,G1: F > D,G22: B > F] :
      ( ( product_map_prod @ A @ C @ B @ D @ ( comp @ E @ C @ A @ F1 @ F22 ) @ ( comp @ F @ D @ B @ G1 @ G22 ) )
      = ( comp @ ( product_prod @ E @ F ) @ ( product_prod @ C @ D ) @ ( product_prod @ A @ B ) @ ( product_map_prod @ E @ C @ F @ D @ F1 @ G1 ) @ ( product_map_prod @ A @ E @ B @ F @ F22 @ G22 ) ) ) )).

% map_prod_compose
thf(fact_415_filter__eq__iff,axiom,(
    ! [A: $tType] :
      ( ( ^ [Y3: filter @ A,Z: filter @ A] : ( Y3 = Z ) )
      = ( ^ [F8: filter @ A,F9: filter @ A] :
          ! [P4: A > $o] :
            ( ( eventually @ A @ P4 @ F8 )
            = ( eventually @ A @ P4 @ F9 ) ) ) ) )).

% filter_eq_iff
thf(fact_416_map__prod_Ocomp,axiom,(
    ! [A: $tType,C: $tType,E: $tType,F: $tType,D: $tType,B: $tType,F4: C > E,G4: D > F,H: A > C,I2: B > D] :
      ( ( comp @ ( product_prod @ C @ D ) @ ( product_prod @ E @ F ) @ ( product_prod @ A @ B ) @ ( product_map_prod @ C @ E @ D @ F @ F4 @ G4 ) @ ( product_map_prod @ A @ C @ B @ D @ H @ I2 ) )
      = ( product_map_prod @ A @ E @ B @ F @ ( comp @ C @ E @ A @ F4 @ H ) @ ( comp @ D @ F @ B @ G4 @ I2 ) ) ) )).

% map_prod.comp
thf(fact_417_case__prodI2,axiom,(
    ! [B: $tType,A: $tType,P2: product_prod @ A @ B,C3: A > B > $o] :
      ( ! [A2: A,B2: B] :
          ( ( P2
            = ( product_Pair @ A @ B @ A2 @ B2 ) )
         => ( C3 @ A2 @ B2 ) )
     => ( product_case_prod @ A @ B @ $o @ C3 @ P2 ) ) )).

% case_prodI2
thf(fact_418_conditional__action_Osize_I2_J,axiom,(
    ! [T: $tType,X3: T > nat] :
      ( ( condit7996436068482063107action @ T @ X3 @ ( conditional_Yield @ T ) )
      = ( suc @ ( zero_zero @ nat ) ) ) )).

% conditional_action.size(2)
thf(fact_419_subset__image__iff,axiom,(
    ! [A: $tType,B: $tType,B6: set @ A,F4: B > A,A6: set @ B] :
      ( ( ord_less_eq @ ( set @ A ) @ B6 @ ( image2 @ B @ A @ F4 @ A6 ) )
      = ( ? [AA: set @ B] :
            ( ( ord_less_eq @ ( set @ B ) @ AA @ A6 )
            & ( B6
              = ( image2 @ B @ A @ F4 @ AA ) ) ) ) ) )).

% subset_image_iff
thf(fact_420_map__tailrec__rev_Opelims,axiom,(
    ! [A: $tType,B: $tType,X3: A > B,Xa2: list @ A,Xb: list @ B,Y: list @ B] :
      ( ( ( map_tailrec_rev @ A @ B @ X3 @ Xa2 @ Xb )
        = Y )
     => ( ( accp @ ( product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) @ ( map_tailrec_rev_rel @ A @ B ) @ ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ X3 @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xa2 @ Xb ) ) )
       => ( ( ( Xa2
              = ( nil @ A ) )
           => ( ( Y = Xb )
             => ~ ( accp @ ( product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) @ ( map_tailrec_rev_rel @ A @ B ) @ ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ X3 @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ Xb ) ) ) ) )
         => ~ ! [A2: A,As: list @ A] :
                ( ( Xa2
                  = ( cons @ A @ A2 @ As ) )
               => ( ( Y
                    = ( map_tailrec_rev @ A @ B @ X3 @ As @ ( cons @ B @ ( X3 @ A2 ) @ Xb ) ) )
                 => ~ ( accp @ ( product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) @ ( map_tailrec_rev_rel @ A @ B ) @ ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ X3 @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ A2 @ As ) @ Xb ) ) ) ) ) ) ) ) )).

% map_tailrec_rev.pelims
thf(fact_421_image__subset__iff,axiom,(
    ! [A: $tType,B: $tType,F4: B > A,A6: set @ B,B6: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ ( image2 @ B @ A @ F4 @ A6 ) @ B6 )
      = ( ! [X4: B] :
            ( ( member @ B @ X4 @ A6 )
           => ( member @ A @ ( F4 @ X4 ) @ B6 ) ) ) ) )).

% image_subset_iff
thf(fact_422_iter_Ocases,axiom,(
    ! [A: $tType,X3: product_prod @ ( ( product_prod @ code_natural @ code_natural ) > ( product_prod @ ( product_prod @ A @ ( product_unit > code_term ) ) @ ( product_prod @ code_natural @ code_natural ) ) ) @ ( product_prod @ code_natural @ ( product_prod @ code_natural @ code_natural ) )] :
      ~ ! [Random: ( product_prod @ code_natural @ code_natural ) > ( product_prod @ ( product_prod @ A @ ( product_unit > code_term ) ) @ ( product_prod @ code_natural @ code_natural ) ),Nrandom: code_natural,Seed: product_prod @ code_natural @ code_natural] :
          ( X3
         != ( product_Pair @ ( ( product_prod @ code_natural @ code_natural ) > ( product_prod @ ( product_prod @ A @ ( product_unit > code_term ) ) @ ( product_prod @ code_natural @ code_natural ) ) ) @ ( product_prod @ code_natural @ ( product_prod @ code_natural @ code_natural ) ) @ Random @ ( product_Pair @ code_natural @ ( product_prod @ code_natural @ code_natural ) @ Nrandom @ Seed ) ) ) )).

% iter.cases
thf(fact_423_subset__imageE,axiom,(
    ! [A: $tType,B: $tType,B6: set @ A,F4: B > A,A6: set @ B] :
      ( ( ord_less_eq @ ( set @ A ) @ B6 @ ( image2 @ B @ A @ F4 @ A6 ) )
     => ~ ! [C7: set @ B] :
            ( ( ord_less_eq @ ( set @ B ) @ C7 @ A6 )
           => ( B6
             != ( image2 @ B @ A @ F4 @ C7 ) ) ) ) )).

% subset_imageE
thf(fact_424_same__fstI,axiom,(
    ! [B: $tType,A: $tType,P: A > $o,X3: A,Y8: B,Y: B,R: A > ( set @ ( product_prod @ B @ B ) )] :
      ( ( P @ X3 )
     => ( ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ Y8 @ Y ) @ ( R @ X3 ) )
       => ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Y8 ) @ ( product_Pair @ A @ B @ X3 @ Y ) ) @ ( same_fst @ A @ B @ P @ R ) ) ) ) )).

% same_fstI
thf(fact_425_image__subsetI,axiom,(
    ! [A: $tType,B: $tType,A6: set @ A,F4: A > B,B6: set @ B] :
      ( ! [X5: A] :
          ( ( member @ A @ X5 @ A6 )
         => ( member @ B @ ( F4 @ X5 ) @ B6 ) )
     => ( ord_less_eq @ ( set @ B ) @ ( image2 @ A @ B @ F4 @ A6 ) @ B6 ) ) )).

% image_subsetI
thf(fact_426_wait__set__action_Osize_I7_J,axiom,(
    ! [W: $tType,T: $tType,X1: W] :
      ( ( size_size @ ( wait_set_action @ T @ W ) @ ( wait_set_Suspend @ W @ T @ X1 ) )
      = ( suc @ ( zero_zero @ nat ) ) ) )).

% wait_set_action.size(7)
thf(fact_427_image__mono,axiom,(
    ! [B: $tType,A: $tType,A6: set @ A,B6: set @ A,F4: A > B] :
      ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
     => ( ord_less_eq @ ( set @ B ) @ ( image2 @ A @ B @ F4 @ A6 ) @ ( image2 @ A @ B @ F4 @ B6 ) ) ) )).

% image_mono
thf(fact_428_converse__rtranclE2,axiom,(
    ! [B: $tType,A: $tType,Xa2: A,Xb: B,Za: A,Zb: B,R3: set @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) )] :
      ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Xa2 @ Xb ) @ ( product_Pair @ A @ B @ Za @ Zb ) ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) @ R3 ) )
     => ( ( ( product_Pair @ A @ B @ Xa2 @ Xb )
         != ( product_Pair @ A @ B @ Za @ Zb ) )
       => ~ ! [A2: A,B2: B] :
              ( ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Xa2 @ Xb ) @ ( product_Pair @ A @ B @ A2 @ B2 ) ) @ R3 )
             => ~ ( member @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) ) @ ( product_Pair @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A2 @ B2 ) @ ( product_Pair @ A @ B @ Za @ Zb ) ) @ ( transitive_rtrancl @ ( product_prod @ A @ B ) @ R3 ) ) ) ) ) )).

% converse_rtranclE2
thf(fact_429_inf__sup__ord_I4_J,axiom,(
    ! [A: $tType] :
      ( ( lattice @ A )
     => ! [Y: A,X3: A] :
          ( ord_less_eq @ A @ Y @ ( sup_sup @ A @ X3 @ Y ) ) ) )).

% inf_sup_ord(4)
thf(fact_430_image__ident,axiom,(
    ! [A: $tType,Y7: set @ A] :
      ( ( image2 @ A @ A
        @ ^ [X4: A] : X4
        @ Y7 )
      = Y7 ) )).

% image_ident
thf(fact_431_pred__prod__inject,axiom,(
    ! [A: $tType,B: $tType,P1: A > $o,P22: B > $o,A3: A,B3: B] :
      ( ( basic_pred_prod @ A @ B @ P1 @ P22 @ ( product_Pair @ A @ B @ A3 @ B3 ) )
      = ( ( P1 @ A3 )
        & ( P22 @ B3 ) ) ) )).

% pred_prod_inject
thf(fact_432_inf__sup__ord_I3_J,axiom,(
    ! [A: $tType] :
      ( ( lattice @ A )
     => ! [X3: A,Y: A] :
          ( ord_less_eq @ A @ X3 @ ( sup_sup @ A @ X3 @ Y ) ) ) )).

% inf_sup_ord(3)
thf(fact_433_conditional__action_Opred__set,axiom,(
    ! [A: $tType] :
      ( ( condit606476673698705123action @ A )
      = ( ^ [P4: A > $o,X4: conditional_action @ A] :
          ! [Y5: A] :
            ( ( member @ A @ Y5 @ ( condit2393454222984209554action @ A @ X4 ) )
           => ( P4 @ Y5 ) ) ) ) )).

% conditional_action.pred_set
thf(fact_434_le__supE,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [A3: A,B3: A,X3: A] :
          ( ( ord_less_eq @ A @ ( sup_sup @ A @ A3 @ B3 ) @ X3 )
         => ~ ( ( ord_less_eq @ A @ A3 @ X3 )
             => ~ ( ord_less_eq @ A @ B3 @ X3 ) ) ) ) )).

% le_supE
thf(fact_435_converse__rtranclE,axiom,(
    ! [A: $tType,X3: A,Z4: A,R3: set @ ( product_prod @ A @ A )] :
      ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Z4 ) @ ( transitive_rtrancl @ A @ R3 ) )
     => ( ( X3 != Z4 )
       => ~ ! [Y4: A] :
              ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y4 ) @ R3 )
             => ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y4 @ Z4 ) @ ( transitive_rtrancl @ A @ R3 ) ) ) ) ) )).

% converse_rtranclE
thf(fact_436_le__supI,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [A3: A,X3: A,B3: A] :
          ( ( ord_less_eq @ A @ A3 @ X3 )
         => ( ( ord_less_eq @ A @ B3 @ X3 )
           => ( ord_less_eq @ A @ ( sup_sup @ A @ A3 @ B3 ) @ X3 ) ) ) ) )).

% le_supI
thf(fact_437_Id__onI,axiom,(
    ! [A: $tType,A3: A,A6: set @ A] :
      ( ( member @ A @ A3 @ A6 )
     => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ A3 ) @ ( id_on @ A @ A6 ) ) ) )).

% Id_onI
thf(fact_438_same__fst__def,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( same_fst @ A @ B )
      = ( ^ [P4: A > $o,R2: A > ( set @ ( product_prod @ B @ B ) )] :
            ( collect @ ( product_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) )
            @ ( product_case_prod @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ $o
              @ ( product_case_prod @ A @ B @ ( ( product_prod @ A @ B ) > $o )
                @ ^ [X10: A,Y9: B] :
                    ( product_case_prod @ A @ B @ $o
                    @ ^ [X4: A,Y5: B] :
                        ( ( X10 = X4 )
                        & ( P4 @ X4 )
                        & ( member @ ( product_prod @ B @ B ) @ ( product_Pair @ B @ B @ Y9 @ Y5 ) @ ( R2 @ X4 ) ) ) ) ) ) ) ) ) )).

% same_fst_def
thf(fact_439_sup__ge1,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [X3: A,Y: A] :
          ( ord_less_eq @ A @ X3 @ ( sup_sup @ A @ X3 @ Y ) ) ) )).

% sup_ge1
thf(fact_440_Predicate_Oiterate__upto_Opinduct,axiom,(
    ! [A: $tType,A0: code_natural > A,A1: code_natural,A22: code_natural,P: ( code_natural > A ) > code_natural > code_natural > $o] :
      ( ( accp @ ( product_prod @ ( code_natural > A ) @ ( product_prod @ code_natural @ code_natural ) ) @ ( iterate_upto_rel @ A ) @ ( product_Pair @ ( code_natural > A ) @ ( product_prod @ code_natural @ code_natural ) @ A0 @ ( product_Pair @ code_natural @ code_natural @ A1 @ A22 ) ) )
     => ( ! [F2: code_natural > A,N2: code_natural,M3: code_natural] :
            ( ( accp @ ( product_prod @ ( code_natural > A ) @ ( product_prod @ code_natural @ code_natural ) ) @ ( iterate_upto_rel @ A ) @ ( product_Pair @ ( code_natural > A ) @ ( product_prod @ code_natural @ code_natural ) @ F2 @ ( product_Pair @ code_natural @ code_natural @ N2 @ M3 ) ) )
           => ( ! [X6: product_unit] :
                  ( ~ ( ord_less @ code_natural @ M3 @ N2 )
                 => ( P @ F2 @ ( plus_plus @ code_natural @ N2 @ ( one_one @ code_natural ) ) @ M3 ) )
             => ( P @ F2 @ N2 @ M3 ) ) )
       => ( P @ A0 @ A1 @ A22 ) ) ) )).

% Predicate.iterate_upto.pinduct
thf(fact_441_sup__ge2,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [Y: A,X3: A] :
          ( ord_less_eq @ A @ Y @ ( sup_sup @ A @ X3 @ Y ) ) ) )).

% sup_ge2
thf(fact_442_case__prodI2_H,axiom,(
    ! [A: $tType,B: $tType,C: $tType,P2: product_prod @ A @ B,C3: A > B > C > $o,X3: C] :
      ( ! [A2: A,B2: B] :
          ( ( ( product_Pair @ A @ B @ A2 @ B2 )
            = P2 )
         => ( C3 @ A2 @ B2 @ X3 ) )
     => ( product_case_prod @ A @ B @ ( C > $o ) @ C3 @ P2 @ X3 ) ) )).

% case_prodI2'
thf(fact_443_max_Ocobounded1,axiom,(
    ! [A: $tType] :
      ( ( linorder @ A )
     => ! [A3: A,B3: A] :
          ( ord_less_eq @ A @ A3 @ ( ord_max @ A @ A3 @ B3 ) ) ) )).

% max.cobounded1
thf(fact_444_le__supI1,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [X3: A,A3: A,B3: A] :
          ( ( ord_less_eq @ A @ X3 @ A3 )
         => ( ord_less_eq @ A @ X3 @ ( sup_sup @ A @ A3 @ B3 ) ) ) ) )).

% le_supI1
thf(fact_445_eventually__filtermap,axiom,(
    ! [A: $tType,B: $tType,P: A > $o,F4: B > A,F6: filter @ B] :
      ( ( eventually @ A @ P @ ( filtermap @ B @ A @ F4 @ F6 ) )
      = ( eventually @ B
        @ ^ [X4: B] :
            ( P @ ( F4 @ X4 ) )
        @ F6 ) ) )).

% eventually_filtermap
thf(fact_446_le__supI2,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [X3: A,B3: A,A3: A] :
          ( ( ord_less_eq @ A @ X3 @ B3 )
         => ( ord_less_eq @ A @ X3 @ ( sup_sup @ A @ A3 @ B3 ) ) ) ) )).

% le_supI2
thf(fact_447_conditional__action_Omap__id,axiom,(
    ! [A: $tType,T4: conditional_action @ A] :
      ( ( condit198635377858011928action @ A @ A @ ( id @ A ) @ T4 )
      = T4 ) )).

% conditional_action.map_id
thf(fact_448_sup_Omono,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [C3: A,A3: A,D3: A,B3: A] :
          ( ( ord_less_eq @ A @ C3 @ A3 )
         => ( ( ord_less_eq @ A @ D3 @ B3 )
           => ( ord_less_eq @ A @ ( sup_sup @ A @ C3 @ D3 ) @ ( sup_sup @ A @ A3 @ B3 ) ) ) ) ) )).

% sup.mono
thf(fact_449_new__thread__action_Omap__ident,axiom,(
    ! [C: $tType,B: $tType,A: $tType,T4: new_thread_action @ A @ B @ C] :
      ( ( new_th6052504119144402208action @ A @ A @ B @ B @ C @ C
        @ ^ [X4: A] : X4
        @ ^ [X4: B] : X4
        @ ^ [X4: C] : X4
        @ T4 )
      = T4 ) )).

% new_thread_action.map_ident
thf(fact_450_sup__mono,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [A3: A,C3: A,B3: A,D3: A] :
          ( ( ord_less_eq @ A @ A3 @ C3 )
         => ( ( ord_less_eq @ A @ B3 @ D3 )
           => ( ord_less_eq @ A @ ( sup_sup @ A @ A3 @ B3 ) @ ( sup_sup @ A @ C3 @ D3 ) ) ) ) ) )).

% sup_mono
thf(fact_451_conditional__action_Osize__gen__o__map,axiom,(
    ! [A: $tType,T: $tType,F4: A > nat,G4: T > A] :
      ( ( comp @ ( conditional_action @ A ) @ nat @ ( conditional_action @ T ) @ ( condit7996436068482063107action @ A @ F4 ) @ ( condit198635377858011928action @ T @ A @ G4 ) )
      = ( condit7996436068482063107action @ T @ ( comp @ A @ nat @ T @ F4 @ G4 ) ) ) )).

% conditional_action.size_gen_o_map
thf(fact_452_sup__least,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [Y: A,X3: A,Z4: A] :
          ( ( ord_less_eq @ A @ Y @ X3 )
         => ( ( ord_less_eq @ A @ Z4 @ X3 )
           => ( ord_less_eq @ A @ ( sup_sup @ A @ Y @ Z4 ) @ X3 ) ) ) ) )).

% sup_least
thf(fact_453_Collect__case__prod,axiom,(
    ! [B: $tType,A: $tType,P: A > $o,Q: B > $o] :
      ( ( collect @ ( product_prod @ A @ B )
        @ ( product_case_prod @ A @ B @ $o
          @ ^ [A5: A,B5: B] :
              ( ( P @ A5 )
              & ( Q @ B5 ) ) ) )
      = ( product_Sigma @ A @ B @ ( collect @ A @ P )
        @ ^ [Uu: A] :
            ( collect @ B @ Q ) ) ) )).

% Collect_case_prod
thf(fact_454_snd__diag__id,axiom,(
    ! [A: $tType,Z4: A] :
      ( ( comp @ ( product_prod @ A @ A ) @ A @ A @ ( product_snd @ A @ A )
        @ ^ [X4: A] :
            ( product_Pair @ A @ A @ X4 @ X4 )
        @ Z4 )
      = ( id @ A @ Z4 ) ) )).

% snd_diag_id
thf(fact_455_fst__diag__id,axiom,(
    ! [A: $tType,Z4: A] :
      ( ( comp @ ( product_prod @ A @ A ) @ A @ A @ ( product_fst @ A @ A )
        @ ^ [X4: A] :
            ( product_Pair @ A @ A @ X4 @ X4 )
        @ Z4 )
      = ( id @ A @ Z4 ) ) )).

% fst_diag_id
thf(fact_456_new__thread__action_Osimps_I2_J,axiom,(
    ! [X: $tType,M: $tType,T: $tType,X21: T,X22: $o,Y21: T,Y22: $o] :
      ( ( ( new_th4503388622997288770Exists @ T @ X @ M @ X21 @ X22 )
        = ( new_th4503388622997288770Exists @ T @ X @ M @ Y21 @ Y22 ) )
      = ( ( X21 = Y21 )
        & ( X22 = Y22 ) ) ) )).

% new_thread_action.simps(2)
thf(fact_457_le__iff__sup,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ( ( ord_less_eq @ A )
        = ( ^ [X4: A,Y5: A] :
              ( ( sup_sup @ A @ X4 @ Y5 )
              = Y5 ) ) ) ) )).

% le_iff_sup
thf(fact_458_case__prod__eta,axiom,(
    ! [C: $tType,B: $tType,A: $tType,F4: ( product_prod @ A @ B ) > C] :
      ( ( product_case_prod @ A @ B @ C
        @ ^ [X4: A,Y5: B] :
            ( F4 @ ( product_Pair @ A @ B @ X4 @ Y5 ) ) )
      = F4 ) )).

% case_prod_eta
thf(fact_459_max_Ocobounded2,axiom,(
    ! [A: $tType] :
      ( ( linorder @ A )
     => ! [B3: A,A3: A] :
          ( ord_less_eq @ A @ B3 @ ( ord_max @ A @ A3 @ B3 ) ) ) )).

% max.cobounded2
thf(fact_460_sup_OorderE,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [B3: A,A3: A] :
          ( ( ord_less_eq @ A @ B3 @ A3 )
         => ( A3
            = ( sup_sup @ A @ A3 @ B3 ) ) ) ) )).

% sup.orderE
thf(fact_461_pair__imageI,axiom,(
    ! [C: $tType,B: $tType,A: $tType,A3: A,B3: B,A6: set @ ( product_prod @ A @ B ),F4: A > B > C] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ A6 )
     => ( member @ C @ ( F4 @ A3 @ B3 ) @ ( image2 @ ( product_prod @ A @ B ) @ C @ ( product_case_prod @ A @ B @ C @ F4 ) @ A6 ) ) ) )).

% pair_imageI
thf(fact_462_case__prodE2,axiom,(
    ! [B: $tType,A: $tType,C: $tType,Q: A > $o,P: B > C > A,Z4: product_prod @ B @ C] :
      ( ( Q @ ( product_case_prod @ B @ C @ A @ P @ Z4 ) )
     => ~ ! [X5: B,Y4: C] :
            ( ( Z4
              = ( product_Pair @ B @ C @ X5 @ Y4 ) )
           => ~ ( Q @ ( P @ X5 @ Y4 ) ) ) ) )).

% case_prodE2
thf(fact_463_extract__Cons__code,axiom,(
    ! [A: $tType,P: A > $o,X3: A,Xs: list @ A] :
      ( ( ( P @ X3 )
       => ( ( extract @ A @ P @ ( cons @ A @ X3 @ Xs ) )
          = ( some @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ ( list @ A ) ) ) @ ( product_Pair @ ( list @ A ) @ ( product_prod @ A @ ( list @ A ) ) @ ( nil @ A ) @ ( product_Pair @ A @ ( list @ A ) @ X3 @ Xs ) ) ) ) )
      & ( ~ ( P @ X3 )
       => ( ( extract @ A @ P @ ( cons @ A @ X3 @ Xs ) )
          = ( case_option @ ( option @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ ( list @ A ) ) ) ) @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ ( list @ A ) ) ) @ ( none @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ ( list @ A ) ) ) )
            @ ( product_case_prod @ ( list @ A ) @ ( product_prod @ A @ ( list @ A ) ) @ ( option @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ ( list @ A ) ) ) )
              @ ^ [Ys: list @ A] :
                  ( product_case_prod @ A @ ( list @ A ) @ ( option @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ ( list @ A ) ) ) )
                  @ ^ [Y5: A,Zs2: list @ A] :
                      ( some @ ( product_prod @ ( list @ A ) @ ( product_prod @ A @ ( list @ A ) ) ) @ ( product_Pair @ ( list @ A ) @ ( product_prod @ A @ ( list @ A ) ) @ ( cons @ A @ X3 @ Ys ) @ ( product_Pair @ A @ ( list @ A ) @ Y5 @ Zs2 ) ) ) ) )
            @ ( extract @ A @ P @ Xs ) ) ) ) ) )).

% extract_Cons_code
thf(fact_464_sup_OorderI,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [A3: A,B3: A] :
          ( ( A3
            = ( sup_sup @ A @ A3 @ B3 ) )
         => ( ord_less_eq @ A @ B3 @ A3 ) ) ) )).

% sup.orderI
thf(fact_465_eventually__prod__filter,axiom,(
    ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,F6: filter @ A,G6: filter @ B] :
      ( ( eventually @ ( product_prod @ A @ B ) @ P @ ( prod_filter @ A @ B @ F6 @ G6 ) )
      = ( ? [Pf: A > $o,Pg: B > $o] :
            ( ( eventually @ A @ Pf @ F6 )
            & ( eventually @ B @ Pg @ G6 )
            & ! [X4: A,Y5: B] :
                ( ( Pf @ X4 )
               => ( ( Pg @ Y5 )
                 => ( P @ ( product_Pair @ A @ B @ X4 @ Y5 ) ) ) ) ) ) ) )).

% eventually_prod_filter
thf(fact_466_sup__unique,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [F4: A > A > A,X3: A,Y: A] :
          ( ! [X5: A,Y4: A] :
              ( ord_less_eq @ A @ X5 @ ( F4 @ X5 @ Y4 ) )
         => ( ! [X5: A,Y4: A] :
                ( ord_less_eq @ A @ Y4 @ ( F4 @ X5 @ Y4 ) )
           => ( ! [X5: A,Y4: A,Z3: A] :
                  ( ( ord_less_eq @ A @ Y4 @ X5 )
                 => ( ( ord_less_eq @ A @ Z3 @ X5 )
                   => ( ord_less_eq @ A @ ( F4 @ Y4 @ Z3 ) @ X5 ) ) )
             => ( ( sup_sup @ A @ X3 @ Y )
                = ( F4 @ X3 @ Y ) ) ) ) ) ) )).

% sup_unique
thf(fact_467_case__prodE_H,axiom,(
    ! [B: $tType,A: $tType,C: $tType,C3: A > B > C > $o,P2: product_prod @ A @ B,Z4: C] :
      ( ( product_case_prod @ A @ B @ ( C > $o ) @ C3 @ P2 @ Z4 )
     => ~ ! [X5: A,Y4: B] :
            ( ( P2
              = ( product_Pair @ A @ B @ X5 @ Y4 ) )
           => ~ ( C3 @ X5 @ Y4 @ Z4 ) ) ) )).

% case_prodE'
thf(fact_468_conditional__action_Orel__reflp,axiom,(
    ! [A: $tType,R: A > A > $o] :
      ( ( reflp @ A @ R )
     => ( reflp @ ( conditional_action @ A ) @ ( condit4280512358590153947action @ A @ A @ R ) ) ) )).

% conditional_action.rel_reflp
thf(fact_469_sup_Oabsorb1,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [B3: A,A3: A] :
          ( ( ord_less_eq @ A @ B3 @ A3 )
         => ( ( sup_sup @ A @ A3 @ B3 )
            = A3 ) ) ) )).

% sup.absorb1
thf(fact_470_case__prodD_H,axiom,(
    ! [B: $tType,A: $tType,C: $tType,R: A > B > C > $o,A3: A,B3: B,C3: C] :
      ( ( product_case_prod @ A @ B @ ( C > $o ) @ R @ ( product_Pair @ A @ B @ A3 @ B3 ) @ C3 )
     => ( R @ A3 @ B3 @ C3 ) ) )).

% case_prodD'
thf(fact_471_conditional__action_Orel__symp,axiom,(
    ! [A: $tType,R: A > A > $o] :
      ( ( symp @ A @ R )
     => ( symp @ ( conditional_action @ A ) @ ( condit4280512358590153947action @ A @ A @ R ) ) ) )).

% conditional_action.rel_symp
thf(fact_472_sup_Oabsorb2,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [A3: A,B3: A] :
          ( ( ord_less_eq @ A @ A3 @ B3 )
         => ( ( sup_sup @ A @ A3 @ B3 )
            = B3 ) ) ) )).

% sup.absorb2
thf(fact_473_mem__case__prodI,axiom,(
    ! [A: $tType,B: $tType,C: $tType,Z4: A,C3: B > C > ( set @ A ),A3: B,B3: C] :
      ( ( member @ A @ Z4 @ ( C3 @ A3 @ B3 ) )
     => ( member @ A @ Z4 @ ( product_case_prod @ B @ C @ ( set @ A ) @ C3 @ ( product_Pair @ B @ C @ A3 @ B3 ) ) ) ) )).

% mem_case_prodI
thf(fact_474_conditional__action_Orel__transp,axiom,(
    ! [A: $tType,R: A > A > $o] :
      ( ( transp @ A @ R )
     => ( transp @ ( conditional_action @ A ) @ ( condit4280512358590153947action @ A @ A @ R ) ) ) )).

% conditional_action.rel_transp
thf(fact_475_sup__absorb1,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [Y: A,X3: A] :
          ( ( ord_less_eq @ A @ Y @ X3 )
         => ( ( sup_sup @ A @ X3 @ Y )
            = X3 ) ) ) )).

% sup_absorb1
thf(fact_476_UNIV__Times__UNIV,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( product_Sigma @ A @ B @ ( top_top @ ( set @ A ) )
        @ ^ [Uu: A] :
            ( top_top @ ( set @ B ) ) )
      = ( top_top @ ( set @ ( product_prod @ A @ B ) ) ) ) )).

% UNIV_Times_UNIV
thf(fact_477_conditional__action_Obi__unique__rel,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( bi_unique @ A @ B @ R )
     => ( bi_unique @ ( conditional_action @ A ) @ ( conditional_action @ B ) @ ( condit4280512358590153947action @ A @ B @ R ) ) ) )).

% conditional_action.bi_unique_rel
thf(fact_478_sup__absorb2,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [X3: A,Y: A] :
          ( ( ord_less_eq @ A @ X3 @ Y )
         => ( ( sup_sup @ A @ X3 @ Y )
            = Y ) ) ) )).

% sup_absorb2
thf(fact_479_wait__set__action_Odistinct_I27_J,axiom,(
    ! [W: $tType,T: $tType,X42: T] :
      ( ( wait_set_WakeUp @ T @ W @ X42 )
     != ( wait_set_WokenUp @ T @ W ) ) )).

% wait_set_action.distinct(27)
thf(fact_480_sup_OboundedE,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [B3: A,C3: A,A3: A] :
          ( ( ord_less_eq @ A @ ( sup_sup @ A @ B3 @ C3 ) @ A3 )
         => ~ ( ( ord_less_eq @ A @ B3 @ A3 )
             => ~ ( ord_less_eq @ A @ C3 @ A3 ) ) ) ) )).

% sup.boundedE
thf(fact_481_snd__diag__snd,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( comp @ ( product_prod @ B @ B ) @ B @ ( product_prod @ A @ B ) @ ( product_snd @ B @ B )
        @ ( comp @ B @ ( product_prod @ B @ B ) @ ( product_prod @ A @ B )
          @ ^ [X4: B] :
              ( product_Pair @ B @ B @ X4 @ X4 )
          @ ( product_snd @ A @ B ) ) )
      = ( product_snd @ A @ B ) ) )).

% snd_diag_snd
thf(fact_482_image__image,axiom,(
    ! [A: $tType,B: $tType,C: $tType,F4: B > A,G4: C > B,A6: set @ C] :
      ( ( image2 @ B @ A @ F4 @ ( image2 @ C @ B @ G4 @ A6 ) )
      = ( image2 @ C @ A
        @ ^ [X4: C] :
            ( F4 @ ( G4 @ X4 ) )
        @ A6 ) ) )).

% image_image
thf(fact_483_fst__diag__fst,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( comp @ ( product_prod @ A @ A ) @ A @ ( product_prod @ A @ B ) @ ( product_fst @ A @ A )
        @ ( comp @ A @ ( product_prod @ A @ A ) @ ( product_prod @ A @ B )
          @ ^ [X4: A] :
              ( product_Pair @ A @ A @ X4 @ X4 )
          @ ( product_fst @ A @ B ) ) )
      = ( product_fst @ A @ B ) ) )).

% fst_diag_fst
thf(fact_484_conditional__action_Obi__total__rel,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( bi_total @ A @ B @ R )
     => ( bi_total @ ( conditional_action @ A ) @ ( conditional_action @ B ) @ ( condit4280512358590153947action @ A @ B @ R ) ) ) )).

% conditional_action.bi_total_rel
thf(fact_485_sup_OboundedI,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [B3: A,A3: A,C3: A] :
          ( ( ord_less_eq @ A @ B3 @ A3 )
         => ( ( ord_less_eq @ A @ C3 @ A3 )
           => ( ord_less_eq @ A @ ( sup_sup @ A @ B3 @ C3 ) @ A3 ) ) ) ) )).

% sup.boundedI
thf(fact_486_case__prodD,axiom,(
    ! [A: $tType,B: $tType,F4: A > B > $o,A3: A,B3: B] :
      ( ( product_case_prod @ A @ B @ $o @ F4 @ ( product_Pair @ A @ B @ A3 @ B3 ) )
     => ( F4 @ A3 @ B3 ) ) )).

% case_prodD
thf(fact_487_case__prod__Pair__iden,axiom,(
    ! [B: $tType,A: $tType,P2: product_prod @ A @ B] :
      ( ( product_case_prod @ A @ B @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B ) @ P2 )
      = P2 ) )).

% case_prod_Pair_iden
thf(fact_488_top__empty__eq2,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( top_top @ ( A > B > $o ) )
      = ( ^ [X4: A,Y5: B] :
            ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ ( top_top @ ( set @ ( product_prod @ A @ B ) ) ) ) ) ) )).

% top_empty_eq2
thf(fact_489_interrupt__action_Osize_I4_J,axiom,(
    ! [T: $tType,X11: T,X12: $o] :
      ( ( size_size @ ( interrupt_action @ T ) @ ( interr5885539089632487139rupted @ T @ X11 @ X12 ) )
      = ( suc @ ( zero_zero @ nat ) ) ) )).

% interrupt_action.size(4)
thf(fact_490_sup_Oorder__iff,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ( ( ord_less_eq @ A )
        = ( ^ [B5: A,A5: A] :
              ( A5
              = ( sup_sup @ A @ A5 @ B5 ) ) ) ) ) )).

% sup.order_iff
thf(fact_491_wait__set__action_Odistinct_I28_J,axiom,(
    ! [W: $tType,T: $tType,X42: T] :
      ( ( wait_set_WokenUp @ T @ W )
     != ( wait_set_WakeUp @ T @ W @ X42 ) ) )).

% wait_set_action.distinct(28)
thf(fact_492_sup_Ocobounded1,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [A3: A,B3: A] :
          ( ord_less_eq @ A @ A3 @ ( sup_sup @ A @ A3 @ B3 ) ) ) )).

% sup.cobounded1
thf(fact_493_conditional__action_Oset_I2_J,axiom,(
    ! [T: $tType] :
      ( ( condit2393454222984209554action @ T @ ( conditional_Yield @ T ) )
      = ( bot_bot @ ( set @ T ) ) ) )).

% conditional_action.set(2)
thf(fact_494_sup_Ocobounded2,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [B3: A,A3: A] :
          ( ord_less_eq @ A @ B3 @ ( sup_sup @ A @ A3 @ B3 ) ) ) )).

% sup.cobounded2
thf(fact_495_mem__case__prodI2,axiom,(
    ! [C: $tType,B: $tType,A: $tType,P2: product_prod @ A @ B,Z4: C,C3: A > B > ( set @ C )] :
      ( ! [A2: A,B2: B] :
          ( ( P2
            = ( product_Pair @ A @ B @ A2 @ B2 ) )
         => ( member @ C @ Z4 @ ( C3 @ A2 @ B2 ) ) )
     => ( member @ C @ Z4 @ ( product_case_prod @ A @ B @ ( set @ C ) @ C3 @ P2 ) ) ) )).

% mem_case_prodI2
thf(fact_496_interrupt__action_Orel__eq,axiom,(
    ! [A: $tType] :
      ( ( interr1799892525631285141action @ A @ A
        @ ^ [Y3: A,Z: A] : ( Y3 = Z ) )
      = ( ^ [Y3: interrupt_action @ A,Z: interrupt_action @ A] : ( Y3 = Z ) ) ) )).

% interrupt_action.rel_eq
thf(fact_497_sup_Oabsorb__iff1,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ( ( ord_less_eq @ A )
        = ( ^ [B5: A,A5: A] :
              ( ( sup_sup @ A @ A5 @ B5 )
              = A5 ) ) ) ) )).

% sup.absorb_iff1
thf(fact_498_finite__imageI,axiom,(
    ! [B: $tType,A: $tType,F6: set @ A,H: A > B] :
      ( ( finite_finite @ A @ F6 )
     => ( finite_finite @ B @ ( image2 @ A @ B @ H @ F6 ) ) ) )).

% finite_imageI
thf(fact_499_conditional__action_Omap__cong__pred,axiom,(
    ! [B: $tType,A: $tType,X3: conditional_action @ A,Ya2: conditional_action @ A,F4: A > B,G4: A > B] :
      ( ( X3 = Ya2 )
     => ( ( condit606476673698705123action @ A
          @ ^ [Z2: A] :
              ( ( F4 @ Z2 )
              = ( G4 @ Z2 ) )
          @ Ya2 )
       => ( ( condit198635377858011928action @ A @ B @ F4 @ X3 )
          = ( condit198635377858011928action @ A @ B @ G4 @ Ya2 ) ) ) ) )).

% conditional_action.map_cong_pred
thf(fact_500_sup_Oabsorb__iff2,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ( ( ord_less_eq @ A )
        = ( ^ [A5: A,B5: A] :
              ( ( sup_sup @ A @ A5 @ B5 )
              = B5 ) ) ) ) )).

% sup.absorb_iff2
thf(fact_501_pred__equals__eq2,axiom,(
    ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),S3: set @ ( product_prod @ A @ B )] :
      ( ( ( ^ [X4: A,Y5: B] :
              ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ R ) )
        = ( ^ [X4: A,Y5: B] :
              ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ S3 ) ) )
      = ( R = S3 ) ) )).

% pred_equals_eq2
thf(fact_502_eq__onp__top__eq__eq,axiom,(
    ! [A: $tType] :
      ( ( bNF_eq_onp @ A @ ( top_top @ ( A > $o ) ) )
      = ( ^ [Y3: A,Z: A] : ( Y3 = Z ) ) ) )).

% eq_onp_top_eq_eq
thf(fact_503_sup_OcoboundedI1,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [C3: A,A3: A,B3: A] :
          ( ( ord_less_eq @ A @ C3 @ A3 )
         => ( ord_less_eq @ A @ C3 @ ( sup_sup @ A @ A3 @ B3 ) ) ) ) )).

% sup.coboundedI1
thf(fact_504_iterate_Opelims,axiom,(
    ! [A: $tType,B: $tType,X3: code_natural,Xa2: B > A > ( product_prod @ B @ A ),Xb: B,Y: A > ( product_prod @ B @ A )] :
      ( ( ( iterate @ B @ A @ X3 @ Xa2 @ Xb )
        = Y )
     => ( ( accp @ ( product_prod @ code_natural @ ( product_prod @ ( B > A > ( product_prod @ B @ A ) ) @ B ) ) @ ( iterate_rel @ B @ A ) @ ( product_Pair @ code_natural @ ( product_prod @ ( B > A > ( product_prod @ B @ A ) ) @ B ) @ X3 @ ( product_Pair @ ( B > A > ( product_prod @ B @ A ) ) @ B @ Xa2 @ Xb ) ) )
       => ~ ( ( ( ( X3
                  = ( zero_zero @ code_natural ) )
               => ( Y
                  = ( product_Pair @ B @ A @ Xb ) ) )
              & ( ( X3
                 != ( zero_zero @ code_natural ) )
               => ( Y
                  = ( product_scomp @ A @ B @ A @ ( product_prod @ B @ A ) @ ( Xa2 @ Xb ) @ ( iterate @ B @ A @ ( minus_minus @ code_natural @ X3 @ ( one_one @ code_natural ) ) @ Xa2 ) ) ) ) )
           => ~ ( accp @ ( product_prod @ code_natural @ ( product_prod @ ( B > A > ( product_prod @ B @ A ) ) @ B ) ) @ ( iterate_rel @ B @ A ) @ ( product_Pair @ code_natural @ ( product_prod @ ( B > A > ( product_prod @ B @ A ) ) @ B ) @ X3 @ ( product_Pair @ ( B > A > ( product_prod @ B @ A ) ) @ B @ Xa2 @ Xb ) ) ) ) ) ) )).

% iterate.pelims
thf(fact_505_sup_OcoboundedI2,axiom,(
    ! [A: $tType] :
      ( ( semilattice_sup @ A )
     => ! [C3: A,B3: A,A3: A] :
          ( ( ord_less_eq @ A @ C3 @ B3 )
         => ( ord_less_eq @ A @ C3 @ ( sup_sup @ A @ A3 @ B3 ) ) ) ) )).

% sup.coboundedI2
thf(fact_506_interrupt__action_Opred__True,axiom,(
    ! [A: $tType] :
      ( ( interr8158014761281175971action @ A
        @ ^ [Uu: A] : $true )
      = ( ^ [Uu: interrupt_action @ A] : $true ) ) )).

% interrupt_action.pred_True
thf(fact_507_Collect__case__prod__Grp__in,axiom,(
    ! [B: $tType,A: $tType,Z4: product_prod @ A @ B,A6: set @ A,F4: A > B] :
      ( ( member @ ( product_prod @ A @ B ) @ Z4 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ ( bNF_Grp @ A @ B @ A6 @ F4 ) ) ) )
     => ( member @ A @ ( product_fst @ A @ B @ Z4 ) @ A6 ) ) )).

% Collect_case_prod_Grp_in
thf(fact_508_interrupt__action_Osimps_I2_J,axiom,(
    ! [T: $tType,X2: T,Y2: T] :
      ( ( ( interrupt_Interrupt @ T @ X2 )
        = ( interrupt_Interrupt @ T @ Y2 ) )
      = ( X2 = Y2 ) ) )).

% interrupt_action.simps(2)
thf(fact_509_prod__fun__imageE,axiom,(
    ! [B: $tType,A: $tType,D: $tType,C: $tType,C3: product_prod @ A @ B,F4: C > A,G4: D > B,R: set @ ( product_prod @ C @ D )] :
      ( ( member @ ( product_prod @ A @ B ) @ C3 @ ( image2 @ ( product_prod @ C @ D ) @ ( product_prod @ A @ B ) @ ( product_map_prod @ C @ A @ D @ B @ F4 @ G4 ) @ R ) )
     => ~ ! [X5: C,Y4: D] :
            ( ( C3
              = ( product_Pair @ A @ B @ ( F4 @ X5 ) @ ( G4 @ Y4 ) ) )
           => ~ ( member @ ( product_prod @ C @ D ) @ ( product_Pair @ C @ D @ X5 @ Y4 ) @ R ) ) ) )).

% prod_fun_imageE
thf(fact_510_fst__diag__snd,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( comp @ ( product_prod @ B @ B ) @ B @ ( product_prod @ A @ B ) @ ( product_fst @ B @ B )
        @ ( comp @ B @ ( product_prod @ B @ B ) @ ( product_prod @ A @ B )
          @ ^ [X4: B] :
              ( product_Pair @ B @ B @ X4 @ X4 )
          @ ( product_snd @ A @ B ) ) )
      = ( product_snd @ A @ B ) ) )).

% fst_diag_snd
thf(fact_511_snd__diag__fst,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( comp @ ( product_prod @ A @ A ) @ A @ ( product_prod @ A @ B ) @ ( product_snd @ A @ A )
        @ ( comp @ A @ ( product_prod @ A @ A ) @ ( product_prod @ A @ B )
          @ ^ [X4: A] :
              ( product_Pair @ A @ A @ X4 @ X4 )
          @ ( product_fst @ A @ B ) ) )
      = ( product_fst @ A @ B ) ) )).

% snd_diag_fst
thf(fact_512_fst__def,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( product_fst @ A @ B )
      = ( product_case_prod @ A @ B @ A
        @ ^ [X15: A,X24: B] : X15 ) ) )).

% fst_def
thf(fact_513_wait__set__action_Odistinct_I23_J,axiom,(
    ! [W: $tType,T: $tType,X32: W] :
      ( ( wait_set_NotifyAll @ W @ T @ X32 )
     != ( wait_set_WokenUp @ T @ W ) ) )).

% wait_set_action.distinct(23)
thf(fact_514_Inf_OINF__cong,axiom,(
    ! [A: $tType,B: $tType,A6: set @ B,B6: set @ B,C6: B > A,D4: B > A,Inf: ( set @ A ) > A] :
      ( ( A6 = B6 )
     => ( ! [X5: B] :
            ( ( member @ B @ X5 @ B6 )
           => ( ( C6 @ X5 )
              = ( D4 @ X5 ) ) )
       => ( ( Inf @ ( image2 @ B @ A @ C6 @ A6 ) )
          = ( Inf @ ( image2 @ B @ A @ D4 @ B6 ) ) ) ) ) )).

% Inf.INF_cong
thf(fact_515_snd__def,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( product_snd @ A @ B )
      = ( product_case_prod @ A @ B @ B
        @ ^ [X15: A,X24: B] : X24 ) ) )).

% snd_def
thf(fact_516_wait__set__action_Odistinct_I24_J,axiom,(
    ! [T: $tType,W: $tType,X32: W] :
      ( ( wait_set_WokenUp @ T @ W )
     != ( wait_set_NotifyAll @ W @ T @ X32 ) ) )).

% wait_set_action.distinct(24)
thf(fact_517_Sup_OSUP__cong,axiom,(
    ! [A: $tType,B: $tType,A6: set @ B,B6: set @ B,C6: B > A,D4: B > A,Sup: ( set @ A ) > A] :
      ( ( A6 = B6 )
     => ( ! [X5: B] :
            ( ( member @ B @ X5 @ B6 )
           => ( ( C6 @ X5 )
              = ( D4 @ X5 ) ) )
       => ( ( Sup @ ( image2 @ B @ A @ C6 @ A6 ) )
          = ( Sup @ ( image2 @ B @ A @ D4 @ B6 ) ) ) ) ) )).

% Sup.SUP_cong
thf(fact_518_conditional__action_Orel__eq__onp,axiom,(
    ! [A: $tType,P: A > $o] :
      ( ( condit4280512358590153947action @ A @ A @ ( bNF_eq_onp @ A @ P ) )
      = ( bNF_eq_onp @ ( conditional_action @ A ) @ ( condit606476673698705123action @ A @ P ) ) ) )).

% conditional_action.rel_eq_onp
thf(fact_519_sndOp__def,axiom,(
    ! [B: $tType,A: $tType,C: $tType] :
      ( ( bNF_sndOp @ C @ A @ B )
      = ( ^ [P4: C > A > $o,Q3: A > B > $o,Ac2: product_prod @ C @ B] :
            ( product_Pair @ A @ B @ ( bNF_pick_middlep @ C @ A @ B @ P4 @ Q3 @ ( product_fst @ C @ B @ Ac2 ) @ ( product_snd @ C @ B @ Ac2 ) ) @ ( product_snd @ C @ B @ Ac2 ) ) ) ) )).

% sndOp_def
thf(fact_520_conditional__action_Oleft__total__rel,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( left_total @ A @ B @ R )
     => ( left_total @ ( conditional_action @ A ) @ ( conditional_action @ B ) @ ( condit4280512358590153947action @ A @ B @ R ) ) ) )).

% conditional_action.left_total_rel
thf(fact_521_prod_Omap__comp,axiom,(
    ! [D: $tType,F: $tType,E: $tType,C: $tType,B: $tType,A: $tType,G1: C > E,G22: D > F,F1: A > C,F22: B > D,V: product_prod @ A @ B] :
      ( ( product_map_prod @ C @ E @ D @ F @ G1 @ G22 @ ( product_map_prod @ A @ C @ B @ D @ F1 @ F22 @ V ) )
      = ( product_map_prod @ A @ E @ B @ F @ ( comp @ C @ E @ A @ G1 @ F1 ) @ ( comp @ D @ F @ B @ G22 @ F22 ) @ V ) ) )).

% prod.map_comp
thf(fact_522_conditional__action_Oleft__unique__rel,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( left_unique @ A @ B @ R )
     => ( left_unique @ ( conditional_action @ A ) @ ( conditional_action @ B ) @ ( condit4280512358590153947action @ A @ B @ R ) ) ) )).

% conditional_action.left_unique_rel
thf(fact_523_fold__atLeastAtMost__nat_Opsimps,axiom,(
    ! [A: $tType,F4: nat > A > A,A3: nat,B3: nat,Acc2: A] :
      ( ( accp @ ( product_prod @ ( nat > A > A ) @ ( product_prod @ nat @ ( product_prod @ nat @ A ) ) ) @ ( set_fo1817059534552279752at_rel @ A ) @ ( product_Pair @ ( nat > A > A ) @ ( product_prod @ nat @ ( product_prod @ nat @ A ) ) @ F4 @ ( product_Pair @ nat @ ( product_prod @ nat @ A ) @ A3 @ ( product_Pair @ nat @ A @ B3 @ Acc2 ) ) ) )
     => ( ( ( ord_less @ nat @ B3 @ A3 )
         => ( ( set_fo6178422350223883121st_nat @ A @ F4 @ A3 @ B3 @ Acc2 )
            = Acc2 ) )
        & ( ~ ( ord_less @ nat @ B3 @ A3 )
         => ( ( set_fo6178422350223883121st_nat @ A @ F4 @ A3 @ B3 @ Acc2 )
            = ( set_fo6178422350223883121st_nat @ A @ F4 @ ( plus_plus @ nat @ A3 @ ( one_one @ nat ) ) @ B3 @ ( F4 @ A3 @ Acc2 ) ) ) ) ) ) )).

% fold_atLeastAtMost_nat.psimps
thf(fact_524_all__subset__image,axiom,(
    ! [A: $tType,B: $tType,F4: B > A,A6: set @ B,P: ( set @ A ) > $o] :
      ( ( ! [B7: set @ A] :
            ( ( ord_less_eq @ ( set @ A ) @ B7 @ ( image2 @ B @ A @ F4 @ A6 ) )
           => ( P @ B7 ) ) )
      = ( ! [B7: set @ B] :
            ( ( ord_less_eq @ ( set @ B ) @ B7 @ A6 )
           => ( P @ ( image2 @ B @ A @ F4 @ B7 ) ) ) ) ) )).

% all_subset_image
thf(fact_525_conditional__action_Ocase__distrib,axiom,(
    ! [A: $tType,B: $tType,T: $tType,H: A > B,F1: T > A,F22: A,Conditional_action: conditional_action @ T] :
      ( ( H @ ( condit2152691216506315636action @ T @ A @ F1 @ F22 @ Conditional_action ) )
      = ( condit2152691216506315636action @ T @ B
        @ ^ [X4: T] :
            ( H @ ( F1 @ X4 ) )
        @ ( H @ F22 )
        @ Conditional_action ) ) )).

% conditional_action.case_distrib
thf(fact_526_rel__fun__Collect__case__prodD,axiom,(
    ! [C: $tType,D: $tType,B: $tType,A: $tType,A6: A > B > $o,B6: C > D > $o,F4: A > C,G4: B > D,X8: set @ ( product_prod @ A @ B ),X3: product_prod @ A @ B] :
      ( ( bNF_rel_fun @ A @ B @ C @ D @ A6 @ B6 @ F4 @ G4 )
     => ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ X8 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ A6 ) ) )
       => ( ( member @ ( product_prod @ A @ B ) @ X3 @ X8 )
         => ( B6 @ ( comp @ A @ C @ ( product_prod @ A @ B ) @ F4 @ ( product_fst @ A @ B ) @ X3 ) @ ( comp @ B @ D @ ( product_prod @ A @ B ) @ G4 @ ( product_snd @ A @ B ) @ X3 ) ) ) ) ) )).

% rel_fun_Collect_case_prodD
thf(fact_527_conditional__action_Orel__conversep,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( condit4280512358590153947action @ B @ A @ ( conversep @ A @ B @ R ) )
      = ( conversep @ ( conditional_action @ A ) @ ( conditional_action @ B ) @ ( condit4280512358590153947action @ A @ B @ R ) ) ) )).

% conditional_action.rel_conversep
thf(fact_528_convol__image__vimage2p,axiom,(
    ! [C: $tType,D: $tType,B: $tType,A: $tType,F4: C > A,G4: D > B,R: A > B > $o] :
      ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ ( image2 @ ( product_prod @ C @ D ) @ ( product_prod @ A @ B ) @ ( bNF_convol @ ( product_prod @ C @ D ) @ A @ B @ ( comp @ C @ A @ ( product_prod @ C @ D ) @ F4 @ ( product_fst @ C @ D ) ) @ ( comp @ D @ B @ ( product_prod @ C @ D ) @ G4 @ ( product_snd @ C @ D ) ) ) @ ( collect @ ( product_prod @ C @ D ) @ ( product_case_prod @ C @ D @ $o @ ( bNF_vimage2p @ C @ A @ D @ B @ $o @ F4 @ G4 @ R ) ) ) ) @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ R ) ) ) )).

% convol_image_vimage2p
thf(fact_529_map__prod__def,axiom,(
    ! [B: $tType,D: $tType,C: $tType,A: $tType] :
      ( ( product_map_prod @ A @ C @ B @ D )
      = ( ^ [F3: A > C,G3: B > D] :
            ( product_case_prod @ A @ B @ ( product_prod @ C @ D )
            @ ^ [X4: A,Y5: B] :
                ( product_Pair @ C @ D @ ( F3 @ X4 ) @ ( G3 @ Y5 ) ) ) ) ) )).

% map_prod_def
thf(fact_530_wait__set__action_Odistinct_I17_J,axiom,(
    ! [W: $tType,T: $tType,X2: W] :
      ( ( wait_set_Notify @ W @ T @ X2 )
     != ( wait_set_WokenUp @ T @ W ) ) )).

% wait_set_action.distinct(17)
thf(fact_531_prod_Osize__gen__o__map,axiom,(
    ! [A: $tType,C: $tType,D: $tType,B: $tType,F4: C > nat,Fa: D > nat,G4: A > C,Ga: B > D] :
      ( ( comp @ ( product_prod @ C @ D ) @ nat @ ( product_prod @ A @ B ) @ ( basic_BNF_size_prod @ C @ D @ F4 @ Fa ) @ ( product_map_prod @ A @ C @ B @ D @ G4 @ Ga ) )
      = ( basic_BNF_size_prod @ A @ B @ ( comp @ C @ nat @ A @ F4 @ G4 ) @ ( comp @ D @ nat @ B @ Fa @ Ga ) ) ) )).

% prod.size_gen_o_map
thf(fact_532_Product__Type_Oproduct__def,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( product_product @ A @ B )
      = ( ^ [A7: set @ A,B7: set @ B] :
            ( product_Sigma @ A @ B @ A7
            @ ^ [Uu: A] : B7 ) ) ) )).

% Product_Type.product_def
thf(fact_533_fold__atLeastAtMost__nat_Opelims,axiom,(
    ! [A: $tType,X3: nat > A > A,Xa2: nat,Xb: nat,Xc2: A,Y: A] :
      ( ( ( set_fo6178422350223883121st_nat @ A @ X3 @ Xa2 @ Xb @ Xc2 )
        = Y )
     => ( ( accp @ ( product_prod @ ( nat > A > A ) @ ( product_prod @ nat @ ( product_prod @ nat @ A ) ) ) @ ( set_fo1817059534552279752at_rel @ A ) @ ( product_Pair @ ( nat > A > A ) @ ( product_prod @ nat @ ( product_prod @ nat @ A ) ) @ X3 @ ( product_Pair @ nat @ ( product_prod @ nat @ A ) @ Xa2 @ ( product_Pair @ nat @ A @ Xb @ Xc2 ) ) ) )
       => ~ ( ( ( ( ord_less @ nat @ Xb @ Xa2 )
               => ( Y = Xc2 ) )
              & ( ~ ( ord_less @ nat @ Xb @ Xa2 )
               => ( Y
                  = ( set_fo6178422350223883121st_nat @ A @ X3 @ ( plus_plus @ nat @ Xa2 @ ( one_one @ nat ) ) @ Xb @ ( X3 @ Xa2 @ Xc2 ) ) ) ) )
           => ~ ( accp @ ( product_prod @ ( nat > A > A ) @ ( product_prod @ nat @ ( product_prod @ nat @ A ) ) ) @ ( set_fo1817059534552279752at_rel @ A ) @ ( product_Pair @ ( nat > A > A ) @ ( product_prod @ nat @ ( product_prod @ nat @ A ) ) @ X3 @ ( product_Pair @ nat @ ( product_prod @ nat @ A ) @ Xa2 @ ( product_Pair @ nat @ A @ Xb @ Xc2 ) ) ) ) ) ) ) )).

% fold_atLeastAtMost_nat.pelims
thf(fact_534_relChain__def,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( ord @ B )
     => ( ( bNF_Ca3754400796208372196lChain @ A @ B )
        = ( ^ [R4: set @ ( product_prod @ A @ A ),As2: A > B] :
            ! [I3: A,J: A] :
              ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ I3 @ J ) @ R4 )
             => ( ord_less_eq @ B @ ( As2 @ I3 ) @ ( As2 @ J ) ) ) ) ) ) )).

% relChain_def
thf(fact_535_pred__subset__eq2,axiom,(
    ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),S3: set @ ( product_prod @ A @ B )] :
      ( ( ord_less_eq @ ( A > B > $o )
        @ ^ [X4: A,Y5: B] :
            ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ R )
        @ ^ [X4: A,Y5: B] :
            ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ S3 ) )
      = ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R @ S3 ) ) )).

% pred_subset_eq2
thf(fact_536_new__thread__action_Osimps_I4_J,axiom,(
    ! [X: $tType,T: $tType,M: $tType,X21: T,X22: $o,X11: T,X12: X,X13: M] :
      ( ( new_th4503388622997288770Exists @ T @ X @ M @ X21 @ X22 )
     != ( new_thread_NewThread @ T @ X @ M @ X11 @ X12 @ X13 ) ) )).

% new_thread_action.simps(4)
thf(fact_537_Collect__case__prod__in__rel__leI,axiom,(
    ! [B: $tType,A: $tType,X8: set @ ( product_prod @ A @ B ),Y7: set @ ( product_prod @ A @ B )] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ X8 @ Y7 )
     => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ X8 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ ( fun_in_rel @ A @ B @ Y7 ) ) ) ) ) )).

% Collect_case_prod_in_rel_leI
thf(fact_538_new__thread__action_Osimps_I3_J,axiom,(
    ! [T: $tType,M: $tType,X: $tType,X11: T,X12: X,X13: M,X21: T,X22: $o] :
      ( ( new_thread_NewThread @ T @ X @ M @ X11 @ X12 @ X13 )
     != ( new_th4503388622997288770Exists @ T @ X @ M @ X21 @ X22 ) ) )).

% new_thread_action.simps(3)
thf(fact_539_rel__funI,axiom,(
    ! [A: $tType,C: $tType,D: $tType,B: $tType,A6: A > B > $o,B6: C > D > $o,F4: A > C,G4: B > D] :
      ( ! [X5: A,Y4: B] :
          ( ( A6 @ X5 @ Y4 )
         => ( B6 @ ( F4 @ X5 ) @ ( G4 @ Y4 ) ) )
     => ( bNF_rel_fun @ A @ B @ C @ D @ A6 @ B6 @ F4 @ G4 ) ) )).

% rel_funI
thf(fact_540_prod_Orel__eq__onp,axiom,(
    ! [A: $tType,B: $tType,P1: A > $o,P22: B > $o] :
      ( ( basic_rel_prod @ A @ A @ B @ B @ ( bNF_eq_onp @ A @ P1 ) @ ( bNF_eq_onp @ B @ P22 ) )
      = ( bNF_eq_onp @ ( product_prod @ A @ B ) @ ( basic_pred_prod @ A @ B @ P1 @ P22 ) ) ) )).

% prod.rel_eq_onp
thf(fact_541_rel__fun__iff__leq__vimage2p,axiom,(
    ! [C: $tType,D: $tType,B: $tType,A: $tType] :
      ( ( bNF_rel_fun @ A @ B @ C @ D )
      = ( ^ [R2: A > B > $o,S5: C > D > $o,F3: A > C,G3: B > D] :
            ( ord_less_eq @ ( A > B > $o ) @ R2 @ ( bNF_vimage2p @ A @ C @ B @ D @ $o @ F3 @ G3 @ S5 ) ) ) ) )).

% rel_fun_iff_leq_vimage2p
thf(fact_542_wait__set__action_Odistinct_I18_J,axiom,(
    ! [T: $tType,W: $tType,X2: W] :
      ( ( wait_set_WokenUp @ T @ W )
     != ( wait_set_Notify @ W @ T @ X2 ) ) )).

% wait_set_action.distinct(18)
thf(fact_543_predicate2D__vimage2p,axiom,(
    ! [A: $tType,C: $tType,D: $tType,B: $tType,R: A > B > $o,F4: A > C,G4: B > D,S3: C > D > $o,X3: A,Y: B] :
      ( ( ord_less_eq @ ( A > B > $o ) @ R @ ( bNF_vimage2p @ A @ C @ B @ D @ $o @ F4 @ G4 @ S3 ) )
     => ( ( R @ X3 @ Y )
       => ( S3 @ ( F4 @ X3 ) @ ( G4 @ Y ) ) ) ) )).

% predicate2D_vimage2p
thf(fact_544_UN__extend__simps_I10_J,axiom,(
    ! [V4: $tType,U: $tType,T: $tType,B6: U > ( set @ V4 ),F4: T > U,A6: set @ T] :
      ( ( complete_Sup_Sup @ ( set @ V4 )
        @ ( image2 @ T @ ( set @ V4 )
          @ ^ [A5: T] :
              ( B6 @ ( F4 @ A5 ) )
          @ A6 ) )
      = ( complete_Sup_Sup @ ( set @ V4 ) @ ( image2 @ U @ ( set @ V4 ) @ B6 @ ( image2 @ T @ U @ F4 @ A6 ) ) ) ) )).

% UN_extend_simps(10)
thf(fact_545_image__empty,axiom,(
    ! [B: $tType,A: $tType,F4: B > A] :
      ( ( image2 @ B @ A @ F4 @ ( bot_bot @ ( set @ B ) ) )
      = ( bot_bot @ ( set @ A ) ) ) )).

% image_empty
thf(fact_546_prod__filter__assoc,axiom,(
    ! [A: $tType,B: $tType,C: $tType,F6: filter @ A,G6: filter @ B,H3: filter @ C] :
      ( ( prod_filter @ ( product_prod @ A @ B ) @ C @ ( prod_filter @ A @ B @ F6 @ G6 ) @ H3 )
      = ( filtermap @ ( product_prod @ A @ ( product_prod @ B @ C ) ) @ ( product_prod @ ( product_prod @ A @ B ) @ C )
        @ ( product_case_prod @ A @ ( product_prod @ B @ C ) @ ( product_prod @ ( product_prod @ A @ B ) @ C )
          @ ^ [X4: A] :
              ( product_case_prod @ B @ C @ ( product_prod @ ( product_prod @ A @ B ) @ C )
              @ ^ [Y5: B] :
                  ( product_Pair @ ( product_prod @ A @ B ) @ C @ ( product_Pair @ A @ B @ X4 @ Y5 ) ) ) )
        @ ( prod_filter @ A @ ( product_prod @ B @ C ) @ F6 @ ( prod_filter @ B @ C @ G6 @ H3 ) ) ) ) )).

% prod_filter_assoc
thf(fact_547_rel__funD,axiom,(
    ! [A: $tType,C: $tType,D: $tType,B: $tType,A6: A > B > $o,B6: C > D > $o,F4: A > C,G4: B > D,X3: A,Y: B] :
      ( ( bNF_rel_fun @ A @ B @ C @ D @ A6 @ B6 @ F4 @ G4 )
     => ( ( A6 @ X3 @ Y )
       => ( B6 @ ( F4 @ X3 ) @ ( G4 @ Y ) ) ) ) )).

% rel_funD
thf(fact_548_iter_H_Ocases,axiom,(
    ! [A: $tType] :
      ( ( quickcheck_random @ A )
     => ! [X3: product_prod @ ( itself @ A ) @ ( product_prod @ code_natural @ ( product_prod @ code_natural @ ( product_prod @ code_natural @ code_natural ) ) )] :
          ~ ! [T6: itself @ A,Nrandom: code_natural,Sz: code_natural,Seed: product_prod @ code_natural @ code_natural] :
              ( X3
             != ( product_Pair @ ( itself @ A ) @ ( product_prod @ code_natural @ ( product_prod @ code_natural @ ( product_prod @ code_natural @ code_natural ) ) ) @ T6 @ ( product_Pair @ code_natural @ ( product_prod @ code_natural @ ( product_prod @ code_natural @ code_natural ) ) @ Nrandom @ ( product_Pair @ code_natural @ ( product_prod @ code_natural @ code_natural ) @ Sz @ Seed ) ) ) ) ) )).

% iter'.cases
thf(fact_549_vimage2pI,axiom,(
    ! [C: $tType,B: $tType,A: $tType,D: $tType,R: A > B > $o,F4: C > A,X3: C,G4: D > B,Y: D] :
      ( ( R @ ( F4 @ X3 ) @ ( G4 @ Y ) )
     => ( bNF_vimage2p @ C @ A @ D @ B @ $o @ F4 @ G4 @ R @ X3 @ Y ) ) )).

% vimage2pI
thf(fact_550_conditional__action_Opred__mono,axiom,(
    ! [A: $tType,P: A > $o,Pa: A > $o] :
      ( ( ord_less_eq @ ( A > $o ) @ P @ Pa )
     => ( ord_less_eq @ ( ( conditional_action @ A ) > $o ) @ ( condit606476673698705123action @ A @ P ) @ ( condit606476673698705123action @ A @ Pa ) ) ) )).

% conditional_action.pred_mono
thf(fact_551_rel__fun__mono,axiom,(
    ! [A: $tType,C: $tType,D: $tType,B: $tType,X8: A > B > $o,A6: C > D > $o,F4: A > C,G4: B > D,Y7: A > B > $o,B6: C > D > $o] :
      ( ( bNF_rel_fun @ A @ B @ C @ D @ X8 @ A6 @ F4 @ G4 )
     => ( ! [X5: A,Y4: B] :
            ( ( Y7 @ X5 @ Y4 )
           => ( X8 @ X5 @ Y4 ) )
       => ( ! [X5: C,Y4: D] :
              ( ( A6 @ X5 @ Y4 )
             => ( B6 @ X5 @ Y4 ) )
         => ( bNF_rel_fun @ A @ B @ C @ D @ Y7 @ B6 @ F4 @ G4 ) ) ) ) )).

% rel_fun_mono
thf(fact_552_conditional__action_Oset__cases,axiom,(
    ! [T: $tType,E3: T,A3: conditional_action @ T] :
      ( ( member @ T @ E3 @ ( condit2393454222984209554action @ T @ A3 ) )
     => ( A3
        = ( conditional_Join @ T @ E3 ) ) ) )).

% conditional_action.set_cases
thf(fact_553_rel__fun__mono_H,axiom,(
    ! [A: $tType,C: $tType,D: $tType,B: $tType,Y7: A > B > $o,X8: A > B > $o,A6: C > D > $o,B6: C > D > $o,F4: A > C,G4: B > D] :
      ( ! [X5: A,Y4: B] :
          ( ( Y7 @ X5 @ Y4 )
         => ( X8 @ X5 @ Y4 ) )
     => ( ! [X5: C,Y4: D] :
            ( ( A6 @ X5 @ Y4 )
           => ( B6 @ X5 @ Y4 ) )
       => ( ( bNF_rel_fun @ A @ B @ C @ D @ X8 @ A6 @ F4 @ G4 )
         => ( bNF_rel_fun @ A @ B @ C @ D @ Y7 @ B6 @ F4 @ G4 ) ) ) ) )).

% rel_fun_mono'
thf(fact_554_interrupt__action_Oinject_I3_J,axiom,(
    ! [T: $tType,X32: T,Y32: T] :
      ( ( ( interr7976201102587534891errupt @ T @ X32 )
        = ( interr7976201102587534891errupt @ T @ Y32 ) )
      = ( X32 = Y32 ) ) )).

% interrupt_action.inject(3)
thf(fact_555_fun_Omap__transfer,axiom,(
    ! [A: $tType,B: $tType,D: $tType,G: $tType,F: $tType,Rb2: A > F > $o,Sd: B > G > $o] :
      ( bNF_rel_fun @ ( A > B ) @ ( F > G ) @ ( ( D > A ) > D > B ) @ ( ( D > F ) > D > G ) @ ( bNF_rel_fun @ A @ F @ B @ G @ Rb2 @ Sd )
      @ ( bNF_rel_fun @ ( D > A ) @ ( D > F ) @ ( D > B ) @ ( D > G )
        @ ( bNF_rel_fun @ D @ D @ A @ F
          @ ^ [Y3: D,Z: D] : ( Y3 = Z )
          @ Rb2 )
        @ ( bNF_rel_fun @ D @ D @ B @ G
          @ ^ [Y3: D,Z: D] : ( Y3 = Z )
          @ Sd ) )
      @ ( comp @ A @ B @ D )
      @ ( comp @ F @ G @ D ) ) )).

% fun.map_transfer
thf(fact_556_case__prod__beta_H,axiom,(
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( product_case_prod @ A @ B @ C )
      = ( ^ [F3: A > B > C,X4: product_prod @ A @ B] :
            ( F3 @ ( product_fst @ A @ B @ X4 ) @ ( product_snd @ A @ B @ X4 ) ) ) ) )).

% case_prod_beta'
thf(fact_557_conditional__action_Orec__o__map,axiom,(
    ! [T: $tType,A: $tType,B: $tType,G4: A > B,Ga: B,F4: T > A] :
      ( ( comp @ ( conditional_action @ A ) @ B @ ( conditional_action @ T ) @ ( condit2004826933596026276action @ A @ B @ G4 @ Ga ) @ ( condit198635377858011928action @ T @ A @ F4 ) )
      = ( condit2004826933596026276action @ T @ B
        @ ^ [X4: T] :
            ( G4 @ ( F4 @ X4 ) )
        @ Ga ) ) )).

% conditional_action.rec_o_map
thf(fact_558_rtranclp__subset,axiom,(
    ! [A: $tType,R: A > A > $o,S3: A > A > $o] :
      ( ( ord_less_eq @ ( A > A > $o ) @ R @ S3 )
     => ( ( ord_less_eq @ ( A > A > $o ) @ S3 @ ( transitive_rtranclp @ A @ R ) )
       => ( ( transitive_rtranclp @ A @ S3 )
          = ( transitive_rtranclp @ A @ R ) ) ) ) )).

% rtranclp_subset
thf(fact_559_conditional__action_Oset_I1_J,axiom,(
    ! [T: $tType,X1: T] :
      ( ( condit2393454222984209554action @ T @ ( conditional_Join @ T @ X1 ) )
      = ( insert2 @ T @ X1 @ ( bot_bot @ ( set @ T ) ) ) ) )).

% conditional_action.set(1)
thf(fact_560_rtranclp__mono,axiom,(
    ! [A: $tType,R3: A > A > $o,S: A > A > $o] :
      ( ( ord_less_eq @ ( A > A > $o ) @ R3 @ S )
     => ( ord_less_eq @ ( A > A > $o ) @ ( transitive_rtranclp @ A @ R3 ) @ ( transitive_rtranclp @ A @ S ) ) ) )).

% rtranclp_mono
thf(fact_561_conditional__action_Oinj__map__strong,axiom,(
    ! [B: $tType,A: $tType,X3: conditional_action @ A,Xa2: conditional_action @ A,F4: A > B,Fa: A > B] :
      ( ! [Z3: A,Za2: A] :
          ( ( member @ A @ Z3 @ ( condit2393454222984209554action @ A @ X3 ) )
         => ( ( member @ A @ Za2 @ ( condit2393454222984209554action @ A @ Xa2 ) )
           => ( ( ( F4 @ Z3 )
                = ( Fa @ Za2 ) )
             => ( Z3 = Za2 ) ) ) )
     => ( ( ( condit198635377858011928action @ A @ B @ F4 @ X3 )
          = ( condit198635377858011928action @ A @ B @ Fa @ Xa2 ) )
       => ( X3 = Xa2 ) ) ) )).

% conditional_action.inj_map_strong
thf(fact_562_conditional__action_Oset__intros,axiom,(
    ! [T: $tType,X1: T] :
      ( member @ T @ X1 @ ( condit2393454222984209554action @ T @ ( conditional_Join @ T @ X1 ) ) ) )).

% conditional_action.set_intros
thf(fact_563_conditional__action_Omap__cong,axiom,(
    ! [B: $tType,A: $tType,X3: conditional_action @ A,Ya2: conditional_action @ A,F4: A > B,G4: A > B] :
      ( ( X3 = Ya2 )
     => ( ! [Z3: A] :
            ( ( member @ A @ Z3 @ ( condit2393454222984209554action @ A @ Ya2 ) )
           => ( ( F4 @ Z3 )
              = ( G4 @ Z3 ) ) )
       => ( ( condit198635377858011928action @ A @ B @ F4 @ X3 )
          = ( condit198635377858011928action @ A @ B @ G4 @ Ya2 ) ) ) ) )).

% conditional_action.map_cong
thf(fact_564_in__rel__Collect__case__prod__eq,axiom,(
    ! [B: $tType,A: $tType,X8: A > B > $o] :
      ( ( fun_in_rel @ A @ B @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ X8 ) ) )
      = X8 ) )).

% in_rel_Collect_case_prod_eq
thf(fact_565_total__on__def,axiom,(
    ! [A: $tType] :
      ( ( total_on @ A )
      = ( ^ [A7: set @ A,R4: set @ ( product_prod @ A @ A )] :
          ! [X4: A] :
            ( ( member @ A @ X4 @ A7 )
           => ! [Y5: A] :
                ( ( member @ A @ Y5 @ A7 )
               => ( ( X4 != Y5 )
                 => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X4 @ Y5 ) @ R4 )
                    | ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y5 @ X4 ) @ R4 ) ) ) ) ) ) ) )).

% total_on_def
thf(fact_566_conditional__action_Oright__total__rel,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( right_total @ A @ B @ R )
     => ( right_total @ ( conditional_action @ A ) @ ( conditional_action @ B ) @ ( condit4280512358590153947action @ A @ B @ R ) ) ) )).

% conditional_action.right_total_rel
thf(fact_567_Grp__mono,axiom,(
    ! [B: $tType,A: $tType,A6: set @ A,B6: set @ A,F4: A > B] :
      ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
     => ( ord_less_eq @ ( A > B > $o ) @ ( bNF_Grp @ A @ B @ A6 @ F4 ) @ ( bNF_Grp @ A @ B @ B6 @ F4 ) ) ) )).

% Grp_mono
thf(fact_568_Un__empty,axiom,(
    ! [A: $tType,A6: set @ A,B6: set @ A] :
      ( ( ( sup_sup @ ( set @ A ) @ A6 @ B6 )
        = ( bot_bot @ ( set @ A ) ) )
      = ( ( A6
          = ( bot_bot @ ( set @ A ) ) )
        & ( B6
          = ( bot_bot @ ( set @ A ) ) ) ) ) )).

% Un_empty
thf(fact_569_wait__set__action_Osimps_I29_J,axiom,(
    ! [W: $tType,T: $tType,X42: T] :
      ( ( wait_set_WakeUp @ T @ W @ X42 )
     != ( wait_set_Notified @ T @ W ) ) )).

% wait_set_action.simps(29)
thf(fact_570_Collect__case__prod__mono,axiom,(
    ! [B: $tType,A: $tType,A6: A > B > $o,B6: A > B > $o] :
      ( ( ord_less_eq @ ( A > B > $o ) @ A6 @ B6 )
     => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ A6 ) ) @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ B6 ) ) ) ) )).

% Collect_case_prod_mono
thf(fact_571_conditional__action_Omap__cong0,axiom,(
    ! [B: $tType,A: $tType,X3: conditional_action @ A,F4: A > B,G4: A > B] :
      ( ! [Z3: A] :
          ( ( member @ A @ Z3 @ ( condit2393454222984209554action @ A @ X3 ) )
         => ( ( F4 @ Z3 )
            = ( G4 @ Z3 ) ) )
     => ( ( condit198635377858011928action @ A @ B @ F4 @ X3 )
        = ( condit198635377858011928action @ A @ B @ G4 @ X3 ) ) ) )).

% conditional_action.map_cong0
thf(fact_572_snd__convol,axiom,(
    ! [C: $tType,B: $tType,A: $tType,F4: A > C,G4: A > B] :
      ( ( comp @ ( product_prod @ C @ B ) @ B @ A @ ( product_snd @ C @ B ) @ ( bNF_convol @ A @ C @ B @ F4 @ G4 ) )
      = G4 ) )).

% snd_convol
thf(fact_573_conditional__action_Oright__unique__rel,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( right_unique @ A @ B @ R )
     => ( right_unique @ ( conditional_action @ A ) @ ( conditional_action @ B ) @ ( condit4280512358590153947action @ A @ B @ R ) ) ) )).

% conditional_action.right_unique_rel
thf(fact_574_fst__convol,axiom,(
    ! [C: $tType,B: $tType,A: $tType,F4: A > B,G4: A > C] :
      ( ( comp @ ( product_prod @ B @ C ) @ B @ A @ ( product_fst @ B @ C ) @ ( bNF_convol @ A @ B @ C @ F4 @ G4 ) )
      = F4 ) )).

% fst_convol
thf(fact_575_image__is__empty,axiom,(
    ! [A: $tType,B: $tType,F4: B > A,A6: set @ B] :
      ( ( ( image2 @ B @ A @ F4 @ A6 )
        = ( bot_bot @ ( set @ A ) ) )
      = ( A6
        = ( bot_bot @ ( set @ B ) ) ) ) )).

% image_is_empty
thf(fact_576_Id__on__def,axiom,(
    ! [A: $tType] :
      ( ( id_on @ A )
      = ( ^ [A7: set @ A] :
            ( complete_Sup_Sup @ ( set @ ( product_prod @ A @ A ) )
            @ ( image2 @ A @ ( set @ ( product_prod @ A @ A ) )
              @ ^ [X4: A] :
                  ( insert2 @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X4 @ X4 ) @ ( bot_bot @ ( set @ ( product_prod @ A @ A ) ) ) )
              @ A7 ) ) ) ) )).

% Id_on_def
thf(fact_577_conditional__action_Orel__refl,axiom,(
    ! [B: $tType,Ra2: B > B > $o,X3: conditional_action @ B] :
      ( ! [X5: B] :
          ( Ra2 @ X5 @ X5 )
     => ( condit4280512358590153947action @ B @ B @ Ra2 @ X3 @ X3 ) ) )).

% conditional_action.rel_refl
thf(fact_578_fun_Omap__comp,axiom,(
    ! [B: $tType,C: $tType,A: $tType,D: $tType,G4: B > C,F4: A > B,V: D > A] :
      ( ( comp @ B @ C @ D @ G4 @ ( comp @ A @ B @ D @ F4 @ V ) )
      = ( comp @ A @ C @ D @ ( comp @ B @ C @ A @ G4 @ F4 ) @ V ) ) )).

% fun.map_comp
thf(fact_579_conditional__action_Oinj__map,axiom,(
    ! [B: $tType,A: $tType,F4: A > B] :
      ( ( inj_on @ A @ B @ F4 @ ( top_top @ ( set @ A ) ) )
     => ( inj_on @ ( conditional_action @ A ) @ ( conditional_action @ B ) @ ( condit198635377858011928action @ A @ B @ F4 ) @ ( top_top @ ( set @ ( conditional_action @ A ) ) ) ) ) )).

% conditional_action.inj_map
thf(fact_580_Collect__case__prod__in__rel__leE,axiom,(
    ! [B: $tType,A: $tType,X8: set @ ( product_prod @ A @ B ),Y7: set @ ( product_prod @ A @ B )] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ X8 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ ( fun_in_rel @ A @ B @ Y7 ) ) ) )
     => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ X8 @ Y7 ) ) )).

% Collect_case_prod_in_rel_leE
thf(fact_581_wait__set__action_Odistinct_I26_J,axiom,(
    ! [W: $tType,T: $tType,X42: T] :
      ( ( wait_set_Notified @ T @ W )
     != ( wait_set_WakeUp @ T @ W @ X42 ) ) )).

% wait_set_action.distinct(26)
thf(fact_582_map__prod__o__convol,axiom,(
    ! [D: $tType,B: $tType,C: $tType,E: $tType,A: $tType,H1: D > B,H22: E > C,F4: A > D,G4: A > E] :
      ( ( comp @ ( product_prod @ D @ E ) @ ( product_prod @ B @ C ) @ A @ ( product_map_prod @ D @ B @ E @ C @ H1 @ H22 ) @ ( bNF_convol @ A @ D @ E @ F4 @ G4 ) )
      = ( bNF_convol @ A @ B @ C @ ( comp @ D @ B @ A @ H1 @ F4 ) @ ( comp @ E @ C @ A @ H22 @ G4 ) ) ) )).

% map_prod_o_convol
thf(fact_583_conditional__action_Orel__mono,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o,Ra2: A > B > $o] :
      ( ( ord_less_eq @ ( A > B > $o ) @ R @ Ra2 )
     => ( ord_less_eq @ ( ( conditional_action @ A ) > ( conditional_action @ B ) > $o ) @ ( condit4280512358590153947action @ A @ B @ R ) @ ( condit4280512358590153947action @ A @ B @ Ra2 ) ) ) )).

% conditional_action.rel_mono
thf(fact_584_convol__expand__snd_H,axiom,(
    ! [C: $tType,B: $tType,A: $tType,F4: A > ( product_prod @ B @ C ),G4: A > B,H: A > C] :
      ( ( ( comp @ ( product_prod @ B @ C ) @ B @ A @ ( product_fst @ B @ C ) @ F4 )
        = G4 )
     => ( ( H
          = ( comp @ ( product_prod @ B @ C ) @ C @ A @ ( product_snd @ B @ C ) @ F4 ) )
        = ( ( bNF_convol @ A @ B @ C @ G4 @ H )
          = F4 ) ) ) )).

% convol_expand_snd'
thf(fact_585_wait__set__action_Odistinct_I10_J,axiom,(
    ! [T: $tType,W: $tType,X1: W] :
      ( ( wait_set_WokenUp @ T @ W )
     != ( wait_set_Suspend @ W @ T @ X1 ) ) )).

% wait_set_action.distinct(10)
thf(fact_586_convol__expand__snd,axiom,(
    ! [C: $tType,B: $tType,A: $tType,F4: A > ( product_prod @ B @ C ),G4: A > B] :
      ( ( ( comp @ ( product_prod @ B @ C ) @ B @ A @ ( product_fst @ B @ C ) @ F4 )
        = G4 )
     => ( ( bNF_convol @ A @ B @ C @ G4 @ ( comp @ ( product_prod @ B @ C ) @ C @ A @ ( product_snd @ B @ C ) @ F4 ) )
        = F4 ) ) )).

% convol_expand_snd
thf(fact_587_comp__fun__commute_Ocomp__fun__commute,axiom,(
    ! [B: $tType,A: $tType,F4: A > B > B,Y: A,X3: A] :
      ( ( finite6289374366891150609ommute @ A @ B @ F4 )
     => ( ( comp @ B @ B @ B @ ( F4 @ Y ) @ ( F4 @ X3 ) )
        = ( comp @ B @ B @ B @ ( F4 @ X3 ) @ ( F4 @ Y ) ) ) ) )).

% comp_fun_commute.comp_fun_commute
thf(fact_588_wait__set__action_Odistinct_I9_J,axiom,(
    ! [W: $tType,T: $tType,X1: W] :
      ( ( wait_set_Suspend @ W @ T @ X1 )
     != ( wait_set_WokenUp @ T @ W ) ) )).

% wait_set_action.distinct(9)
thf(fact_589_convol__o,axiom,(
    ! [B: $tType,C: $tType,D: $tType,A: $tType,F4: D > B,G4: D > C,H: A > D] :
      ( ( comp @ D @ ( product_prod @ B @ C ) @ A @ ( bNF_convol @ D @ B @ C @ F4 @ G4 ) @ H )
      = ( bNF_convol @ A @ B @ C @ ( comp @ D @ B @ A @ F4 @ H ) @ ( comp @ D @ C @ A @ G4 @ H ) ) ) )).

% convol_o
thf(fact_590_conditional__action_Ocase_I1_J,axiom,(
    ! [A: $tType,T: $tType,F1: T > A,F22: A,X1: T] :
      ( ( condit2152691216506315636action @ T @ A @ F1 @ F22 @ ( conditional_Join @ T @ X1 ) )
      = ( F1 @ X1 ) ) )).

% conditional_action.case(1)
thf(fact_591_fst__convol_H,axiom,(
    ! [B: $tType,A: $tType,C: $tType,F4: C > A,G4: C > B,X3: C] :
      ( ( product_fst @ A @ B @ ( bNF_convol @ C @ A @ B @ F4 @ G4 @ X3 ) )
      = ( F4 @ X3 ) ) )).

% fst_convol'
thf(fact_592_pair__in__Id__conv,axiom,(
    ! [A: $tType,A3: A,B3: A] :
      ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ ( id2 @ A ) )
      = ( A3 = B3 ) ) )).

% pair_in_Id_conv
thf(fact_593_conditional__action_Ocase_I2_J,axiom,(
    ! [T: $tType,A: $tType,F1: T > A,F22: A] :
      ( ( condit2152691216506315636action @ T @ A @ F1 @ F22 @ ( conditional_Yield @ T ) )
      = F22 ) )).

% conditional_action.case(2)
thf(fact_594_snd__convol_H,axiom,(
    ! [B: $tType,A: $tType,C: $tType,F4: C > B,G4: C > A,X3: C] :
      ( ( product_snd @ B @ A @ ( bNF_convol @ C @ B @ A @ F4 @ G4 @ X3 ) )
      = ( G4 @ X3 ) ) )).

% snd_convol'
thf(fact_595_conditional__action_Omap__comp,axiom,(
    ! [B: $tType,C: $tType,A: $tType,G4: B > C,F4: A > B,V: conditional_action @ A] :
      ( ( condit198635377858011928action @ B @ C @ G4 @ ( condit198635377858011928action @ A @ B @ F4 @ V ) )
      = ( condit198635377858011928action @ A @ C @ ( comp @ B @ C @ A @ G4 @ F4 ) @ V ) ) )).

% conditional_action.map_comp
thf(fact_596_vimage2p__comp,axiom,(
    ! [E: $tType,D: $tType,F: $tType,A: $tType,C: $tType,B: $tType,G: $tType,F1: F > A,F22: D > F,G1: G > B,G22: E > G] :
      ( ( bNF_vimage2p @ D @ A @ E @ B @ C @ ( comp @ F @ A @ D @ F1 @ F22 ) @ ( comp @ G @ B @ E @ G1 @ G22 ) )
      = ( comp @ ( F > G > C ) @ ( D > E > C ) @ ( A > B > C ) @ ( bNF_vimage2p @ D @ F @ E @ G @ C @ F22 @ G22 ) @ ( bNF_vimage2p @ F @ A @ G @ B @ C @ F1 @ G1 ) ) ) )).

% vimage2p_comp
thf(fact_597_scomp__Pair,axiom,(
    ! [C: $tType,B: $tType,A: $tType,X3: A > ( product_prod @ B @ C )] :
      ( ( product_scomp @ A @ B @ C @ ( product_prod @ B @ C ) @ X3 @ ( product_Pair @ B @ C ) )
      = X3 ) )).

% scomp_Pair
thf(fact_598_wait__set__action_Osimps_I26_J,axiom,(
    ! [T: $tType,W: $tType,X32: W] :
      ( ( wait_set_Notified @ T @ W )
     != ( wait_set_NotifyAll @ W @ T @ X32 ) ) )).

% wait_set_action.simps(26)
thf(fact_599_Pair__scomp,axiom,(
    ! [A: $tType,B: $tType,C: $tType,X3: C,F4: C > A > B] :
      ( ( product_scomp @ A @ C @ A @ B @ ( product_Pair @ C @ A @ X3 ) @ F4 )
      = ( F4 @ X3 ) ) )).

% Pair_scomp
thf(fact_600_conditional__action_Omap_I2_J,axiom,(
    ! [T: $tType,A: $tType,F4: T > A] :
      ( ( condit198635377858011928action @ T @ A @ F4 @ ( conditional_Yield @ T ) )
      = ( conditional_Yield @ A ) ) )).

% conditional_action.map(2)
thf(fact_601_wait__set__action_Odistinct_I21_J,axiom,(
    ! [W: $tType,T: $tType,X32: W] :
      ( ( wait_set_NotifyAll @ W @ T @ X32 )
     != ( wait_set_Notified @ T @ W ) ) )).

% wait_set_action.distinct(21)
thf(fact_602_rewriteL__comp__comp,axiom,(
    ! [C: $tType,B: $tType,A: $tType,D: $tType,F4: C > B,G4: A > C,L2: A > B,H: D > A] :
      ( ( ( comp @ C @ B @ A @ F4 @ G4 )
        = L2 )
     => ( ( comp @ C @ B @ D @ F4 @ ( comp @ A @ C @ D @ G4 @ H ) )
        = ( comp @ A @ B @ D @ L2 @ H ) ) ) )).

% rewriteL_comp_comp
thf(fact_603_new__thread__action_Oexhaust,axiom,(
    ! [T: $tType,M: $tType,X: $tType,Y: new_thread_action @ T @ X @ M] :
      ( ! [X112: T,X122: X,X132: M] :
          ( Y
         != ( new_thread_NewThread @ T @ X @ M @ X112 @ X122 @ X132 ) )
     => ~ ! [X212: T,X222: $o] :
            ( Y
           != ( new_th4503388622997288770Exists @ T @ X @ M @ X212 @ X222 ) ) ) )).

% new_thread_action.exhaust
thf(fact_604_rewriteR__comp__comp,axiom,(
    ! [C: $tType,D: $tType,B: $tType,A: $tType,G4: C > B,H: A > C,R3: A > B,F4: B > D] :
      ( ( ( comp @ C @ B @ A @ G4 @ H )
        = R3 )
     => ( ( comp @ C @ D @ A @ ( comp @ B @ D @ C @ F4 @ G4 ) @ H )
        = ( comp @ B @ D @ A @ F4 @ R3 ) ) ) )).

% rewriteR_comp_comp
thf(fact_605_refl__on__def,axiom,(
    ! [A: $tType] :
      ( ( refl_on @ A )
      = ( ^ [A7: set @ A,R4: set @ ( product_prod @ A @ A )] :
            ( ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ R4
              @ ( product_Sigma @ A @ A @ A7
                @ ^ [Uu: A] : A7 ) )
            & ! [X4: A] :
                ( ( member @ A @ X4 @ A7 )
               => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X4 @ X4 ) @ R4 ) ) ) ) ) )).

% refl_on_def
thf(fact_606_conditional__action_Opred__cong,axiom,(
    ! [A: $tType,X3: conditional_action @ A,Ya2: conditional_action @ A,P: A > $o,Pa: A > $o] :
      ( ( X3 = Ya2 )
     => ( ! [Z3: A] :
            ( ( member @ A @ Z3 @ ( condit2393454222984209554action @ A @ Ya2 ) )
           => ( ( P @ Z3 )
              = ( Pa @ Z3 ) ) )
       => ( ( condit606476673698705123action @ A @ P @ X3 )
          = ( condit606476673698705123action @ A @ Pa @ Ya2 ) ) ) ) )).

% conditional_action.pred_cong
thf(fact_607_rewriteL__comp__comp2,axiom,(
    ! [A: $tType,C: $tType,B: $tType,D: $tType,E: $tType,F4: C > B,G4: A > C,L1: D > B,L22: A > D,H: E > A,R3: E > D] :
      ( ( ( comp @ C @ B @ A @ F4 @ G4 )
        = ( comp @ D @ B @ A @ L1 @ L22 ) )
     => ( ( ( comp @ A @ D @ E @ L22 @ H )
          = R3 )
       => ( ( comp @ C @ B @ E @ F4 @ ( comp @ A @ C @ E @ G4 @ H ) )
          = ( comp @ D @ B @ E @ L1 @ R3 ) ) ) ) )).

% rewriteL_comp_comp2
thf(fact_608_SigmaE,axiom,(
    ! [A: $tType,B: $tType,C3: product_prod @ A @ B,A6: set @ A,B6: A > ( set @ B )] :
      ( ( member @ ( product_prod @ A @ B ) @ C3 @ ( product_Sigma @ A @ B @ A6 @ B6 ) )
     => ~ ! [X5: A] :
            ( ( member @ A @ X5 @ A6 )
           => ! [Y4: B] :
                ( ( member @ B @ Y4 @ ( B6 @ X5 ) )
               => ( C3
                 != ( product_Pair @ A @ B @ X5 @ Y4 ) ) ) ) ) )).

% SigmaE
thf(fact_609_rewriteR__comp__comp2,axiom,(
    ! [C: $tType,B: $tType,E: $tType,D: $tType,A: $tType,G4: C > B,H: A > C,R12: D > B,R23: A > D,F4: B > E,L2: D > E] :
      ( ( ( comp @ C @ B @ A @ G4 @ H )
        = ( comp @ D @ B @ A @ R12 @ R23 ) )
     => ( ( ( comp @ B @ E @ D @ F4 @ R12 )
          = L2 )
       => ( ( comp @ C @ E @ A @ ( comp @ B @ E @ C @ F4 @ G4 ) @ H )
          = ( comp @ D @ E @ A @ L2 @ R23 ) ) ) ) )).

% rewriteR_comp_comp2
thf(fact_610_typerep__conditional__action__def,axiom,(
    ! [A: $tType] :
      ( ( typerep2 @ A )
     => ( ( typerep_typerep @ ( conditional_action @ A ) )
        = ( ^ [T2: itself @ ( conditional_action @ A )] :
              ( typerep3 @ ( literal2 @ $false @ $true @ $true @ $false @ $false @ $false @ $true @ ( literal2 @ $true @ $true @ $true @ $false @ $true @ $false @ $true @ ( literal2 @ $true @ $true @ $false @ $false @ $true @ $false @ $true @ ( literal2 @ $false @ $false @ $true @ $false @ $true @ $true @ $true @ ( literal2 @ $true @ $false @ $false @ $false @ $false @ $true @ $true @ ( literal2 @ $false @ $false @ $true @ $false @ $true @ $true @ $true @ ( literal2 @ $true @ $false @ $true @ $false @ $false @ $true @ $true @ ( literal2 @ $false @ $true @ $true @ $true @ $false @ $true @ $false @ ( literal2 @ $true @ $true @ $false @ $false @ $false @ $true @ $true @ ( literal2 @ $true @ $true @ $true @ $true @ $false @ $true @ $true @ ( literal2 @ $false @ $true @ $true @ $true @ $false @ $true @ $true @ ( literal2 @ $false @ $false @ $true @ $false @ $false @ $true @ $true @ ( literal2 @ $true @ $false @ $false @ $true @ $false @ $true @ $true @ ( literal2 @ $false @ $false @ $true @ $false @ $true @ $true @ $true @ ( literal2 @ $true @ $false @ $false @ $true @ $false @ $true @ $true @ ( literal2 @ $true @ $true @ $true @ $true @ $false @ $true @ $true @ ( literal2 @ $false @ $true @ $true @ $true @ $false @ $true @ $true @ ( literal2 @ $true @ $false @ $false @ $false @ $false @ $true @ $true @ ( literal2 @ $false @ $false @ $true @ $true @ $false @ $true @ $true @ ( literal2 @ $true @ $true @ $true @ $true @ $true @ $false @ $true @ ( literal2 @ $true @ $false @ $false @ $false @ $false @ $true @ $true @ ( literal2 @ $true @ $true @ $false @ $false @ $false @ $true @ $true @ ( literal2 @ $false @ $false @ $true @ $false @ $true @ $true @ $true @ ( literal2 @ $true @ $false @ $false @ $true @ $false @ $true @ $true @ ( literal2 @ $true @ $true @ $true @ $true @ $false @ $true @ $true @ ( literal2 @ $false @ $true @ $true @ $true @ $false @ $true @ $true @ ( zero_zero @ literal ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( cons @ typerep @ ( typerep_typerep @ A @ ( type2 @ A ) ) @ ( nil @ typerep ) ) ) ) ) ) )).

% typerep_conditional_action_def
thf(fact_611_comp__transfer,axiom,(
    ! [A: $tType,B: $tType,E: $tType,F: $tType,D: $tType,C: $tType,B6: A > C > $o,C6: B > D > $o,A6: E > F > $o] :
      ( bNF_rel_fun @ ( A > B ) @ ( C > D ) @ ( ( E > A ) > E > B ) @ ( ( F > C ) > F > D ) @ ( bNF_rel_fun @ A @ C @ B @ D @ B6 @ C6 ) @ ( bNF_rel_fun @ ( E > A ) @ ( F > C ) @ ( E > B ) @ ( F > D ) @ ( bNF_rel_fun @ E @ F @ A @ C @ A6 @ B6 ) @ ( bNF_rel_fun @ E @ F @ B @ D @ A6 @ C6 ) ) @ ( comp @ A @ B @ E ) @ ( comp @ C @ D @ F ) ) )).

% comp_transfer
thf(fact_612_interrupt__action_Osimps_I8_J,axiom,(
    ! [T: $tType,X2: T,X32: T] :
      ( ( interrupt_Interrupt @ T @ X2 )
     != ( interr7976201102587534891errupt @ T @ X32 ) ) )).

% interrupt_action.simps(8)
thf(fact_613_o__rsp_I1_J,axiom,(
    ! [A: $tType,B: $tType,E: $tType,F: $tType,D: $tType,C: $tType,R22: A > C > $o,R32: B > D > $o,R1: E > F > $o] :
      ( bNF_rel_fun @ ( A > B ) @ ( C > D ) @ ( ( E > A ) > E > B ) @ ( ( F > C ) > F > D ) @ ( bNF_rel_fun @ A @ C @ B @ D @ R22 @ R32 ) @ ( bNF_rel_fun @ ( E > A ) @ ( F > C ) @ ( E > B ) @ ( F > D ) @ ( bNF_rel_fun @ E @ F @ A @ C @ R1 @ R22 ) @ ( bNF_rel_fun @ E @ F @ B @ D @ R1 @ R32 ) ) @ ( comp @ A @ B @ E ) @ ( comp @ C @ D @ F ) ) )).

% o_rsp(1)
thf(fact_614_sup__bot_Oleft__neutral,axiom,(
    ! [A: $tType] :
      ( ( bounde4967611905675639751up_bot @ A )
     => ! [A3: A] :
          ( ( sup_sup @ A @ ( bot_bot @ A ) @ A3 )
          = A3 ) ) )).

% sup_bot.left_neutral
thf(fact_615_Sigma__empty1,axiom,(
    ! [B: $tType,A: $tType,B6: A > ( set @ B )] :
      ( ( product_Sigma @ A @ B @ ( bot_bot @ ( set @ A ) ) @ B6 )
      = ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) )).

% Sigma_empty1
thf(fact_616_conditional__action_Opred__mono__strong,axiom,(
    ! [A: $tType,P: A > $o,X3: conditional_action @ A,Pa: A > $o] :
      ( ( condit606476673698705123action @ A @ P @ X3 )
     => ( ! [Z3: A] :
            ( ( member @ A @ Z3 @ ( condit2393454222984209554action @ A @ X3 ) )
           => ( ( P @ Z3 )
             => ( Pa @ Z3 ) ) )
       => ( condit606476673698705123action @ A @ Pa @ X3 ) ) ) )).

% conditional_action.pred_mono_strong
thf(fact_617_o__rsp_I2_J,axiom,(
    ! [E: $tType,F: $tType,H4: $tType,G: $tType,R1: E > F > $o] :
      ( bNF_rel_fun @ ( G > H4 ) @ ( G > H4 ) @ ( ( E > G ) > E > H4 ) @ ( ( F > G ) > F > H4 )
      @ ^ [Y3: G > H4,Z: G > H4] : ( Y3 = Z )
      @ ( bNF_rel_fun @ ( E > G ) @ ( F > G ) @ ( E > H4 ) @ ( F > H4 )
        @ ( bNF_rel_fun @ E @ F @ G @ G @ R1
          @ ^ [Y3: G,Z: G] : ( Y3 = Z ) )
        @ ( bNF_rel_fun @ E @ F @ H4 @ H4 @ R1
          @ ^ [Y3: H4,Z: H4] : ( Y3 = Z ) ) )
      @ ( comp @ G @ H4 @ E )
      @ ( comp @ G @ H4 @ F ) ) )).

% o_rsp(2)
thf(fact_618_interrupt__action_Osimps_I9_J,axiom,(
    ! [T: $tType,X32: T,X2: T] :
      ( ( interr7976201102587534891errupt @ T @ X32 )
     != ( interrupt_Interrupt @ T @ X2 ) ) )).

% interrupt_action.simps(9)
thf(fact_619_rel__fun__iff__geq__image2p,axiom,(
    ! [C: $tType,D: $tType,B: $tType,A: $tType] :
      ( ( bNF_rel_fun @ A @ B @ C @ D )
      = ( ^ [R2: A > B > $o,S5: C > D > $o,F3: A > C,G3: B > D] :
            ( ord_less_eq @ ( C > D > $o ) @ ( bNF_Greatest_image2p @ A @ C @ B @ D @ F3 @ G3 @ R2 ) @ S5 ) ) ) )).

% rel_fun_iff_geq_image2p
thf(fact_620_wait__set__action_Osimps_I20_J,axiom,(
    ! [T: $tType,W: $tType,X2: W] :
      ( ( wait_set_Notified @ T @ W )
     != ( wait_set_Notify @ W @ T @ X2 ) ) )).

% wait_set_action.simps(20)
thf(fact_621_map__prod__o__convol__id,axiom,(
    ! [B: $tType,A: $tType,C: $tType,F4: C > A,G4: C > B,X3: C] :
      ( ( comp @ ( product_prod @ C @ B ) @ ( product_prod @ A @ B ) @ C @ ( product_map_prod @ C @ A @ B @ B @ F4 @ ( id @ B ) ) @ ( bNF_convol @ C @ C @ B @ ( id @ C ) @ G4 ) @ X3 )
      = ( bNF_convol @ C @ A @ B @ ( comp @ A @ A @ C @ ( id @ A ) @ F4 ) @ G4 @ X3 ) ) )).

% map_prod_o_convol_id
thf(fact_622_conditional__action_Opred__inject_I1_J,axiom,(
    ! [T: $tType,P: T > $o,A3: T] :
      ( ( condit606476673698705123action @ T @ P @ ( conditional_Join @ T @ A3 ) )
      = ( P @ A3 ) ) )).

% conditional_action.pred_inject(1)
thf(fact_623_in__rel__Gr,axiom,(
    ! [B: $tType,A: $tType,A6: set @ A,F4: A > B] :
      ( ( fun_in_rel @ A @ B @ ( bNF_Gr @ A @ B @ A6 @ F4 ) )
      = ( bNF_Grp @ A @ B @ A6 @ F4 ) ) )).

% in_rel_Gr
thf(fact_624_new__thread__action_Oinduct,axiom,(
    ! [M: $tType,X: $tType,T: $tType,P: ( new_thread_action @ T @ X @ M ) > $o,New_thread_action: new_thread_action @ T @ X @ M] :
      ( ! [X14: T,X23: X,X33: M] :
          ( P @ ( new_thread_NewThread @ T @ X @ M @ X14 @ X23 @ X33 ) )
     => ( ! [X14: T,X23: $o] :
            ( P @ ( new_th4503388622997288770Exists @ T @ X @ M @ X14 @ X23 ) )
       => ( P @ New_thread_action ) ) ) )).

% new_thread_action.induct
thf(fact_625_csquare__fstOp__sndOp,axiom,(
    ! [A: $tType,B: $tType,C: $tType,F4: ( A > B > $o ) > ( product_prod @ A @ B ) > $o,P: A > C > $o,Q: C > B > $o] :
      ( bNF_csquare @ ( product_prod @ A @ B ) @ ( product_prod @ A @ C ) @ C @ ( product_prod @ C @ B ) @ ( collect @ ( product_prod @ A @ B ) @ ( F4 @ ( relcompp @ A @ C @ B @ P @ Q ) ) ) @ ( product_snd @ A @ C ) @ ( product_fst @ C @ B ) @ ( bNF_fstOp @ A @ C @ B @ P @ Q ) @ ( bNF_sndOp @ A @ C @ B @ P @ Q ) ) )).

% csquare_fstOp_sndOp
thf(fact_626_Times__empty,axiom,(
    ! [A: $tType,B: $tType,A6: set @ A,B6: set @ B] :
      ( ( ( product_Sigma @ A @ B @ A6
          @ ^ [Uu: A] : B6 )
        = ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) )
      = ( ( A6
          = ( bot_bot @ ( set @ A ) ) )
        | ( B6
          = ( bot_bot @ ( set @ B ) ) ) ) ) )).

% Times_empty
thf(fact_627_wait__set__action_Odistinct_I15_J,axiom,(
    ! [W: $tType,T: $tType,X2: W] :
      ( ( wait_set_Notify @ W @ T @ X2 )
     != ( wait_set_Notified @ T @ W ) ) )).

% wait_set_action.distinct(15)
thf(fact_628_Sigma__empty2,axiom,(
    ! [B: $tType,A: $tType,A6: set @ A] :
      ( ( product_Sigma @ A @ B @ A6
        @ ^ [Uu: A] :
            ( bot_bot @ ( set @ B ) ) )
      = ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) )).

% Sigma_empty2
thf(fact_629_conditional__action_Orec_I1_J,axiom,(
    ! [B: $tType,T: $tType,F1: T > B,F22: B,X1: T] :
      ( ( condit2004826933596026276action @ T @ B @ F1 @ F22 @ ( conditional_Join @ T @ X1 ) )
      = ( F1 @ X1 ) ) )).

% conditional_action.rec(1)
thf(fact_630_image__id,axiom,(
    ! [A: $tType] :
      ( ( image2 @ A @ A @ ( id @ A ) )
      = ( id @ ( set @ A ) ) ) )).

% image_id
thf(fact_631_conditional__action_Opred__inject_I2_J,axiom,(
    ! [T: $tType,P: T > $o] :
      ( condit606476673698705123action @ T @ P @ ( conditional_Yield @ T ) ) )).

% conditional_action.pred_inject(2)
thf(fact_632_fun_Omap__id,axiom,(
    ! [A: $tType,D: $tType,T4: D > A] :
      ( ( comp @ A @ A @ D @ ( id @ A ) @ T4 )
      = T4 ) )).

% fun.map_id
thf(fact_633_conditional__action_ODomainp__rel,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( domainp @ ( conditional_action @ A ) @ ( conditional_action @ B ) @ ( condit4280512358590153947action @ A @ B @ R ) )
      = ( condit606476673698705123action @ A @ ( domainp @ A @ B @ R ) ) ) )).

% conditional_action.Domainp_rel
thf(fact_634_conditional__action_Orec_I2_J,axiom,(
    ! [T: $tType,B: $tType,F1: T > B,F22: B] :
      ( ( condit2004826933596026276action @ T @ B @ F1 @ F22 @ ( conditional_Yield @ T ) )
      = F22 ) )).

% conditional_action.rec(2)
thf(fact_635_conditional__action_Orel__compp,axiom,(
    ! [A: $tType,C: $tType,B: $tType,R: A > B > $o,S3: B > C > $o] :
      ( ( condit4280512358590153947action @ A @ C @ ( relcompp @ A @ B @ C @ R @ S3 ) )
      = ( relcompp @ ( conditional_action @ A ) @ ( conditional_action @ B ) @ ( conditional_action @ C ) @ ( condit4280512358590153947action @ A @ B @ R ) @ ( condit4280512358590153947action @ B @ C @ S3 ) ) ) )).

% conditional_action.rel_compp
thf(fact_636_relcompp__distrib2,axiom,(
    ! [A: $tType,B: $tType,C: $tType,S3: A > C > $o,T5: A > C > $o,R: C > B > $o] :
      ( ( relcompp @ A @ C @ B @ ( sup_sup @ ( A > C > $o ) @ S3 @ T5 ) @ R )
      = ( sup_sup @ ( A > B > $o ) @ ( relcompp @ A @ C @ B @ S3 @ R ) @ ( relcompp @ A @ C @ B @ T5 @ R ) ) ) )).

% relcompp_distrib2
thf(fact_637_next_Osimps,axiom,(
    ! [V: code_natural,W3: code_natural] :
      ( ( next @ ( product_Pair @ code_natural @ code_natural @ V @ W3 ) )
      = ( product_Pair @ code_natural @ ( product_prod @ code_natural @ code_natural ) @ ( plus_plus @ code_natural @ ( minus_shift @ ( numeral_numeral @ code_natural @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( minus_shift @ ( numeral_numeral @ code_natural @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( times_times @ code_natural @ ( modulo_modulo @ code_natural @ V @ ( numeral_numeral @ code_natural @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( numeral_numeral @ code_natural @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( times_times @ code_natural @ ( divide_divide @ code_natural @ V @ ( numeral_numeral @ code_natural @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( numeral_numeral @ code_natural @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit0 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( plus_plus @ code_natural @ ( minus_shift @ ( numeral_numeral @ code_natural @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit0 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( times_times @ code_natural @ ( modulo_modulo @ code_natural @ W3 @ ( numeral_numeral @ code_natural @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit1 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( numeral_numeral @ code_natural @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( times_times @ code_natural @ ( divide_divide @ code_natural @ W3 @ ( numeral_numeral @ code_natural @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit1 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( numeral_numeral @ code_natural @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit1 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( one_one @ code_natural ) ) ) @ ( one_one @ code_natural ) ) @ ( product_Pair @ code_natural @ code_natural @ ( minus_shift @ ( numeral_numeral @ code_natural @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( times_times @ code_natural @ ( modulo_modulo @ code_natural @ V @ ( numeral_numeral @ code_natural @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( numeral_numeral @ code_natural @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( times_times @ code_natural @ ( divide_divide @ code_natural @ V @ ( numeral_numeral @ code_natural @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( numeral_numeral @ code_natural @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit0 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( minus_shift @ ( numeral_numeral @ code_natural @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit0 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( times_times @ code_natural @ ( modulo_modulo @ code_natural @ W3 @ ( numeral_numeral @ code_natural @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit1 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( numeral_numeral @ code_natural @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( times_times @ code_natural @ ( divide_divide @ code_natural @ W3 @ ( numeral_numeral @ code_natural @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit1 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( numeral_numeral @ code_natural @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit1 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )).

% next.simps
thf(fact_638_relcompp__distrib,axiom,(
    ! [A: $tType,B: $tType,C: $tType,R: A > C > $o,S3: C > B > $o,T5: C > B > $o] :
      ( ( relcompp @ A @ C @ B @ R @ ( sup_sup @ ( C > B > $o ) @ S3 @ T5 ) )
      = ( sup_sup @ ( A > B > $o ) @ ( relcompp @ A @ C @ B @ R @ S3 ) @ ( relcompp @ A @ C @ B @ R @ T5 ) ) ) )).

% relcompp_distrib
thf(fact_639_wait__set__action_Osimps_I12_J,axiom,(
    ! [T: $tType,W: $tType,X1: W] :
      ( ( wait_set_Notified @ T @ W )
     != ( wait_set_Suspend @ W @ T @ X1 ) ) )).

% wait_set_action.simps(12)
thf(fact_640_apfst__id,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( product_apfst @ A @ A @ B @ ( id @ A ) )
      = ( id @ ( product_prod @ A @ B ) ) ) )).

% apfst_id
thf(fact_641_conditional__action_Orel__flip,axiom,(
    ! [A: $tType,B: $tType,R: A > B > $o,A3: conditional_action @ B,B3: conditional_action @ A] :
      ( ( condit4280512358590153947action @ B @ A @ ( conversep @ A @ B @ R ) @ A3 @ B3 )
      = ( condit4280512358590153947action @ A @ B @ R @ B3 @ A3 ) ) )).

% conditional_action.rel_flip
thf(fact_642_apsnd__id,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( product_apsnd @ B @ B @ A @ ( id @ B ) )
      = ( id @ ( product_prod @ A @ B ) ) ) )).

% apsnd_id
thf(fact_643_wait__set__action_Odistinct_I7_J,axiom,(
    ! [W: $tType,T: $tType,X1: W] :
      ( ( wait_set_Suspend @ W @ T @ X1 )
     != ( wait_set_Notified @ T @ W ) ) )).

% wait_set_action.distinct(7)
thf(fact_644_swap__comp__swap,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( comp @ ( product_prod @ B @ A ) @ ( product_prod @ A @ B ) @ ( product_prod @ A @ B ) @ ( product_swap @ B @ A ) @ ( product_swap @ A @ B ) )
      = ( id @ ( product_prod @ A @ B ) ) ) )).

% swap_comp_swap
thf(fact_645_IdI,axiom,(
    ! [A: $tType,A3: A] :
      ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ A3 ) @ ( id2 @ A ) ) )).

% IdI
thf(fact_646_IdE,axiom,(
    ! [A: $tType,P2: product_prod @ A @ A] :
      ( ( member @ ( product_prod @ A @ A ) @ P2 @ ( id2 @ A ) )
     => ~ ! [X5: A] :
            ( P2
           != ( product_Pair @ A @ A @ X5 @ X5 ) ) ) )).

% IdE
thf(fact_647_interrupt__action_Omap__ident,axiom,(
    ! [A: $tType,T4: interrupt_action @ A] :
      ( ( interr6514223866936857682action @ A @ A
        @ ^ [X4: A] : X4
        @ T4 )
      = T4 ) )).

% interrupt_action.map_ident
thf(fact_648_fun_Omap__id0,axiom,(
    ! [A: $tType,D: $tType] :
      ( ( comp @ A @ A @ D @ ( id @ A ) )
      = ( id @ ( D > A ) ) ) )).

% fun.map_id0
thf(fact_649_conditional__action_Omap_I1_J,axiom,(
    ! [A: $tType,T: $tType,F4: T > A,X1: T] :
      ( ( condit198635377858011928action @ T @ A @ F4 @ ( conditional_Join @ T @ X1 ) )
      = ( conditional_Join @ A @ ( F4 @ X1 ) ) ) )).

% conditional_action.map(1)
thf(fact_650_image2pE,axiom,(
    ! [D: $tType,B: $tType,A: $tType,C: $tType,F4: A > B,G4: C > D,R: A > C > $o,Fx: B,Gy: D] :
      ( ( bNF_Greatest_image2p @ A @ B @ C @ D @ F4 @ G4 @ R @ Fx @ Gy )
     => ~ ! [X5: A] :
            ( ( Fx
              = ( F4 @ X5 ) )
           => ! [Y4: C] :
                ( ( Gy
                  = ( G4 @ Y4 ) )
               => ~ ( R @ X5 @ Y4 ) ) ) ) )).

% image2pE
thf(fact_651_inf__fun__def,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( semilattice_inf @ B )
     => ( ( inf_inf @ ( A > B ) )
        = ( ^ [F3: A > B,G3: A > B,X4: A] :
              ( inf_inf @ B @ ( F3 @ X4 ) @ ( G3 @ X4 ) ) ) ) ) )).

% inf_fun_def
thf(fact_652_Predicate_Oiterate__upto_Opsimps,axiom,(
    ! [A: $tType,F4: code_natural > A,N3: code_natural,M4: code_natural] :
      ( ( accp @ ( product_prod @ ( code_natural > A ) @ ( product_prod @ code_natural @ code_natural ) ) @ ( iterate_upto_rel @ A ) @ ( product_Pair @ ( code_natural > A ) @ ( product_prod @ code_natural @ code_natural ) @ F4 @ ( product_Pair @ code_natural @ code_natural @ N3 @ M4 ) ) )
     => ( ( iterate_upto @ A @ F4 @ N3 @ M4 )
        = ( seq2 @ A
          @ ^ [U2: product_unit] :
              ( if @ ( seq @ A ) @ ( ord_less @ code_natural @ M4 @ N3 ) @ ( empty @ A ) @ ( insert @ A @ ( F4 @ N3 ) @ ( iterate_upto @ A @ F4 @ ( plus_plus @ code_natural @ N3 @ ( one_one @ code_natural ) ) @ M4 ) ) ) ) ) ) )).

% Predicate.iterate_upto.psimps
thf(fact_653_image2pI,axiom,(
    ! [A: $tType,C: $tType,D: $tType,B: $tType,R: A > B > $o,X3: A,Y: B,F4: A > C,G4: B > D] :
      ( ( R @ X3 @ Y )
     => ( bNF_Greatest_image2p @ A @ C @ B @ D @ F4 @ G4 @ R @ ( F4 @ X3 ) @ ( G4 @ Y ) ) ) )).

% image2pI
thf(fact_654_image__insert,axiom,(
    ! [A: $tType,B: $tType,F4: B > A,A3: B,B6: set @ B] :
      ( ( image2 @ B @ A @ F4 @ ( insert2 @ B @ A3 @ B6 ) )
      = ( insert2 @ A @ ( F4 @ A3 ) @ ( image2 @ B @ A @ F4 @ B6 ) ) ) )).

% image_insert
thf(fact_655_wait__set__action_Osimps_I23_J,axiom,(
    ! [W: $tType,T: $tType,X32: W,X42: T] :
      ( ( wait_set_NotifyAll @ W @ T @ X32 )
     != ( wait_set_WakeUp @ T @ W @ X42 ) ) )).

% wait_set_action.simps(23)
thf(fact_656_nchotomy__relcomppE,axiom,(
    ! [C: $tType,B: $tType,A: $tType,D: $tType,F4: B > A,R3: C > A > $o,S: A > D > $o,A3: C,C3: D] :
      ( ! [Y4: A] :
        ? [X6: B] :
          ( Y4
          = ( F4 @ X6 ) )
     => ( ( relcompp @ C @ A @ D @ R3 @ S @ A3 @ C3 )
       => ~ ! [B2: B] :
              ( ( R3 @ A3 @ ( F4 @ B2 ) )
             => ~ ( S @ ( F4 @ B2 ) @ C3 ) ) ) ) )).

% nchotomy_relcomppE
thf(fact_657_Un__insert__right,axiom,(
    ! [A: $tType,A6: set @ A,A3: A,B6: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ A6 @ ( insert2 @ A @ A3 @ B6 ) )
      = ( insert2 @ A @ A3 @ ( sup_sup @ ( set @ A ) @ A6 @ B6 ) ) ) )).

% Un_insert_right
thf(fact_658_bot__empty__eq2,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( bot_bot @ ( A > B > $o ) )
      = ( ^ [X4: A,Y5: B] :
            ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ ( bot_bot @ ( set @ ( product_prod @ A @ B ) ) ) ) ) ) )).

% bot_empty_eq2
thf(fact_659_UNIV__not__empty,axiom,(
    ! [A: $tType] :
      ( ( top_top @ ( set @ A ) )
     != ( bot_bot @ ( set @ A ) ) ) )).

% UNIV_not_empty
thf(fact_660_Sup_OSUP__id__eq,axiom,(
    ! [A: $tType,Sup: ( set @ A ) > A,A6: set @ A] :
      ( ( Sup @ ( image2 @ A @ A @ ( id @ A ) @ A6 ) )
      = ( Sup @ A6 ) ) )).

% Sup.SUP_id_eq
thf(fact_661_wait__set__action_Osimps_I24_J,axiom,(
    ! [T: $tType,W: $tType,X42: T,X32: W] :
      ( ( wait_set_WakeUp @ T @ W @ X42 )
     != ( wait_set_NotifyAll @ W @ T @ X32 ) ) )).

% wait_set_action.simps(24)
thf(fact_662_Inf_OINF__id__eq,axiom,(
    ! [A: $tType,Inf: ( set @ A ) > A,A6: set @ A] :
      ( ( Inf @ ( image2 @ A @ A @ ( id @ A ) @ A6 ) )
      = ( Inf @ A6 ) ) )).

% Inf.INF_id_eq
thf(fact_663_Predicate_Oiterate__upto_Opelims,axiom,(
    ! [A: $tType,X3: code_natural > A,Xa2: code_natural,Xb: code_natural,Y: pred @ A] :
      ( ( ( iterate_upto @ A @ X3 @ Xa2 @ Xb )
        = Y )
     => ( ( accp @ ( product_prod @ ( code_natural > A ) @ ( product_prod @ code_natural @ code_natural ) ) @ ( iterate_upto_rel @ A ) @ ( product_Pair @ ( code_natural > A ) @ ( product_prod @ code_natural @ code_natural ) @ X3 @ ( product_Pair @ code_natural @ code_natural @ Xa2 @ Xb ) ) )
       => ~ ( ( Y
              = ( seq2 @ A
                @ ^ [U2: product_unit] :
                    ( if @ ( seq @ A ) @ ( ord_less @ code_natural @ Xb @ Xa2 ) @ ( empty @ A ) @ ( insert @ A @ ( X3 @ Xa2 ) @ ( iterate_upto @ A @ X3 @ ( plus_plus @ code_natural @ Xa2 @ ( one_one @ code_natural ) ) @ Xb ) ) ) ) )
           => ~ ( accp @ ( product_prod @ ( code_natural > A ) @ ( product_prod @ code_natural @ code_natural ) ) @ ( iterate_upto_rel @ A ) @ ( product_Pair @ ( code_natural > A ) @ ( product_prod @ code_natural @ code_natural ) @ X3 @ ( product_Pair @ code_natural @ code_natural @ Xa2 @ Xb ) ) ) ) ) ) )).

% Predicate.iterate_upto.pelims
thf(fact_664_comp__eq__id__dest,axiom,(
    ! [C: $tType,B: $tType,A: $tType,A3: C > B,B3: A > C,C3: A > B,V: A] :
      ( ( ( comp @ C @ B @ A @ A3 @ B3 )
        = ( comp @ B @ B @ A @ ( id @ B ) @ C3 ) )
     => ( ( A3 @ ( B3 @ V ) )
        = ( C3 @ V ) ) ) )).

% comp_eq_id_dest
thf(fact_665_conditional__action_Octr__transfer_I2_J,axiom,(
    ! [T: $tType,A: $tType,R: T > A > $o] :
      ( condit4280512358590153947action @ T @ A @ R @ ( conditional_Yield @ T ) @ ( conditional_Yield @ A ) ) )).

% conditional_action.ctr_transfer(2)
thf(fact_666_pointfree__idE,axiom,(
    ! [B: $tType,A: $tType,F4: B > A,G4: A > B,X3: A] :
      ( ( ( comp @ B @ A @ A @ F4 @ G4 )
        = ( id @ A ) )
     => ( ( F4 @ ( G4 @ X3 ) )
        = X3 ) ) )).

% pointfree_idE
thf(fact_667_new__thread__action_Oset__cases_I3_J,axiom,(
    ! [X: $tType,T: $tType,M: $tType,E3: M,A3: new_thread_action @ T @ X @ M] :
      ( ( member @ M @ E3 @ ( new_th6593320897181800883action @ T @ X @ M @ A3 ) )
     => ~ ! [Z1: T,Z22: X] :
            ( A3
           != ( new_thread_NewThread @ T @ X @ M @ Z1 @ Z22 @ E3 ) ) ) )).

% new_thread_action.set_cases(3)
thf(fact_668_leq__OOI,axiom,(
    ! [A: $tType,R: A > A > $o] :
      ( ( R
        = ( ^ [Y3: A,Z: A] : ( Y3 = Z ) ) )
     => ( ord_less_eq @ ( A > A > $o ) @ R @ ( relcompp @ A @ A @ A @ R @ R ) ) ) )).

% leq_OOI
thf(fact_669_interrupt__action_Oinject_I1_J,axiom,(
    ! [T: $tType,X11: T,X12: $o,Y11: T,Y12: $o] :
      ( ( ( interr5885539089632487139rupted @ T @ X11 @ X12 )
        = ( interr5885539089632487139rupted @ T @ Y11 @ Y12 ) )
      = ( ( X11 = Y11 )
        & ( X12 = Y12 ) ) ) )).

% interrupt_action.inject(1)
thf(fact_670_pick__middlep,axiom,(
    ! [B: $tType,A: $tType,C: $tType,P: A > B > $o,Q: B > C > $o,A3: A,C3: C] :
      ( ( relcompp @ A @ B @ C @ P @ Q @ A3 @ C3 )
     => ( ( P @ A3 @ ( bNF_pick_middlep @ A @ B @ C @ P @ Q @ A3 @ C3 ) )
        & ( Q @ ( bNF_pick_middlep @ A @ B @ C @ P @ Q @ A3 @ C3 ) @ C3 ) ) ) )).

% pick_middlep
thf(fact_671_Un__insert__left,axiom,(
    ! [A: $tType,A3: A,B6: set @ A,C6: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ ( insert2 @ A @ A3 @ B6 ) @ C6 )
      = ( insert2 @ A @ A3 @ ( sup_sup @ ( set @ A ) @ B6 @ C6 ) ) ) )).

% Un_insert_left
thf(fact_672_new__thread__action_Osimps_I17_J,axiom,(
    ! [M: $tType,T: $tType,X: $tType,X11: T,X12: X,X13: M] :
      ( ( new_th5315647845865256052action @ T @ X @ M @ ( new_thread_NewThread @ T @ X @ M @ X11 @ X12 @ X13 ) )
      = ( insert2 @ X @ X12 @ ( bot_bot @ ( set @ X ) ) ) ) )).

% new_thread_action.simps(17)
thf(fact_673_GrD1,axiom,(
    ! [B: $tType,A: $tType,X3: A,Fx: B,A6: set @ A,F4: A > B] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Fx ) @ ( bNF_Gr @ A @ B @ A6 @ F4 ) )
     => ( member @ A @ X3 @ A6 ) ) )).

% GrD1
thf(fact_674_wait__set__action_Osimps_I17_J,axiom,(
    ! [W: $tType,T: $tType,X2: W,X42: T] :
      ( ( wait_set_Notify @ W @ T @ X2 )
     != ( wait_set_WakeUp @ T @ W @ X42 ) ) )).

% wait_set_action.simps(17)
thf(fact_675_GrD2,axiom,(
    ! [A: $tType,B: $tType,X3: A,Fx: B,A6: set @ A,F4: A > B] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X3 @ Fx ) @ ( bNF_Gr @ A @ B @ A6 @ F4 ) )
     => ( ( F4 @ X3 )
        = Fx ) ) )).

% GrD2
thf(fact_676_new__thread__action_Oset__intros_I4_J,axiom,(
    ! [X: $tType,T: $tType,M: $tType,X13: M,X11: T,X12: X] :
      ( member @ M @ X13 @ ( new_th6593320897181800883action @ T @ X @ M @ ( new_thread_NewThread @ T @ X @ M @ X11 @ X12 @ X13 ) ) ) )).

% new_thread_action.set_intros(4)
thf(fact_677_csquare__def,axiom,(
    ! [B: $tType,C: $tType,D: $tType,A: $tType] :
      ( ( bNF_csquare @ A @ B @ C @ D )
      = ( ^ [A7: set @ A,F12: B > C,F23: D > C,P12: A > B,P23: A > D] :
          ! [X4: A] :
            ( ( member @ A @ X4 @ A7 )
           => ( ( F12 @ ( P12 @ X4 ) )
              = ( F23 @ ( P23 @ X4 ) ) ) ) ) ) )).

% csquare_def
thf(fact_678_new__thread__action_Oset__intros_I1_J,axiom,(
    ! [X: $tType,T: $tType,M: $tType,X11: T,X12: X,X13: M] :
      ( member @ T @ X11 @ ( new_th4037974794548711221action @ T @ X @ M @ ( new_thread_NewThread @ T @ X @ M @ X11 @ X12 @ X13 ) ) ) )).

% new_thread_action.set_intros(1)
thf(fact_679_apfst__def,axiom,(
    ! [B: $tType,C: $tType,A: $tType] :
      ( ( product_apfst @ A @ C @ B )
      = ( ^ [F3: A > C] :
            ( product_map_prod @ A @ C @ B @ B @ F3 @ ( id @ B ) ) ) ) )).

% apfst_def
thf(fact_680_new__thread__action_Oset__intros_I3_J,axiom,(
    ! [X: $tType,T: $tType,M: $tType,X12: X,X11: T,X13: M] :
      ( member @ X @ X12 @ ( new_th5315647845865256052action @ T @ X @ M @ ( new_thread_NewThread @ T @ X @ M @ X11 @ X12 @ X13 ) ) ) )).

% new_thread_action.set_intros(3)
thf(fact_681_apsnd__def,axiom,(
    ! [B: $tType,C: $tType,A: $tType] :
      ( ( product_apsnd @ B @ C @ A )
      = ( product_map_prod @ A @ A @ B @ C @ ( id @ A ) ) ) )).

% apsnd_def
thf(fact_682_wait__set__action_Osimps_I18_J,axiom,(
    ! [T: $tType,W: $tType,X42: T,X2: W] :
      ( ( wait_set_WakeUp @ T @ W @ X42 )
     != ( wait_set_Notify @ W @ T @ X2 ) ) )).

% wait_set_action.simps(18)
thf(fact_683_fstOp__in,axiom,(
    ! [B: $tType,C: $tType,A: $tType,Ac3: product_prod @ A @ B,P: A > C > $o,Q: C > B > $o] :
      ( ( member @ ( product_prod @ A @ B ) @ Ac3 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ ( relcompp @ A @ C @ B @ P @ Q ) ) ) )
     => ( member @ ( product_prod @ A @ C ) @ ( bNF_fstOp @ A @ C @ B @ P @ Q @ Ac3 ) @ ( collect @ ( product_prod @ A @ C ) @ ( product_case_prod @ A @ C @ $o @ P ) ) ) ) )).

% fstOp_in
thf(fact_684_new__thread__action_Oset_I4_J,axiom,(
    ! [M: $tType,T: $tType,X: $tType,X21: T,X22: $o] :
      ( ( new_th5315647845865256052action @ T @ X @ M @ ( new_th4503388622997288770Exists @ T @ X @ M @ X21 @ X22 ) )
      = ( bot_bot @ ( set @ X ) ) ) )).

% new_thread_action.set(4)
thf(fact_685_sndOp__in,axiom,(
    ! [A: $tType,B: $tType,C: $tType,Ac3: product_prod @ A @ B,P: A > C > $o,Q: C > B > $o] :
      ( ( member @ ( product_prod @ A @ B ) @ Ac3 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ ( relcompp @ A @ C @ B @ P @ Q ) ) ) )
     => ( member @ ( product_prod @ C @ B ) @ ( bNF_sndOp @ A @ C @ B @ P @ Q @ Ac3 ) @ ( collect @ ( product_prod @ C @ B ) @ ( product_case_prod @ C @ B @ $o @ Q ) ) ) ) )).

% sndOp_in
thf(fact_686_wait__set__action_Osimps_I10_J,axiom,(
    ! [T: $tType,W: $tType,X42: T,X1: W] :
      ( ( wait_set_WakeUp @ T @ W @ X42 )
     != ( wait_set_Suspend @ W @ T @ X1 ) ) )).

% wait_set_action.simps(10)
thf(fact_687_rel__fun__image2p,axiom,(
    ! [A: $tType,C: $tType,D: $tType,B: $tType,R: A > B > $o,F4: A > C,G4: B > D] :
      ( bNF_rel_fun @ A @ B @ C @ D @ R @ ( bNF_Greatest_image2p @ A @ C @ B @ D @ F4 @ G4 @ R ) @ F4 @ G4 ) )).

% rel_fun_image2p
thf(fact_688_interrupt__action_Osize_I2_J,axiom,(
    ! [T: $tType,X3: T > nat,X2: T] :
      ( ( interr4439281168783392195action @ T @ X3 @ ( interrupt_Interrupt @ T @ X2 ) )
      = ( plus_plus @ nat @ ( X3 @ X2 ) @ ( suc @ ( zero_zero @ nat ) ) ) ) )).

% interrupt_action.size(2)
thf(fact_689_bsqr__max2,axiom,(
    ! [A: $tType,R3: set @ ( product_prod @ A @ A ),A1: A,A22: A,B1: A,B22: A] :
      ( ( order_well_order_on @ A @ ( field @ A @ R3 ) @ R3 )
     => ( ( member @ ( product_prod @ ( product_prod @ A @ A ) @ ( product_prod @ A @ A ) ) @ ( product_Pair @ ( product_prod @ A @ A ) @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A1 @ A22 ) @ ( product_Pair @ A @ A @ B1 @ B22 ) ) @ ( bNF_Wellorder_bsqr @ A @ R3 ) )
       => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ ( bNF_We1388413361240627857o_max2 @ A @ R3 @ A1 @ A22 ) @ ( bNF_We1388413361240627857o_max2 @ A @ R3 @ B1 @ B22 ) ) @ R3 ) ) ) )).

% bsqr_max2
thf(fact_690_convol__mem__GrpI,axiom,(
    ! [B: $tType,A: $tType,X3: A,A6: set @ A,G4: A > B] :
      ( ( member @ A @ X3 @ A6 )
     => ( member @ ( product_prod @ A @ B ) @ ( bNF_convol @ A @ A @ B @ ( id @ A ) @ G4 @ X3 ) @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ ( bNF_Grp @ A @ B @ A6 @ G4 ) ) ) ) ) )).

% convol_mem_GrpI
thf(fact_691_wait__set__action_Odistinct_I5_J,axiom,(
    ! [W: $tType,T: $tType,X1: W,X42: T] :
      ( ( wait_set_Suspend @ W @ T @ X1 )
     != ( wait_set_WakeUp @ T @ W @ X42 ) ) )).

% wait_set_action.distinct(5)
thf(fact_692_left__right__inverse__eq,axiom,(
    ! [A: $tType,B: $tType,F4: B > A,G4: A > B,H: B > A] :
      ( ( ( comp @ B @ A @ A @ F4 @ G4 )
        = ( id @ A ) )
     => ( ( ( comp @ A @ B @ B @ G4 @ H )
          = ( id @ B ) )
       => ( F4 = H ) ) ) )).

% left_right_inverse_eq
thf(fact_693_interrupt__action_Osize_I3_J,axiom,(
    ! [T: $tType,X3: T > nat,X32: T] :
      ( ( interr4439281168783392195action @ T @ X3 @ ( interr7976201102587534891errupt @ T @ X32 ) )
      = ( plus_plus @ nat @ ( X3 @ X32 ) @ ( suc @ ( zero_zero @ nat ) ) ) ) )).

% interrupt_action.size(3)
thf(fact_694_isomorphism__expand,axiom,(
    ! [A: $tType,B: $tType,F4: B > A,G4: A > B] :
      ( ( ( ( comp @ B @ A @ A @ F4 @ G4 )
          = ( id @ A ) )
        & ( ( comp @ A @ B @ B @ G4 @ F4 )
          = ( id @ B ) ) )
      = ( ! [X4: A] :
            ( ( F4 @ ( G4 @ X4 ) )
            = X4 )
        & ! [X4: B] :
            ( ( G4 @ ( F4 @ X4 ) )
            = X4 ) ) ) )).

% isomorphism_expand
thf(fact_695_conditional__action_Orel__cong,axiom,(
    ! [A: $tType,B: $tType,X3: conditional_action @ A,Ya2: conditional_action @ A,Y: conditional_action @ B,Xa2: conditional_action @ B,R: A > B > $o,Ra2: A > B > $o] :
      ( ( X3 = Ya2 )
     => ( ( Y = Xa2 )
       => ( ! [Z3: A,Yb: B] :
              ( ( member @ A @ Z3 @ ( condit2393454222984209554action @ A @ Ya2 ) )
             => ( ( member @ B @ Yb @ ( condit2393454222984209554action @ B @ Xa2 ) )
               => ( ( R @ Z3 @ Yb )
                  = ( Ra2 @ Z3 @ Yb ) ) ) )
         => ( ( condit4280512358590153947action @ A @ B @ R @ X3 @ Y )
            = ( condit4280512358590153947action @ A @ B @ Ra2 @ Ya2 @ Xa2 ) ) ) ) ) )).

% conditional_action.rel_cong
thf(fact_696_image__Fpow__mono,axiom,(
    ! [B: $tType,A: $tType,F4: B > A,A6: set @ B,B6: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ ( image2 @ B @ A @ F4 @ A6 ) @ B6 )
     => ( ord_less_eq @ ( set @ ( set @ A ) ) @ ( image2 @ ( set @ B ) @ ( set @ A ) @ ( image2 @ B @ A @ F4 ) @ ( finite_Fpow @ B @ A6 ) ) @ ( finite_Fpow @ A @ B6 ) ) ) )).

% image_Fpow_mono
thf(fact_697_new__thread__action_Oset_I1_J,axiom,(
    ! [M: $tType,X: $tType,T: $tType,X11: T,X12: X,X13: M] :
      ( ( new_th4037974794548711221action @ T @ X @ M @ ( new_thread_NewThread @ T @ X @ M @ X11 @ X12 @ X13 ) )
      = ( insert2 @ T @ X11 @ ( bot_bot @ ( set @ T ) ) ) ) )).

% new_thread_action.set(1)
thf(fact_698_surj__swap,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( image2 @ ( product_prod @ B @ A ) @ ( product_prod @ A @ B ) @ ( product_swap @ B @ A ) @ ( top_top @ ( set @ ( product_prod @ B @ A ) ) ) )
      = ( top_top @ ( set @ ( product_prod @ A @ B ) ) ) ) )).

% surj_swap
thf(fact_699_interrupt__action_Omap__id0,axiom,(
    ! [A: $tType] :
      ( ( interr6514223866936857682action @ A @ A @ ( id @ A ) )
      = ( id @ ( interrupt_action @ A ) ) ) )).

% interrupt_action.map_id0
thf(fact_700_image2__eqI,axiom,(
    ! [A: $tType,C: $tType,B: $tType,B3: A,F4: B > A,X3: B,C3: C,G4: B > C,A6: set @ B] :
      ( ( B3
        = ( F4 @ X3 ) )
     => ( ( C3
          = ( G4 @ X3 ) )
       => ( ( member @ B @ X3 @ A6 )
         => ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ B3 @ C3 ) @ ( bNF_Greatest_image2 @ B @ A @ C @ A6 @ F4 @ G4 ) ) ) ) ) )).

% image2_eqI
thf(fact_701_new__thread__action_Omap__id0,axiom,(
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( new_th6052504119144402208action @ A @ A @ B @ B @ C @ C @ ( id @ A ) @ ( id @ B ) @ ( id @ C ) )
      = ( id @ ( new_thread_action @ A @ B @ C ) ) ) )).

% new_thread_action.map_id0
thf(fact_702_Id__on__Gr,axiom,(
    ! [A: $tType] :
      ( ( id_on @ A )
      = ( ^ [A7: set @ A] :
            ( bNF_Gr @ A @ A @ A7 @ ( id @ A ) ) ) ) )).

% Id_on_Gr
thf(fact_703_FieldI2,axiom,(
    ! [A: $tType,I2: A,J2: A,R: set @ ( product_prod @ A @ A )] :
      ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ I2 @ J2 ) @ R )
     => ( member @ A @ J2 @ ( field @ A @ R ) ) ) )).

% FieldI2
thf(fact_704_interrupt__action_Osimps_I5_J,axiom,(
    ! [T: $tType,X2: T,X11: T,X12: $o] :
      ( ( interrupt_Interrupt @ T @ X2 )
     != ( interr5885539089632487139rupted @ T @ X11 @ X12 ) ) )).

% interrupt_action.simps(5)
thf(fact_705_sup__top__left,axiom,(
    ! [A: $tType] :
      ( ( bounded_lattice_top @ A )
     => ! [X3: A] :
          ( ( sup_sup @ A @ ( top_top @ A ) @ X3 )
          = ( top_top @ A ) ) ) )).

% sup_top_left
thf(fact_706_conditional__action_Opred__map,axiom,(
    ! [B: $tType,A: $tType,Q: B > $o,F4: A > B,X3: conditional_action @ A] :
      ( ( condit606476673698705123action @ B @ Q @ ( condit198635377858011928action @ A @ B @ F4 @ X3 ) )
      = ( condit606476673698705123action @ A @ ( comp @ B @ $o @ A @ Q @ F4 ) @ X3 ) ) )).

% conditional_action.pred_map
thf(fact_707_sup__top__right,axiom,(
    ! [A: $tType] :
      ( ( bounded_lattice_top @ A )
     => ! [X3: A] :
          ( ( sup_sup @ A @ X3 @ ( top_top @ A ) )
          = ( top_top @ A ) ) ) )).

% sup_top_right
thf(fact_708_interrupt__action_Osimps_I6_J,axiom,(
    ! [T: $tType,X11: T,X12: $o,X32: T] :
      ( ( interr5885539089632487139rupted @ T @ X11 @ X12 )
     != ( interr7976201102587534891errupt @ T @ X32 ) ) )).

% interrupt_action.simps(6)
thf(fact_709_wait__set__action_Odistinct_I11_J,axiom,(
    ! [T: $tType,W: $tType,X2: W,X32: W] :
      ( ( wait_set_Notify @ W @ T @ X2 )
     != ( wait_set_NotifyAll @ W @ T @ X32 ) ) )).

% wait_set_action.distinct(11)
thf(fact_710_range__snd,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( image2 @ ( product_prod @ B @ A ) @ A @ ( product_snd @ B @ A ) @ ( top_top @ ( set @ ( product_prod @ B @ A ) ) ) )
      = ( top_top @ ( set @ A ) ) ) )).

% range_snd
thf(fact_711_wait__set__action_Odistinct_I12_J,axiom,(
    ! [T: $tType,W: $tType,X32: W,X2: W] :
      ( ( wait_set_NotifyAll @ W @ T @ X32 )
     != ( wait_set_Notify @ W @ T @ X2 ) ) )).

% wait_set_action.distinct(12)
thf(fact_712_range__fst,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( image2 @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B ) @ ( top_top @ ( set @ ( product_prod @ A @ B ) ) ) )
      = ( top_top @ ( set @ A ) ) ) )).

% range_fst
thf(fact_713_conditional__action_Orel__inject_I1_J,axiom,(
    ! [T: $tType,A: $tType,R: T > A > $o,X1: T,Y1: A] :
      ( ( condit4280512358590153947action @ T @ A @ R @ ( conditional_Join @ T @ X1 ) @ ( conditional_Join @ A @ Y1 ) )
      = ( R @ X1 @ Y1 ) ) )).

% conditional_action.rel_inject(1)
thf(fact_714_surjD,axiom,(
    ! [A: $tType,B: $tType,F4: B > A,Y: A] :
      ( ( ( image2 @ B @ A @ F4 @ ( top_top @ ( set @ B ) ) )
        = ( top_top @ ( set @ A ) ) )
     => ? [X5: B] :
          ( Y
          = ( F4 @ X5 ) ) ) )).

% surjD
thf(fact_715_conditional__action_Orel__intros_I1_J,axiom,(
    ! [T: $tType,A: $tType,R: T > A > $o,X1: T,Y1: A] :
      ( ( R @ X1 @ Y1 )
     => ( condit4280512358590153947action @ T @ A @ R @ ( conditional_Join @ T @ X1 ) @ ( conditional_Join @ A @ Y1 ) ) ) )).

% conditional_action.rel_intros(1)
thf(fact_716_surjE,axiom,(
    ! [A: $tType,B: $tType,F4: B > A,Y: A] :
      ( ( ( image2 @ B @ A @ F4 @ ( top_top @ ( set @ B ) ) )
        = ( top_top @ ( set @ A ) ) )
     => ~ ! [X5: B] :
            ( Y
           != ( F4 @ X5 ) ) ) )).

% surjE
thf(fact_717_FieldI1,axiom,(
    ! [A: $tType,I2: A,J2: A,R: set @ ( product_prod @ A @ A )] :
      ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ I2 @ J2 ) @ R )
     => ( member @ A @ I2 @ ( field @ A @ R ) ) ) )).

% FieldI1
thf(fact_718_wait__set__action_Odistinct_I3_J,axiom,(
    ! [T: $tType,W: $tType,X1: W,X32: W] :
      ( ( wait_set_Suspend @ W @ T @ X1 )
     != ( wait_set_NotifyAll @ W @ T @ X32 ) ) )).

% wait_set_action.distinct(3)
thf(fact_719_surjI,axiom,(
    ! [B: $tType,A: $tType,G4: B > A,F4: A > B] :
      ( ! [X5: A] :
          ( ( G4 @ ( F4 @ X5 ) )
          = X5 )
     => ( ( image2 @ B @ A @ G4 @ ( top_top @ ( set @ B ) ) )
        = ( top_top @ ( set @ A ) ) ) ) )).

% surjI
thf(fact_720_conditional__action_Orel__mono__strong,axiom,(
    ! [A: $tType,B: $tType,R: A > B > $o,X3: conditional_action @ A,Y: conditional_action @ B,Ra2: A > B > $o] :
      ( ( condit4280512358590153947action @ A @ B @ R @ X3 @ Y )
     => ( ! [Z3: A,Yb: B] :
            ( ( member @ A @ Z3 @ ( condit2393454222984209554action @ A @ X3 ) )
           => ( ( member @ B @ Yb @ ( condit2393454222984209554action @ B @ Y ) )
             => ( ( R @ Z3 @ Yb )
               => ( Ra2 @ Z3 @ Yb ) ) ) )
       => ( condit4280512358590153947action @ A @ B @ Ra2 @ X3 @ Y ) ) ) )).

% conditional_action.rel_mono_strong
thf(fact_721_rangeI,axiom,(
    ! [A: $tType,B: $tType,F4: B > A,X3: B] :
      ( member @ A @ ( F4 @ X3 ) @ ( image2 @ B @ A @ F4 @ ( top_top @ ( set @ B ) ) ) ) )).

% rangeI
thf(fact_722_wait__set__action_Odistinct_I4_J,axiom,(
    ! [T: $tType,W: $tType,X32: W,X1: W] :
      ( ( wait_set_NotifyAll @ W @ T @ X32 )
     != ( wait_set_Suspend @ W @ T @ X1 ) ) )).

% wait_set_action.distinct(4)
thf(fact_723_surj__def,axiom,(
    ! [B: $tType,A: $tType,F4: B > A] :
      ( ( ( image2 @ B @ A @ F4 @ ( top_top @ ( set @ B ) ) )
        = ( top_top @ ( set @ A ) ) )
      = ( ! [Y5: A] :
          ? [X4: B] :
            ( Y5
            = ( F4 @ X4 ) ) ) ) )).

% surj_def
thf(fact_724_conditional__action_Opred__transfer,axiom,(
    ! [A: $tType,B: $tType,R: A > B > $o] :
      ( bNF_rel_fun @ ( A > $o ) @ ( B > $o ) @ ( ( conditional_action @ A ) > $o ) @ ( ( conditional_action @ B ) > $o )
      @ ( bNF_rel_fun @ A @ B @ $o @ $o @ R
        @ ^ [Y3: $o,Z: $o] : ( Y3 = Z ) )
      @ ( bNF_rel_fun @ ( conditional_action @ A ) @ ( conditional_action @ B ) @ $o @ $o @ ( condit4280512358590153947action @ A @ B @ R )
        @ ^ [Y3: $o,Z: $o] : ( Y3 = Z ) )
      @ ( condit606476673698705123action @ A )
      @ ( condit606476673698705123action @ B ) ) )).

% conditional_action.pred_transfer
thf(fact_725_range__eqI,axiom,(
    ! [A: $tType,B: $tType,B3: A,F4: B > A,X3: B] :
      ( ( B3
        = ( F4 @ X3 ) )
     => ( member @ A @ B3 @ ( image2 @ B @ A @ F4 @ ( top_top @ ( set @ B ) ) ) ) ) )).

% range_eqI
thf(fact_726_conditional__action_Orel__refl__strong,axiom,(
    ! [A: $tType,X3: conditional_action @ A,Ra2: A > A > $o] :
      ( ! [Z3: A] :
          ( ( member @ A @ Z3 @ ( condit2393454222984209554action @ A @ X3 ) )
         => ( Ra2 @ Z3 @ Z3 ) )
     => ( condit4280512358590153947action @ A @ A @ Ra2 @ X3 @ X3 ) ) )).

% conditional_action.rel_refl_strong
thf(fact_727_Un__UNIV__right,axiom,(
    ! [A: $tType,A6: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ A6 @ ( top_top @ ( set @ A ) ) )
      = ( top_top @ ( set @ A ) ) ) )).

% Un_UNIV_right
thf(fact_728_converse__iff,axiom,(
    ! [A: $tType,B: $tType,A3: A,B3: B,R3: set @ ( product_prod @ B @ A )] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ ( converse @ B @ A @ R3 ) )
      = ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ B3 @ A3 ) @ R3 ) ) )).

% converse_iff
thf(fact_729_conditional__action_Orel__cases,axiom,(
    ! [T: $tType,A: $tType,R: T > A > $o,A3: conditional_action @ T,B3: conditional_action @ A] :
      ( ( condit4280512358590153947action @ T @ A @ R @ A3 @ B3 )
     => ( ! [X5: T] :
            ( ( A3
              = ( conditional_Join @ T @ X5 ) )
           => ! [Y4: A] :
                ( ( B3
                  = ( conditional_Join @ A @ Y4 ) )
               => ~ ( R @ X5 @ Y4 ) ) )
       => ~ ( ( A3
              = ( conditional_Yield @ T ) )
           => ( B3
             != ( conditional_Yield @ A ) ) ) ) ) )).

% conditional_action.rel_cases
thf(fact_730_Un__UNIV__left,axiom,(
    ! [A: $tType,B6: set @ A] :
      ( ( sup_sup @ ( set @ A ) @ ( top_top @ ( set @ A ) ) @ B6 )
      = ( top_top @ ( set @ A ) ) ) )).

% Un_UNIV_left
thf(fact_731_interrupt__action_Odistinct_I1_J,axiom,(
    ! [T: $tType,X11: T,X12: $o,X2: T] :
      ( ( interr5885539089632487139rupted @ T @ X11 @ X12 )
     != ( interrupt_Interrupt @ T @ X2 ) ) )).

% interrupt_action.distinct(1)
thf(fact_732_Id__on__iff,axiom,(
    ! [A: $tType,X3: A,Y: A,A6: set @ A] :
      ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X3 @ Y ) @ ( id_on @ A @ A6 ) )
      = ( ( X3 = Y )
        & ( member @ A @ X3 @ A6 ) ) ) )).

% Id_on_iff
thf(fact_733_conditional__action_Orel__induct,axiom,(
    ! [T: $tType,A: $tType,R: T > A > $o,X3: conditional_action @ T,Y: conditional_action @ A,Q: ( conditional_action @ T ) > ( conditional_action @ A ) > $o] :
      ( ( condit4280512358590153947action @ T @ A @ R @ X3 @ Y )
     => ( ! [A13: T,B12: A] :
            ( ( R @ A13 @ B12 )
           => ( Q @ ( conditional_Join @ T @ A13 ) @ ( conditional_Join @ A @ B12 ) ) )
       => ( ( Q @ ( conditional_Yield @ T ) @ ( conditional_Yield @ A ) )
         => ( Q @ X3 @ Y ) ) ) ) )).

% conditional_action.rel_induct
thf(fact_734_Id__on__eqI,axiom,(
    ! [A: $tType,A3: A,B3: A,A6: set @ A] :
      ( ( A3 = B3 )
     => ( ( member @ A @ A3 @ A6 )
       => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ ( id_on @ A @ A6 ) ) ) ) )).

% Id_on_eqI
thf(fact_735_new__thread__action_Osize_I2_J,axiom,(
    ! [X: $tType,M: $tType,T: $tType,Xb: T > nat,Xa2: X > nat,X3: M > nat,X21: T,X22: $o] :
      ( ( new_th2129853655951111683action @ T @ X @ M @ Xb @ Xa2 @ X3 @ ( new_th4503388622997288770Exists @ T @ X @ M @ X21 @ X22 ) )
      = ( plus_plus @ nat @ ( Xb @ X21 ) @ ( suc @ ( zero_zero @ nat ) ) ) ) )).

% new_thread_action.size(2)
thf(fact_736_Id__onE,axiom,(
    ! [A: $tType,C3: product_prod @ A @ A,A6: set @ A] :
      ( ( member @ ( product_prod @ A @ A ) @ C3 @ ( id_on @ A @ A6 ) )
     => ~ ! [X5: A] :
            ( ( member @ A @ X5 @ A6 )
           => ( C3
             != ( product_Pair @ A @ A @ X5 @ X5 ) ) ) ) )).

% Id_onE
thf(fact_737_new__thread__action_Osimps_I16_J,axiom,(
    ! [X: $tType,M: $tType,T: $tType,X21: T,X22: $o] :
      ( ( new_th4037974794548711221action @ T @ X @ M @ ( new_th4503388622997288770Exists @ T @ X @ M @ X21 @ X22 ) )
      = ( insert2 @ T @ X21 @ ( bot_bot @ ( set @ T ) ) ) ) )).

% new_thread_action.simps(16)
thf(fact_738_map__prod__surj,axiom,(
    ! [A: $tType,C: $tType,D: $tType,B: $tType,F4: A > B,G4: C > D] :
      ( ( ( image2 @ A @ B @ F4 @ ( top_top @ ( set @ A ) ) )
        = ( top_top @ ( set @ B ) ) )
     => ( ( ( image2 @ C @ D @ G4 @ ( top_top @ ( set @ C ) ) )
          = ( top_top @ ( set @ D ) ) )
       => ( ( image2 @ ( product_prod @ A @ C ) @ ( product_prod @ B @ D ) @ ( product_map_prod @ A @ B @ C @ D @ F4 @ G4 ) @ ( top_top @ ( set @ ( product_prod @ A @ C ) ) ) )
          = ( top_top @ ( set @ ( product_prod @ B @ D ) ) ) ) ) ) )).

% map_prod_surj
thf(fact_739_wait__set__action_Odistinct_I1_J,axiom,(
    ! [T: $tType,W: $tType,X1: W,X2: W] :
      ( ( wait_set_Suspend @ W @ T @ X1 )
     != ( wait_set_Notify @ W @ T @ X2 ) ) )).

% wait_set_action.distinct(1)
thf(fact_740_fun_Orel__refl__strong,axiom,(
    ! [A: $tType,B: $tType,X3: B > A,Ra2: A > A > $o] :
      ( ! [Z3: A] :
          ( ( member @ A @ Z3 @ ( image2 @ B @ A @ X3 @ ( top_top @ ( set @ B ) ) ) )
         => ( Ra2 @ Z3 @ Z3 ) )
     => ( bNF_rel_fun @ B @ B @ A @ A
        @ ^ [Y3: B,Z: B] : ( Y3 = Z )
        @ Ra2
        @ X3
        @ X3 ) ) )).

% fun.rel_refl_strong
thf(fact_741_new__thread__action_Oset__cases_I2_J,axiom,(
    ! [X: $tType,T: $tType,M: $tType,E3: X,A3: new_thread_action @ T @ X @ M] :
      ( ( member @ X @ E3 @ ( new_th5315647845865256052action @ T @ X @ M @ A3 ) )
     => ~ ! [Z1: T,Z32: M] :
            ( A3
           != ( new_thread_NewThread @ T @ X @ M @ Z1 @ E3 @ Z32 ) ) ) )).

% new_thread_action.set_cases(2)
thf(fact_742_fun_Orel__mono__strong,axiom,(
    ! [A: $tType,B: $tType,D: $tType,R: A > B > $o,X3: D > A,Y: D > B,Ra2: A > B > $o] :
      ( ( bNF_rel_fun @ D @ D @ A @ B
        @ ^ [Y3: D,Z: D] : ( Y3 = Z )
        @ R
        @ X3
        @ Y )
     => ( ! [Z3: A,Yb: B] :
            ( ( member @ A @ Z3 @ ( image2 @ D @ A @ X3 @ ( top_top @ ( set @ D ) ) ) )
           => ( ( member @ B @ Yb @ ( image2 @ D @ B @ Y @ ( top_top @ ( set @ D ) ) ) )
             => ( ( R @ Z3 @ Yb )
               => ( Ra2 @ Z3 @ Yb ) ) ) )
       => ( bNF_rel_fun @ D @ D @ A @ B
          @ ^ [Y3: D,Z: D] : ( Y3 = Z )
          @ Ra2
          @ X3
          @ Y ) ) ) )).

% fun.rel_mono_strong
thf(fact_743_wait__set__action_Odistinct_I2_J,axiom,(
    ! [T: $tType,W: $tType,X2: W,X1: W] :
      ( ( wait_set_Notify @ W @ T @ X2 )
     != ( wait_set_Suspend @ W @ T @ X1 ) ) )).

% wait_set_action.distinct(2)
thf(fact_744_fun_Orel__cong,axiom,(
    ! [A: $tType,B: $tType,D: $tType,X3: D > A,Ya2: D > A,Y: D > B,Xa2: D > B,R: A > B > $o,Ra2: A > B > $o] :
      ( ( X3 = Ya2 )
     => ( ( Y = Xa2 )
       => ( ! [Z3: A,Yb: B] :
              ( ( member @ A @ Z3 @ ( image2 @ D @ A @ Ya2 @ ( top_top @ ( set @ D ) ) ) )
             => ( ( member @ B @ Yb @ ( image2 @ D @ B @ Xa2 @ ( top_top @ ( set @ D ) ) ) )
               => ( ( R @ Z3 @ Yb )
                  = ( Ra2 @ Z3 @ Yb ) ) ) )
         => ( ( bNF_rel_fun @ D @ D @ A @ B
              @ ^ [Y3: D,Z: D] : ( Y3 = Z )
              @ R
              @ X3
              @ Y )
            = ( bNF_rel_fun @ D @ D @ A @ B
              @ ^ [Y3: D,Z: D] : ( Y3 = Z )
              @ Ra2
              @ Ya2
              @ Xa2 ) ) ) ) ) )).

% fun.rel_cong
thf(fact_745_interrupt__action_Odistinct_I4_J,axiom,(
    ! [T: $tType,X32: T,X11: T,X12: $o] :
      ( ( interr7976201102587534891errupt @ T @ X32 )
     != ( interr5885539089632487139rupted @ T @ X11 @ X12 ) ) )).

% interrupt_action.distinct(4)
thf(fact_746_surj__fun__eq,axiom,(
    ! [B: $tType,C: $tType,A: $tType,F4: B > A,X8: set @ B,G1: A > C,G22: A > C] :
      ( ( ( image2 @ B @ A @ F4 @ X8 )
        = ( top_top @ ( set @ A ) ) )
     => ( ! [X5: B] :
            ( ( member @ B @ X5 @ X8 )
           => ( ( comp @ A @ C @ B @ G1 @ F4 @ X5 )
              = ( comp @ A @ C @ B @ G22 @ F4 @ X5 ) ) )
       => ( G1 = G22 ) ) ) )).

% surj_fun_eq
thf(fact_747_expand__finfun__eq,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( ^ [Y3: finfun @ A @ B,Z: finfun @ A @ B] : ( Y3 = Z ) )
      = ( ^ [F3: finfun @ A @ B,G3: finfun @ A @ B] :
            ( ( finfun_apply @ A @ B @ F3 )
            = ( finfun_apply @ A @ B @ G3 ) ) ) ) )).

% expand_finfun_eq
thf(fact_748_comp__surj,axiom,(
    ! [B: $tType,A: $tType,C: $tType,F4: B > A,G4: A > C] :
      ( ( ( image2 @ B @ A @ F4 @ ( top_top @ ( set @ B ) ) )
        = ( top_top @ ( set @ A ) ) )
     => ( ( ( image2 @ A @ C @ G4 @ ( top_top @ ( set @ A ) ) )
          = ( top_top @ ( set @ C ) ) )
       => ( ( image2 @ B @ C @ ( comp @ A @ C @ B @ G4 @ F4 ) @ ( top_top @ ( set @ B ) ) )
          = ( top_top @ ( set @ C ) ) ) ) ) )).

% comp_surj
thf(fact_749_interrupt__action_Osize_I1_J,axiom,(
    ! [T: $tType,X3: T > nat,X11: T,X12: $o] :
      ( ( interr4439281168783392195action @ T @ X3 @ ( interr5885539089632487139rupted @ T @ X11 @ X12 ) )
      = ( plus_plus @ nat @ ( X3 @ X11 ) @ ( suc @ ( zero_zero @ nat ) ) ) ) )).

% interrupt_action.size(1)
thf(fact_750_fun_Oset__map,axiom,(
    ! [B: $tType,A: $tType,D: $tType,F4: A > B,V: D > A] :
      ( ( image2 @ D @ B @ ( comp @ A @ B @ D @ F4 @ V ) @ ( top_top @ ( set @ D ) ) )
      = ( image2 @ A @ B @ F4 @ ( image2 @ D @ A @ V @ ( top_top @ ( set @ D ) ) ) ) ) )).

% fun.set_map
thf(fact_751_IdD,axiom,(
    ! [A: $tType,A3: A,B3: A] :
      ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B3 ) @ ( id2 @ A ) )
     => ( A3 = B3 ) ) )).

% IdD
thf(fact_752_prod__set__simps_I2_J,axiom,(
    ! [A: $tType,B: $tType,X3: A,Y: B] :
      ( ( basic_snds @ A @ B @ ( product_Pair @ A @ B @ X3 @ Y ) )
      = ( insert2 @ B @ Y @ ( bot_bot @ ( set @ B ) ) ) ) )).

% prod_set_simps(2)
thf(fact_753_conditional__action_Omap__transfer,axiom,(
    ! [A: $tType,B: $tType,F: $tType,E: $tType,Rb2: A > E > $o,Sd: B > F > $o] :
      ( bNF_rel_fun @ ( A > B ) @ ( E > F ) @ ( ( conditional_action @ A ) > ( conditional_action @ B ) ) @ ( ( conditional_action @ E ) > ( conditional_action @ F ) ) @ ( bNF_rel_fun @ A @ E @ B @ F @ Rb2 @ Sd ) @ ( bNF_rel_fun @ ( conditional_action @ A ) @ ( conditional_action @ E ) @ ( conditional_action @ B ) @ ( conditional_action @ F ) @ ( condit4280512358590153947action @ A @ E @ Rb2 ) @ ( condit4280512358590153947action @ B @ F @ Sd ) ) @ ( condit198635377858011928action @ A @ B ) @ ( condit198635377858011928action @ E @ F ) ) )).

% conditional_action.map_transfer
thf(fact_754_fun_Omap__cong,axiom,(
    ! [B: $tType,A: $tType,D: $tType,X3: D > A,Ya2: D > A,F4: A > B,G4: A > B] :
      ( ( X3 = Ya2 )
     => ( ! [Z3: A] :
            ( ( member @ A @ Z3 @ ( image2 @ D @ A @ Ya2 @ ( top_top @ ( set @ D ) ) ) )
           => ( ( F4 @ Z3 )
              = ( G4 @ Z3 ) ) )
       => ( ( comp @ A @ B @ D @ F4 @ X3 )
          = ( comp @ A @ B @ D @ G4 @ Ya2 ) ) ) ) )).

% fun.map_cong
thf(fact_755_new__thread__action_Oset_I6_J,axiom,(
    ! [X: $tType,T: $tType,M: $tType,X21: T,X22: $o] :
      ( ( new_th6593320897181800883action @ T @ X @ M @ ( new_th4503388622997288770Exists @ T @ X @ M @ X21 @ X22 ) )
      = ( bot_bot @ ( set @ M ) ) ) )).

% new_thread_action.set(6)
thf(fact_756_fun_Omap__cong0,axiom,(
    ! [B: $tType,A: $tType,D: $tType,X3: D > A,F4: A > B,G4: A > B] :
      ( ! [Z3: A] :
          ( ( member @ A @ Z3 @ ( image2 @ D @ A @ X3 @ ( top_top @ ( set @ D ) ) ) )
         => ( ( F4 @ Z3 )
            = ( G4 @ Z3 ) ) )
     => ( ( comp @ A @ B @ D @ F4 @ X3 )
        = ( comp @ A @ B @ D @ G4 @ X3 ) ) ) )).

% fun.map_cong0
thf(fact_757_conditional__action_Orel__transfer,axiom,(
    ! [A: $tType,B: $tType,D: $tType,C: $tType,Sa: A > C > $o,Sc: B > D > $o] :
      ( bNF_rel_fun @ ( A > B > $o ) @ ( C > D > $o ) @ ( ( conditional_action @ A ) > ( conditional_action @ B ) > $o ) @ ( ( conditional_action @ C ) > ( conditional_action @ D ) > $o )
      @ ( bNF_rel_fun @ A @ C @ ( B > $o ) @ ( D > $o ) @ Sa
        @ ( bNF_rel_fun @ B @ D @ $o @ $o @ Sc
          @ ^ [Y3: $o,Z: $o] : ( Y3 = Z ) ) )
      @ ( bNF_rel_fun @ ( conditional_action @ A ) @ ( conditional_action @ C ) @ ( ( conditional_action @ B ) > $o ) @ ( ( conditional_action @ D ) > $o ) @ ( condit4280512358590153947action @ A @ C @ Sa )
        @ ( bNF_rel_fun @ ( conditional_action @ B ) @ ( conditional_action @ D ) @ $o @ $o @ ( condit4280512358590153947action @ B @ D @ Sc )
          @ ^ [Y3: $o,Z: $o] : ( Y3 = Z ) ) )
      @ ( condit4280512358590153947action @ A @ B )
      @ ( condit4280512358590153947action @ C @ D ) ) )).

% conditional_action.rel_transfer
thf(fact_758_fun_Oinj__map__strong,axiom,(
    ! [B: $tType,A: $tType,D: $tType,X3: D > A,Xa2: D > A,F4: A > B,Fa: A > B] :
      ( ! [Z3: A,Za2: A] :
          ( ( member @ A @ Z3 @ ( image2 @ D @ A @ X3 @ ( top_top @ ( set @ D ) ) ) )
         => ( ( member @ A @ Za2 @ ( image2 @ D @ A @ Xa2 @ ( top_top @ ( set @ D ) ) ) )
           => ( ( ( F4 @ Z3 )
                = ( Fa @ Za2 ) )
             => ( Z3 = Za2 ) ) ) )
     => ( ( ( comp @ A @ B @ D @ F4 @ X3 )
          = ( comp @ A @ B @ D @ Fa @ Xa2 ) )
       => ( X3 = Xa2 ) ) ) )).

% fun.inj_map_strong
thf(fact_759_prod__set__simps_I1_J,axiom,(
    ! [B: $tType,A: $tType,X3: A,Y: B] :
      ( ( basic_fsts @ A @ B @ ( product_Pair @ A @ B @ X3 @ Y ) )
      = ( insert2 @ A @ X3 @ ( bot_bot @ ( set @ A ) ) ) ) )).

% prod_set_simps(1)
thf(fact_760_wait__set__action_Oinject_I4_J,axiom,(
    ! [W: $tType,T: $tType,X42: T,Y42: T] :
      ( ( ( wait_set_WakeUp @ T @ W @ X42 )
        = ( wait_set_WakeUp @ T @ W @ Y42 ) )
      = ( X42 = Y42 ) ) )).

% wait_set_action.inject(4)
thf(fact_761_surj__id,axiom,(
    ! [A: $tType] :
      ( ( image2 @ A @ A @ ( id @ A ) @ ( top_top @ ( set @ A ) ) )
      = ( top_top @ ( set @ A ) ) ) )).

% surj_id
thf(fact_762_new__thread__action_Oset_I5_J,axiom,(
    ! [T: $tType,X: $tType,M: $tType,X11: T,X12: X,X13: M] :
      ( ( new_th6593320897181800883action @ T @ X @ M @ ( new_thread_NewThread @ T @ X @ M @ X11 @ X12 @ X13 ) )
      = ( insert2 @ M @ X13 @ ( bot_bot @ ( set @ M ) ) ) ) )).

% new_thread_action.set(5)
thf(fact_763_eq__alt,axiom,(
    ! [A: $tType] :
      ( ( ^ [Y3: A,Z: A] : ( Y3 = Z ) )
      = ( bNF_Grp @ A @ A @ ( top_top @ ( set @ A ) ) @ ( id @ A ) ) ) )).

% eq_alt
thf(fact_764_Grp__UNIV__idI,axiom,(
    ! [A: $tType,X3: A,Y: A] :
      ( ( X3 = Y )
     => ( bNF_Grp @ A @ A @ ( top_top @ ( set @ A ) ) @ ( id @ A ) @ X3 @ Y ) ) )).

% Grp_UNIV_idI
thf(fact_765_apply__rsp_H_H,axiom,(
    ! [C: $tType,A: $tType,B: $tType,R: A > A > $o,Abs: A > B,Rep: B > A,T5: A > B > $o,S3: C > C > $o,F4: A > C,X3: B] :
      ( ( quotient @ A @ B @ R @ Abs @ Rep @ T5 )
     => ( ( bNF_rel_fun @ A @ A @ C @ C @ R @ S3 @ F4 @ F4 )
       => ( S3 @ ( F4 @ ( Rep @ X3 ) ) @ ( F4 @ ( Rep @ X3 ) ) ) ) ) )).

% apply_rsp''
thf(fact_766_image__Pow__mono,axiom,(
    ! [B: $tType,A: $tType,F4: B > A,A6: set @ B,B6: set @ A] :
      ( ( ord_less_eq @ ( set @ A ) @ ( image2 @ B @ A @ F4 @ A6 ) @ B6 )
     => ( ord_less_eq @ ( set @ ( set @ A ) ) @ ( image2 @ ( set @ B ) @ ( set @ A ) @ ( image2 @ B @ A @ F4 ) @ ( pow @ B @ A6 ) ) @ ( pow @ A @ B6 ) ) ) )).

% image_Pow_mono
thf(fact_767_conditional__action_Opred__rel,axiom,(
    ! [A: $tType] :
      ( ( condit606476673698705123action @ A )
      = ( ^ [P4: A > $o,X4: conditional_action @ A] :
            ( condit4280512358590153947action @ A @ A @ ( bNF_eq_onp @ A @ P4 ) @ X4 @ X4 ) ) ) )).

% conditional_action.pred_rel
thf(fact_768_vimage2p__Grp,axiom,(
    ! [B: $tType,D: $tType,C: $tType,A: $tType] :
      ( ( bNF_vimage2p @ A @ C @ B @ D @ $o )
      = ( ^ [F3: A > C,G3: B > D,P4: C > D > $o] :
            ( relcompp @ A @ C @ B @ ( bNF_Grp @ A @ C @ ( top_top @ ( set @ A ) ) @ F3 ) @ ( relcompp @ C @ D @ B @ P4 @ ( conversep @ B @ D @ ( bNF_Grp @ B @ D @ ( top_top @ ( set @ B ) ) @ G3 ) ) ) ) ) ) )).

% vimage2p_Grp
thf(fact_769_wait__set__action_Osimps_I3_J,axiom,(
    ! [T: $tType,W: $tType,X32: W,Y32: W] :
      ( ( ( wait_set_NotifyAll @ W @ T @ X32 )
        = ( wait_set_NotifyAll @ W @ T @ Y32 ) )
      = ( X32 = Y32 ) ) )).

% wait_set_action.simps(3)
thf(fact_770_fun_Oin__rel,axiom,(
    ! [B: $tType,A: $tType,D: $tType,R: A > B > $o,A3: D > A,B3: D > B] :
      ( ( bNF_rel_fun @ D @ D @ A @ B
        @ ^ [Y3: D,Z: D] : ( Y3 = Z )
        @ R
        @ A3
        @ B3 )
      = ( ? [Z2: D > ( product_prod @ A @ B )] :
            ( ( member @ ( D > ( product_prod @ A @ B ) ) @ Z2
              @ ( collect @ ( D > ( product_prod @ A @ B ) )
                @ ^ [X4: D > ( product_prod @ A @ B )] :
                    ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ ( image2 @ D @ ( product_prod @ A @ B ) @ X4 @ ( top_top @ ( set @ D ) ) ) @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ R ) ) ) ) )
            & ( ( comp @ ( product_prod @ A @ B ) @ A @ D @ ( product_fst @ A @ B ) @ Z2 )
              = A3 )
            & ( ( comp @ ( product_prod @ A @ B ) @ B @ D @ ( product_snd @ A @ B ) @ Z2 )
              = B3 ) ) ) ) )).

% fun.in_rel
thf(fact_771_theI_H,axiom,(
    ! [A: $tType,P: A > $o] :
      ( ? [X6: A] :
          ( ( P @ X6 )
          & ! [Y4: A] :
              ( ( P @ Y4 )
             => ( Y4 = X6 ) ) )
     => ( P @ ( the @ A @ P ) ) ) )).

% theI'
thf(fact_772_Grp__UNIV__id,axiom,(
    ! [A: $tType,F4: A > A] :
      ( ( F4
        = ( id @ A ) )
     => ( ( relcompp @ A @ A @ A @ ( conversep @ A @ A @ ( bNF_Grp @ A @ A @ ( top_top @ ( set @ A ) ) @ F4 ) ) @ ( bNF_Grp @ A @ A @ ( top_top @ ( set @ A ) ) @ F4 ) )
        = ( bNF_Grp @ A @ A @ ( top_top @ ( set @ A ) ) @ F4 ) ) ) )).

% Grp_UNIV_id
thf(fact_773_is__equality__eq,axiom,(
    ! [A: $tType] :
      ( is_equality @ A
      @ ^ [Y3: A,Z: A] : ( Y3 = Z ) ) )).

% is_equality_eq
thf(fact_774_type__copy__map__cong0,axiom,(
    ! [B: $tType,D: $tType,E: $tType,A: $tType,C: $tType,M2: B > A,G4: C > B,X3: C,N: D > A,H: C > D,F4: A > E] :
      ( ( ( M2 @ ( G4 @ X3 ) )
        = ( N @ ( H @ X3 ) ) )
     => ( ( comp @ B @ E @ C @ ( comp @ A @ E @ B @ F4 @ M2 ) @ G4 @ X3 )
        = ( comp @ D @ E @ C @ ( comp @ A @ E @ D @ F4 @ N ) @ H @ X3 ) ) ) )).

% type_copy_map_cong0
thf(fact_775_wait__set__action_Oinject_I2_J,axiom,(
    ! [T: $tType,W: $tType,X2: W,Y2: W] :
      ( ( ( wait_set_Notify @ W @ T @ X2 )
        = ( wait_set_Notify @ W @ T @ Y2 ) )
      = ( X2 = Y2 ) ) )).

% wait_set_action.inject(2)
thf(fact_776_type__copy__Rep__o__Abs,axiom,(
    ! [A: $tType,B: $tType,Rep: A > B,Abs: B > A] :
      ( ( type_definition @ A @ B @ Rep @ Abs @ ( top_top @ ( set @ B ) ) )
     => ( ( comp @ A @ B @ B @ Rep @ Abs )
        = ( id @ B ) ) ) )).

% type_copy_Rep_o_Abs
thf(fact_777_conditional__action_Oset__map,axiom,(
    ! [B: $tType,A: $tType,F4: A > B,V: conditional_action @ A] :
      ( ( condit2393454222984209554action @ B @ ( condit198635377858011928action @ A @ B @ F4 @ V ) )
      = ( image2 @ A @ B @ F4 @ ( condit2393454222984209554action @ A @ V ) ) ) )).

% conditional_action.set_map
thf(fact_778_DiffI,axiom,(
    ! [A: $tType,C3: A,A6: set @ A,B6: set @ A] :
      ( ( member @ A @ C3 @ A6 )
     => ( ~ ( member @ A @ C3 @ B6 )
       => ( member @ A @ C3 @ ( minus_minus @ ( set @ A ) @ A6 @ B6 ) ) ) ) )).

% DiffI
thf(fact_779_finfun__apply,axiom,(
    ! [B: $tType,A: $tType,X3: finfun @ A @ B] :
      ( member @ ( A > B ) @ ( finfun_apply @ A @ B @ X3 ) @ ( finfun2 @ A @ B ) ) )).

% finfun_apply
thf(fact_780_split__part,axiom,(
    ! [B: $tType,A: $tType,P: $o,Q: A > B > $o] :
      ( ( product_case_prod @ A @ B @ $o
        @ ^ [A5: A,B5: B] :
            ( P
            & ( Q @ A5 @ B5 ) ) )
      = ( ^ [Ab2: product_prod @ A @ B] :
            ( P
            & ( product_case_prod @ A @ B @ $o @ Q @ Ab2 ) ) ) ) )).

% split_part
thf(fact_781_DiffE,axiom,(
    ! [A: $tType,C3: A,A6: set @ A,B6: set @ A] :
      ( ( member @ A @ C3 @ ( minus_minus @ ( set @ A ) @ A6 @ B6 ) )
     => ~ ( ( member @ A @ C3 @ A6 )
         => ( member @ A @ C3 @ B6 ) ) ) )).

% DiffE
thf(fact_782_rtranclp__False,axiom,(
    ! [A: $tType] :
      ( ( transitive_rtranclp @ A
        @ ^ [A5: A,B5: A] : $false )
      = ( ^ [Y3: A,Z: A] : ( Y3 = Z ) ) ) )).

% rtranclp_False
thf(fact_783_relcompE,axiom,(
    ! [A: $tType,B: $tType,C: $tType,Xz: product_prod @ A @ B,R3: set @ ( product_prod @ A @ C ),S: set @ ( product_prod @ C @ B )] :
      ( ( member @ ( product_prod @ A @ B ) @ Xz @ ( relcomp @ A @ C @ B @ R3 @ S ) )
     => ~ ! [X5: A,Y4: C,Z3: B] :
            ( ( Xz
              = ( product_Pair @ A @ B @ X5 @ Z3 ) )
           => ( ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ X5 @ Y4 ) @ R3 )
             => ~ ( member @ ( product_prod @ C @ B ) @ ( product_Pair @ C @ B @ Y4 @ Z3 ) @ S ) ) ) ) )).

% relcompE
thf(fact_784_interrupt__action_Oinduct,axiom,(
    ! [T: $tType,P: ( interrupt_action @ T ) > $o,Interrupt_action: interrupt_action @ T] :
      ( ! [X14: T,X2a2: $o] :
          ( P @ ( interr5885539089632487139rupted @ T @ X14 @ X2a2 ) )
     => ( ! [X5: T] :
            ( P @ ( interrupt_Interrupt @ T @ X5 ) )
       => ( ! [X5: T] :
              ( P @ ( interr7976201102587534891errupt @ T @ X5 ) )
         => ( P @ Interrupt_action ) ) ) ) )).

% interrupt_action.induct
thf(fact_785_map__prod__ident,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( product_map_prod @ A @ A @ B @ B
        @ ^ [X4: A] : X4
        @ ^ [Y5: B] : Y5 )
      = ( ^ [Z2: product_prod @ A @ B] : Z2 ) ) )).

% map_prod_ident
thf(fact_786_interrupt__action_Opred__set,axiom,(
    ! [A: $tType] :
      ( ( interr8158014761281175971action @ A )
      = ( ^ [P4: A > $o,X4: interrupt_action @ A] :
          ! [Y5: A] :
            ( ( member @ A @ Y5 @ ( interr3053324309844243148action @ A @ X4 ) )
           => ( P4 @ Y5 ) ) ) ) )).

% interrupt_action.pred_set
thf(fact_787_relcomp_OrelcompI,axiom,(
    ! [A: $tType,C: $tType,B: $tType,A3: A,B3: B,R3: set @ ( product_prod @ A @ B ),C3: C,S: set @ ( product_prod @ B @ C )] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ R3 )
     => ( ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ B3 @ C3 ) @ S )
       => ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ A3 @ C3 ) @ ( relcomp @ A @ B @ C @ R3 @ S ) ) ) ) )).

% relcomp.relcompI
thf(fact_788_interrupt__action_Oexhaust,axiom,(
    ! [T: $tType,Y: interrupt_action @ T] :
      ( ! [X112: T,X122: $o] :
          ( Y
         != ( interr5885539089632487139rupted @ T @ X112 @ X122 ) )
     => ( ! [X23: T] :
            ( Y
           != ( interrupt_Interrupt @ T @ X23 ) )
       => ~ ! [X33: T] :
              ( Y
             != ( interr7976201102587534891errupt @ T @ X33 ) ) ) ) )).

% interrupt_action.exhaust
thf(fact_789_wait__set__action_Osimps_I1_J,axiom,(
    ! [T: $tType,W: $tType,X1: W,Y1: W] :
      ( ( ( wait_set_Suspend @ W @ T @ X1 )
        = ( wait_set_Suspend @ W @ T @ Y1 ) )
      = ( X1 = Y1 ) ) )).

% wait_set_action.simps(1)
thf(fact_790_new__thread__action_Orel__refl,axiom,(
    ! [F: $tType,E: $tType,D: $tType,R1a: D > D > $o,R2a: E > E > $o,R3a: F > F > $o,X3: new_thread_action @ D @ E @ F] :
      ( ! [X5: D] :
          ( R1a @ X5 @ X5 )
     => ( ! [X5: E] :
            ( R2a @ X5 @ X5 )
       => ( ! [X5: F] :
              ( R3a @ X5 @ X5 )
         => ( new_th911009063021768419action @ D @ D @ E @ E @ F @ F @ R1a @ R2a @ R3a @ X3 @ X3 ) ) ) ) )).

% new_thread_action.rel_refl
thf(fact_791_case__swap,axiom,(
    ! [A: $tType,B: $tType,C: $tType,F4: C > B > A,P2: product_prod @ C @ B] :
      ( ( product_case_prod @ B @ C @ A
        @ ^ [Y5: B,X4: C] :
            ( F4 @ X4 @ Y5 )
        @ ( product_swap @ C @ B @ P2 ) )
      = ( product_case_prod @ C @ B @ A @ F4 @ P2 ) ) )).

% case_swap
thf(fact_792_inj__onI,axiom,(
    ! [B: $tType,A: $tType,A6: set @ A,F4: A > B] :
      ( ! [X5: A,Y4: A] :
          ( ( member @ A @ X5 @ A6 )
         => ( ( member @ A @ Y4 @ A6 )
           => ( ( ( F4 @ X5 )
                = ( F4 @ Y4 ) )
             => ( X5 = Y4 ) ) ) )
     => ( inj_on @ A @ B @ F4 @ A6 ) ) )).

% inj_onI
thf(fact_793_Abs__finfun__inverse,axiom,(
    ! [B: $tType,A: $tType,Y: A > B] :
      ( ( member @ ( A > B ) @ Y @ ( finfun2 @ A @ B ) )
     => ( ( finfun_apply @ A @ B @ ( abs_finfun @ A @ B @ Y ) )
        = Y ) ) )).

% Abs_finfun_inverse
thf(fact_794_wait__set__action_Omap__ident,axiom,(
    ! [B: $tType,A: $tType,T4: wait_set_action @ A @ B] :
      ( ( wait_s8865918783579551590action @ A @ A @ B @ B
        @ ^ [X4: A] : X4
        @ ^ [X4: B] : X4
        @ T4 )
      = T4 ) )).

% wait_set_action.map_ident
thf(fact_795_new__thread__action_Oright__unique__rel,axiom,(
    ! [B: $tType,E: $tType,D: $tType,A: $tType,F: $tType,C: $tType,R1: A > D > $o,R22: B > E > $o,R32: C > F > $o] :
      ( ( right_unique @ A @ D @ R1 )
     => ( ( right_unique @ B @ E @ R22 )
       => ( ( right_unique @ C @ F @ R32 )
         => ( right_unique @ ( new_thread_action @ A @ B @ C ) @ ( new_thread_action @ D @ E @ F ) @ ( new_th911009063021768419action @ A @ D @ B @ E @ C @ F @ R1 @ R22 @ R32 ) ) ) ) ) )).

% new_thread_action.right_unique_rel
thf(fact_796_case__prod__map__prod,axiom,(
    ! [C: $tType,A: $tType,B: $tType,E: $tType,D: $tType,H: B > C > A,F4: D > B,G4: E > C,X3: product_prod @ D @ E] :
      ( ( product_case_prod @ B @ C @ A @ H @ ( product_map_prod @ D @ B @ E @ C @ F4 @ G4 @ X3 ) )
      = ( product_case_prod @ D @ E @ A
        @ ^ [L3: D,R4: E] :
            ( H @ ( F4 @ L3 ) @ ( G4 @ R4 ) )
        @ X3 ) ) )).

% case_prod_map_prod
thf(fact_797_list_Oset_I1_J,axiom,(
    ! [A: $tType] :
      ( ( set2 @ A @ ( nil @ A ) )
      = ( bot_bot @ ( set @ A ) ) ) )).

% list.set(1)
thf(fact_798_Id__on__def_H,axiom,(
    ! [A: $tType,A6: A > $o] :
      ( ( id_on @ A @ ( collect @ A @ A6 ) )
      = ( collect @ ( product_prod @ A @ A )
        @ ( product_case_prod @ A @ A @ $o
          @ ^ [X4: A,Y5: A] :
              ( ( X4 = Y5 )
              & ( A6 @ X4 ) ) ) ) ) )).

% Id_on_def'
thf(fact_799_new__thread__action_Oset__intros_I2_J,axiom,(
    ! [T: $tType,M: $tType,X: $tType,X21: T,X22: $o] :
      ( member @ T @ X21 @ ( new_th4037974794548711221action @ T @ X @ M @ ( new_th4503388622997288770Exists @ T @ X @ M @ X21 @ X22 ) ) ) )).

% new_thread_action.set_intros(2)
thf(fact_800_inj__on__convol__ident,axiom,(
    ! [B: $tType,A: $tType,F4: A > B,X8: set @ A] :
      ( inj_on @ A @ ( product_prod @ A @ B )
      @ ^ [X4: A] :
          ( product_Pair @ A @ B @ X4 @ ( F4 @ X4 ) )
      @ X8 ) )).

% inj_on_convol_ident
thf(fact_801_inf_Ocobounded1,axiom,(
    ! [A: $tType] :
      ( ( semilattice_inf @ A )
     => ! [A3: A,B3: A] :
          ( ord_less_eq @ A @ ( inf_inf @ A @ A3 @ B3 ) @ A3 ) ) )).

% inf.cobounded1
thf(fact_802_conditional__action_Octr__transfer_I1_J,axiom,(
    ! [T: $tType,A: $tType,R: T > A > $o] :
      ( bNF_rel_fun @ T @ A @ ( conditional_action @ T ) @ ( conditional_action @ A ) @ R @ ( condit4280512358590153947action @ T @ A @ R ) @ ( conditional_Join @ T ) @ ( conditional_Join @ A ) ) )).

% conditional_action.ctr_transfer(1)
thf(fact_803_new__thread__action_Omap__id,axiom,(
    ! [C: $tType,B: $tType,A: $tType,T4: new_thread_action @ A @ B @ C] :
      ( ( new_th6052504119144402208action @ A @ A @ B @ B @ C @ C @ ( id @ A ) @ ( id @ B ) @ ( id @ C ) @ T4 )
      = T4 ) )).

% new_thread_action.map_id
thf(fact_804_not__None__eq,axiom,(
    ! [A: $tType,X3: option @ A] :
      ( ( X3
       != ( none @ A ) )
      = ( ? [Y5: A] :
            ( X3
            = ( some @ A @ Y5 ) ) ) ) )).

% not_None_eq
thf(fact_805_prod_Odisc__eq__case,axiom,(
    ! [B: $tType,A: $tType,Prod: product_prod @ A @ B] :
      ( product_case_prod @ A @ B @ $o
      @ ^ [Uu: A,Uv: B] : $true
      @ Prod ) )).

% prod.disc_eq_case
thf(fact_806_new__thread__action_Orel__reflp,axiom,(
    ! [B: $tType,A: $tType,C: $tType,R1: A > A > $o,R22: B > B > $o,R32: C > C > $o] :
      ( ( reflp @ A @ R1 )
     => ( ( reflp @ B @ R22 )
       => ( ( reflp @ C @ R32 )
         => ( reflp @ ( new_thread_action @ A @ B @ C ) @ ( new_th911009063021768419action @ A @ A @ B @ B @ C @ C @ R1 @ R22 @ R32 ) ) ) ) ) )).

% new_thread_action.rel_reflp
thf(fact_807_prod_Ocase__distrib,axiom,(
    ! [C: $tType,D: $tType,B: $tType,A: $tType,H: C > D,F4: A > B > C,Prod: product_prod @ A @ B] :
      ( ( H @ ( product_case_prod @ A @ B @ C @ F4 @ Prod ) )
      = ( product_case_prod @ A @ B @ D
        @ ^ [X15: A,X24: B] :
            ( H @ ( F4 @ X15 @ X24 ) )
        @ Prod ) ) )).

% prod.case_distrib
thf(fact_808_new__thread__action_Orel__symp,axiom,(
    ! [B: $tType,A: $tType,C: $tType,R1: A > A > $o,R22: B > B > $o,R32: C > C > $o] :
      ( ( symp @ A @ R1 )
     => ( ( symp @ B @ R22 )
       => ( ( symp @ C @ R32 )
         => ( symp @ ( new_thread_action @ A @ B @ C ) @ ( new_th911009063021768419action @ A @ A @ B @ B @ C @ C @ R1 @ R22 @ R32 ) ) ) ) ) )).

% new_thread_action.rel_symp
thf(fact_809_conditional__action_Orel__distinct_I1_J,axiom,(
    ! [T: $tType,A: $tType,R: T > A > $o,X1: T] :
      ~ ( condit4280512358590153947action @ T @ A @ R @ ( conditional_Join @ T @ X1 ) @ ( conditional_Yield @ A ) ) )).

% conditional_action.rel_distinct(1)
thf(fact_810_interrupt__action_Osimps_I30_J,axiom,(
    ! [T: $tType,X32: T] :
      ( ( interr3053324309844243148action @ T @ ( interr7976201102587534891errupt @ T @ X32 ) )
      = ( insert2 @ T @ X32 @ ( bot_bot @ ( set @ T ) ) ) ) )).

% interrupt_action.simps(30)
thf(fact_811_Sup_OSUP__identity__eq,axiom,(
    ! [A: $tType,Sup: ( set @ A ) > A,A6: set @ A] :
      ( ( Sup
        @ ( image2 @ A @ A
          @ ^ [X4: A] : X4
          @ A6 ) )
      = ( Sup @ A6 ) ) )).

% Sup.SUP_identity_eq
thf(fact_812_new__thread__action_Orel__transp,axiom,(
    ! [B: $tType,A: $tType,C: $tType,R1: A > A > $o,R22: B > B > $o,R32: C > C > $o] :
      ( ( transp @ A @ R1 )
     => ( ( transp @ B @ R22 )
       => ( ( transp @ C @ R32 )
         => ( transp @ ( new_thread_action @ A @ B @ C ) @ ( new_th911009063021768419action @ A @ A @ B @ B @ C @ C @ R1 @ R22 @ R32 ) ) ) ) ) )).

% new_thread_action.rel_transp
thf(fact_813_Inf_OINF__identity__eq,axiom,(
    ! [A: $tType,Inf: ( set @ A ) > A,A6: set @ A] :
      ( ( Inf
        @ ( image2 @ A @ A
          @ ^ [X4: A] : X4
          @ A6 ) )
      = ( Inf @ A6 ) ) )).

% Inf.INF_identity_eq
thf(fact_814_conditional__action_Orel__distinct_I2_J,axiom,(
    ! [A: $tType,B: $tType,R: A > B > $o,X1: B] :
      ~ ( condit4280512358590153947action @ A @ B @ R @ ( conditional_Yield @ A ) @ ( conditional_Join @ B @ X1 ) ) )).

% conditional_action.rel_distinct(2)
thf(fact_815_range__composition,axiom,(
    ! [A: $tType,C: $tType,B: $tType,F4: C > A,G4: B > C] :
      ( ( image2 @ B @ A
        @ ^ [X4: B] :
            ( F4 @ ( G4 @ X4 ) )
        @ ( top_top @ ( set @ B ) ) )
      = ( image2 @ C @ A @ F4 @ ( image2 @ B @ C @ G4 @ ( top_top @ ( set @ B ) ) ) ) ) )).

% range_composition
thf(fact_816_bi__total__eq,axiom,(
    ! [A: $tType] :
      ( bi_total @ A @ A
      @ ^ [Y3: A,Z: A] : ( Y3 = Z ) ) )).

% bi_total_eq
thf(fact_817_Compr__image__eq,axiom,(
    ! [A: $tType,B: $tType,F4: B > A,A6: set @ B,P: A > $o] :
      ( ( collect @ A
        @ ^ [X4: A] :
            ( ( member @ A @ X4 @ ( image2 @ B @ A @ F4 @ A6 ) )
            & ( P @ X4 ) ) )
      = ( image2 @ B @ A @ F4
        @ ( collect @ B
          @ ^ [X4: B] :
              ( ( member @ B @ X4 @ A6 )
              & ( P @ ( F4 @ X4 ) ) ) ) ) ) )).

% Compr_image_eq
thf(fact_818_conditional__action_Orel__map_I1_J,axiom,(
    ! [A: $tType,C: $tType,B: $tType,Sb: C > B > $o,I2: A > C,X3: conditional_action @ A,Y: conditional_action @ B] :
      ( ( condit4280512358590153947action @ C @ B @ Sb @ ( condit198635377858011928action @ A @ C @ I2 @ X3 ) @ Y )
      = ( condit4280512358590153947action @ A @ B
        @ ^ [X4: A] :
            ( Sb @ ( I2 @ X4 ) )
        @ X3
        @ Y ) ) )).

% conditional_action.rel_map(1)
thf(fact_819_new__thread__action_Osimps_I11_J,axiom,(
    ! [A: $tType,T: $tType,B: $tType,X: $tType,M: $tType,C: $tType,R1: T > A > $o,R22: X > B > $o,R32: M > C > $o,X11: T,X12: X,X13: M,Y11: A,Y12: B,Y13: C] :
      ( ( new_th911009063021768419action @ T @ A @ X @ B @ M @ C @ R1 @ R22 @ R32 @ ( new_thread_NewThread @ T @ X @ M @ X11 @ X12 @ X13 ) @ ( new_thread_NewThread @ A @ B @ C @ Y11 @ Y12 @ Y13 ) )
      = ( ( R1 @ X11 @ Y11 )
        & ( R22 @ X12 @ Y12 )
        & ( R32 @ X13 @ Y13 ) ) ) )).

% new_thread_action.simps(11)
thf(fact_820_rangeE,axiom,(
    ! [A: $tType,B: $tType,B3: A,F4: B > A] :
      ( ( member @ A @ B3 @ ( image2 @ B @ A @ F4 @ ( top_top @ ( set @ B ) ) ) )
     => ~ ! [X5: B] :
            ( B3
           != ( F4 @ X5 ) ) ) )).

% rangeE
thf(fact_821_conditional__action_Orel__map_I2_J,axiom,(
    ! [A: $tType,C: $tType,B: $tType,Sa: A > C > $o,X3: conditional_action @ A,G4: B > C,Y: conditional_action @ B] :
      ( ( condit4280512358590153947action @ A @ C @ Sa @ X3 @ ( condit198635377858011928action @ B @ C @ G4 @ Y ) )
      = ( condit4280512358590153947action @ A @ B
        @ ^ [X4: A,Y5: B] :
            ( Sa @ X4 @ ( G4 @ Y5 ) )
        @ X3
        @ Y ) ) )).

% conditional_action.rel_map(2)
thf(fact_822_new__thread__action_Omap__cong__pred,axiom,(
    ! [F: $tType,D: $tType,E: $tType,C: $tType,B: $tType,A: $tType,X3: new_thread_action @ A @ B @ C,Ya2: new_thread_action @ A @ B @ C,F1: A > D,G1: A > D,F22: B > E,G22: B > E,F32: C > F,G32: C > F] :
      ( ( X3 = Ya2 )
     => ( ( new_th3963266298022529507action @ A @ B @ C
          @ ^ [Z12: A] :
              ( ( F1 @ Z12 )
              = ( G1 @ Z12 ) )
          @ ^ [Z23: B] :
              ( ( F22 @ Z23 )
              = ( G22 @ Z23 ) )
          @ ^ [Z33: C] :
              ( ( F32 @ Z33 )
              = ( G32 @ Z33 ) )
          @ Ya2 )
       => ( ( new_th6052504119144402208action @ A @ D @ B @ E @ C @ F @ F1 @ F22 @ F32 @ X3 )
          = ( new_th6052504119144402208action @ A @ D @ B @ E @ C @ F @ G1 @ G22 @ G32 @ Ya2 ) ) ) ) )).

% new_thread_action.map_cong_pred
thf(fact_823_new__thread__action_Obi__unique__rel,axiom,(
    ! [B: $tType,E: $tType,D: $tType,A: $tType,F: $tType,C: $tType,R1: A > D > $o,R22: B > E > $o,R32: C > F > $o] :
      ( ( bi_unique @ A @ D @ R1 )
     => ( ( bi_unique @ B @ E @ R22 )
       => ( ( bi_unique @ C @ F @ R32 )
         => ( bi_unique @ ( new_thread_action @ A @ B @ C ) @ ( new_thread_action @ D @ E @ F ) @ ( new_th911009063021768419action @ A @ D @ B @ E @ C @ F @ R1 @ R22 @ R32 ) ) ) ) ) )).

% new_thread_action.bi_unique_rel
thf(fact_824_conditional__action_Oset__transfer,axiom,(
    ! [A: $tType,B: $tType,R: A > B > $o] :
      ( bNF_rel_fun @ ( conditional_action @ A ) @ ( conditional_action @ B ) @ ( set @ A ) @ ( set @ B ) @ ( condit4280512358590153947action @ A @ B @ R ) @ ( bNF_rel_set @ A @ B @ R ) @ ( condit2393454222984209554action @ A ) @ ( condit2393454222984209554action @ B ) ) )).

% conditional_action.set_transfer
thf(fact_825_comp__fun__commute_Ocomp__comp__fun__commute,axiom,(
    ! [B: $tType,A: $tType,C: $tType,F4: A > B > B,G4: C > A] :
      ( ( finite6289374366891150609ommute @ A @ B @ F4 )
     => ( finite6289374366891150609ommute @ C @ B @ ( comp @ A @ ( B > B ) @ C @ F4 @ G4 ) ) ) )).

% comp_fun_commute.comp_comp_fun_commute
thf(fact_826_comp__fun__commute_Ocommute__left__comp,axiom,(
    ! [A: $tType,B: $tType,C: $tType,F4: A > B > B,Y: A,X3: A,G4: C > B] :
      ( ( finite6289374366891150609ommute @ A @ B @ F4 )
     => ( ( comp @ B @ B @ C @ ( F4 @ Y ) @ ( comp @ B @ B @ C @ ( F4 @ X3 ) @ G4 ) )
        = ( comp @ B @ B @ C @ ( F4 @ X3 ) @ ( comp @ B @ B @ C @ ( F4 @ Y ) @ G4 ) ) ) ) )).

% comp_fun_commute.commute_left_comp
thf(fact_827_interrupt__action_Oset__intros_I2_J,axiom,(
    ! [T: $tType,X2: T] :
      ( member @ T @ X2 @ ( interr3053324309844243148action @ T @ ( interrupt_Interrupt @ T @ X2 ) ) ) )).

% interrupt_action.set_intros(2)
thf(fact_828_interrupt__action_Oset__intros_I3_J,axiom,(
    ! [T: $tType,X32: T] :
      ( member @ T @ X32 @ ( interr3053324309844243148action @ T @ ( interr7976201102587534891errupt @ T @ X32 ) ) ) )).

% interrupt_action.set_intros(3)
thf(fact_829_new__thread__action_Obi__total__rel,axiom,(
    ! [B: $tType,E: $tType,D: $tType,A: $tType,F: $tType,C: $tType,R1: A > D > $o,R22: B > E > $o,R32: C > F > $o] :
      ( ( bi_total @ A @ D @ R1 )
     => ( ( bi_total @ B @ E @ R22 )
       => ( ( bi_total @ C @ F @ R32 )
         => ( bi_total @ ( new_thread_action @ A @ B @ C ) @ ( new_thread_action @ D @ E @ F ) @ ( new_th911009063021768419action @ A @ D @ B @ E @ C @ F @ R1 @ R22 @ R32 ) ) ) ) ) )).

% new_thread_action.bi_total_rel
thf(fact_830_case__prod__app,axiom,(
    ! [A: $tType,D: $tType,C: $tType,B: $tType] :
      ( ( product_case_prod @ B @ C @ ( D > A ) )
      = ( ^ [F3: B > C > D > A,X4: product_prod @ B @ C,Y5: D] :
            ( product_case_prod @ B @ C @ A
            @ ^ [L3: B,R4: C] :
                ( F3 @ L3 @ R4 @ Y5 )
            @ X4 ) ) ) )).

% case_prod_app
thf(fact_831_transfer__start,axiom,(
    ! [P: $o] :
      ( P
     => ~ ( rel @ $o @ $o
          @ ^ [Y3: $o,Z: $o] : ( Y3 = Z )
          @ P
          @ $false ) ) )).

% transfer_start
thf(fact_832_image__Collect__subsetI,axiom,(
    ! [A: $tType,B: $tType,P: A > $o,F4: A > B,B6: set @ B] :
      ( ! [X5: A] :
          ( ( P @ X5 )
         => ( member @ B @ ( F4 @ X5 ) @ B6 ) )
     => ( ord_less_eq @ ( set @ B ) @ ( image2 @ A @ B @ F4 @ ( collect @ A @ P ) ) @ B6 ) ) )).

% image_Collect_subsetI
thf(fact_833_interrupt__action_Obi__unique__rel,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( bi_unique @ A @ B @ R )
     => ( bi_unique @ ( interrupt_action @ A ) @ ( interrupt_action @ B ) @ ( interr1799892525631285141action @ A @ B @ R ) ) ) )).

% interrupt_action.bi_unique_rel
thf(fact_834_type__copy__wit,axiom,(
    ! [A: $tType,C: $tType,B: $tType,Rep: A > B,Abs: B > A,X3: C,S3: B > ( set @ C ),Y: B] :
      ( ( type_definition @ A @ B @ Rep @ Abs @ ( top_top @ ( set @ B ) ) )
     => ( ( member @ C @ X3 @ ( comp @ B @ ( set @ C ) @ A @ S3 @ Rep @ ( Abs @ Y ) ) )
       => ( member @ C @ X3 @ ( S3 @ Y ) ) ) ) )).

% type_copy_wit
thf(fact_835_add_Oright__neutral,axiom,(
    ! [A: $tType] :
      ( ( monoid_add @ A )
     => ! [A3: A] :
          ( ( plus_plus @ A @ A3 @ ( zero_zero @ A ) )
          = A3 ) ) )).

% add.right_neutral
thf(fact_836_subset__CollectI,axiom,(
    ! [A: $tType,B6: set @ A,A6: set @ A,Q: A > $o,P: A > $o] :
      ( ( ord_less_eq @ ( set @ A ) @ B6 @ A6 )
     => ( ! [X5: A] :
            ( ( member @ A @ X5 @ B6 )
           => ( ( Q @ X5 )
             => ( P @ X5 ) ) )
       => ( ord_less_eq @ ( set @ A )
          @ ( collect @ A
            @ ^ [X4: A] :
                ( ( member @ A @ X4 @ B6 )
                & ( Q @ X4 ) ) )
          @ ( collect @ A
            @ ^ [X4: A] :
                ( ( member @ A @ X4 @ A6 )
                & ( P @ X4 ) ) ) ) ) ) )).

% subset_CollectI
thf(fact_837_neq0__conv,axiom,(
    ! [N3: nat] :
      ( ( N3
       != ( zero_zero @ nat ) )
      = ( ord_less @ nat @ ( zero_zero @ nat ) @ N3 ) ) )).

% neq0_conv
thf(fact_838_subset__Collect__iff,axiom,(
    ! [A: $tType,B6: set @ A,A6: set @ A,P: A > $o] :
      ( ( ord_less_eq @ ( set @ A ) @ B6 @ A6 )
     => ( ( ord_less_eq @ ( set @ A ) @ B6
          @ ( collect @ A
            @ ^ [X4: A] :
                ( ( member @ A @ X4 @ A6 )
                & ( P @ X4 ) ) ) )
        = ( ! [X4: A] :
              ( ( member @ A @ X4 @ B6 )
             => ( P @ X4 ) ) ) ) ) )).

% subset_Collect_iff
thf(fact_839_interrupt__action_Orel__transp,axiom,(
    ! [A: $tType,R: A > A > $o] :
      ( ( transp @ A @ R )
     => ( transp @ ( interrupt_action @ A ) @ ( interr1799892525631285141action @ A @ A @ R ) ) ) )).

% interrupt_action.rel_transp
thf(fact_840_prop__restrict,axiom,(
    ! [A: $tType,X3: A,Z6: set @ A,X8: set @ A,P: A > $o] :
      ( ( member @ A @ X3 @ Z6 )
     => ( ( ord_less_eq @ ( set @ A ) @ Z6
          @ ( collect @ A
            @ ^ [X4: A] :
                ( ( member @ A @ X4 @ X8 )
                & ( P @ X4 ) ) ) )
       => ( P @ X3 ) ) ) )).

% prop_restrict
thf(fact_841_interrupt__action_Omap__id,axiom,(
    ! [A: $tType,T4: interrupt_action @ A] :
      ( ( interr6514223866936857682action @ A @ A @ ( id @ A ) @ T4 )
      = T4 ) )).

% interrupt_action.map_id
thf(fact_842_Collect__restrict,axiom,(
    ! [A: $tType,X8: set @ A,P: A > $o] :
      ( ord_less_eq @ ( set @ A )
      @ ( collect @ A
        @ ^ [X4: A] :
            ( ( member @ A @ X4 @ X8 )
            & ( P @ X4 ) ) )
      @ X8 ) )).

% Collect_restrict
thf(fact_843_new__thread__action_Oset__cases_I1_J,axiom,(
    ! [T: $tType,M: $tType,X: $tType,E3: T,A3: new_thread_action @ T @ X @ M] :
      ( ( member @ T @ E3 @ ( new_th4037974794548711221action @ T @ X @ M @ A3 ) )
     => ( ! [Z22: X,Z32: M] :
            ( A3
           != ( new_thread_NewThread @ T @ X @ M @ E3 @ Z22 @ Z32 ) )
       => ~ ! [Z22: $o] :
              ( A3
             != ( new_th4503388622997288770Exists @ T @ X @ M @ E3 @ Z22 ) ) ) ) )).

% new_thread_action.set_cases(1)
thf(fact_844_interrupt__action_Obi__total__rel,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( bi_total @ A @ B @ R )
     => ( bi_total @ ( interrupt_action @ A ) @ ( interrupt_action @ B ) @ ( interr1799892525631285141action @ A @ B @ R ) ) ) )).

% interrupt_action.bi_total_rel
thf(fact_845_comp__fun__commute_Ofold__set__union__disj,axiom,(
    ! [B: $tType,A: $tType,F4: A > B > B,A6: set @ A,B6: set @ A,Z4: B] :
      ( ( finite6289374366891150609ommute @ A @ B @ F4 )
     => ( ( finite_finite @ A @ A6 )
       => ( ( finite_finite @ A @ B6 )
         => ( ( ( inf_inf @ ( set @ A ) @ A6 @ B6 )
              = ( bot_bot @ ( set @ A ) ) )
           => ( ( finite_fold @ A @ B @ F4 @ Z4 @ ( sup_sup @ ( set @ A ) @ A6 @ B6 ) )
              = ( finite_fold @ A @ B @ F4 @ ( finite_fold @ A @ B @ F4 @ Z4 @ A6 ) @ B6 ) ) ) ) ) ) )).

% comp_fun_commute.fold_set_union_disj
thf(fact_846_new__thread__action_Oleft__total__rel,axiom,(
    ! [B: $tType,E: $tType,D: $tType,A: $tType,F: $tType,C: $tType,R1: A > D > $o,R22: B > E > $o,R32: C > F > $o] :
      ( ( left_total @ A @ D @ R1 )
     => ( ( left_total @ B @ E @ R22 )
       => ( ( left_total @ C @ F @ R32 )
         => ( left_total @ ( new_thread_action @ A @ B @ C ) @ ( new_thread_action @ D @ E @ F ) @ ( new_th911009063021768419action @ A @ D @ B @ E @ C @ F @ R1 @ R22 @ R32 ) ) ) ) ) )).

% new_thread_action.left_total_rel
thf(fact_847_fun_Omap__ident,axiom,(
    ! [A: $tType,D: $tType,T4: D > A] :
      ( ( comp @ A @ A @ D
        @ ^ [X4: A] : X4
        @ T4 )
      = T4 ) )).

% fun.map_ident
thf(fact_848_new__thread__action_Oleft__unique__rel,axiom,(
    ! [B: $tType,E: $tType,D: $tType,A: $tType,F: $tType,C: $tType,R1: A > D > $o,R22: B > E > $o,R32: C > F > $o] :
      ( ( left_unique @ A @ D @ R1 )
     => ( ( left_unique @ B @ E @ R22 )
       => ( ( left_unique @ C @ F @ R32 )
         => ( left_unique @ ( new_thread_action @ A @ B @ C ) @ ( new_thread_action @ D @ E @ F ) @ ( new_th911009063021768419action @ A @ D @ B @ E @ C @ F @ R1 @ R22 @ R32 ) ) ) ) ) )).

% new_thread_action.left_unique_rel
thf(fact_849_fun_Orel__map_I1_J,axiom,(
    ! [A: $tType,C: $tType,B: $tType,D: $tType,Sb: C > B > $o,I2: A > C,X3: D > A,Y: D > B] :
      ( ( bNF_rel_fun @ D @ D @ C @ B
        @ ^ [Y3: D,Z: D] : ( Y3 = Z )
        @ Sb
        @ ( comp @ A @ C @ D @ I2 @ X3 )
        @ Y )
      = ( bNF_rel_fun @ D @ D @ A @ B
        @ ^ [Y3: D,Z: D] : ( Y3 = Z )
        @ ^ [X4: A] :
            ( Sb @ ( I2 @ X4 ) )
        @ X3
        @ Y ) ) )).

% fun.rel_map(1)
thf(fact_850_interrupt__action_Oright__unique__rel,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( right_unique @ A @ B @ R )
     => ( right_unique @ ( interrupt_action @ A ) @ ( interrupt_action @ B ) @ ( interr1799892525631285141action @ A @ B @ R ) ) ) )).

% interrupt_action.right_unique_rel
thf(fact_851_fun_Orel__map_I2_J,axiom,(
    ! [A: $tType,C: $tType,B: $tType,D: $tType,Sa: A > C > $o,X3: D > A,G4: B > C,Y: D > B] :
      ( ( bNF_rel_fun @ D @ D @ A @ C
        @ ^ [Y3: D,Z: D] : ( Y3 = Z )
        @ Sa
        @ X3
        @ ( comp @ B @ C @ D @ G4 @ Y ) )
      = ( bNF_rel_fun @ D @ D @ A @ B
        @ ^ [Y3: D,Z: D] : ( Y3 = Z )
        @ ^ [X4: A,Y5: B] :
            ( Sa @ X4 @ ( G4 @ Y5 ) )
        @ X3
        @ Y ) ) )).

% fun.rel_map(2)
thf(fact_852_interrupt__action_Orel__reflp,axiom,(
    ! [A: $tType,R: A > A > $o] :
      ( ( reflp @ A @ R )
     => ( reflp @ ( interrupt_action @ A ) @ ( interr1799892525631285141action @ A @ A @ R ) ) ) )).

% interrupt_action.rel_reflp
thf(fact_853_Collect__disj__eq,axiom,(
    ! [A: $tType,P: A > $o,Q: A > $o] :
      ( ( collect @ A
        @ ^ [X4: A] :
            ( ( P @ X4 )
            | ( Q @ X4 ) ) )
      = ( sup_sup @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q ) ) ) )).

% Collect_disj_eq
thf(fact_854_interrupt__action_Orel__symp,axiom,(
    ! [A: $tType,R: A > A > $o] :
      ( ( symp @ A @ R )
     => ( symp @ ( interrupt_action @ A ) @ ( interr1799892525631285141action @ A @ A @ R ) ) ) )).

% interrupt_action.rel_symp
thf(fact_855_sup__set__def,axiom,(
    ! [A: $tType] :
      ( ( sup_sup @ ( set @ A ) )
      = ( ^ [A7: set @ A,B7: set @ A] :
            ( collect @ A
            @ ( sup_sup @ ( A > $o )
              @ ^ [X4: A] :
                  ( member @ A @ X4 @ A7 )
              @ ^ [X4: A] :
                  ( member @ A @ X4 @ B7 ) ) ) ) ) )).

% sup_set_def
thf(fact_856_new__thread__action_Oright__total__rel,axiom,(
    ! [B: $tType,E: $tType,D: $tType,A: $tType,F: $tType,C: $tType,R1: A > D > $o,R22: B > E > $o,R32: C > F > $o] :
      ( ( right_total @ A @ D @ R1 )
     => ( ( right_total @ B @ E @ R22 )
       => ( ( right_total @ C @ F @ R32 )
         => ( right_total @ ( new_thread_action @ A @ B @ C ) @ ( new_thread_action @ D @ E @ F ) @ ( new_th911009063021768419action @ A @ D @ B @ E @ C @ F @ R1 @ R22 @ R32 ) ) ) ) ) )).

% new_thread_action.right_total_rel
thf(fact_857_Un__def,axiom,(
    ! [A: $tType] :
      ( ( sup_sup @ ( set @ A ) )
      = ( ^ [A7: set @ A,B7: set @ A] :
            ( collect @ A
            @ ^ [X4: A] :
                ( ( member @ A @ X4 @ A7 )
                | ( member @ A @ X4 @ B7 ) ) ) ) ) )).

% Un_def
thf(fact_858_conditional__action_Ocase__transfer,axiom,(
    ! [T: $tType,B: $tType,C: $tType,A: $tType,R: T > A > $o,S3: B > C > $o] :
      ( bNF_rel_fun @ ( T > B ) @ ( A > C ) @ ( B > ( conditional_action @ T ) > B ) @ ( C > ( conditional_action @ A ) > C ) @ ( bNF_rel_fun @ T @ A @ B @ C @ R @ S3 ) @ ( bNF_rel_fun @ B @ C @ ( ( conditional_action @ T ) > B ) @ ( ( conditional_action @ A ) > C ) @ S3 @ ( bNF_rel_fun @ ( conditional_action @ T ) @ ( conditional_action @ A ) @ B @ C @ ( condit4280512358590153947action @ T @ A @ R ) @ S3 ) ) @ ( condit2152691216506315636action @ T @ B ) @ ( condit2152691216506315636action @ A @ C ) ) )).

% conditional_action.case_transfer
thf(fact_859_Grp__def,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( bNF_Grp @ A @ B )
      = ( ^ [A7: set @ A,F3: A > B,A5: A,B5: B] :
            ( ( B5
              = ( F3 @ A5 ) )
            & ( member @ A @ A5 @ A7 ) ) ) ) )).

% Grp_def
thf(fact_860_wait__set__action_Omap_I6_J,axiom,(
    ! [T: $tType,W: $tType,B: $tType,A: $tType,F1: T > A,F22: W > B] :
      ( ( wait_s8865918783579551590action @ T @ A @ W @ B @ F1 @ F22 @ ( wait_set_WokenUp @ T @ W ) )
      = ( wait_set_WokenUp @ A @ B ) ) )).

% wait_set_action.map(6)
thf(fact_861_curry__K,axiom,(
    ! [B: $tType,C: $tType,A: $tType,C3: C] :
      ( ( product_curry @ A @ B @ C
        @ ^ [X4: product_prod @ A @ B] : C3 )
      = ( ^ [X4: A,Y5: B] : C3 ) ) )).

% curry_K
thf(fact_862_split__seed__def,axiom,
    ( split_seed
    = ( ^ [S4: product_prod @ code_natural @ code_natural] :
          ( product_case_prod @ code_natural @ code_natural @ ( product_prod @ ( product_prod @ code_natural @ code_natural ) @ ( product_prod @ code_natural @ code_natural ) )
          @ ^ [V2: code_natural,W2: code_natural] :
              ( product_case_prod @ code_natural @ code_natural @ ( product_prod @ ( product_prod @ code_natural @ code_natural ) @ ( product_prod @ code_natural @ code_natural ) )
              @ ^ [V5: code_natural,W4: code_natural] :
                  ( product_Pair @ ( product_prod @ code_natural @ code_natural ) @ ( product_prod @ code_natural @ code_natural ) @ ( product_Pair @ code_natural @ code_natural @ ( inc_shift @ ( numeral_numeral @ code_natural @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ V2 ) @ W4 ) @ ( product_Pair @ code_natural @ code_natural @ V5 @ ( inc_shift @ ( numeral_numeral @ code_natural @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit0 @ ( bit0 @ ( bit0 @ ( bit0 @ ( bit0 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ ( bit1 @ one ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ W2 ) ) )
              @ ( product_snd @ code_natural @ ( product_prod @ code_natural @ code_natural ) @ ( next @ S4 ) ) )
          @ S4 ) ) )).

% split_seed_def
thf(fact_863_wait__set__action_Omap_I5_J,axiom,(
    ! [T: $tType,W: $tType,B: $tType,A: $tType,F1: T > A,F22: W > B] :
      ( ( wait_s8865918783579551590action @ T @ A @ W @ B @ F1 @ F22 @ ( wait_set_Notified @ T @ W ) )
      = ( wait_set_Notified @ A @ B ) ) )).

% wait_set_action.map(5)
thf(fact_864_sup__Un__eq,axiom,(
    ! [A: $tType,R: set @ A,S3: set @ A] :
      ( ( sup_sup @ ( A > $o )
        @ ^ [X4: A] :
            ( member @ A @ X4 @ R )
        @ ^ [X4: A] :
            ( member @ A @ X4 @ S3 ) )
      = ( ^ [X4: A] :
            ( member @ A @ X4 @ ( sup_sup @ ( set @ A ) @ R @ S3 ) ) ) ) )).

% sup_Un_eq
thf(fact_865_interrupt__action_Oleft__unique__rel,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( left_unique @ A @ B @ R )
     => ( left_unique @ ( interrupt_action @ A ) @ ( interrupt_action @ B ) @ ( interr1799892525631285141action @ A @ B @ R ) ) ) )).

% interrupt_action.left_unique_rel
thf(fact_866_sup__Un__eq2,axiom,(
    ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),S3: set @ ( product_prod @ A @ B )] :
      ( ( sup_sup @ ( A > B > $o )
        @ ^ [X4: A,Y5: B] :
            ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ R )
        @ ^ [X4: A,Y5: B] :
            ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ S3 ) )
      = ( ^ [X4: A,Y5: B] :
            ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ ( sup_sup @ ( set @ ( product_prod @ A @ B ) ) @ R @ S3 ) ) ) ) )).

% sup_Un_eq2
thf(fact_867_interrupt__action_Oset_I2_J,axiom,(
    ! [T: $tType,X2: T] :
      ( ( interr3053324309844243148action @ T @ ( interrupt_Interrupt @ T @ X2 ) )
      = ( insert2 @ T @ X2 @ ( bot_bot @ ( set @ T ) ) ) ) )).

% interrupt_action.set(2)
thf(fact_868_type__copy__vimage2p__Grp__Rep,axiom,(
    ! [B: $tType,A: $tType,D: $tType,C: $tType,Rep: A > B,Abs: B > A,F4: C > D,P: D > $o,H: D > B] :
      ( ( type_definition @ A @ B @ Rep @ Abs @ ( top_top @ ( set @ B ) ) )
     => ( ( bNF_vimage2p @ C @ D @ A @ B @ $o @ F4 @ Rep @ ( bNF_Grp @ D @ B @ ( collect @ D @ P ) @ H ) )
        = ( bNF_Grp @ C @ A
          @ ( collect @ C
            @ ^ [X4: C] :
                ( P @ ( F4 @ X4 ) ) )
          @ ( comp @ D @ A @ C @ ( comp @ B @ A @ D @ Abs @ H ) @ F4 ) ) ) ) )).

% type_copy_vimage2p_Grp_Rep
thf(fact_869_new__thread__action_Orel__intros_I2_J,axiom,(
    ! [X: $tType,M: $tType,T: $tType,A: $tType,C: $tType,B: $tType,R1: T > A > $o,X21: T,Y21: A,X22: $o,Y22: $o,R22: X > B > $o,R32: M > C > $o] :
      ( ( R1 @ X21 @ Y21 )
     => ( ( X22 = Y22 )
       => ( new_th911009063021768419action @ T @ A @ X @ B @ M @ C @ R1 @ R22 @ R32 @ ( new_th4503388622997288770Exists @ T @ X @ M @ X21 @ X22 ) @ ( new_th4503388622997288770Exists @ A @ B @ C @ Y21 @ Y22 ) ) ) ) )).

% new_thread_action.rel_intros(2)
thf(fact_870_type__copy__vimage2p__Grp__Abs,axiom,(
    ! [A: $tType,B: $tType,C: $tType,D: $tType,Rep: A > B,Abs: B > A,G4: D > C,P: C > $o,H: C > A] :
      ( ( type_definition @ A @ B @ Rep @ Abs @ ( top_top @ ( set @ B ) ) )
     => ( ( bNF_vimage2p @ D @ C @ B @ A @ $o @ G4 @ Abs @ ( bNF_Grp @ C @ A @ ( collect @ C @ P ) @ H ) )
        = ( bNF_Grp @ D @ B
          @ ( collect @ D
            @ ^ [X4: D] :
                ( P @ ( G4 @ X4 ) ) )
          @ ( comp @ C @ B @ D @ ( comp @ A @ B @ C @ Rep @ H ) @ G4 ) ) ) ) )).

% type_copy_vimage2p_Grp_Abs
thf(fact_871_finite__Un,axiom,(
    ! [A: $tType,F6: set @ A,G6: set @ A] :
      ( ( finite_finite @ A @ ( sup_sup @ ( set @ A ) @ F6 @ G6 ) )
      = ( ( finite_finite @ A @ F6 )
        & ( finite_finite @ A @ G6 ) ) ) )).

% finite_Un
thf(fact_872_ImageE,axiom,(
    ! [A: $tType,B: $tType,B3: A,R3: set @ ( product_prod @ B @ A ),A6: set @ B] :
      ( ( member @ A @ B3 @ ( image @ B @ A @ R3 @ A6 ) )
     => ~ ! [X5: B] :
            ( ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ X5 @ B3 ) @ R3 )
           => ~ ( member @ B @ X5 @ A6 ) ) ) )).

% ImageE
thf(fact_873_interrupt__action_Osimps_I28_J,axiom,(
    ! [T: $tType,X11: T,X12: $o] :
      ( ( interr3053324309844243148action @ T @ ( interr5885539089632487139rupted @ T @ X11 @ X12 ) )
      = ( insert2 @ T @ X11 @ ( bot_bot @ ( set @ T ) ) ) ) )).

% interrupt_action.simps(28)
thf(fact_874_rtranclp__conversep,axiom,(
    ! [A: $tType,R3: A > A > $o] :
      ( ( transitive_rtranclp @ A @ ( conversep @ A @ A @ R3 ) )
      = ( conversep @ A @ A @ ( transitive_rtranclp @ A @ R3 ) ) ) )).

% rtranclp_conversep
thf(fact_875_interrupt__action_Oleft__total__rel,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( left_total @ A @ B @ R )
     => ( left_total @ ( interrupt_action @ A ) @ ( interrupt_action @ B ) @ ( interr1799892525631285141action @ A @ B @ R ) ) ) )).

% interrupt_action.left_total_rel
thf(fact_876_rtranclp__converseI,axiom,(
    ! [A: $tType,R3: A > A > $o,Y: A,X3: A] :
      ( ( transitive_rtranclp @ A @ R3 @ Y @ X3 )
     => ( transitive_rtranclp @ A @ ( conversep @ A @ A @ R3 ) @ X3 @ Y ) ) )).

% rtranclp_converseI
thf(fact_877_conditional__action_Oin__rel,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( condit4280512358590153947action @ A @ B )
      = ( ^ [R2: A > B > $o,A5: conditional_action @ A,B5: conditional_action @ B] :
          ? [Z2: conditional_action @ ( product_prod @ A @ B )] :
            ( ( member @ ( conditional_action @ ( product_prod @ A @ B ) ) @ Z2
              @ ( collect @ ( conditional_action @ ( product_prod @ A @ B ) )
                @ ^ [X4: conditional_action @ ( product_prod @ A @ B )] :
                    ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ ( condit2393454222984209554action @ ( product_prod @ A @ B ) @ X4 ) @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ R2 ) ) ) ) )
            & ( ( condit198635377858011928action @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B ) @ Z2 )
              = A5 )
            & ( ( condit198635377858011928action @ ( product_prod @ A @ B ) @ B @ ( product_snd @ A @ B ) @ Z2 )
              = B5 ) ) ) ) )).

% conditional_action.in_rel
thf(fact_878_rtranclp__converseD,axiom,(
    ! [A: $tType,R3: A > A > $o,X3: A,Y: A] :
      ( ( transitive_rtranclp @ A @ ( conversep @ A @ A @ R3 ) @ X3 @ Y )
     => ( transitive_rtranclp @ A @ R3 @ Y @ X3 ) ) )).

% rtranclp_converseD
thf(fact_879_interrupt__action_Oright__total__rel,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( right_total @ A @ B @ R )
     => ( right_total @ ( interrupt_action @ A ) @ ( interrupt_action @ B ) @ ( interr1799892525631285141action @ A @ B @ R ) ) ) )).

% interrupt_action.right_total_rel
thf(fact_880_leq__conversepI,axiom,(
    ! [A: $tType,R: A > A > $o] :
      ( ( R
        = ( ^ [Y3: A,Z: A] : ( Y3 = Z ) ) )
     => ( ord_less_eq @ ( A > A > $o ) @ R @ ( conversep @ A @ A @ R ) ) ) )).

% leq_conversepI
thf(fact_881_new__thread__action_Osize_I1_J,axiom,(
    ! [M: $tType,T: $tType,X: $tType,Xb: T > nat,Xa2: X > nat,X3: M > nat,X11: T,X12: X,X13: M] :
      ( ( new_th2129853655951111683action @ T @ X @ M @ Xb @ Xa2 @ X3 @ ( new_thread_NewThread @ T @ X @ M @ X11 @ X12 @ X13 ) )
      = ( plus_plus @ nat @ ( plus_plus @ nat @ ( plus_plus @ nat @ ( Xb @ X11 ) @ ( Xa2 @ X12 ) ) @ ( X3 @ X13 ) ) @ ( suc @ ( zero_zero @ nat ) ) ) ) )).

% new_thread_action.size(1)
thf(fact_882_tranclp__converseI,axiom,(
    ! [A: $tType,R3: A > A > $o,X3: A,Y: A] :
      ( ( conversep @ A @ A @ ( transitive_tranclp @ A @ R3 ) @ X3 @ Y )
     => ( transitive_tranclp @ A @ ( conversep @ A @ A @ R3 ) @ X3 @ Y ) ) )).

% tranclp_converseI
thf(fact_883_new__thread__action_Orel__mono,axiom,(
    ! [B: $tType,E: $tType,D: $tType,A: $tType,F: $tType,C: $tType,R1: A > D > $o,R1a: A > D > $o,R22: B > E > $o,R2a: B > E > $o,R32: C > F > $o,R3a: C > F > $o] :
      ( ( ord_less_eq @ ( A > D > $o ) @ R1 @ R1a )
     => ( ( ord_less_eq @ ( B > E > $o ) @ R22 @ R2a )
       => ( ( ord_less_eq @ ( C > F > $o ) @ R32 @ R3a )
         => ( ord_less_eq @ ( ( new_thread_action @ A @ B @ C ) > ( new_thread_action @ D @ E @ F ) > $o ) @ ( new_th911009063021768419action @ A @ D @ B @ E @ C @ F @ R1 @ R22 @ R32 ) @ ( new_th911009063021768419action @ A @ D @ B @ E @ C @ F @ R1a @ R2a @ R3a ) ) ) ) ) )).

% new_thread_action.rel_mono
thf(fact_884_tranclp__converseD,axiom,(
    ! [A: $tType,R3: A > A > $o,X3: A,Y: A] :
      ( ( transitive_tranclp @ A @ ( conversep @ A @ A @ R3 ) @ X3 @ Y )
     => ( conversep @ A @ A @ ( transitive_tranclp @ A @ R3 ) @ X3 @ Y ) ) )).

% tranclp_converseD
thf(fact_885_conditional__action_Orel__compp__Grp,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( condit4280512358590153947action @ A @ B )
      = ( ^ [R2: A > B > $o] :
            ( relcompp @ ( conditional_action @ A ) @ ( conditional_action @ ( product_prod @ A @ B ) ) @ ( conditional_action @ B )
            @ ( conversep @ ( conditional_action @ ( product_prod @ A @ B ) ) @ ( conditional_action @ A )
              @ ( bNF_Grp @ ( conditional_action @ ( product_prod @ A @ B ) ) @ ( conditional_action @ A )
                @ ( collect @ ( conditional_action @ ( product_prod @ A @ B ) )
                  @ ^ [X4: conditional_action @ ( product_prod @ A @ B )] :
                      ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ ( condit2393454222984209554action @ ( product_prod @ A @ B ) @ X4 ) @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ R2 ) ) ) )
                @ ( condit198635377858011928action @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B ) ) ) )
            @ ( bNF_Grp @ ( conditional_action @ ( product_prod @ A @ B ) ) @ ( conditional_action @ B )
              @ ( collect @ ( conditional_action @ ( product_prod @ A @ B ) )
                @ ^ [X4: conditional_action @ ( product_prod @ A @ B )] :
                    ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ ( condit2393454222984209554action @ ( product_prod @ A @ B ) @ X4 ) @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ R2 ) ) ) )
              @ ( condit198635377858011928action @ ( product_prod @ A @ B ) @ B @ ( product_snd @ A @ B ) ) ) ) ) ) )).

% conditional_action.rel_compp_Grp
thf(fact_886_tranclp__converse,axiom,(
    ! [A: $tType,R3: A > A > $o] :
      ( ( transitive_tranclp @ A @ ( conversep @ A @ A @ R3 ) )
      = ( conversep @ A @ A @ ( transitive_tranclp @ A @ R3 ) ) ) )).

% tranclp_converse
thf(fact_887_Image__singleton__iff,axiom,(
    ! [A: $tType,B: $tType,B3: A,R3: set @ ( product_prod @ B @ A ),A3: B] :
      ( ( member @ A @ B3 @ ( image @ B @ A @ R3 @ ( insert2 @ B @ A3 @ ( bot_bot @ ( set @ B ) ) ) ) )
      = ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ A3 @ B3 ) @ R3 ) ) )).

% Image_singleton_iff
thf(fact_888_new__thread__action_Oinj__map,axiom,(
    ! [F: $tType,D: $tType,E: $tType,C: $tType,B: $tType,A: $tType,F1: A > D,F22: B > E,F32: C > F] :
      ( ( inj_on @ A @ D @ F1 @ ( top_top @ ( set @ A ) ) )
     => ( ( inj_on @ B @ E @ F22 @ ( top_top @ ( set @ B ) ) )
       => ( ( inj_on @ C @ F @ F32 @ ( top_top @ ( set @ C ) ) )
         => ( inj_on @ ( new_thread_action @ A @ B @ C ) @ ( new_thread_action @ D @ E @ F ) @ ( new_th6052504119144402208action @ A @ D @ B @ E @ C @ F @ F1 @ F22 @ F32 ) @ ( top_top @ ( set @ ( new_thread_action @ A @ B @ C ) ) ) ) ) ) ) )).

% new_thread_action.inj_map
thf(fact_889_map__prod_Oidentity,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( product_map_prod @ A @ A @ B @ B
        @ ^ [X4: A] : X4
        @ ^ [X4: B] : X4 )
      = ( id @ ( product_prod @ A @ B ) ) ) )).

% map_prod.identity
thf(fact_890_finfun__Diag__const__code_I1_J,axiom,(
    ! [A: $tType,B: $tType,C: $tType,B3: B,C3: C] :
      ( ( finfun_Diag @ A @ B @ C @ ( finfun_const @ B @ A @ B3 ) @ ( finfun_const @ C @ A @ C3 ) )
      = ( finfun_const @ ( product_prod @ B @ C ) @ A @ ( product_Pair @ B @ C @ B3 @ C3 ) ) ) )).

% finfun_Diag_const_code(1)
thf(fact_891_converse__join,axiom,(
    ! [A: $tType,B: $tType,R3: B > A > $o,S: B > A > $o] :
      ( ( conversep @ B @ A @ ( sup_sup @ ( B > A > $o ) @ R3 @ S ) )
      = ( sup_sup @ ( A > B > $o ) @ ( conversep @ B @ A @ R3 ) @ ( conversep @ B @ A @ S ) ) ) )).

% converse_join
thf(fact_892_interrupt__action_Orel__conversep,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( interr1799892525631285141action @ B @ A @ ( conversep @ A @ B @ R ) )
      = ( conversep @ ( interrupt_action @ A ) @ ( interrupt_action @ B ) @ ( interr1799892525631285141action @ A @ B @ R ) ) ) )).

% interrupt_action.rel_conversep
thf(fact_893_split__comp__eq,axiom,(
    ! [A: $tType,C: $tType,B: $tType,D: $tType,F4: A > B > C,G4: D > A] :
      ( ( ^ [U2: product_prod @ D @ B] :
            ( F4 @ ( G4 @ ( product_fst @ D @ B @ U2 ) ) @ ( product_snd @ D @ B @ U2 ) ) )
      = ( product_case_prod @ D @ B @ C
        @ ^ [X4: D] :
            ( F4 @ ( G4 @ X4 ) ) ) ) )).

% split_comp_eq
thf(fact_894_interrupt__action_Omap__cong__pred,axiom,(
    ! [B: $tType,A: $tType,X3: interrupt_action @ A,Ya2: interrupt_action @ A,F4: A > B,G4: A > B] :
      ( ( X3 = Ya2 )
     => ( ( interr8158014761281175971action @ A
          @ ^ [Z2: A] :
              ( ( F4 @ Z2 )
              = ( G4 @ Z2 ) )
          @ Ya2 )
       => ( ( interr6514223866936857682action @ A @ B @ F4 @ X3 )
          = ( interr6514223866936857682action @ A @ B @ G4 @ Ya2 ) ) ) ) )).

% interrupt_action.map_cong_pred
thf(fact_895_interrupt__action_Orel__eq__onp,axiom,(
    ! [A: $tType,P: A > $o] :
      ( ( interr1799892525631285141action @ A @ A @ ( bNF_eq_onp @ A @ P ) )
      = ( bNF_eq_onp @ ( interrupt_action @ A ) @ ( interr8158014761281175971action @ A @ P ) ) ) )).

% interrupt_action.rel_eq_onp
thf(fact_896_new__thread__action_Opred__mono,axiom,(
    ! [B: $tType,A: $tType,C: $tType,P1: A > $o,P1a: A > $o,P22: B > $o,P2a: B > $o,P32: C > $o,P3a: C > $o] :
      ( ( ord_less_eq @ ( A > $o ) @ P1 @ P1a )
     => ( ( ord_less_eq @ ( B > $o ) @ P22 @ P2a )
       => ( ( ord_less_eq @ ( C > $o ) @ P32 @ P3a )
         => ( ord_less_eq @ ( ( new_thread_action @ A @ B @ C ) > $o ) @ ( new_th3963266298022529507action @ A @ B @ C @ P1 @ P22 @ P32 ) @ ( new_th3963266298022529507action @ A @ B @ C @ P1a @ P2a @ P3a ) ) ) ) ) )).

% new_thread_action.pred_mono
thf(fact_897_exE__realizer,axiom,(
    ! [C: $tType,A: $tType,B: $tType,P: A > B > $o,P2: product_prod @ B @ A,Q: C > $o,F4: B > A > C] :
      ( ( P @ ( product_snd @ B @ A @ P2 ) @ ( product_fst @ B @ A @ P2 ) )
     => ( ! [X5: B,Y4: A] :
            ( ( P @ Y4 @ X5 )
           => ( Q @ ( F4 @ X5 @ Y4 ) ) )
       => ( Q @ ( product_case_prod @ B @ A @ C @ F4 @ P2 ) ) ) ) )).

% exE_realizer
thf(fact_898_interrupt__action_Osize__gen__o__map,axiom,(
    ! [A: $tType,T: $tType,F4: A > nat,G4: T > A] :
      ( ( comp @ ( interrupt_action @ A ) @ nat @ ( interrupt_action @ T ) @ ( interr4439281168783392195action @ A @ F4 ) @ ( interr6514223866936857682action @ T @ A @ G4 ) )
      = ( interr4439281168783392195action @ T @ ( comp @ A @ nat @ T @ F4 @ G4 ) ) ) )).

% interrupt_action.size_gen_o_map
thf(fact_899_conditional__action_Orec__transfer,axiom,(
    ! [T: $tType,B: $tType,C: $tType,A: $tType,R: T > A > $o,S3: B > C > $o] :
      ( bNF_rel_fun @ ( T > B ) @ ( A > C ) @ ( B > ( conditional_action @ T ) > B ) @ ( C > ( conditional_action @ A ) > C ) @ ( bNF_rel_fun @ T @ A @ B @ C @ R @ S3 ) @ ( bNF_rel_fun @ B @ C @ ( ( conditional_action @ T ) > B ) @ ( ( conditional_action @ A ) > C ) @ S3 @ ( bNF_rel_fun @ ( conditional_action @ T ) @ ( conditional_action @ A ) @ B @ C @ ( condit4280512358590153947action @ T @ A @ R ) @ S3 ) ) @ ( condit2004826933596026276action @ T @ B ) @ ( condit2004826933596026276action @ A @ C ) ) )).

% conditional_action.rec_transfer
thf(fact_900_type__copy__map__comp0,axiom,(
    ! [F: $tType,D: $tType,B: $tType,A: $tType,C: $tType,E: $tType,Rep: A > B,Abs: B > A,M2: C > D,M1: B > D,M22: C > B,F4: D > F,G4: E > C] :
      ( ( type_definition @ A @ B @ Rep @ Abs @ ( top_top @ ( set @ B ) ) )
     => ( ( M2
          = ( comp @ B @ D @ C @ M1 @ M22 ) )
       => ( ( comp @ C @ F @ E @ ( comp @ D @ F @ C @ F4 @ M2 ) @ G4 )
          = ( comp @ A @ F @ E @ ( comp @ B @ F @ A @ ( comp @ D @ F @ B @ F4 @ M1 ) @ Rep ) @ ( comp @ C @ A @ E @ ( comp @ B @ A @ C @ Abs @ M22 ) @ G4 ) ) ) ) ) )).

% type_copy_map_comp0
thf(fact_901_fold__empty,axiom,(
    ! [B: $tType,A: $tType,F4: B > A > A,Z4: A] :
      ( ( finite_fold @ B @ A @ F4 @ Z4 @ ( bot_bot @ ( set @ B ) ) )
      = Z4 ) )).

% fold_empty
thf(fact_902_new__thread__action_Orel__flip,axiom,(
    ! [A: $tType,B: $tType,C: $tType,F: $tType,E: $tType,D: $tType,R1: A > D > $o,R22: B > E > $o,R32: C > F > $o,A3: new_thread_action @ D @ E @ F,B3: new_thread_action @ A @ B @ C] :
      ( ( new_th911009063021768419action @ D @ A @ E @ B @ F @ C @ ( conversep @ A @ D @ R1 ) @ ( conversep @ B @ E @ R22 ) @ ( conversep @ C @ F @ R32 ) @ A3 @ B3 )
      = ( new_th911009063021768419action @ A @ D @ B @ E @ C @ F @ R1 @ R22 @ R32 @ B3 @ A3 ) ) )).

% new_thread_action.rel_flip
thf(fact_903_case__prod__o__map__prod,axiom,(
    ! [B: $tType,D: $tType,C: $tType,E: $tType,A: $tType,F4: D > E > C,G1: A > D,G22: B > E] :
      ( ( comp @ ( product_prod @ D @ E ) @ C @ ( product_prod @ A @ B ) @ ( product_case_prod @ D @ E @ C @ F4 ) @ ( product_map_prod @ A @ D @ B @ E @ G1 @ G22 ) )
      = ( product_case_prod @ A @ B @ C
        @ ^ [L3: A,R4: B] :
            ( F4 @ ( G1 @ L3 ) @ ( G22 @ R4 ) ) ) ) )).

% case_prod_o_map_prod
thf(fact_904_new__thread__action_Orel__intros_I1_J,axiom,(
    ! [M: $tType,T: $tType,X: $tType,B: $tType,A: $tType,C: $tType,R1: T > A > $o,X11: T,Y11: A,R22: X > B > $o,X12: X,Y12: B,R32: M > C > $o,X13: M,Y13: C] :
      ( ( R1 @ X11 @ Y11 )
     => ( ( R22 @ X12 @ Y12 )
       => ( ( R32 @ X13 @ Y13 )
         => ( new_th911009063021768419action @ T @ A @ X @ B @ M @ C @ R1 @ R22 @ R32 @ ( new_thread_NewThread @ T @ X @ M @ X11 @ X12 @ X13 ) @ ( new_thread_NewThread @ A @ B @ C @ Y11 @ Y12 @ Y13 ) ) ) ) ) )).

% new_thread_action.rel_intros(1)
thf(fact_905_flip__pred,axiom,(
    ! [A: $tType,B: $tType,A6: set @ ( product_prod @ A @ B ),R: B > A > $o] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ A6 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ ( conversep @ B @ A @ R ) ) ) )
     => ( ord_less_eq @ ( set @ ( product_prod @ B @ A ) )
        @ ( image2 @ ( product_prod @ A @ B ) @ ( product_prod @ B @ A )
          @ ( product_case_prod @ A @ B @ ( product_prod @ B @ A )
            @ ^ [X4: A,Y5: B] :
                ( product_Pair @ B @ A @ Y5 @ X4 ) )
          @ A6 )
        @ ( collect @ ( product_prod @ B @ A ) @ ( product_case_prod @ B @ A @ $o @ R ) ) ) ) )).

% flip_pred
thf(fact_906_add__Suc__right,axiom,(
    ! [M4: nat,N3: nat] :
      ( ( plus_plus @ nat @ M4 @ ( suc @ N3 ) )
      = ( suc @ ( plus_plus @ nat @ M4 @ N3 ) ) ) )).

% add_Suc_right
thf(fact_907_interrupt__action_Orel__refl,axiom,(
    ! [B: $tType,Ra2: B > B > $o,X3: interrupt_action @ B] :
      ( ! [X5: B] :
          ( Ra2 @ X5 @ X5 )
     => ( interr1799892525631285141action @ B @ B @ Ra2 @ X3 @ X3 ) ) )).

% interrupt_action.rel_refl
thf(fact_908_new__thread__action_Orel__induct,axiom,(
    ! [T: $tType,X: $tType,M: $tType,C: $tType,B: $tType,A: $tType,R1: T > A > $o,R22: X > B > $o,R32: M > C > $o,X3: new_thread_action @ T @ X @ M,Y: new_thread_action @ A @ B @ C,Q: ( new_thread_action @ T @ X @ M ) > ( new_thread_action @ A @ B @ C ) > $o] :
      ( ( new_th911009063021768419action @ T @ A @ X @ B @ M @ C @ R1 @ R22 @ R32 @ X3 @ Y )
     => ( ! [A112: T,A122: X,A132: M,B11: A,B122: B,B13: C] :
            ( ( R1 @ A112 @ B11 )
           => ( ( R22 @ A122 @ B122 )
             => ( ( R32 @ A132 @ B13 )
               => ( Q @ ( new_thread_NewThread @ T @ X @ M @ A112 @ A122 @ A132 ) @ ( new_thread_NewThread @ A @ B @ C @ B11 @ B122 @ B13 ) ) ) ) )
       => ( ! [A21: T,A222: $o,B21: A,B222: $o] :
              ( ( R1 @ A21 @ B21 )
             => ( ( A222 = B222 )
               => ( Q @ ( new_th4503388622997288770Exists @ T @ X @ M @ A21 @ A222 ) @ ( new_th4503388622997288770Exists @ A @ B @ C @ B21 @ B222 ) ) ) )
         => ( Q @ X3 @ Y ) ) ) ) )).

% new_thread_action.rel_induct
thf(fact_909_predicate2__transferD,axiom,(
    ! [A: $tType,B: $tType,D: $tType,C: $tType,R1: A > B > $o,R22: C > D > $o,P: A > C > $o,Q: B > D > $o,A3: product_prod @ A @ B,A6: set @ ( product_prod @ A @ B ),B3: product_prod @ C @ D,B6: set @ ( product_prod @ C @ D )] :
      ( ( bNF_rel_fun @ A @ B @ ( C > $o ) @ ( D > $o ) @ R1
        @ ( bNF_rel_fun @ C @ D @ $o @ $o @ R22
          @ ^ [Y3: $o,Z: $o] : ( Y3 = Z ) )
        @ P
        @ Q )
     => ( ( member @ ( product_prod @ A @ B ) @ A3 @ A6 )
       => ( ( member @ ( product_prod @ C @ D ) @ B3 @ B6 )
         => ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ A6 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ R1 ) ) )
           => ( ( ord_less_eq @ ( set @ ( product_prod @ C @ D ) ) @ B6 @ ( collect @ ( product_prod @ C @ D ) @ ( product_case_prod @ C @ D @ $o @ R22 ) ) )
             => ( ( P @ ( product_fst @ A @ B @ A3 ) @ ( product_fst @ C @ D @ B3 ) )
                = ( Q @ ( product_snd @ A @ B @ A3 ) @ ( product_snd @ C @ D @ B3 ) ) ) ) ) ) ) ) )).

% predicate2_transferD
thf(fact_910_wait__set__action_Orel__eq,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( wait_s4151587442273979049action @ A @ A @ B @ B
        @ ^ [Y3: A,Z: A] : ( Y3 = Z )
        @ ^ [Y3: B,Z: B] : ( Y3 = Z ) )
      = ( ^ [Y3: wait_set_action @ A @ B,Z: wait_set_action @ A @ B] : ( Y3 = Z ) ) ) )).

% wait_set_action.rel_eq
thf(fact_911_case__prod__comp,axiom,(
    ! [D: $tType,A: $tType,C: $tType,B: $tType,F4: D > C > A,G4: B > D,X3: product_prod @ B @ C] :
      ( ( product_case_prod @ B @ C @ A @ ( comp @ D @ ( C > A ) @ B @ F4 @ G4 ) @ X3 )
      = ( F4 @ ( G4 @ ( product_fst @ B @ C @ X3 ) ) @ ( product_snd @ B @ C @ X3 ) ) ) )).

% case_prod_comp
thf(fact_912_interrupt__action_Orel__mono,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o,Ra2: A > B > $o] :
      ( ( ord_less_eq @ ( A > B > $o ) @ R @ Ra2 )
     => ( ord_less_eq @ ( ( interrupt_action @ A ) > ( interrupt_action @ B ) > $o ) @ ( interr1799892525631285141action @ A @ B @ R ) @ ( interr1799892525631285141action @ A @ B @ Ra2 ) ) ) )).

% interrupt_action.rel_mono
thf(fact_913_Grp__fst__snd,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( relcompp @ A @ ( product_prod @ A @ B ) @ B @ ( conversep @ ( product_prod @ A @ B ) @ A @ ( bNF_Grp @ ( product_prod @ A @ B ) @ A @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ R ) ) @ ( product_fst @ A @ B ) ) ) @ ( bNF_Grp @ ( product_prod @ A @ B ) @ B @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ R ) ) @ ( product_snd @ A @ B ) ) )
      = R ) )).

% Grp_fst_snd
thf(fact_914_new__thread__action_Orel__cases,axiom,(
    ! [A: $tType,T: $tType,X: $tType,M: $tType,C: $tType,B: $tType,R1: T > A > $o,R22: X > B > $o,R32: M > C > $o,A3: new_thread_action @ T @ X @ M,B3: new_thread_action @ A @ B @ C] :
      ( ( new_th911009063021768419action @ T @ A @ X @ B @ M @ C @ R1 @ R22 @ R32 @ A3 @ B3 )
     => ( ! [X14: T,X23: X,X33: M] :
            ( ( A3
              = ( new_thread_NewThread @ T @ X @ M @ X14 @ X23 @ X33 ) )
           => ! [Y14: A,Y23: B,Y33: C] :
                ( ( B3
                  = ( new_thread_NewThread @ A @ B @ C @ Y14 @ Y23 @ Y33 ) )
               => ( ( R1 @ X14 @ Y14 )
                 => ( ( R22 @ X23 @ Y23 )
                   => ~ ( R32 @ X33 @ Y33 ) ) ) ) )
       => ~ ! [X1a: T,X2a2: $o] :
              ( ( A3
                = ( new_th4503388622997288770Exists @ T @ X @ M @ X1a @ X2a2 ) )
             => ! [Y1a: A,Y2a: $o] :
                  ( ( B3
                    = ( new_th4503388622997288770Exists @ A @ B @ C @ Y1a @ Y2a ) )
                 => ( ( R1 @ X1a @ Y1a )
                   => ( X2a2 = ( ~ Y2a ) ) ) ) ) ) ) )).

% new_thread_action.rel_cases
thf(fact_915_new__thread__action_Osimps_I7_J,axiom,(
    ! [X: $tType,D: $tType,T: $tType,M: $tType,F1: T > X > M > D,F22: T > $o > D,X11: T,X12: X,X13: M] :
      ( ( new_th7858695674882416556action @ T @ X @ M @ D @ F1 @ F22 @ ( new_thread_NewThread @ T @ X @ M @ X11 @ X12 @ X13 ) )
      = ( F1 @ X11 @ X12 @ X13 ) ) )).

% new_thread_action.simps(7)
thf(fact_916_dom__def,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( dom @ A @ B )
      = ( ^ [M5: A > ( option @ B )] :
            ( collect @ A
            @ ^ [A5: A] :
                ( ( M5 @ A5 )
               != ( none @ B ) ) ) ) ) )).

% dom_def
thf(fact_917_type__copy__set__map0,axiom,(
    ! [A: $tType,B: $tType,D: $tType,E: $tType,C: $tType,F: $tType,Rep: A > B,Abs: B > A,S3: B > ( set @ D ),M2: C > B,F4: E > D,S6: C > ( set @ E ),G4: F > C] :
      ( ( type_definition @ A @ B @ Rep @ Abs @ ( top_top @ ( set @ B ) ) )
     => ( ( ( comp @ B @ ( set @ D ) @ C @ S3 @ M2 )
          = ( comp @ ( set @ E ) @ ( set @ D ) @ C @ ( image2 @ E @ D @ F4 ) @ S6 ) )
       => ( ( comp @ A @ ( set @ D ) @ F @ ( comp @ B @ ( set @ D ) @ A @ S3 @ Rep ) @ ( comp @ C @ A @ F @ ( comp @ B @ A @ C @ Abs @ M2 ) @ G4 ) )
          = ( comp @ ( set @ E ) @ ( set @ D ) @ F @ ( image2 @ E @ D @ F4 ) @ ( comp @ C @ ( set @ E ) @ F @ S6 @ G4 ) ) ) ) ) )).

% type_copy_set_map0
thf(fact_918_is__equality__def,axiom,(
    ! [A: $tType] :
      ( ( is_equality @ A )
      = ( ^ [R2: A > A > $o] :
            ( R2
            = ( ^ [Y3: A,Z: A] : ( Y3 = Z ) ) ) ) ) )).

% is_equality_def
thf(fact_919_type__copy__map__id0,axiom,(
    ! [B: $tType,A: $tType,Rep: A > B,Abs: B > A,M2: B > B] :
      ( ( type_definition @ A @ B @ Rep @ Abs @ ( top_top @ ( set @ B ) ) )
     => ( ( M2
          = ( id @ B ) )
       => ( ( comp @ B @ A @ A @ ( comp @ B @ A @ B @ Abs @ M2 ) @ Rep )
          = ( id @ A ) ) ) ) )).

% type_copy_map_id0
thf(fact_920_wait__set__action_Orec__o__map,axiom,(
    ! [W: $tType,B: $tType,A: $tType,T: $tType,C: $tType,G4: B > C,Ga: B > C,Gb: B > C,Gc: A > C,Gd: C,Ge: C,F4: T > A,Fa: W > B] :
      ( ( comp @ ( wait_set_action @ A @ B ) @ C @ ( wait_set_action @ T @ W ) @ ( wait_s6484701876979208178action @ B @ C @ A @ G4 @ Ga @ Gb @ Gc @ Gd @ Ge ) @ ( wait_s8865918783579551590action @ T @ A @ W @ B @ F4 @ Fa ) )
      = ( wait_s6484701876979208178action @ W @ C @ T
        @ ^ [X4: W] :
            ( G4 @ ( Fa @ X4 ) )
        @ ^ [X4: W] :
            ( Ga @ ( Fa @ X4 ) )
        @ ^ [X4: W] :
            ( Gb @ ( Fa @ X4 ) )
        @ ^ [X4: T] :
            ( Gc @ ( F4 @ X4 ) )
        @ Gd
        @ Ge ) ) )).

% wait_set_action.rec_o_map
thf(fact_921_type__copy__map__comp0__undo,axiom,(
    ! [E: $tType,A: $tType,C: $tType,B: $tType,D: $tType,F: $tType,Rep: A > B,Abs: B > A,Rep2: C > D,Abs3: D > C,Rep3: E > F,Abs4: F > E,M2: F > D,M1: B > D,M22: F > B] :
      ( ( type_definition @ A @ B @ Rep @ Abs @ ( top_top @ ( set @ B ) ) )
     => ( ( type_definition @ C @ D @ Rep2 @ Abs3 @ ( top_top @ ( set @ D ) ) )
       => ( ( type_definition @ E @ F @ Rep3 @ Abs4 @ ( top_top @ ( set @ F ) ) )
         => ( ( ( comp @ F @ C @ E @ ( comp @ D @ C @ F @ Abs3 @ M2 ) @ Rep3 )
              = ( comp @ A @ C @ E @ ( comp @ B @ C @ A @ ( comp @ D @ C @ B @ Abs3 @ M1 ) @ Rep ) @ ( comp @ F @ A @ E @ ( comp @ B @ A @ F @ Abs @ M22 ) @ Rep3 ) ) )
           => ( ( comp @ B @ D @ F @ M1 @ M22 )
              = M2 ) ) ) ) ) )).

% type_copy_map_comp0_undo
thf(fact_922_Collect__const,axiom,(
    ! [A: $tType,P: $o] :
      ( ( P
       => ( ( collect @ A
            @ ^ [S4: A] : P )
          = ( top_top @ ( set @ A ) ) ) )
      & ( ~ P
       => ( ( collect @ A
            @ ^ [S4: A] : P )
          = ( bot_bot @ ( set @ A ) ) ) ) ) )).

% Collect_const
thf(fact_923_fst__snd__flip,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( product_fst @ A @ B )
      = ( comp @ ( product_prod @ B @ A ) @ A @ ( product_prod @ A @ B ) @ ( product_snd @ B @ A )
        @ ( product_case_prod @ A @ B @ ( product_prod @ B @ A )
          @ ^ [X4: A,Y5: B] :
              ( product_Pair @ B @ A @ Y5 @ X4 ) ) ) ) )).

% fst_snd_flip
thf(fact_924_new__thread__action_Opred__inject_I1_J,axiom,(
    ! [T: $tType,X: $tType,M: $tType,P1: T > $o,P22: X > $o,P32: M > $o,A3: T,Aa4: X,Ab3: M] :
      ( ( new_th3963266298022529507action @ T @ X @ M @ P1 @ P22 @ P32 @ ( new_thread_NewThread @ T @ X @ M @ A3 @ Aa4 @ Ab3 ) )
      = ( ( P1 @ A3 )
        & ( P22 @ Aa4 )
        & ( P32 @ Ab3 ) ) ) )).

% new_thread_action.pred_inject(1)
thf(fact_925_snd__fst__flip,axiom,(
    ! [A: $tType,B: $tType] :
      ( ( product_snd @ B @ A )
      = ( comp @ ( product_prod @ A @ B ) @ A @ ( product_prod @ B @ A ) @ ( product_fst @ A @ B )
        @ ( product_case_prod @ B @ A @ ( product_prod @ A @ B )
          @ ^ [X4: B,Y5: A] :
              ( product_Pair @ A @ B @ Y5 @ X4 ) ) ) ) )).

% snd_fst_flip
thf(fact_926_wait__set__action_Opred__True,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( wait_s752929372302630947action @ A @ B
        @ ^ [Uu: A] : $true
        @ ^ [Uu: B] : $true )
      = ( ^ [Uu: wait_set_action @ A @ B] : $true ) ) )).

% wait_set_action.pred_True
thf(fact_927_fun_Orel__compp__Grp,axiom,(
    ! [D: $tType,B: $tType,A: $tType,R: A > B > $o] :
      ( ( bNF_rel_fun @ D @ D @ A @ B
        @ ^ [Y3: D,Z: D] : ( Y3 = Z )
        @ R )
      = ( relcompp @ ( D > A ) @ ( D > ( product_prod @ A @ B ) ) @ ( D > B )
        @ ( conversep @ ( D > ( product_prod @ A @ B ) ) @ ( D > A )
          @ ( bNF_Grp @ ( D > ( product_prod @ A @ B ) ) @ ( D > A )
            @ ( collect @ ( D > ( product_prod @ A @ B ) )
              @ ^ [X4: D > ( product_prod @ A @ B )] :
                  ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ ( image2 @ D @ ( product_prod @ A @ B ) @ X4 @ ( top_top @ ( set @ D ) ) ) @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ R ) ) ) )
            @ ( comp @ ( product_prod @ A @ B ) @ A @ D @ ( product_fst @ A @ B ) ) ) )
        @ ( bNF_Grp @ ( D > ( product_prod @ A @ B ) ) @ ( D > B )
          @ ( collect @ ( D > ( product_prod @ A @ B ) )
            @ ^ [X4: D > ( product_prod @ A @ B )] :
                ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ ( image2 @ D @ ( product_prod @ A @ B ) @ X4 @ ( top_top @ ( set @ D ) ) ) @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ R ) ) ) )
          @ ( comp @ ( product_prod @ A @ B ) @ B @ D @ ( product_snd @ A @ B ) ) ) ) ) )).

% fun.rel_compp_Grp
thf(fact_928_interrupt__action_Opred__inject_I3_J,axiom,(
    ! [T: $tType,P: T > $o,A3: T] :
      ( ( interr8158014761281175971action @ T @ P @ ( interr7976201102587534891errupt @ T @ A3 ) )
      = ( P @ A3 ) ) )).

% interrupt_action.pred_inject(3)
thf(fact_929_Un__Pow__subset,axiom,(
    ! [A: $tType,A6: set @ A,B6: set @ A] :
      ( ord_less_eq @ ( set @ ( set @ A ) ) @ ( sup_sup @ ( set @ ( set @ A ) ) @ ( pow @ A @ A6 ) @ ( pow @ A @ B6 ) ) @ ( pow @ A @ ( sup_sup @ ( set @ A ) @ A6 @ B6 ) ) ) )).

% Un_Pow_subset
thf(fact_930_interrupt__action_Oset__intros_I1_J,axiom,(
    ! [T: $tType,X11: T,X12: $o] :
      ( member @ T @ X11 @ ( interr3053324309844243148action @ T @ ( interr5885539089632487139rupted @ T @ X11 @ X12 ) ) ) )).

% interrupt_action.set_intros(1)
thf(fact_931_image__Pow__surj,axiom,(
    ! [B: $tType,A: $tType,F4: B > A,A6: set @ B,B6: set @ A] :
      ( ( ( image2 @ B @ A @ F4 @ A6 )
        = B6 )
     => ( ( image2 @ ( set @ B ) @ ( set @ A ) @ ( image2 @ B @ A @ F4 ) @ ( pow @ B @ A6 ) )
        = ( pow @ A @ B6 ) ) ) )).

% image_Pow_surj
thf(fact_932_typerep__new__thread__action__def,axiom,(
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( ( typerep2 @ A )
        & ( typerep2 @ B )
        & ( typerep2 @ C ) )
     => ( ( typerep_typerep @ ( new_thread_action @ A @ B @ C ) )
        = ( ^ [T2: itself @ ( new_thread_action @ A @ B @ C )] :
              ( typerep3 @ ( literal2 @ $false @ $true @ $true @ $false @ $false @ $false @ $true @ ( literal2 @ $true @ $true @ $true @ $false @ $true @ $false @ $true @ ( literal2 @ $true @ $true @ $false @ $false @ $true @ $false @ $true @ ( literal2 @ $false @ $false @ $true @ $false @ $true @ $true @ $true @ ( literal2 @ $true @ $false @ $false @ $false @ $false @ $true @ $true @ ( literal2 @ $false @ $false @ $true @ $false @ $true @ $true @ $true @ ( literal2 @ $true @ $false @ $true @ $false @ $false @ $true @ $true @ ( literal2 @ $false @ $true @ $true @ $true @ $false @ $true @ $false @ ( literal2 @ $false @ $true @ $true @ $true @ $false @ $true @ $true @ ( literal2 @ $true @ $false @ $true @ $false @ $false @ $true @ $true @ ( literal2 @ $true @ $true @ $true @ $false @ $true @ $true @ $true @ ( literal2 @ $true @ $true @ $true @ $true @ $true @ $false @ $true @ ( literal2 @ $false @ $false @ $true @ $false @ $true @ $true @ $true @ ( literal2 @ $false @ $false @ $false @ $true @ $false @ $true @ $true @ ( literal2 @ $false @ $true @ $false @ $false @ $true @ $true @ $true @ ( literal2 @ $true @ $false @ $true @ $false @ $false @ $true @ $true @ ( literal2 @ $true @ $false @ $false @ $false @ $false @ $true @ $true @ ( literal2 @ $false @ $false @ $true @ $false @ $false @ $true @ $true @ ( literal2 @ $true @ $true @ $true @ $true @ $true @ $false @ $true @ ( literal2 @ $true @ $false @ $false @ $false @ $false @ $true @ $true @ ( literal2 @ $true @ $true @ $false @ $false @ $false @ $true @ $true @ ( literal2 @ $false @ $false @ $true @ $false @ $true @ $true @ $true @ ( literal2 @ $true @ $false @ $false @ $true @ $false @ $true @ $true @ ( literal2 @ $true @ $true @ $true @ $true @ $false @ $true @ $true @ ( literal2 @ $false @ $true @ $true @ $true @ $false @ $true @ $true @ ( zero_zero @ literal ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) @ ( cons @ typerep @ ( typerep_typerep @ A @ ( type2 @ A ) ) @ ( cons @ typerep @ ( typerep_typerep @ B @ ( type2 @ B ) ) @ ( cons @ typerep @ ( typerep_typerep @ C @ ( type2 @ C ) ) @ ( nil @ typerep ) ) ) ) ) ) ) ) )).

% typerep_new_thread_action_def
thf(fact_933_new__thread__action_Orel__inject_I2_J,axiom,(
    ! [B: $tType,C: $tType,M: $tType,X: $tType,A: $tType,T: $tType,R1: T > A > $o,R22: X > B > $o,R32: M > C > $o,X21: T,X22: $o,Y21: A,Y22: $o] :
      ( ( new_th911009063021768419action @ T @ A @ X @ B @ M @ C @ R1 @ R22 @ R32 @ ( new_th4503388622997288770Exists @ T @ X @ M @ X21 @ X22 ) @ ( new_th4503388622997288770Exists @ A @ B @ C @ Y21 @ Y22 ) )
      = ( ( R1 @ X21 @ Y21 )
        & ( X22 = Y22 ) ) ) )).

% new_thread_action.rel_inject(2)
thf(fact_934_conversep__converse__eq,axiom,(
    ! [A: $tType,B: $tType,R3: set @ ( product_prod @ A @ B )] :
      ( ( conversep @ A @ B
        @ ^ [X4: A,Y5: B] :
            ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ R3 ) )
      = ( ^ [X4: B,Y5: A] :
            ( member @ ( product_prod @ B @ A ) @ ( product_Pair @ B @ A @ X4 @ Y5 ) @ ( converse @ A @ B @ R3 ) ) ) ) )).

% conversep_converse_eq
thf(fact_935_interrupt__action_Opred__mono,axiom,(
    ! [A: $tType,P: A > $o,Pa: A > $o] :
      ( ( ord_less_eq @ ( A > $o ) @ P @ Pa )
     => ( ord_less_eq @ ( ( interrupt_action @ A ) > $o ) @ ( interr8158014761281175971action @ A @ P ) @ ( interr8158014761281175971action @ A @ Pa ) ) ) )).

% interrupt_action.pred_mono
thf(fact_936_fun_Orel__Grp,axiom,(
    ! [D: $tType,B: $tType,A: $tType,A6: set @ A,F4: A > B] :
      ( ( bNF_rel_fun @ D @ D @ A @ B
        @ ^ [Y3: D,Z: D] : ( Y3 = Z )
        @ ( bNF_Grp @ A @ B @ A6 @ F4 ) )
      = ( bNF_Grp @ ( D > A ) @ ( D > B )
        @ ( collect @ ( D > A )
          @ ^ [X4: D > A] :
              ( ord_less_eq @ ( set @ A ) @ ( image2 @ D @ A @ X4 @ ( top_top @ ( set @ D ) ) ) @ A6 ) )
        @ ( comp @ A @ B @ D @ F4 ) ) ) )).

% fun.rel_Grp
thf(fact_937_relcompp__relcomp__eq,axiom,(
    ! [C: $tType,B: $tType,A: $tType,R3: set @ ( product_prod @ A @ B ),S: set @ ( product_prod @ B @ C )] :
      ( ( relcompp @ A @ B @ C
        @ ^ [X4: A,Y5: B] :
            ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ R3 )
        @ ^ [X4: B,Y5: C] :
            ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ X4 @ Y5 ) @ S ) )
      = ( ^ [X4: A,Y5: C] :
            ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ X4 @ Y5 ) @ ( relcomp @ A @ B @ C @ R3 @ S ) ) ) ) )).

% relcompp_relcomp_eq
thf(fact_938_new__thread__action_Opred__set,axiom,(
    ! [B: $tType,C: $tType,A: $tType] :
      ( ( new_th3963266298022529507action @ A @ B @ C )
      = ( ^ [P13: A > $o,P24: B > $o,P33: C > $o,X4: new_thread_action @ A @ B @ C] :
            ( ! [Y5: A] :
                ( ( member @ A @ Y5 @ ( new_th4037974794548711221action @ A @ B @ C @ X4 ) )
               => ( P13 @ Y5 ) )
            & ! [Y5: B] :
                ( ( member @ B @ Y5 @ ( new_th5315647845865256052action @ A @ B @ C @ X4 ) )
               => ( P24 @ Y5 ) )
            & ! [Y5: C] :
                ( ( member @ C @ Y5 @ ( new_th6593320897181800883action @ A @ B @ C @ X4 ) )
               => ( P33 @ Y5 ) ) ) ) ) )).

% new_thread_action.pred_set
thf(fact_939_type__copy__Abs__o__Rep,axiom,(
    ! [B: $tType,A: $tType,Rep: A > B,Abs: B > A] :
      ( ( type_definition @ A @ B @ Rep @ Abs @ ( top_top @ ( set @ B ) ) )
     => ( ( comp @ B @ A @ A @ Abs @ Rep )
        = ( id @ A ) ) ) )).

% type_copy_Abs_o_Rep
thf(fact_940_interrupt__action_Opred__inject_I2_J,axiom,(
    ! [T: $tType,P: T > $o,A3: T] :
      ( ( interr8158014761281175971action @ T @ P @ ( interrupt_Interrupt @ T @ A3 ) )
      = ( P @ A3 ) ) )).

% interrupt_action.pred_inject(2)
thf(fact_941_type__definition_Ouniv,axiom,(
    ! [B: $tType,A: $tType,Rep: B > A,Abs: A > B,A6: set @ A] :
      ( ( type_definition @ B @ A @ Rep @ Abs @ A6 )
     => ( ( top_top @ ( set @ B ) )
        = ( image2 @ A @ B @ Abs @ A6 ) ) ) )).

% type_definition.univ
thf(fact_942_interrupt__action_Osimps_I17_J,axiom,(
    ! [A: $tType,T: $tType,F4: T > A,X2: T] :
      ( ( interr6514223866936857682action @ T @ A @ F4 @ ( interrupt_Interrupt @ T @ X2 ) )
      = ( interrupt_Interrupt @ A @ ( F4 @ X2 ) ) ) )).

% interrupt_action.simps(17)
thf(fact_943_type__definition_OAbs__image,axiom,(
    ! [A: $tType,B: $tType,Rep: B > A,Abs: A > B,A6: set @ A] :
      ( ( type_definition @ B @ A @ Rep @ Abs @ A6 )
     => ( ( image2 @ A @ B @ Abs @ A6 )
        = ( top_top @ ( set @ B ) ) ) ) )).

% type_definition.Abs_image
thf(fact_944_relcomp__def,axiom,(
    ! [C: $tType,B: $tType,A: $tType] :
      ( ( relcomp @ A @ B @ C )
      = ( ^ [R4: set @ ( product_prod @ A @ B ),S4: set @ ( product_prod @ B @ C )] :
            ( collect @ ( product_prod @ A @ C )
            @ ( product_case_prod @ A @ C @ $o
              @ ( relcompp @ A @ B @ C
                @ ^ [X4: A,Y5: B] :
                    ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ R4 )
                @ ^ [X4: B,Y5: C] :
                    ( member @ ( product_prod @ B @ C ) @ ( product_Pair @ B @ C @ X4 @ Y5 ) @ S4 ) ) ) ) ) ) )).

% relcomp_def
thf(fact_945_new__thread__action_Osimps_I6_J,axiom,(
    ! [X: $tType,M: $tType,T: $tType,A: $tType,F1: T > X > M > A,F22: T > $o > A,X21: T,X22: $o] :
      ( ( new_th5509480840830140020action @ T @ X @ M @ A @ F1 @ F22 @ ( new_th4503388622997288770Exists @ T @ X @ M @ X21 @ X22 ) )
      = ( F22 @ X21 @ X22 ) ) )).

% new_thread_action.simps(6)
thf(fact_946_type__definition_ORep__range,axiom,(
    ! [B: $tType,A: $tType,Rep: B > A,Abs: A > B,A6: set @ A] :
      ( ( type_definition @ B @ A @ Rep @ Abs @ A6 )
     => ( ( image2 @ B @ A @ Rep @ ( top_top @ ( set @ B ) ) )
        = A6 ) ) )).

% type_definition.Rep_range
thf(fact_947_new__thread__action_Opred__inject_I2_J,axiom,(
    ! [X: $tType,M: $tType,T: $tType,P1: T > $o,P22: X > $o,P32: M > $o,A3: T,Aa4: $o] :
      ( ( new_th3963266298022529507action @ T @ X @ M @ P1 @ P22 @ P32 @ ( new_th4503388622997288770Exists @ T @ X @ M @ A3 @ Aa4 ) )
      = ( P1 @ A3 ) ) )).

% new_thread_action.pred_inject(2)
thf(fact_948_scomp__unfold,axiom,(
    ! [D: $tType,C: $tType,B: $tType,A: $tType] :
      ( ( product_scomp @ A @ B @ C @ D )
      = ( ^ [F3: A > ( product_prod @ B @ C ),G3: B > C > D,X4: A] :
            ( G3 @ ( product_fst @ B @ C @ ( F3 @ X4 ) ) @ ( product_snd @ B @ C @ ( F3 @ X4 ) ) ) ) ) )).

% scomp_unfold
thf(fact_949_ImageI,axiom,(
    ! [B: $tType,A: $tType,A3: A,B3: B,R3: set @ ( product_prod @ A @ B ),A6: set @ A] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ R3 )
     => ( ( member @ A @ A3 @ A6 )
       => ( member @ B @ B3 @ ( image @ A @ B @ R3 @ A6 ) ) ) ) )).

% ImageI
thf(fact_950_transfer__forall__transfer_I1_J,axiom,(
    ! [A: $tType,B: $tType,A6: A > B > $o] :
      ( ( bi_total @ A @ B @ A6 )
     => ( bNF_rel_fun @ ( A > $o ) @ ( B > $o ) @ $o @ $o
        @ ( bNF_rel_fun @ A @ B @ $o @ $o @ A6
          @ ^ [Y3: $o,Z: $o] : ( Y3 = Z ) )
        @ ^ [Y3: $o,Z: $o] : ( Y3 = Z )
        @ ( transfer_forall @ A )
        @ ( transfer_forall @ B ) ) ) )).

% transfer_forall_transfer(1)
thf(fact_951_acyclicP__converse,axiom,(
    ! [A: $tType,R3: A > A > $o] :
      ( ( transitive_acyclic @ A @ ( collect @ ( product_prod @ A @ A ) @ ( product_case_prod @ A @ A @ $o @ ( conversep @ A @ A @ R3 ) ) ) )
      = ( transitive_acyclic @ A @ ( collect @ ( product_prod @ A @ A ) @ ( product_case_prod @ A @ A @ $o @ R3 ) ) ) ) )).

% acyclicP_converse
thf(fact_952_new__thread__action_Orec__o__map,axiom,(
    ! [M: $tType,B: $tType,C: $tType,X: $tType,A: $tType,D: $tType,T: $tType,G4: A > B > C > D,Ga: A > $o > D,F4: T > A,Fa: X > B,Fb: M > C] :
      ( ( comp @ ( new_thread_action @ A @ B @ C ) @ D @ ( new_thread_action @ T @ X @ M ) @ ( new_th7858695674882416556action @ A @ B @ C @ D @ G4 @ Ga ) @ ( new_th6052504119144402208action @ T @ A @ X @ B @ M @ C @ F4 @ Fa @ Fb ) )
      = ( new_th7858695674882416556action @ T @ X @ M @ D
        @ ^ [X4: T,Xa4: X,Xb2: M] :
            ( G4 @ ( F4 @ X4 ) @ ( Fa @ Xa4 ) @ ( Fb @ Xb2 ) )
        @ ^ [X4: T] :
            ( Ga @ ( F4 @ X4 ) ) ) ) )).

% new_thread_action.rec_o_map
thf(fact_953_sup1CI,axiom,(
    ! [A: $tType,B6: A > $o,X3: A,A6: A > $o] :
      ( ( ~ ( B6 @ X3 )
       => ( A6 @ X3 ) )
     => ( sup_sup @ ( A > $o ) @ A6 @ B6 @ X3 ) ) )).

% sup1CI
thf(fact_954_wait__set__action_Omap_I4_J,axiom,(
    ! [W: $tType,B: $tType,A: $tType,T: $tType,F1: T > A,F22: W > B,X42: T] :
      ( ( wait_s8865918783579551590action @ T @ A @ W @ B @ F1 @ F22 @ ( wait_set_WakeUp @ T @ W @ X42 ) )
      = ( wait_set_WakeUp @ A @ B @ ( F1 @ X42 ) ) ) )).

% wait_set_action.map(4)
thf(fact_955_scomp__apply,axiom,(
    ! [A: $tType,D: $tType,C: $tType,B: $tType] :
      ( ( product_scomp @ B @ C @ D @ A )
      = ( ^ [F3: B > ( product_prod @ C @ D ),G3: C > D > A,X4: B] :
            ( product_case_prod @ C @ D @ A @ G3 @ ( F3 @ X4 ) ) ) ) )).

% scomp_apply
thf(fact_956_new__thread__action_Orel__conversep,axiom,(
    ! [B: $tType,E: $tType,D: $tType,A: $tType,F: $tType,C: $tType,R1: A > D > $o,R22: B > E > $o,R32: C > F > $o] :
      ( ( new_th911009063021768419action @ D @ A @ E @ B @ F @ C @ ( conversep @ A @ D @ R1 ) @ ( conversep @ B @ E @ R22 ) @ ( conversep @ C @ F @ R32 ) )
      = ( conversep @ ( new_thread_action @ A @ B @ C ) @ ( new_thread_action @ D @ E @ F ) @ ( new_th911009063021768419action @ A @ D @ B @ E @ C @ F @ R1 @ R22 @ R32 ) ) ) )).

% new_thread_action.rel_conversep
thf(fact_957_scomp__scomp,axiom,(
    ! [A: $tType,C: $tType,D: $tType,B: $tType,F: $tType,E: $tType,F4: A > ( product_prod @ E @ F ),G4: E > F > ( product_prod @ C @ D ),H: C > D > B] :
      ( ( product_scomp @ A @ C @ D @ B @ ( product_scomp @ A @ E @ F @ ( product_prod @ C @ D ) @ F4 @ G4 ) @ H )
      = ( product_scomp @ A @ E @ F @ B @ F4
        @ ^ [X4: E] :
            ( product_scomp @ F @ C @ D @ B @ ( G4 @ X4 ) @ H ) ) ) )).

% scomp_scomp
thf(fact_958_new__thread__action_Orel__eq__onp,axiom,(
    ! [B: $tType,A: $tType,C: $tType,P1: A > $o,P22: B > $o,P32: C > $o] :
      ( ( new_th911009063021768419action @ A @ A @ B @ B @ C @ C @ ( bNF_eq_onp @ A @ P1 ) @ ( bNF_eq_onp @ B @ P22 ) @ ( bNF_eq_onp @ C @ P32 ) )
      = ( bNF_eq_onp @ ( new_thread_action @ A @ B @ C ) @ ( new_th3963266298022529507action @ A @ B @ C @ P1 @ P22 @ P32 ) ) ) )).

% new_thread_action.rel_eq_onp
thf(fact_959_sup1I2,axiom,(
    ! [A: $tType,B6: A > $o,X3: A,A6: A > $o] :
      ( ( B6 @ X3 )
     => ( sup_sup @ ( A > $o ) @ A6 @ B6 @ X3 ) ) )).

% sup1I2
thf(fact_960_interrupt__action_Oinj__map__strong,axiom,(
    ! [B: $tType,A: $tType,X3: interrupt_action @ A,Xa2: interrupt_action @ A,F4: A > B,Fa: A > B] :
      ( ! [Z3: A,Za2: A] :
          ( ( member @ A @ Z3 @ ( interr3053324309844243148action @ A @ X3 ) )
         => ( ( member @ A @ Za2 @ ( interr3053324309844243148action @ A @ Xa2 ) )
           => ( ( ( F4 @ Z3 )
                = ( Fa @ Za2 ) )
             => ( Z3 = Za2 ) ) ) )
     => ( ( ( interr6514223866936857682action @ A @ B @ F4 @ X3 )
          = ( interr6514223866936857682action @ A @ B @ Fa @ Xa2 ) )
       => ( X3 = Xa2 ) ) ) )).

% interrupt_action.inj_map_strong
thf(fact_961_sup1I1,axiom,(
    ! [A: $tType,A6: A > $o,X3: A,B6: A > $o] :
      ( ( A6 @ X3 )
     => ( sup_sup @ ( A > $o ) @ A6 @ B6 @ X3 ) ) )).

% sup1I1
thf(fact_962_converse__def,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( converse @ A @ B )
      = ( ^ [R4: set @ ( product_prod @ A @ B )] :
            ( collect @ ( product_prod @ B @ A )
            @ ( product_case_prod @ B @ A @ $o
              @ ( conversep @ A @ B
                @ ^ [X4: A,Y5: B] :
                    ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ R4 ) ) ) ) ) ) )).

% converse_def
thf(fact_963_finfun__def,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( finfun2 @ A @ B )
      = ( collect @ ( A > B )
        @ ^ [F3: A > B] :
          ? [B5: B] :
            ( finite_finite @ A
            @ ( collect @ A
              @ ^ [A5: A] :
                  ( ( F3 @ A5 )
                 != B5 ) ) ) ) ) )).

% finfun_def
thf(fact_964_sup1E,axiom,(
    ! [A: $tType,A6: A > $o,B6: A > $o,X3: A] :
      ( ( sup_sup @ ( A > $o ) @ A6 @ B6 @ X3 )
     => ( ~ ( A6 @ X3 )
       => ( B6 @ X3 ) ) ) )).

% sup1E
thf(fact_965_interrupt__action_Omap__cong,axiom,(
    ! [B: $tType,A: $tType,X3: interrupt_action @ A,Ya2: interrupt_action @ A,F4: A > B,G4: A > B] :
      ( ( X3 = Ya2 )
     => ( ! [Z3: A] :
            ( ( member @ A @ Z3 @ ( interr3053324309844243148action @ A @ Ya2 ) )
           => ( ( F4 @ Z3 )
              = ( G4 @ Z3 ) ) )
       => ( ( interr6514223866936857682action @ A @ B @ F4 @ X3 )
          = ( interr6514223866936857682action @ A @ B @ G4 @ Ya2 ) ) ) ) )).

% interrupt_action.map_cong
thf(fact_966_wait__set__action_Oset_I12_J,axiom,(
    ! [T: $tType,W: $tType] :
      ( ( wait_s6444424490270475060action @ T @ W @ ( wait_set_WokenUp @ T @ W ) )
      = ( bot_bot @ ( set @ W ) ) ) )).

% wait_set_action.set(12)
thf(fact_967_acyclic__subset,axiom,(
    ! [A: $tType,S: set @ ( product_prod @ A @ A ),R3: set @ ( product_prod @ A @ A )] :
      ( ( transitive_acyclic @ A @ S )
     => ( ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ R3 @ S )
       => ( transitive_acyclic @ A @ R3 ) ) ) )).

% acyclic_subset
thf(fact_968_interrupt__action_Omap__cong0,axiom,(
    ! [B: $tType,A: $tType,X3: interrupt_action @ A,F4: A > B,G4: A > B] :
      ( ! [Z3: A] :
          ( ( member @ A @ Z3 @ ( interr3053324309844243148action @ A @ X3 ) )
         => ( ( F4 @ Z3 )
            = ( G4 @ Z3 ) ) )
     => ( ( interr6514223866936857682action @ A @ B @ F4 @ X3 )
        = ( interr6514223866936857682action @ A @ B @ G4 @ X3 ) ) ) )).

% interrupt_action.map_cong0
thf(fact_969_wait__set__action_Omap_I3_J,axiom,(
    ! [T: $tType,A: $tType,B: $tType,W: $tType,F1: T > A,F22: W > B,X32: W] :
      ( ( wait_s8865918783579551590action @ T @ A @ W @ B @ F1 @ F22 @ ( wait_set_NotifyAll @ W @ T @ X32 ) )
      = ( wait_set_NotifyAll @ B @ A @ ( F22 @ X32 ) ) ) )).

% wait_set_action.map(3)
thf(fact_970_scomp__def,axiom,(
    ! [D: $tType,C: $tType,B: $tType,A: $tType] :
      ( ( product_scomp @ A @ B @ C @ D )
      = ( ^ [F3: A > ( product_prod @ B @ C ),G3: B > C > D,X4: A] :
            ( product_case_prod @ B @ C @ D @ G3 @ ( F3 @ X4 ) ) ) ) )).

% scomp_def
thf(fact_971_finfun__Diag__const1,axiom,(
    ! [B: $tType,C: $tType,A: $tType,B3: B,G4: finfun @ A @ C] :
      ( ( finfun_Diag @ A @ B @ C @ ( finfun_const @ B @ A @ B3 ) @ G4 )
      = ( finfun_comp @ C @ ( product_prod @ B @ C ) @ A @ ( product_Pair @ B @ C @ B3 ) @ G4 ) ) )).

% finfun_Diag_const1
thf(fact_972_image__o__collect,axiom,(
    ! [B: $tType,C: $tType,A: $tType,G4: C > B,F6: set @ ( A > ( set @ C ) )] :
      ( ( bNF_collect @ A @ B @ ( image2 @ ( A > ( set @ C ) ) @ ( A > ( set @ B ) ) @ ( comp @ ( set @ C ) @ ( set @ B ) @ A @ ( image2 @ C @ B @ G4 ) ) @ F6 ) )
      = ( comp @ ( set @ C ) @ ( set @ B ) @ A @ ( image2 @ C @ B @ G4 ) @ ( bNF_collect @ A @ C @ F6 ) ) ) )).

% image_o_collect
thf(fact_973_wait__set__action_Oset_I6_J,axiom,(
    ! [W: $tType,T: $tType] :
      ( ( wait_s8753297657872117365action @ T @ W @ ( wait_set_WokenUp @ T @ W ) )
      = ( bot_bot @ ( set @ T ) ) ) )).

% wait_set_action.set(6)
thf(fact_974_K__record__comp,axiom,(
    ! [C: $tType,B: $tType,A: $tType,C3: B,F4: A > C] :
      ( ( comp @ C @ B @ A
        @ ^ [X4: C] : C3
        @ F4 )
      = ( ^ [X4: A] : C3 ) ) )).

% K_record_comp
thf(fact_975_wait__set__action_Omap__id0,axiom,(
    ! [B: $tType,A: $tType] :
      ( ( wait_s8865918783579551590action @ A @ A @ B @ B @ ( id @ A ) @ ( id @ B ) )
      = ( id @ ( wait_set_action @ A @ B ) ) ) )).

% wait_set_action.map_id0
thf(fact_976_image__paired__Times,axiom,(
    ! [C: $tType,D: $tType,B: $tType,A: $tType,F4: C > A,G4: D > B,A6: set @ C,B6: set @ D] :
      ( ( image2 @ ( product_prod @ C @ D ) @ ( product_prod @ A @ B )
        @ ( product_case_prod @ C @ D @ ( product_prod @ A @ B )
          @ ^ [X4: C,Y5: D] :
              ( product_Pair @ A @ B @ ( F4 @ X4 ) @ ( G4 @ Y5 ) ) )
        @ ( product_Sigma @ C @ D @ A6
          @ ^ [Uu: C] : B6 ) )
      = ( product_Sigma @ A @ B @ ( image2 @ C @ A @ F4 @ A6 )
        @ ^ [Uu: A] :
            ( image2 @ D @ B @ G4 @ B6 ) ) ) )).

% image_paired_Times
thf(fact_977_new__thread__action_Osimps_I14_J,axiom,(
    ! [B: $tType,C: $tType,A: $tType,E: $tType,D: $tType,F: $tType,R1: A > D > $o,R22: B > E > $o,R32: C > F > $o,Y21: A,Y22: $o,X11: D,X12: E,X13: F] :
      ~ ( new_th911009063021768419action @ A @ D @ B @ E @ C @ F @ R1 @ R22 @ R32 @ ( new_th4503388622997288770Exists @ A @ B @ C @ Y21 @ Y22 ) @ ( new_thread_NewThread @ D @ E @ F @ X11 @ X12 @ X13 ) ) )).

% new_thread_action.simps(14)
thf(fact_978_Gr__incl,axiom,(
    ! [A: $tType,B: $tType,A6: set @ A,F4: A > B,B6: set @ B] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ ( bNF_Gr @ A @ B @ A6 @ F4 )
        @ ( product_Sigma @ A @ B @ A6
          @ ^ [Uu: A] : B6 ) )
      = ( ord_less_eq @ ( set @ B ) @ ( image2 @ A @ B @ F4 @ A6 ) @ B6 ) ) )).

% Gr_incl
thf(fact_979_new__thread__action_Osimps_I13_J,axiom,(
    ! [M: $tType,T: $tType,X: $tType,A: $tType,C: $tType,B: $tType,R1: T > A > $o,R22: X > B > $o,R32: M > C > $o,X11: T,X12: X,X13: M,Y21: A,Y22: $o] :
      ~ ( new_th911009063021768419action @ T @ A @ X @ B @ M @ C @ R1 @ R22 @ R32 @ ( new_thread_NewThread @ T @ X @ M @ X11 @ X12 @ X13 ) @ ( new_th4503388622997288770Exists @ A @ B @ C @ Y21 @ Y22 ) ) )).

% new_thread_action.simps(13)
thf(fact_980_wait__set__action_Omap_I2_J,axiom,(
    ! [T: $tType,A: $tType,B: $tType,W: $tType,F1: T > A,F22: W > B,X2: W] :
      ( ( wait_s8865918783579551590action @ T @ A @ W @ B @ F1 @ F22 @ ( wait_set_Notify @ W @ T @ X2 ) )
      = ( wait_set_Notify @ B @ A @ ( F22 @ X2 ) ) ) )).

% wait_set_action.map(2)
thf(fact_981_SigmaI,axiom,(
    ! [B: $tType,A: $tType,A3: A,A6: set @ A,B3: B,B6: A > ( set @ B )] :
      ( ( member @ A @ A3 @ A6 )
     => ( ( member @ B @ B3 @ ( B6 @ A3 ) )
       => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) ) ) ) )).

% SigmaI
thf(fact_982_interrupt__action_Oinj__map,axiom,(
    ! [B: $tType,A: $tType,F4: A > B] :
      ( ( inj_on @ A @ B @ F4 @ ( top_top @ ( set @ A ) ) )
     => ( inj_on @ ( interrupt_action @ A ) @ ( interrupt_action @ B ) @ ( interr6514223866936857682action @ A @ B @ F4 ) @ ( top_top @ ( set @ ( interrupt_action @ A ) ) ) ) ) )).

% interrupt_action.inj_map
thf(fact_983_interrupt__action_Opred__inject_I1_J,axiom,(
    ! [T: $tType,P: T > $o,A3: T,Aa4: $o] :
      ( ( interr8158014761281175971action @ T @ P @ ( interr5885539089632487139rupted @ T @ A3 @ Aa4 ) )
      = ( P @ A3 ) ) )).

% interrupt_action.pred_inject(1)
thf(fact_984_finfun__const__def,axiom,(
    ! [A: $tType,B: $tType] :
      ( ( finfun_const @ B @ A )
      = ( map_fun @ B @ B @ ( A > B ) @ ( finfun @ A @ B ) @ ( id @ B ) @ ( abs_finfun @ A @ B )
        @ ^ [B5: B,X4: A] : B5 ) ) )).

% finfun_const_def
thf(fact_985_Sigma__cong,axiom,(
    ! [B: $tType,A: $tType,A6: set @ A,B6: set @ A,C6: A > ( set @ B ),D4: A > ( set @ B )] :
      ( ( A6 = B6 )
     => ( ! [X5: A] :
            ( ( member @ A @ X5 @ B6 )
           => ( ( C6 @ X5 )
              = ( D4 @ X5 ) ) )
       => ( ( product_Sigma @ A @ B @ A6 @ C6 )
          = ( product_Sigma @ A @ B @ B6 @ D4 ) ) ) ) )).

% Sigma_cong
thf(fact_986_wait__set__action_Omap_I1_J,axiom,(
    ! [T: $tType,A: $tType,B: $tType,W: $tType,F1: T > A,F22: W > B,X1: W] :
      ( ( wait_s8865918783579551590action @ T @ A @ W @ B @ F1 @ F22 @ ( wait_set_Suspend @ W @ T @ X1 ) )
      = ( wait_set_Suspend @ B @ A @ ( F22 @ X1 ) ) ) )).

% wait_set_action.map(1)
thf(fact_987_Times__eq__cancel2,axiom,(
    ! [A: $tType,B: $tType,X3: A,C6: set @ A,A6: set @ B,B6: set @ B] :
      ( ( member @ A @ X3 @ C6 )
     => ( ( ( product_Sigma @ B @ A @ A6
            @ ^ [Uu: B] : C6 )
          = ( product_Sigma @ B @ A @ B6
            @ ^ [Uu: B] : C6 ) )
        = ( A6 = B6 ) ) ) )).

% Times_eq_cancel2
thf(fact_988_order__refl,axiom,(
    ! [A: $tType] :
      ( ( preorder @ A )
     => ! [X3: A] :
          ( ord_less_eq @ A @ X3 @ X3 ) ) )).

% order_refl
thf(fact_989_SigmaE2,axiom,(
    ! [B: $tType,A: $tType,A3: A,B3: B,A6: set @ A,B6: A > ( set @ B )] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) )
     => ~ ( ( member @ A @ A3 @ A6 )
         => ~ ( member @ B @ B3 @ ( B6 @ A3 ) ) ) ) )).

% SigmaE2
thf(fact_990_fun__upd__upd,axiom,(
    ! [A: $tType,B: $tType,F4: A > B,X3: A,Y: B,Z4: B] :
      ( ( fun_upd @ A @ B @ ( fun_upd @ A @ B @ F4 @ X3 @ Y ) @ X3 @ Z4 )
      = ( fun_upd @ A @ B @ F4 @ X3 @ Z4 ) ) )).

% fun_upd_upd
thf(fact_991_SigmaD2,axiom,(
    ! [B: $tType,A: $tType,A3: A,B3: B,A6: set @ A,B6: A > ( set @ B )] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) )
     => ( member @ B @ B3 @ ( B6 @ A3 ) ) ) )).

% SigmaD2
thf(fact_992_option_Osimps_I3_J,axiom,(
    ! [A: $tType,X2: A] :
      ( ( some @ A @ X2 )
     != ( none @ A ) ) )).

% option.simps(3)
thf(fact_993_SigmaD1,axiom,(
    ! [B: $tType,A: $tType,A3: A,B3: B,A6: set @ A,B6: A > ( set @ B )] :
      ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ A3 @ B3 ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) )
     => ( member @ A @ A3 @ A6 ) ) )).

% SigmaD1
thf(fact_994_wait__set__action_Osimps_I99_J,axiom,(
    ! [T: $tType,W: $tType] :
      ( ( wait_s6444424490270475060action @ T @ W @ ( wait_set_Notified @ T @ W ) )
      = ( bot_bot @ ( set @ W ) ) ) )).

% wait_set_action.simps(99)
thf(fact_995_interrupt__action_Opred__cong,axiom,(
    ! [A: $tType,X3: interrupt_action @ A,Ya2: interrupt_action @ A,P: A > $o,Pa: A > $o] :
      ( ( X3 = Ya2 )
     => ( ! [Z3: A] :
            ( ( member @ A @ Z3 @ ( interr3053324309844243148action @ A @ Ya2 ) )
           => ( ( P @ Z3 )
              = ( Pa @ Z3 ) ) )
       => ( ( interr8158014761281175971action @ A @ P @ X3 )
          = ( interr8158014761281175971action @ A @ Pa @ Ya2 ) ) ) ) )).

% interrupt_action.pred_cong
thf(fact_996_Collect__case__prod__Sigma,axiom,(
    ! [B: $tType,A: $tType,P: A > $o,Q: A > B > $o] :
      ( ( collect @ ( product_prod @ A @ B )
        @ ( product_case_prod @ A @ B @ $o
          @ ^ [X4: A,Y5: B] :
              ( ( P @ X4 )
              & ( Q @ X4 @ Y5 ) ) ) )
      = ( product_Sigma @ A @ B @ ( collect @ A @ P )
        @ ^ [X4: A] :
            ( collect @ B @ ( Q @ X4 ) ) ) ) )).

% Collect_case_prod_Sigma
thf(fact_997_new__thread__action_Osize__gen__o__map,axiom,(
    ! [X: $tType,B: $tType,A: $tType,T: $tType,C: $tType,M: $tType,F4: A > nat,Fa: B > nat,Fb: C > nat,G4: T > A,Ga: X > B,Gb: M > C] :
      ( ( comp @ ( new_thread_action @ A @ B @ C ) @ nat @ ( new_thread_action @ T @ X @ M ) @ ( new_th2129853655951111683action @ A @ B @ C @ F4 @ Fa @ Fb ) @ ( new_th6052504119144402208action @ T @ A @ X @ B @ M @ C @ G4 @ Ga @ Gb ) )
      = ( new_th2129853655951111683action @ T @ X @ M @ ( comp @ A @ nat @ T @ F4 @ G4 ) @ ( comp @ B @ nat @ X @ Fa @ Ga ) @ ( comp @ C @ nat @ M @ Fb @ Gb ) ) ) )).

% new_thread_action.size_gen_o_map
thf(fact_998_Sigma__mono,axiom,(
    ! [B: $tType,A: $tType,A6: set @ A,C6: set @ A,B6: A > ( set @ B ),D4: A > ( set @ B )] :
      ( ( ord_less_eq @ ( set @ A ) @ A6 @ C6 )
     => ( ! [X5: A] :
            ( ( member @ A @ X5 @ A6 )
           => ( ord_less_eq @ ( set @ B ) @ ( B6 @ X5 ) @ ( D4 @ X5 ) ) )
       => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ ( product_Sigma @ A @ B @ A6 @ B6 ) @ ( product_Sigma @ A @ B @ C6 @ D4 ) ) ) ) )).

% Sigma_mono
thf(fact_999_interrupt__action_Oset__cases,axiom,(
    ! [T: $tType,E3: T,A3: interrupt_action @ T] :
      ( ( member @ T @ E3 @ ( interr3053324309844243148action @ T @ A3 ) )
     => ( ! [Z22: $o] :
            ( A3
           != ( interr5885539089632487139rupted @ T @ E3 @ Z22 ) )
       => ( ( A3
           != ( interrupt_Interrupt @ T @ E3 ) )
         => ( A3
            = ( interr7976201102587534891errupt @ T @ E3 ) ) ) ) ) )).

% interrupt_action.set_cases
thf(fact_1000_Sigma__Un__distrib1,axiom,(
    ! [B: $tType,A: $tType,I4: set @ A,J3: set @ A,C6: A > ( set @ B )] :
      ( ( product_Sigma @ A @ B @ ( sup_sup @ ( set @ A ) @ I4 @ J3 ) @ C6 )
      = ( sup_sup @ ( set @ ( product_prod @ A @ B ) ) @ ( product_Sigma @ A @ B @ I4 @ C6 ) @ ( product_Sigma @ A @ B @ J3 @ C6 ) ) ) )).

% Sigma_Un_distrib1
thf(fact_1001_wait__set__action_Osimps_I93_J,axiom,(
    ! [W: $tType,T: $tType] :
      ( ( wait_s8753297657872117365action @ T @ W @ ( wait_set_Notified @ T @ W ) )
      = ( bot_bot @ ( set @ T ) ) ) )).

% wait_set_action.simps(93)
thf(fact_1002_Times__subset__cancel2,axiom,(
    ! [A: $tType,B: $tType,X3: A,C6: set @ A,A6: set @ B,B6: set @ B] :
      ( ( member @ A @ X3 @ C6 )
     => ( ( ord_less_eq @ ( set @ ( product_prod @ B @ A ) )
          @ ( product_Sigma @ B @ A @ A6
            @ ^ [Uu: B] : C6 )
          @ ( product_Sigma @ B @ A @ B6
            @ ^ [Uu: B] : C6 ) )
        = ( ord_less_eq @ ( set @ B ) @ A6 @ B6 ) ) ) )).

% Times_subset_cancel2
thf(fact_1003_interrupt__action_Opred__mono__strong,axiom,(
    ! [A: $tType,P: A > $o,X3: interrupt_action @ A,Pa: A > $o] :
      ( ( interr8158014761281175971action @ A @ P @ X3 )
     => ( ! [Z3: A] :
            ( ( member @ A @ Z3 @ ( interr3053324309844243148action @ A @ X3 ) )
           => ( ( P @ Z3 )
             => ( Pa @ Z3 ) ) )
       => ( interr8158014761281175971action @ A @ Pa @ X3 ) ) ) )).

% interrupt_action.pred_mono_strong
thf(fact_1004_mem__Times__iff,axiom,(
    ! [A: $tType,B: $tType,X3: product_prod @ A @ B,A6: set @ A,B6: set @ B] :
      ( ( member @ ( product_prod @ A @ B ) @ X3
        @ ( product_Sigma @ A @ B @ A6
          @ ^ [Uu: A] : B6 ) )
      = ( ( member @ A @ ( product_fst @ A @ B @ X3 ) @ A6 )
        & ( member @ B @ ( product_snd @ A @ B @ X3 ) @ B6 ) ) ) )).

% mem_Times_iff
thf(fact_1005_interrupt__action_Omap_I3_J,axiom,(
    ! [A: $tType,T: $tType,F4: T > A,X32: T] :
      ( ( interr6514223866936857682action @ T @ A @ F4 @ ( interr7976201102587534891errupt @ T @ X32 ) )
      = ( interr7976201102587534891errupt @ A @ ( F4 @ X32 ) ) ) )).

% interrupt_action.map(3)
thf(fact_1006_Times__Un__distrib1,axiom,(
    ! [B: $tType,A: $tType,A6: set @ A,B6: set @ A,C6: set @ B] :
      ( ( product_Sigma @ A @ B @ ( sup_sup @ ( set @ A ) @ A6 @ B6 )
        @ ^ [Uu: A] : C6 )
      = ( sup_sup @ ( set @ ( product_prod @ A @ B ) )
        @ ( product_Sigma @ A @ B @ A6
          @ ^ [Uu: A] : C6 )
        @ ( product_Sigma @ A @ B @ B6
          @ ^ [Uu: A] : C6 ) ) ) )).

% Times_Un_distrib1
thf(fact_1007_interrupt__action_ODomainp__rel,axiom,(
    ! [B: $tType,A: $tType,R: A > B > $o] :
      ( ( domainp @ ( interrupt_action @ A ) @ ( interrupt_action @ B ) @ ( interr1799892525631285141action @ A @ B @ R ) )
      = ( interr8158014761281175971action @ A @ ( domainp @ A @ B @ R ) ) ) )).

% interrupt_action.Domainp_rel
thf(fact_1008_Sigma__Un__distrib2,axiom,(
    ! [B: $tType,A: $tType,I4: set @ A,A6: A > ( set @ B ),B6: A > ( set @ B )] :
      ( ( product_Sigma @ A @ B @ I4
        @ ^ [I3: A] :
            ( sup_sup @ ( set @ B ) @ ( A6 @ I3 ) @ ( B6 @ I3 ) ) )
      = ( sup_sup @ ( set @ ( product_prod @ A @ B ) ) @ ( product_Sigma @ A @ B @ I4 @ A6 ) @ ( product_Sigma @ A @ B @ I4 @ B6 ) ) ) )).

% Sigma_Un_distrib2
thf(fact_1009_right__unique__eq,axiom,(
    ! [A: $tType] :
      ( right_unique @ A @ A
      @ ^ [Y3: A,Z: A] : ( Y3 = Z ) ) )).

% right_unique_eq
thf(fact_1010_product__swap,axiom,(
    ! [B: $tType,A: $tType,A6: set @ B,B6: set @ A] :
      ( ( image2 @ ( product_prod @ B @ A ) @ ( product_prod @ A @ B ) @ ( product_swap @ B @ A )
        @ ( product_Sigma @ B @ A @ A6
          @ ^ [Uu: B] : B6 ) )
      = ( product_Sigma @ A @ B @ B6
        @ ^ [Uu: A] : A6 ) ) )).

% product_swap
thf(fact_1011_new__thread__action_Ocase__distrib,axiom,(
    ! [A: $tType,B: $tType,M: $tType,X: $tType,T: $tType,H: A > B,F1: T > X > M > A,F22: T > $o > A,New_thread_action: new_thread_action @ T @ X @ M] :
      ( ( H @ ( new_th5509480840830140020action @ T @ X @ M @ A @ F1 @ F22 @ New_thread_action ) )
      = ( new_th5509480840830140020action @ T @ X @ M @ B
        @ ^ [X15: T,X24: X,X34: M] :
            ( H @ ( F1 @ X15 @ X24 @ X34 ) )
        @ ^ [X15: T,X24: $o] :
            ( H @ ( F22 @ X15 @ X24 ) )
        @ New_thread_action ) ) )).

% new_thread_action.case_distrib
thf(fact_1012_swap__product,axiom,(
    ! [B: $tType,A: $tType,A6: set @ B,B6: set @ A] :
      ( ( image2 @ ( product_prod @ B @ A ) @ ( product_prod @ A @ B )
        @ ( product_case_prod @ B @ A @ ( product_prod @ A @ B )
          @ ^ [I3: B,J: A] :
              ( product_Pair @ A @ B @ J @ I3 ) )
        @ ( product_Sigma @ B @ A @ A6
          @ ^ [Uu: B] : B6 ) )
      = ( product_Sigma @ A @ B @ B6
        @ ^ [Uu: A] : A6 ) ) )).

% swap_product
thf(fact_1013_finfun__Diag__const2,axiom,(
    ! [C: $tType,B: $tType,A: $tType,F4: finfun @ A @ B,C3: C] :
      ( ( finfun_Diag @ A @ B @ C @ F4 @ ( finfun_const @ C @ A @ C3 ) )
      = ( finfun_comp @ B @ ( product_prod @ B @ C ) @ A
        @ ^ [B5: B] :
            ( product_Pair @ B @ C @ B5 @ C3 )
        @ F4 ) ) )).

% finfun_Diag_const2
thf(fact_1014_map__prod__surj__on,axiom,(
    ! [B: $tType,D: $tType,C: $tType,A: $tType,F4: B > A,A6: set @ B,A14: set @ A,G4: D > C,B6: set @ D,B10: set @ C] :
      ( ( ( image2 @ B @ A @ F4 @ A6 )
        = A14 )
     => ( ( ( image2 @ D @ C @ G4 @ B6 )
          = B10 )
       => ( ( image2 @ ( product_prod @ B @ D ) @ ( product_prod @ A @ C ) @ ( product_map_prod @ B @ A @ D @ C @ F4 @ G4 )
            @ ( product_Sigma @ B @ D @ A6
              @ ^ [Uu: B] : B6 ) )
          = ( product_Sigma @ A @ C @ A14
            @ ^ [Uu: A] : B10 ) ) ) ) )).

% map_prod_surj_on
thf(fact_1015_interrupt__action_Orel__inject_I3_J,axiom,(
    ! [T: $tType,A: $tType,R: T > A > $o,X32: T,Y32: A] :
      ( ( interr1799892525631285141action @ T @ A @ R @ ( interr7976201102587534891errupt @ T @ X32 ) @ ( interr7976201102587534891errupt @ A @ Y32 ) )
      = ( R @ X32 @ Y32 ) ) )).

% interrupt_action.rel_inject(3)
thf(fact_1016_collect__comp,axiom,(
    ! [A: $tType,B: $tType,C: $tType,F6: set @ ( C > ( set @ B ) ),G4: A > C] :
      ( ( comp @ C @ ( set @ B ) @ A @ ( bNF_collect @ C @ B @ F6 ) @ G4 )
      = ( bNF_collect @ A @ B
        @ ( image2 @ ( C > ( set @ B ) ) @ ( A > ( set @ B ) )
          @ ^ [F3: C > ( set @ B )] :
              ( comp @ C @ ( set @ B ) @ A @ F3 @ G4 )
          @ F6 ) ) ) )).

% collect_comp
thf(fact_1017_interrupt__action_Orel__intros_I3_J,axiom,(
    ! [T: $tType,A: $tType,R: T > A > $o,X32: T,Y32: A] :
      ( ( R @ X32 @ Y32 )
     => ( interr1799892525631285141action @ T @ A @ R @ ( interr7976201102587534891errupt @ T @ X32 ) @ ( interr7976201102587534891errupt @ A @ Y32 ) ) ) )).

% interrupt_action.rel_intros(3)
thf(fact_1018_subset__fst__snd,axiom,(
    ! [B: $tType,A: $tType,A6: set @ ( product_prod @ A @ B )] :
      ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ A6
      @ ( product_Sigma @ A @ B @ ( image2 @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B ) @ A6 )
        @ ^ [Uu: A] :
            ( image2 @ ( product_prod @ A @ B ) @ B @ ( product_snd @ A @ B ) @ A6 ) ) ) )).

% subset_fst_snd
thf(fact_1019_interrupt__action_Orel__intros_I2_J,axiom,(
    ! [T: $tType,A: $tType,R: T > A > $o,X2: T,Y2: A] :
      ( ( R @ X2 @ Y2 )
     => ( interr1799892525631285141action @ T @ A @ R @ ( interrupt_Interrupt @ T @ X2 ) @ ( interrupt_Interrupt @ A @ Y2 ) ) ) )).

% interrupt_action.rel_intros(2)
thf(fact_1020_subset__fst__imageI,axiom,(
    ! [B: $tType,A: $tType,A6: set @ A,B6: set @ B,S3: set @ ( product_prod @ A @ B ),Y: B] :
      ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) )
        @ ( product_Sigma @ A @ B @ A6
          @ ^ [Uu: A] : B6 )
        @ S3 )
     => ( ( member @ B @ Y @ B6 )
       => ( ord_less_eq @ ( set @ A ) @ A6 @ ( image2 @ ( product_prod @ A @ B ) @ A @ ( product_fst @ A @ B ) @ S3 ) ) ) ) )).

% subset_fst_imageI
thf(fact_1021_wait__set__action_Oset_I10_J,axiom,(
    ! [T: $tType,W: $tType,X42: T] :
      ( ( wait_s6444424490270475060action @ T @ W @ ( wait_set_WakeUp @ T @ W @ X42 ) )
      = ( bot_bot @ ( set @ W ) ) ) )).

% wait_set_action.set(10)

% Type constructors (221)
thf(tcon_FWState_Oconditional__action___Code__Evaluation_Oterm__of,axiom,(
    ! [A15: $tType] :
      ( ( typerep2 @ A15 )
     => ( code_term_of @ ( conditional_action @ A15 ) ) ) )).

thf(tcon_FWState_Onew__thread__action___Code__Evaluation_Oterm__of_1,axiom,(
    ! [A15: $tType,A16: $tType,A17: $tType] :
      ( ( ( typerep2 @ A15 )
        & ( typerep2 @ A16 )
        & ( typerep2 @ A17 ) )
     => ( code_term_of @ ( new_thread_action @ A15 @ A16 @ A17 ) ) ) )).

thf(tcon_FWState_Ointerrupt__action___Code__Evaluation_Oterm__of_2,axiom,(
    ! [A15: $tType] :
      ( ( typerep2 @ A15 )
     => ( code_term_of @ ( interrupt_action @ A15 ) ) ) )).

thf(tcon_FWState_Owait__set__action___Code__Evaluation_Oterm__of_3,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( typerep2 @ A15 )
        & ( typerep2 @ A16 ) )
     => ( code_term_of @ ( wait_set_action @ A15 @ A16 ) ) ) )).

thf(tcon_Code__Numeral_Onatural___Code__Evaluation_Oterm__of_4,axiom,(
    code_term_of @ code_natural )).

thf(tcon_Code__Numeral_Onatural___Cardinality_Ocard__UNIV,axiom,(
    card_UNIV @ code_natural )).

thf(tcon_Code__Numeral_Ointeger___Code__Evaluation_Oterm__of_5,axiom,(
    code_term_of @ code_integer )).

thf(tcon_Code__Numeral_Ointeger___Cardinality_Ocard__UNIV_6,axiom,(
    card_UNIV @ code_integer )).

thf(tcon_Code__Evaluation_Oterm___Code__Evaluation_Oterm__of_7,axiom,(
    code_term_of @ code_term )).

thf(tcon_FWState_Olock__action___Code__Evaluation_Oterm__of_8,axiom,(
    code_term_of @ lock_action )).

thf(tcon_Product__Type_Ounit___Lattices_Obounded__lattice,axiom,(
    bounded_lattice @ product_unit )).

thf(tcon_Product__Type_Ounit___Code__Evaluation_Oterm__of_9,axiom,(
    code_term_of @ product_unit )).

thf(tcon_Product__Type_Ounit___Enum_Oenum,axiom,(
    enum @ product_unit )).

thf(tcon_Product__Type_Ounit___Cardinality_Ocard__UNIV_10,axiom,(
    card_UNIV @ product_unit )).

thf(tcon_Product__Type_Oprod___Code__Evaluation_Oterm__of_11,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( typerep2 @ A15 )
        & ( typerep2 @ A16 ) )
     => ( code_term_of @ ( product_prod @ A15 @ A16 ) ) ) )).

thf(tcon_Product__Type_Oprod___Enum_Oenum_12,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( enum @ A15 )
        & ( enum @ A16 ) )
     => ( enum @ ( product_prod @ A15 @ A16 ) ) ) )).

thf(tcon_Product__Type_Oprod___Cardinality_Ocard__UNIV_13,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( card_UNIV @ A15 )
        & ( card_UNIV @ A16 ) )
     => ( card_UNIV @ ( product_prod @ A15 @ A16 ) ) ) )).

thf(tcon_Typerep_Otyperep___Code__Evaluation_Oterm__of_14,axiom,(
    code_term_of @ typerep )).

thf(tcon_String_Oliteral___Code__Evaluation_Oterm__of_15,axiom,(
    code_term_of @ literal )).

thf(tcon_String_Oliteral___Cardinality_Ocard__UNIV_16,axiom,(
    card_UNIV @ literal )).

thf(tcon_Predicate_Opred___Lattices_Obounded__lattice_17,axiom,(
    ! [A15: $tType] :
      ( bounded_lattice @ ( pred @ A15 ) ) )).

thf(tcon_Predicate_Opred___Code__Evaluation_Oterm__of_18,axiom,(
    ! [A15: $tType] :
      ( ( typerep2 @ A15 )
     => ( code_term_of @ ( pred @ A15 ) ) ) )).

thf(tcon_Predicate_Oseq___Code__Evaluation_Oterm__of_19,axiom,(
    ! [A15: $tType] :
      ( ( typerep2 @ A15 )
     => ( code_term_of @ ( seq @ A15 ) ) ) )).

thf(tcon_Option_Ooption___Code__Evaluation_Oterm__of_20,axiom,(
    ! [A15: $tType] :
      ( ( typerep2 @ A15 )
     => ( code_term_of @ ( option @ A15 ) ) ) )).

thf(tcon_Option_Ooption___Enum_Oenum_21,axiom,(
    ! [A15: $tType] :
      ( ( enum @ A15 )
     => ( enum @ ( option @ A15 ) ) ) )).

thf(tcon_Option_Ooption___Cardinality_Ocard__UNIV_22,axiom,(
    ! [A15: $tType] :
      ( ( card_UNIV @ A15 )
     => ( card_UNIV @ ( option @ A15 ) ) ) )).

thf(tcon_FinFun_Ofinfun___Code__Evaluation_Oterm__of_23,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( typerep2 @ A15 )
        & ( typerep2 @ A16 ) )
     => ( code_term_of @ ( finfun @ A15 @ A16 ) ) ) )).

thf(tcon_FinFun_Ofinfun___Cardinality_Ocard__UNIV_24,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( card_UNIV @ A15 )
        & ( card_UNIV @ A16 ) )
     => ( card_UNIV @ ( finfun @ A15 @ A16 ) ) ) )).

thf(tcon_Filter_Ofilter___Lattices_Obounded__lattice_25,axiom,(
    ! [A15: $tType] :
      ( bounded_lattice @ ( filter @ A15 ) ) )).

thf(tcon_Filter_Ofilter___Code__Evaluation_Oterm__of_26,axiom,(
    ! [A15: $tType] :
      ( ( typerep2 @ A15 )
     => ( code_term_of @ ( filter @ A15 ) ) ) )).

thf(tcon_List_Olist___Code__Evaluation_Oterm__of_27,axiom,(
    ! [A15: $tType] :
      ( ( typerep2 @ A15 )
     => ( code_term_of @ ( list @ A15 ) ) ) )).

thf(tcon_List_Olist___Cardinality_Ocard__UNIV_28,axiom,(
    ! [A15: $tType] :
      ( card_UNIV @ ( list @ A15 ) ) )).

thf(tcon_HOL_Obool___Lattices_Obounded__lattice_29,axiom,(
    bounded_lattice @ $o )).

thf(tcon_HOL_Obool___Code__Evaluation_Oterm__of_30,axiom,(
    code_term_of @ $o )).

thf(tcon_HOL_Obool___Enum_Oenum_31,axiom,(
    enum @ $o )).

thf(tcon_HOL_Obool___Cardinality_Ocard__UNIV_32,axiom,(
    card_UNIV @ $o )).

thf(tcon_Set_Oset___Lattices_Obounded__lattice_33,axiom,(
    ! [A15: $tType] :
      ( bounded_lattice @ ( set @ A15 ) ) )).

thf(tcon_Set_Oset___Code__Evaluation_Oterm__of_34,axiom,(
    ! [A15: $tType] :
      ( ( typerep2 @ A15 )
     => ( code_term_of @ ( set @ A15 ) ) ) )).

thf(tcon_Set_Oset___Enum_Oenum_35,axiom,(
    ! [A15: $tType] :
      ( ( enum @ A15 )
     => ( enum @ ( set @ A15 ) ) ) )).

thf(tcon_Set_Oset___Cardinality_Ocard__UNIV_36,axiom,(
    ! [A15: $tType] :
      ( ( card_UNIV @ A15 )
     => ( card_UNIV @ ( set @ A15 ) ) ) )).

thf(tcon_Nat_Onat___Code__Evaluation_Oterm__of_37,axiom,(
    code_term_of @ nat )).

thf(tcon_Nat_Onat___Cardinality_Ocard__UNIV_38,axiom,(
    card_UNIV @ nat )).

thf(tcon_Int_Oint___Code__Evaluation_Oterm__of_39,axiom,(
    code_term_of @ int )).

thf(tcon_Int_Oint___Cardinality_Ocard__UNIV_40,axiom,(
    card_UNIV @ int )).

thf(tcon_itself___Code__Evaluation_Oterm__of_41,axiom,(
    ! [A15: $tType] :
      ( ( typerep2 @ A15 )
     => ( code_term_of @ ( itself @ A15 ) ) ) )).

thf(tcon_fun___Lattices_Obounded__lattice_42,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( bounded_lattice @ A16 )
     => ( bounded_lattice @ ( A15 > A16 ) ) ) )).

thf(tcon_fun___Code__Evaluation_Oterm__of_43,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( typerep2 @ A15 )
        & ( typerep2 @ A16 ) )
     => ( code_term_of @ ( A15 > A16 ) ) ) )).

thf(tcon_fun___Enum_Oenum_44,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( enum @ A15 )
        & ( enum @ A16 ) )
     => ( enum @ ( A15 > A16 ) ) ) )).

thf(tcon_fun___Cardinality_Ocard__UNIV_45,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( card_UNIV @ A15 )
        & ( card_UNIV @ A16 ) )
     => ( card_UNIV @ ( A15 > A16 ) ) ) )).

thf(tcon_fun___Quickcheck__Exhaustive_Ofull__exhaustive,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( cl_HOL_Oequal @ A15 )
        & ( quickc3360725361186068524ustive @ A15 )
        & ( quickc3360725361186068524ustive @ A16 ) )
     => ( quickc3360725361186068524ustive @ ( A15 > A16 ) ) ) )).

thf(tcon_fun___Lattices_Obounded__semilattice__sup__bot,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( bounded_lattice @ A16 )
     => ( bounde4967611905675639751up_bot @ ( A15 > A16 ) ) ) )).

thf(tcon_fun___Quickcheck__Exhaustive_Oexhaustive,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( cl_HOL_Oequal @ A15 )
        & ( quickc658316121487927005ustive @ A15 )
        & ( quickc658316121487927005ustive @ A16 ) )
     => ( quickc658316121487927005ustive @ ( A15 > A16 ) ) ) )).

thf(tcon_fun___Lattices_Obounded__lattice__top,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( bounded_lattice @ A16 )
     => ( bounded_lattice_top @ ( A15 > A16 ) ) ) )).

thf(tcon_fun___Quickcheck__Random_Orandom,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( code_term_of @ A15 )
        & ( cl_HOL_Oequal @ A15 )
        & ( quickcheck_random @ A16 ) )
     => ( quickcheck_random @ ( A15 > A16 ) ) ) )).

thf(tcon_fun___Lattices_Osemilattice__sup,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( semilattice_sup @ A16 )
     => ( semilattice_sup @ ( A15 > A16 ) ) ) )).

thf(tcon_fun___Lattices_Osemilattice__inf,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( semilattice_inf @ A16 )
     => ( semilattice_inf @ ( A15 > A16 ) ) ) )).

thf(tcon_fun___Orderings_Opreorder,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( preorder @ A16 )
     => ( preorder @ ( A15 > A16 ) ) ) )).

thf(tcon_fun___Lattices_Olattice,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( lattice @ A16 )
     => ( lattice @ ( A15 > A16 ) ) ) )).

thf(tcon_fun___Typerep_Otyperep,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( typerep2 @ A15 )
        & ( typerep2 @ A16 ) )
     => ( typerep2 @ ( A15 > A16 ) ) ) )).

thf(tcon_fun___Orderings_Oorder,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( order @ A16 )
     => ( order @ ( A15 > A16 ) ) ) )).

thf(tcon_fun___Orderings_Oord,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ord @ A16 )
     => ( ord @ ( A15 > A16 ) ) ) )).

thf(tcon_fun___HOL_Oequal,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( enum @ A15 )
        & ( cl_HOL_Oequal @ A16 ) )
     => ( cl_HOL_Oequal @ ( A15 > A16 ) ) ) )).

thf(tcon_itself___Quickcheck__Random_Orandom_46,axiom,(
    ! [A15: $tType] :
      ( ( typerep2 @ A15 )
     => ( quickcheck_random @ ( itself @ A15 ) ) ) )).

thf(tcon_itself___Typerep_Otyperep_47,axiom,(
    ! [A15: $tType] :
      ( ( typerep2 @ A15 )
     => ( typerep2 @ ( itself @ A15 ) ) ) )).

thf(tcon_itself___HOL_Oequal_48,axiom,(
    ! [A15: $tType] :
      ( cl_HOL_Oequal @ ( itself @ A15 ) ) )).

thf(tcon_Int_Oint___Quickcheck__Exhaustive_Ofull__exhaustive_49,axiom,(
    quickc3360725361186068524ustive @ int )).

thf(tcon_Int_Oint___Quickcheck__Exhaustive_Oexhaustive_50,axiom,(
    quickc658316121487927005ustive @ int )).

thf(tcon_Int_Oint___Quickcheck__Random_Orandom_51,axiom,(
    quickcheck_random @ int )).

thf(tcon_Int_Oint___Lattices_Osemilattice__sup_52,axiom,(
    semilattice_sup @ int )).

thf(tcon_Int_Oint___Lattices_Osemilattice__inf_53,axiom,(
    semilattice_inf @ int )).

thf(tcon_Int_Oint___Orderings_Opreorder_54,axiom,(
    preorder @ int )).

thf(tcon_Int_Oint___Orderings_Olinorder,axiom,(
    linorder @ int )).

thf(tcon_Int_Oint___Groups_Omonoid__add,axiom,(
    monoid_add @ int )).

thf(tcon_Int_Oint___Lattices_Olattice_55,axiom,(
    lattice @ int )).

thf(tcon_Int_Oint___Typerep_Otyperep_56,axiom,(
    typerep2 @ int )).

thf(tcon_Int_Oint___Orderings_Oorder_57,axiom,(
    order @ int )).

thf(tcon_Int_Oint___Orderings_Oord_58,axiom,(
    ord @ int )).

thf(tcon_Int_Oint___HOL_Oequal_59,axiom,(
    cl_HOL_Oequal @ int )).

thf(tcon_Nat_Onat___Quickcheck__Exhaustive_Ofull__exhaustive_60,axiom,(
    quickc3360725361186068524ustive @ nat )).

thf(tcon_Nat_Onat___Quickcheck__Exhaustive_Oexhaustive_61,axiom,(
    quickc658316121487927005ustive @ nat )).

thf(tcon_Nat_Onat___Quickcheck__Random_Orandom_62,axiom,(
    quickcheck_random @ nat )).

thf(tcon_Nat_Onat___Lattices_Osemilattice__sup_63,axiom,(
    semilattice_sup @ nat )).

thf(tcon_Nat_Onat___Lattices_Osemilattice__inf_64,axiom,(
    semilattice_inf @ nat )).

thf(tcon_Nat_Onat___Orderings_Opreorder_65,axiom,(
    preorder @ nat )).

thf(tcon_Nat_Onat___Orderings_Olinorder_66,axiom,(
    linorder @ nat )).

thf(tcon_Nat_Onat___Groups_Omonoid__add_67,axiom,(
    monoid_add @ nat )).

thf(tcon_Nat_Onat___Lattices_Olattice_68,axiom,(
    lattice @ nat )).

thf(tcon_Nat_Onat___Typerep_Otyperep_69,axiom,(
    typerep2 @ nat )).

thf(tcon_Nat_Onat___Orderings_Oorder_70,axiom,(
    order @ nat )).

thf(tcon_Nat_Onat___Orderings_Oord_71,axiom,(
    ord @ nat )).

thf(tcon_Nat_Onat___HOL_Oequal_72,axiom,(
    cl_HOL_Oequal @ nat )).

thf(tcon_Set_Oset___Quickcheck__Exhaustive_Ofull__exhaustive_73,axiom,(
    ! [A15: $tType] :
      ( ( quickc3360725361186068524ustive @ A15 )
     => ( quickc3360725361186068524ustive @ ( set @ A15 ) ) ) )).

thf(tcon_Set_Oset___Lattices_Obounded__semilattice__sup__bot_74,axiom,(
    ! [A15: $tType] :
      ( bounde4967611905675639751up_bot @ ( set @ A15 ) ) )).

thf(tcon_Set_Oset___Quickcheck__Exhaustive_Oexhaustive_75,axiom,(
    ! [A15: $tType] :
      ( ( quickc658316121487927005ustive @ A15 )
     => ( quickc658316121487927005ustive @ ( set @ A15 ) ) ) )).

thf(tcon_Set_Oset___Lattices_Obounded__lattice__top_76,axiom,(
    ! [A15: $tType] :
      ( bounded_lattice_top @ ( set @ A15 ) ) )).

thf(tcon_Set_Oset___Quickcheck__Random_Orandom_77,axiom,(
    ! [A15: $tType] :
      ( ( quickcheck_random @ A15 )
     => ( quickcheck_random @ ( set @ A15 ) ) ) )).

thf(tcon_Set_Oset___Lattices_Osemilattice__sup_78,axiom,(
    ! [A15: $tType] :
      ( semilattice_sup @ ( set @ A15 ) ) )).

thf(tcon_Set_Oset___Lattices_Osemilattice__inf_79,axiom,(
    ! [A15: $tType] :
      ( semilattice_inf @ ( set @ A15 ) ) )).

thf(tcon_Set_Oset___Orderings_Opreorder_80,axiom,(
    ! [A15: $tType] :
      ( preorder @ ( set @ A15 ) ) )).

thf(tcon_Set_Oset___Lattices_Olattice_81,axiom,(
    ! [A15: $tType] :
      ( lattice @ ( set @ A15 ) ) )).

thf(tcon_Set_Oset___Typerep_Otyperep_82,axiom,(
    ! [A15: $tType] :
      ( ( typerep2 @ A15 )
     => ( typerep2 @ ( set @ A15 ) ) ) )).

thf(tcon_Set_Oset___Orderings_Oorder_83,axiom,(
    ! [A15: $tType] :
      ( order @ ( set @ A15 ) ) )).

thf(tcon_Set_Oset___Orderings_Oord_84,axiom,(
    ! [A15: $tType] :
      ( ord @ ( set @ A15 ) ) )).

thf(tcon_Set_Oset___HOL_Oequal_85,axiom,(
    ! [A15: $tType] :
      ( ( cl_HOL_Oequal @ A15 )
     => ( cl_HOL_Oequal @ ( set @ A15 ) ) ) )).

thf(tcon_HOL_Obool___Quickcheck__Exhaustive_Ofull__exhaustive_86,axiom,(
    quickc3360725361186068524ustive @ $o )).

thf(tcon_HOL_Obool___Lattices_Obounded__semilattice__sup__bot_87,axiom,(
    bounde4967611905675639751up_bot @ $o )).

thf(tcon_HOL_Obool___Lattices_Obounded__lattice__top_88,axiom,(
    bounded_lattice_top @ $o )).

thf(tcon_HOL_Obool___Quickcheck__Random_Orandom_89,axiom,(
    quickcheck_random @ $o )).

thf(tcon_HOL_Obool___Lattices_Osemilattice__sup_90,axiom,(
    semilattice_sup @ $o )).

thf(tcon_HOL_Obool___Lattices_Osemilattice__inf_91,axiom,(
    semilattice_inf @ $o )).

thf(tcon_HOL_Obool___Orderings_Opreorder_92,axiom,(
    preorder @ $o )).

thf(tcon_HOL_Obool___Orderings_Olinorder_93,axiom,(
    linorder @ $o )).

thf(tcon_HOL_Obool___Lattices_Olattice_94,axiom,(
    lattice @ $o )).

thf(tcon_HOL_Obool___Typerep_Otyperep_95,axiom,(
    typerep2 @ $o )).

thf(tcon_HOL_Obool___Orderings_Oorder_96,axiom,(
    order @ $o )).

thf(tcon_HOL_Obool___Orderings_Oord_97,axiom,(
    ord @ $o )).

thf(tcon_HOL_Obool___HOL_Oequal_98,axiom,(
    cl_HOL_Oequal @ $o )).

thf(tcon_List_Olist___Quickcheck__Exhaustive_Ofull__exhaustive_99,axiom,(
    ! [A15: $tType] :
      ( ( quickc3360725361186068524ustive @ A15 )
     => ( quickc3360725361186068524ustive @ ( list @ A15 ) ) ) )).

thf(tcon_List_Olist___Quickcheck__Random_Orandom_100,axiom,(
    ! [A15: $tType] :
      ( ( quickcheck_random @ A15 )
     => ( quickcheck_random @ ( list @ A15 ) ) ) )).

thf(tcon_List_Olist___Typerep_Otyperep_101,axiom,(
    ! [A15: $tType] :
      ( ( typerep2 @ A15 )
     => ( typerep2 @ ( list @ A15 ) ) ) )).

thf(tcon_List_Olist___HOL_Oequal_102,axiom,(
    ! [A15: $tType] :
      ( cl_HOL_Oequal @ ( list @ A15 ) ) )).

thf(tcon_Filter_Ofilter___Lattices_Obounded__semilattice__sup__bot_103,axiom,(
    ! [A15: $tType] :
      ( bounde4967611905675639751up_bot @ ( filter @ A15 ) ) )).

thf(tcon_Filter_Ofilter___Lattices_Obounded__lattice__top_104,axiom,(
    ! [A15: $tType] :
      ( bounded_lattice_top @ ( filter @ A15 ) ) )).

thf(tcon_Filter_Ofilter___Lattices_Osemilattice__sup_105,axiom,(
    ! [A15: $tType] :
      ( semilattice_sup @ ( filter @ A15 ) ) )).

thf(tcon_Filter_Ofilter___Lattices_Osemilattice__inf_106,axiom,(
    ! [A15: $tType] :
      ( semilattice_inf @ ( filter @ A15 ) ) )).

thf(tcon_Filter_Ofilter___Orderings_Opreorder_107,axiom,(
    ! [A15: $tType] :
      ( preorder @ ( filter @ A15 ) ) )).

thf(tcon_Filter_Ofilter___Lattices_Olattice_108,axiom,(
    ! [A15: $tType] :
      ( lattice @ ( filter @ A15 ) ) )).

thf(tcon_Filter_Ofilter___Typerep_Otyperep_109,axiom,(
    ! [A15: $tType] :
      ( ( typerep2 @ A15 )
     => ( typerep2 @ ( filter @ A15 ) ) ) )).

thf(tcon_Filter_Ofilter___Orderings_Oorder_110,axiom,(
    ! [A15: $tType] :
      ( order @ ( filter @ A15 ) ) )).

thf(tcon_Filter_Ofilter___Orderings_Oord_111,axiom,(
    ! [A15: $tType] :
      ( ord @ ( filter @ A15 ) ) )).

thf(tcon_Filter_Ofilter___HOL_Oequal_112,axiom,(
    ! [A15: $tType] :
      ( ( cl_HOL_Oequal @ A15 )
     => ( cl_HOL_Oequal @ ( filter @ A15 ) ) ) )).

thf(tcon_FinFun_Ofinfun___Quickcheck__Exhaustive_Ofull__exhaustive_113,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( quickc3360725361186068524ustive @ A15 )
        & ( quickc3360725361186068524ustive @ A16 ) )
     => ( quickc3360725361186068524ustive @ ( finfun @ A15 @ A16 ) ) ) )).

thf(tcon_FinFun_Ofinfun___Quickcheck__Exhaustive_Oexhaustive_114,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( quickc658316121487927005ustive @ A15 )
        & ( quickc658316121487927005ustive @ A16 ) )
     => ( quickc658316121487927005ustive @ ( finfun @ A15 @ A16 ) ) ) )).

thf(tcon_FinFun_Ofinfun___Quickcheck__Random_Orandom_115,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( quickcheck_random @ A15 )
        & ( quickcheck_random @ A16 ) )
     => ( quickcheck_random @ ( finfun @ A15 @ A16 ) ) ) )).

thf(tcon_FinFun_Ofinfun___Typerep_Otyperep_116,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( typerep2 @ A15 )
        & ( typerep2 @ A16 ) )
     => ( typerep2 @ ( finfun @ A15 @ A16 ) ) ) )).

thf(tcon_FinFun_Ofinfun___HOL_Oequal_117,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( card_UNIV @ A15 )
        & ( cl_HOL_Oequal @ A15 )
        & ( cl_HOL_Oequal @ A16 ) )
     => ( cl_HOL_Oequal @ ( finfun @ A15 @ A16 ) ) ) )).

thf(tcon_Option_Ooption___Quickcheck__Exhaustive_Ofull__exhaustive_118,axiom,(
    ! [A15: $tType] :
      ( ( quickc3360725361186068524ustive @ A15 )
     => ( quickc3360725361186068524ustive @ ( option @ A15 ) ) ) )).

thf(tcon_Option_Ooption___Quickcheck__Random_Orandom_119,axiom,(
    ! [A15: $tType] :
      ( ( quickcheck_random @ A15 )
     => ( quickcheck_random @ ( option @ A15 ) ) ) )).

thf(tcon_Option_Ooption___Typerep_Otyperep_120,axiom,(
    ! [A15: $tType] :
      ( ( typerep2 @ A15 )
     => ( typerep2 @ ( option @ A15 ) ) ) )).

thf(tcon_Option_Ooption___HOL_Oequal_121,axiom,(
    ! [A15: $tType] :
      ( cl_HOL_Oequal @ ( option @ A15 ) ) )).

thf(tcon_Predicate_Oseq___Typerep_Otyperep_122,axiom,(
    ! [A15: $tType] :
      ( ( typerep2 @ A15 )
     => ( typerep2 @ ( seq @ A15 ) ) ) )).

thf(tcon_Predicate_Oseq___HOL_Oequal_123,axiom,(
    ! [A15: $tType] :
      ( cl_HOL_Oequal @ ( seq @ A15 ) ) )).

thf(tcon_Predicate_Opred___Lattices_Obounded__semilattice__sup__bot_124,axiom,(
    ! [A15: $tType] :
      ( bounde4967611905675639751up_bot @ ( pred @ A15 ) ) )).

thf(tcon_Predicate_Opred___Lattices_Obounded__lattice__top_125,axiom,(
    ! [A15: $tType] :
      ( bounded_lattice_top @ ( pred @ A15 ) ) )).

thf(tcon_Predicate_Opred___Lattices_Osemilattice__sup_126,axiom,(
    ! [A15: $tType] :
      ( semilattice_sup @ ( pred @ A15 ) ) )).

thf(tcon_Predicate_Opred___Lattices_Osemilattice__inf_127,axiom,(
    ! [A15: $tType] :
      ( semilattice_inf @ ( pred @ A15 ) ) )).

thf(tcon_Predicate_Opred___Orderings_Opreorder_128,axiom,(
    ! [A15: $tType] :
      ( preorder @ ( pred @ A15 ) ) )).

thf(tcon_Predicate_Opred___Lattices_Olattice_129,axiom,(
    ! [A15: $tType] :
      ( lattice @ ( pred @ A15 ) ) )).

thf(tcon_Predicate_Opred___Typerep_Otyperep_130,axiom,(
    ! [A15: $tType] :
      ( ( typerep2 @ A15 )
     => ( typerep2 @ ( pred @ A15 ) ) ) )).

thf(tcon_Predicate_Opred___Orderings_Oorder_131,axiom,(
    ! [A15: $tType] :
      ( order @ ( pred @ A15 ) ) )).

thf(tcon_Predicate_Opred___Orderings_Oord_132,axiom,(
    ! [A15: $tType] :
      ( ord @ ( pred @ A15 ) ) )).

thf(tcon_Predicate_Opred___HOL_Oequal_133,axiom,(
    ! [A15: $tType] :
      ( cl_HOL_Oequal @ ( pred @ A15 ) ) )).

thf(tcon_String_Oliteral___Quickcheck__Random_Orandom_134,axiom,(
    quickcheck_random @ literal )).

thf(tcon_String_Oliteral___Orderings_Opreorder_135,axiom,(
    preorder @ literal )).

thf(tcon_String_Oliteral___Orderings_Olinorder_136,axiom,(
    linorder @ literal )).

thf(tcon_String_Oliteral___Groups_Omonoid__add_137,axiom,(
    monoid_add @ literal )).

thf(tcon_String_Oliteral___Typerep_Otyperep_138,axiom,(
    typerep2 @ literal )).

thf(tcon_String_Oliteral___Orderings_Oorder_139,axiom,(
    order @ literal )).

thf(tcon_String_Oliteral___Orderings_Oord_140,axiom,(
    ord @ literal )).

thf(tcon_String_Oliteral___HOL_Oequal_141,axiom,(
    cl_HOL_Oequal @ literal )).

thf(tcon_Typerep_Otyperep___Typerep_Otyperep_142,axiom,(
    typerep2 @ typerep )).

thf(tcon_Typerep_Otyperep___HOL_Oequal_143,axiom,(
    cl_HOL_Oequal @ typerep )).

thf(tcon_Product__Type_Oprod___Quickcheck__Exhaustive_Ofull__exhaustive_144,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( quickc3360725361186068524ustive @ A15 )
        & ( quickc3360725361186068524ustive @ A16 ) )
     => ( quickc3360725361186068524ustive @ ( product_prod @ A15 @ A16 ) ) ) )).

thf(tcon_Product__Type_Oprod___Quickcheck__Exhaustive_Oexhaustive_145,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( quickc658316121487927005ustive @ A15 )
        & ( quickc658316121487927005ustive @ A16 ) )
     => ( quickc658316121487927005ustive @ ( product_prod @ A15 @ A16 ) ) ) )).

thf(tcon_Product__Type_Oprod___Quickcheck__Random_Orandom_146,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( quickcheck_random @ A15 )
        & ( quickcheck_random @ A16 ) )
     => ( quickcheck_random @ ( product_prod @ A15 @ A16 ) ) ) )).

thf(tcon_Product__Type_Oprod___Typerep_Otyperep_147,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( typerep2 @ A15 )
        & ( typerep2 @ A16 ) )
     => ( typerep2 @ ( product_prod @ A15 @ A16 ) ) ) )).

thf(tcon_Product__Type_Oprod___HOL_Oequal_148,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( cl_HOL_Oequal @ ( product_prod @ A15 @ A16 ) ) )).

thf(tcon_Product__Type_Ounit___Quickcheck__Exhaustive_Ofull__exhaustive_149,axiom,(
    quickc3360725361186068524ustive @ product_unit )).

thf(tcon_Product__Type_Ounit___Lattices_Obounded__semilattice__sup__bot_150,axiom,(
    bounde4967611905675639751up_bot @ product_unit )).

thf(tcon_Product__Type_Ounit___Lattices_Obounded__lattice__top_151,axiom,(
    bounded_lattice_top @ product_unit )).

thf(tcon_Product__Type_Ounit___Quickcheck__Random_Orandom_152,axiom,(
    quickcheck_random @ product_unit )).

thf(tcon_Product__Type_Ounit___Lattices_Osemilattice__sup_153,axiom,(
    semilattice_sup @ product_unit )).

thf(tcon_Product__Type_Ounit___Lattices_Osemilattice__inf_154,axiom,(
    semilattice_inf @ product_unit )).

thf(tcon_Product__Type_Ounit___Orderings_Opreorder_155,axiom,(
    preorder @ product_unit )).

thf(tcon_Product__Type_Ounit___Orderings_Olinorder_156,axiom,(
    linorder @ product_unit )).

thf(tcon_Product__Type_Ounit___Lattices_Olattice_157,axiom,(
    lattice @ product_unit )).

thf(tcon_Product__Type_Ounit___Typerep_Otyperep_158,axiom,(
    typerep2 @ product_unit )).

thf(tcon_Product__Type_Ounit___Orderings_Oorder_159,axiom,(
    order @ product_unit )).

thf(tcon_Product__Type_Ounit___Orderings_Oord_160,axiom,(
    ord @ product_unit )).

thf(tcon_Product__Type_Ounit___HOL_Oequal_161,axiom,(
    cl_HOL_Oequal @ product_unit )).

thf(tcon_FWState_Olock__action___Quickcheck__Exhaustive_Ofull__exhaustive_162,axiom,(
    quickc3360725361186068524ustive @ lock_action )).

thf(tcon_FWState_Olock__action___Quickcheck__Random_Orandom_163,axiom,(
    quickcheck_random @ lock_action )).

thf(tcon_FWState_Olock__action___Typerep_Otyperep_164,axiom,(
    typerep2 @ lock_action )).

thf(tcon_FWState_Olock__action___HOL_Oequal_165,axiom,(
    cl_HOL_Oequal @ lock_action )).

thf(tcon_Code__Evaluation_Oterm___Typerep_Otyperep_166,axiom,(
    typerep2 @ code_term )).

thf(tcon_Code__Numeral_Ointeger___Quickcheck__Exhaustive_Ofull__exhaustive_167,axiom,(
    quickc3360725361186068524ustive @ code_integer )).

thf(tcon_Code__Numeral_Ointeger___Quickcheck__Exhaustive_Oexhaustive_168,axiom,(
    quickc658316121487927005ustive @ code_integer )).

thf(tcon_Code__Numeral_Ointeger___Quickcheck__Random_Orandom_169,axiom,(
    quickcheck_random @ code_integer )).

thf(tcon_Code__Numeral_Ointeger___Orderings_Opreorder_170,axiom,(
    preorder @ code_integer )).

thf(tcon_Code__Numeral_Ointeger___Orderings_Olinorder_171,axiom,(
    linorder @ code_integer )).

thf(tcon_Code__Numeral_Ointeger___Groups_Omonoid__add_172,axiom,(
    monoid_add @ code_integer )).

thf(tcon_Code__Numeral_Ointeger___Typerep_Otyperep_173,axiom,(
    typerep2 @ code_integer )).

thf(tcon_Code__Numeral_Ointeger___Orderings_Oorder_174,axiom,(
    order @ code_integer )).

thf(tcon_Code__Numeral_Ointeger___Orderings_Oord_175,axiom,(
    ord @ code_integer )).

thf(tcon_Code__Numeral_Ointeger___HOL_Oequal_176,axiom,(
    cl_HOL_Oequal @ code_integer )).

thf(tcon_Code__Numeral_Onatural___Quickcheck__Exhaustive_Ofull__exhaustive_177,axiom,(
    quickc3360725361186068524ustive @ code_natural )).

thf(tcon_Code__Numeral_Onatural___Quickcheck__Exhaustive_Oexhaustive_178,axiom,(
    quickc658316121487927005ustive @ code_natural )).

thf(tcon_Code__Numeral_Onatural___Quickcheck__Random_Orandom_179,axiom,(
    quickcheck_random @ code_natural )).

thf(tcon_Code__Numeral_Onatural___Orderings_Opreorder_180,axiom,(
    preorder @ code_natural )).

thf(tcon_Code__Numeral_Onatural___Orderings_Olinorder_181,axiom,(
    linorder @ code_natural )).

thf(tcon_Code__Numeral_Onatural___Groups_Omonoid__add_182,axiom,(
    monoid_add @ code_natural )).

thf(tcon_Code__Numeral_Onatural___Typerep_Otyperep_183,axiom,(
    typerep2 @ code_natural )).

thf(tcon_Code__Numeral_Onatural___Orderings_Oorder_184,axiom,(
    order @ code_natural )).

thf(tcon_Code__Numeral_Onatural___Orderings_Oord_185,axiom,(
    ord @ code_natural )).

thf(tcon_Code__Numeral_Onatural___HOL_Oequal_186,axiom,(
    cl_HOL_Oequal @ code_natural )).

thf(tcon_FWState_Owait__set__action___Quickcheck__Exhaustive_Ofull__exhaustive_187,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( quickc3360725361186068524ustive @ A15 )
        & ( quickc3360725361186068524ustive @ A16 ) )
     => ( quickc3360725361186068524ustive @ ( wait_set_action @ A15 @ A16 ) ) ) )).

thf(tcon_FWState_Owait__set__action___Quickcheck__Random_Orandom_188,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( quickcheck_random @ A15 )
        & ( quickcheck_random @ A16 ) )
     => ( quickcheck_random @ ( wait_set_action @ A15 @ A16 ) ) ) )).

thf(tcon_FWState_Owait__set__action___Typerep_Otyperep_189,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( ( ( typerep2 @ A15 )
        & ( typerep2 @ A16 ) )
     => ( typerep2 @ ( wait_set_action @ A15 @ A16 ) ) ) )).

thf(tcon_FWState_Owait__set__action___HOL_Oequal_190,axiom,(
    ! [A15: $tType,A16: $tType] :
      ( cl_HOL_Oequal @ ( wait_set_action @ A15 @ A16 ) ) )).

thf(tcon_FWState_Ointerrupt__action___Quickcheck__Exhaustive_Ofull__exhaustive_191,axiom,(
    ! [A15: $tType] :
      ( ( quickc3360725361186068524ustive @ A15 )
     => ( quickc3360725361186068524ustive @ ( interrupt_action @ A15 ) ) ) )).

thf(tcon_FWState_Ointerrupt__action___Quickcheck__Random_Orandom_192,axiom,(
    ! [A15: $tType] :
      ( ( quickcheck_random @ A15 )
     => ( quickcheck_random @ ( interrupt_action @ A15 ) ) ) )).

thf(tcon_FWState_Ointerrupt__action___Typerep_Otyperep_193,axiom,(
    ! [A15: $tType] :
      ( ( typerep2 @ A15 )
     => ( typerep2 @ ( interrupt_action @ A15 ) ) ) )).

thf(tcon_FWState_Ointerrupt__action___HOL_Oequal_194,axiom,(
    ! [A15: $tType] :
      ( cl_HOL_Oequal @ ( interrupt_action @ A15 ) ) )).

thf(tcon_FWState_Onew__thread__action___Quickcheck__Exhaustive_Ofull__exhaustive_195,axiom,(
    ! [A15: $tType,A16: $tType,A17: $tType] :
      ( ( ( quickc3360725361186068524ustive @ A15 )
        & ( quickc3360725361186068524ustive @ A16 )
        & ( quickc3360725361186068524ustive @ A17 ) )
     => ( quickc3360725361186068524ustive @ ( new_thread_action @ A15 @ A16 @ A17 ) ) ) )).

thf(tcon_FWState_Onew__thread__action___Quickcheck__Random_Orandom_196,axiom,(
    ! [A15: $tType,A16: $tType,A17: $tType] :
      ( ( ( quickcheck_random @ A15 )
        & ( quickcheck_random @ A16 )
        & ( quickcheck_random @ A17 ) )
     => ( quickcheck_random @ ( new_thread_action @ A15 @ A16 @ A17 ) ) ) )).

thf(tcon_FWState_Onew__thread__action___Typerep_Otyperep_197,axiom,(
    ! [A15: $tType,A16: $tType,A17: $tType] :
      ( ( ( typerep2 @ A15 )
        & ( typerep2 @ A16 )
        & ( typerep2 @ A17 ) )
     => ( typerep2 @ ( new_thread_action @ A15 @ A16 @ A17 ) ) ) )).

thf(tcon_FWState_Onew__thread__action___HOL_Oequal_198,axiom,(
    ! [A15: $tType,A16: $tType,A17: $tType] :
      ( cl_HOL_Oequal @ ( new_thread_action @ A15 @ A16 @ A17 ) ) )).

thf(tcon_FWState_Oconditional__action___Quickcheck__Exhaustive_Ofull__exhaustive_199,axiom,(
    ! [A15: $tType] :
      ( ( quickc3360725361186068524ustive @ A15 )
     => ( quickc3360725361186068524ustive @ ( conditional_action @ A15 ) ) ) )).

thf(tcon_FWState_Oconditional__action___Quickcheck__Random_Orandom_200,axiom,(
    ! [A15: $tType] :
      ( ( quickcheck_random @ A15 )
     => ( quickcheck_random @ ( conditional_action @ A15 ) ) ) )).

thf(tcon_FWState_Oconditional__action___Typerep_Otyperep_201,axiom,(
    ! [A15: $tType] :
      ( ( typerep2 @ A15 )
     => ( typerep2 @ ( conditional_action @ A15 ) ) ) )).

thf(tcon_FWState_Oconditional__action___HOL_Oequal_202,axiom,(
    ! [A15: $tType] :
      ( cl_HOL_Oequal @ ( conditional_action @ A15 ) ) )).

% Helper facts (3)
thf(help_If_3_1_T,axiom,(
    ! [P: $o] :
      ( ( P = $true )
      | ( P = $false ) ) )).

thf(help_If_2_1_T,axiom,(
    ! [A: $tType,X3: A,Y: A] :
      ( ( if @ A @ $false @ X3 @ Y )
      = Y ) )).

thf(help_If_1_1_T,axiom,(
    ! [A: $tType,X3: A,Y: A] :
      ( ( if @ A @ $true @ X3 @ Y )
      = X3 ) )).

% Conjectures (1)
thf(conj_0,conjecture,
    ( ( thr_a @ d @ a @ b @ c @ e @ f @ ( product_Pair @ ( finfun @ d @ ( list @ lock_action ) ) @ ( product_prod @ ( list @ ( new_thread_action @ a @ b @ c ) ) @ ( product_prod @ ( list @ ( conditional_action @ a ) ) @ ( product_prod @ ( list @ ( wait_set_action @ a @ e ) ) @ ( product_prod @ ( list @ ( interrupt_action @ a ) ) @ ( list @ f ) ) ) ) ) @ ls @ ( product_Pair @ ( list @ ( new_thread_action @ a @ b @ c ) ) @ ( product_prod @ ( list @ ( conditional_action @ a ) ) @ ( product_prod @ ( list @ ( wait_set_action @ a @ e ) ) @ ( product_prod @ ( list @ ( interrupt_action @ a ) ) @ ( list @ f ) ) ) ) @ nts @ jswss ) ) )
    = nts )).
