↑ Up

DT2H2X---1.9.5.THM-Ref.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : DT2H2X---1.9.5
% Problem  : ITP071^2 : TPTP v9.2.1. Released v7.5.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : /export/starexec/sandbox/solver/bin/run_DT2H2X /export/starexec/sandbox/benchmark/theBenchmark.p 300

% Computer : n014.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Wed Feb 25 08:55:19 AM UTC 2026

% Result   : Theorem 2.70s 1.59s
% Output   : Refutation 2.70s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.11  % Problem  : ITP071^2 : TPTP v9.2.1. Released v7.5.0.
% 0.00/0.13  % Command  : /export/starexec/sandbox/solver/bin/run_DT2H2X /export/starexec/sandbox/benchmark/theBenchmark.p 300
% 0.16/0.33  % Computer : n014.cluster.edu
% 0.16/0.33  % Model    : x86_64 x86_64
% 0.16/0.33  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.16/0.33  % Memory   : 8042.1875MB
% 0.16/0.33  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.16/0.34  % CPULimit : 300
% 0.16/0.34  % WCLimit  : 300
% 0.16/0.34  % DateTime : Tue Feb 24 08:25:42 EST 2026
% 0.16/0.34  % CPUTime  : 
% 0.16/0.34  Running /export/starexec/sandbox/solver/bin/run_DT2H2X /export/starexec/sandbox/benchmark/theBenchmark.p 300
% 0.32/0.48  ---- Original DTF file ---
% 0.32/0.49  thf(spec,logic,$$dhol).
% 0.32/0.49  %------------------------------------------------------------------------------
% 0.32/0.49  % File     : ITP071^2 : TPTP v9.2.1. Released v7.5.0.
% 0.32/0.49  % Domain   : Interactive Theorem Proving
% 0.32/0.49  % Problem  : Sledgehammer HeapImperative problem prob_933__5350368_1
% 0.32/0.49  % Version  : Especial.
% 0.32/0.49  % English  :
% 0.32/0.49  
% 0.32/0.49  % Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
% 0.32/0.49  %          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% 0.32/0.49  % Source   : [Des21]
% 0.32/0.49  % Names    : HeapImperative/prob_933__5350368_1 [Des21]
% 0.32/0.49  
% 0.32/0.49  % Status   : Theorem
% 0.32/0.49  % Rating   : 0.33 v8.1.0, 0.25 v7.5.0
% 0.32/0.49  % Syntax   : Number of formulae    :  335 ( 131 unt;  57 typ;   0 def)
% 0.32/0.49  %            Number of atoms       :  673 ( 284 equ;   0 cnn)
% 0.32/0.49  %            Maximal formula atoms :   13 (   2 avg)
% 0.32/0.49  %            Number of connectives : 5517 (  81   ~;   5   |;  52   &;5016   @)
% 0.32/0.49  %                                         (   0 <=>; 363  =>;   0  <=;   0 <~>)
% 0.32/0.49  %            Maximal formula depth :   28 (   9 avg)
% 0.32/0.49  %            Number of types       :    2 (   1 usr)
% 0.32/0.49  %            Number of type conns  :  527 ( 527   >;   0   *;   0   +;   0  <<)
% 0.32/0.49  %            Number of symbols     :   59 (  56 usr;   4 con; 0-9 aty)
% 0.32/0.49  %            Number of variables   : 1594 ( 140   ^;1360   !;   7   ?;1594   :)
% 0.32/0.49  %                                         (  87  !>;   0  ?*;   0  @-;   0  @+)
% 0.32/0.49  % SPC      : TH1_THM_EQU_NAR
% 0.32/0.49  
% 0.32/0.49  % Comments : This file was generated by Sledgehammer 2021-02-23 16:16:59.117
% 0.32/0.49  %------------------------------------------------------------------------------
% 0.32/0.49  % Could-be-implicit typings (6)
% 0.32/0.49  thf(ty_t_Product__Type_Oprod,type,
% 0.32/0.49      product_prod: $tType > $tType > $tType ).
% 0.32/0.49  
% 0.32/0.49  thf(ty_t_Multiset_Omultiset,type,
% 0.32/0.49      multiset: $tType > $tType ).
% 0.32/0.49  
% 0.32/0.49  thf(ty_t_List_Olist,type,
% 0.32/0.49      list: $tType > $tType ).
% 0.32/0.49  
% 0.32/0.49  thf(ty_t_Heap_OTree,type,
% 0.32/0.49      tree: $tType > $tType ).
% 0.32/0.49  
% 0.32/0.49  thf(ty_t_Set_Oset,type,
% 0.32/0.49      set: $tType > $tType ).
% 0.32/0.49  
% 0.32/0.49  thf(ty_tf_a,type,
% 0.32/0.49      a: $tType ).
% 0.32/0.49  
% 0.32/0.49  % Explicit typings (51)
% 0.32/0.49  thf(sy_cl_HOL_Otype,type,
% 0.32/0.49      type: 
% 0.32/0.49        !>[A: $tType] : $o ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_cl_Orderings_Oord,type,
% 0.32/0.49      ord: 
% 0.32/0.49        !>[A: $tType] : $o ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_cl_Orderings_Oorder,type,
% 0.32/0.49      order: 
% 0.32/0.49        !>[A: $tType] : $o ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_cl_Orderings_Olinorder,type,
% 0.32/0.49      linorder: 
% 0.32/0.49        !>[A: $tType] : $o ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_cl_Orderings_Opreorder,type,
% 0.32/0.49      preorder: 
% 0.32/0.49        !>[A: $tType] : $o ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_BNF__Cardinal__Order__Relation_OrelChain,type,
% 0.32/0.49      bNF_Ca1785829860lChain: 
% 0.32/0.49        !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( A > B ) > $o ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_BNF__Def_Ocsquare,type,
% 0.32/0.49      bNF_csquare: 
% 0.32/0.49        !>[A: $tType,B: $tType,C: $tType,D: $tType] : ( ( set @ A ) > ( B > C ) > ( D > C ) > ( A > B ) > ( A > D ) > $o ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_BNF__Def_OfstOp,type,
% 0.32/0.49      bNF_fstOp: 
% 0.32/0.49        !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > $o ) > ( B > C > $o ) > ( product_prod @ A @ C ) > ( product_prod @ A @ B ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_BNF__Def_Opick__middlep,type,
% 0.32/0.49      bNF_pick_middlep: 
% 0.32/0.49        !>[B: $tType,A: $tType,C: $tType] : ( ( B > A > $o ) > ( A > C > $o ) > B > C > A ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_BNF__Def_OsndOp,type,
% 0.32/0.49      bNF_sndOp: 
% 0.32/0.49        !>[C: $tType,A: $tType,B: $tType] : ( ( C > A > $o ) > ( A > B > $o ) > ( product_prod @ C @ B ) > ( product_prod @ A @ B ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_BNF__Greatest__Fixpoint_Oimage2,type,
% 0.32/0.49      bNF_Greatest_image2: 
% 0.32/0.49        !>[C: $tType,A: $tType,B: $tType] : ( ( set @ C ) > ( C > A ) > ( C > B ) > ( set @ ( product_prod @ A @ B ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Fun_Ocomp,type,
% 0.32/0.49      comp: 
% 0.32/0.49        !>[B: $tType,C: $tType,A: $tType] : ( ( B > C ) > ( A > B ) > A > C ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oheapify,type,
% 0.32/0.49      heapIm818251801eapify: 
% 0.32/0.49        !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Ohs__is__empty,type,
% 0.32/0.49      heapIm721255937_empty: 
% 0.32/0.49        !>[A: $tType] : ( ( tree @ A ) > $o ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Ohs__remove__max,type,
% 0.32/0.49      heapIm1542349758ve_max: 
% 0.32/0.49        !>[A: $tType] : ( ( tree @ A ) > ( product_prod @ A @ ( tree @ A ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oleft,type,
% 0.32/0.49      heapIm1271749598e_left: 
% 0.32/0.49        !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_OremoveLeaf,type,
% 0.32/0.49      heapIm970386777veLeaf: 
% 0.32/0.49        !>[A: $tType] : ( ( tree @ A ) > ( product_prod @ A @ ( tree @ A ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oright,type,
% 0.32/0.49      heapIm1434396069_right: 
% 0.32/0.49        !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_OsiftDown,type,
% 0.32/0.49      heapIm748920189ftDown: 
% 0.32/0.49        !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Heap_OHeap,type,
% 0.32/0.49      heap: 
% 0.32/0.49        !>[B: $tType,A: $tType] : ( B > ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( tree @ A ) ) > ( B > ( product_prod @ A @ B ) ) > $o ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Heap_OHeap__axioms,type,
% 0.32/0.49      heap_axioms: 
% 0.32/0.49        !>[B: $tType,A: $tType] : ( ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( tree @ A ) ) > ( B > ( product_prod @ A @ B ) ) > $o ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Heap_OTree_OE,type,
% 0.32/0.49      e: 
% 0.32/0.49        !>[A: $tType] : ( tree @ A ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Heap_OTree_OT,type,
% 0.32/0.49      t: 
% 0.32/0.49        !>[A: $tType] : ( A > ( tree @ A ) > ( tree @ A ) > ( tree @ A ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Heap_Oin__tree,type,
% 0.32/0.49      in_tree: 
% 0.32/0.49        !>[A: $tType] : ( A > ( tree @ A ) > $o ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Heap_Ois__heap,type,
% 0.32/0.49      is_heap: 
% 0.32/0.49        !>[A: $tType] : ( ( tree @ A ) > $o ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Heap_Omultiset,type,
% 0.32/0.49      multiset2: 
% 0.32/0.49        !>[A: $tType] : ( ( tree @ A ) > ( multiset @ A ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Heap_Oval,type,
% 0.32/0.49      val: 
% 0.32/0.49        !>[A: $tType] : ( ( tree @ A ) > A ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_If,type,
% 0.32/0.49      if: 
% 0.32/0.49        !>[A: $tType] : ( $o > A > A > A ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Lattices__Big_Olinorder__class_OMax,type,
% 0.32/0.49      lattic929149872er_Max: 
% 0.32/0.49        !>[A: $tType] : ( ( set @ A ) > A ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Multiset_Oadd__mset,type,
% 0.32/0.49      add_mset: 
% 0.32/0.49        !>[A: $tType] : ( A > ( multiset @ A ) > ( multiset @ A ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Multiset_Oset__mset,type,
% 0.32/0.49      set_mset: 
% 0.32/0.49        !>[A: $tType] : ( ( multiset @ A ) > ( set @ A ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Orderings_Oord__class_Oless__eq,type,
% 0.32/0.49      ord_less_eq: 
% 0.32/0.49        !>[A: $tType] : ( A > A > $o ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Orderings_Oorder__class_OGreatest,type,
% 0.32/0.49      order_Greatest: 
% 0.32/0.49        !>[A: $tType] : ( ( A > $o ) > A ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Product__Type_OPair,type,
% 0.32/0.49      product_Pair: 
% 0.32/0.49        !>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Product__Type_Oapfst,type,
% 0.32/0.49      product_apfst: 
% 0.32/0.49        !>[A: $tType,C: $tType,B: $tType] : ( ( A > C ) > ( product_prod @ A @ B ) > ( product_prod @ C @ B ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Product__Type_Oapsnd,type,
% 0.32/0.49      product_apsnd: 
% 0.32/0.49        !>[B: $tType,C: $tType,A: $tType] : ( ( B > C ) > ( product_prod @ A @ B ) > ( product_prod @ A @ C ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Product__Type_Ocurry,type,
% 0.32/0.49      product_curry: 
% 0.32/0.49        !>[A: $tType,B: $tType,C: $tType] : ( ( ( product_prod @ A @ B ) > C ) > A > B > C ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Product__Type_Ointernal__case__prod,type,
% 0.32/0.49      produc2004651681e_prod: 
% 0.32/0.49        !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > C ) > ( product_prod @ A @ B ) > C ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Product__Type_Oold_Oprod_Orec__prod,type,
% 0.32/0.49      product_rec_prod: 
% 0.32/0.49        !>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Product__Type_Oprod_Ocase__prod,type,
% 0.32/0.49      product_case_prod: 
% 0.32/0.49        !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > C ) > ( product_prod @ A @ B ) > C ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Product__Type_Oprod_Ofst,type,
% 0.32/0.49      product_fst: 
% 0.32/0.49        !>[A: $tType,B: $tType] : ( ( product_prod @ A @ B ) > A ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Product__Type_Oprod_Osnd,type,
% 0.32/0.49      product_snd: 
% 0.32/0.49        !>[A: $tType,B: $tType] : ( ( product_prod @ A @ B ) > B ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Product__Type_Oprod_Oswap,type,
% 0.32/0.49      product_swap: 
% 0.32/0.49        !>[A: $tType,B: $tType] : ( ( product_prod @ A @ B ) > ( product_prod @ B @ A ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Product__Type_Oscomp,type,
% 0.32/0.49      product_scomp: 
% 0.32/0.49        !>[A: $tType,B: $tType,C: $tType,D: $tType] : ( ( A > ( product_prod @ B @ C ) ) > ( B > C > D ) > A > D ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Relation_OPowp,type,
% 0.32/0.49      powp: 
% 0.32/0.49        !>[A: $tType] : ( ( A > $o ) > ( set @ A ) > $o ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Relation_Orelcompp,type,
% 0.32/0.49      relcompp: 
% 0.32/0.49        !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > $o ) > ( B > C > $o ) > A > C > $o ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_RemoveMax_OCollection,type,
% 0.32/0.49      collection: 
% 0.32/0.49        !>[B: $tType,A: $tType] : ( B > ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > $o ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_Set_OCollect,type,
% 0.32/0.49      collect: 
% 0.32/0.49        !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_c_member,type,
% 0.32/0.49      member: 
% 0.32/0.49        !>[A: $tType] : ( A > ( set @ A ) > $o ) ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_v_t,type,
% 0.32/0.49      t2: tree @ a ).
% 0.32/0.49  
% 0.32/0.49  thf(sy_v_v____,type,
% 0.32/0.49      v: a ).
% 0.32/0.49  
% 0.32/0.49  % Relevant facts (256)
% 0.32/0.49  thf(fact_0_assms_I2_J,axiom,
% 0.32/0.49      ( t2
% 0.32/0.49     != ( e @ a ) ) ).
% 0.32/0.49  
% 0.32/0.49  % assms(2)
% 0.32/0.49  thf(fact_1_assms_I1_J,axiom,
% 0.32/0.49      is_heap @ a @ t2 ).
% 0.32/0.49  
% 0.32/0.49  % assms(1)
% 0.32/0.49  thf(fact_2__C1_Oprems_C_I2_J,axiom,
% 0.32/0.49      ( ( t @ a @ v @ ( e @ a ) @ ( e @ a ) )
% 0.32/0.49     != ( e @ a ) ) ).
% 0.32/0.49  
% 0.32/0.49  % "1.prems"(2)
% 0.32/0.49  thf(fact_3__C1_Oprems_C_I1_J,axiom,
% 0.32/0.49      is_heap @ a @ ( t @ a @ v @ ( e @ a ) @ ( e @ a ) ) ).
% 0.32/0.49  
% 0.32/0.49  % "1.prems"(1)
% 0.32/0.49  thf(fact_4_siftDown_Ocases,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [X: tree @ A] :
% 0.32/0.49            ( ( X
% 0.32/0.49             != ( e @ A ) )
% 0.32/0.49           => ( ! [V: A] :
% 0.32/0.49                  ( X
% 0.32/0.49                 != ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) )
% 0.32/0.49             => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.32/0.49                    ( X
% 0.32/0.49                   != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) )
% 0.32/0.49               => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.32/0.49                      ( X
% 0.32/0.49                     != ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 0.32/0.49                 => ~ ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 0.32/0.49                        ( X
% 0.32/0.49                       != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % siftDown.cases
% 0.32/0.49  thf(fact_5_removeLeaf_Ocases,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [X: tree @ A] :
% 0.32/0.49            ( ! [V: A] :
% 0.32/0.49                ( X
% 0.32/0.49               != ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) )
% 0.32/0.49           => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.32/0.49                  ( X
% 0.32/0.49                 != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) )
% 0.32/0.49             => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.32/0.49                    ( X
% 0.32/0.49                   != ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 0.32/0.49               => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 0.32/0.49                      ( X
% 0.32/0.49                     != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) )
% 0.32/0.49                 => ( ! [V: A,Vd: A,Ve: tree @ A,Vf: tree @ A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.32/0.49                        ( X
% 0.32/0.49                       != ( t @ A @ V @ ( t @ A @ Vd @ Ve @ Vf ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 0.32/0.49                   => ( X
% 0.32/0.49                      = ( e @ A ) ) ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % removeLeaf.cases
% 0.32/0.49  thf(fact_6_removeLeaf_Oinduct,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [P: ( tree @ A ) > $o,A0: tree @ A] :
% 0.32/0.49            ( ! [V: A] : ( P @ ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) )
% 0.32/0.49           => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.32/0.49                  ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 0.32/0.49                 => ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 0.32/0.49                   => ( P @ ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) ) ) )
% 0.32/0.49             => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.32/0.49                    ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 0.32/0.49                   => ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 0.32/0.49                     => ( P @ ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) ) ) )
% 0.32/0.49               => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 0.32/0.49                      ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 0.32/0.49                     => ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 0.32/0.49                       => ( P @ ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) ) ) )
% 0.32/0.49                 => ( ! [V: A,Vd: A,Ve: tree @ A,Vf: tree @ A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.32/0.49                        ( ( P @ ( t @ A @ Vd @ Ve @ Vf ) )
% 0.32/0.49                       => ( ( P @ ( t @ A @ Vd @ Ve @ Vf ) )
% 0.32/0.49                         => ( P @ ( t @ A @ V @ ( t @ A @ Vd @ Ve @ Vf ) @ ( t @ A @ Va @ Vb @ Vc ) ) ) ) )
% 0.32/0.49                   => ( ( P @ ( e @ A ) )
% 0.32/0.49                     => ( P @ A0 ) ) ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % removeLeaf.induct
% 0.32/0.49  thf(fact_7_is__heap_Osimps_I2_J,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [V2: A] : ( is_heap @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( e @ A ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % is_heap.simps(2)
% 0.32/0.49  thf(fact_8_Tree_Oinject,axiom,
% 0.32/0.49      ! [A: $tType,X21: A,X22: tree @ A,X23: tree @ A,Y21: A,Y22: tree @ A,Y23: tree @ A] :
% 0.32/0.49        ( ( ( t @ A @ X21 @ X22 @ X23 )
% 0.32/0.49          = ( t @ A @ Y21 @ Y22 @ Y23 ) )
% 0.32/0.49        = ( ( X21 = Y21 )
% 0.32/0.49          & ( X22 = Y22 )
% 0.32/0.49          & ( X23 = Y23 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Tree.inject
% 0.32/0.49  thf(fact_9_hs__is__empty__def,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( heapIm721255937_empty @ A )
% 0.32/0.49        = ( ^ [T2: tree @ A] :
% 0.32/0.49              ( T2
% 0.32/0.49              = ( e @ A ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % hs_is_empty_def
% 0.32/0.49  thf(fact_10_is__heap_Osimps_I1_J,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ( is_heap @ A @ ( e @ A ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % is_heap.simps(1)
% 0.32/0.49  thf(fact_11_Tree_Odistinct_I1_J,axiom,
% 0.32/0.49      ! [A: $tType,X21: A,X22: tree @ A,X23: tree @ A] :
% 0.32/0.49        ( ( e @ A )
% 0.32/0.49       != ( t @ A @ X21 @ X22 @ X23 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Tree.distinct(1)
% 0.32/0.49  thf(fact_12_Tree_Oinduct,axiom,
% 0.32/0.49      ! [A: $tType,P: ( tree @ A ) > $o,Tree: tree @ A] :
% 0.32/0.49        ( ( P @ ( e @ A ) )
% 0.32/0.49       => ( ! [X1: A,X2: tree @ A,X3: tree @ A] :
% 0.32/0.49              ( ( P @ X2 )
% 0.32/0.49             => ( ( P @ X3 )
% 0.32/0.49               => ( P @ ( t @ A @ X1 @ X2 @ X3 ) ) ) )
% 0.32/0.49         => ( P @ Tree ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Tree.induct
% 0.32/0.49  thf(fact_13_Tree_Oexhaust,axiom,
% 0.32/0.49      ! [A: $tType,Y: tree @ A] :
% 0.32/0.49        ( ( Y
% 0.32/0.49         != ( e @ A ) )
% 0.32/0.49       => ~ ! [X212: A,X222: tree @ A,X232: tree @ A] :
% 0.32/0.49              ( Y
% 0.32/0.49             != ( t @ A @ X212 @ X222 @ X232 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Tree.exhaust
% 0.32/0.49  thf(fact_14_is__heap_Ocases,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [X: tree @ A] :
% 0.32/0.49            ( ( X
% 0.32/0.49             != ( e @ A ) )
% 0.32/0.49           => ( ! [V: A] :
% 0.32/0.49                  ( X
% 0.32/0.49                 != ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) )
% 0.32/0.49             => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.32/0.49                    ( X
% 0.32/0.49                   != ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 0.32/0.49               => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.32/0.49                      ( X
% 0.32/0.49                     != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) )
% 0.32/0.49                 => ~ ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 0.32/0.49                        ( X
% 0.32/0.49                       != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % is_heap.cases
% 0.32/0.49  thf(fact_15_removeLeaf__val__val,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [T3: tree @ A] :
% 0.32/0.49            ( ( ( product_snd @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ T3 ) )
% 0.32/0.49             != ( e @ A ) )
% 0.32/0.49           => ( ( T3
% 0.32/0.49               != ( e @ A ) )
% 0.32/0.49             => ( ( val @ A @ T3 )
% 0.32/0.49                = ( val @ A @ ( product_snd @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ T3 ) ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % removeLeaf_val_val
% 0.32/0.49  thf(fact_16_removeLeaf_Osimps_I1_J,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [V2: A] :
% 0.32/0.49            ( ( heapIm970386777veLeaf @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( e @ A ) ) )
% 0.32/0.49            = ( product_Pair @ A @ ( tree @ A ) @ V2 @ ( e @ A ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % removeLeaf.simps(1)
% 0.32/0.49  thf(fact_17_siftDown__heap__is__heap,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [L: tree @ A,R: tree @ A,T3: tree @ A,V2: A] :
% 0.32/0.49            ( ( is_heap @ A @ L )
% 0.32/0.49           => ( ( is_heap @ A @ R )
% 0.32/0.49             => ( ( T3
% 0.32/0.49                  = ( t @ A @ V2 @ L @ R ) )
% 0.32/0.49               => ( is_heap @ A @ ( heapIm748920189ftDown @ A @ T3 ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % siftDown_heap_is_heap
% 0.32/0.49  thf(fact_18_siftDown_Osimps_I2_J,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [V2: A] :
% 0.32/0.49            ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( e @ A ) ) )
% 0.32/0.49            = ( t @ A @ V2 @ ( e @ A ) @ ( e @ A ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % siftDown.simps(2)
% 0.32/0.49  thf(fact_19_val_Osimps,axiom,
% 0.32/0.49      ! [A: $tType,V2: A,Uu: tree @ A,Uv: tree @ A] :
% 0.32/0.49        ( ( val @ A @ ( t @ A @ V2 @ Uu @ Uv ) )
% 0.32/0.49        = V2 ) ).
% 0.32/0.49  
% 0.32/0.49  % val.simps
% 0.32/0.49  thf(fact_20_siftDown_Osimps_I1_J,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ( ( heapIm748920189ftDown @ A @ ( e @ A ) )
% 0.32/0.49          = ( e @ A ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % siftDown.simps(1)
% 0.32/0.49  thf(fact_21_prod_Oinject,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,X12: A,X24: B,Y1: A,Y2: B] :
% 0.32/0.49        ( ( ( product_Pair @ A @ B @ X12 @ X24 )
% 0.32/0.49          = ( product_Pair @ A @ B @ Y1 @ Y2 ) )
% 0.32/0.49        = ( ( X12 = Y1 )
% 0.32/0.49          & ( X24 = Y2 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod.inject
% 0.32/0.49  thf(fact_22_old_Oprod_Oinject,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,A2: A,B2: B,A3: A,B3: B] :
% 0.32/0.49        ( ( ( product_Pair @ A @ B @ A2 @ B2 )
% 0.32/0.49          = ( product_Pair @ A @ B @ A3 @ B3 ) )
% 0.32/0.49        = ( ( A2 = A3 )
% 0.32/0.49          & ( B2 = B3 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % old.prod.inject
% 0.32/0.49  thf(fact_23_siftDown__in__tree,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [T3: tree @ A] :
% 0.32/0.49            ( ( T3
% 0.32/0.49             != ( e @ A ) )
% 0.32/0.49           => ( in_tree @ A @ ( val @ A @ ( heapIm748920189ftDown @ A @ T3 ) ) @ T3 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % siftDown_in_tree
% 0.32/0.49  thf(fact_24_eq__snd__iff,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,B2: A,P2: product_prod @ B @ A] :
% 0.32/0.49        ( ( B2
% 0.32/0.49          = ( product_snd @ B @ A @ P2 ) )
% 0.32/0.49        = ( ? [A4: B] :
% 0.32/0.49              ( P2
% 0.32/0.49              = ( product_Pair @ B @ A @ A4 @ B2 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % eq_snd_iff
% 0.32/0.49  thf(fact_25_snd__conv,axiom,
% 0.32/0.49      ! [Aa: $tType,A: $tType,X12: Aa,X24: A] :
% 0.32/0.49        ( ( product_snd @ Aa @ A @ ( product_Pair @ Aa @ A @ X12 @ X24 ) )
% 0.32/0.49        = X24 ) ).
% 0.32/0.49  
% 0.32/0.49  % snd_conv
% 0.32/0.49  thf(fact_26_snd__eqD,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,X: B,Y: A,A2: A] :
% 0.32/0.49        ( ( ( product_snd @ B @ A @ ( product_Pair @ B @ A @ X @ Y ) )
% 0.32/0.49          = A2 )
% 0.32/0.49       => ( Y = A2 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % snd_eqD
% 0.32/0.49  thf(fact_27_sndI,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,X: product_prod @ A @ B,Y: A,Z: B] :
% 0.32/0.49        ( ( X
% 0.32/0.49          = ( product_Pair @ A @ B @ Y @ Z ) )
% 0.32/0.49       => ( ( product_snd @ A @ B @ X )
% 0.32/0.49          = Z ) ) ).
% 0.32/0.49  
% 0.32/0.49  % sndI
% 0.32/0.49  thf(fact_28_removeLeaf_Osimps_I2_J,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [V2: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 0.32/0.49            ( ( heapIm970386777veLeaf @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 0.32/0.49            = ( product_Pair @ A @ ( tree @ A ) @ ( product_fst @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) @ ( t @ A @ V2 @ ( product_snd @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) @ ( e @ A ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % removeLeaf.simps(2)
% 0.32/0.49  thf(fact_29_removeLeaf_Osimps_I3_J,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [V2: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 0.32/0.49            ( ( heapIm970386777veLeaf @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.32/0.49            = ( product_Pair @ A @ ( tree @ A ) @ ( product_fst @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) @ ( t @ A @ V2 @ ( e @ A ) @ ( product_snd @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % removeLeaf.simps(3)
% 0.32/0.49  thf(fact_30_removeLeaf_Osimps_I4_J,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [V2: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A] :
% 0.32/0.49            ( ( heapIm970386777veLeaf @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.32/0.49            = ( product_Pair @ A @ ( tree @ A ) @ ( product_fst @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) @ ( t @ A @ V2 @ ( product_snd @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % removeLeaf.simps(4)
% 0.32/0.49  thf(fact_31_prod_Ocollapse,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,Prod: product_prod @ A @ B] :
% 0.32/0.49        ( ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) )
% 0.32/0.49        = Prod ) ).
% 0.32/0.49  
% 0.32/0.49  % prod.collapse
% 0.32/0.49  thf(fact_32_eq__fst__iff,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,A2: A,P2: product_prod @ A @ B] :
% 0.32/0.49        ( ( A2
% 0.32/0.49          = ( product_fst @ A @ B @ P2 ) )
% 0.32/0.49        = ( ? [B4: B] :
% 0.32/0.49              ( P2
% 0.32/0.49              = ( product_Pair @ A @ B @ A2 @ B4 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % eq_fst_iff
% 0.32/0.49  thf(fact_33_fst__conv,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,X12: A,X24: B] :
% 0.32/0.49        ( ( product_fst @ A @ B @ ( product_Pair @ A @ B @ X12 @ X24 ) )
% 0.32/0.49        = X12 ) ).
% 0.32/0.49  
% 0.32/0.49  % fst_conv
% 0.32/0.49  thf(fact_34_fst__eqD,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,X: A,Y: B,A2: A] :
% 0.32/0.49        ( ( ( product_fst @ A @ B @ ( product_Pair @ A @ B @ X @ Y ) )
% 0.32/0.49          = A2 )
% 0.32/0.49       => ( X = A2 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % fst_eqD
% 0.32/0.49  thf(fact_35_fstI,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,X: product_prod @ A @ B,Y: A,Z: B] :
% 0.32/0.49        ( ( X
% 0.32/0.49          = ( product_Pair @ A @ B @ Y @ Z ) )
% 0.32/0.49       => ( ( product_fst @ A @ B @ X )
% 0.32/0.49          = Y ) ) ).
% 0.32/0.49  
% 0.32/0.49  % fstI
% 0.32/0.49  thf(fact_36_prod__eqI,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,P2: product_prod @ A @ B,Q: product_prod @ A @ B] :
% 0.32/0.49        ( ( ( product_fst @ A @ B @ P2 )
% 0.32/0.49          = ( product_fst @ A @ B @ Q ) )
% 0.32/0.49       => ( ( ( product_snd @ A @ B @ P2 )
% 0.32/0.49            = ( product_snd @ A @ B @ Q ) )
% 0.32/0.49         => ( P2 = Q ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod_eqI
% 0.32/0.49  thf(fact_37_prod_Oexpand,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,Prod: product_prod @ A @ B,Prod2: product_prod @ A @ B] :
% 0.32/0.49        ( ( ( ( product_fst @ A @ B @ Prod )
% 0.32/0.49            = ( product_fst @ A @ B @ Prod2 ) )
% 0.32/0.49          & ( ( product_snd @ A @ B @ Prod )
% 0.32/0.49            = ( product_snd @ A @ B @ Prod2 ) ) )
% 0.32/0.49       => ( Prod = Prod2 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod.expand
% 0.32/0.49  thf(fact_38_prod__eq__iff,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType] :
% 0.32/0.49        ( ( ^ [Y3: product_prod @ A @ B,Z2: product_prod @ A @ B] : ( Y3 = Z2 ) )
% 0.32/0.49        = ( ^ [S: product_prod @ A @ B,T2: product_prod @ A @ B] :
% 0.32/0.49              ( ( ( product_fst @ A @ B @ S )
% 0.32/0.49                = ( product_fst @ A @ B @ T2 ) )
% 0.32/0.49              & ( ( product_snd @ A @ B @ S )
% 0.32/0.49                = ( product_snd @ A @ B @ T2 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod_eq_iff
% 0.32/0.49  thf(fact_39_surjective__pairing,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,T3: product_prod @ A @ B] :
% 0.32/0.49        ( T3
% 0.32/0.49        = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ T3 ) @ ( product_snd @ A @ B @ T3 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % surjective_pairing
% 0.32/0.49  thf(fact_40_prod_Oexhaust__sel,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,Prod: product_prod @ A @ B] :
% 0.32/0.49        ( Prod
% 0.32/0.49        = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod.exhaust_sel
% 0.32/0.49  thf(fact_41_in__tree_Osimps_I2_J,axiom,
% 0.32/0.49      ! [A: $tType,V2: A,V3: A,L: tree @ A,R: tree @ A] :
% 0.32/0.49        ( ( in_tree @ A @ V2 @ ( t @ A @ V3 @ L @ R ) )
% 0.32/0.49        = ( ( V2 = V3 )
% 0.32/0.49          | ( in_tree @ A @ V2 @ L )
% 0.32/0.49          | ( in_tree @ A @ V2 @ R ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % in_tree.simps(2)
% 0.32/0.49  thf(fact_42_in__tree_Osimps_I1_J,axiom,
% 0.32/0.49      ! [A: $tType,V2: A] :
% 0.32/0.49        ~ ( in_tree @ A @ V2 @ ( e @ A ) ) ).
% 0.32/0.49  
% 0.32/0.49  % in_tree.simps(1)
% 0.32/0.49  thf(fact_43_siftDown__in__tree__set,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ( ( in_tree @ A )
% 0.32/0.49          = ( ^ [V4: A,T2: tree @ A] : ( in_tree @ A @ V4 @ ( heapIm748920189ftDown @ A @ T2 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % siftDown_in_tree_set
% 0.32/0.49  thf(fact_44_old_Oprod_Oinducts,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
% 0.32/0.49        ( ! [A5: A,B5: B] : ( P @ ( product_Pair @ A @ B @ A5 @ B5 ) )
% 0.32/0.49       => ( P @ Prod ) ) ).
% 0.32/0.49  
% 0.32/0.49  % old.prod.inducts
% 0.32/0.49  thf(fact_45_mem__Collect__eq,axiom,
% 0.32/0.49      ! [A: $tType,A2: A,P: A > $o] :
% 0.32/0.49        ( ( member @ A @ A2 @ ( collect @ A @ P ) )
% 0.32/0.49        = ( P @ A2 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % mem_Collect_eq
% 0.32/0.49  thf(fact_46_Collect__mem__eq,axiom,
% 0.32/0.49      ! [A: $tType,A6: set @ A] :
% 0.32/0.49        ( ( collect @ A
% 0.32/0.49          @ ^ [X4: A] : ( member @ A @ X4 @ A6 ) )
% 0.32/0.49        = A6 ) ).
% 0.32/0.49  
% 0.32/0.49  % Collect_mem_eq
% 0.32/0.49  thf(fact_47_Collect__cong,axiom,
% 0.32/0.49      ! [A: $tType,P: A > $o,Q2: A > $o] :
% 0.32/0.49        ( ! [X5: A] :
% 0.32/0.49            ( ( P @ X5 )
% 0.32/0.49            = ( Q2 @ X5 ) )
% 0.32/0.49       => ( ( collect @ A @ P )
% 0.32/0.49          = ( collect @ A @ Q2 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Collect_cong
% 0.32/0.49  thf(fact_48_ext,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,F: A > B,G: A > B] :
% 0.32/0.49        ( ! [X5: A] :
% 0.32/0.49            ( ( F @ X5 )
% 0.32/0.49            = ( G @ X5 ) )
% 0.32/0.49       => ( F = G ) ) ).
% 0.32/0.49  
% 0.32/0.49  % ext
% 0.32/0.49  thf(fact_49_old_Oprod_Oexhaust,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,Y: product_prod @ A @ B] :
% 0.32/0.49        ~ ! [A5: A,B5: B] :
% 0.32/0.49            ( Y
% 0.32/0.49           != ( product_Pair @ A @ B @ A5 @ B5 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % old.prod.exhaust
% 0.32/0.49  thf(fact_50_prod__induct7,axiom,
% 0.32/0.49      ! [G2: $tType,F2: $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 @ F2 @ G2 ) ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) ) )] :
% 0.32/0.49        ( ! [A5: A,B5: B,C2: C,D2: D,E2: E,F3: F2,G3: G2] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F2 @ G2 ) @ E2 @ ( product_Pair @ F2 @ G2 @ F3 @ G3 ) ) ) ) ) ) )
% 0.32/0.49       => ( P @ X ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod_induct7
% 0.32/0.49  thf(fact_51_prod__induct6,axiom,
% 0.32/0.49      ! [F2: $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 @ F2 ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) )] :
% 0.32/0.49        ( ! [A5: A,B5: B,C2: C,D2: D,E2: E,F3: F2] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ F2 ) @ D2 @ ( product_Pair @ E @ F2 @ E2 @ F3 ) ) ) ) ) )
% 0.32/0.49       => ( P @ X ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod_induct6
% 0.32/0.49  thf(fact_52_prod__induct5,axiom,
% 0.32/0.49      ! [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,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
% 0.32/0.49        ( ! [A5: A,B5: B,C2: C,D2: D,E2: E] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C2 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) )
% 0.32/0.49       => ( P @ X ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod_induct5
% 0.32/0.49  thf(fact_53_prod__induct4,axiom,
% 0.32/0.49      ! [D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
% 0.32/0.49        ( ! [A5: A,B5: B,C2: C,D2: D] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B5 @ ( product_Pair @ C @ D @ C2 @ D2 ) ) ) )
% 0.32/0.49       => ( P @ X ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod_induct4
% 0.32/0.49  thf(fact_54_prod__induct3,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ C )] :
% 0.32/0.49        ( ! [A5: A,B5: B,C2: C] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A5 @ ( product_Pair @ B @ C @ B5 @ C2 ) ) )
% 0.32/0.49       => ( P @ X ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod_induct3
% 0.32/0.49  thf(fact_55_prod__cases7,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F2: $tType,G2: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) ) )] :
% 0.32/0.49        ~ ! [A5: A,B5: B,C2: C,D2: D,E2: E,F3: F2,G3: G2] :
% 0.32/0.49            ( Y
% 0.32/0.49           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F2 @ G2 ) @ E2 @ ( product_Pair @ F2 @ G2 @ F3 @ G3 ) ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod_cases7
% 0.32/0.49  thf(fact_56_prod__cases6,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F2: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) )] :
% 0.32/0.49        ~ ! [A5: A,B5: B,C2: C,D2: D,E2: E,F3: F2] :
% 0.32/0.49            ( Y
% 0.32/0.49           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ F2 ) @ D2 @ ( product_Pair @ E @ F2 @ E2 @ F3 ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod_cases6
% 0.32/0.49  thf(fact_57_prod__cases5,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
% 0.32/0.49        ~ ! [A5: A,B5: B,C2: C,D2: D,E2: E] :
% 0.32/0.49            ( Y
% 0.32/0.49           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C2 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod_cases5
% 0.32/0.49  thf(fact_58_prod__cases4,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,C: $tType,D: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
% 0.32/0.49        ~ ! [A5: A,B5: B,C2: C,D2: D] :
% 0.32/0.49            ( Y
% 0.32/0.49           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B5 @ ( product_Pair @ C @ D @ C2 @ D2 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod_cases4
% 0.32/0.49  thf(fact_59_prod__cases3,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,C: $tType,Y: product_prod @ A @ ( product_prod @ B @ C )] :
% 0.32/0.49        ~ ! [A5: A,B5: B,C2: C] :
% 0.32/0.49            ( Y
% 0.32/0.49           != ( product_Pair @ A @ ( product_prod @ B @ C ) @ A5 @ ( product_Pair @ B @ C @ B5 @ C2 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod_cases3
% 0.32/0.49  thf(fact_60_Pair__inject,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,A2: A,B2: B,A3: A,B3: B] :
% 0.32/0.49        ( ( ( product_Pair @ A @ B @ A2 @ B2 )
% 0.32/0.49          = ( product_Pair @ A @ B @ A3 @ B3 ) )
% 0.32/0.49       => ~ ( ( A2 = A3 )
% 0.32/0.49           => ( B2 != B3 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Pair_inject
% 0.32/0.49  thf(fact_61_prod__cases,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P2: product_prod @ A @ B] :
% 0.32/0.49        ( ! [A5: A,B5: B] : ( P @ ( product_Pair @ A @ B @ A5 @ B5 ) )
% 0.32/0.49       => ( P @ P2 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod_cases
% 0.32/0.49  thf(fact_62_surj__pair,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,P2: product_prod @ A @ B] :
% 0.32/0.49      ? [X5: A,Y4: B] :
% 0.32/0.49        ( P2
% 0.32/0.49        = ( product_Pair @ A @ B @ X5 @ Y4 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % surj_pair
% 0.32/0.49  thf(fact_63_removeLeaf_Osimps_I5_J,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [V2: A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 0.32/0.49            ( ( heapIm970386777veLeaf @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.32/0.49            = ( product_Pair @ A @ ( tree @ A ) @ ( product_fst @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) @ ( t @ A @ V2 @ ( product_snd @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % removeLeaf.simps(5)
% 0.32/0.49  thf(fact_64_old_Oprod_Orec,axiom,
% 0.32/0.49      ! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A2: A,B2: B] :
% 0.32/0.49        ( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 0.32/0.49        = ( F1 @ A2 @ B2 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % old.prod.rec
% 0.32/0.49  thf(fact_65_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,P: A > B > $o,X: A,Y: B,A2: product_prod @ A @ B] :
% 0.32/0.49        ( ( P @ X @ Y )
% 0.32/0.49       => ( ( A2
% 0.32/0.49            = ( product_Pair @ A @ B @ X @ Y ) )
% 0.32/0.49         => ( P @ ( product_fst @ A @ B @ A2 ) @ ( product_snd @ A @ B @ A2 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % BNF_Greatest_Fixpoint.subst_Pair
% 0.32/0.49  thf(fact_66_conjI__realizer,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,P: A > $o,P2: A,Q2: B > $o,Q: B] :
% 0.32/0.49        ( ( P @ P2 )
% 0.32/0.49       => ( ( Q2 @ Q )
% 0.32/0.49         => ( ( P @ ( product_fst @ A @ B @ ( product_Pair @ A @ B @ P2 @ Q ) ) )
% 0.32/0.49            & ( Q2 @ ( product_snd @ A @ B @ ( product_Pair @ A @ B @ P2 @ Q ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % conjI_realizer
% 0.32/0.49  thf(fact_67_exI__realizer,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,P: A > B > $o,Y: A,X: B] :
% 0.32/0.49        ( ( P @ Y @ X )
% 0.32/0.49       => ( P @ ( product_snd @ B @ A @ ( product_Pair @ B @ A @ X @ Y ) ) @ ( product_fst @ B @ A @ ( product_Pair @ B @ A @ X @ Y ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % exI_realizer
% 0.32/0.49  thf(fact_68_exE__realizer_H,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,P: A > B > $o,P2: product_prod @ B @ A] :
% 0.32/0.49        ( ( P @ ( product_snd @ B @ A @ P2 ) @ ( product_fst @ B @ A @ P2 ) )
% 0.32/0.49       => ~ ! [X5: B,Y4: A] :
% 0.32/0.49              ~ ( P @ Y4 @ X5 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % exE_realizer'
% 0.32/0.49  thf(fact_69_prod_Oswap__def,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType] :
% 0.32/0.49        ( ( product_swap @ A @ B )
% 0.32/0.49        = ( ^ [P3: product_prod @ A @ B] : ( product_Pair @ B @ A @ ( product_snd @ A @ B @ P3 ) @ ( product_fst @ A @ B @ P3 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod.swap_def
% 0.32/0.49  thf(fact_70_heapify_Osimps_I2_J,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [V2: A,L: tree @ A,R: tree @ A] :
% 0.32/0.49            ( ( heapIm818251801eapify @ A @ ( t @ A @ V2 @ L @ R ) )
% 0.32/0.49            = ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm818251801eapify @ A @ L ) @ ( heapIm818251801eapify @ A @ R ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % heapify.simps(2)
% 0.32/0.49  thf(fact_71_is__heap_Osimps_I4_J,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [V2: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 0.32/0.49            ( ( is_heap @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 0.32/0.49            = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.32/0.49              & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % is_heap.simps(4)
% 0.32/0.49  thf(fact_72_is__heap_Osimps_I3_J,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [V2: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 0.32/0.49            ( ( is_heap @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.32/0.49            = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.32/0.49              & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % is_heap.simps(3)
% 0.32/0.49  thf(fact_73_swap__swap,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,P2: product_prod @ A @ B] :
% 0.32/0.49        ( ( product_swap @ B @ A @ ( product_swap @ A @ B @ P2 ) )
% 0.32/0.49        = P2 ) ).
% 0.32/0.49  
% 0.32/0.49  % swap_swap
% 0.32/0.49  thf(fact_74_swap__simp,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,X: B,Y: A] :
% 0.32/0.49        ( ( product_swap @ B @ A @ ( product_Pair @ B @ A @ X @ Y ) )
% 0.32/0.49        = ( product_Pair @ A @ B @ Y @ X ) ) ).
% 0.32/0.49  
% 0.32/0.49  % swap_simp
% 0.32/0.49  thf(fact_75_fst__swap,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,X: product_prod @ B @ A] :
% 0.32/0.49        ( ( product_fst @ A @ B @ ( product_swap @ B @ A @ X ) )
% 0.32/0.49        = ( product_snd @ B @ A @ X ) ) ).
% 0.32/0.49  
% 0.32/0.49  % fst_swap
% 0.32/0.49  thf(fact_76_snd__swap,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,X: product_prod @ A @ B] :
% 0.32/0.49        ( ( product_snd @ B @ A @ ( product_swap @ A @ B @ X ) )
% 0.32/0.49        = ( product_fst @ A @ B @ X ) ) ).
% 0.32/0.49  
% 0.32/0.49  % snd_swap
% 0.32/0.49  thf(fact_77_siftDown__Node,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [T3: tree @ A,V2: A,L: tree @ A,R: tree @ A] :
% 0.32/0.49            ( ( T3
% 0.32/0.49              = ( t @ A @ V2 @ L @ R ) )
% 0.32/0.49           => ? [L2: tree @ A,V5: A,R2: tree @ A] :
% 0.32/0.49                ( ( ( heapIm748920189ftDown @ A @ T3 )
% 0.32/0.49                  = ( t @ A @ V5 @ L2 @ R2 ) )
% 0.32/0.49                & ( ord_less_eq @ A @ V2 @ V5 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % siftDown_Node
% 0.32/0.49  thf(fact_78_heapify_Osimps_I1_J,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ( ( heapIm818251801eapify @ A @ ( e @ A ) )
% 0.32/0.49          = ( e @ A ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % heapify.simps(1)
% 0.32/0.49  thf(fact_79_heapify__heap__is__heap,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [T3: tree @ A] : ( is_heap @ A @ ( heapIm818251801eapify @ A @ T3 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % heapify_heap_is_heap
% 0.32/0.49  thf(fact_80_is__heap_Osimps_I5_J,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [V2: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A] :
% 0.32/0.49            ( ( is_heap @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.32/0.49            = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 0.32/0.49              & ( is_heap @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) )
% 0.32/0.49              & ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.32/0.49              & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % is_heap.simps(5)
% 0.32/0.49  thf(fact_81_is__heap_Osimps_I6_J,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [V2: A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 0.32/0.49            ( ( is_heap @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.32/0.49            = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.32/0.49              & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) )
% 0.32/0.49              & ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 0.32/0.49              & ( is_heap @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % is_heap.simps(6)
% 0.32/0.49  thf(fact_82_is__heap__max,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [V2: A,T3: tree @ A] :
% 0.32/0.49            ( ( in_tree @ A @ V2 @ T3 )
% 0.32/0.49           => ( ( is_heap @ A @ T3 )
% 0.32/0.49             => ( ord_less_eq @ A @ V2 @ ( val @ A @ T3 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % is_heap_max
% 0.32/0.49  thf(fact_83_order__refl,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( preorder @ A )
% 0.32/0.49       => ! [X: A] : ( ord_less_eq @ A @ X @ X ) ) ).
% 0.32/0.49  
% 0.32/0.49  % order_refl
% 0.32/0.49  thf(fact_84_siftDown_Osimps_I3_J,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [Va2: A,Vb2: tree @ A,Vc2: tree @ A,V2: A] :
% 0.32/0.49            ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.32/0.49             => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 0.32/0.49                = ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) ) )
% 0.32/0.49            & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.32/0.49             => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 0.32/0.49                = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) @ ( e @ A ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % siftDown.simps(3)
% 0.32/0.49  thf(fact_85_siftDown_Osimps_I4_J,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [Va2: A,Vb2: tree @ A,Vc2: tree @ A,V2: A] :
% 0.32/0.49            ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.32/0.49             => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.32/0.49                = ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) )
% 0.32/0.49            & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.32/0.49             => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.32/0.49                = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( e @ A ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % siftDown.simps(4)
% 0.32/0.49  thf(fact_86_internal__case__prod__conv,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,C: $tType,C3: B > C > A,A2: B,B2: C] :
% 0.32/0.49        ( ( produc2004651681e_prod @ B @ C @ A @ C3 @ ( product_Pair @ B @ C @ A2 @ B2 ) )
% 0.32/0.49        = ( C3 @ A2 @ B2 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % internal_case_prod_conv
% 0.32/0.49  thf(fact_87_siftDown_Osimps_I6_J,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [Va2: A,Vb2: tree @ A,Vc2: tree @ A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A,V2: A] :
% 0.32/0.49            ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.32/0.49             => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 0.32/0.49                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.32/0.49                    = ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) )
% 0.32/0.49                & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 0.32/0.49                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.32/0.49                    = ( t @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) )
% 0.32/0.49            & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.32/0.49             => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.32/0.49                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.32/0.49                    = ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) )
% 0.32/0.49                & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.32/0.49                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.32/0.49                    = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % siftDown.simps(6)
% 0.32/0.49  thf(fact_88_siftDown_Osimps_I5_J,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [Vd2: A,Ve2: tree @ A,Vf2: tree @ A,Va2: A,Vb2: tree @ A,Vc2: tree @ A,V2: A] :
% 0.32/0.49            ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.32/0.49             => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.32/0.49                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.32/0.49                    = ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) )
% 0.32/0.49                & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.32/0.49                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.32/0.49                    = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) )
% 0.32/0.49            & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.32/0.49             => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 0.32/0.49                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.32/0.49                    = ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) )
% 0.32/0.49                & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 0.32/0.49                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.32/0.49                    = ( t @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % siftDown.simps(5)
% 0.32/0.49  thf(fact_89_left_Osimps,axiom,
% 0.32/0.49      ! [A: $tType,V2: A,L: tree @ A,R: tree @ A] :
% 0.32/0.49        ( ( heapIm1271749598e_left @ A @ ( t @ A @ V2 @ L @ R ) )
% 0.32/0.49        = L ) ).
% 0.32/0.49  
% 0.32/0.49  % left.simps
% 0.32/0.49  thf(fact_90_right_Osimps,axiom,
% 0.32/0.49      ! [A: $tType,V2: A,L: tree @ A,R: tree @ A] :
% 0.32/0.49        ( ( heapIm1434396069_right @ A @ ( t @ A @ V2 @ L @ R ) )
% 0.32/0.49        = R ) ).
% 0.32/0.49  
% 0.32/0.49  % right.simps
% 0.32/0.49  thf(fact_91_dual__order_Oantisym,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( order @ A )
% 0.32/0.49       => ! [B2: A,A2: A] :
% 0.32/0.49            ( ( ord_less_eq @ A @ B2 @ A2 )
% 0.32/0.49           => ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.32/0.49             => ( A2 = B2 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % dual_order.antisym
% 0.32/0.49  thf(fact_92_dual__order_Oeq__iff,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( order @ A )
% 0.32/0.49       => ( ( ^ [Y3: A,Z2: A] : ( Y3 = Z2 ) )
% 0.32/0.49          = ( ^ [A4: A,B4: A] :
% 0.32/0.49                ( ( ord_less_eq @ A @ B4 @ A4 )
% 0.32/0.49                & ( ord_less_eq @ A @ A4 @ B4 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % dual_order.eq_iff
% 0.32/0.49  thf(fact_93_dual__order_Otrans,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( order @ A )
% 0.32/0.49       => ! [B2: A,A2: A,C3: A] :
% 0.32/0.49            ( ( ord_less_eq @ A @ B2 @ A2 )
% 0.32/0.49           => ( ( ord_less_eq @ A @ C3 @ B2 )
% 0.32/0.49             => ( ord_less_eq @ A @ C3 @ A2 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % dual_order.trans
% 0.32/0.49  thf(fact_94_linorder__wlog,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [P: A > A > $o,A2: A,B2: A] :
% 0.32/0.49            ( ! [A5: A,B5: A] :
% 0.32/0.49                ( ( ord_less_eq @ A @ A5 @ B5 )
% 0.32/0.49               => ( P @ A5 @ B5 ) )
% 0.32/0.49           => ( ! [A5: A,B5: A] :
% 0.32/0.49                  ( ( P @ B5 @ A5 )
% 0.32/0.49                 => ( P @ A5 @ B5 ) )
% 0.32/0.49             => ( P @ A2 @ B2 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % linorder_wlog
% 0.32/0.49  thf(fact_95_dual__order_Orefl,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( order @ A )
% 0.32/0.49       => ! [A2: A] : ( ord_less_eq @ A @ A2 @ A2 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % dual_order.refl
% 0.32/0.49  thf(fact_96_order__trans,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( preorder @ A )
% 0.32/0.49       => ! [X: A,Y: A,Z: A] :
% 0.32/0.49            ( ( ord_less_eq @ A @ X @ Y )
% 0.32/0.49           => ( ( ord_less_eq @ A @ Y @ Z )
% 0.32/0.49             => ( ord_less_eq @ A @ X @ Z ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % order_trans
% 0.32/0.49  thf(fact_97_order__class_Oorder_Oantisym,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( order @ A )
% 0.32/0.49       => ! [A2: A,B2: A] :
% 0.32/0.49            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.32/0.49           => ( ( ord_less_eq @ A @ B2 @ A2 )
% 0.32/0.49             => ( A2 = B2 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % order_class.order.antisym
% 0.32/0.49  thf(fact_98_ord__le__eq__trans,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( ord @ A )
% 0.32/0.49       => ! [A2: A,B2: A,C3: A] :
% 0.32/0.49            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.32/0.49           => ( ( B2 = C3 )
% 0.32/0.49             => ( ord_less_eq @ A @ A2 @ C3 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % ord_le_eq_trans
% 0.32/0.49  thf(fact_99_ord__eq__le__trans,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( ord @ A )
% 0.32/0.49       => ! [A2: A,B2: A,C3: A] :
% 0.32/0.49            ( ( A2 = B2 )
% 0.32/0.49           => ( ( ord_less_eq @ A @ B2 @ C3 )
% 0.32/0.49             => ( ord_less_eq @ A @ A2 @ C3 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % ord_eq_le_trans
% 0.32/0.49  thf(fact_100_order__class_Oorder_Oeq__iff,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( order @ A )
% 0.32/0.49       => ( ( ^ [Y3: A,Z2: A] : ( Y3 = Z2 ) )
% 0.32/0.49          = ( ^ [A4: A,B4: A] :
% 0.32/0.49                ( ( ord_less_eq @ A @ A4 @ B4 )
% 0.32/0.49                & ( ord_less_eq @ A @ B4 @ A4 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % order_class.order.eq_iff
% 0.32/0.49  thf(fact_101_antisym__conv,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( order @ A )
% 0.32/0.49       => ! [Y: A,X: A] :
% 0.32/0.49            ( ( ord_less_eq @ A @ Y @ X )
% 0.32/0.49           => ( ( ord_less_eq @ A @ X @ Y )
% 0.32/0.49              = ( X = Y ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % antisym_conv
% 0.32/0.49  thf(fact_102_le__cases3,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [X: A,Y: A,Z: A] :
% 0.32/0.49            ( ( ( ord_less_eq @ A @ X @ Y )
% 0.32/0.49             => ~ ( ord_less_eq @ A @ Y @ Z ) )
% 0.32/0.49           => ( ( ( ord_less_eq @ A @ Y @ X )
% 0.32/0.49               => ~ ( ord_less_eq @ A @ X @ Z ) )
% 0.32/0.49             => ( ( ( ord_less_eq @ A @ X @ Z )
% 0.32/0.49                 => ~ ( ord_less_eq @ A @ Z @ Y ) )
% 0.32/0.49               => ( ( ( ord_less_eq @ A @ Z @ Y )
% 0.32/0.49                   => ~ ( ord_less_eq @ A @ Y @ X ) )
% 0.32/0.49                 => ( ( ( ord_less_eq @ A @ Y @ Z )
% 0.32/0.49                     => ~ ( ord_less_eq @ A @ Z @ X ) )
% 0.32/0.49                   => ~ ( ( ord_less_eq @ A @ Z @ X )
% 0.32/0.49                       => ~ ( ord_less_eq @ A @ X @ Y ) ) ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % le_cases3
% 0.32/0.49  thf(fact_103_order_Otrans,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( order @ A )
% 0.32/0.49       => ! [A2: A,B2: A,C3: A] :
% 0.32/0.49            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.32/0.49           => ( ( ord_less_eq @ A @ B2 @ C3 )
% 0.32/0.49             => ( ord_less_eq @ A @ A2 @ C3 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % order.trans
% 0.32/0.49  thf(fact_104_le__cases,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [X: A,Y: A] :
% 0.32/0.49            ( ~ ( ord_less_eq @ A @ X @ Y )
% 0.32/0.49           => ( ord_less_eq @ A @ Y @ X ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % le_cases
% 0.32/0.49  thf(fact_105_eq__refl,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( preorder @ A )
% 0.32/0.49       => ! [X: A,Y: A] :
% 0.32/0.49            ( ( X = Y )
% 0.32/0.49           => ( ord_less_eq @ A @ X @ Y ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % eq_refl
% 0.32/0.49  thf(fact_106_linear,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [X: A,Y: A] :
% 0.32/0.49            ( ( ord_less_eq @ A @ X @ Y )
% 0.32/0.49            | ( ord_less_eq @ A @ Y @ X ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % linear
% 0.32/0.49  thf(fact_107_antisym,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( order @ A )
% 0.32/0.49       => ! [X: A,Y: A] :
% 0.32/0.49            ( ( ord_less_eq @ A @ X @ Y )
% 0.32/0.49           => ( ( ord_less_eq @ A @ Y @ X )
% 0.32/0.49             => ( X = Y ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % antisym
% 0.32/0.49  thf(fact_108_eq__iff,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( order @ A )
% 0.32/0.49       => ( ( ^ [Y3: A,Z2: A] : ( Y3 = Z2 ) )
% 0.32/0.49          = ( ^ [X4: A,Y5: A] :
% 0.32/0.49                ( ( ord_less_eq @ A @ X4 @ Y5 )
% 0.32/0.49                & ( ord_less_eq @ A @ Y5 @ X4 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % eq_iff
% 0.32/0.49  thf(fact_109_ord__le__eq__subst,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType] :
% 0.32/0.49        ( ( ( ord @ B )
% 0.32/0.49          & ( ord @ A ) )
% 0.32/0.49       => ! [A2: A,B2: A,F: A > B,C3: B] :
% 0.32/0.49            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.32/0.49           => ( ( ( F @ B2 )
% 0.32/0.49                = C3 )
% 0.32/0.49             => ( ! [X5: A,Y4: A] :
% 0.32/0.49                    ( ( ord_less_eq @ A @ X5 @ Y4 )
% 0.32/0.49                   => ( ord_less_eq @ B @ ( F @ X5 ) @ ( F @ Y4 ) ) )
% 0.32/0.49               => ( ord_less_eq @ B @ ( F @ A2 ) @ C3 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % ord_le_eq_subst
% 0.32/0.49  thf(fact_110_ord__eq__le__subst,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType] :
% 0.32/0.49        ( ( ( ord @ B )
% 0.32/0.49          & ( ord @ A ) )
% 0.32/0.49       => ! [A2: A,F: B > A,B2: B,C3: B] :
% 0.32/0.49            ( ( A2
% 0.32/0.49              = ( F @ B2 ) )
% 0.32/0.49           => ( ( ord_less_eq @ B @ B2 @ C3 )
% 0.32/0.49             => ( ! [X5: B,Y4: B] :
% 0.32/0.49                    ( ( ord_less_eq @ B @ X5 @ Y4 )
% 0.32/0.49                   => ( ord_less_eq @ A @ ( F @ X5 ) @ ( F @ Y4 ) ) )
% 0.32/0.49               => ( ord_less_eq @ A @ A2 @ ( F @ C3 ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % ord_eq_le_subst
% 0.32/0.49  thf(fact_111_order__subst2,axiom,
% 0.32/0.49      ! [A: $tType,C: $tType] :
% 0.32/0.49        ( ( ( order @ C )
% 0.32/0.49          & ( order @ A ) )
% 0.32/0.49       => ! [A2: A,B2: A,F: A > C,C3: C] :
% 0.32/0.49            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.32/0.49           => ( ( ord_less_eq @ C @ ( F @ B2 ) @ C3 )
% 0.32/0.49             => ( ! [X5: A,Y4: A] :
% 0.32/0.49                    ( ( ord_less_eq @ A @ X5 @ Y4 )
% 0.32/0.49                   => ( ord_less_eq @ C @ ( F @ X5 ) @ ( F @ Y4 ) ) )
% 0.32/0.49               => ( ord_less_eq @ C @ ( F @ A2 ) @ C3 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % order_subst2
% 0.32/0.49  thf(fact_112_order__subst1,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType] :
% 0.32/0.49        ( ( ( order @ B )
% 0.32/0.49          & ( order @ A ) )
% 0.32/0.49       => ! [A2: A,F: B > A,B2: B,C3: B] :
% 0.32/0.49            ( ( ord_less_eq @ A @ A2 @ ( F @ B2 ) )
% 0.32/0.49           => ( ( ord_less_eq @ B @ B2 @ C3 )
% 0.32/0.49             => ( ! [X5: B,Y4: B] :
% 0.32/0.49                    ( ( ord_less_eq @ B @ X5 @ Y4 )
% 0.32/0.49                   => ( ord_less_eq @ A @ ( F @ X5 ) @ ( F @ Y4 ) ) )
% 0.32/0.49               => ( ord_less_eq @ A @ A2 @ ( F @ C3 ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % order_subst1
% 0.32/0.49  thf(fact_113_le__fun__def,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType] :
% 0.32/0.49        ( ( ord @ B )
% 0.32/0.49       => ( ( ord_less_eq @ ( A > B ) )
% 0.32/0.49          = ( ^ [F4: A > B,G4: A > B] :
% 0.32/0.49              ! [X4: A] : ( ord_less_eq @ B @ ( F4 @ X4 ) @ ( G4 @ X4 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % le_fun_def
% 0.32/0.49  thf(fact_114_le__funI,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType] :
% 0.32/0.49        ( ( ord @ B )
% 0.32/0.49       => ! [F: A > B,G: A > B] :
% 0.32/0.49            ( ! [X5: A] : ( ord_less_eq @ B @ ( F @ X5 ) @ ( G @ X5 ) )
% 0.32/0.49           => ( ord_less_eq @ ( A > B ) @ F @ G ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % le_funI
% 0.32/0.49  thf(fact_115_le__funE,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType] :
% 0.32/0.49        ( ( ord @ B )
% 0.32/0.49       => ! [F: A > B,G: A > B,X: A] :
% 0.32/0.49            ( ( ord_less_eq @ ( A > B ) @ F @ G )
% 0.32/0.49           => ( ord_less_eq @ B @ ( F @ X ) @ ( G @ X ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % le_funE
% 0.32/0.49  thf(fact_116_le__funD,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType] :
% 0.32/0.49        ( ( ord @ B )
% 0.32/0.49       => ! [F: A > B,G: A > B,X: A] :
% 0.32/0.49            ( ( ord_less_eq @ ( A > B ) @ F @ G )
% 0.32/0.49           => ( ord_less_eq @ B @ ( F @ X ) @ ( G @ X ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % le_funD
% 0.32/0.49  thf(fact_117_hs__remove__max__def,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ( ( heapIm1542349758ve_max @ A )
% 0.32/0.49          = ( ^ [T2: tree @ A] :
% 0.32/0.49                ( if @ ( product_prod @ A @ ( tree @ A ) )
% 0.32/0.49                @ ( ( product_snd @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ T2 ) )
% 0.32/0.49                  = ( e @ A ) )
% 0.32/0.49                @ ( product_Pair @ A @ ( tree @ A ) @ ( val @ A @ T2 ) @ ( e @ A ) )
% 0.32/0.49                @ ( product_Pair @ A @ ( tree @ A ) @ ( val @ A @ T2 ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ ( product_fst @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ T2 ) ) @ ( heapIm1271749598e_left @ A @ ( product_snd @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ T2 ) ) ) @ ( heapIm1434396069_right @ A @ ( product_snd @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ T2 ) ) ) ) ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % hs_remove_max_def
% 0.32/0.49  thf(fact_118_relChain__def,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType] :
% 0.32/0.49        ( ( ord @ B )
% 0.32/0.49       => ( ( bNF_Ca1785829860lChain @ A @ B )
% 0.32/0.49          = ( ^ [R3: set @ ( product_prod @ A @ A ),As: A > B] :
% 0.32/0.49              ! [I: A,J: A] :
% 0.32/0.49                ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ I @ J ) @ R3 )
% 0.32/0.49               => ( ord_less_eq @ B @ ( As @ I ) @ ( As @ J ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % relChain_def
% 0.32/0.49  thf(fact_119_Heap_Oremove__max__is__heap,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),L: B,M: A,L3: B] :
% 0.32/0.49            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.32/0.49           => ( ~ ( Is_empty @ L )
% 0.32/0.49             => ( ( is_heap @ A @ ( As_tree @ L ) )
% 0.32/0.49               => ( ( ( product_Pair @ A @ B @ M @ L3 )
% 0.32/0.49                    = ( Remove_max @ L ) )
% 0.32/0.49                 => ( is_heap @ A @ ( As_tree @ L3 ) ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Heap.remove_max_is_heap
% 0.32/0.49  thf(fact_120_Heap_Oremove__max__val,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),T3: B,M: A,T4: B] :
% 0.32/0.49            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.32/0.49           => ( ~ ( Is_empty @ T3 )
% 0.32/0.49             => ( ( ( product_Pair @ A @ B @ M @ T4 )
% 0.32/0.49                  = ( Remove_max @ T3 ) )
% 0.32/0.49               => ( M
% 0.32/0.49                  = ( val @ A @ ( As_tree @ T3 ) ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Heap.remove_max_val
% 0.32/0.49  thf(fact_121_sndOp__def,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,C: $tType] :
% 0.32/0.49        ( ( bNF_sndOp @ C @ A @ B )
% 0.32/0.49        = ( ^ [P4: C > A > $o,Q3: A > B > $o,Ac: product_prod @ C @ B] : ( product_Pair @ A @ B @ ( bNF_pick_middlep @ C @ A @ B @ P4 @ Q3 @ ( product_fst @ C @ B @ Ac ) @ ( product_snd @ C @ B @ Ac ) ) @ ( product_snd @ C @ B @ Ac ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % sndOp_def
% 0.32/0.49  thf(fact_122_fstOp__def,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType] :
% 0.32/0.49        ( ( bNF_fstOp @ A @ B @ C )
% 0.32/0.49        = ( ^ [P4: A > B > $o,Q3: B > C > $o,Ac: product_prod @ A @ C] : ( product_Pair @ A @ B @ ( product_fst @ A @ C @ Ac ) @ ( bNF_pick_middlep @ A @ B @ C @ P4 @ Q3 @ ( product_fst @ A @ C @ Ac ) @ ( product_snd @ A @ C @ Ac ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % fstOp_def
% 0.32/0.49  thf(fact_123_Heap_Oas__tree__empty,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),T3: B] :
% 0.32/0.49            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.32/0.49           => ( ( ( As_tree @ T3 )
% 0.32/0.49                = ( e @ A ) )
% 0.32/0.49              = ( Is_empty @ T3 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Heap.as_tree_empty
% 0.32/0.49  thf(fact_124_Heap_Ois__heap__of__list,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),I2: list @ A] :
% 0.32/0.49            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.32/0.49           => ( is_heap @ A @ ( As_tree @ ( Of_list @ I2 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Heap.is_heap_of_list
% 0.32/0.49  thf(fact_125_scomp__unfold,axiom,
% 0.32/0.49      ! [D: $tType,C: $tType,B: $tType,A: $tType] :
% 0.32/0.49        ( ( product_scomp @ A @ B @ C @ D )
% 0.32/0.49        = ( ^ [F4: A > ( product_prod @ B @ C ),G4: B > C > D,X4: A] : ( G4 @ ( product_fst @ B @ C @ ( F4 @ X4 ) ) @ ( product_snd @ B @ C @ ( F4 @ X4 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % scomp_unfold
% 0.32/0.49  thf(fact_126_pred__subset__eq2,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,R4: set @ ( product_prod @ A @ B ),S2: set @ ( product_prod @ A @ B )] :
% 0.32/0.49        ( ( ord_less_eq @ ( A > B > $o )
% 0.32/0.49          @ ^ [X4: A,Y5: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ R4 )
% 0.32/0.49          @ ^ [X4: A,Y5: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ S2 ) )
% 0.32/0.49        = ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R4 @ S2 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % pred_subset_eq2
% 0.32/0.49  thf(fact_127_pred__equals__eq2,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,R4: set @ ( product_prod @ A @ B ),S2: set @ ( product_prod @ A @ B )] :
% 0.32/0.49        ( ( ( ^ [X4: A,Y5: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ R4 ) )
% 0.32/0.49          = ( ^ [X4: A,Y5: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ S2 ) ) )
% 0.32/0.49        = ( R4 = S2 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % pred_equals_eq2
% 0.32/0.49  thf(fact_128_csquare__fstOp__sndOp,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,C: $tType,F: ( A > B > $o ) > ( product_prod @ A @ B ) > $o,P: A > C > $o,Q2: C > B > $o] : ( bNF_csquare @ ( product_prod @ A @ B ) @ ( product_prod @ A @ C ) @ C @ ( product_prod @ C @ B ) @ ( collect @ ( product_prod @ A @ B ) @ ( F @ ( relcompp @ A @ C @ B @ P @ Q2 ) ) ) @ ( product_snd @ A @ C ) @ ( product_fst @ C @ B ) @ ( bNF_fstOp @ A @ C @ B @ P @ Q2 ) @ ( bNF_sndOp @ A @ C @ B @ P @ Q2 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % csquare_fstOp_sndOp
% 0.32/0.49  thf(fact_129_predicate2I,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,P: A > B > $o,Q2: A > B > $o] :
% 0.32/0.49        ( ! [X5: A,Y4: B] :
% 0.32/0.49            ( ( P @ X5 @ Y4 )
% 0.32/0.49           => ( Q2 @ X5 @ Y4 ) )
% 0.32/0.49       => ( ord_less_eq @ ( A > B > $o ) @ P @ Q2 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % predicate2I
% 0.32/0.49  thf(fact_130_predicate2D,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,P: A > B > $o,Q2: A > B > $o,X: A,Y: B] :
% 0.32/0.49        ( ( ord_less_eq @ ( A > B > $o ) @ P @ Q2 )
% 0.32/0.49       => ( ( P @ X @ Y )
% 0.32/0.49         => ( Q2 @ X @ Y ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % predicate2D
% 0.32/0.49  thf(fact_131_rev__predicate2D,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,P: A > B > $o,X: A,Y: B,Q2: A > B > $o] :
% 0.32/0.49        ( ( P @ X @ Y )
% 0.32/0.49       => ( ( ord_less_eq @ ( A > B > $o ) @ P @ Q2 )
% 0.32/0.49         => ( Q2 @ X @ Y ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % rev_predicate2D
% 0.32/0.49  thf(fact_132_scomp__scomp,axiom,
% 0.32/0.49      ! [A: $tType,C: $tType,D: $tType,B: $tType,F2: $tType,E: $tType,F: A > ( product_prod @ E @ F2 ),G: E > F2 > ( product_prod @ C @ D ),H: C > D > B] :
% 0.32/0.49        ( ( product_scomp @ A @ C @ D @ B @ ( product_scomp @ A @ E @ F2 @ ( product_prod @ C @ D ) @ F @ G ) @ H )
% 0.32/0.49        = ( product_scomp @ A @ E @ F2 @ B @ F
% 0.32/0.49          @ ^ [X4: E] : ( product_scomp @ F2 @ C @ D @ B @ ( G @ X4 ) @ H ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % scomp_scomp
% 0.32/0.49  thf(fact_133_subset__Collect__iff,axiom,
% 0.32/0.49      ! [A: $tType,B6: set @ A,A6: set @ A,P: A > $o] :
% 0.32/0.49        ( ( ord_less_eq @ ( set @ A ) @ B6 @ A6 )
% 0.32/0.49       => ( ( ord_less_eq @ ( set @ A ) @ B6
% 0.32/0.49            @ ( collect @ A
% 0.32/0.49              @ ^ [X4: A] :
% 0.32/0.49                  ( ( member @ A @ X4 @ A6 )
% 0.32/0.49                  & ( P @ X4 ) ) ) )
% 0.32/0.49          = ( ! [X4: A] :
% 0.32/0.49                ( ( member @ A @ X4 @ B6 )
% 0.32/0.49               => ( P @ X4 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % subset_Collect_iff
% 0.32/0.49  thf(fact_134_subset__CollectI,axiom,
% 0.32/0.49      ! [A: $tType,B6: set @ A,A6: set @ A,Q2: A > $o,P: A > $o] :
% 0.32/0.49        ( ( ord_less_eq @ ( set @ A ) @ B6 @ A6 )
% 0.32/0.49       => ( ! [X5: A] :
% 0.32/0.49              ( ( member @ A @ X5 @ B6 )
% 0.32/0.49             => ( ( Q2 @ X5 )
% 0.32/0.49               => ( P @ X5 ) ) )
% 0.32/0.49         => ( ord_less_eq @ ( set @ A )
% 0.32/0.49            @ ( collect @ A
% 0.32/0.49              @ ^ [X4: A] :
% 0.32/0.49                  ( ( member @ A @ X4 @ B6 )
% 0.32/0.49                  & ( Q2 @ X4 ) ) )
% 0.32/0.49            @ ( collect @ A
% 0.32/0.49              @ ^ [X4: A] :
% 0.32/0.49                  ( ( member @ A @ X4 @ A6 )
% 0.32/0.49                  & ( P @ X4 ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % subset_CollectI
% 0.32/0.49  thf(fact_135_pred__subset__eq,axiom,
% 0.32/0.49      ! [A: $tType,R4: set @ A,S2: set @ A] :
% 0.32/0.49        ( ( ord_less_eq @ ( A > $o )
% 0.32/0.49          @ ^ [X4: A] : ( member @ A @ X4 @ R4 )
% 0.32/0.49          @ ^ [X4: A] : ( member @ A @ X4 @ S2 ) )
% 0.32/0.49        = ( ord_less_eq @ ( set @ A ) @ R4 @ S2 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % pred_subset_eq
% 0.32/0.49  thf(fact_136_relcompp__mono,axiom,
% 0.32/0.49      ! [A: $tType,C: $tType,B: $tType,R5: A > B > $o,R: A > B > $o,S3: B > C > $o,S4: B > C > $o] :
% 0.32/0.49        ( ( ord_less_eq @ ( A > B > $o ) @ R5 @ R )
% 0.32/0.49       => ( ( ord_less_eq @ ( B > C > $o ) @ S3 @ S4 )
% 0.32/0.49         => ( ord_less_eq @ ( A > C > $o ) @ ( relcompp @ A @ B @ C @ R5 @ S3 ) @ ( relcompp @ A @ B @ C @ R @ S4 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % relcompp_mono
% 0.32/0.49  thf(fact_137_leq__OOI,axiom,
% 0.32/0.49      ! [A: $tType,R4: A > A > $o] :
% 0.32/0.49        ( ( R4
% 0.32/0.49          = ( ^ [Y3: A,Z2: A] : ( Y3 = Z2 ) ) )
% 0.32/0.49       => ( ord_less_eq @ ( A > A > $o ) @ R4 @ ( relcompp @ A @ A @ A @ R4 @ R4 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % leq_OOI
% 0.32/0.49  thf(fact_138_ge__eq__refl,axiom,
% 0.32/0.49      ! [A: $tType,R4: A > A > $o,X: A] :
% 0.32/0.49        ( ( ord_less_eq @ ( A > A > $o )
% 0.32/0.49          @ ^ [Y3: A,Z2: A] : ( Y3 = Z2 )
% 0.32/0.49          @ R4 )
% 0.32/0.49       => ( R4 @ X @ X ) ) ).
% 0.32/0.49  
% 0.32/0.49  % ge_eq_refl
% 0.32/0.49  thf(fact_139_refl__ge__eq,axiom,
% 0.32/0.49      ! [A: $tType,R4: A > A > $o] :
% 0.32/0.49        ( ! [X5: A] : ( R4 @ X5 @ X5 )
% 0.32/0.49       => ( ord_less_eq @ ( A > A > $o )
% 0.32/0.49          @ ^ [Y3: A,Z2: A] : ( Y3 = Z2 )
% 0.32/0.49          @ R4 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % refl_ge_eq
% 0.32/0.49  thf(fact_140_pick__middlep,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,C: $tType,P: A > B > $o,Q2: B > C > $o,A2: A,C3: C] :
% 0.32/0.49        ( ( relcompp @ A @ B @ C @ P @ Q2 @ A2 @ C3 )
% 0.32/0.49       => ( ( P @ A2 @ ( bNF_pick_middlep @ A @ B @ C @ P @ Q2 @ A2 @ C3 ) )
% 0.32/0.49          & ( Q2 @ ( bNF_pick_middlep @ A @ B @ C @ P @ Q2 @ A2 @ C3 ) @ C3 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % pick_middlep
% 0.32/0.49  thf(fact_141_scomp__Pair,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType,X: A > ( product_prod @ B @ C )] :
% 0.32/0.49        ( ( product_scomp @ A @ B @ C @ ( product_prod @ B @ C ) @ X @ ( product_Pair @ B @ C ) )
% 0.32/0.49        = X ) ).
% 0.32/0.49  
% 0.32/0.49  % scomp_Pair
% 0.32/0.49  thf(fact_142_Pair__scomp,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,C: $tType,X: C,F: C > A > B] :
% 0.32/0.49        ( ( product_scomp @ A @ C @ A @ B @ ( product_Pair @ C @ A @ X ) @ F )
% 0.32/0.49        = ( F @ X ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Pair_scomp
% 0.32/0.49  thf(fact_143_csquare__def,axiom,
% 0.32/0.49      ! [B: $tType,C: $tType,D: $tType,A: $tType] :
% 0.32/0.49        ( ( bNF_csquare @ A @ B @ C @ D )
% 0.32/0.49        = ( ^ [A7: set @ A,F12: B > C,F22: D > C,P1: A > B,P22: A > D] :
% 0.32/0.49            ! [X4: A] :
% 0.32/0.49              ( ( member @ A @ X4 @ A7 )
% 0.32/0.49             => ( ( F12 @ ( P1 @ X4 ) )
% 0.32/0.49                = ( F22 @ ( P22 @ X4 ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % csquare_def
% 0.32/0.49  thf(fact_144_subrelI,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),S4: set @ ( product_prod @ A @ B )] :
% 0.32/0.49        ( ! [X5: A,Y4: B] :
% 0.32/0.49            ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y4 ) @ R )
% 0.32/0.49           => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y4 ) @ S4 ) )
% 0.32/0.49       => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R @ S4 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % subrelI
% 0.32/0.49  thf(fact_145_subset__antisym,axiom,
% 0.32/0.49      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 0.32/0.49        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 0.32/0.49       => ( ( ord_less_eq @ ( set @ A ) @ B6 @ A6 )
% 0.32/0.49         => ( A6 = B6 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % subset_antisym
% 0.32/0.49  thf(fact_146_subsetI,axiom,
% 0.32/0.49      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 0.32/0.49        ( ! [X5: A] :
% 0.32/0.49            ( ( member @ A @ X5 @ A6 )
% 0.32/0.49           => ( member @ A @ X5 @ B6 ) )
% 0.32/0.49       => ( ord_less_eq @ ( set @ A ) @ A6 @ B6 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % subsetI
% 0.32/0.49  thf(fact_147_eq__subset,axiom,
% 0.32/0.49      ! [A: $tType,P: A > A > $o] :
% 0.32/0.49        ( ord_less_eq @ ( A > A > $o )
% 0.32/0.49        @ ^ [Y3: A,Z2: A] : ( Y3 = Z2 )
% 0.32/0.49        @ ^ [A4: A,B4: A] :
% 0.32/0.49            ( ( P @ A4 @ B4 )
% 0.32/0.49            | ( A4 = B4 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % eq_subset
% 0.32/0.49  thf(fact_148_Collect__restrict,axiom,
% 0.32/0.49      ! [A: $tType,X6: set @ A,P: A > $o] :
% 0.32/0.49        ( ord_less_eq @ ( set @ A )
% 0.32/0.49        @ ( collect @ A
% 0.32/0.49          @ ^ [X4: A] :
% 0.32/0.49              ( ( member @ A @ X4 @ X6 )
% 0.32/0.49              & ( P @ X4 ) ) )
% 0.32/0.49        @ X6 ) ).
% 0.32/0.49  
% 0.32/0.49  % Collect_restrict
% 0.32/0.49  thf(fact_149_predicate1I,axiom,
% 0.32/0.49      ! [A: $tType,P: A > $o,Q2: A > $o] :
% 0.32/0.49        ( ! [X5: A] :
% 0.32/0.49            ( ( P @ X5 )
% 0.32/0.49           => ( Q2 @ X5 ) )
% 0.32/0.49       => ( ord_less_eq @ ( A > $o ) @ P @ Q2 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % predicate1I
% 0.32/0.49  thf(fact_150_predicate1D,axiom,
% 0.32/0.49      ! [A: $tType,P: A > $o,Q2: A > $o,X: A] :
% 0.32/0.49        ( ( ord_less_eq @ ( A > $o ) @ P @ Q2 )
% 0.32/0.49       => ( ( P @ X )
% 0.32/0.49         => ( Q2 @ X ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % predicate1D
% 0.32/0.49  thf(fact_151_rev__predicate1D,axiom,
% 0.32/0.49      ! [A: $tType,P: A > $o,X: A,Q2: A > $o] :
% 0.32/0.49        ( ( P @ X )
% 0.32/0.49       => ( ( ord_less_eq @ ( A > $o ) @ P @ Q2 )
% 0.32/0.49         => ( Q2 @ X ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % rev_predicate1D
% 0.32/0.49  thf(fact_152_ssubst__Pair__rhs,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,R: A,S4: B,R4: set @ ( product_prod @ A @ B ),S3: B] :
% 0.32/0.49        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R @ S4 ) @ R4 )
% 0.32/0.49       => ( ( S3 = S4 )
% 0.32/0.49         => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R @ S3 ) @ R4 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % ssubst_Pair_rhs
% 0.32/0.49  thf(fact_153_in__mono,axiom,
% 0.32/0.49      ! [A: $tType,A6: set @ A,B6: set @ A,X: A] :
% 0.32/0.49        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 0.32/0.49       => ( ( member @ A @ X @ A6 )
% 0.32/0.49         => ( member @ A @ X @ B6 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % in_mono
% 0.32/0.49  thf(fact_154_subsetD,axiom,
% 0.32/0.49      ! [A: $tType,A6: set @ A,B6: set @ A,C3: A] :
% 0.32/0.49        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 0.32/0.49       => ( ( member @ A @ C3 @ A6 )
% 0.32/0.49         => ( member @ A @ C3 @ B6 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % subsetD
% 0.32/0.49  thf(fact_155_equalityE,axiom,
% 0.32/0.49      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 0.32/0.49        ( ( A6 = B6 )
% 0.32/0.49       => ~ ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 0.32/0.49           => ~ ( ord_less_eq @ ( set @ A ) @ B6 @ A6 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % equalityE
% 0.32/0.49  thf(fact_156_subset__eq,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( ord_less_eq @ ( set @ A ) )
% 0.32/0.49        = ( ^ [A7: set @ A,B7: set @ A] :
% 0.32/0.49            ! [X4: A] :
% 0.32/0.49              ( ( member @ A @ X4 @ A7 )
% 0.32/0.49             => ( member @ A @ X4 @ B7 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % subset_eq
% 0.32/0.49  thf(fact_157_equalityD1,axiom,
% 0.32/0.49      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 0.32/0.49        ( ( A6 = B6 )
% 0.32/0.49       => ( ord_less_eq @ ( set @ A ) @ A6 @ B6 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % equalityD1
% 0.32/0.49  thf(fact_158_equalityD2,axiom,
% 0.32/0.49      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 0.32/0.49        ( ( A6 = B6 )
% 0.32/0.49       => ( ord_less_eq @ ( set @ A ) @ B6 @ A6 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % equalityD2
% 0.32/0.49  thf(fact_159_subset__iff,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( ord_less_eq @ ( set @ A ) )
% 0.32/0.49        = ( ^ [A7: set @ A,B7: set @ A] :
% 0.32/0.49            ! [T2: A] :
% 0.32/0.49              ( ( member @ A @ T2 @ A7 )
% 0.32/0.49             => ( member @ A @ T2 @ B7 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % subset_iff
% 0.32/0.49  thf(fact_160_subset__refl,axiom,
% 0.32/0.49      ! [A: $tType,A6: set @ A] : ( ord_less_eq @ ( set @ A ) @ A6 @ A6 ) ).
% 0.32/0.49  
% 0.32/0.49  % subset_refl
% 0.32/0.49  thf(fact_161_Collect__mono,axiom,
% 0.32/0.49      ! [A: $tType,P: A > $o,Q2: A > $o] :
% 0.32/0.49        ( ! [X5: A] :
% 0.32/0.49            ( ( P @ X5 )
% 0.32/0.49           => ( Q2 @ X5 ) )
% 0.32/0.49       => ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q2 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Collect_mono
% 0.32/0.49  thf(fact_162_subset__trans,axiom,
% 0.32/0.49      ! [A: $tType,A6: set @ A,B6: set @ A,C4: set @ A] :
% 0.32/0.49        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 0.32/0.49       => ( ( ord_less_eq @ ( set @ A ) @ B6 @ C4 )
% 0.32/0.49         => ( ord_less_eq @ ( set @ A ) @ A6 @ C4 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % subset_trans
% 0.32/0.49  thf(fact_163_set__eq__subset,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( ^ [Y3: set @ A,Z2: set @ A] : ( Y3 = Z2 ) )
% 0.32/0.49        = ( ^ [A7: set @ A,B7: set @ A] :
% 0.32/0.49              ( ( ord_less_eq @ ( set @ A ) @ A7 @ B7 )
% 0.32/0.49              & ( ord_less_eq @ ( set @ A ) @ B7 @ A7 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % set_eq_subset
% 0.32/0.49  thf(fact_164_Collect__mono__iff,axiom,
% 0.32/0.49      ! [A: $tType,P: A > $o,Q2: A > $o] :
% 0.32/0.49        ( ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q2 ) )
% 0.32/0.49        = ( ! [X4: A] :
% 0.32/0.49              ( ( P @ X4 )
% 0.32/0.49             => ( Q2 @ X4 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Collect_mono_iff
% 0.32/0.49  thf(fact_165_predicate2D__conj,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,P: A > B > $o,Q2: A > B > $o,R4: $o,X: A,Y: B] :
% 0.32/0.49        ( ( ( ord_less_eq @ ( A > B > $o ) @ P @ Q2 )
% 0.32/0.49          & R4 )
% 0.32/0.49       => ( R4
% 0.32/0.49          & ( ( P @ X @ Y )
% 0.32/0.49           => ( Q2 @ X @ Y ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % predicate2D_conj
% 0.32/0.49  thf(fact_166_Collect__subset,axiom,
% 0.32/0.49      ! [A: $tType,A6: set @ A,P: A > $o] :
% 0.32/0.49        ( ord_less_eq @ ( set @ A )
% 0.32/0.49        @ ( collect @ A
% 0.32/0.49          @ ^ [X4: A] :
% 0.32/0.49              ( ( member @ A @ X4 @ A6 )
% 0.32/0.49              & ( P @ X4 ) ) )
% 0.32/0.49        @ A6 ) ).
% 0.32/0.49  
% 0.32/0.49  % Collect_subset
% 0.32/0.49  thf(fact_167_less__eq__set__def,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( ord_less_eq @ ( set @ A ) )
% 0.32/0.49        = ( ^ [A7: set @ A,B7: set @ A] :
% 0.32/0.49              ( ord_less_eq @ ( A > $o )
% 0.32/0.49              @ ^ [X4: A] : ( member @ A @ X4 @ A7 )
% 0.32/0.49              @ ^ [X4: A] : ( member @ A @ X4 @ B7 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % less_eq_set_def
% 0.32/0.49  thf(fact_168_prop__restrict,axiom,
% 0.32/0.49      ! [A: $tType,X: A,Z3: set @ A,X6: set @ A,P: A > $o] :
% 0.32/0.49        ( ( member @ A @ X @ Z3 )
% 0.32/0.49       => ( ( ord_less_eq @ ( set @ A ) @ Z3
% 0.32/0.49            @ ( collect @ A
% 0.32/0.49              @ ^ [X4: A] :
% 0.32/0.49                  ( ( member @ A @ X4 @ X6 )
% 0.32/0.49                  & ( P @ X4 ) ) ) )
% 0.32/0.49         => ( P @ X ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prop_restrict
% 0.32/0.49  thf(fact_169_conj__subset__def,axiom,
% 0.32/0.49      ! [A: $tType,A6: set @ A,P: A > $o,Q2: A > $o] :
% 0.32/0.49        ( ( ord_less_eq @ ( set @ A ) @ A6
% 0.32/0.49          @ ( collect @ A
% 0.32/0.49            @ ^ [X4: A] :
% 0.32/0.49                ( ( P @ X4 )
% 0.32/0.49                & ( Q2 @ X4 ) ) ) )
% 0.32/0.49        = ( ( ord_less_eq @ ( set @ A ) @ A6 @ ( collect @ A @ P ) )
% 0.32/0.49          & ( ord_less_eq @ ( set @ A ) @ A6 @ ( collect @ A @ Q2 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % conj_subset_def
% 0.32/0.49  thf(fact_170_Heap_Oaxioms_I2_J,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B )] :
% 0.32/0.49            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.32/0.49           => ( heap_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Heap.axioms(2)
% 0.32/0.49  thf(fact_171_Powp__mono,axiom,
% 0.32/0.49      ! [A: $tType,A6: A > $o,B6: A > $o] :
% 0.32/0.49        ( ( ord_less_eq @ ( A > $o ) @ A6 @ B6 )
% 0.32/0.49       => ( ord_less_eq @ ( ( set @ A ) > $o ) @ ( powp @ A @ A6 ) @ ( powp @ A @ B6 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Powp_mono
% 0.32/0.49  thf(fact_172_Heap_Ointro,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B )] :
% 0.32/0.49            ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 0.32/0.49           => ( ( heap_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.32/0.49             => ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Heap.intro
% 0.32/0.49  thf(fact_173_Heap__def,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ( ( heap @ B @ A )
% 0.32/0.49          = ( ^ [Empty2: B,Is_empty2: B > $o,Of_list2: ( list @ A ) > B,Multiset2: B > ( multiset @ A ),As_tree2: B > ( tree @ A ),Remove_max2: B > ( product_prod @ A @ B )] :
% 0.32/0.49                ( ( collection @ B @ A @ Empty2 @ Is_empty2 @ Of_list2 @ Multiset2 )
% 0.32/0.49                & ( heap_axioms @ B @ A @ Is_empty2 @ Of_list2 @ Multiset2 @ As_tree2 @ Remove_max2 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Heap_def
% 0.32/0.49  thf(fact_174_image2__eqI,axiom,
% 0.32/0.49      ! [A: $tType,C: $tType,B: $tType,B2: A,F: B > A,X: B,C3: C,G: B > C,A6: set @ B] :
% 0.32/0.49        ( ( B2
% 0.32/0.49          = ( F @ X ) )
% 0.32/0.49       => ( ( C3
% 0.32/0.49            = ( G @ X ) )
% 0.32/0.49         => ( ( member @ B @ X @ A6 )
% 0.32/0.49           => ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ B2 @ C3 ) @ ( bNF_Greatest_image2 @ B @ A @ C @ A6 @ F @ G ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % image2_eqI
% 0.32/0.49  thf(fact_175_Heap_Oaxioms_I1_J,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B )] :
% 0.32/0.49            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.32/0.49           => ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Heap.axioms(1)
% 0.32/0.49  thf(fact_176_GreatestI2__order,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( order @ A )
% 0.32/0.49       => ! [P: A > $o,X: A,Q2: A > $o] :
% 0.32/0.49            ( ( P @ X )
% 0.32/0.49           => ( ! [Y4: A] :
% 0.32/0.49                  ( ( P @ Y4 )
% 0.32/0.49                 => ( ord_less_eq @ A @ Y4 @ X ) )
% 0.32/0.49             => ( ! [X5: A] :
% 0.32/0.49                    ( ( P @ X5 )
% 0.32/0.49                   => ( ! [Y6: A] :
% 0.32/0.49                          ( ( P @ Y6 )
% 0.32/0.49                         => ( ord_less_eq @ A @ Y6 @ X5 ) )
% 0.32/0.49                     => ( Q2 @ X5 ) ) )
% 0.32/0.49               => ( Q2 @ ( order_Greatest @ A @ P ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % GreatestI2_order
% 0.32/0.49  thf(fact_177_Greatest__equality,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( order @ A )
% 0.32/0.49       => ! [P: A > $o,X: A] :
% 0.32/0.49            ( ( P @ X )
% 0.32/0.49           => ( ! [Y4: A] :
% 0.32/0.49                  ( ( P @ Y4 )
% 0.32/0.49                 => ( ord_less_eq @ A @ Y4 @ X ) )
% 0.32/0.49             => ( ( order_Greatest @ A @ P )
% 0.32/0.49                = X ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Greatest_equality
% 0.32/0.49  thf(fact_178_Heap__axioms__def,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ( ( heap_axioms @ B @ A )
% 0.32/0.49          = ( ^ [Is_empty2: B > $o,Of_list2: ( list @ A ) > B,Multiset2: B > ( multiset @ A ),As_tree2: B > ( tree @ A ),Remove_max2: B > ( product_prod @ A @ B )] :
% 0.32/0.49                ( ! [L4: B] :
% 0.32/0.49                    ( ( Multiset2 @ L4 )
% 0.32/0.49                    = ( multiset2 @ A @ ( As_tree2 @ L4 ) ) )
% 0.32/0.49                & ! [I: list @ A] : ( is_heap @ A @ ( As_tree2 @ ( Of_list2 @ I ) ) )
% 0.32/0.49                & ! [T2: B] :
% 0.32/0.49                    ( ( ( As_tree2 @ T2 )
% 0.32/0.49                      = ( e @ A ) )
% 0.32/0.49                    = ( Is_empty2 @ T2 ) )
% 0.32/0.49                & ! [L4: B,M2: A,L5: B] :
% 0.32/0.49                    ( ~ ( Is_empty2 @ L4 )
% 0.32/0.49                   => ( ( ( product_Pair @ A @ B @ M2 @ L5 )
% 0.32/0.49                        = ( Remove_max2 @ L4 ) )
% 0.32/0.49                     => ( ( add_mset @ A @ M2 @ ( Multiset2 @ L5 ) )
% 0.32/0.49                        = ( Multiset2 @ L4 ) ) ) )
% 0.32/0.49                & ! [L4: B,M2: A,L5: B] :
% 0.32/0.49                    ( ~ ( Is_empty2 @ L4 )
% 0.32/0.49                   => ( ( is_heap @ A @ ( As_tree2 @ L4 ) )
% 0.32/0.49                     => ( ( ( product_Pair @ A @ B @ M2 @ L5 )
% 0.32/0.49                          = ( Remove_max2 @ L4 ) )
% 0.32/0.49                       => ( is_heap @ A @ ( As_tree2 @ L5 ) ) ) ) )
% 0.32/0.49                & ! [T2: B,M2: A,T5: B] :
% 0.32/0.49                    ( ~ ( Is_empty2 @ T2 )
% 0.32/0.49                   => ( ( ( product_Pair @ A @ B @ M2 @ T5 )
% 0.32/0.49                        = ( Remove_max2 @ T2 ) )
% 0.32/0.49                     => ( M2
% 0.32/0.49                        = ( val @ A @ ( As_tree2 @ T2 ) ) ) ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Heap_axioms_def
% 0.32/0.49  thf(fact_179_siftDown__multiset,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [T3: tree @ A] :
% 0.32/0.49            ( ( multiset2 @ A @ ( heapIm748920189ftDown @ A @ T3 ) )
% 0.32/0.49            = ( multiset2 @ A @ T3 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % siftDown_multiset
% 0.32/0.49  thf(fact_180_Heap_Oremove__max__multiset_H,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),L: B,M: A,L3: B] :
% 0.32/0.49            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.32/0.49           => ( ~ ( Is_empty @ L )
% 0.32/0.49             => ( ( ( product_Pair @ A @ B @ M @ L3 )
% 0.32/0.49                  = ( Remove_max @ L ) )
% 0.32/0.49               => ( ( add_mset @ A @ M @ ( Multiset @ L3 ) )
% 0.32/0.49                  = ( Multiset @ L ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Heap.remove_max_multiset'
% 0.32/0.49  thf(fact_181_Heap_Omultiset,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),L: B] :
% 0.32/0.49            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.32/0.49           => ( ( Multiset @ L )
% 0.32/0.49              = ( multiset2 @ A @ ( As_tree @ L ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Heap.multiset
% 0.32/0.49  thf(fact_182_multiset__heapify,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [T3: tree @ A] :
% 0.32/0.49            ( ( multiset2 @ A @ ( heapIm818251801eapify @ A @ T3 ) )
% 0.32/0.49            = ( multiset2 @ A @ T3 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % multiset_heapify
% 0.32/0.49  thf(fact_183_Heap__axioms_Ointro,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Of_list: ( list @ A ) > B,Is_empty: B > $o,Remove_max: B > ( product_prod @ A @ B )] :
% 0.32/0.49            ( ! [L6: B] :
% 0.32/0.49                ( ( Multiset @ L6 )
% 0.32/0.49                = ( multiset2 @ A @ ( As_tree @ L6 ) ) )
% 0.32/0.49           => ( ! [I3: list @ A] : ( is_heap @ A @ ( As_tree @ ( Of_list @ I3 ) ) )
% 0.32/0.49             => ( ! [T6: B] :
% 0.32/0.49                    ( ( ( As_tree @ T6 )
% 0.32/0.49                      = ( e @ A ) )
% 0.32/0.49                    = ( Is_empty @ T6 ) )
% 0.32/0.49               => ( ! [L6: B,M3: A,L2: B] :
% 0.32/0.49                      ( ~ ( Is_empty @ L6 )
% 0.32/0.49                     => ( ( ( product_Pair @ A @ B @ M3 @ L2 )
% 0.32/0.49                          = ( Remove_max @ L6 ) )
% 0.32/0.49                       => ( ( add_mset @ A @ M3 @ ( Multiset @ L2 ) )
% 0.32/0.49                          = ( Multiset @ L6 ) ) ) )
% 0.32/0.49                 => ( ! [L6: B,M3: A,L2: B] :
% 0.32/0.49                        ( ~ ( Is_empty @ L6 )
% 0.32/0.49                       => ( ( is_heap @ A @ ( As_tree @ L6 ) )
% 0.32/0.49                         => ( ( ( product_Pair @ A @ B @ M3 @ L2 )
% 0.32/0.49                              = ( Remove_max @ L6 ) )
% 0.32/0.49                           => ( is_heap @ A @ ( As_tree @ L2 ) ) ) ) )
% 0.32/0.49                   => ( ! [T6: B,M3: A,T7: B] :
% 0.32/0.49                          ( ~ ( Is_empty @ T6 )
% 0.32/0.49                         => ( ( ( product_Pair @ A @ B @ M3 @ T7 )
% 0.32/0.49                              = ( Remove_max @ T6 ) )
% 0.32/0.49                           => ( M3
% 0.32/0.49                              = ( val @ A @ ( As_tree @ T6 ) ) ) ) )
% 0.32/0.49                     => ( heap_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max ) ) ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Heap_axioms.intro
% 0.32/0.49  thf(fact_184_heap__top__geq,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [A2: A,T3: tree @ A] :
% 0.32/0.49            ( ( member @ A @ A2 @ ( set_mset @ A @ ( multiset2 @ A @ T3 ) ) )
% 0.32/0.49           => ( ( is_heap @ A @ T3 )
% 0.32/0.49             => ( ord_less_eq @ A @ A2 @ ( val @ A @ T3 ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % heap_top_geq
% 0.32/0.49  thf(fact_185_prod_Osplit__sel__asm,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType,P: C > $o,F: A > B > C,Prod: product_prod @ A @ B] :
% 0.32/0.49        ( ( P @ ( product_case_prod @ A @ B @ C @ F @ Prod ) )
% 0.32/0.49        = ( ~ ( ( Prod
% 0.32/0.49                = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) )
% 0.32/0.49              & ~ ( P @ ( F @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod.split_sel_asm
% 0.32/0.49  thf(fact_186_prod_Osplit__sel,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType,P: C > $o,F: A > B > C,Prod: product_prod @ A @ B] :
% 0.32/0.49        ( ( P @ ( product_case_prod @ A @ B @ C @ F @ Prod ) )
% 0.32/0.49        = ( ( Prod
% 0.32/0.49            = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) )
% 0.32/0.49         => ( P @ ( F @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod.split_sel
% 0.32/0.49  thf(fact_187_mem__case__prodI,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,C: $tType,Z: A,C3: B > C > ( set @ A ),A2: B,B2: C] :
% 0.32/0.49        ( ( member @ A @ Z @ ( C3 @ A2 @ B2 ) )
% 0.32/0.49       => ( member @ A @ Z @ ( product_case_prod @ B @ C @ ( set @ A ) @ C3 @ ( product_Pair @ B @ C @ A2 @ B2 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % mem_case_prodI
% 0.32/0.49  thf(fact_188_mem__case__prodI2,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType,P2: product_prod @ A @ B,Z: C,C3: A > B > ( set @ C )] :
% 0.32/0.49        ( ! [A5: A,B5: B] :
% 0.32/0.49            ( ( P2
% 0.32/0.49              = ( product_Pair @ A @ B @ A5 @ B5 ) )
% 0.32/0.49           => ( member @ C @ Z @ ( C3 @ A5 @ B5 ) ) )
% 0.32/0.49       => ( member @ C @ Z @ ( product_case_prod @ A @ B @ ( set @ C ) @ C3 @ P2 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % mem_case_prodI2
% 0.32/0.49  thf(fact_189_case__prodI2_H,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,C: $tType,P2: product_prod @ A @ B,C3: A > B > C > $o,X: C] :
% 0.32/0.49        ( ! [A5: A,B5: B] :
% 0.32/0.49            ( ( ( product_Pair @ A @ B @ A5 @ B5 )
% 0.32/0.49              = P2 )
% 0.32/0.49           => ( C3 @ A5 @ B5 @ X ) )
% 0.32/0.49       => ( product_case_prod @ A @ B @ ( C > $o ) @ C3 @ P2 @ X ) ) ).
% 0.32/0.49  
% 0.32/0.49  % case_prodI2'
% 0.32/0.49  thf(fact_190_case__prodI,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,F: A > B > $o,A2: A,B2: B] :
% 0.32/0.49        ( ( F @ A2 @ B2 )
% 0.32/0.49       => ( product_case_prod @ A @ B @ $o @ F @ ( product_Pair @ A @ B @ A2 @ B2 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % case_prodI
% 0.32/0.49  thf(fact_191_case__prodI2,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,P2: product_prod @ A @ B,C3: A > B > $o] :
% 0.32/0.49        ( ! [A5: A,B5: B] :
% 0.32/0.49            ( ( P2
% 0.32/0.49              = ( product_Pair @ A @ B @ A5 @ B5 ) )
% 0.32/0.49           => ( C3 @ A5 @ B5 ) )
% 0.32/0.49       => ( product_case_prod @ A @ B @ $o @ C3 @ P2 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % case_prodI2
% 0.32/0.49  thf(fact_192_scomp__apply,axiom,
% 0.32/0.49      ! [A: $tType,D: $tType,C: $tType,B: $tType] :
% 0.32/0.49        ( ( product_scomp @ B @ C @ D @ A )
% 0.32/0.49        = ( ^ [F4: B > ( product_prod @ C @ D ),G4: C > D > A,X4: B] : ( product_case_prod @ C @ D @ A @ G4 @ ( F4 @ X4 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % scomp_apply
% 0.32/0.49  thf(fact_193_case__prod__conv,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,C: $tType,F: B > C > A,A2: B,B2: C] :
% 0.32/0.49        ( ( product_case_prod @ B @ C @ A @ F @ ( product_Pair @ B @ C @ A2 @ B2 ) )
% 0.32/0.49        = ( F @ A2 @ B2 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % case_prod_conv
% 0.32/0.49  thf(fact_194_case__swap,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,C: $tType,F: C > B > A,P2: product_prod @ C @ B] :
% 0.32/0.49        ( ( product_case_prod @ B @ C @ A
% 0.32/0.49          @ ^ [Y5: B,X4: C] : ( F @ X4 @ Y5 )
% 0.32/0.49          @ ( product_swap @ C @ B @ P2 ) )
% 0.32/0.49        = ( product_case_prod @ C @ B @ A @ F @ P2 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % case_swap
% 0.32/0.49  thf(fact_195_Product__Type_OCollect__case__prodD,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,X: product_prod @ A @ B,A6: A > B > $o] :
% 0.32/0.49        ( ( member @ ( product_prod @ A @ B ) @ X @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ A6 ) ) )
% 0.32/0.49       => ( A6 @ ( product_fst @ A @ B @ X ) @ ( product_snd @ A @ B @ X ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Product_Type.Collect_case_prodD
% 0.32/0.49  thf(fact_196_prod_Ocase__distrib,axiom,
% 0.32/0.49      ! [C: $tType,D: $tType,B: $tType,A: $tType,H: C > D,F: A > B > C,Prod: product_prod @ A @ B] :
% 0.32/0.49        ( ( H @ ( product_case_prod @ A @ B @ C @ F @ Prod ) )
% 0.32/0.49        = ( product_case_prod @ A @ B @ D
% 0.32/0.49          @ ^ [X13: A,X25: B] : ( H @ ( F @ X13 @ X25 ) )
% 0.32/0.49          @ Prod ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod.case_distrib
% 0.32/0.49  thf(fact_197_case__prodE,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,C3: A > B > $o,P2: product_prod @ A @ B] :
% 0.32/0.49        ( ( product_case_prod @ A @ B @ $o @ C3 @ P2 )
% 0.32/0.49       => ~ ! [X5: A,Y4: B] :
% 0.32/0.49              ( ( P2
% 0.32/0.49                = ( product_Pair @ A @ B @ X5 @ Y4 ) )
% 0.32/0.49             => ~ ( C3 @ X5 @ Y4 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % case_prodE
% 0.32/0.49  thf(fact_198_case__prodD,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,F: A > B > $o,A2: A,B2: B] :
% 0.32/0.49        ( ( product_case_prod @ A @ B @ $o @ F @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 0.32/0.49       => ( F @ A2 @ B2 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % case_prodD
% 0.32/0.49  thf(fact_199_old_Oprod_Ocase,axiom,
% 0.32/0.49      ! [A: $tType,C: $tType,B: $tType,F: A > B > C,X12: A,X24: B] :
% 0.32/0.49        ( ( product_case_prod @ A @ B @ C @ F @ ( product_Pair @ A @ B @ X12 @ X24 ) )
% 0.32/0.49        = ( F @ X12 @ X24 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % old.prod.case
% 0.32/0.49  thf(fact_200_mem__case__prodE,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,C: $tType,Z: A,C3: B > C > ( set @ A ),P2: product_prod @ B @ C] :
% 0.32/0.49        ( ( member @ A @ Z @ ( product_case_prod @ B @ C @ ( set @ A ) @ C3 @ P2 ) )
% 0.32/0.49       => ~ ! [X5: B,Y4: C] :
% 0.32/0.49              ( ( P2
% 0.32/0.49                = ( product_Pair @ B @ C @ X5 @ Y4 ) )
% 0.32/0.49             => ~ ( member @ A @ Z @ ( C3 @ X5 @ Y4 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % mem_case_prodE
% 0.32/0.49  thf(fact_201_snd__def,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType] :
% 0.32/0.49        ( ( product_snd @ A @ B )
% 0.32/0.49        = ( product_case_prod @ A @ B @ B
% 0.32/0.49          @ ^ [X13: A,X25: B] : X25 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % snd_def
% 0.32/0.49  thf(fact_202_fst__def,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType] :
% 0.32/0.49        ( ( product_fst @ A @ B )
% 0.32/0.49        = ( product_case_prod @ A @ B @ A
% 0.32/0.49          @ ^ [X13: A,X25: B] : X13 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % fst_def
% 0.32/0.49  thf(fact_203_case__prodE2,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,C: $tType,Q2: A > $o,P: B > C > A,Z: product_prod @ B @ C] :
% 0.32/0.49        ( ( Q2 @ ( product_case_prod @ B @ C @ A @ P @ Z ) )
% 0.32/0.49       => ~ ! [X5: B,Y4: C] :
% 0.32/0.49              ( ( Z
% 0.32/0.49                = ( product_Pair @ B @ C @ X5 @ Y4 ) )
% 0.32/0.49             => ~ ( Q2 @ ( P @ X5 @ Y4 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % case_prodE2
% 0.32/0.49  thf(fact_204_case__prod__eta,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType,F: ( product_prod @ A @ B ) > C] :
% 0.32/0.49        ( ( product_case_prod @ A @ B @ C
% 0.32/0.49          @ ^ [X4: A,Y5: B] : ( F @ ( product_Pair @ A @ B @ X4 @ Y5 ) ) )
% 0.32/0.49        = F ) ).
% 0.32/0.49  
% 0.32/0.49  % case_prod_eta
% 0.32/0.49  thf(fact_205_cond__case__prod__eta,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType,F: A > B > C,G: ( product_prod @ A @ B ) > C] :
% 0.32/0.49        ( ! [X5: A,Y4: B] :
% 0.32/0.49            ( ( F @ X5 @ Y4 )
% 0.32/0.49            = ( G @ ( product_Pair @ A @ B @ X5 @ Y4 ) ) )
% 0.32/0.49       => ( ( product_case_prod @ A @ B @ C @ F )
% 0.32/0.49          = G ) ) ).
% 0.32/0.49  
% 0.32/0.49  % cond_case_prod_eta
% 0.32/0.49  thf(fact_206_case__prodD_H,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,C: $tType,R4: A > B > C > $o,A2: A,B2: B,C3: C] :
% 0.32/0.49        ( ( product_case_prod @ A @ B @ ( C > $o ) @ R4 @ ( product_Pair @ A @ B @ A2 @ B2 ) @ C3 )
% 0.32/0.49       => ( R4 @ A2 @ B2 @ C3 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % case_prodD'
% 0.32/0.49  thf(fact_207_case__prodE_H,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,C: $tType,C3: A > B > C > $o,P2: product_prod @ A @ B,Z: C] :
% 0.32/0.49        ( ( product_case_prod @ A @ B @ ( C > $o ) @ C3 @ P2 @ Z )
% 0.32/0.49       => ~ ! [X5: A,Y4: B] :
% 0.32/0.49              ( ( P2
% 0.32/0.49                = ( product_Pair @ A @ B @ X5 @ Y4 ) )
% 0.32/0.49             => ~ ( C3 @ X5 @ Y4 @ Z ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % case_prodE'
% 0.32/0.49  thf(fact_208_scomp__def,axiom,
% 0.32/0.49      ! [D: $tType,C: $tType,B: $tType,A: $tType] :
% 0.32/0.49        ( ( product_scomp @ A @ B @ C @ D )
% 0.32/0.49        = ( ^ [F4: A > ( product_prod @ B @ C ),G4: B > C > D,X4: A] : ( product_case_prod @ B @ C @ D @ G4 @ ( F4 @ X4 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % scomp_def
% 0.32/0.49  thf(fact_209_case__prod__Pair__iden,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,P2: product_prod @ A @ B] :
% 0.32/0.49        ( ( product_case_prod @ A @ B @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B ) @ P2 )
% 0.32/0.49        = P2 ) ).
% 0.32/0.49  
% 0.32/0.49  % case_prod_Pair_iden
% 0.32/0.49  thf(fact_210_case__prod__app,axiom,
% 0.32/0.49      ! [A: $tType,D: $tType,C: $tType,B: $tType] :
% 0.32/0.49        ( ( product_case_prod @ B @ C @ ( D > A ) )
% 0.32/0.49        = ( ^ [F4: B > C > D > A,X4: product_prod @ B @ C,Y5: D] :
% 0.32/0.49              ( product_case_prod @ B @ C @ A
% 0.32/0.49              @ ^ [L4: B,R3: C] : ( F4 @ L4 @ R3 @ Y5 )
% 0.32/0.49              @ X4 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % case_prod_app
% 0.32/0.49  thf(fact_211_Collect__case__prod__mono,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,A6: A > B > $o,B6: A > B > $o] :
% 0.32/0.49        ( ( ord_less_eq @ ( A > B > $o ) @ A6 @ B6 )
% 0.32/0.49       => ( 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 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Collect_case_prod_mono
% 0.32/0.49  thf(fact_212_prod_Ocase__eq__if,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType] :
% 0.32/0.49        ( ( product_case_prod @ A @ B @ C )
% 0.32/0.49        = ( ^ [F4: A > B > C,Prod3: product_prod @ A @ B] : ( F4 @ ( product_fst @ A @ B @ Prod3 ) @ ( product_snd @ A @ B @ Prod3 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % prod.case_eq_if
% 0.32/0.49  thf(fact_213_case__prod__beta,axiom,
% 0.32/0.49      ! [A: $tType,C: $tType,B: $tType] :
% 0.32/0.49        ( ( product_case_prod @ B @ C @ A )
% 0.32/0.49        = ( ^ [F4: B > C > A,P3: product_prod @ B @ C] : ( F4 @ ( product_fst @ B @ C @ P3 ) @ ( product_snd @ B @ C @ P3 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % case_prod_beta
% 0.32/0.49  thf(fact_214_internal__case__prod__def,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType] :
% 0.32/0.49        ( ( produc2004651681e_prod @ A @ B @ C )
% 0.32/0.49        = ( product_case_prod @ A @ B @ C ) ) ).
% 0.32/0.49  
% 0.32/0.49  % internal_case_prod_def
% 0.32/0.49  thf(fact_215_fstOp__in,axiom,
% 0.32/0.49      ! [B: $tType,C: $tType,A: $tType,Ac2: product_prod @ A @ B,P: A > C > $o,Q2: C > B > $o] :
% 0.32/0.49        ( ( member @ ( product_prod @ A @ B ) @ Ac2 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ ( relcompp @ A @ C @ B @ P @ Q2 ) ) ) )
% 0.32/0.49       => ( member @ ( product_prod @ A @ C ) @ ( bNF_fstOp @ A @ C @ B @ P @ Q2 @ Ac2 ) @ ( collect @ ( product_prod @ A @ C ) @ ( product_case_prod @ A @ C @ $o @ P ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % fstOp_in
% 0.32/0.49  thf(fact_216_sndOp__in,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,C: $tType,Ac2: product_prod @ A @ B,P: A > C > $o,Q2: C > B > $o] :
% 0.32/0.49        ( ( member @ ( product_prod @ A @ B ) @ Ac2 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ ( relcompp @ A @ C @ B @ P @ Q2 ) ) ) )
% 0.32/0.49       => ( member @ ( product_prod @ C @ B ) @ ( bNF_sndOp @ A @ C @ B @ P @ Q2 @ Ac2 ) @ ( collect @ ( product_prod @ C @ B ) @ ( product_case_prod @ C @ B @ $o @ Q2 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % sndOp_in
% 0.32/0.49  thf(fact_217_split__comp__eq,axiom,
% 0.32/0.49      ! [A: $tType,C: $tType,B: $tType,D: $tType,F: A > B > C,G: D > A] :
% 0.32/0.49        ( ( ^ [U: product_prod @ D @ B] : ( F @ ( G @ ( product_fst @ D @ B @ U ) ) @ ( product_snd @ D @ B @ U ) ) )
% 0.32/0.49        = ( product_case_prod @ D @ B @ C
% 0.32/0.49          @ ^ [X4: D] : ( F @ ( G @ X4 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % split_comp_eq
% 0.32/0.49  thf(fact_218_case__prod__beta_H,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType] :
% 0.32/0.49        ( ( product_case_prod @ A @ B @ C )
% 0.32/0.49        = ( ^ [F4: A > B > C,X4: product_prod @ A @ B] : ( F4 @ ( product_fst @ A @ B @ X4 ) @ ( product_snd @ A @ B @ X4 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % case_prod_beta'
% 0.32/0.49  thf(fact_219_case__prod__unfold,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType] :
% 0.32/0.49        ( ( product_case_prod @ A @ B @ C )
% 0.32/0.49        = ( ^ [C5: A > B > C,P3: product_prod @ A @ B] : ( C5 @ ( product_fst @ A @ B @ P3 ) @ ( product_snd @ A @ B @ P3 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % case_prod_unfold
% 0.32/0.49  thf(fact_220_exE__realizer,axiom,
% 0.32/0.49      ! [C: $tType,A: $tType,B: $tType,P: A > B > $o,P2: product_prod @ B @ A,Q2: C > $o,F: B > A > C] :
% 0.32/0.49        ( ( P @ ( product_snd @ B @ A @ P2 ) @ ( product_fst @ B @ A @ P2 ) )
% 0.32/0.49       => ( ! [X5: B,Y4: A] :
% 0.32/0.49              ( ( P @ Y4 @ X5 )
% 0.32/0.49             => ( Q2 @ ( F @ X5 @ Y4 ) ) )
% 0.32/0.49         => ( Q2 @ ( product_case_prod @ B @ A @ C @ F @ P2 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % exE_realizer
% 0.32/0.49  thf(fact_221_split__cong,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType,Q: product_prod @ A @ B,F: A > B > C,G: A > B > C,P2: product_prod @ A @ B] :
% 0.32/0.49        ( ! [X5: A,Y4: B] :
% 0.32/0.49            ( ( ( product_Pair @ A @ B @ X5 @ Y4 )
% 0.32/0.49              = Q )
% 0.32/0.49           => ( ( F @ X5 @ Y4 )
% 0.32/0.49              = ( G @ X5 @ Y4 ) ) )
% 0.32/0.49       => ( ( P2 = Q )
% 0.32/0.49         => ( ( product_case_prod @ A @ B @ C @ F @ P2 )
% 0.32/0.49            = ( product_case_prod @ A @ B @ C @ G @ Q ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % split_cong
% 0.32/0.49  thf(fact_222_heap__top__max,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ! [T3: tree @ A] :
% 0.32/0.49            ( ( T3
% 0.32/0.49             != ( e @ A ) )
% 0.32/0.49           => ( ( is_heap @ A @ T3 )
% 0.32/0.49             => ( ( val @ A @ T3 )
% 0.32/0.49                = ( lattic929149872er_Max @ A @ ( set_mset @ A @ ( multiset2 @ A @ T3 ) ) ) ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % heap_top_max
% 0.32/0.49  thf(fact_223_curry__case__prod,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType,F: A > B > C] :
% 0.32/0.49        ( ( product_curry @ A @ B @ C @ ( product_case_prod @ A @ B @ C @ F ) )
% 0.32/0.49        = F ) ).
% 0.32/0.49  
% 0.32/0.49  % curry_case_prod
% 0.32/0.49  thf(fact_224_curryI,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,F: ( product_prod @ A @ B ) > $o,A2: A,B2: B] :
% 0.32/0.49        ( ( F @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 0.32/0.49       => ( product_curry @ A @ B @ $o @ F @ A2 @ B2 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % curryI
% 0.32/0.49  thf(fact_225_split__part,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,P: $o,Q2: A > B > $o] :
% 0.32/0.49        ( ( product_case_prod @ A @ B @ $o
% 0.32/0.49          @ ^ [A4: A,B4: B] :
% 0.32/0.49              ( P
% 0.32/0.49              & ( Q2 @ A4 @ B4 ) ) )
% 0.32/0.49        = ( ^ [Ab: product_prod @ A @ B] :
% 0.32/0.49              ( P
% 0.32/0.49              & ( product_case_prod @ A @ B @ $o @ Q2 @ Ab ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % split_part
% 0.32/0.49  thf(fact_226_curry__conv,axiom,
% 0.32/0.49      ! [A: $tType,C: $tType,B: $tType] :
% 0.32/0.49        ( ( product_curry @ B @ C @ A )
% 0.32/0.49        = ( ^ [F4: ( product_prod @ B @ C ) > A,A4: B,B4: C] : ( F4 @ ( product_Pair @ B @ C @ A4 @ B4 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % curry_conv
% 0.32/0.49  thf(fact_227_case__prod__curry,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType,F: ( product_prod @ A @ B ) > C] :
% 0.32/0.49        ( ( product_case_prod @ A @ B @ C @ ( product_curry @ A @ B @ C @ F ) )
% 0.32/0.49        = F ) ).
% 0.32/0.49  
% 0.32/0.49  % case_prod_curry
% 0.32/0.49  thf(fact_228_prod_Odisc__eq__case,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,Prod: product_prod @ A @ B] :
% 0.32/0.49        ( product_case_prod @ A @ B @ $o
% 0.32/0.49        @ ^ [Uu2: A,Uv2: B] : $true
% 0.32/0.49        @ Prod ) ).
% 0.32/0.49  
% 0.32/0.49  % prod.disc_eq_case
% 0.32/0.49  thf(fact_229_curry__K,axiom,
% 0.32/0.49      ! [B: $tType,C: $tType,A: $tType,C3: C] :
% 0.32/0.49        ( ( product_curry @ A @ B @ C
% 0.32/0.49          @ ^ [X4: product_prod @ A @ B] : C3 )
% 0.32/0.49        = ( ^ [X4: A,Y5: B] : C3 ) ) ).
% 0.32/0.49  
% 0.32/0.49  % curry_K
% 0.32/0.49  thf(fact_230_curryD,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,F: ( product_prod @ A @ B ) > $o,A2: A,B2: B] :
% 0.32/0.49        ( ( product_curry @ A @ B @ $o @ F @ A2 @ B2 )
% 0.32/0.49       => ( F @ ( product_Pair @ A @ B @ A2 @ B2 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % curryD
% 0.32/0.49  thf(fact_231_curryE,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,F: ( product_prod @ A @ B ) > $o,A2: A,B2: B] :
% 0.32/0.49        ( ( product_curry @ A @ B @ $o @ F @ A2 @ B2 )
% 0.32/0.49       => ( F @ ( product_Pair @ A @ B @ A2 @ B2 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % curryE
% 0.32/0.49  thf(fact_232_curry__def,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType] :
% 0.32/0.49        ( ( product_curry @ A @ B @ C )
% 0.32/0.49        = ( ^ [C5: ( product_prod @ A @ B ) > C,X4: A,Y5: B] : ( C5 @ ( product_Pair @ A @ B @ X4 @ Y5 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % curry_def
% 0.32/0.49  thf(fact_233_fst__snd__flip,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType] :
% 0.32/0.49        ( ( product_fst @ A @ B )
% 0.32/0.49        = ( comp @ ( product_prod @ B @ A ) @ A @ ( product_prod @ A @ B ) @ ( product_snd @ B @ A )
% 0.32/0.49          @ ( product_case_prod @ A @ B @ ( product_prod @ B @ A )
% 0.32/0.49            @ ^ [X4: A,Y5: B] : ( product_Pair @ B @ A @ Y5 @ X4 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % fst_snd_flip
% 0.32/0.49  thf(fact_234_snd__fst__flip,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType] :
% 0.32/0.49        ( ( product_snd @ B @ A )
% 0.32/0.49        = ( comp @ ( product_prod @ A @ B ) @ A @ ( product_prod @ B @ A ) @ ( product_fst @ A @ B )
% 0.32/0.49          @ ( product_case_prod @ B @ A @ ( product_prod @ A @ B )
% 0.32/0.49            @ ^ [X4: B,Y5: A] : ( product_Pair @ A @ B @ Y5 @ X4 ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % snd_fst_flip
% 0.32/0.49  thf(fact_235_fst__fstOp,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,C: $tType,P: A > C > $o,Q2: C > B > $o] :
% 0.32/0.49        ( ( product_fst @ A @ B )
% 0.32/0.49        = ( comp @ ( product_prod @ A @ C ) @ A @ ( product_prod @ A @ B ) @ ( product_fst @ A @ C ) @ ( bNF_fstOp @ A @ C @ B @ P @ Q2 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % fst_fstOp
% 0.32/0.49  thf(fact_236_snd__sndOp,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,C: $tType,P: B > C > $o,Q2: C > A > $o] :
% 0.32/0.49        ( ( product_snd @ B @ A )
% 0.32/0.49        = ( comp @ ( product_prod @ C @ A ) @ A @ ( product_prod @ B @ A ) @ ( product_snd @ C @ A ) @ ( bNF_sndOp @ B @ C @ A @ P @ Q2 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % snd_sndOp
% 0.32/0.49  thf(fact_237_comp__apply__eq,axiom,
% 0.32/0.49      ! [B: $tType,D: $tType,A: $tType,C: $tType,F: B > A,G: C > B,X: C,H: D > A,K: C > D] :
% 0.32/0.49        ( ( ( F @ ( G @ X ) )
% 0.32/0.49          = ( H @ ( K @ X ) ) )
% 0.32/0.49       => ( ( comp @ B @ A @ C @ F @ G @ X )
% 0.32/0.49          = ( comp @ D @ A @ C @ H @ K @ X ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % comp_apply_eq
% 0.32/0.49  thf(fact_238_snd__comp__apsnd,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType,F: B > C] :
% 0.32/0.49        ( ( comp @ ( product_prod @ A @ C ) @ C @ ( product_prod @ A @ B ) @ ( product_snd @ A @ C ) @ ( product_apsnd @ B @ C @ A @ F ) )
% 0.32/0.49        = ( comp @ B @ C @ ( product_prod @ A @ B ) @ F @ ( product_snd @ A @ B ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % snd_comp_apsnd
% 0.32/0.49  thf(fact_239_fst__comp__apfst,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType,F: A > C] :
% 0.32/0.49        ( ( comp @ ( product_prod @ C @ B ) @ C @ ( product_prod @ A @ B ) @ ( product_fst @ C @ B ) @ ( product_apfst @ A @ C @ B @ F ) )
% 0.32/0.49        = ( comp @ A @ C @ ( product_prod @ A @ B ) @ F @ ( product_fst @ A @ B ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % fst_comp_apfst
% 0.32/0.49  thf(fact_240_apfst__conv,axiom,
% 0.32/0.49      ! [C: $tType,A: $tType,B: $tType,F: C > A,X: C,Y: B] :
% 0.32/0.49        ( ( product_apfst @ C @ A @ B @ F @ ( product_Pair @ C @ B @ X @ Y ) )
% 0.32/0.49        = ( product_Pair @ A @ B @ ( F @ X ) @ Y ) ) ).
% 0.32/0.49  
% 0.32/0.49  % apfst_conv
% 0.32/0.49  thf(fact_241_apsnd__conv,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,C: $tType,F: C > B,X: A,Y: C] :
% 0.32/0.49        ( ( product_apsnd @ C @ B @ A @ F @ ( product_Pair @ A @ C @ X @ Y ) )
% 0.32/0.49        = ( product_Pair @ A @ B @ X @ ( F @ Y ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % apsnd_conv
% 0.32/0.49  thf(fact_242_fst__apfst,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,C: $tType,F: C > A,X: product_prod @ C @ B] :
% 0.32/0.49        ( ( product_fst @ A @ B @ ( product_apfst @ C @ A @ B @ F @ X ) )
% 0.32/0.49        = ( F @ ( product_fst @ C @ B @ X ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % fst_apfst
% 0.32/0.49  thf(fact_243_apfst__eq__conv,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,C: $tType,F: C > A,X: product_prod @ C @ B,G: C > A] :
% 0.32/0.49        ( ( ( product_apfst @ C @ A @ B @ F @ X )
% 0.32/0.49          = ( product_apfst @ C @ A @ B @ G @ X ) )
% 0.32/0.49        = ( ( F @ ( product_fst @ C @ B @ X ) )
% 0.32/0.49          = ( G @ ( product_fst @ C @ B @ X ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % apfst_eq_conv
% 0.32/0.49  thf(fact_244_snd__apfst,axiom,
% 0.32/0.49      ! [B: $tType,A: $tType,C: $tType,F: C > B,X: product_prod @ C @ A] :
% 0.32/0.49        ( ( product_snd @ B @ A @ ( product_apfst @ C @ B @ A @ F @ X ) )
% 0.32/0.49        = ( product_snd @ C @ A @ X ) ) ).
% 0.32/0.49  
% 0.32/0.49  % snd_apfst
% 0.32/0.49  thf(fact_245_fst__apsnd,axiom,
% 0.32/0.49      ! [B: $tType,C: $tType,A: $tType,F: C > B,X: product_prod @ A @ C] :
% 0.32/0.49        ( ( product_fst @ A @ B @ ( product_apsnd @ C @ B @ A @ F @ X ) )
% 0.32/0.49        = ( product_fst @ A @ C @ X ) ) ).
% 0.32/0.49  
% 0.32/0.49  % fst_apsnd
% 0.32/0.49  thf(fact_246_apsnd__eq__conv,axiom,
% 0.32/0.49      ! [B: $tType,C: $tType,A: $tType,F: C > B,X: product_prod @ A @ C,G: C > B] :
% 0.32/0.49        ( ( ( product_apsnd @ C @ B @ A @ F @ X )
% 0.32/0.49          = ( product_apsnd @ C @ B @ A @ G @ X ) )
% 0.32/0.49        = ( ( F @ ( product_snd @ A @ C @ X ) )
% 0.32/0.49          = ( G @ ( product_snd @ A @ C @ X ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % apsnd_eq_conv
% 0.32/0.49  thf(fact_247_snd__apsnd,axiom,
% 0.32/0.49      ! [A: $tType,C: $tType,B: $tType,F: C > A,X: product_prod @ B @ C] :
% 0.32/0.49        ( ( product_snd @ B @ A @ ( product_apsnd @ C @ A @ B @ F @ X ) )
% 0.32/0.49        = ( F @ ( product_snd @ B @ C @ X ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % snd_apsnd
% 0.32/0.49  thf(fact_248_snd__comp__apfst,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType,F: A > C] :
% 0.32/0.49        ( ( comp @ ( product_prod @ C @ B ) @ B @ ( product_prod @ A @ B ) @ ( product_snd @ C @ B ) @ ( product_apfst @ A @ C @ B @ F ) )
% 0.32/0.49        = ( product_snd @ A @ B ) ) ).
% 0.32/0.49  
% 0.32/0.49  % snd_comp_apfst
% 0.32/0.49  thf(fact_249_fst__comp__apsnd,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,A: $tType,F: B > C] :
% 0.32/0.49        ( ( comp @ ( product_prod @ A @ C ) @ A @ ( product_prod @ A @ B ) @ ( product_fst @ A @ C ) @ ( product_apsnd @ B @ C @ A @ F ) )
% 0.32/0.49        = ( product_fst @ A @ B ) ) ).
% 0.32/0.49  
% 0.32/0.49  % fst_comp_apsnd
% 0.32/0.49  thf(fact_250_apfst__apsnd,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,D: $tType,C: $tType,F: C > A,G: D > B,X: product_prod @ C @ D] :
% 0.32/0.49        ( ( product_apfst @ C @ A @ B @ F @ ( product_apsnd @ D @ B @ C @ G @ X ) )
% 0.32/0.49        = ( product_Pair @ A @ B @ ( F @ ( product_fst @ C @ D @ X ) ) @ ( G @ ( product_snd @ C @ D @ X ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % apfst_apsnd
% 0.32/0.49  thf(fact_251_apsnd__apfst,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,C: $tType,D: $tType,F: C > B,G: D > A,X: product_prod @ D @ C] :
% 0.32/0.49        ( ( product_apsnd @ C @ B @ A @ F @ ( product_apfst @ D @ A @ C @ G @ X ) )
% 0.32/0.49        = ( product_Pair @ A @ B @ ( G @ ( product_fst @ D @ C @ X ) ) @ ( F @ ( product_snd @ D @ C @ X ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % apsnd_apfst
% 0.32/0.49  thf(fact_252_apsnd__compose,axiom,
% 0.32/0.49      ! [C: $tType,B: $tType,D: $tType,A: $tType,F: C > B,G: D > C,X: product_prod @ A @ D] :
% 0.32/0.49        ( ( product_apsnd @ C @ B @ A @ F @ ( product_apsnd @ D @ C @ A @ G @ X ) )
% 0.32/0.49        = ( product_apsnd @ D @ B @ A @ ( comp @ C @ B @ D @ F @ G ) @ X ) ) ).
% 0.32/0.49  
% 0.32/0.49  % apsnd_compose
% 0.32/0.49  thf(fact_253_apfst__compose,axiom,
% 0.32/0.49      ! [C: $tType,A: $tType,B: $tType,D: $tType,F: C > A,G: D > C,X: product_prod @ D @ B] :
% 0.32/0.49        ( ( product_apfst @ C @ A @ B @ F @ ( product_apfst @ D @ C @ B @ G @ X ) )
% 0.32/0.49        = ( product_apfst @ D @ A @ B @ ( comp @ C @ A @ D @ F @ G ) @ X ) ) ).
% 0.32/0.49  
% 0.32/0.49  % apfst_compose
% 0.32/0.49  thf(fact_254_apsnd__apfst__commute,axiom,
% 0.32/0.49      ! [A: $tType,B: $tType,C: $tType,D: $tType,F: C > B,G: D > A,P2: product_prod @ D @ C] :
% 0.32/0.49        ( ( product_apsnd @ C @ B @ A @ F @ ( product_apfst @ D @ A @ C @ G @ P2 ) )
% 0.32/0.49        = ( product_apfst @ D @ A @ B @ G @ ( product_apsnd @ C @ B @ D @ F @ P2 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % apsnd_apfst_commute
% 0.32/0.49  thf(fact_255_case__prod__comp,axiom,
% 0.32/0.49      ! [D: $tType,A: $tType,C: $tType,B: $tType,F: D > C > A,G: B > D,X: product_prod @ B @ C] :
% 0.32/0.49        ( ( product_case_prod @ B @ C @ A @ ( comp @ D @ ( C > A ) @ B @ F @ G ) @ X )
% 0.32/0.49        = ( F @ ( G @ ( product_fst @ B @ C @ X ) ) @ ( product_snd @ B @ C @ X ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % case_prod_comp
% 0.32/0.49  
% 0.32/0.49  % Subclasses (4)
% 0.32/0.49  thf(subcl_Orderings_Olinorder___HOL_Otype,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ( type @ A ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(subcl_Orderings_Olinorder___Orderings_Oord,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ( ord @ A ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(subcl_Orderings_Olinorder___Orderings_Oorder,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ( order @ A ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(subcl_Orderings_Olinorder___Orderings_Opreorder,axiom,
% 0.32/0.49      ! [A: $tType] :
% 0.32/0.49        ( ( linorder @ A )
% 0.32/0.49       => ( preorder @ A ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Type constructors (13)
% 0.32/0.49  thf(tcon_fun___Orderings_Opreorder,axiom,
% 0.32/0.49      ! [A8: $tType,A9: $tType] :
% 0.32/0.49        ( ( preorder @ A9 )
% 0.32/0.49       => ( preorder @ ( A8 > A9 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(tcon_fun___Orderings_Oorder,axiom,
% 0.32/0.49      ! [A8: $tType,A9: $tType] :
% 0.32/0.49        ( ( order @ A9 )
% 0.32/0.49       => ( order @ ( A8 > A9 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(tcon_fun___Orderings_Oord,axiom,
% 0.32/0.49      ! [A8: $tType,A9: $tType] :
% 0.32/0.49        ( ( ord @ A9 )
% 0.32/0.49       => ( ord @ ( A8 > A9 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(tcon_Set_Oset___Orderings_Opreorder_1,axiom,
% 0.32/0.49      ! [A8: $tType] : ( preorder @ ( set @ A8 ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(tcon_Set_Oset___Orderings_Oorder_2,axiom,
% 0.32/0.49      ! [A8: $tType] : ( order @ ( set @ A8 ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(tcon_Set_Oset___Orderings_Oord_3,axiom,
% 0.32/0.49      ! [A8: $tType] : ( ord @ ( set @ A8 ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(tcon_HOL_Obool___Orderings_Opreorder_4,axiom,
% 0.32/0.49      preorder @ $o ).
% 0.32/0.49  
% 0.32/0.49  thf(tcon_HOL_Obool___Orderings_Olinorder,axiom,
% 0.32/0.49      linorder @ $o ).
% 0.32/0.49  
% 0.32/0.49  thf(tcon_HOL_Obool___Orderings_Oorder_5,axiom,
% 0.32/0.49      order @ $o ).
% 0.32/0.49  
% 0.32/0.49  thf(tcon_HOL_Obool___Orderings_Oord_6,axiom,
% 0.32/0.49      ord @ $o ).
% 0.32/0.49  
% 0.32/0.49  thf(tcon_Multiset_Omultiset___Orderings_Opreorder_7,axiom,
% 0.32/0.49      ! [A8: $tType] :
% 0.32/0.49        ( ( preorder @ A8 )
% 0.32/0.49       => ( preorder @ ( multiset @ A8 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(tcon_Multiset_Omultiset___Orderings_Oorder_8,axiom,
% 0.32/0.49      ! [A8: $tType] :
% 0.32/0.49        ( ( preorder @ A8 )
% 0.32/0.49       => ( order @ ( multiset @ A8 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(tcon_Multiset_Omultiset___Orderings_Oord_9,axiom,
% 0.32/0.49      ! [A8: $tType] :
% 0.32/0.49        ( ( preorder @ A8 )
% 0.32/0.49       => ( ord @ ( multiset @ A8 ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  % Helper facts (3)
% 0.32/0.49  thf(help_If_3_1_T,axiom,
% 0.32/0.49      ! [P: $o] :
% 0.32/0.49        ( ( P = $true )
% 0.32/0.49        | ( P = $false ) ) ).
% 0.32/0.49  
% 0.32/0.49  thf(help_If_2_1_T,axiom,
% 0.32/0.49      ! [A: $tType,X: A,Y: A] :
% 0.32/0.49        ( ( if @ A @ $false @ X @ Y )
% 0.32/0.49        = Y ) ).
% 0.32/0.49  
% 0.32/0.49  thf(help_If_1_1_T,axiom,
% 0.32/0.49      ! [A: $tType,X: A,Y: A] :
% 0.32/0.49        ( ( if @ A @ $true @ X @ Y )
% 0.32/0.49        = X ) ).
% 0.32/0.49  
% 0.32/0.49  % Free types (1)
% 0.32/0.49  thf(tfree_0,hypothesis,
% 0.32/0.49      linorder @ a ).
% 0.32/0.49  
% 0.32/0.49  % Conjectures (1)
% 0.32/0.49  thf(conj_0,conjecture,
% 0.32/0.49      is_heap @ a @ ( product_snd @ a @ ( tree @ a ) @ ( heapIm970386777veLeaf @ a @ ( t @ a @ v @ ( e @ a ) @ ( e @ a ) ) ) ) ).
% 0.32/0.49  
% 0.32/0.49  %------------------------------------------------------------------------------
% 0.32/0.49  ------------------------
% 2.51/1.46  ---- Embedded in THF ---
% 2.51/1.46  %%% This output was generated by embedproblem, version 1.9.5 (library version 1.9).
% 2.51/1.46  %%% Generated on Tue Feb 24 08:25:43 EST 2026
% 2.51/1.46  %%% using '$$dhol' embedding, version 1.3.0.
% 2.51/1.46  %%% Logic specification used:
% 2.51/1.46  %%% thf(spec, logic, $$dhol).
% 2.51/1.46  
% 2.51/1.46  % SZS output start ListOfTHF for /export/starexec/sandbox/tmp/tmp.vmZgni0Phd/DTF2DTF3067.p
% 2.51/1.46  thf(ty_t_Product__Type_Oprod, type, product_prod: ($tType > ($tType > $tType))).
% 2.51/1.46  thf(ty_t_Multiset_Omultiset, type, multiset: ($tType > $tType)).
% 2.51/1.46  thf(ty_t_List_Olist, type, list: ($tType > $tType)).
% 2.51/1.46  thf(ty_t_Heap_OTree, type, tree: ($tType > $tType)).
% 2.51/1.46  thf(ty_t_Set_Oset, type, set: ($tType > $tType)).
% 2.51/1.46  thf(ty_tf_a, type, a: $tType).
% 2.51/1.46  thf(sy_cl_HOL_Otype, type, type: (!> [A:$tType]: ($o))).
% 2.51/1.46  thf(sy_cl_Orderings_Oord, type, ord: (!> [A:$tType]: ($o))).
% 2.51/1.46  thf(sy_cl_Orderings_Oorder, type, order: (!> [A:$tType]: ($o))).
% 2.51/1.46  thf(sy_cl_Orderings_Olinorder, type, linorder: (!> [A:$tType]: ($o))).
% 2.51/1.46  thf(sy_cl_Orderings_Opreorder, type, preorder: (!> [A:$tType]: ($o))).
% 2.51/1.46  thf(sy_c_BNF__Cardinal__Order__Relation_OrelChain, type, bNF_Ca1785829860lChain: (!> [A:$tType,B:$tType]: (((set @ ((product_prod @ A) @ A)) > ((A > B) > $o))))).
% 2.51/1.46  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)))))))).
% 2.51/1.46  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))))))).
% 2.51/1.46  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))))))).
% 2.51/1.46  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))))))).
% 2.51/1.46  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)))))))).
% 2.51/1.46  thf(sy_c_Fun_Ocomp, type, comp: (!> [B:$tType,C:$tType,A:$tType]: (((B > C) > ((A > B) > (A > C)))))).
% 2.51/1.46  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oheapify, type, heapIm818251801eapify: (!> [A:$tType]: (((tree @ A) > (tree @ A))))).
% 2.51/1.46  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Ohs__is__empty, type, heapIm721255937_empty: (!> [A:$tType]: (((tree @ A) > $o)))).
% 2.51/1.46  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Ohs__remove__max, type, heapIm1542349758ve_max: (!> [A:$tType]: (((tree @ A) > ((product_prod @ A) @ (tree @ A)))))).
% 2.51/1.46  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oleft, type, heapIm1271749598e_left: (!> [A:$tType]: (((tree @ A) > (tree @ A))))).
% 2.51/1.46  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_OremoveLeaf, type, heapIm970386777veLeaf: (!> [A:$tType]: (((tree @ A) > ((product_prod @ A) @ (tree @ A)))))).
% 2.51/1.46  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oright, type, heapIm1434396069_right: (!> [A:$tType]: (((tree @ A) > (tree @ A))))).
% 2.51/1.46  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_OsiftDown, type, heapIm748920189ftDown: (!> [A:$tType]: (((tree @ A) > (tree @ A))))).
% 2.51/1.46  thf(sy_c_Heap_OHeap, type, heap: (!> [B:$tType,A:$tType]: ((B > ((B > $o) > (((list @ A) > B) > ((B > (multiset @ A)) > ((B > (tree @ A)) > ((B > ((product_prod @ A) @ B)) > $o))))))))).
% 2.51/1.46  thf(sy_c_Heap_OHeap__axioms, type, heap_axioms: (!> [B:$tType,A:$tType]: (((B > $o) > (((list @ A) > B) > ((B > (multiset @ A)) > ((B > (tree @ A)) > ((B > ((product_prod @ A) @ B)) > $o)))))))).
% 2.51/1.46  thf(sy_c_Heap_OTree_OE, type, e: (!> [A:$tType]: ((tree @ A)))).
% 2.51/1.46  thf(sy_c_Heap_OTree_OT, type, t: (!> [A:$tType]: ((A > ((tree @ A) > ((tree @ A) > (tree @ A))))))).
% 2.51/1.46  thf(sy_c_Heap_Oin__tree, type, in_tree: (!> [A:$tType]: ((A > ((tree @ A) > $o))))).
% 2.51/1.46  thf(sy_c_Heap_Ois__heap, type, is_heap: (!> [A:$tType]: (((tree @ A) > $o)))).
% 2.51/1.46  thf(sy_c_Heap_Omultiset, type, multiset2: (!> [A:$tType]: (((tree @ A) > (multiset @ A))))).
% 2.51/1.46  thf(sy_c_Heap_Oval, type, val: (!> [A:$tType]: (((tree @ A) > A)))).
% 2.51/1.46  thf(sy_c_If, type, if: (!> [A:$tType]: (($o > (A > (A > A)))))).
% 2.51/1.46  thf(sy_c_Lattices__Big_Olinorder__class_OMax, type, lattic929149872er_Max: (!> [A:$tType]: (((set @ A) > A)))).
% 2.51/1.46  thf(sy_c_Multiset_Oadd__mset, type, add_mset: (!> [A:$tType]: ((A > ((multiset @ A) > (multiset @ A)))))).
% 2.51/1.46  thf(sy_c_Multiset_Oset__mset, type, set_mset: (!> [A:$tType]: (((multiset @ A) > (set @ A))))).
% 2.51/1.46  thf(sy_c_Orderings_Oord__class_Oless__eq, type, ord_less_eq: (!> [A:$tType]: ((A > (A > $o))))).
% 2.51/1.46  thf(sy_c_Orderings_Oorder__class_OGreatest, type, order_Greatest: (!> [A:$tType]: (((A > $o) > A)))).
% 2.51/1.46  thf(sy_c_Product__Type_OPair, type, product_Pair: (!> [A:$tType,B:$tType]: ((A > (B > ((product_prod @ A) @ B)))))).
% 2.51/1.46  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)))))).
% 2.51/1.46  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)))))).
% 2.51/1.46  thf(sy_c_Product__Type_Ocurry, type, product_curry: (!> [A:$tType,B:$tType,C:$tType]: (((((product_prod @ A) @ B) > C) > (A > (B > C)))))).
% 2.51/1.46  thf(sy_c_Product__Type_Ointernal__case__prod, type, produc2004651681e_prod: (!> [A:$tType,B:$tType,C:$tType]: (((A > (B > C)) > (((product_prod @ A) @ B) > C))))).
% 2.51/1.46  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))))).
% 2.51/1.46  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))))).
% 2.51/1.46  thf(sy_c_Product__Type_Oprod_Ofst, type, product_fst: (!> [A:$tType,B:$tType]: ((((product_prod @ A) @ B) > A)))).
% 2.51/1.46  thf(sy_c_Product__Type_Oprod_Osnd, type, product_snd: (!> [A:$tType,B:$tType]: ((((product_prod @ A) @ B) > B)))).
% 2.51/1.46  thf(sy_c_Product__Type_Oprod_Oswap, type, product_swap: (!> [A:$tType,B:$tType]: ((((product_prod @ A) @ B) > ((product_prod @ B) @ A))))).
% 2.51/1.46  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)))))).
% 2.51/1.46  thf(sy_c_Relation_OPowp, type, powp: (!> [A:$tType]: (((A > $o) > ((set @ A) > $o))))).
% 2.51/1.46  thf(sy_c_Relation_Orelcompp, type, relcompp: (!> [A:$tType,B:$tType,C:$tType]: (((A > (B > $o)) > ((B > (C > $o)) > (A > (C > $o))))))).
% 2.51/1.46  thf(sy_c_RemoveMax_OCollection, type, collection: (!> [B:$tType,A:$tType]: ((B > ((B > $o) > (((list @ A) > B) > ((B > (multiset @ A)) > $o))))))).
% 2.51/1.46  thf(sy_c_Set_OCollect, type, collect: (!> [A:$tType]: (((A > $o) > (set @ A))))).
% 2.51/1.46  thf(sy_c_member, type, member: (!> [A:$tType]: ((A > ((set @ A) > $o))))).
% 2.51/1.46  thf(sy_v_t, type, t2: (tree @ a)).
% 2.51/1.46  thf(sy_v_v____, type, v: a).
% 2.51/1.46  thf(fact_0_assms_I2_J, axiom, (t2 != (e @ a))).
% 2.51/1.46  thf(fact_1_assms_I1_J, axiom, ((is_heap @ a) @ t2)).
% 2.51/1.46  thf(fact_2__C1_Oprems_C_I2_J, axiom, (((((t @ a) @ v) @ (e @ a)) @ (e @ a)) != (e @ a))).
% 2.51/1.46  thf(fact_3__C1_Oprems_C_I1_J, axiom, ((is_heap @ a) @ ((((t @ a) @ v) @ (e @ a)) @ (e @ a)))).
% 2.51/1.46  thf(fact_4_siftDown_Ocases, axiom, (! [A:$tType]: (((linorder @ A) => (! [X:(tree @ A)]: (((X != (e @ A)) => ((! [V:A]: ((X != ((((t @ A) @ V) @ (e @ A)) @ (e @ A))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: ((X != ((((t @ A) @ V) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ (e @ A))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: ((X != ((((t @ A) @ V) @ (e @ A)) @ ((((t @ A) @ Va) @ Vb) @ Vc))))) => (~ ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A),Vd:A,Ve:(tree @ A),Vf:(tree @ A)]: ((X != ((((t @ A) @ V) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ ((((t @ A) @ Vd) @ Ve) @ Vf))))))))))))))))).
% 2.51/1.46  thf(fact_5_removeLeaf_Ocases, axiom, (! [A:$tType]: (((linorder @ A) => (! [X:(tree @ A)]: (((! [V:A]: ((X != ((((t @ A) @ V) @ (e @ A)) @ (e @ A))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: ((X != ((((t @ A) @ V) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ (e @ A))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: ((X != ((((t @ A) @ V) @ (e @ A)) @ ((((t @ A) @ Va) @ Vb) @ Vc))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A),Vd:A,Ve:(tree @ A),Vf:(tree @ A)]: ((X != ((((t @ A) @ V) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ ((((t @ A) @ Vd) @ Ve) @ Vf))))) => ((! [V:A,Vd:A,Ve:(tree @ A),Vf:(tree @ A),Va:A,Vb:(tree @ A),Vc:(tree @ A)]: ((X != ((((t @ A) @ V) @ ((((t @ A) @ Vd) @ Ve) @ Vf)) @ ((((t @ A) @ Va) @ Vb) @ Vc))))) => (X = (e @ A))))))))))))).
% 2.51/1.46  thf(fact_6_removeLeaf_Oinduct, axiom, (! [A:$tType]: (((linorder @ A) => (! [P:((tree @ A) > $o),A0:(tree @ A)]: (((! [V:A]: ((P @ ((((t @ A) @ V) @ (e @ A)) @ (e @ A))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: (((P @ ((((t @ A) @ Va) @ Vb) @ Vc)) => ((P @ ((((t @ A) @ Va) @ Vb) @ Vc)) => (P @ ((((t @ A) @ V) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ (e @ A))))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: (((P @ ((((t @ A) @ Va) @ Vb) @ Vc)) => ((P @ ((((t @ A) @ Va) @ Vb) @ Vc)) => (P @ ((((t @ A) @ V) @ (e @ A)) @ ((((t @ A) @ Va) @ Vb) @ Vc))))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A),Vd:A,Ve:(tree @ A),Vf:(tree @ A)]: (((P @ ((((t @ A) @ Va) @ Vb) @ Vc)) => ((P @ ((((t @ A) @ Va) @ Vb) @ Vc)) => (P @ ((((t @ A) @ V) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ ((((t @ A) @ Vd) @ Ve) @ Vf))))))) => ((! [V:A,Vd:A,Ve:(tree @ A),Vf:(tree @ A),Va:A,Vb:(tree @ A),Vc:(tree @ A)]: (((P @ ((((t @ A) @ Vd) @ Ve) @ Vf)) => ((P @ ((((t @ A) @ Vd) @ Ve) @ Vf)) => (P @ ((((t @ A) @ V) @ ((((t @ A) @ Vd) @ Ve) @ Vf)) @ ((((t @ A) @ Va) @ Vb) @ Vc))))))) => ((P @ (e @ A)) => (P @ A0))))))))))))).
% 2.51/1.46  thf(fact_7_is__heap_Osimps_I2_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A]: (((is_heap @ A) @ ((((t @ A) @ V2) @ (e @ A)) @ (e @ A))))))))).
% 2.51/1.46  thf(fact_8_Tree_Oinject, axiom, (! [A:$tType,X21:A,X22:(tree @ A),X23:(tree @ A),Y21:A,Y22:(tree @ A),Y23:(tree @ A)]: (((((((t @ A) @ X21) @ X22) @ X23) = ((((t @ A) @ Y21) @ Y22) @ Y23)) = ((X21 = Y21) & ((X22 = Y22) & (X23 = Y23))))))).
% 2.51/1.46  thf(fact_9_hs__is__empty__def, axiom, (! [A:$tType]: (((heapIm721255937_empty @ A) = (^ [T2:(tree @ A)]: ((T2 = (e @ A)))))))).
% 2.51/1.46  thf(fact_10_is__heap_Osimps_I1_J, axiom, (! [A:$tType]: (((linorder @ A) => ((is_heap @ A) @ (e @ A)))))).
% 2.51/1.46  thf(fact_11_Tree_Odistinct_I1_J, axiom, (! [A:$tType,X21:A,X22:(tree @ A),X23:(tree @ A)]: (((e @ A) != ((((t @ A) @ X21) @ X22) @ X23))))).
% 2.51/1.46  thf(fact_12_Tree_Oinduct, axiom, (! [A:$tType,P:((tree @ A) > $o),Tree:(tree @ A)]: (((P @ (e @ A)) => ((! [X1:A,X2:(tree @ A),X3:(tree @ A)]: (((P @ X2) => ((P @ X3) => (P @ ((((t @ A) @ X1) @ X2) @ X3)))))) => (P @ Tree)))))).
% 2.51/1.46  thf(fact_13_Tree_Oexhaust, axiom, (! [A:$tType,Y:(tree @ A)]: (((Y != (e @ A)) => (~ ((! [X212:A,X222:(tree @ A),X232:(tree @ A)]: ((Y != ((((t @ A) @ X212) @ X222) @ X232)))))))))).
% 2.51/1.46  thf(fact_14_is__heap_Ocases, axiom, (! [A:$tType]: (((linorder @ A) => (! [X:(tree @ A)]: (((X != (e @ A)) => ((! [V:A]: ((X != ((((t @ A) @ V) @ (e @ A)) @ (e @ A))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: ((X != ((((t @ A) @ V) @ (e @ A)) @ ((((t @ A) @ Va) @ Vb) @ Vc))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: ((X != ((((t @ A) @ V) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ (e @ A))))) => (~ ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A),Vd:A,Ve:(tree @ A),Vf:(tree @ A)]: ((X != ((((t @ A) @ V) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ ((((t @ A) @ Vd) @ Ve) @ Vf))))))))))))))))).
% 2.51/1.46  thf(fact_15_removeLeaf__val__val, axiom, (! [A:$tType]: (((linorder @ A) => (! [T3:(tree @ A)]: ((((((product_snd @ A) @ (tree @ A)) @ ((heapIm970386777veLeaf @ A) @ T3)) != (e @ A)) => ((T3 != (e @ A)) => (((val @ A) @ T3) = ((val @ A) @ (((product_snd @ A) @ (tree @ A)) @ ((heapIm970386777veLeaf @ A) @ T3)))))))))))).
% 2.51/1.46  thf(fact_16_removeLeaf_Osimps_I1_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A]: ((((heapIm970386777veLeaf @ A) @ ((((t @ A) @ V2) @ (e @ A)) @ (e @ A))) = ((((product_Pair @ A) @ (tree @ A)) @ V2) @ (e @ A))))))))).
% 2.51/1.46  thf(fact_17_siftDown__heap__is__heap, axiom, (! [A:$tType]: (((linorder @ A) => (! [L:(tree @ A),R:(tree @ A),T3:(tree @ A),V2:A]: ((((is_heap @ A) @ L) => (((is_heap @ A) @ R) => ((T3 = ((((t @ A) @ V2) @ L) @ R)) => ((is_heap @ A) @ ((heapIm748920189ftDown @ A) @ T3))))))))))).
% 2.51/1.46  thf(fact_18_siftDown_Osimps_I2_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A]: ((((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ (e @ A)) @ (e @ A))) = ((((t @ A) @ V2) @ (e @ A)) @ (e @ A))))))))).
% 2.51/1.46  thf(fact_19_val_Osimps, axiom, (! [A:$tType,V2:A,Uu:(tree @ A),Uv:(tree @ A)]: ((((val @ A) @ ((((t @ A) @ V2) @ Uu) @ Uv)) = V2)))).
% 2.51/1.46  thf(fact_20_siftDown_Osimps_I1_J, axiom, (! [A:$tType]: (((linorder @ A) => (((heapIm748920189ftDown @ A) @ (e @ A)) = (e @ A)))))).
% 2.51/1.46  thf(fact_21_prod_Oinject, axiom, (! [A:$tType,B:$tType,X12:A,X24:B,Y1:A,Y2:B]: (((((((product_Pair @ A) @ B) @ X12) @ X24) = ((((product_Pair @ A) @ B) @ Y1) @ Y2)) = ((X12 = Y1) & (X24 = Y2)))))).
% 2.51/1.46  thf(fact_22_old_Oprod_Oinject, axiom, (! [A:$tType,B:$tType,A2:A,B2:B,A3:A,B3:B]: (((((((product_Pair @ A) @ B) @ A2) @ B2) = ((((product_Pair @ A) @ B) @ A3) @ B3)) = ((A2 = A3) & (B2 = B3)))))).
% 2.51/1.46  thf(fact_23_siftDown__in__tree, axiom, (! [A:$tType]: (((linorder @ A) => (! [T3:(tree @ A)]: (((T3 != (e @ A)) => (((in_tree @ A) @ ((val @ A) @ ((heapIm748920189ftDown @ A) @ T3))) @ T3)))))))).
% 2.51/1.46  thf(fact_24_eq__snd__iff, axiom, (! [A:$tType,B:$tType,B2:A,P2:((product_prod @ B) @ A)]: (((B2 = (((product_snd @ B) @ A) @ P2)) = (? [A4:B]: ((P2 = ((((product_Pair @ B) @ A) @ A4) @ B2)))))))).
% 2.51/1.46  thf(fact_25_snd__conv, axiom, (! [Aa:$tType,A:$tType,X12:Aa,X24:A]: (((((product_snd @ Aa) @ A) @ ((((product_Pair @ Aa) @ A) @ X12) @ X24)) = X24)))).
% 2.51/1.46  thf(fact_26_snd__eqD, axiom, (! [B:$tType,A:$tType,X:B,Y:A,A2:A]: ((((((product_snd @ B) @ A) @ ((((product_Pair @ B) @ A) @ X) @ Y)) = A2) => (Y = A2))))).
% 2.51/1.46  thf(fact_27_sndI, axiom, (! [A:$tType,B:$tType,X:((product_prod @ A) @ B),Y:A,Z:B]: (((X = ((((product_Pair @ A) @ B) @ Y) @ Z)) => ((((product_snd @ A) @ B) @ X) = Z))))).
% 2.51/1.46  thf(fact_28_removeLeaf_Osimps_I2_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A,Va2:A,Vb2:(tree @ A),Vc2:(tree @ A)]: ((((heapIm970386777veLeaf @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ (e @ A))) = ((((product_Pair @ A) @ (tree @ A)) @ (((product_fst @ A) @ (tree @ A)) @ ((heapIm970386777veLeaf @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))) @ ((((t @ A) @ V2) @ (((product_snd @ A) @ (tree @ A)) @ ((heapIm970386777veLeaf @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))) @ (e @ A)))))))))).
% 2.51/1.46  thf(fact_29_removeLeaf_Osimps_I3_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A,Va2:A,Vb2:(tree @ A),Vc2:(tree @ A)]: ((((heapIm970386777veLeaf @ A) @ ((((t @ A) @ V2) @ (e @ A)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((product_Pair @ A) @ (tree @ A)) @ (((product_fst @ A) @ (tree @ A)) @ ((heapIm970386777veLeaf @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))) @ ((((t @ A) @ V2) @ (e @ A)) @ (((product_snd @ A) @ (tree @ A)) @ ((heapIm970386777veLeaf @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))))))))))).
% 2.51/1.46  thf(fact_30_removeLeaf_Osimps_I4_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A,Va2:A,Vb2:(tree @ A),Vc2:(tree @ A),Vd2:A,Ve2:(tree @ A),Vf2:(tree @ A)]: ((((heapIm970386777veLeaf @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) = ((((product_Pair @ A) @ (tree @ A)) @ (((product_fst @ A) @ (tree @ A)) @ ((heapIm970386777veLeaf @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))) @ ((((t @ A) @ V2) @ (((product_snd @ A) @ (tree @ A)) @ ((heapIm970386777veLeaf @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)))))))))).
% 2.51/1.46  thf(fact_31_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)))).
% 2.51/1.46  thf(fact_32_eq__fst__iff, axiom, (! [A:$tType,B:$tType,A2:A,P2:((product_prod @ A) @ B)]: (((A2 = (((product_fst @ A) @ B) @ P2)) = (? [B4:B]: ((P2 = ((((product_Pair @ A) @ B) @ A2) @ B4)))))))).
% 2.51/1.46  thf(fact_33_fst__conv, axiom, (! [B:$tType,A:$tType,X12:A,X24:B]: (((((product_fst @ A) @ B) @ ((((product_Pair @ A) @ B) @ X12) @ X24)) = X12)))).
% 2.51/1.46  thf(fact_34_fst__eqD, axiom, (! [B:$tType,A:$tType,X:A,Y:B,A2:A]: ((((((product_fst @ A) @ B) @ ((((product_Pair @ A) @ B) @ X) @ Y)) = A2) => (X = A2))))).
% 2.51/1.46  thf(fact_35_fstI, axiom, (! [B:$tType,A:$tType,X:((product_prod @ A) @ B),Y:A,Z:B]: (((X = ((((product_Pair @ A) @ B) @ Y) @ Z)) => ((((product_fst @ A) @ B) @ X) = Y))))).
% 2.51/1.46  thf(fact_36_prod__eqI, axiom, (! [B:$tType,A:$tType,P2:((product_prod @ A) @ B),Q:((product_prod @ A) @ B)]: ((((((product_fst @ A) @ B) @ P2) = (((product_fst @ A) @ B) @ Q)) => (((((product_snd @ A) @ B) @ P2) = (((product_snd @ A) @ B) @ Q)) => (P2 = Q)))))).
% 2.51/1.46  thf(fact_37_prod_Oexpand, axiom, (! [B:$tType,A:$tType,Prod:((product_prod @ A) @ B),Prod2:((product_prod @ A) @ B)]: (((((((product_fst @ A) @ B) @ Prod) = (((product_fst @ A) @ B) @ Prod2)) & ((((product_snd @ A) @ B) @ Prod) = (((product_snd @ A) @ B) @ Prod2))) => (Prod = Prod2))))).
% 2.51/1.46  thf(fact_38_prod__eq__iff, axiom, (! [B:$tType,A:$tType]: (((^ [Y3:((product_prod @ A) @ B),Z2:((product_prod @ A) @ B)]: ((Y3 = Z2))) = (^ [S:((product_prod @ A) @ B),T2:((product_prod @ A) @ B)]: ((((((product_fst @ A) @ B) @ S) = (((product_fst @ A) @ B) @ T2)) & ((((product_snd @ A) @ B) @ S) = (((product_snd @ A) @ B) @ T2))))))))).
% 2.51/1.46  thf(fact_39_surjective__pairing, axiom, (! [B:$tType,A:$tType,T3:((product_prod @ A) @ B)]: ((T3 = ((((product_Pair @ A) @ B) @ (((product_fst @ A) @ B) @ T3)) @ (((product_snd @ A) @ B) @ T3)))))).
% 2.51/1.46  thf(fact_40_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)))))).
% 2.51/1.46  thf(fact_41_in__tree_Osimps_I2_J, axiom, (! [A:$tType,V2:A,V3:A,L:(tree @ A),R:(tree @ A)]: (((((in_tree @ A) @ V2) @ ((((t @ A) @ V3) @ L) @ R)) = ((V2 = V3) | ((((in_tree @ A) @ V2) @ L) | (((in_tree @ A) @ V2) @ R))))))).
% 2.51/1.46  thf(fact_42_in__tree_Osimps_I1_J, axiom, (! [A:$tType,V2:A]: ((~ ((((in_tree @ A) @ V2) @ (e @ A))))))).
% 2.51/1.46  thf(fact_43_siftDown__in__tree__set, axiom, (! [A:$tType]: (((linorder @ A) => ((in_tree @ A) = (^ [V4:A,T2:(tree @ A)]: ((((in_tree @ A) @ V4) @ ((heapIm748920189ftDown @ A) @ T2))))))))).
% 2.51/1.46  thf(fact_44_old_Oprod_Oinducts, axiom, (! [B:$tType,A:$tType,P:(((product_prod @ A) @ B) > $o),Prod:((product_prod @ A) @ B)]: (((! [A5:A,B5:B]: ((P @ ((((product_Pair @ A) @ B) @ A5) @ B5)))) => (P @ Prod))))).
% 2.51/1.46  thf(fact_45_mem__Collect__eq, axiom, (! [A:$tType,A2:A,P:(A > $o)]: (((((member @ A) @ A2) @ ((collect @ A) @ P)) = (P @ A2))))).
% 2.51/1.46  thf(fact_46_Collect__mem__eq, axiom, (! [A:$tType,A6:(set @ A)]: ((((collect @ A) @ (^ [X4:A]: ((((member @ A) @ X4) @ A6)))) = A6)))).
% 2.51/1.46  thf(fact_47_Collect__cong, axiom, (! [A:$tType,P:(A > $o),Q2:(A > $o)]: (((! [X5:A]: (((P @ X5) = (Q2 @ X5)))) => (((collect @ A) @ P) = ((collect @ A) @ Q2)))))).
% 2.51/1.46  thf(fact_48_ext, axiom, (! [B:$tType,A:$tType,F:(A > B),G:(A > B)]: (((! [X5:A]: (((F @ X5) = (G @ X5)))) => (F = G))))).
% 2.51/1.46  thf(fact_49_old_Oprod_Oexhaust, axiom, (! [A:$tType,B:$tType,Y:((product_prod @ A) @ B)]: ((~ ((! [A5:A,B5:B]: ((Y != ((((product_Pair @ A) @ B) @ A5) @ B5))))))))).
% 2.51/1.46  thf(fact_50_prod__induct7, axiom, (! [G2:$tType,F2:$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 @ F2) @ G2)))))) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G2))))))]: (((! [A5:A,B5:B,C2:C,D2:D,E2:E,F3:F2,G3:G2]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G2)))))) @ A5) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G2))))) @ B5) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G2)))) @ C2) @ ((((product_Pair @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G2))) @ D2) @ ((((product_Pair @ E) @ ((product_prod @ F2) @ G2)) @ E2) @ ((((product_Pair @ F2) @ G2) @ F3) @ G3))))))))) => (P @ X))))).
% 2.51/1.46  thf(fact_51_prod__induct6, axiom, (! [F2:$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) @ F2))))) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F2)))))]: (((! [A5:A,B5:B,C2:C,D2:D,E2:E,F3:F2]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F2))))) @ A5) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F2)))) @ B5) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F2))) @ C2) @ ((((product_Pair @ D) @ ((product_prod @ E) @ F2)) @ D2) @ ((((product_Pair @ E) @ F2) @ E2) @ F3)))))))) => (P @ X))))).
% 2.51/1.46  thf(fact_52_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),X:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E))))]: (((! [A5:A,B5:B,C2:C,D2:D,E2:E]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E)))) @ A5) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E))) @ B5) @ ((((product_Pair @ C) @ ((product_prod @ D) @ E)) @ C2) @ ((((product_Pair @ D) @ E) @ D2) @ E2))))))) => (P @ X))))).
% 2.51/1.46  thf(fact_53_prod__induct4, axiom, (! [D:$tType,C:$tType,B:$tType,A:$tType,P:(((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D))) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D)))]: (((! [A5:A,B5:B,C2:C,D2:D]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D))) @ A5) @ ((((product_Pair @ B) @ ((product_prod @ C) @ D)) @ B5) @ ((((product_Pair @ C) @ D) @ C2) @ D2)))))) => (P @ X))))).
% 2.51/1.46  thf(fact_54_prod__induct3, axiom, (! [C:$tType,B:$tType,A:$tType,P:(((product_prod @ A) @ ((product_prod @ B) @ C)) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ C))]: (((! [A5:A,B5:B,C2:C]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ C)) @ A5) @ ((((product_Pair @ B) @ C) @ B5) @ C2))))) => (P @ X))))).
% 2.51/1.46  thf(fact_55_prod__cases7, axiom, (! [A:$tType,B:$tType,C:$tType,D:$tType,E:$tType,F2:$tType,G2:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G2))))))]: ((~ ((! [A5:A,B5:B,C2:C,D2:D,E2:E,F3:F2,G3:G2]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G2)))))) @ A5) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G2))))) @ B5) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G2)))) @ C2) @ ((((product_Pair @ D) @ ((product_prod @ E) @ ((product_prod @ F2) @ G2))) @ D2) @ ((((product_Pair @ E) @ ((product_prod @ F2) @ G2)) @ E2) @ ((((product_Pair @ F2) @ G2) @ F3) @ G3)))))))))))))).
% 2.51/1.46  thf(fact_56_prod__cases6, axiom, (! [A:$tType,B:$tType,C:$tType,D:$tType,E:$tType,F2:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F2)))))]: ((~ ((! [A5:A,B5:B,C2:C,D2:D,E2:E,F3:F2]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F2))))) @ A5) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F2)))) @ B5) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F2))) @ C2) @ ((((product_Pair @ D) @ ((product_prod @ E) @ F2)) @ D2) @ ((((product_Pair @ E) @ F2) @ E2) @ F3))))))))))))).
% 2.51/1.46  thf(fact_57_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))))]: ((~ ((! [A5:A,B5:B,C2:C,D2:D,E2:E]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E)))) @ A5) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E))) @ B5) @ ((((product_Pair @ C) @ ((product_prod @ D) @ E)) @ C2) @ ((((product_Pair @ D) @ E) @ D2) @ E2)))))))))))).
% 2.51/1.46  thf(fact_58_prod__cases4, axiom, (! [A:$tType,B:$tType,C:$tType,D:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D)))]: ((~ ((! [A5:A,B5:B,C2:C,D2:D]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D))) @ A5) @ ((((product_Pair @ B) @ ((product_prod @ C) @ D)) @ B5) @ ((((product_Pair @ C) @ D) @ C2) @ D2))))))))))).
% 2.51/1.46  thf(fact_59_prod__cases3, axiom, (! [A:$tType,B:$tType,C:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ C))]: ((~ ((! [A5:A,B5:B,C2:C]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ C)) @ A5) @ ((((product_Pair @ B) @ C) @ B5) @ C2)))))))))).
% 2.51/1.46  thf(fact_60_Pair__inject, axiom, (! [A:$tType,B:$tType,A2:A,B2:B,A3:A,B3:B]: (((((((product_Pair @ A) @ B) @ A2) @ B2) = ((((product_Pair @ A) @ B) @ A3) @ B3)) => (~ (((A2 = A3) => (B2 != B3)))))))).
% 2.51/1.46  thf(fact_61_prod__cases, axiom, (! [B:$tType,A:$tType,P:(((product_prod @ A) @ B) > $o),P2:((product_prod @ A) @ B)]: (((! [A5:A,B5:B]: ((P @ ((((product_Pair @ A) @ B) @ A5) @ B5)))) => (P @ P2))))).
% 2.51/1.46  thf(fact_62_surj__pair, axiom, (! [A:$tType,B:$tType,P2:((product_prod @ A) @ B)]: ((? [X5:A,Y4:B]: ((P2 = ((((product_Pair @ A) @ B) @ X5) @ Y4))))))).
% 2.51/1.46  thf(fact_63_removeLeaf_Osimps_I5_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A,Vd2:A,Ve2:(tree @ A),Vf2:(tree @ A),Va2:A,Vb2:(tree @ A),Vc2:(tree @ A)]: ((((heapIm970386777veLeaf @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((product_Pair @ A) @ (tree @ A)) @ (((product_fst @ A) @ (tree @ A)) @ ((heapIm970386777veLeaf @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)))) @ ((((t @ A) @ V2) @ (((product_snd @ A) @ (tree @ A)) @ ((heapIm970386777veLeaf @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)))) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))))))))).
% 2.51/1.46  thf(fact_64_old_Oprod_Orec, axiom, (! [A:$tType,T:$tType,B:$tType,F1:(A > (B > T)),A2:A,B2:B]: (((((((product_rec_prod @ A) @ B) @ T) @ F1) @ ((((product_Pair @ A) @ B) @ A2) @ B2)) = ((F1 @ A2) @ B2))))).
% 2.51/1.46  thf(fact_65_BNF__Greatest__Fixpoint_Osubst__Pair, axiom, (! [B:$tType,A:$tType,P:(A > (B > $o)),X:A,Y:B,A2:((product_prod @ A) @ B)]: ((((P @ X) @ Y) => ((A2 = ((((product_Pair @ A) @ B) @ X) @ Y)) => ((P @ (((product_fst @ A) @ B) @ A2)) @ (((product_snd @ A) @ B) @ A2))))))).
% 2.51/1.46  thf(fact_66_conjI__realizer, axiom, (! [A:$tType,B:$tType,P:(A > $o),P2:A,Q2:(B > $o),Q:B]: (((P @ P2) => ((Q2 @ Q) => ((P @ (((product_fst @ A) @ B) @ ((((product_Pair @ A) @ B) @ P2) @ Q))) & (Q2 @ (((product_snd @ A) @ B) @ ((((product_Pair @ A) @ B) @ P2) @ Q))))))))).
% 2.51/1.46  thf(fact_67_exI__realizer, axiom, (! [B:$tType,A:$tType,P:(A > (B > $o)),Y:A,X:B]: ((((P @ Y) @ X) => ((P @ (((product_snd @ B) @ A) @ ((((product_Pair @ B) @ A) @ X) @ Y))) @ (((product_fst @ B) @ A) @ ((((product_Pair @ B) @ A) @ X) @ Y))))))).
% 2.51/1.46  thf(fact_68_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))))))))))).
% 2.51/1.46  thf(fact_69_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)))))))).
% 2.51/1.46  thf(fact_70_heapify_Osimps_I2_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A,L:(tree @ A),R:(tree @ A)]: ((((heapIm818251801eapify @ A) @ ((((t @ A) @ V2) @ L) @ R)) = ((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((heapIm818251801eapify @ A) @ L)) @ ((heapIm818251801eapify @ A) @ R)))))))))).
% 2.51/1.46  thf(fact_71_is__heap_Osimps_I4_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A,Va2:A,Vb2:(tree @ A),Vc2:(tree @ A)]: ((((is_heap @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ (e @ A))) = ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2) & ((is_heap @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))))))))).
% 2.51/1.46  thf(fact_72_is__heap_Osimps_I3_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A,Va2:A,Vb2:(tree @ A),Vc2:(tree @ A)]: ((((is_heap @ A) @ ((((t @ A) @ V2) @ (e @ A)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2) & ((is_heap @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))))))))).
% 2.51/1.46  thf(fact_73_swap__swap, axiom, (! [B:$tType,A:$tType,P2:((product_prod @ A) @ B)]: (((((product_swap @ B) @ A) @ (((product_swap @ A) @ B) @ P2)) = P2)))).
% 2.51/1.46  thf(fact_74_swap__simp, axiom, (! [A:$tType,B:$tType,X:B,Y:A]: (((((product_swap @ B) @ A) @ ((((product_Pair @ B) @ A) @ X) @ Y)) = ((((product_Pair @ A) @ B) @ Y) @ X))))).
% 2.51/1.46  thf(fact_75_fst__swap, axiom, (! [A:$tType,B:$tType,X:((product_prod @ B) @ A)]: (((((product_fst @ A) @ B) @ (((product_swap @ B) @ A) @ X)) = (((product_snd @ B) @ A) @ X))))).
% 2.51/1.46  thf(fact_76_snd__swap, axiom, (! [B:$tType,A:$tType,X:((product_prod @ A) @ B)]: (((((product_snd @ B) @ A) @ (((product_swap @ A) @ B) @ X)) = (((product_fst @ A) @ B) @ X))))).
% 2.51/1.46  thf(fact_77_siftDown__Node, axiom, (! [A:$tType]: (((linorder @ A) => (! [T3:(tree @ A),V2:A,L:(tree @ A),R:(tree @ A)]: (((T3 = ((((t @ A) @ V2) @ L) @ R)) => (? [L2:(tree @ A),V5:A,R2:(tree @ A)]: (((((heapIm748920189ftDown @ A) @ T3) = ((((t @ A) @ V5) @ L2) @ R2)) & (((ord_less_eq @ A) @ V2) @ V5))))))))))).
% 2.51/1.46  thf(fact_78_heapify_Osimps_I1_J, axiom, (! [A:$tType]: (((linorder @ A) => (((heapIm818251801eapify @ A) @ (e @ A)) = (e @ A)))))).
% 2.51/1.46  thf(fact_79_heapify__heap__is__heap, axiom, (! [A:$tType]: (((linorder @ A) => (! [T3:(tree @ A)]: (((is_heap @ A) @ ((heapIm818251801eapify @ A) @ T3)))))))).
% 2.51/1.46  thf(fact_80_is__heap_Osimps_I5_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A,Va2:A,Vb2:(tree @ A),Vc2:(tree @ A),Vd2:A,Ve2:(tree @ A),Vf2:(tree @ A)]: ((((is_heap @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) = ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ V2) & (((is_heap @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) & ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2) & ((is_heap @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))))))))))).
% 2.51/1.46  thf(fact_81_is__heap_Osimps_I6_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A,Vd2:A,Ve2:(tree @ A),Vf2:(tree @ A),Va2:A,Vb2:(tree @ A),Vc2:(tree @ A)]: ((((is_heap @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2) & (((is_heap @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) & ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ V2) & ((is_heap @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)))))))))))).
% 2.51/1.46  thf(fact_82_is__heap__max, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A,T3:(tree @ A)]: (((((in_tree @ A) @ V2) @ T3) => (((is_heap @ A) @ T3) => (((ord_less_eq @ A) @ V2) @ ((val @ A) @ T3)))))))))).
% 2.51/1.46  thf(fact_83_order__refl, axiom, (! [A:$tType]: (((preorder @ A) => (! [X:A]: ((((ord_less_eq @ A) @ X) @ X))))))).
% 2.51/1.46  thf(fact_84_siftDown_Osimps_I3_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [Va2:A,Vb2:(tree @ A),Vc2:(tree @ A),V2:A]: ((((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ (e @ A))) = ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ (e @ A)))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2))) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ (e @ A))) = ((((t @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((heapIm1271749598e_left @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((heapIm1434396069_right @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))))) @ (e @ A))))))))))).
% 2.51/1.46  thf(fact_85_siftDown_Osimps_I4_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [Va2:A,Vb2:(tree @ A),Vc2:(tree @ A),V2:A]: ((((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ (e @ A)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((t @ A) @ V2) @ (e @ A)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2))) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ (e @ A)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((t @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ (e @ A)) @ ((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((heapIm1271749598e_left @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((heapIm1434396069_right @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))))))))))))).
% 2.51/1.46  thf(fact_86_internal__case__prod__conv, axiom, (! [B:$tType,A:$tType,C:$tType,C3:(B > (C > A)),A2:B,B2:C]: (((((((produc2004651681e_prod @ B) @ C) @ A) @ C3) @ ((((product_Pair @ B) @ C) @ A2) @ B2)) = ((C3 @ A2) @ B2))))).
% 2.51/1.46  thf(fact_87_siftDown_Osimps_I6_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [Va2:A,Vb2:(tree @ A),Vc2:(tree @ A),Vd2:A,Ve2:(tree @ A),Vf2:(tree @ A),V2:A]: ((((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) => (((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ V2) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((t @ A) @ V2) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ V2))) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((t @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ ((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((heapIm1271749598e_left @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ ((heapIm1434396069_right @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))))) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))))) => (((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((t @ A) @ V2) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2))) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((t @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((heapIm1271749598e_left @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((heapIm1434396069_right @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))))))))))))))).
% 2.51/1.46  thf(fact_88_siftDown_Osimps_I5_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [Vd2:A,Ve2:(tree @ A),Vf2:(tree @ A),Va2:A,Vb2:(tree @ A),Vc2:(tree @ A),V2:A]: ((((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) => (((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) = ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2))) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) = ((((t @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((heapIm1271749598e_left @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((heapIm1434396069_right @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))))) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)))))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))))) => (((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ V2) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) = ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ V2))) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) = ((((t @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((heapIm1271749598e_left @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ ((heapIm1434396069_right @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)))))))))))))))).
% 2.51/1.46  thf(fact_89_left_Osimps, axiom, (! [A:$tType,V2:A,L:(tree @ A),R:(tree @ A)]: ((((heapIm1271749598e_left @ A) @ ((((t @ A) @ V2) @ L) @ R)) = L)))).
% 2.51/1.46  thf(fact_90_right_Osimps, axiom, (! [A:$tType,V2:A,L:(tree @ A),R:(tree @ A)]: ((((heapIm1434396069_right @ A) @ ((((t @ A) @ V2) @ L) @ R)) = R)))).
% 2.51/1.46  thf(fact_91_dual__order_Oantisym, axiom, (! [A:$tType]: (((order @ A) => (! [B2:A,A2:A]: (((((ord_less_eq @ A) @ B2) @ A2) => ((((ord_less_eq @ A) @ A2) @ B2) => (A2 = B2))))))))).
% 2.51/1.46  thf(fact_92_dual__order_Oeq__iff, axiom, (! [A:$tType]: (((order @ A) => ((^ [Y3:A,Z2:A]: ((Y3 = Z2))) = (^ [A4:A,B4:A]: (((((ord_less_eq @ A) @ B4) @ A4) & (((ord_less_eq @ A) @ A4) @ B4))))))))).
% 2.51/1.46  thf(fact_93_dual__order_Otrans, axiom, (! [A:$tType]: (((order @ A) => (! [B2:A,A2:A,C3:A]: (((((ord_less_eq @ A) @ B2) @ A2) => ((((ord_less_eq @ A) @ C3) @ B2) => (((ord_less_eq @ A) @ C3) @ A2))))))))).
% 2.51/1.46  thf(fact_94_linorder__wlog, axiom, (! [A:$tType]: (((linorder @ A) => (! [P:(A > (A > $o)),A2:A,B2:A]: (((! [A5:A,B5:A]: (((((ord_less_eq @ A) @ A5) @ B5) => ((P @ A5) @ B5)))) => ((! [A5:A,B5:A]: ((((P @ B5) @ A5) => ((P @ A5) @ B5)))) => ((P @ A2) @ B2))))))))).
% 2.51/1.46  thf(fact_95_dual__order_Orefl, axiom, (! [A:$tType]: (((order @ A) => (! [A2:A]: ((((ord_less_eq @ A) @ A2) @ A2))))))).
% 2.51/1.46  thf(fact_96_order__trans, axiom, (! [A:$tType]: (((preorder @ A) => (! [X:A,Y:A,Z:A]: (((((ord_less_eq @ A) @ X) @ Y) => ((((ord_less_eq @ A) @ Y) @ Z) => (((ord_less_eq @ A) @ X) @ Z))))))))).
% 2.51/1.46  thf(fact_97_order__class_Oorder_Oantisym, axiom, (! [A:$tType]: (((order @ A) => (! [A2:A,B2:A]: (((((ord_less_eq @ A) @ A2) @ B2) => ((((ord_less_eq @ A) @ B2) @ A2) => (A2 = B2))))))))).
% 2.51/1.46  thf(fact_98_ord__le__eq__trans, axiom, (! [A:$tType]: (((ord @ A) => (! [A2:A,B2:A,C3:A]: (((((ord_less_eq @ A) @ A2) @ B2) => ((B2 = C3) => (((ord_less_eq @ A) @ A2) @ C3))))))))).
% 2.51/1.46  thf(fact_99_ord__eq__le__trans, axiom, (! [A:$tType]: (((ord @ A) => (! [A2:A,B2:A,C3:A]: (((A2 = B2) => ((((ord_less_eq @ A) @ B2) @ C3) => (((ord_less_eq @ A) @ A2) @ C3))))))))).
% 2.51/1.46  thf(fact_100_order__class_Oorder_Oeq__iff, axiom, (! [A:$tType]: (((order @ A) => ((^ [Y3:A,Z2:A]: ((Y3 = Z2))) = (^ [A4:A,B4:A]: (((((ord_less_eq @ A) @ A4) @ B4) & (((ord_less_eq @ A) @ B4) @ A4))))))))).
% 2.51/1.46  thf(fact_101_antisym__conv, axiom, (! [A:$tType]: (((order @ A) => (! [Y:A,X:A]: (((((ord_less_eq @ A) @ Y) @ X) => ((((ord_less_eq @ A) @ X) @ Y) = (X = Y))))))))).
% 2.51/1.46  thf(fact_102_le__cases3, axiom, (! [A:$tType]: (((linorder @ A) => (! [X:A,Y:A,Z:A]: ((((((ord_less_eq @ A) @ X) @ Y) => (~ ((((ord_less_eq @ A) @ Y) @ Z)))) => (((((ord_less_eq @ A) @ Y) @ X) => (~ ((((ord_less_eq @ A) @ X) @ Z)))) => (((((ord_less_eq @ A) @ X) @ Z) => (~ ((((ord_less_eq @ A) @ Z) @ Y)))) => (((((ord_less_eq @ A) @ Z) @ Y) => (~ ((((ord_less_eq @ A) @ Y) @ X)))) => (((((ord_less_eq @ A) @ Y) @ Z) => (~ ((((ord_less_eq @ A) @ Z) @ X)))) => (~ (((((ord_less_eq @ A) @ Z) @ X) => (~ ((((ord_less_eq @ A) @ X) @ Y))))))))))))))))).
% 2.51/1.46  thf(fact_103_order_Otrans, axiom, (! [A:$tType]: (((order @ A) => (! [A2:A,B2:A,C3:A]: (((((ord_less_eq @ A) @ A2) @ B2) => ((((ord_less_eq @ A) @ B2) @ C3) => (((ord_less_eq @ A) @ A2) @ C3))))))))).
% 2.51/1.46  thf(fact_104_le__cases, axiom, (! [A:$tType]: (((linorder @ A) => (! [X:A,Y:A]: (((~ ((((ord_less_eq @ A) @ X) @ Y))) => (((ord_less_eq @ A) @ Y) @ X)))))))).
% 2.51/1.46  thf(fact_105_eq__refl, axiom, (! [A:$tType]: (((preorder @ A) => (! [X:A,Y:A]: (((X = Y) => (((ord_less_eq @ A) @ X) @ Y)))))))).
% 2.51/1.46  thf(fact_106_linear, axiom, (! [A:$tType]: (((linorder @ A) => (! [X:A,Y:A]: (((((ord_less_eq @ A) @ X) @ Y) | (((ord_less_eq @ A) @ Y) @ X)))))))).
% 2.51/1.46  thf(fact_107_antisym, axiom, (! [A:$tType]: (((order @ A) => (! [X:A,Y:A]: (((((ord_less_eq @ A) @ X) @ Y) => ((((ord_less_eq @ A) @ Y) @ X) => (X = Y))))))))).
% 2.51/1.46  thf(fact_108_eq__iff, axiom, (! [A:$tType]: (((order @ A) => ((^ [Y3:A,Z2:A]: ((Y3 = Z2))) = (^ [X4:A,Y5:A]: (((((ord_less_eq @ A) @ X4) @ Y5) & (((ord_less_eq @ A) @ Y5) @ X4))))))))).
% 2.51/1.46  thf(fact_109_ord__le__eq__subst, axiom, (! [A:$tType,B:$tType]: ((((ord @ B) & (ord @ A)) => (! [A2:A,B2:A,F:(A > B),C3:B]: (((((ord_less_eq @ A) @ A2) @ B2) => (((F @ B2) = C3) => ((! [X5:A,Y4:A]: (((((ord_less_eq @ A) @ X5) @ Y4) => (((ord_less_eq @ B) @ (F @ X5)) @ (F @ Y4))))) => (((ord_less_eq @ B) @ (F @ A2)) @ C3)))))))))).
% 2.51/1.46  thf(fact_110_ord__eq__le__subst, axiom, (! [A:$tType,B:$tType]: ((((ord @ B) & (ord @ A)) => (! [A2:A,F:(B > A),B2:B,C3:B]: (((A2 = (F @ B2)) => ((((ord_less_eq @ B) @ B2) @ C3) => ((! [X5:B,Y4:B]: (((((ord_less_eq @ B) @ X5) @ Y4) => (((ord_less_eq @ A) @ (F @ X5)) @ (F @ Y4))))) => (((ord_less_eq @ A) @ A2) @ (F @ C3))))))))))).
% 2.51/1.46  thf(fact_111_order__subst2, axiom, (! [A:$tType,C:$tType]: ((((order @ C) & (order @ A)) => (! [A2:A,B2:A,F:(A > C),C3:C]: (((((ord_less_eq @ A) @ A2) @ B2) => ((((ord_less_eq @ C) @ (F @ B2)) @ C3) => ((! [X5:A,Y4:A]: (((((ord_less_eq @ A) @ X5) @ Y4) => (((ord_less_eq @ C) @ (F @ X5)) @ (F @ Y4))))) => (((ord_less_eq @ C) @ (F @ A2)) @ C3)))))))))).
% 2.51/1.46  thf(fact_112_order__subst1, axiom, (! [A:$tType,B:$tType]: ((((order @ B) & (order @ A)) => (! [A2:A,F:(B > A),B2:B,C3:B]: (((((ord_less_eq @ A) @ A2) @ (F @ B2)) => ((((ord_less_eq @ B) @ B2) @ C3) => ((! [X5:B,Y4:B]: (((((ord_less_eq @ B) @ X5) @ Y4) => (((ord_less_eq @ A) @ (F @ X5)) @ (F @ Y4))))) => (((ord_less_eq @ A) @ A2) @ (F @ C3))))))))))).
% 2.51/1.46  thf(fact_113_le__fun__def, axiom, (! [B:$tType,A:$tType]: (((ord @ B) => ((ord_less_eq @ (A > B)) = (^ [F4:(A > B),G4:(A > B)]: ((! [X4:A]: ((((ord_less_eq @ B) @ (F4 @ X4)) @ (G4 @ X4))))))))))).
% 2.51/1.46  thf(fact_114_le__funI, axiom, (! [B:$tType,A:$tType]: (((ord @ B) => (! [F:(A > B),G:(A > B)]: (((! [X5:A]: ((((ord_less_eq @ B) @ (F @ X5)) @ (G @ X5)))) => (((ord_less_eq @ (A > B)) @ F) @ G)))))))).
% 2.51/1.46  thf(fact_115_le__funE, axiom, (! [B:$tType,A:$tType]: (((ord @ B) => (! [F:(A > B),G:(A > B),X:A]: (((((ord_less_eq @ (A > B)) @ F) @ G) => (((ord_less_eq @ B) @ (F @ X)) @ (G @ X))))))))).
% 2.51/1.46  thf(fact_116_le__funD, axiom, (! [B:$tType,A:$tType]: (((ord @ B) => (! [F:(A > B),G:(A > B),X:A]: (((((ord_less_eq @ (A > B)) @ F) @ G) => (((ord_less_eq @ B) @ (F @ X)) @ (G @ X))))))))).
% 2.51/1.46  thf(fact_117_hs__remove__max__def, axiom, (! [A:$tType]: (((linorder @ A) => ((heapIm1542349758ve_max @ A) = (^ [T2:(tree @ A)]: (((((if @ ((product_prod @ A) @ (tree @ A))) @ ((((product_snd @ A) @ (tree @ A)) @ ((heapIm970386777veLeaf @ A) @ T2)) = (e @ A))) @ ((((product_Pair @ A) @ (tree @ A)) @ ((val @ A) @ T2)) @ (e @ A))) @ ((((product_Pair @ A) @ (tree @ A)) @ ((val @ A) @ T2)) @ ((heapIm748920189ftDown @ A) @ ((((t @ A) @ (((product_fst @ A) @ (tree @ A)) @ ((heapIm970386777veLeaf @ A) @ T2))) @ ((heapIm1271749598e_left @ A) @ (((product_snd @ A) @ (tree @ A)) @ ((heapIm970386777veLeaf @ A) @ T2)))) @ ((heapIm1434396069_right @ A) @ (((product_snd @ A) @ (tree @ A)) @ ((heapIm970386777veLeaf @ A) @ T2)))))))))))))).
% 2.51/1.46  thf(fact_118_relChain__def, axiom, (! [B:$tType,A:$tType]: (((ord @ B) => (((bNF_Ca1785829860lChain @ A) @ B) = (^ [R3:(set @ ((product_prod @ A) @ A)),As:(A > B)]: ((! [I:A,J:A]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ I) @ J)) @ R3) => (((ord_less_eq @ B) @ (As @ I)) @ (As @ J)))))))))))).
% 2.51/1.46  thf(fact_119_Heap_Oremove__max__is__heap, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),As_tree:(B > (tree @ A)),Remove_max:(B > ((product_prod @ A) @ B)),L:B,M:A,L3:B]: ((((((((((heap @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max) => ((~ ((Is_empty @ L))) => (((is_heap @ A) @ (As_tree @ L)) => ((((((product_Pair @ A) @ B) @ M) @ L3) = (Remove_max @ L)) => ((is_heap @ A) @ (As_tree @ L3)))))))))))).
% 2.51/1.46  thf(fact_120_Heap_Oremove__max__val, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),As_tree:(B > (tree @ A)),Remove_max:(B > ((product_prod @ A) @ B)),T3:B,M:A,T4:B]: ((((((((((heap @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max) => ((~ ((Is_empty @ T3))) => ((((((product_Pair @ A) @ B) @ M) @ T4) = (Remove_max @ T3)) => (M = ((val @ A) @ (As_tree @ T3)))))))))))).
% 2.51/1.46  thf(fact_121_sndOp__def, axiom, (! [B:$tType,A:$tType,C:$tType]: (((((bNF_sndOp @ C) @ A) @ B) = (^ [P4:(C > (A > $o)),Q3:(A > (B > $o)),Ac:((product_prod @ C) @ B)]: (((((product_Pair @ A) @ B) @ (((((((bNF_pick_middlep @ C) @ A) @ B) @ P4) @ Q3) @ (((product_fst @ C) @ B) @ Ac)) @ (((product_snd @ C) @ B) @ Ac))) @ (((product_snd @ C) @ B) @ Ac)))))))).
% 2.51/1.46  thf(fact_122_fstOp__def, axiom, (! [C:$tType,B:$tType,A:$tType]: (((((bNF_fstOp @ A) @ B) @ C) = (^ [P4:(A > (B > $o)),Q3:(B > (C > $o)),Ac:((product_prod @ A) @ C)]: (((((product_Pair @ A) @ B) @ (((product_fst @ A) @ C) @ Ac)) @ (((((((bNF_pick_middlep @ A) @ B) @ C) @ P4) @ Q3) @ (((product_fst @ A) @ C) @ Ac)) @ (((product_snd @ A) @ C) @ Ac))))))))).
% 2.51/1.46  thf(fact_123_Heap_Oas__tree__empty, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),As_tree:(B > (tree @ A)),Remove_max:(B > ((product_prod @ A) @ B)),T3:B]: ((((((((((heap @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max) => (((As_tree @ T3) = (e @ A)) = (Is_empty @ T3))))))))).
% 2.51/1.46  thf(fact_124_Heap_Ois__heap__of__list, axiom, (! [B:$tType,A:$tType]: (((linorder @ A) => (! [Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),As_tree:(B > (tree @ A)),Remove_max:(B > ((product_prod @ A) @ B)),I2:(list @ A)]: ((((((((((heap @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max) => ((is_heap @ A) @ (As_tree @ (Of_list @ I2)))))))))).
% 2.51/1.46  thf(fact_125_scomp__unfold, axiom, (! [D:$tType,C:$tType,B:$tType,A:$tType]: ((((((product_scomp @ A) @ B) @ C) @ D) = (^ [F4:(A > ((product_prod @ B) @ C)),G4:(B > (C > D)),X4:A]: (((G4 @ (((product_fst @ B) @ C) @ (F4 @ X4))) @ (((product_snd @ B) @ C) @ (F4 @ X4))))))))).
% 2.51/1.46  thf(fact_126_pred__subset__eq2, axiom, (! [B:$tType,A:$tType,R4:(set @ ((product_prod @ A) @ B)),S2:(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)) @ R4)))) @ (^ [X4:A,Y5:B]: ((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X4) @ Y5)) @ S2)))) = (((ord_less_eq @ (set @ ((product_prod @ A) @ B))) @ R4) @ S2))))).
% 2.51/1.46  thf(fact_127_pred__equals__eq2, axiom, (! [B:$tType,A:$tType,R4:(set @ ((product_prod @ A) @ B)),S2:(set @ ((product_prod @ A) @ B))]: ((((^ [X4:A,Y5:B]: ((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X4) @ Y5)) @ R4))) = (^ [X4:A,Y5:B]: ((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X4) @ Y5)) @ S2)))) = (R4 = S2))))).
% 2.51/1.46  thf(fact_128_csquare__fstOp__sndOp, axiom, (! [A:$tType,B:$tType,C:$tType,F:((A > (B > $o)) > (((product_prod @ A) @ B) > $o)),P:(A > (C > $o)),Q2:(C > (B > $o))]: ((((((((((bNF_csquare @ ((product_prod @ A) @ B)) @ ((product_prod @ A) @ C)) @ C) @ ((product_prod @ C) @ B)) @ ((collect @ ((product_prod @ A) @ B)) @ (F @ (((((relcompp @ A) @ C) @ B) @ P) @ Q2)))) @ ((product_snd @ A) @ C)) @ ((product_fst @ C) @ B)) @ (((((bNF_fstOp @ A) @ C) @ B) @ P) @ Q2)) @ (((((bNF_sndOp @ A) @ C) @ B) @ P) @ Q2))))).
% 2.51/1.46  thf(fact_129_predicate2I, axiom, (! [B:$tType,A:$tType,P:(A > (B > $o)),Q2:(A > (B > $o))]: (((! [X5:A,Y4:B]: ((((P @ X5) @ Y4) => ((Q2 @ X5) @ Y4)))) => (((ord_less_eq @ (A > (B > $o))) @ P) @ Q2))))).
% 2.51/1.46  thf(fact_130_predicate2D, axiom, (! [A:$tType,B:$tType,P:(A > (B > $o)),Q2:(A > (B > $o)),X:A,Y:B]: (((((ord_less_eq @ (A > (B > $o))) @ P) @ Q2) => (((P @ X) @ Y) => ((Q2 @ X) @ Y)))))).
% 2.51/1.46  thf(fact_131_rev__predicate2D, axiom, (! [A:$tType,B:$tType,P:(A > (B > $o)),X:A,Y:B,Q2:(A > (B > $o))]: ((((P @ X) @ Y) => ((((ord_less_eq @ (A > (B > $o))) @ P) @ Q2) => ((Q2 @ X) @ Y)))))).
% 2.51/1.46  thf(fact_132_scomp__scomp, axiom, (! [A:$tType,C:$tType,D:$tType,B:$tType,F2:$tType,E:$tType,F:(A > ((product_prod @ E) @ F2)),G:(E > (F2 > ((product_prod @ C) @ D))),H:(C > (D > B))]: ((((((((product_scomp @ A) @ C) @ D) @ B) @ ((((((product_scomp @ A) @ E) @ F2) @ ((product_prod @ C) @ D)) @ F) @ G)) @ H) = ((((((product_scomp @ A) @ E) @ F2) @ B) @ F) @ (^ [X4:E]: (((((((product_scomp @ F2) @ C) @ D) @ B) @ (G @ X4)) @ H)))))))).
% 2.51/1.46  thf(fact_133_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))))))))).
% 2.51/1.46  thf(fact_134_subset__CollectI, axiom, (! [A:$tType,B6:(set @ A),A6:(set @ A),Q2:(A > $o),P:(A > $o)]: (((((ord_less_eq @ (set @ A)) @ B6) @ A6) => ((! [X5:A]: (((((member @ A) @ X5) @ B6) => ((Q2 @ X5) => (P @ X5))))) => (((ord_less_eq @ (set @ A)) @ ((collect @ A) @ (^ [X4:A]: (((((member @ A) @ X4) @ B6) & (Q2 @ X4)))))) @ ((collect @ A) @ (^ [X4:A]: (((((member @ A) @ X4) @ A6) & (P @ X4))))))))))).
% 2.51/1.46  thf(fact_135_pred__subset__eq, axiom, (! [A:$tType,R4:(set @ A),S2:(set @ A)]: (((((ord_less_eq @ (A > $o)) @ (^ [X4:A]: ((((member @ A) @ X4) @ R4)))) @ (^ [X4:A]: ((((member @ A) @ X4) @ S2)))) = (((ord_less_eq @ (set @ A)) @ R4) @ S2))))).
% 2.51/1.46  thf(fact_136_relcompp__mono, axiom, (! [A:$tType,C:$tType,B:$tType,R5:(A > (B > $o)),R:(A > (B > $o)),S3:(B > (C > $o)),S4:(B > (C > $o))]: (((((ord_less_eq @ (A > (B > $o))) @ R5) @ R) => ((((ord_less_eq @ (B > (C > $o))) @ S3) @ S4) => (((ord_less_eq @ (A > (C > $o))) @ (((((relcompp @ A) @ B) @ C) @ R5) @ S3)) @ (((((relcompp @ A) @ B) @ C) @ R) @ S4))))))).
% 2.51/1.46  thf(fact_137_leq__OOI, axiom, (! [A:$tType,R4:(A > (A > $o))]: (((R4 = (^ [Y3:A,Z2:A]: ((Y3 = Z2)))) => (((ord_less_eq @ (A > (A > $o))) @ R4) @ (((((relcompp @ A) @ A) @ A) @ R4) @ R4)))))).
% 2.51/1.46  thf(fact_138_ge__eq__refl, axiom, (! [A:$tType,R4:(A > (A > $o)),X:A]: (((((ord_less_eq @ (A > (A > $o))) @ (^ [Y3:A,Z2:A]: ((Y3 = Z2)))) @ R4) => ((R4 @ X) @ X))))).
% 2.51/1.46  thf(fact_139_refl__ge__eq, axiom, (! [A:$tType,R4:(A > (A > $o))]: (((! [X5:A]: (((R4 @ X5) @ X5))) => (((ord_less_eq @ (A > (A > $o))) @ (^ [Y3:A,Z2:A]: ((Y3 = Z2)))) @ R4))))).
% 2.51/1.46  thf(fact_140_pick__middlep, axiom, (! [B:$tType,A:$tType,C:$tType,P:(A > (B > $o)),Q2:(B > (C > $o)),A2:A,C3:C]: (((((((((relcompp @ A) @ B) @ C) @ P) @ Q2) @ A2) @ C3) => (((P @ A2) @ (((((((bNF_pick_middlep @ A) @ B) @ C) @ P) @ Q2) @ A2) @ C3)) & ((Q2 @ (((((((bNF_pick_middlep @ A) @ B) @ C) @ P) @ Q2) @ A2) @ C3)) @ C3)))))).
% 2.51/1.46  thf(fact_141_scomp__Pair, axiom, (! [C:$tType,B:$tType,A:$tType,X:(A > ((product_prod @ B) @ C))]: ((((((((product_scomp @ A) @ B) @ C) @ ((product_prod @ B) @ C)) @ X) @ ((product_Pair @ B) @ C)) = X)))).
% 2.51/1.46  thf(fact_142_Pair__scomp, axiom, (! [A:$tType,B:$tType,C:$tType,X:C,F:(C > (A > B))]: ((((((((product_scomp @ A) @ C) @ A) @ B) @ (((product_Pair @ C) @ A) @ X)) @ F) = (F @ X))))).
% 2.51/1.46  thf(fact_143_csquare__def, axiom, (! [B:$tType,C:$tType,D:$tType,A:$tType]: ((((((bNF_csquare @ A) @ B) @ C) @ D) = (^ [A7:(set @ A),F12:(B > C),F22:(D > C),P1:(A > B),P22:(A > D)]: ((! [X4:A]: (((((member @ A) @ X4) @ A7) => ((F12 @ (P1 @ X4)) = (F22 @ (P22 @ X4)))))))))))).
% 2.51/1.46  thf(fact_144_subrelI, axiom, (! [B:$tType,A:$tType,R:(set @ ((product_prod @ A) @ B)),S4:(set @ ((product_prod @ A) @ B))]: (((! [X5:A,Y4:B]: (((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X5) @ Y4)) @ R) => (((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X5) @ Y4)) @ S4)))) => (((ord_less_eq @ (set @ ((product_prod @ A) @ B))) @ R) @ S4))))).
% 2.51/1.46  thf(fact_145_subset__antisym, 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)))))).
% 2.51/1.46  thf(fact_146_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))))).
% 2.51/1.46  thf(fact_147_eq__subset, axiom, (! [A:$tType,P:(A > (A > $o))]: ((((ord_less_eq @ (A > (A > $o))) @ (^ [Y3:A,Z2:A]: ((Y3 = Z2)))) @ (^ [A4:A,B4:A]: ((((P @ A4) @ B4) | (A4 = B4)))))))).
% 2.51/1.46  thf(fact_148_Collect__restrict, axiom, (! [A:$tType,X6:(set @ A),P:(A > $o)]: ((((ord_less_eq @ (set @ A)) @ ((collect @ A) @ (^ [X4:A]: (((((member @ A) @ X4) @ X6) & (P @ X4)))))) @ X6)))).
% 2.51/1.46  thf(fact_149_predicate1I, axiom, (! [A:$tType,P:(A > $o),Q2:(A > $o)]: (((! [X5:A]: (((P @ X5) => (Q2 @ X5)))) => (((ord_less_eq @ (A > $o)) @ P) @ Q2))))).
% 2.51/1.46  thf(fact_150_predicate1D, axiom, (! [A:$tType,P:(A > $o),Q2:(A > $o),X:A]: (((((ord_less_eq @ (A > $o)) @ P) @ Q2) => ((P @ X) => (Q2 @ X)))))).
% 2.51/1.46  thf(fact_151_rev__predicate1D, axiom, (! [A:$tType,P:(A > $o),X:A,Q2:(A > $o)]: (((P @ X) => ((((ord_less_eq @ (A > $o)) @ P) @ Q2) => (Q2 @ X)))))).
% 2.51/1.46  thf(fact_152_ssubst__Pair__rhs, axiom, (! [B:$tType,A:$tType,R:A,S4:B,R4:(set @ ((product_prod @ A) @ B)),S3:B]: (((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ R) @ S4)) @ R4) => ((S3 = S4) => (((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ R) @ S3)) @ R4)))))).
% 2.51/1.46  thf(fact_153_in__mono, axiom, (! [A:$tType,A6:(set @ A),B6:(set @ A),X:A]: (((((ord_less_eq @ (set @ A)) @ A6) @ B6) => ((((member @ A) @ X) @ A6) => (((member @ A) @ X) @ B6)))))).
% 2.51/1.46  thf(fact_154_subsetD, axiom, (! [A:$tType,A6:(set @ A),B6:(set @ A),C3:A]: (((((ord_less_eq @ (set @ A)) @ A6) @ B6) => ((((member @ A) @ C3) @ A6) => (((member @ A) @ C3) @ B6)))))).
% 2.51/1.46  thf(fact_155_equalityE, axiom, (! [A:$tType,A6:(set @ A),B6:(set @ A)]: (((A6 = B6) => (~ (((((ord_less_eq @ (set @ A)) @ A6) @ B6) => (~ ((((ord_less_eq @ (set @ A)) @ B6) @ A6)))))))))).
% 2.51/1.46  thf(fact_156_subset__eq, axiom, (! [A:$tType]: (((ord_less_eq @ (set @ A)) = (^ [A7:(set @ A),B7:(set @ A)]: ((! [X4:A]: (((((member @ A) @ X4) @ A7) => (((member @ A) @ X4) @ B7)))))))))).
% 2.51/1.46  thf(fact_157_equalityD1, axiom, (! [A:$tType,A6:(set @ A),B6:(set @ A)]: (((A6 = B6) => (((ord_less_eq @ (set @ A)) @ A6) @ B6))))).
% 2.51/1.46  thf(fact_158_equalityD2, axiom, (! [A:$tType,A6:(set @ A),B6:(set @ A)]: (((A6 = B6) => (((ord_less_eq @ (set @ A)) @ B6) @ A6))))).
% 2.51/1.46  thf(fact_159_subset__iff, axiom, (! [A:$tType]: (((ord_less_eq @ (set @ A)) = (^ [A7:(set @ A),B7:(set @ A)]: ((! [T2:A]: (((((member @ A) @ T2) @ A7) => (((member @ A) @ T2) @ B7)))))))))).
% 2.51/1.46  thf(fact_160_subset__refl, axiom, (! [A:$tType,A6:(set @ A)]: ((((ord_less_eq @ (set @ A)) @ A6) @ A6)))).
% 2.51/1.46  thf(fact_161_Collect__mono, axiom, (! [A:$tType,P:(A > $o),Q2:(A > $o)]: (((! [X5:A]: (((P @ X5) => (Q2 @ X5)))) => (((ord_less_eq @ (set @ A)) @ ((collect @ A) @ P)) @ ((collect @ A) @ Q2)))))).
% 2.51/1.46  thf(fact_162_subset__trans, axiom, (! [A:$tType,A6:(set @ A),B6:(set @ A),C4:(set @ A)]: (((((ord_less_eq @ (set @ A)) @ A6) @ B6) => ((((ord_less_eq @ (set @ A)) @ B6) @ C4) => (((ord_less_eq @ (set @ A)) @ A6) @ C4)))))).
% 2.51/1.46  thf(fact_163_set__eq__subset, axiom, (! [A:$tType]: (((^ [Y3:(set @ A),Z2:(set @ A)]: ((Y3 = Z2))) = (^ [A7:(set @ A),B7:(set @ A)]: (((((ord_less_eq @ (set @ A)) @ A7) @ B7) & (((ord_less_eq @ (set @ A)) @ B7) @ A7)))))))).
% 2.51/1.46  thf(fact_164_Collect__mono__iff, axiom, (! [A:$tType,P:(A > $o),Q2:(A > $o)]: (((((ord_less_eq @ (set @ A)) @ ((collect @ A) @ P)) @ ((collect @ A) @ Q2)) = (! [X4:A]: (((P @ X4) => (Q2 @ X4)))))))).
% 2.51/1.46  thf(fact_165_predicate2D__conj, axiom, (! [A:$tType,B:$tType,P:(A > (B > $o)),Q2:(A > (B > $o)),R4:$o,X:A,Y:B]: ((((((ord_less_eq @ (A > (B > $o))) @ P) @ Q2) & R4) => (R4 & (((P @ X) @ Y) => ((Q2 @ X) @ Y))))))).
% 2.51/1.46  thf(fact_166_Collect__subset, axiom, (! [A:$tType,A6:(set @ A),P:(A > $o)]: ((((ord_less_eq @ (set @ A)) @ ((collect @ A) @ (^ [X4:A]: (((((member @ A) @ X4) @ A6) & (P @ X4)))))) @ A6)))).
% 2.51/1.46  thf(fact_167_less__eq__set__def, axiom, (! [A:$tType]: (((ord_less_eq @ (set @ A)) = (^ [A7:(set @ A),B7:(set @ A)]: ((((ord_less_eq @ (A > $o)) @ (^ [X4:A]: ((((member @ A) @ X4) @ A7)))) @ (^ [X4:A]: ((((member @ A) @ X4) @ B7)))))))))).
% 2.51/1.46  thf(fact_168_prop__restrict, axiom, (! [A:$tType,X:A,Z3:(set @ A),X6:(set @ A),P:(A > $o)]: (((((member @ A) @ X) @ Z3) => ((((ord_less_eq @ (set @ A)) @ Z3) @ ((collect @ A) @ (^ [X4:A]: (((((member @ A) @ X4) @ X6) & (P @ X4)))))) => (P @ X)))))).
% 2.51/1.46  thf(fact_169_conj__subset__def, axiom, (! [A:$tType,A6:(set @ A),P:(A > $o),Q2:(A > $o)]: (((((ord_less_eq @ (set @ A)) @ A6) @ ((collect @ A) @ (^ [X4:A]: (((P @ X4) & (Q2 @ X4)))))) = ((((ord_less_eq @ (set @ A)) @ A6) @ ((collect @ A) @ P)) & (((ord_less_eq @ (set @ A)) @ A6) @ ((collect @ A) @ Q2))))))).
% 2.51/1.46  thf(fact_170_Heap_Oaxioms_I2_J, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),As_tree:(B > (tree @ A)),Remove_max:(B > ((product_prod @ A) @ B))]: ((((((((((heap @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max) => (((((((heap_axioms @ B) @ A) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max)))))))).
% 2.51/1.46  thf(fact_171_Powp__mono, axiom, (! [A:$tType,A6:(A > $o),B6:(A > $o)]: (((((ord_less_eq @ (A > $o)) @ A6) @ B6) => (((ord_less_eq @ ((set @ A) > $o)) @ ((powp @ A) @ A6)) @ ((powp @ A) @ B6)))))).
% 2.51/1.46  thf(fact_172_Heap_Ointro, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),As_tree:(B > (tree @ A)),Remove_max:(B > ((product_prod @ A) @ B))]: ((((((((collection @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) => ((((((((heap_axioms @ B) @ A) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max) => ((((((((heap @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max))))))))).
% 2.51/1.46  thf(fact_173_Heap__def, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (((heap @ B) @ A) = (^ [Empty2:B,Is_empty2:(B > $o),Of_list2:((list @ A) > B),Multiset2:(B > (multiset @ A)),As_tree2:(B > (tree @ A)),Remove_max2:(B > ((product_prod @ A) @ B))]: ((((((((collection @ B) @ A) @ Empty2) @ Is_empty2) @ Of_list2) @ Multiset2) & (((((((heap_axioms @ B) @ A) @ Is_empty2) @ Of_list2) @ Multiset2) @ As_tree2) @ Remove_max2))))))))).
% 2.51/1.46  thf(fact_174_image2__eqI, axiom, (! [A:$tType,C:$tType,B:$tType,B2:A,F:(B > A),X:B,C3:C,G:(B > C),A6:(set @ B)]: (((B2 = (F @ X)) => ((C3 = (G @ X)) => ((((member @ B) @ X) @ A6) => (((member @ ((product_prod @ A) @ C)) @ ((((product_Pair @ A) @ C) @ B2) @ C3)) @ ((((((bNF_Greatest_image2 @ B) @ A) @ C) @ A6) @ F) @ G)))))))).
% 2.51/1.46  thf(fact_175_Heap_Oaxioms_I1_J, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),As_tree:(B > (tree @ A)),Remove_max:(B > ((product_prod @ A) @ B))]: ((((((((((heap @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max) => ((((((collection @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset)))))))).
% 2.51/1.46  thf(fact_176_GreatestI2__order, axiom, (! [A:$tType]: (((order @ A) => (! [P:(A > $o),X:A,Q2:(A > $o)]: (((P @ X) => ((! [Y4:A]: (((P @ Y4) => (((ord_less_eq @ A) @ Y4) @ X)))) => ((! [X5:A]: (((P @ X5) => ((! [Y6:A]: (((P @ Y6) => (((ord_less_eq @ A) @ Y6) @ X5)))) => (Q2 @ X5))))) => (Q2 @ ((order_Greatest @ A) @ P))))))))))).
% 2.51/1.46  thf(fact_177_Greatest__equality, axiom, (! [A:$tType]: (((order @ A) => (! [P:(A > $o),X:A]: (((P @ X) => ((! [Y4:A]: (((P @ Y4) => (((ord_less_eq @ A) @ Y4) @ X)))) => (((order_Greatest @ A) @ P) = X))))))))).
% 2.51/1.46  thf(fact_178_Heap__axioms__def, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (((heap_axioms @ B) @ A) = (^ [Is_empty2:(B > $o),Of_list2:((list @ A) > B),Multiset2:(B > (multiset @ A)),As_tree2:(B > (tree @ A)),Remove_max2:(B > ((product_prod @ A) @ B))]: (((! [L4:B]: (((Multiset2 @ L4) = ((multiset2 @ A) @ (As_tree2 @ L4))))) & ((! [I:(list @ A)]: (((is_heap @ A) @ (As_tree2 @ (Of_list2 @ I))))) & ((! [T2:B]: ((((As_tree2 @ T2) = (e @ A)) = (Is_empty2 @ T2)))) & ((! [L4:B,M2:A,L5:B]: (((~ ((Is_empty2 @ L4))) => ((((((product_Pair @ A) @ B) @ M2) @ L5) = (Remove_max2 @ L4)) => ((((add_mset @ A) @ M2) @ (Multiset2 @ L5)) = (Multiset2 @ L4)))))) & ((! [L4:B,M2:A,L5:B]: (((~ ((Is_empty2 @ L4))) => (((is_heap @ A) @ (As_tree2 @ L4)) => ((((((product_Pair @ A) @ B) @ M2) @ L5) = (Remove_max2 @ L4)) => ((is_heap @ A) @ (As_tree2 @ L5))))))) & (! [T2:B,M2:A,T5:B]: (((~ ((Is_empty2 @ T2))) => ((((((product_Pair @ A) @ B) @ M2) @ T5) = (Remove_max2 @ T2)) => (M2 = ((val @ A) @ (As_tree2 @ T2))))))))))))))))))).
% 2.51/1.46  thf(fact_179_siftDown__multiset, axiom, (! [A:$tType]: (((linorder @ A) => (! [T3:(tree @ A)]: ((((multiset2 @ A) @ ((heapIm748920189ftDown @ A) @ T3)) = ((multiset2 @ A) @ T3)))))))).
% 2.51/1.46  thf(fact_180_Heap_Oremove__max__multiset_H, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),As_tree:(B > (tree @ A)),Remove_max:(B > ((product_prod @ A) @ B)),L:B,M:A,L3:B]: ((((((((((heap @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max) => ((~ ((Is_empty @ L))) => ((((((product_Pair @ A) @ B) @ M) @ L3) = (Remove_max @ L)) => ((((add_mset @ A) @ M) @ (Multiset @ L3)) = (Multiset @ L))))))))))).
% 2.51/1.46  thf(fact_181_Heap_Omultiset, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),As_tree:(B > (tree @ A)),Remove_max:(B > ((product_prod @ A) @ B)),L:B]: ((((((((((heap @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max) => ((Multiset @ L) = ((multiset2 @ A) @ (As_tree @ L)))))))))).
% 2.51/1.46  thf(fact_182_multiset__heapify, axiom, (! [A:$tType]: (((linorder @ A) => (! [T3:(tree @ A)]: ((((multiset2 @ A) @ ((heapIm818251801eapify @ A) @ T3)) = ((multiset2 @ A) @ T3)))))))).
% 2.51/1.46  thf(fact_183_Heap__axioms_Ointro, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [Multiset:(B > (multiset @ A)),As_tree:(B > (tree @ A)),Of_list:((list @ A) > B),Is_empty:(B > $o),Remove_max:(B > ((product_prod @ A) @ B))]: (((! [L6:B]: (((Multiset @ L6) = ((multiset2 @ A) @ (As_tree @ L6))))) => ((! [I3:(list @ A)]: (((is_heap @ A) @ (As_tree @ (Of_list @ I3))))) => ((! [T6:B]: ((((As_tree @ T6) = (e @ A)) = (Is_empty @ T6)))) => ((! [L6:B,M3:A,L2:B]: (((~ ((Is_empty @ L6))) => ((((((product_Pair @ A) @ B) @ M3) @ L2) = (Remove_max @ L6)) => ((((add_mset @ A) @ M3) @ (Multiset @ L2)) = (Multiset @ L6)))))) => ((! [L6:B,M3:A,L2:B]: (((~ ((Is_empty @ L6))) => (((is_heap @ A) @ (As_tree @ L6)) => ((((((product_Pair @ A) @ B) @ M3) @ L2) = (Remove_max @ L6)) => ((is_heap @ A) @ (As_tree @ L2))))))) => ((! [T6:B,M3:A,T7:B]: (((~ ((Is_empty @ T6))) => ((((((product_Pair @ A) @ B) @ M3) @ T7) = (Remove_max @ T6)) => (M3 = ((val @ A) @ (As_tree @ T6))))))) => (((((((heap_axioms @ B) @ A) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max))))))))))))).
% 2.51/1.46  thf(fact_184_heap__top__geq, axiom, (! [A:$tType]: (((linorder @ A) => (! [A2:A,T3:(tree @ A)]: (((((member @ A) @ A2) @ ((set_mset @ A) @ ((multiset2 @ A) @ T3))) => (((is_heap @ A) @ T3) => (((ord_less_eq @ A) @ A2) @ ((val @ A) @ T3)))))))))).
% 2.51/1.46  thf(fact_185_prod_Osplit__sel__asm, axiom, (! [C:$tType,B:$tType,A:$tType,P:(C > $o),F:(A > (B > C)),Prod:((product_prod @ A) @ B)]: (((P @ (((((product_case_prod @ A) @ B) @ C) @ F) @ Prod)) = (~ (((Prod = ((((product_Pair @ A) @ B) @ (((product_fst @ A) @ B) @ Prod)) @ (((product_snd @ A) @ B) @ Prod))) & (~ ((P @ ((F @ (((product_fst @ A) @ B) @ Prod)) @ (((product_snd @ A) @ B) @ Prod)))))))))))).
% 2.51/1.46  thf(fact_186_prod_Osplit__sel, axiom, (! [C:$tType,B:$tType,A:$tType,P:(C > $o),F:(A > (B > C)),Prod:((product_prod @ A) @ B)]: (((P @ (((((product_case_prod @ A) @ B) @ C) @ F) @ Prod)) = ((Prod = ((((product_Pair @ A) @ B) @ (((product_fst @ A) @ B) @ Prod)) @ (((product_snd @ A) @ B) @ Prod))) => (P @ ((F @ (((product_fst @ A) @ B) @ Prod)) @ (((product_snd @ A) @ B) @ Prod)))))))).
% 2.51/1.46  thf(fact_187_mem__case__prodI, axiom, (! [A:$tType,B:$tType,C:$tType,Z:A,C3:(B > (C > (set @ A))),A2:B,B2:C]: (((((member @ A) @ Z) @ ((C3 @ A2) @ B2)) => (((member @ A) @ Z) @ (((((product_case_prod @ B) @ C) @ (set @ A)) @ C3) @ ((((product_Pair @ B) @ C) @ A2) @ B2))))))).
% 2.51/1.46  thf(fact_188_mem__case__prodI2, axiom, (! [C:$tType,B:$tType,A:$tType,P2:((product_prod @ A) @ B),Z:C,C3:(A > (B > (set @ C)))]: (((! [A5:A,B5:B]: (((P2 = ((((product_Pair @ A) @ B) @ A5) @ B5)) => (((member @ C) @ Z) @ ((C3 @ A5) @ B5))))) => (((member @ C) @ Z) @ (((((product_case_prod @ A) @ B) @ (set @ C)) @ C3) @ P2)))))).
% 2.51/1.46  thf(fact_189_case__prodI2_H, axiom, (! [A:$tType,B:$tType,C:$tType,P2:((product_prod @ A) @ B),C3:(A > (B > (C > $o))),X:C]: (((! [A5:A,B5:B]: (((((((product_Pair @ A) @ B) @ A5) @ B5) = P2) => (((C3 @ A5) @ B5) @ X)))) => ((((((product_case_prod @ A) @ B) @ (C > $o)) @ C3) @ P2) @ X))))).
% 2.51/1.46  thf(fact_190_case__prodI, axiom, (! [A:$tType,B:$tType,F:(A > (B > $o)),A2:A,B2:B]: ((((F @ A2) @ B2) => (((((product_case_prod @ A) @ B) @ $o) @ F) @ ((((product_Pair @ A) @ B) @ A2) @ B2)))))).
% 2.51/1.46  thf(fact_191_case__prodI2, axiom, (! [B:$tType,A:$tType,P2:((product_prod @ A) @ B),C3:(A > (B > $o))]: (((! [A5:A,B5:B]: (((P2 = ((((product_Pair @ A) @ B) @ A5) @ B5)) => ((C3 @ A5) @ B5)))) => (((((product_case_prod @ A) @ B) @ $o) @ C3) @ P2))))).
% 2.51/1.46  thf(fact_192_scomp__apply, axiom, (! [A:$tType,D:$tType,C:$tType,B:$tType]: ((((((product_scomp @ B) @ C) @ D) @ A) = (^ [F4:(B > ((product_prod @ C) @ D)),G4:(C > (D > A)),X4:B]: ((((((product_case_prod @ C) @ D) @ A) @ G4) @ (F4 @ X4)))))))).
% 2.51/1.46  thf(fact_193_case__prod__conv, axiom, (! [B:$tType,A:$tType,C:$tType,F:(B > (C > A)),A2:B,B2:C]: (((((((product_case_prod @ B) @ C) @ A) @ F) @ ((((product_Pair @ B) @ C) @ A2) @ B2)) = ((F @ A2) @ B2))))).
% 2.51/1.46  thf(fact_194_case__swap, axiom, (! [A:$tType,B:$tType,C:$tType,F:(C > (B > A)),P2:((product_prod @ C) @ B)]: (((((((product_case_prod @ B) @ C) @ A) @ (^ [Y5:B,X4:C]: (((F @ X4) @ Y5)))) @ (((product_swap @ C) @ B) @ P2)) = (((((product_case_prod @ C) @ B) @ A) @ F) @ P2))))).
% 2.51/1.46  thf(fact_195_Product__Type_OCollect__case__prodD, axiom, (! [B:$tType,A:$tType,X:((product_prod @ A) @ B),A6:(A > (B > $o))]: (((((member @ ((product_prod @ A) @ B)) @ X) @ ((collect @ ((product_prod @ A) @ B)) @ ((((product_case_prod @ A) @ B) @ $o) @ A6))) => ((A6 @ (((product_fst @ A) @ B) @ X)) @ (((product_snd @ A) @ B) @ X)))))).
% 2.51/1.46  thf(fact_196_prod_Ocase__distrib, axiom, (! [C:$tType,D:$tType,B:$tType,A:$tType,H:(C > D),F:(A > (B > C)),Prod:((product_prod @ A) @ B)]: (((H @ (((((product_case_prod @ A) @ B) @ C) @ F) @ Prod)) = (((((product_case_prod @ A) @ B) @ D) @ (^ [X13:A,X25:B]: ((H @ ((F @ X13) @ X25))))) @ Prod))))).
% 2.51/1.46  thf(fact_197_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)))))))))))).
% 2.51/1.46  thf(fact_198_case__prodD, axiom, (! [A:$tType,B:$tType,F:(A > (B > $o)),A2:A,B2:B]: (((((((product_case_prod @ A) @ B) @ $o) @ F) @ ((((product_Pair @ A) @ B) @ A2) @ B2)) => ((F @ A2) @ B2))))).
% 2.51/1.46  thf(fact_199_old_Oprod_Ocase, axiom, (! [A:$tType,C:$tType,B:$tType,F:(A > (B > C)),X12:A,X24:B]: (((((((product_case_prod @ A) @ B) @ C) @ F) @ ((((product_Pair @ A) @ B) @ X12) @ X24)) = ((F @ X12) @ X24))))).
% 2.51/1.46  thf(fact_200_mem__case__prodE, axiom, (! [B:$tType,A:$tType,C:$tType,Z:A,C3:(B > (C > (set @ A))),P2:((product_prod @ B) @ C)]: (((((member @ A) @ Z) @ (((((product_case_prod @ B) @ C) @ (set @ A)) @ C3) @ P2)) => (~ ((! [X5:B,Y4:C]: (((P2 = ((((product_Pair @ B) @ C) @ X5) @ Y4)) => (~ ((((member @ A) @ Z) @ ((C3 @ X5) @ Y4))))))))))))).
% 2.51/1.46  thf(fact_201_snd__def, axiom, (! [B:$tType,A:$tType]: ((((product_snd @ A) @ B) = ((((product_case_prod @ A) @ B) @ B) @ (^ [X13:A,X25:B]: (X25))))))).
% 2.51/1.46  thf(fact_202_fst__def, axiom, (! [B:$tType,A:$tType]: ((((product_fst @ A) @ B) = ((((product_case_prod @ A) @ B) @ A) @ (^ [X13:A,X25:B]: (X13))))))).
% 2.51/1.46  thf(fact_203_case__prodE2, axiom, (! [B:$tType,A:$tType,C:$tType,Q2:(A > $o),P:(B > (C > A)),Z:((product_prod @ B) @ C)]: (((Q2 @ (((((product_case_prod @ B) @ C) @ A) @ P) @ Z)) => (~ ((! [X5:B,Y4:C]: (((Z = ((((product_Pair @ B) @ C) @ X5) @ Y4)) => (~ ((Q2 @ ((P @ X5) @ Y4))))))))))))).
% 2.51/1.46  thf(fact_204_case__prod__eta, axiom, (! [C:$tType,B:$tType,A:$tType,F:(((product_prod @ A) @ B) > C)]: ((((((product_case_prod @ A) @ B) @ C) @ (^ [X4:A,Y5:B]: ((F @ ((((product_Pair @ A) @ B) @ X4) @ Y5))))) = F)))).
% 2.51/1.46  thf(fact_205_cond__case__prod__eta, axiom, (! [C:$tType,B:$tType,A:$tType,F:(A > (B > C)),G:(((product_prod @ A) @ B) > C)]: (((! [X5:A,Y4:B]: ((((F @ X5) @ Y4) = (G @ ((((product_Pair @ A) @ B) @ X5) @ Y4))))) => (((((product_case_prod @ A) @ B) @ C) @ F) = G))))).
% 2.51/1.46  thf(fact_206_case__prodD_H, axiom, (! [B:$tType,A:$tType,C:$tType,R4:(A > (B > (C > $o))),A2:A,B2:B,C3:C]: ((((((((product_case_prod @ A) @ B) @ (C > $o)) @ R4) @ ((((product_Pair @ A) @ B) @ A2) @ B2)) @ C3) => (((R4 @ A2) @ B2) @ C3))))).
% 2.51/1.46  thf(fact_207_case__prodE_H, axiom, (! [B:$tType,A:$tType,C:$tType,C3:(A > (B > (C > $o))),P2:((product_prod @ A) @ B),Z:C]: ((((((((product_case_prod @ A) @ B) @ (C > $o)) @ C3) @ P2) @ Z) => (~ ((! [X5:A,Y4:B]: (((P2 = ((((product_Pair @ A) @ B) @ X5) @ Y4)) => (~ ((((C3 @ X5) @ Y4) @ Z)))))))))))).
% 2.51/1.46  thf(fact_208_scomp__def, axiom, (! [D:$tType,C:$tType,B:$tType,A:$tType]: ((((((product_scomp @ A) @ B) @ C) @ D) = (^ [F4:(A > ((product_prod @ B) @ C)),G4:(B > (C > D)),X4:A]: ((((((product_case_prod @ B) @ C) @ D) @ G4) @ (F4 @ X4)))))))).
% 2.51/1.46  thf(fact_209_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)))).
% 2.51/1.46  thf(fact_210_case__prod__app, axiom, (! [A:$tType,D:$tType,C:$tType,B:$tType]: (((((product_case_prod @ B) @ C) @ (D > A)) = (^ [F4:(B > (C > (D > A))),X4:((product_prod @ B) @ C),Y5:D]: ((((((product_case_prod @ B) @ C) @ A) @ (^ [L4:B,R3:C]: ((((F4 @ L4) @ R3) @ Y5)))) @ X4))))))).
% 2.51/1.46  thf(fact_211_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))))))).
% 2.51/1.46  thf(fact_212_prod_Ocase__eq__if, axiom, (! [C:$tType,B:$tType,A:$tType]: (((((product_case_prod @ A) @ B) @ C) = (^ [F4:(A > (B > C)),Prod3:((product_prod @ A) @ B)]: (((F4 @ (((product_fst @ A) @ B) @ Prod3)) @ (((product_snd @ A) @ B) @ Prod3)))))))).
% 2.51/1.46  thf(fact_213_case__prod__beta, axiom, (! [A:$tType,C:$tType,B:$tType]: (((((product_case_prod @ B) @ C) @ A) = (^ [F4:(B > (C > A)),P3:((product_prod @ B) @ C)]: (((F4 @ (((product_fst @ B) @ C) @ P3)) @ (((product_snd @ B) @ C) @ P3)))))))).
% 2.51/1.46  thf(fact_214_internal__case__prod__def, axiom, (! [C:$tType,B:$tType,A:$tType]: (((((produc2004651681e_prod @ A) @ B) @ C) = (((product_case_prod @ A) @ B) @ C))))).
% 2.51/1.46  thf(fact_215_fstOp__in, axiom, (! [B:$tType,C:$tType,A:$tType,Ac2:((product_prod @ A) @ B),P:(A > (C > $o)),Q2:(C > (B > $o))]: (((((member @ ((product_prod @ A) @ B)) @ Ac2) @ ((collect @ ((product_prod @ A) @ B)) @ ((((product_case_prod @ A) @ B) @ $o) @ (((((relcompp @ A) @ C) @ B) @ P) @ Q2)))) => (((member @ ((product_prod @ A) @ C)) @ ((((((bNF_fstOp @ A) @ C) @ B) @ P) @ Q2) @ Ac2)) @ ((collect @ ((product_prod @ A) @ C)) @ ((((product_case_prod @ A) @ C) @ $o) @ P))))))).
% 2.51/1.46  thf(fact_216_sndOp__in, axiom, (! [A:$tType,B:$tType,C:$tType,Ac2:((product_prod @ A) @ B),P:(A > (C > $o)),Q2:(C > (B > $o))]: (((((member @ ((product_prod @ A) @ B)) @ Ac2) @ ((collect @ ((product_prod @ A) @ B)) @ ((((product_case_prod @ A) @ B) @ $o) @ (((((relcompp @ A) @ C) @ B) @ P) @ Q2)))) => (((member @ ((product_prod @ C) @ B)) @ ((((((bNF_sndOp @ A) @ C) @ B) @ P) @ Q2) @ Ac2)) @ ((collect @ ((product_prod @ C) @ B)) @ ((((product_case_prod @ C) @ B) @ $o) @ Q2))))))).
% 2.51/1.46  thf(fact_217_split__comp__eq, axiom, (! [A:$tType,C:$tType,B:$tType,D:$tType,F:(A > (B > C)),G:(D > A)]: (((^ [U:((product_prod @ D) @ B)]: (((F @ (G @ (((product_fst @ D) @ B) @ U))) @ (((product_snd @ D) @ B) @ U)))) = ((((product_case_prod @ D) @ B) @ C) @ (^ [X4:D]: ((F @ (G @ X4))))))))).
% 2.51/1.46  thf(fact_218_case__prod__beta_H, axiom, (! [C:$tType,B:$tType,A:$tType]: (((((product_case_prod @ A) @ B) @ C) = (^ [F4:(A > (B > C)),X4:((product_prod @ A) @ B)]: (((F4 @ (((product_fst @ A) @ B) @ X4)) @ (((product_snd @ A) @ B) @ X4)))))))).
% 2.51/1.46  thf(fact_219_case__prod__unfold, axiom, (! [C:$tType,B:$tType,A:$tType]: (((((product_case_prod @ A) @ B) @ C) = (^ [C5:(A > (B > C)),P3:((product_prod @ A) @ B)]: (((C5 @ (((product_fst @ A) @ B) @ P3)) @ (((product_snd @ A) @ B) @ P3)))))))).
% 2.51/1.46  thf(fact_220_exE__realizer, axiom, (! [C:$tType,A:$tType,B:$tType,P:(A > (B > $o)),P2:((product_prod @ B) @ A),Q2:(C > $o),F:(B > (A > C))]: ((((P @ (((product_snd @ B) @ A) @ P2)) @ (((product_fst @ B) @ A) @ P2)) => ((! [X5:B,Y4:A]: ((((P @ Y4) @ X5) => (Q2 @ ((F @ X5) @ Y4))))) => (Q2 @ (((((product_case_prod @ B) @ A) @ C) @ F) @ P2))))))).
% 2.51/1.46  thf(fact_221_split__cong, axiom, (! [C:$tType,B:$tType,A:$tType,Q:((product_prod @ A) @ B),F:(A > (B > C)),G:(A > (B > C)),P2:((product_prod @ A) @ B)]: (((! [X5:A,Y4:B]: (((((((product_Pair @ A) @ B) @ X5) @ Y4) = Q) => (((F @ X5) @ Y4) = ((G @ X5) @ Y4))))) => ((P2 = Q) => ((((((product_case_prod @ A) @ B) @ C) @ F) @ P2) = (((((product_case_prod @ A) @ B) @ C) @ G) @ Q))))))).
% 2.51/1.46  thf(fact_222_heap__top__max, axiom, (! [A:$tType]: (((linorder @ A) => (! [T3:(tree @ A)]: (((T3 != (e @ A)) => (((is_heap @ A) @ T3) => (((val @ A) @ T3) = ((lattic929149872er_Max @ A) @ ((set_mset @ A) @ ((multiset2 @ A) @ T3)))))))))))).
% 2.51/1.46  thf(fact_223_curry__case__prod, axiom, (! [C:$tType,B:$tType,A:$tType,F:(A > (B > C))]: ((((((product_curry @ A) @ B) @ C) @ ((((product_case_prod @ A) @ B) @ C) @ F)) = F)))).
% 2.51/1.46  thf(fact_224_curryI, axiom, (! [A:$tType,B:$tType,F:(((product_prod @ A) @ B) > $o),A2:A,B2:B]: (((F @ ((((product_Pair @ A) @ B) @ A2) @ B2)) => ((((((product_curry @ A) @ B) @ $o) @ F) @ A2) @ B2))))).
% 2.51/1.46  thf(fact_225_split__part, axiom, (! [B:$tType,A:$tType,P:$o,Q2:(A > (B > $o))]: ((((((product_case_prod @ A) @ B) @ $o) @ (^ [A4:A,B4:B]: ((P & ((Q2 @ A4) @ B4))))) = (^ [Ab:((product_prod @ A) @ B)]: ((P & (((((product_case_prod @ A) @ B) @ $o) @ Q2) @ Ab)))))))).
% 2.51/1.46  thf(fact_226_curry__conv, axiom, (! [A:$tType,C:$tType,B:$tType]: (((((product_curry @ B) @ C) @ A) = (^ [F4:(((product_prod @ B) @ C) > A),A4:B,B4:C]: ((F4 @ ((((product_Pair @ B) @ C) @ A4) @ B4)))))))).
% 2.51/1.46  thf(fact_227_case__prod__curry, axiom, (! [C:$tType,B:$tType,A:$tType,F:(((product_prod @ A) @ B) > C)]: ((((((product_case_prod @ A) @ B) @ C) @ ((((product_curry @ A) @ B) @ C) @ F)) = F)))).
% 2.51/1.46  thf(fact_228_prod_Odisc__eq__case, axiom, (! [B:$tType,A:$tType,Prod:((product_prod @ A) @ B)]: ((((((product_case_prod @ A) @ B) @ $o) @ (^ [Uu2:A,Uv2:B]: ($true))) @ Prod)))).
% 2.51/1.46  thf(fact_229_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)))))).
% 2.51/1.46  thf(fact_230_curryD, axiom, (! [A:$tType,B:$tType,F:(((product_prod @ A) @ B) > $o),A2:A,B2:B]: ((((((((product_curry @ A) @ B) @ $o) @ F) @ A2) @ B2) => (F @ ((((product_Pair @ A) @ B) @ A2) @ B2)))))).
% 2.51/1.46  thf(fact_231_curryE, axiom, (! [A:$tType,B:$tType,F:(((product_prod @ A) @ B) > $o),A2:A,B2:B]: ((((((((product_curry @ A) @ B) @ $o) @ F) @ A2) @ B2) => (F @ ((((product_Pair @ A) @ B) @ A2) @ B2)))))).
% 2.51/1.46  thf(fact_232_curry__def, axiom, (! [C:$tType,B:$tType,A:$tType]: (((((product_curry @ A) @ B) @ C) = (^ [C5:(((product_prod @ A) @ B) > C),X4:A,Y5:B]: ((C5 @ ((((product_Pair @ A) @ B) @ X4) @ Y5)))))))).
% 2.51/1.46  thf(fact_233_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))))))))).
% 2.51/1.46  thf(fact_234_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))))))))).
% 2.51/1.46  thf(fact_235_fst__fstOp, axiom, (! [A:$tType,B:$tType,C:$tType,P:(A > (C > $o)),Q2:(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) @ Q2)))))).
% 2.51/1.46  thf(fact_236_snd__sndOp, axiom, (! [B:$tType,A:$tType,C:$tType,P:(B > (C > $o)),Q2:(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) @ Q2)))))).
% 2.51/1.46  thf(fact_237_comp__apply__eq, axiom, (! [B:$tType,D:$tType,A:$tType,C:$tType,F:(B > A),G:(C > B),X:C,H:(D > A),K:(C > D)]: ((((F @ (G @ X)) = (H @ (K @ X))) => (((((((comp @ B) @ A) @ C) @ F) @ G) @ X) = ((((((comp @ D) @ A) @ C) @ H) @ K) @ X)))))).
% 2.51/1.46  thf(fact_238_snd__comp__apsnd, axiom, (! [C:$tType,B:$tType,A:$tType,F:(B > C)]: (((((((comp @ ((product_prod @ A) @ C)) @ C) @ ((product_prod @ A) @ B)) @ ((product_snd @ A) @ C)) @ ((((product_apsnd @ B) @ C) @ A) @ F)) = (((((comp @ B) @ C) @ ((product_prod @ A) @ B)) @ F) @ ((product_snd @ A) @ B)))))).
% 2.51/1.46  thf(fact_239_fst__comp__apfst, axiom, (! [C:$tType,B:$tType,A:$tType,F:(A > C)]: (((((((comp @ ((product_prod @ C) @ B)) @ C) @ ((product_prod @ A) @ B)) @ ((product_fst @ C) @ B)) @ ((((product_apfst @ A) @ C) @ B) @ F)) = (((((comp @ A) @ C) @ ((product_prod @ A) @ B)) @ F) @ ((product_fst @ A) @ B)))))).
% 2.51/1.46  thf(fact_240_apfst__conv, axiom, (! [C:$tType,A:$tType,B:$tType,F:(C > A),X:C,Y:B]: (((((((product_apfst @ C) @ A) @ B) @ F) @ ((((product_Pair @ C) @ B) @ X) @ Y)) = ((((product_Pair @ A) @ B) @ (F @ X)) @ Y))))).
% 2.51/1.46  thf(fact_241_apsnd__conv, axiom, (! [A:$tType,B:$tType,C:$tType,F:(C > B),X:A,Y:C]: (((((((product_apsnd @ C) @ B) @ A) @ F) @ ((((product_Pair @ A) @ C) @ X) @ Y)) = ((((product_Pair @ A) @ B) @ X) @ (F @ Y)))))).
% 2.51/1.46  thf(fact_242_fst__apfst, axiom, (! [A:$tType,B:$tType,C:$tType,F:(C > A),X:((product_prod @ C) @ B)]: (((((product_fst @ A) @ B) @ (((((product_apfst @ C) @ A) @ B) @ F) @ X)) = (F @ (((product_fst @ C) @ B) @ X)))))).
% 2.51/1.46  thf(fact_243_apfst__eq__conv, axiom, (! [A:$tType,B:$tType,C:$tType,F:(C > A),X:((product_prod @ C) @ B),G:(C > A)]: ((((((((product_apfst @ C) @ A) @ B) @ F) @ X) = (((((product_apfst @ C) @ A) @ B) @ G) @ X)) = ((F @ (((product_fst @ C) @ B) @ X)) = (G @ (((product_fst @ C) @ B) @ X))))))).
% 2.51/1.46  thf(fact_244_snd__apfst, axiom, (! [B:$tType,A:$tType,C:$tType,F:(C > B),X:((product_prod @ C) @ A)]: (((((product_snd @ B) @ A) @ (((((product_apfst @ C) @ B) @ A) @ F) @ X)) = (((product_snd @ C) @ A) @ X))))).
% 2.51/1.46  thf(fact_245_fst__apsnd, axiom, (! [B:$tType,C:$tType,A:$tType,F:(C > B),X:((product_prod @ A) @ C)]: (((((product_fst @ A) @ B) @ (((((product_apsnd @ C) @ B) @ A) @ F) @ X)) = (((product_fst @ A) @ C) @ X))))).
% 2.51/1.46  thf(fact_246_apsnd__eq__conv, axiom, (! [B:$tType,C:$tType,A:$tType,F:(C > B),X:((product_prod @ A) @ C),G:(C > B)]: ((((((((product_apsnd @ C) @ B) @ A) @ F) @ X) = (((((product_apsnd @ C) @ B) @ A) @ G) @ X)) = ((F @ (((product_snd @ A) @ C) @ X)) = (G @ (((product_snd @ A) @ C) @ X))))))).
% 2.51/1.46  thf(fact_247_snd__apsnd, axiom, (! [A:$tType,C:$tType,B:$tType,F:(C > A),X:((product_prod @ B) @ C)]: (((((product_snd @ B) @ A) @ (((((product_apsnd @ C) @ A) @ B) @ F) @ X)) = (F @ (((product_snd @ B) @ C) @ X)))))).
% 2.51/1.46  thf(fact_248_snd__comp__apfst, axiom, (! [C:$tType,B:$tType,A:$tType,F:(A > C)]: (((((((comp @ ((product_prod @ C) @ B)) @ B) @ ((product_prod @ A) @ B)) @ ((product_snd @ C) @ B)) @ ((((product_apfst @ A) @ C) @ B) @ F)) = ((product_snd @ A) @ B))))).
% 2.51/1.46  thf(fact_249_fst__comp__apsnd, axiom, (! [C:$tType,B:$tType,A:$tType,F:(B > C)]: (((((((comp @ ((product_prod @ A) @ C)) @ A) @ ((product_prod @ A) @ B)) @ ((product_fst @ A) @ C)) @ ((((product_apsnd @ B) @ C) @ A) @ F)) = ((product_fst @ A) @ B))))).
% 2.51/1.46  thf(fact_250_apfst__apsnd, axiom, (! [A:$tType,B:$tType,D:$tType,C:$tType,F:(C > A),G:(D > B),X:((product_prod @ C) @ D)]: (((((((product_apfst @ C) @ A) @ B) @ F) @ (((((product_apsnd @ D) @ B) @ C) @ G) @ X)) = ((((product_Pair @ A) @ B) @ (F @ (((product_fst @ C) @ D) @ X))) @ (G @ (((product_snd @ C) @ D) @ X))))))).
% 2.51/1.46  thf(fact_251_apsnd__apfst, axiom, (! [A:$tType,B:$tType,C:$tType,D:$tType,F:(C > B),G:(D > A),X:((product_prod @ D) @ C)]: (((((((product_apsnd @ C) @ B) @ A) @ F) @ (((((product_apfst @ D) @ A) @ C) @ G) @ X)) = ((((product_Pair @ A) @ B) @ (G @ (((product_fst @ D) @ C) @ X))) @ (F @ (((product_snd @ D) @ C) @ X))))))).
% 2.51/1.46  thf(fact_252_apsnd__compose, axiom, (! [C:$tType,B:$tType,D:$tType,A:$tType,F:(C > B),G:(D > C),X:((product_prod @ A) @ D)]: (((((((product_apsnd @ C) @ B) @ A) @ F) @ (((((product_apsnd @ D) @ C) @ A) @ G) @ X)) = (((((product_apsnd @ D) @ B) @ A) @ (((((comp @ C) @ B) @ D) @ F) @ G)) @ X))))).
% 2.51/1.46  thf(fact_253_apfst__compose, axiom, (! [C:$tType,A:$tType,B:$tType,D:$tType,F:(C > A),G:(D > C),X:((product_prod @ D) @ B)]: (((((((product_apfst @ C) @ A) @ B) @ F) @ (((((product_apfst @ D) @ C) @ B) @ G) @ X)) = (((((product_apfst @ D) @ A) @ B) @ (((((comp @ C) @ A) @ D) @ F) @ G)) @ X))))).
% 2.51/1.46  thf(fact_254_apsnd__apfst__commute, axiom, (! [A:$tType,B:$tType,C:$tType,D:$tType,F:(C > B),G:(D > A),P2:((product_prod @ D) @ C)]: (((((((product_apsnd @ C) @ B) @ A) @ F) @ (((((product_apfst @ D) @ A) @ C) @ G) @ P2)) = (((((product_apfst @ D) @ A) @ B) @ G) @ (((((product_apsnd @ C) @ B) @ D) @ F) @ P2)))))).
% 2.51/1.46  thf(fact_255_case__prod__comp, axiom, (! [D:$tType,A:$tType,C:$tType,B:$tType,F:(D > (C > A)),G:(B > D),X:((product_prod @ B) @ C)]: (((((((product_case_prod @ B) @ C) @ A) @ (((((comp @ D) @ (C > A)) @ B) @ F) @ G)) @ X) = ((F @ (G @ (((product_fst @ B) @ C) @ X))) @ (((product_snd @ B) @ C) @ X)))))).
% 2.51/1.46  thf(subcl_Orderings_Olinorder___HOL_Otype, axiom, (! [A:$tType]: (((linorder @ A) => (type @ A))))).
% 2.51/1.46  thf(subcl_Orderings_Olinorder___Orderings_Oord, axiom, (! [A:$tType]: (((linorder @ A) => (ord @ A))))).
% 2.51/1.46  thf(subcl_Orderings_Olinorder___Orderings_Oorder, axiom, (! [A:$tType]: (((linorder @ A) => (order @ A))))).
% 2.51/1.46  thf(subcl_Orderings_Olinorder___Orderings_Opreorder, axiom, (! [A:$tType]: (((linorder @ A) => (preorder @ A))))).
% 2.51/1.46  thf(tcon_fun___Orderings_Opreorder, axiom, (! [A8:$tType,A9:$tType]: (((preorder @ A9) => (preorder @ (A8 > A9)))))).
% 2.51/1.46  thf(tcon_fun___Orderings_Oorder, axiom, (! [A8:$tType,A9:$tType]: (((order @ A9) => (order @ (A8 > A9)))))).
% 2.51/1.46  thf(tcon_fun___Orderings_Oord, axiom, (! [A8:$tType,A9:$tType]: (((ord @ A9) => (ord @ (A8 > A9)))))).
% 2.51/1.46  thf(tcon_Set_Oset___Orderings_Opreorder_1, axiom, (! [A8:$tType]: ((preorder @ (set @ A8))))).
% 2.51/1.46  thf(tcon_Set_Oset___Orderings_Oorder_2, axiom, (! [A8:$tType]: ((order @ (set @ A8))))).
% 2.51/1.46  thf(tcon_Set_Oset___Orderings_Oord_3, axiom, (! [A8:$tType]: ((ord @ (set @ A8))))).
% 2.51/1.46  thf(tcon_HOL_Obool___Orderings_Opreorder_4, axiom, (preorder @ $o)).
% 2.51/1.46  thf(tcon_HOL_Obool___Orderings_Olinorder, axiom, (linorder @ $o)).
% 2.51/1.46  thf(tcon_HOL_Obool___Orderings_Oorder_5, axiom, (order @ $o)).
% 2.51/1.46  thf(tcon_HOL_Obool___Orderings_Oord_6, axiom, (ord @ $o)).
% 2.51/1.46  thf(tcon_Multiset_Omultiset___Orderings_Opreorder_7, axiom, (! [A8:$tType]: (((preorder @ A8) => (preorder @ (multiset @ A8)))))).
% 2.51/1.46  thf(tcon_Multiset_Omultiset___Orderings_Oorder_8, axiom, (! [A8:$tType]: (((preorder @ A8) => (order @ (multiset @ A8)))))).
% 2.51/1.46  thf(tcon_Multiset_Omultiset___Orderings_Oord_9, axiom, (! [A8:$tType]: (((preorder @ A8) => (ord @ (multiset @ A8)))))).
% 2.51/1.46  thf(help_If_3_1_T, axiom, (! [P:$o]: (((P = $true) | (P = $false))))).
% 2.51/1.46  thf(help_If_2_1_T, axiom, (! [A:$tType,X:A,Y:A]: ((((((if @ A) @ $false) @ X) @ Y) = Y)))).
% 2.51/1.46  thf(help_If_1_1_T, axiom, (! [A:$tType,X:A,Y:A]: ((((((if @ A) @ $true) @ X) @ Y) = X)))).
% 2.51/1.46  thf(tfree_0, hypothesis, (linorder @ a)).
% 2.51/1.46  thf(conj_0, conjecture, ((is_heap @ a) @ (((product_snd @ a) @ (tree @ a)) @ ((heapIm970386777veLeaf @ a) @ ((((t @ a) @ v) @ (e @ a)) @ (e @ a)))))).
% 2.51/1.46  % SZS output end ListOfTHF for /export/starexec/sandbox/tmp/tmp.vmZgni0Phd/DTF2DTF3067.p
% 2.51/1.46  ------------------------
% 2.51/1.49  ---- Cleaned THF ---
% 2.51/1.49  thf(ty_t_Product__Type_Oprod,type,
% 2.51/1.49      product_prod: $tType > $tType > $tType ).
% 2.51/1.49  
% 2.51/1.49  thf(ty_t_Multiset_Omultiset,type,
% 2.51/1.49      multiset: $tType > $tType ).
% 2.51/1.49  
% 2.51/1.49  thf(ty_t_List_Olist,type,
% 2.51/1.49      list: $tType > $tType ).
% 2.51/1.49  
% 2.51/1.49  thf(ty_t_Heap_OTree,type,
% 2.51/1.49      tree: $tType > $tType ).
% 2.51/1.49  
% 2.51/1.49  thf(ty_t_Set_Oset,type,
% 2.51/1.49      set: $tType > $tType ).
% 2.51/1.49  
% 2.51/1.49  thf(ty_tf_a,type,
% 2.51/1.49      a: $tType ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_cl_HOL_Otype,type,
% 2.51/1.49      type: 
% 2.51/1.49        !>[A: $tType] : $o ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_cl_Orderings_Oord,type,
% 2.51/1.49      ord: 
% 2.51/1.49        !>[A: $tType] : $o ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_cl_Orderings_Oorder,type,
% 2.51/1.49      order: 
% 2.51/1.49        !>[A: $tType] : $o ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_cl_Orderings_Olinorder,type,
% 2.51/1.49      linorder: 
% 2.51/1.49        !>[A: $tType] : $o ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_cl_Orderings_Opreorder,type,
% 2.51/1.49      preorder: 
% 2.51/1.49        !>[A: $tType] : $o ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_BNF__Cardinal__Order__Relation_OrelChain,type,
% 2.51/1.49      bNF_Ca1785829860lChain: 
% 2.51/1.49        !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( A > B ) > $o ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_BNF__Def_Ocsquare,type,
% 2.51/1.49      bNF_csquare: 
% 2.51/1.49        !>[A: $tType,B: $tType,C: $tType,D: $tType] : ( ( set @ A ) > ( B > C ) > ( D > C ) > ( A > B ) > ( A > D ) > $o ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_BNF__Def_OfstOp,type,
% 2.51/1.49      bNF_fstOp: 
% 2.51/1.49        !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > $o ) > ( B > C > $o ) > ( product_prod @ A @ C ) > ( product_prod @ A @ B ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_BNF__Def_Opick__middlep,type,
% 2.51/1.49      bNF_pick_middlep: 
% 2.51/1.49        !>[B: $tType,A: $tType,C: $tType] : ( ( B > A > $o ) > ( A > C > $o ) > B > C > A ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_BNF__Def_OsndOp,type,
% 2.51/1.49      bNF_sndOp: 
% 2.51/1.49        !>[C: $tType,A: $tType,B: $tType] : ( ( C > A > $o ) > ( A > B > $o ) > ( product_prod @ C @ B ) > ( product_prod @ A @ B ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_BNF__Greatest__Fixpoint_Oimage2,type,
% 2.51/1.49      bNF_Greatest_image2: 
% 2.51/1.49        !>[C: $tType,A: $tType,B: $tType] : ( ( set @ C ) > ( C > A ) > ( C > B ) > ( set @ ( product_prod @ A @ B ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Fun_Ocomp,type,
% 2.51/1.49      comp: 
% 2.51/1.49        !>[B: $tType,C: $tType,A: $tType] : ( ( B > C ) > ( A > B ) > A > C ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oheapify,type,
% 2.51/1.49      heapIm818251801eapify: 
% 2.51/1.49        !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Ohs__is__empty,type,
% 2.51/1.49      heapIm721255937_empty: 
% 2.51/1.49        !>[A: $tType] : ( ( tree @ A ) > $o ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Ohs__remove__max,type,
% 2.51/1.49      heapIm1542349758ve_max: 
% 2.51/1.49        !>[A: $tType] : ( ( tree @ A ) > ( product_prod @ A @ ( tree @ A ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oleft,type,
% 2.51/1.49      heapIm1271749598e_left: 
% 2.51/1.49        !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_OremoveLeaf,type,
% 2.51/1.49      heapIm970386777veLeaf: 
% 2.51/1.49        !>[A: $tType] : ( ( tree @ A ) > ( product_prod @ A @ ( tree @ A ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oright,type,
% 2.51/1.49      heapIm1434396069_right: 
% 2.51/1.49        !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_OsiftDown,type,
% 2.51/1.49      heapIm748920189ftDown: 
% 2.51/1.49        !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Heap_OHeap,type,
% 2.51/1.49      heap: 
% 2.51/1.49        !>[B: $tType,A: $tType] : ( B > ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( tree @ A ) ) > ( B > ( product_prod @ A @ B ) ) > $o ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Heap_OHeap__axioms,type,
% 2.51/1.49      heap_axioms: 
% 2.51/1.49        !>[B: $tType,A: $tType] : ( ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( tree @ A ) ) > ( B > ( product_prod @ A @ B ) ) > $o ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Heap_OTree_OE,type,
% 2.51/1.49      e: 
% 2.51/1.49        !>[A: $tType] : ( tree @ A ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Heap_OTree_OT,type,
% 2.51/1.49      t: 
% 2.51/1.49        !>[A: $tType] : ( A > ( tree @ A ) > ( tree @ A ) > ( tree @ A ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Heap_Oin__tree,type,
% 2.51/1.49      in_tree: 
% 2.51/1.49        !>[A: $tType] : ( A > ( tree @ A ) > $o ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Heap_Ois__heap,type,
% 2.51/1.49      is_heap: 
% 2.51/1.49        !>[A: $tType] : ( ( tree @ A ) > $o ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Heap_Omultiset,type,
% 2.51/1.49      multiset2: 
% 2.51/1.49        !>[A: $tType] : ( ( tree @ A ) > ( multiset @ A ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Heap_Oval,type,
% 2.51/1.49      val: 
% 2.51/1.49        !>[A: $tType] : ( ( tree @ A ) > A ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_If,type,
% 2.51/1.49      if: 
% 2.51/1.49        !>[A: $tType] : ( $o > A > A > A ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Lattices__Big_Olinorder__class_OMax,type,
% 2.51/1.49      lattic929149872er_Max: 
% 2.51/1.49        !>[A: $tType] : ( ( set @ A ) > A ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Multiset_Oadd__mset,type,
% 2.51/1.49      add_mset: 
% 2.51/1.49        !>[A: $tType] : ( A > ( multiset @ A ) > ( multiset @ A ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Multiset_Oset__mset,type,
% 2.51/1.49      set_mset: 
% 2.51/1.49        !>[A: $tType] : ( ( multiset @ A ) > ( set @ A ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Orderings_Oord__class_Oless__eq,type,
% 2.51/1.49      ord_less_eq: 
% 2.51/1.49        !>[A: $tType] : ( A > A > $o ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Orderings_Oorder__class_OGreatest,type,
% 2.51/1.49      order_Greatest: 
% 2.51/1.49        !>[A: $tType] : ( ( A > $o ) > A ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Product__Type_OPair,type,
% 2.51/1.49      product_Pair: 
% 2.51/1.49        !>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Product__Type_Oapfst,type,
% 2.51/1.49      product_apfst: 
% 2.51/1.49        !>[A: $tType,C: $tType,B: $tType] : ( ( A > C ) > ( product_prod @ A @ B ) > ( product_prod @ C @ B ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Product__Type_Oapsnd,type,
% 2.51/1.49      product_apsnd: 
% 2.51/1.49        !>[B: $tType,C: $tType,A: $tType] : ( ( B > C ) > ( product_prod @ A @ B ) > ( product_prod @ A @ C ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Product__Type_Ocurry,type,
% 2.51/1.49      product_curry: 
% 2.51/1.49        !>[A: $tType,B: $tType,C: $tType] : ( ( ( product_prod @ A @ B ) > C ) > A > B > C ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Product__Type_Ointernal__case__prod,type,
% 2.51/1.49      produc2004651681e_prod: 
% 2.51/1.49        !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > C ) > ( product_prod @ A @ B ) > C ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Product__Type_Oold_Oprod_Orec__prod,type,
% 2.51/1.49      product_rec_prod: 
% 2.51/1.49        !>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Product__Type_Oprod_Ocase__prod,type,
% 2.51/1.49      product_case_prod: 
% 2.51/1.49        !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > C ) > ( product_prod @ A @ B ) > C ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Product__Type_Oprod_Ofst,type,
% 2.51/1.49      product_fst: 
% 2.51/1.49        !>[A: $tType,B: $tType] : ( ( product_prod @ A @ B ) > A ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Product__Type_Oprod_Osnd,type,
% 2.51/1.49      product_snd: 
% 2.51/1.49        !>[A: $tType,B: $tType] : ( ( product_prod @ A @ B ) > B ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Product__Type_Oprod_Oswap,type,
% 2.51/1.49      product_swap: 
% 2.51/1.49        !>[A: $tType,B: $tType] : ( ( product_prod @ A @ B ) > ( product_prod @ B @ A ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Product__Type_Oscomp,type,
% 2.51/1.49      product_scomp: 
% 2.51/1.49        !>[A: $tType,B: $tType,C: $tType,D: $tType] : ( ( A > ( product_prod @ B @ C ) ) > ( B > C > D ) > A > D ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Relation_OPowp,type,
% 2.51/1.49      powp: 
% 2.51/1.49        !>[A: $tType] : ( ( A > $o ) > ( set @ A ) > $o ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Relation_Orelcompp,type,
% 2.51/1.49      relcompp: 
% 2.51/1.49        !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > $o ) > ( B > C > $o ) > A > C > $o ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_RemoveMax_OCollection,type,
% 2.51/1.49      collection: 
% 2.51/1.49        !>[B: $tType,A: $tType] : ( B > ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > $o ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_Set_OCollect,type,
% 2.51/1.49      collect: 
% 2.51/1.49        !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_c_member,type,
% 2.51/1.49      member: 
% 2.51/1.49        !>[A: $tType] : ( A > ( set @ A ) > $o ) ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_v_t,type,
% 2.51/1.49      t2: tree @ a ).
% 2.51/1.49  
% 2.51/1.49  thf(sy_v_v____,type,
% 2.51/1.49      v: a ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_0_assms_I2_J,axiom,
% 2.51/1.49      ( t2
% 2.51/1.49     != ( e @ a ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_1_assms_I1_J,axiom,
% 2.51/1.49      is_heap @ a @ t2 ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_2__C1_Oprems_C_I2_J,axiom,
% 2.51/1.49      ( ( t @ a @ v @ ( e @ a ) @ ( e @ a ) )
% 2.51/1.49     != ( e @ a ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_3__C1_Oprems_C_I1_J,axiom,
% 2.51/1.49      is_heap @ a @ ( t @ a @ v @ ( e @ a ) @ ( e @ a ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_4_siftDown_Ocases,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [X: tree @ A] :
% 2.51/1.49            ( ( X
% 2.51/1.49             != ( e @ A ) )
% 2.51/1.49           => ( ! [V: A] :
% 2.51/1.49                  ( X
% 2.51/1.49                 != ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) )
% 2.51/1.49             => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 2.51/1.49                    ( X
% 2.51/1.49                   != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) )
% 2.51/1.49               => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 2.51/1.49                      ( X
% 2.51/1.49                     != ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 2.51/1.49                 => ~ ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 2.51/1.49                        ( X
% 2.51/1.49                       != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_5_removeLeaf_Ocases,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [X: tree @ A] :
% 2.51/1.49            ( ! [V: A] :
% 2.51/1.49                ( X
% 2.51/1.49               != ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) )
% 2.51/1.49           => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 2.51/1.49                  ( X
% 2.51/1.49                 != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) )
% 2.51/1.49             => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 2.51/1.49                    ( X
% 2.51/1.49                   != ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 2.51/1.49               => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 2.51/1.49                      ( X
% 2.51/1.49                     != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) )
% 2.51/1.49                 => ( ! [V: A,Vd: A,Ve: tree @ A,Vf: tree @ A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 2.51/1.49                        ( X
% 2.51/1.49                       != ( t @ A @ V @ ( t @ A @ Vd @ Ve @ Vf ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 2.51/1.49                   => ( X
% 2.51/1.49                      = ( e @ A ) ) ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_6_removeLeaf_Oinduct,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [P: ( tree @ A ) > $o,A0: tree @ A] :
% 2.51/1.49            ( ! [V: A] : ( P @ ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) )
% 2.51/1.49           => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 2.51/1.49                  ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 2.51/1.49                 => ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 2.51/1.49                   => ( P @ ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) ) ) )
% 2.51/1.49             => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 2.51/1.49                    ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 2.51/1.49                   => ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 2.51/1.49                     => ( P @ ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) ) ) )
% 2.51/1.49               => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 2.51/1.49                      ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 2.51/1.49                     => ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 2.51/1.49                       => ( P @ ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) ) ) )
% 2.51/1.49                 => ( ! [V: A,Vd: A,Ve: tree @ A,Vf: tree @ A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 2.51/1.49                        ( ( P @ ( t @ A @ Vd @ Ve @ Vf ) )
% 2.51/1.49                       => ( ( P @ ( t @ A @ Vd @ Ve @ Vf ) )
% 2.51/1.49                         => ( P @ ( t @ A @ V @ ( t @ A @ Vd @ Ve @ Vf ) @ ( t @ A @ Va @ Vb @ Vc ) ) ) ) )
% 2.51/1.49                   => ( ( P @ ( e @ A ) )
% 2.51/1.49                     => ( P @ A0 ) ) ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_7_is__heap_Osimps_I2_J,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [V2: A] : ( is_heap @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( e @ A ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_8_Tree_Oinject,axiom,
% 2.51/1.49      ! [A: $tType,X21: A,X22: tree @ A,X23: tree @ A,Y21: A,Y22: tree @ A,Y23: tree @ A] :
% 2.51/1.49        ( ( ( t @ A @ X21 @ X22 @ X23 )
% 2.51/1.49          = ( t @ A @ Y21 @ Y22 @ Y23 ) )
% 2.51/1.49        = ( ( X21 = Y21 )
% 2.51/1.49          & ( X22 = Y22 )
% 2.51/1.49          & ( X23 = Y23 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_9_hs__is__empty__def,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( heapIm721255937_empty @ A )
% 2.51/1.49        = ( ^ [T2: tree @ A] :
% 2.51/1.49              ( T2
% 2.51/1.49              = ( e @ A ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_10_is__heap_Osimps_I1_J,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ( is_heap @ A @ ( e @ A ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_11_Tree_Odistinct_I1_J,axiom,
% 2.51/1.49      ! [A: $tType,X21: A,X22: tree @ A,X23: tree @ A] :
% 2.51/1.49        ( ( e @ A )
% 2.51/1.49       != ( t @ A @ X21 @ X22 @ X23 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_12_Tree_Oinduct,axiom,
% 2.51/1.49      ! [A: $tType,P: ( tree @ A ) > $o,Tree: tree @ A] :
% 2.51/1.49        ( ( P @ ( e @ A ) )
% 2.51/1.49       => ( ! [X1: A,X2: tree @ A,X3: tree @ A] :
% 2.51/1.49              ( ( P @ X2 )
% 2.51/1.49             => ( ( P @ X3 )
% 2.51/1.49               => ( P @ ( t @ A @ X1 @ X2 @ X3 ) ) ) )
% 2.51/1.49         => ( P @ Tree ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_13_Tree_Oexhaust,axiom,
% 2.51/1.49      ! [A: $tType,Y: tree @ A] :
% 2.51/1.49        ( ( Y
% 2.51/1.49         != ( e @ A ) )
% 2.51/1.49       => ~ ! [X212: A,X222: tree @ A,X232: tree @ A] :
% 2.51/1.49              ( Y
% 2.51/1.49             != ( t @ A @ X212 @ X222 @ X232 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_14_is__heap_Ocases,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [X: tree @ A] :
% 2.51/1.49            ( ( X
% 2.51/1.49             != ( e @ A ) )
% 2.51/1.49           => ( ! [V: A] :
% 2.51/1.49                  ( X
% 2.51/1.49                 != ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) )
% 2.51/1.49             => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 2.51/1.49                    ( X
% 2.51/1.49                   != ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 2.51/1.49               => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 2.51/1.49                      ( X
% 2.51/1.49                     != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) )
% 2.51/1.49                 => ~ ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 2.51/1.49                        ( X
% 2.51/1.49                       != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_15_removeLeaf__val__val,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [T3: tree @ A] :
% 2.51/1.49            ( ( ( product_snd @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ T3 ) )
% 2.51/1.49             != ( e @ A ) )
% 2.51/1.49           => ( ( T3
% 2.51/1.49               != ( e @ A ) )
% 2.51/1.49             => ( ( val @ A @ T3 )
% 2.51/1.49                = ( val @ A @ ( product_snd @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ T3 ) ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_16_removeLeaf_Osimps_I1_J,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [V2: A] :
% 2.51/1.49            ( ( heapIm970386777veLeaf @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( e @ A ) ) )
% 2.51/1.49            = ( product_Pair @ A @ ( tree @ A ) @ V2 @ ( e @ A ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_17_siftDown__heap__is__heap,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [L: tree @ A,R: tree @ A,T3: tree @ A,V2: A] :
% 2.51/1.49            ( ( is_heap @ A @ L )
% 2.51/1.49           => ( ( is_heap @ A @ R )
% 2.51/1.49             => ( ( T3
% 2.51/1.49                  = ( t @ A @ V2 @ L @ R ) )
% 2.51/1.49               => ( is_heap @ A @ ( heapIm748920189ftDown @ A @ T3 ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_18_siftDown_Osimps_I2_J,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [V2: A] :
% 2.51/1.49            ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( e @ A ) ) )
% 2.51/1.49            = ( t @ A @ V2 @ ( e @ A ) @ ( e @ A ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_19_val_Osimps,axiom,
% 2.51/1.49      ! [A: $tType,V2: A,Uu: tree @ A,Uv: tree @ A] :
% 2.51/1.49        ( ( val @ A @ ( t @ A @ V2 @ Uu @ Uv ) )
% 2.51/1.49        = V2 ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_20_siftDown_Osimps_I1_J,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ( ( heapIm748920189ftDown @ A @ ( e @ A ) )
% 2.51/1.49          = ( e @ A ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_21_prod_Oinject,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,X12: A,X24: B,Y1: A,Y2: B] :
% 2.51/1.49        ( ( ( product_Pair @ A @ B @ X12 @ X24 )
% 2.51/1.49          = ( product_Pair @ A @ B @ Y1 @ Y2 ) )
% 2.51/1.49        = ( ( X12 = Y1 )
% 2.51/1.49          & ( X24 = Y2 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_22_old_Oprod_Oinject,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,A2: A,B2: B,A3: A,B3: B] :
% 2.51/1.49        ( ( ( product_Pair @ A @ B @ A2 @ B2 )
% 2.51/1.49          = ( product_Pair @ A @ B @ A3 @ B3 ) )
% 2.51/1.49        = ( ( A2 = A3 )
% 2.51/1.49          & ( B2 = B3 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_23_siftDown__in__tree,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [T3: tree @ A] :
% 2.51/1.49            ( ( T3
% 2.51/1.49             != ( e @ A ) )
% 2.51/1.49           => ( in_tree @ A @ ( val @ A @ ( heapIm748920189ftDown @ A @ T3 ) ) @ T3 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_24_eq__snd__iff,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,B2: A,P2: product_prod @ B @ A] :
% 2.51/1.49        ( ( B2
% 2.51/1.49          = ( product_snd @ B @ A @ P2 ) )
% 2.51/1.49        = ( ? [A4: B] :
% 2.51/1.49              ( P2
% 2.51/1.49              = ( product_Pair @ B @ A @ A4 @ B2 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_25_snd__conv,axiom,
% 2.51/1.49      ! [Aa: $tType,A: $tType,X12: Aa,X24: A] :
% 2.51/1.49        ( ( product_snd @ Aa @ A @ ( product_Pair @ Aa @ A @ X12 @ X24 ) )
% 2.51/1.49        = X24 ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_26_snd__eqD,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,X: B,Y: A,A2: A] :
% 2.51/1.49        ( ( ( product_snd @ B @ A @ ( product_Pair @ B @ A @ X @ Y ) )
% 2.51/1.49          = A2 )
% 2.51/1.49       => ( Y = A2 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_27_sndI,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,X: product_prod @ A @ B,Y: A,Z: B] :
% 2.51/1.49        ( ( X
% 2.51/1.49          = ( product_Pair @ A @ B @ Y @ Z ) )
% 2.51/1.49       => ( ( product_snd @ A @ B @ X )
% 2.51/1.49          = Z ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_28_removeLeaf_Osimps_I2_J,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [V2: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 2.51/1.49            ( ( heapIm970386777veLeaf @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 2.51/1.49            = ( product_Pair @ A @ ( tree @ A ) @ ( product_fst @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) @ ( t @ A @ V2 @ ( product_snd @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) @ ( e @ A ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_29_removeLeaf_Osimps_I3_J,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [V2: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 2.51/1.49            ( ( heapIm970386777veLeaf @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.51/1.49            = ( product_Pair @ A @ ( tree @ A ) @ ( product_fst @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) @ ( t @ A @ V2 @ ( e @ A ) @ ( product_snd @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_30_removeLeaf_Osimps_I4_J,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [V2: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A] :
% 2.51/1.49            ( ( heapIm970386777veLeaf @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 2.51/1.49            = ( product_Pair @ A @ ( tree @ A ) @ ( product_fst @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) @ ( t @ A @ V2 @ ( product_snd @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_31_prod_Ocollapse,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,Prod: product_prod @ A @ B] :
% 2.51/1.49        ( ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) )
% 2.51/1.49        = Prod ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_32_eq__fst__iff,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,A2: A,P2: product_prod @ A @ B] :
% 2.51/1.49        ( ( A2
% 2.51/1.49          = ( product_fst @ A @ B @ P2 ) )
% 2.51/1.49        = ( ? [B4: B] :
% 2.51/1.49              ( P2
% 2.51/1.49              = ( product_Pair @ A @ B @ A2 @ B4 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_33_fst__conv,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,X12: A,X24: B] :
% 2.51/1.49        ( ( product_fst @ A @ B @ ( product_Pair @ A @ B @ X12 @ X24 ) )
% 2.51/1.49        = X12 ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_34_fst__eqD,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,X: A,Y: B,A2: A] :
% 2.51/1.49        ( ( ( product_fst @ A @ B @ ( product_Pair @ A @ B @ X @ Y ) )
% 2.51/1.49          = A2 )
% 2.51/1.49       => ( X = A2 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_35_fstI,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,X: product_prod @ A @ B,Y: A,Z: B] :
% 2.51/1.49        ( ( X
% 2.51/1.49          = ( product_Pair @ A @ B @ Y @ Z ) )
% 2.51/1.49       => ( ( product_fst @ A @ B @ X )
% 2.51/1.49          = Y ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_36_prod__eqI,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,P2: product_prod @ A @ B,Q: product_prod @ A @ B] :
% 2.51/1.49        ( ( ( product_fst @ A @ B @ P2 )
% 2.51/1.49          = ( product_fst @ A @ B @ Q ) )
% 2.51/1.49       => ( ( ( product_snd @ A @ B @ P2 )
% 2.51/1.49            = ( product_snd @ A @ B @ Q ) )
% 2.51/1.49         => ( P2 = Q ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_37_prod_Oexpand,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,Prod: product_prod @ A @ B,Prod2: product_prod @ A @ B] :
% 2.51/1.49        ( ( ( ( product_fst @ A @ B @ Prod )
% 2.51/1.49            = ( product_fst @ A @ B @ Prod2 ) )
% 2.51/1.49          & ( ( product_snd @ A @ B @ Prod )
% 2.51/1.49            = ( product_snd @ A @ B @ Prod2 ) ) )
% 2.51/1.49       => ( Prod = Prod2 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_38_prod__eq__iff,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType] :
% 2.51/1.49        ( ( ^ [Y3: product_prod @ A @ B,Z2: product_prod @ A @ B] : ( Y3 = Z2 ) )
% 2.51/1.49        = ( ^ [S: product_prod @ A @ B,T2: product_prod @ A @ B] :
% 2.51/1.49              ( ( ( product_fst @ A @ B @ S )
% 2.51/1.49                = ( product_fst @ A @ B @ T2 ) )
% 2.51/1.49              & ( ( product_snd @ A @ B @ S )
% 2.51/1.49                = ( product_snd @ A @ B @ T2 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_39_surjective__pairing,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,T3: product_prod @ A @ B] :
% 2.51/1.49        ( T3
% 2.51/1.49        = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ T3 ) @ ( product_snd @ A @ B @ T3 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_40_prod_Oexhaust__sel,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,Prod: product_prod @ A @ B] :
% 2.51/1.49        ( Prod
% 2.51/1.49        = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_41_in__tree_Osimps_I2_J,axiom,
% 2.51/1.49      ! [A: $tType,V2: A,V3: A,L: tree @ A,R: tree @ A] :
% 2.51/1.49        ( ( in_tree @ A @ V2 @ ( t @ A @ V3 @ L @ R ) )
% 2.51/1.49        = ( ( V2 = V3 )
% 2.51/1.49          | ( in_tree @ A @ V2 @ L )
% 2.51/1.49          | ( in_tree @ A @ V2 @ R ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_42_in__tree_Osimps_I1_J,axiom,
% 2.51/1.49      ! [A: $tType,V2: A] :
% 2.51/1.49        ~ ( in_tree @ A @ V2 @ ( e @ A ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_43_siftDown__in__tree__set,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ( ( in_tree @ A )
% 2.51/1.49          = ( ^ [V4: A,T2: tree @ A] : ( in_tree @ A @ V4 @ ( heapIm748920189ftDown @ A @ T2 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_44_old_Oprod_Oinducts,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
% 2.51/1.49        ( ! [A5: A,B5: B] : ( P @ ( product_Pair @ A @ B @ A5 @ B5 ) )
% 2.51/1.49       => ( P @ Prod ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_45_mem__Collect__eq,axiom,
% 2.51/1.49      ! [A: $tType,A2: A,P: A > $o] :
% 2.51/1.49        ( ( member @ A @ A2 @ ( collect @ A @ P ) )
% 2.51/1.49        = ( P @ A2 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_46_Collect__mem__eq,axiom,
% 2.51/1.49      ! [A: $tType,A6: set @ A] :
% 2.51/1.49        ( ( collect @ A
% 2.51/1.49          @ ^ [X4: A] : ( member @ A @ X4 @ A6 ) )
% 2.51/1.49        = A6 ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_47_Collect__cong,axiom,
% 2.51/1.49      ! [A: $tType,P: A > $o,Q2: A > $o] :
% 2.51/1.49        ( ! [X5: A] :
% 2.51/1.49            ( ( P @ X5 )
% 2.51/1.49            = ( Q2 @ X5 ) )
% 2.51/1.49       => ( ( collect @ A @ P )
% 2.51/1.49          = ( collect @ A @ Q2 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_48_ext,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,F: A > B,G: A > B] :
% 2.51/1.49        ( ! [X5: A] :
% 2.51/1.49            ( ( F @ X5 )
% 2.51/1.49            = ( G @ X5 ) )
% 2.51/1.49       => ( F = G ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_49_old_Oprod_Oexhaust,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,Y: product_prod @ A @ B] :
% 2.51/1.49        ~ ! [A5: A,B5: B] :
% 2.51/1.49            ( Y
% 2.51/1.49           != ( product_Pair @ A @ B @ A5 @ B5 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_50_prod__induct7,axiom,
% 2.51/1.49      ! [G2: $tType,F2: $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 @ F2 @ G2 ) ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) ) )] :
% 2.51/1.49        ( ! [A5: A,B5: B,C2: C,D2: D,E2: E,F3: F2,G3: G2] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F2 @ G2 ) @ E2 @ ( product_Pair @ F2 @ G2 @ F3 @ G3 ) ) ) ) ) ) )
% 2.51/1.49       => ( P @ X ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_51_prod__induct6,axiom,
% 2.51/1.49      ! [F2: $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 @ F2 ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) )] :
% 2.51/1.49        ( ! [A5: A,B5: B,C2: C,D2: D,E2: E,F3: F2] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ F2 ) @ D2 @ ( product_Pair @ E @ F2 @ E2 @ F3 ) ) ) ) ) )
% 2.51/1.49       => ( P @ X ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_52_prod__induct5,axiom,
% 2.51/1.49      ! [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,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
% 2.51/1.49        ( ! [A5: A,B5: B,C2: C,D2: D,E2: E] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C2 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) )
% 2.51/1.49       => ( P @ X ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_53_prod__induct4,axiom,
% 2.51/1.49      ! [D: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
% 2.51/1.49        ( ! [A5: A,B5: B,C2: C,D2: D] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B5 @ ( product_Pair @ C @ D @ C2 @ D2 ) ) ) )
% 2.51/1.49       => ( P @ X ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_54_prod__induct3,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ C )] :
% 2.51/1.49        ( ! [A5: A,B5: B,C2: C] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A5 @ ( product_Pair @ B @ C @ B5 @ C2 ) ) )
% 2.51/1.49       => ( P @ X ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_55_prod__cases7,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F2: $tType,G2: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) ) )] :
% 2.51/1.49        ~ ! [A5: A,B5: B,C2: C,D2: D,E2: E,F3: F2,G3: G2] :
% 2.51/1.49            ( Y
% 2.51/1.49           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F2 @ G2 ) @ E2 @ ( product_Pair @ F2 @ G2 @ F3 @ G3 ) ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_56_prod__cases6,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F2: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) )] :
% 2.51/1.49        ~ ! [A5: A,B5: B,C2: C,D2: D,E2: E,F3: F2] :
% 2.51/1.49            ( Y
% 2.51/1.49           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F2 ) ) @ C2 @ ( product_Pair @ D @ ( product_prod @ E @ F2 ) @ D2 @ ( product_Pair @ E @ F2 @ E2 @ F3 ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_57_prod__cases5,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) )] :
% 2.51/1.49        ~ ! [A5: A,B5: B,C2: C,D2: D,E2: E] :
% 2.51/1.49            ( Y
% 2.51/1.49           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C2 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_58_prod__cases4,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,C: $tType,D: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
% 2.51/1.49        ~ ! [A5: A,B5: B,C2: C,D2: D] :
% 2.51/1.49            ( Y
% 2.51/1.49           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B5 @ ( product_Pair @ C @ D @ C2 @ D2 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_59_prod__cases3,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,C: $tType,Y: product_prod @ A @ ( product_prod @ B @ C )] :
% 2.51/1.49        ~ ! [A5: A,B5: B,C2: C] :
% 2.51/1.49            ( Y
% 2.51/1.49           != ( product_Pair @ A @ ( product_prod @ B @ C ) @ A5 @ ( product_Pair @ B @ C @ B5 @ C2 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_60_Pair__inject,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,A2: A,B2: B,A3: A,B3: B] :
% 2.51/1.49        ( ( ( product_Pair @ A @ B @ A2 @ B2 )
% 2.51/1.49          = ( product_Pair @ A @ B @ A3 @ B3 ) )
% 2.51/1.49       => ~ ( ( A2 = A3 )
% 2.51/1.49           => ( B2 != B3 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_61_prod__cases,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P2: product_prod @ A @ B] :
% 2.51/1.49        ( ! [A5: A,B5: B] : ( P @ ( product_Pair @ A @ B @ A5 @ B5 ) )
% 2.51/1.49       => ( P @ P2 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_62_surj__pair,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,P2: product_prod @ A @ B] :
% 2.51/1.49      ? [X5: A,Y4: B] :
% 2.51/1.49        ( P2
% 2.51/1.49        = ( product_Pair @ A @ B @ X5 @ Y4 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_63_removeLeaf_Osimps_I5_J,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [V2: A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 2.51/1.49            ( ( heapIm970386777veLeaf @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.51/1.49            = ( product_Pair @ A @ ( tree @ A ) @ ( product_fst @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) @ ( t @ A @ V2 @ ( product_snd @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_64_old_Oprod_Orec,axiom,
% 2.51/1.49      ! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A2: A,B2: B] :
% 2.51/1.49        ( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 2.51/1.49        = ( F1 @ A2 @ B2 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_65_BNF__Greatest__Fixpoint_Osubst__Pair,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,P: A > B > $o,X: A,Y: B,A2: product_prod @ A @ B] :
% 2.51/1.49        ( ( P @ X @ Y )
% 2.51/1.49       => ( ( A2
% 2.51/1.49            = ( product_Pair @ A @ B @ X @ Y ) )
% 2.51/1.49         => ( P @ ( product_fst @ A @ B @ A2 ) @ ( product_snd @ A @ B @ A2 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_66_conjI__realizer,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,P: A > $o,P2: A,Q2: B > $o,Q: B] :
% 2.51/1.49        ( ( P @ P2 )
% 2.51/1.49       => ( ( Q2 @ Q )
% 2.51/1.49         => ( ( P @ ( product_fst @ A @ B @ ( product_Pair @ A @ B @ P2 @ Q ) ) )
% 2.51/1.49            & ( Q2 @ ( product_snd @ A @ B @ ( product_Pair @ A @ B @ P2 @ Q ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_67_exI__realizer,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,P: A > B > $o,Y: A,X: B] :
% 2.51/1.49        ( ( P @ Y @ X )
% 2.51/1.49       => ( P @ ( product_snd @ B @ A @ ( product_Pair @ B @ A @ X @ Y ) ) @ ( product_fst @ B @ A @ ( product_Pair @ B @ A @ X @ Y ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_68_exE__realizer_H,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,P: A > B > $o,P2: product_prod @ B @ A] :
% 2.51/1.49        ( ( P @ ( product_snd @ B @ A @ P2 ) @ ( product_fst @ B @ A @ P2 ) )
% 2.51/1.49       => ~ ! [X5: B,Y4: A] :
% 2.51/1.49              ~ ( P @ Y4 @ X5 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_69_prod_Oswap__def,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType] :
% 2.51/1.49        ( ( product_swap @ A @ B )
% 2.51/1.49        = ( ^ [P3: product_prod @ A @ B] : ( product_Pair @ B @ A @ ( product_snd @ A @ B @ P3 ) @ ( product_fst @ A @ B @ P3 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_70_heapify_Osimps_I2_J,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [V2: A,L: tree @ A,R: tree @ A] :
% 2.51/1.49            ( ( heapIm818251801eapify @ A @ ( t @ A @ V2 @ L @ R ) )
% 2.51/1.49            = ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm818251801eapify @ A @ L ) @ ( heapIm818251801eapify @ A @ R ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_71_is__heap_Osimps_I4_J,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [V2: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 2.51/1.49            ( ( is_heap @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 2.51/1.49            = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 2.51/1.49              & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_72_is__heap_Osimps_I3_J,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [V2: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 2.51/1.49            ( ( is_heap @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.51/1.49            = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 2.51/1.49              & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_73_swap__swap,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,P2: product_prod @ A @ B] :
% 2.51/1.49        ( ( product_swap @ B @ A @ ( product_swap @ A @ B @ P2 ) )
% 2.51/1.49        = P2 ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_74_swap__simp,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,X: B,Y: A] :
% 2.51/1.49        ( ( product_swap @ B @ A @ ( product_Pair @ B @ A @ X @ Y ) )
% 2.51/1.49        = ( product_Pair @ A @ B @ Y @ X ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_75_fst__swap,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,X: product_prod @ B @ A] :
% 2.51/1.49        ( ( product_fst @ A @ B @ ( product_swap @ B @ A @ X ) )
% 2.51/1.49        = ( product_snd @ B @ A @ X ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_76_snd__swap,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,X: product_prod @ A @ B] :
% 2.51/1.49        ( ( product_snd @ B @ A @ ( product_swap @ A @ B @ X ) )
% 2.51/1.49        = ( product_fst @ A @ B @ X ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_77_siftDown__Node,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [T3: tree @ A,V2: A,L: tree @ A,R: tree @ A] :
% 2.51/1.49            ( ( T3
% 2.51/1.49              = ( t @ A @ V2 @ L @ R ) )
% 2.51/1.49           => ? [L2: tree @ A,V5: A,R2: tree @ A] :
% 2.51/1.49                ( ( ( heapIm748920189ftDown @ A @ T3 )
% 2.51/1.49                  = ( t @ A @ V5 @ L2 @ R2 ) )
% 2.51/1.49                & ( ord_less_eq @ A @ V2 @ V5 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_78_heapify_Osimps_I1_J,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ( ( heapIm818251801eapify @ A @ ( e @ A ) )
% 2.51/1.49          = ( e @ A ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_79_heapify__heap__is__heap,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [T3: tree @ A] : ( is_heap @ A @ ( heapIm818251801eapify @ A @ T3 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_80_is__heap_Osimps_I5_J,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [V2: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A] :
% 2.51/1.49            ( ( is_heap @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 2.51/1.49            = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 2.51/1.49              & ( is_heap @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) )
% 2.51/1.49              & ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 2.51/1.49              & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_81_is__heap_Osimps_I6_J,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [V2: A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 2.51/1.49            ( ( is_heap @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.51/1.49            = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 2.51/1.49              & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) )
% 2.51/1.49              & ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 2.51/1.49              & ( is_heap @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_82_is__heap__max,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [V2: A,T3: tree @ A] :
% 2.51/1.49            ( ( in_tree @ A @ V2 @ T3 )
% 2.51/1.49           => ( ( is_heap @ A @ T3 )
% 2.51/1.49             => ( ord_less_eq @ A @ V2 @ ( val @ A @ T3 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_83_order__refl,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( preorder @ A )
% 2.51/1.49       => ! [X: A] : ( ord_less_eq @ A @ X @ X ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_84_siftDown_Osimps_I3_J,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [Va2: A,Vb2: tree @ A,Vc2: tree @ A,V2: A] :
% 2.51/1.49            ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 2.51/1.49             => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 2.51/1.49                = ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) ) )
% 2.51/1.49            & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 2.51/1.49             => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 2.51/1.49                = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) @ ( e @ A ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_85_siftDown_Osimps_I4_J,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [Va2: A,Vb2: tree @ A,Vc2: tree @ A,V2: A] :
% 2.51/1.49            ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 2.51/1.49             => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.51/1.49                = ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) )
% 2.51/1.49            & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 2.51/1.49             => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.51/1.49                = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( e @ A ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_86_internal__case__prod__conv,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,C: $tType,C3: B > C > A,A2: B,B2: C] :
% 2.51/1.49        ( ( produc2004651681e_prod @ B @ C @ A @ C3 @ ( product_Pair @ B @ C @ A2 @ B2 ) )
% 2.51/1.49        = ( C3 @ A2 @ B2 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_87_siftDown_Osimps_I6_J,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [Va2: A,Vb2: tree @ A,Vc2: tree @ A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A,V2: A] :
% 2.51/1.49            ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 2.51/1.49             => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 2.51/1.49                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.51/1.49                    = ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) )
% 2.51/1.49                & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 2.51/1.49                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.51/1.49                    = ( t @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) )
% 2.51/1.49            & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 2.51/1.49             => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 2.51/1.49                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.51/1.49                    = ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) )
% 2.51/1.49                & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 2.51/1.49                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.51/1.49                    = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_88_siftDown_Osimps_I5_J,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [Vd2: A,Ve2: tree @ A,Vf2: tree @ A,Va2: A,Vb2: tree @ A,Vc2: tree @ A,V2: A] :
% 2.51/1.49            ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.51/1.49             => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 2.51/1.49                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 2.51/1.49                    = ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) )
% 2.51/1.49                & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 2.51/1.49                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 2.51/1.49                    = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) )
% 2.51/1.49            & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.51/1.49             => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 2.51/1.49                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 2.51/1.49                    = ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) )
% 2.51/1.49                & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 2.51/1.49                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 2.51/1.49                    = ( t @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_89_left_Osimps,axiom,
% 2.51/1.49      ! [A: $tType,V2: A,L: tree @ A,R: tree @ A] :
% 2.51/1.49        ( ( heapIm1271749598e_left @ A @ ( t @ A @ V2 @ L @ R ) )
% 2.51/1.49        = L ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_90_right_Osimps,axiom,
% 2.51/1.49      ! [A: $tType,V2: A,L: tree @ A,R: tree @ A] :
% 2.51/1.49        ( ( heapIm1434396069_right @ A @ ( t @ A @ V2 @ L @ R ) )
% 2.51/1.49        = R ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_91_dual__order_Oantisym,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( order @ A )
% 2.51/1.49       => ! [B2: A,A2: A] :
% 2.51/1.49            ( ( ord_less_eq @ A @ B2 @ A2 )
% 2.51/1.49           => ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.51/1.49             => ( A2 = B2 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_92_dual__order_Oeq__iff,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( order @ A )
% 2.51/1.49       => ( ( ^ [Y3: A,Z2: A] : ( Y3 = Z2 ) )
% 2.51/1.49          = ( ^ [A4: A,B4: A] :
% 2.51/1.49                ( ( ord_less_eq @ A @ B4 @ A4 )
% 2.51/1.49                & ( ord_less_eq @ A @ A4 @ B4 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_93_dual__order_Otrans,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( order @ A )
% 2.51/1.49       => ! [B2: A,A2: A,C3: A] :
% 2.51/1.49            ( ( ord_less_eq @ A @ B2 @ A2 )
% 2.51/1.49           => ( ( ord_less_eq @ A @ C3 @ B2 )
% 2.51/1.49             => ( ord_less_eq @ A @ C3 @ A2 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_94_linorder__wlog,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [P: A > A > $o,A2: A,B2: A] :
% 2.51/1.49            ( ! [A5: A,B5: A] :
% 2.51/1.49                ( ( ord_less_eq @ A @ A5 @ B5 )
% 2.51/1.49               => ( P @ A5 @ B5 ) )
% 2.51/1.49           => ( ! [A5: A,B5: A] :
% 2.51/1.49                  ( ( P @ B5 @ A5 )
% 2.51/1.49                 => ( P @ A5 @ B5 ) )
% 2.51/1.49             => ( P @ A2 @ B2 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_95_dual__order_Orefl,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( order @ A )
% 2.51/1.49       => ! [A2: A] : ( ord_less_eq @ A @ A2 @ A2 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_96_order__trans,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( preorder @ A )
% 2.51/1.49       => ! [X: A,Y: A,Z: A] :
% 2.51/1.49            ( ( ord_less_eq @ A @ X @ Y )
% 2.51/1.49           => ( ( ord_less_eq @ A @ Y @ Z )
% 2.51/1.49             => ( ord_less_eq @ A @ X @ Z ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_97_order__class_Oorder_Oantisym,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( order @ A )
% 2.51/1.49       => ! [A2: A,B2: A] :
% 2.51/1.49            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.51/1.49           => ( ( ord_less_eq @ A @ B2 @ A2 )
% 2.51/1.49             => ( A2 = B2 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_98_ord__le__eq__trans,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( ord @ A )
% 2.51/1.49       => ! [A2: A,B2: A,C3: A] :
% 2.51/1.49            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.51/1.49           => ( ( B2 = C3 )
% 2.51/1.49             => ( ord_less_eq @ A @ A2 @ C3 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_99_ord__eq__le__trans,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( ord @ A )
% 2.51/1.49       => ! [A2: A,B2: A,C3: A] :
% 2.51/1.49            ( ( A2 = B2 )
% 2.51/1.49           => ( ( ord_less_eq @ A @ B2 @ C3 )
% 2.51/1.49             => ( ord_less_eq @ A @ A2 @ C3 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_100_order__class_Oorder_Oeq__iff,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( order @ A )
% 2.51/1.49       => ( ( ^ [Y3: A,Z2: A] : ( Y3 = Z2 ) )
% 2.51/1.49          = ( ^ [A4: A,B4: A] :
% 2.51/1.49                ( ( ord_less_eq @ A @ A4 @ B4 )
% 2.51/1.49                & ( ord_less_eq @ A @ B4 @ A4 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_101_antisym__conv,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( order @ A )
% 2.51/1.49       => ! [Y: A,X: A] :
% 2.51/1.49            ( ( ord_less_eq @ A @ Y @ X )
% 2.51/1.49           => ( ( ord_less_eq @ A @ X @ Y )
% 2.51/1.49              = ( X = Y ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_102_le__cases3,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [X: A,Y: A,Z: A] :
% 2.51/1.49            ( ( ( ord_less_eq @ A @ X @ Y )
% 2.51/1.49             => ~ ( ord_less_eq @ A @ Y @ Z ) )
% 2.51/1.49           => ( ( ( ord_less_eq @ A @ Y @ X )
% 2.51/1.49               => ~ ( ord_less_eq @ A @ X @ Z ) )
% 2.51/1.49             => ( ( ( ord_less_eq @ A @ X @ Z )
% 2.51/1.49                 => ~ ( ord_less_eq @ A @ Z @ Y ) )
% 2.51/1.49               => ( ( ( ord_less_eq @ A @ Z @ Y )
% 2.51/1.49                   => ~ ( ord_less_eq @ A @ Y @ X ) )
% 2.51/1.49                 => ( ( ( ord_less_eq @ A @ Y @ Z )
% 2.51/1.49                     => ~ ( ord_less_eq @ A @ Z @ X ) )
% 2.51/1.49                   => ~ ( ( ord_less_eq @ A @ Z @ X )
% 2.51/1.49                       => ~ ( ord_less_eq @ A @ X @ Y ) ) ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_103_order_Otrans,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( order @ A )
% 2.51/1.49       => ! [A2: A,B2: A,C3: A] :
% 2.51/1.49            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.51/1.49           => ( ( ord_less_eq @ A @ B2 @ C3 )
% 2.51/1.49             => ( ord_less_eq @ A @ A2 @ C3 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_104_le__cases,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [X: A,Y: A] :
% 2.51/1.49            ( ~ ( ord_less_eq @ A @ X @ Y )
% 2.51/1.49           => ( ord_less_eq @ A @ Y @ X ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_105_eq__refl,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( preorder @ A )
% 2.51/1.49       => ! [X: A,Y: A] :
% 2.51/1.49            ( ( X = Y )
% 2.51/1.49           => ( ord_less_eq @ A @ X @ Y ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_106_linear,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [X: A,Y: A] :
% 2.51/1.49            ( ( ord_less_eq @ A @ X @ Y )
% 2.51/1.49            | ( ord_less_eq @ A @ Y @ X ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_107_antisym,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( order @ A )
% 2.51/1.49       => ! [X: A,Y: A] :
% 2.51/1.49            ( ( ord_less_eq @ A @ X @ Y )
% 2.51/1.49           => ( ( ord_less_eq @ A @ Y @ X )
% 2.51/1.49             => ( X = Y ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_108_eq__iff,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( order @ A )
% 2.51/1.49       => ( ( ^ [Y3: A,Z2: A] : ( Y3 = Z2 ) )
% 2.51/1.49          = ( ^ [X4: A,Y5: A] :
% 2.51/1.49                ( ( ord_less_eq @ A @ X4 @ Y5 )
% 2.51/1.49                & ( ord_less_eq @ A @ Y5 @ X4 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_109_ord__le__eq__subst,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType] :
% 2.51/1.49        ( ( ( ord @ B )
% 2.51/1.49          & ( ord @ A ) )
% 2.51/1.49       => ! [A2: A,B2: A,F: A > B,C3: B] :
% 2.51/1.49            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.51/1.49           => ( ( ( F @ B2 )
% 2.51/1.49                = C3 )
% 2.51/1.49             => ( ! [X5: A,Y4: A] :
% 2.51/1.49                    ( ( ord_less_eq @ A @ X5 @ Y4 )
% 2.51/1.49                   => ( ord_less_eq @ B @ ( F @ X5 ) @ ( F @ Y4 ) ) )
% 2.51/1.49               => ( ord_less_eq @ B @ ( F @ A2 ) @ C3 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_110_ord__eq__le__subst,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType] :
% 2.51/1.49        ( ( ( ord @ B )
% 2.51/1.49          & ( ord @ A ) )
% 2.51/1.49       => ! [A2: A,F: B > A,B2: B,C3: B] :
% 2.51/1.49            ( ( A2
% 2.51/1.49              = ( F @ B2 ) )
% 2.51/1.49           => ( ( ord_less_eq @ B @ B2 @ C3 )
% 2.51/1.49             => ( ! [X5: B,Y4: B] :
% 2.51/1.49                    ( ( ord_less_eq @ B @ X5 @ Y4 )
% 2.51/1.49                   => ( ord_less_eq @ A @ ( F @ X5 ) @ ( F @ Y4 ) ) )
% 2.51/1.49               => ( ord_less_eq @ A @ A2 @ ( F @ C3 ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_111_order__subst2,axiom,
% 2.51/1.49      ! [A: $tType,C: $tType] :
% 2.51/1.49        ( ( ( order @ C )
% 2.51/1.49          & ( order @ A ) )
% 2.51/1.49       => ! [A2: A,B2: A,F: A > C,C3: C] :
% 2.51/1.49            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.51/1.49           => ( ( ord_less_eq @ C @ ( F @ B2 ) @ C3 )
% 2.51/1.49             => ( ! [X5: A,Y4: A] :
% 2.51/1.49                    ( ( ord_less_eq @ A @ X5 @ Y4 )
% 2.51/1.49                   => ( ord_less_eq @ C @ ( F @ X5 ) @ ( F @ Y4 ) ) )
% 2.51/1.49               => ( ord_less_eq @ C @ ( F @ A2 ) @ C3 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_112_order__subst1,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType] :
% 2.51/1.49        ( ( ( order @ B )
% 2.51/1.49          & ( order @ A ) )
% 2.51/1.49       => ! [A2: A,F: B > A,B2: B,C3: B] :
% 2.51/1.49            ( ( ord_less_eq @ A @ A2 @ ( F @ B2 ) )
% 2.51/1.49           => ( ( ord_less_eq @ B @ B2 @ C3 )
% 2.51/1.49             => ( ! [X5: B,Y4: B] :
% 2.51/1.49                    ( ( ord_less_eq @ B @ X5 @ Y4 )
% 2.51/1.49                   => ( ord_less_eq @ A @ ( F @ X5 ) @ ( F @ Y4 ) ) )
% 2.51/1.49               => ( ord_less_eq @ A @ A2 @ ( F @ C3 ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_113_le__fun__def,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType] :
% 2.51/1.49        ( ( ord @ B )
% 2.51/1.49       => ( ( ord_less_eq @ ( A > B ) )
% 2.51/1.49          = ( ^ [F4: A > B,G4: A > B] :
% 2.51/1.49              ! [X4: A] : ( ord_less_eq @ B @ ( F4 @ X4 ) @ ( G4 @ X4 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_114_le__funI,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType] :
% 2.51/1.49        ( ( ord @ B )
% 2.51/1.49       => ! [F: A > B,G: A > B] :
% 2.51/1.49            ( ! [X5: A] : ( ord_less_eq @ B @ ( F @ X5 ) @ ( G @ X5 ) )
% 2.51/1.49           => ( ord_less_eq @ ( A > B ) @ F @ G ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_115_le__funE,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType] :
% 2.51/1.49        ( ( ord @ B )
% 2.51/1.49       => ! [F: A > B,G: A > B,X: A] :
% 2.51/1.49            ( ( ord_less_eq @ ( A > B ) @ F @ G )
% 2.51/1.49           => ( ord_less_eq @ B @ ( F @ X ) @ ( G @ X ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_116_le__funD,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType] :
% 2.51/1.49        ( ( ord @ B )
% 2.51/1.49       => ! [F: A > B,G: A > B,X: A] :
% 2.51/1.49            ( ( ord_less_eq @ ( A > B ) @ F @ G )
% 2.51/1.49           => ( ord_less_eq @ B @ ( F @ X ) @ ( G @ X ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_117_hs__remove__max__def,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ( ( heapIm1542349758ve_max @ A )
% 2.51/1.49          = ( ^ [T2: tree @ A] :
% 2.51/1.49                ( if @ ( product_prod @ A @ ( tree @ A ) )
% 2.51/1.49                @ ( ( product_snd @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ T2 ) )
% 2.51/1.49                  = ( e @ A ) )
% 2.51/1.49                @ ( product_Pair @ A @ ( tree @ A ) @ ( val @ A @ T2 ) @ ( e @ A ) )
% 2.51/1.49                @ ( product_Pair @ A @ ( tree @ A ) @ ( val @ A @ T2 ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ ( product_fst @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ T2 ) ) @ ( heapIm1271749598e_left @ A @ ( product_snd @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ T2 ) ) ) @ ( heapIm1434396069_right @ A @ ( product_snd @ A @ ( tree @ A ) @ ( heapIm970386777veLeaf @ A @ T2 ) ) ) ) ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_118_relChain__def,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType] :
% 2.51/1.49        ( ( ord @ B )
% 2.51/1.49       => ( ( bNF_Ca1785829860lChain @ A @ B )
% 2.51/1.49          = ( ^ [R3: set @ ( product_prod @ A @ A ),As: A > B] :
% 2.51/1.49              ! [I: A,J: A] :
% 2.51/1.49                ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ I @ J ) @ R3 )
% 2.51/1.49               => ( ord_less_eq @ B @ ( As @ I ) @ ( As @ J ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_119_Heap_Oremove__max__is__heap,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),L: B,M: A,L3: B] :
% 2.51/1.49            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 2.51/1.49           => ( ~ ( Is_empty @ L )
% 2.51/1.49             => ( ( is_heap @ A @ ( As_tree @ L ) )
% 2.51/1.49               => ( ( ( product_Pair @ A @ B @ M @ L3 )
% 2.51/1.49                    = ( Remove_max @ L ) )
% 2.51/1.49                 => ( is_heap @ A @ ( As_tree @ L3 ) ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_120_Heap_Oremove__max__val,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),T3: B,M: A,T4: B] :
% 2.51/1.49            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 2.51/1.49           => ( ~ ( Is_empty @ T3 )
% 2.51/1.49             => ( ( ( product_Pair @ A @ B @ M @ T4 )
% 2.51/1.49                  = ( Remove_max @ T3 ) )
% 2.51/1.49               => ( M
% 2.51/1.49                  = ( val @ A @ ( As_tree @ T3 ) ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_121_sndOp__def,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,C: $tType] :
% 2.51/1.49        ( ( bNF_sndOp @ C @ A @ B )
% 2.51/1.49        = ( ^ [P4: C > A > $o,Q3: A > B > $o,Ac: product_prod @ C @ B] : ( product_Pair @ A @ B @ ( bNF_pick_middlep @ C @ A @ B @ P4 @ Q3 @ ( product_fst @ C @ B @ Ac ) @ ( product_snd @ C @ B @ Ac ) ) @ ( product_snd @ C @ B @ Ac ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_122_fstOp__def,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType] :
% 2.51/1.49        ( ( bNF_fstOp @ A @ B @ C )
% 2.51/1.49        = ( ^ [P4: A > B > $o,Q3: B > C > $o,Ac: product_prod @ A @ C] : ( product_Pair @ A @ B @ ( product_fst @ A @ C @ Ac ) @ ( bNF_pick_middlep @ A @ B @ C @ P4 @ Q3 @ ( product_fst @ A @ C @ Ac ) @ ( product_snd @ A @ C @ Ac ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_123_Heap_Oas__tree__empty,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),T3: B] :
% 2.51/1.49            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 2.51/1.49           => ( ( ( As_tree @ T3 )
% 2.51/1.49                = ( e @ A ) )
% 2.51/1.49              = ( Is_empty @ T3 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_124_Heap_Ois__heap__of__list,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),I2: list @ A] :
% 2.51/1.49            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 2.51/1.49           => ( is_heap @ A @ ( As_tree @ ( Of_list @ I2 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_125_scomp__unfold,axiom,
% 2.51/1.49      ! [D: $tType,C: $tType,B: $tType,A: $tType] :
% 2.51/1.49        ( ( product_scomp @ A @ B @ C @ D )
% 2.51/1.49        = ( ^ [F4: A > ( product_prod @ B @ C ),G4: B > C > D,X4: A] : ( G4 @ ( product_fst @ B @ C @ ( F4 @ X4 ) ) @ ( product_snd @ B @ C @ ( F4 @ X4 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_126_pred__subset__eq2,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,R4: set @ ( product_prod @ A @ B ),S2: set @ ( product_prod @ A @ B )] :
% 2.51/1.49        ( ( ord_less_eq @ ( A > B > $o )
% 2.51/1.49          @ ^ [X4: A,Y5: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ R4 )
% 2.51/1.49          @ ^ [X4: A,Y5: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ S2 ) )
% 2.51/1.49        = ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R4 @ S2 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_127_pred__equals__eq2,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,R4: set @ ( product_prod @ A @ B ),S2: set @ ( product_prod @ A @ B )] :
% 2.51/1.49        ( ( ( ^ [X4: A,Y5: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ R4 ) )
% 2.51/1.49          = ( ^ [X4: A,Y5: B] : ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y5 ) @ S2 ) ) )
% 2.51/1.49        = ( R4 = S2 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_128_csquare__fstOp__sndOp,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,C: $tType,F: ( A > B > $o ) > ( product_prod @ A @ B ) > $o,P: A > C > $o,Q2: C > B > $o] : ( bNF_csquare @ ( product_prod @ A @ B ) @ ( product_prod @ A @ C ) @ C @ ( product_prod @ C @ B ) @ ( collect @ ( product_prod @ A @ B ) @ ( F @ ( relcompp @ A @ C @ B @ P @ Q2 ) ) ) @ ( product_snd @ A @ C ) @ ( product_fst @ C @ B ) @ ( bNF_fstOp @ A @ C @ B @ P @ Q2 ) @ ( bNF_sndOp @ A @ C @ B @ P @ Q2 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_129_predicate2I,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,P: A > B > $o,Q2: A > B > $o] :
% 2.51/1.49        ( ! [X5: A,Y4: B] :
% 2.51/1.49            ( ( P @ X5 @ Y4 )
% 2.51/1.49           => ( Q2 @ X5 @ Y4 ) )
% 2.51/1.49       => ( ord_less_eq @ ( A > B > $o ) @ P @ Q2 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_130_predicate2D,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,P: A > B > $o,Q2: A > B > $o,X: A,Y: B] :
% 2.51/1.49        ( ( ord_less_eq @ ( A > B > $o ) @ P @ Q2 )
% 2.51/1.49       => ( ( P @ X @ Y )
% 2.51/1.49         => ( Q2 @ X @ Y ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_131_rev__predicate2D,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,P: A > B > $o,X: A,Y: B,Q2: A > B > $o] :
% 2.51/1.49        ( ( P @ X @ Y )
% 2.51/1.49       => ( ( ord_less_eq @ ( A > B > $o ) @ P @ Q2 )
% 2.51/1.49         => ( Q2 @ X @ Y ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_132_scomp__scomp,axiom,
% 2.51/1.49      ! [A: $tType,C: $tType,D: $tType,B: $tType,F2: $tType,E: $tType,F: A > ( product_prod @ E @ F2 ),G: E > F2 > ( product_prod @ C @ D ),H: C > D > B] :
% 2.51/1.49        ( ( product_scomp @ A @ C @ D @ B @ ( product_scomp @ A @ E @ F2 @ ( product_prod @ C @ D ) @ F @ G ) @ H )
% 2.51/1.49        = ( product_scomp @ A @ E @ F2 @ B @ F
% 2.51/1.49          @ ^ [X4: E] : ( product_scomp @ F2 @ C @ D @ B @ ( G @ X4 ) @ H ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_133_subset__Collect__iff,axiom,
% 2.51/1.49      ! [A: $tType,B6: set @ A,A6: set @ A,P: A > $o] :
% 2.51/1.49        ( ( ord_less_eq @ ( set @ A ) @ B6 @ A6 )
% 2.51/1.49       => ( ( ord_less_eq @ ( set @ A ) @ B6
% 2.51/1.49            @ ( collect @ A
% 2.51/1.49              @ ^ [X4: A] :
% 2.51/1.49                  ( ( member @ A @ X4 @ A6 )
% 2.51/1.49                  & ( P @ X4 ) ) ) )
% 2.51/1.49          = ( ! [X4: A] :
% 2.51/1.49                ( ( member @ A @ X4 @ B6 )
% 2.51/1.49               => ( P @ X4 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_134_subset__CollectI,axiom,
% 2.51/1.49      ! [A: $tType,B6: set @ A,A6: set @ A,Q2: A > $o,P: A > $o] :
% 2.51/1.49        ( ( ord_less_eq @ ( set @ A ) @ B6 @ A6 )
% 2.51/1.49       => ( ! [X5: A] :
% 2.51/1.49              ( ( member @ A @ X5 @ B6 )
% 2.51/1.49             => ( ( Q2 @ X5 )
% 2.51/1.49               => ( P @ X5 ) ) )
% 2.51/1.49         => ( ord_less_eq @ ( set @ A )
% 2.51/1.49            @ ( collect @ A
% 2.51/1.49              @ ^ [X4: A] :
% 2.51/1.49                  ( ( member @ A @ X4 @ B6 )
% 2.51/1.49                  & ( Q2 @ X4 ) ) )
% 2.51/1.49            @ ( collect @ A
% 2.51/1.49              @ ^ [X4: A] :
% 2.51/1.49                  ( ( member @ A @ X4 @ A6 )
% 2.51/1.49                  & ( P @ X4 ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_135_pred__subset__eq,axiom,
% 2.51/1.49      ! [A: $tType,R4: set @ A,S2: set @ A] :
% 2.51/1.49        ( ( ord_less_eq @ ( A > $o )
% 2.51/1.49          @ ^ [X4: A] : ( member @ A @ X4 @ R4 )
% 2.51/1.49          @ ^ [X4: A] : ( member @ A @ X4 @ S2 ) )
% 2.51/1.49        = ( ord_less_eq @ ( set @ A ) @ R4 @ S2 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_136_relcompp__mono,axiom,
% 2.51/1.49      ! [A: $tType,C: $tType,B: $tType,R5: A > B > $o,R: A > B > $o,S3: B > C > $o,S4: B > C > $o] :
% 2.51/1.49        ( ( ord_less_eq @ ( A > B > $o ) @ R5 @ R )
% 2.51/1.49       => ( ( ord_less_eq @ ( B > C > $o ) @ S3 @ S4 )
% 2.51/1.49         => ( ord_less_eq @ ( A > C > $o ) @ ( relcompp @ A @ B @ C @ R5 @ S3 ) @ ( relcompp @ A @ B @ C @ R @ S4 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_137_leq__OOI,axiom,
% 2.51/1.49      ! [A: $tType,R4: A > A > $o] :
% 2.51/1.49        ( ( R4
% 2.51/1.49          = ( ^ [Y3: A,Z2: A] : ( Y3 = Z2 ) ) )
% 2.51/1.49       => ( ord_less_eq @ ( A > A > $o ) @ R4 @ ( relcompp @ A @ A @ A @ R4 @ R4 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_138_ge__eq__refl,axiom,
% 2.51/1.49      ! [A: $tType,R4: A > A > $o,X: A] :
% 2.51/1.49        ( ( ord_less_eq @ ( A > A > $o )
% 2.51/1.49          @ ^ [Y3: A,Z2: A] : ( Y3 = Z2 )
% 2.51/1.49          @ R4 )
% 2.51/1.49       => ( R4 @ X @ X ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_139_refl__ge__eq,axiom,
% 2.51/1.49      ! [A: $tType,R4: A > A > $o] :
% 2.51/1.49        ( ! [X5: A] : ( R4 @ X5 @ X5 )
% 2.51/1.49       => ( ord_less_eq @ ( A > A > $o )
% 2.51/1.49          @ ^ [Y3: A,Z2: A] : ( Y3 = Z2 )
% 2.51/1.49          @ R4 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_140_pick__middlep,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,C: $tType,P: A > B > $o,Q2: B > C > $o,A2: A,C3: C] :
% 2.51/1.49        ( ( relcompp @ A @ B @ C @ P @ Q2 @ A2 @ C3 )
% 2.51/1.49       => ( ( P @ A2 @ ( bNF_pick_middlep @ A @ B @ C @ P @ Q2 @ A2 @ C3 ) )
% 2.51/1.49          & ( Q2 @ ( bNF_pick_middlep @ A @ B @ C @ P @ Q2 @ A2 @ C3 ) @ C3 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_141_scomp__Pair,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType,X: A > ( product_prod @ B @ C )] :
% 2.51/1.49        ( ( product_scomp @ A @ B @ C @ ( product_prod @ B @ C ) @ X @ ( product_Pair @ B @ C ) )
% 2.51/1.49        = X ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_142_Pair__scomp,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,C: $tType,X: C,F: C > A > B] :
% 2.51/1.49        ( ( product_scomp @ A @ C @ A @ B @ ( product_Pair @ C @ A @ X ) @ F )
% 2.51/1.49        = ( F @ X ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_143_csquare__def,axiom,
% 2.51/1.49      ! [B: $tType,C: $tType,D: $tType,A: $tType] :
% 2.51/1.49        ( ( bNF_csquare @ A @ B @ C @ D )
% 2.51/1.49        = ( ^ [A7: set @ A,F12: B > C,F22: D > C,P1: A > B,P22: A > D] :
% 2.51/1.49            ! [X4: A] :
% 2.51/1.49              ( ( member @ A @ X4 @ A7 )
% 2.51/1.49             => ( ( F12 @ ( P1 @ X4 ) )
% 2.51/1.49                = ( F22 @ ( P22 @ X4 ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_144_subrelI,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),S4: set @ ( product_prod @ A @ B )] :
% 2.51/1.49        ( ! [X5: A,Y4: B] :
% 2.51/1.49            ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y4 ) @ R )
% 2.51/1.49           => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y4 ) @ S4 ) )
% 2.51/1.49       => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R @ S4 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_145_subset__antisym,axiom,
% 2.51/1.49      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 2.51/1.49        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 2.51/1.49       => ( ( ord_less_eq @ ( set @ A ) @ B6 @ A6 )
% 2.51/1.49         => ( A6 = B6 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_146_subsetI,axiom,
% 2.51/1.49      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 2.51/1.49        ( ! [X5: A] :
% 2.51/1.49            ( ( member @ A @ X5 @ A6 )
% 2.51/1.49           => ( member @ A @ X5 @ B6 ) )
% 2.51/1.49       => ( ord_less_eq @ ( set @ A ) @ A6 @ B6 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_147_eq__subset,axiom,
% 2.51/1.49      ! [A: $tType,P: A > A > $o] :
% 2.51/1.49        ( ord_less_eq @ ( A > A > $o )
% 2.51/1.49        @ ^ [Y3: A,Z2: A] : ( Y3 = Z2 )
% 2.51/1.49        @ ^ [A4: A,B4: A] :
% 2.51/1.49            ( ( P @ A4 @ B4 )
% 2.51/1.49            | ( A4 = B4 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_148_Collect__restrict,axiom,
% 2.51/1.49      ! [A: $tType,X6: set @ A,P: A > $o] :
% 2.51/1.49        ( ord_less_eq @ ( set @ A )
% 2.51/1.49        @ ( collect @ A
% 2.51/1.49          @ ^ [X4: A] :
% 2.51/1.49              ( ( member @ A @ X4 @ X6 )
% 2.51/1.49              & ( P @ X4 ) ) )
% 2.51/1.49        @ X6 ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_149_predicate1I,axiom,
% 2.51/1.49      ! [A: $tType,P: A > $o,Q2: A > $o] :
% 2.51/1.49        ( ! [X5: A] :
% 2.51/1.49            ( ( P @ X5 )
% 2.51/1.49           => ( Q2 @ X5 ) )
% 2.51/1.49       => ( ord_less_eq @ ( A > $o ) @ P @ Q2 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_150_predicate1D,axiom,
% 2.51/1.49      ! [A: $tType,P: A > $o,Q2: A > $o,X: A] :
% 2.51/1.49        ( ( ord_less_eq @ ( A > $o ) @ P @ Q2 )
% 2.51/1.49       => ( ( P @ X )
% 2.51/1.49         => ( Q2 @ X ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_151_rev__predicate1D,axiom,
% 2.51/1.49      ! [A: $tType,P: A > $o,X: A,Q2: A > $o] :
% 2.51/1.49        ( ( P @ X )
% 2.51/1.49       => ( ( ord_less_eq @ ( A > $o ) @ P @ Q2 )
% 2.51/1.49         => ( Q2 @ X ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_152_ssubst__Pair__rhs,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,R: A,S4: B,R4: set @ ( product_prod @ A @ B ),S3: B] :
% 2.51/1.49        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R @ S4 ) @ R4 )
% 2.51/1.49       => ( ( S3 = S4 )
% 2.51/1.49         => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R @ S3 ) @ R4 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_153_in__mono,axiom,
% 2.51/1.49      ! [A: $tType,A6: set @ A,B6: set @ A,X: A] :
% 2.51/1.49        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 2.51/1.49       => ( ( member @ A @ X @ A6 )
% 2.51/1.49         => ( member @ A @ X @ B6 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_154_subsetD,axiom,
% 2.51/1.49      ! [A: $tType,A6: set @ A,B6: set @ A,C3: A] :
% 2.51/1.49        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 2.51/1.49       => ( ( member @ A @ C3 @ A6 )
% 2.51/1.49         => ( member @ A @ C3 @ B6 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_155_equalityE,axiom,
% 2.51/1.49      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 2.51/1.49        ( ( A6 = B6 )
% 2.51/1.49       => ~ ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 2.51/1.49           => ~ ( ord_less_eq @ ( set @ A ) @ B6 @ A6 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_156_subset__eq,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( ord_less_eq @ ( set @ A ) )
% 2.51/1.49        = ( ^ [A7: set @ A,B7: set @ A] :
% 2.51/1.49            ! [X4: A] :
% 2.51/1.49              ( ( member @ A @ X4 @ A7 )
% 2.51/1.49             => ( member @ A @ X4 @ B7 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_157_equalityD1,axiom,
% 2.51/1.49      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 2.51/1.49        ( ( A6 = B6 )
% 2.51/1.49       => ( ord_less_eq @ ( set @ A ) @ A6 @ B6 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_158_equalityD2,axiom,
% 2.51/1.49      ! [A: $tType,A6: set @ A,B6: set @ A] :
% 2.51/1.49        ( ( A6 = B6 )
% 2.51/1.49       => ( ord_less_eq @ ( set @ A ) @ B6 @ A6 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_159_subset__iff,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( ord_less_eq @ ( set @ A ) )
% 2.51/1.49        = ( ^ [A7: set @ A,B7: set @ A] :
% 2.51/1.49            ! [T2: A] :
% 2.51/1.49              ( ( member @ A @ T2 @ A7 )
% 2.51/1.49             => ( member @ A @ T2 @ B7 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_160_subset__refl,axiom,
% 2.51/1.49      ! [A: $tType,A6: set @ A] : ( ord_less_eq @ ( set @ A ) @ A6 @ A6 ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_161_Collect__mono,axiom,
% 2.51/1.49      ! [A: $tType,P: A > $o,Q2: A > $o] :
% 2.51/1.49        ( ! [X5: A] :
% 2.51/1.49            ( ( P @ X5 )
% 2.51/1.49           => ( Q2 @ X5 ) )
% 2.51/1.49       => ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q2 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_162_subset__trans,axiom,
% 2.51/1.49      ! [A: $tType,A6: set @ A,B6: set @ A,C4: set @ A] :
% 2.51/1.49        ( ( ord_less_eq @ ( set @ A ) @ A6 @ B6 )
% 2.51/1.49       => ( ( ord_less_eq @ ( set @ A ) @ B6 @ C4 )
% 2.51/1.49         => ( ord_less_eq @ ( set @ A ) @ A6 @ C4 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_163_set__eq__subset,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( ^ [Y3: set @ A,Z2: set @ A] : ( Y3 = Z2 ) )
% 2.51/1.49        = ( ^ [A7: set @ A,B7: set @ A] :
% 2.51/1.49              ( ( ord_less_eq @ ( set @ A ) @ A7 @ B7 )
% 2.51/1.49              & ( ord_less_eq @ ( set @ A ) @ B7 @ A7 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_164_Collect__mono__iff,axiom,
% 2.51/1.49      ! [A: $tType,P: A > $o,Q2: A > $o] :
% 2.51/1.49        ( ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q2 ) )
% 2.51/1.49        = ( ! [X4: A] :
% 2.51/1.49              ( ( P @ X4 )
% 2.51/1.49             => ( Q2 @ X4 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_165_predicate2D__conj,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,P: A > B > $o,Q2: A > B > $o,R4: $o,X: A,Y: B] :
% 2.51/1.49        ( ( ( ord_less_eq @ ( A > B > $o ) @ P @ Q2 )
% 2.51/1.49          & R4 )
% 2.51/1.49       => ( R4
% 2.51/1.49          & ( ( P @ X @ Y )
% 2.51/1.49           => ( Q2 @ X @ Y ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_166_Collect__subset,axiom,
% 2.51/1.49      ! [A: $tType,A6: set @ A,P: A > $o] :
% 2.51/1.49        ( ord_less_eq @ ( set @ A )
% 2.51/1.49        @ ( collect @ A
% 2.51/1.49          @ ^ [X4: A] :
% 2.51/1.49              ( ( member @ A @ X4 @ A6 )
% 2.51/1.49              & ( P @ X4 ) ) )
% 2.51/1.49        @ A6 ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_167_less__eq__set__def,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( ord_less_eq @ ( set @ A ) )
% 2.51/1.49        = ( ^ [A7: set @ A,B7: set @ A] :
% 2.51/1.49              ( ord_less_eq @ ( A > $o )
% 2.51/1.49              @ ^ [X4: A] : ( member @ A @ X4 @ A7 )
% 2.51/1.49              @ ^ [X4: A] : ( member @ A @ X4 @ B7 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_168_prop__restrict,axiom,
% 2.51/1.49      ! [A: $tType,X: A,Z3: set @ A,X6: set @ A,P: A > $o] :
% 2.51/1.49        ( ( member @ A @ X @ Z3 )
% 2.51/1.49       => ( ( ord_less_eq @ ( set @ A ) @ Z3
% 2.51/1.49            @ ( collect @ A
% 2.51/1.49              @ ^ [X4: A] :
% 2.51/1.49                  ( ( member @ A @ X4 @ X6 )
% 2.51/1.49                  & ( P @ X4 ) ) ) )
% 2.51/1.49         => ( P @ X ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_169_conj__subset__def,axiom,
% 2.51/1.49      ! [A: $tType,A6: set @ A,P: A > $o,Q2: A > $o] :
% 2.51/1.49        ( ( ord_less_eq @ ( set @ A ) @ A6
% 2.51/1.49          @ ( collect @ A
% 2.51/1.49            @ ^ [X4: A] :
% 2.51/1.49                ( ( P @ X4 )
% 2.51/1.49                & ( Q2 @ X4 ) ) ) )
% 2.51/1.49        = ( ( ord_less_eq @ ( set @ A ) @ A6 @ ( collect @ A @ P ) )
% 2.51/1.49          & ( ord_less_eq @ ( set @ A ) @ A6 @ ( collect @ A @ Q2 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_170_Heap_Oaxioms_I2_J,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B )] :
% 2.51/1.49            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 2.51/1.49           => ( heap_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_171_Powp__mono,axiom,
% 2.51/1.49      ! [A: $tType,A6: A > $o,B6: A > $o] :
% 2.51/1.49        ( ( ord_less_eq @ ( A > $o ) @ A6 @ B6 )
% 2.51/1.49       => ( ord_less_eq @ ( ( set @ A ) > $o ) @ ( powp @ A @ A6 ) @ ( powp @ A @ B6 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_172_Heap_Ointro,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B )] :
% 2.51/1.49            ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 2.51/1.49           => ( ( heap_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 2.51/1.49             => ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_173_Heap__def,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ( ( heap @ B @ A )
% 2.51/1.49          = ( ^ [Empty2: B,Is_empty2: B > $o,Of_list2: ( list @ A ) > B,Multiset2: B > ( multiset @ A ),As_tree2: B > ( tree @ A ),Remove_max2: B > ( product_prod @ A @ B )] :
% 2.51/1.49                ( ( collection @ B @ A @ Empty2 @ Is_empty2 @ Of_list2 @ Multiset2 )
% 2.51/1.49                & ( heap_axioms @ B @ A @ Is_empty2 @ Of_list2 @ Multiset2 @ As_tree2 @ Remove_max2 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_174_image2__eqI,axiom,
% 2.51/1.49      ! [A: $tType,C: $tType,B: $tType,B2: A,F: B > A,X: B,C3: C,G: B > C,A6: set @ B] :
% 2.51/1.49        ( ( B2
% 2.51/1.49          = ( F @ X ) )
% 2.51/1.49       => ( ( C3
% 2.51/1.49            = ( G @ X ) )
% 2.51/1.49         => ( ( member @ B @ X @ A6 )
% 2.51/1.49           => ( member @ ( product_prod @ A @ C ) @ ( product_Pair @ A @ C @ B2 @ C3 ) @ ( bNF_Greatest_image2 @ B @ A @ C @ A6 @ F @ G ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_175_Heap_Oaxioms_I1_J,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B )] :
% 2.51/1.49            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 2.51/1.49           => ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_176_GreatestI2__order,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( order @ A )
% 2.51/1.49       => ! [P: A > $o,X: A,Q2: A > $o] :
% 2.51/1.49            ( ( P @ X )
% 2.51/1.49           => ( ! [Y4: A] :
% 2.51/1.49                  ( ( P @ Y4 )
% 2.51/1.49                 => ( ord_less_eq @ A @ Y4 @ X ) )
% 2.51/1.49             => ( ! [X5: A] :
% 2.51/1.49                    ( ( P @ X5 )
% 2.51/1.49                   => ( ! [Y6: A] :
% 2.51/1.49                          ( ( P @ Y6 )
% 2.51/1.49                         => ( ord_less_eq @ A @ Y6 @ X5 ) )
% 2.51/1.49                     => ( Q2 @ X5 ) ) )
% 2.51/1.49               => ( Q2 @ ( order_Greatest @ A @ P ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_177_Greatest__equality,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( order @ A )
% 2.51/1.49       => ! [P: A > $o,X: A] :
% 2.51/1.49            ( ( P @ X )
% 2.51/1.49           => ( ! [Y4: A] :
% 2.51/1.49                  ( ( P @ Y4 )
% 2.51/1.49                 => ( ord_less_eq @ A @ Y4 @ X ) )
% 2.51/1.49             => ( ( order_Greatest @ A @ P )
% 2.51/1.49                = X ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_178_Heap__axioms__def,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ( ( heap_axioms @ B @ A )
% 2.51/1.49          = ( ^ [Is_empty2: B > $o,Of_list2: ( list @ A ) > B,Multiset2: B > ( multiset @ A ),As_tree2: B > ( tree @ A ),Remove_max2: B > ( product_prod @ A @ B )] :
% 2.51/1.49                ( ! [L4: B] :
% 2.51/1.49                    ( ( Multiset2 @ L4 )
% 2.51/1.49                    = ( multiset2 @ A @ ( As_tree2 @ L4 ) ) )
% 2.51/1.49                & ! [I: list @ A] : ( is_heap @ A @ ( As_tree2 @ ( Of_list2 @ I ) ) )
% 2.51/1.49                & ! [T2: B] :
% 2.51/1.49                    ( ( ( As_tree2 @ T2 )
% 2.51/1.49                      = ( e @ A ) )
% 2.51/1.49                    = ( Is_empty2 @ T2 ) )
% 2.51/1.49                & ! [L4: B,M2: A,L5: B] :
% 2.51/1.49                    ( ~ ( Is_empty2 @ L4 )
% 2.51/1.49                   => ( ( ( product_Pair @ A @ B @ M2 @ L5 )
% 2.51/1.49                        = ( Remove_max2 @ L4 ) )
% 2.51/1.49                     => ( ( add_mset @ A @ M2 @ ( Multiset2 @ L5 ) )
% 2.51/1.49                        = ( Multiset2 @ L4 ) ) ) )
% 2.51/1.49                & ! [L4: B,M2: A,L5: B] :
% 2.51/1.49                    ( ~ ( Is_empty2 @ L4 )
% 2.51/1.49                   => ( ( is_heap @ A @ ( As_tree2 @ L4 ) )
% 2.51/1.49                     => ( ( ( product_Pair @ A @ B @ M2 @ L5 )
% 2.51/1.49                          = ( Remove_max2 @ L4 ) )
% 2.51/1.49                       => ( is_heap @ A @ ( As_tree2 @ L5 ) ) ) ) )
% 2.51/1.49                & ! [T2: B,M2: A,T5: B] :
% 2.51/1.49                    ( ~ ( Is_empty2 @ T2 )
% 2.51/1.49                   => ( ( ( product_Pair @ A @ B @ M2 @ T5 )
% 2.51/1.49                        = ( Remove_max2 @ T2 ) )
% 2.51/1.49                     => ( M2
% 2.51/1.49                        = ( val @ A @ ( As_tree2 @ T2 ) ) ) ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_179_siftDown__multiset,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [T3: tree @ A] :
% 2.51/1.49            ( ( multiset2 @ A @ ( heapIm748920189ftDown @ A @ T3 ) )
% 2.51/1.49            = ( multiset2 @ A @ T3 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_180_Heap_Oremove__max__multiset_H,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),L: B,M: A,L3: B] :
% 2.51/1.49            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 2.51/1.49           => ( ~ ( Is_empty @ L )
% 2.51/1.49             => ( ( ( product_Pair @ A @ B @ M @ L3 )
% 2.51/1.49                  = ( Remove_max @ L ) )
% 2.51/1.49               => ( ( add_mset @ A @ M @ ( Multiset @ L3 ) )
% 2.51/1.49                  = ( Multiset @ L ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_181_Heap_Omultiset,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),L: B] :
% 2.51/1.49            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 2.51/1.49           => ( ( Multiset @ L )
% 2.51/1.49              = ( multiset2 @ A @ ( As_tree @ L ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_182_multiset__heapify,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [T3: tree @ A] :
% 2.51/1.49            ( ( multiset2 @ A @ ( heapIm818251801eapify @ A @ T3 ) )
% 2.51/1.49            = ( multiset2 @ A @ T3 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_183_Heap__axioms_Ointro,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Of_list: ( list @ A ) > B,Is_empty: B > $o,Remove_max: B > ( product_prod @ A @ B )] :
% 2.51/1.49            ( ! [L6: B] :
% 2.51/1.49                ( ( Multiset @ L6 )
% 2.51/1.49                = ( multiset2 @ A @ ( As_tree @ L6 ) ) )
% 2.51/1.49           => ( ! [I3: list @ A] : ( is_heap @ A @ ( As_tree @ ( Of_list @ I3 ) ) )
% 2.51/1.49             => ( ! [T6: B] :
% 2.51/1.49                    ( ( ( As_tree @ T6 )
% 2.51/1.49                      = ( e @ A ) )
% 2.51/1.49                    = ( Is_empty @ T6 ) )
% 2.51/1.49               => ( ! [L6: B,M3: A,L2: B] :
% 2.51/1.49                      ( ~ ( Is_empty @ L6 )
% 2.51/1.49                     => ( ( ( product_Pair @ A @ B @ M3 @ L2 )
% 2.51/1.49                          = ( Remove_max @ L6 ) )
% 2.51/1.49                       => ( ( add_mset @ A @ M3 @ ( Multiset @ L2 ) )
% 2.51/1.49                          = ( Multiset @ L6 ) ) ) )
% 2.51/1.49                 => ( ! [L6: B,M3: A,L2: B] :
% 2.51/1.49                        ( ~ ( Is_empty @ L6 )
% 2.51/1.49                       => ( ( is_heap @ A @ ( As_tree @ L6 ) )
% 2.51/1.49                         => ( ( ( product_Pair @ A @ B @ M3 @ L2 )
% 2.51/1.49                              = ( Remove_max @ L6 ) )
% 2.51/1.49                           => ( is_heap @ A @ ( As_tree @ L2 ) ) ) ) )
% 2.51/1.49                   => ( ! [T6: B,M3: A,T7: B] :
% 2.51/1.49                          ( ~ ( Is_empty @ T6 )
% 2.51/1.49                         => ( ( ( product_Pair @ A @ B @ M3 @ T7 )
% 2.51/1.49                              = ( Remove_max @ T6 ) )
% 2.51/1.49                           => ( M3
% 2.51/1.49                              = ( val @ A @ ( As_tree @ T6 ) ) ) ) )
% 2.51/1.49                     => ( heap_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max ) ) ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_184_heap__top__geq,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [A2: A,T3: tree @ A] :
% 2.51/1.49            ( ( member @ A @ A2 @ ( set_mset @ A @ ( multiset2 @ A @ T3 ) ) )
% 2.51/1.49           => ( ( is_heap @ A @ T3 )
% 2.51/1.49             => ( ord_less_eq @ A @ A2 @ ( val @ A @ T3 ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_185_prod_Osplit__sel__asm,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType,P: C > $o,F: A > B > C,Prod: product_prod @ A @ B] :
% 2.51/1.49        ( ( P @ ( product_case_prod @ A @ B @ C @ F @ Prod ) )
% 2.51/1.49        = ( ~ ( ( Prod
% 2.51/1.49                = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) )
% 2.51/1.49              & ~ ( P @ ( F @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_186_prod_Osplit__sel,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType,P: C > $o,F: A > B > C,Prod: product_prod @ A @ B] :
% 2.51/1.49        ( ( P @ ( product_case_prod @ A @ B @ C @ F @ Prod ) )
% 2.51/1.49        = ( ( Prod
% 2.51/1.49            = ( product_Pair @ A @ B @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) )
% 2.51/1.49         => ( P @ ( F @ ( product_fst @ A @ B @ Prod ) @ ( product_snd @ A @ B @ Prod ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_187_mem__case__prodI,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,C: $tType,Z: A,C3: B > C > ( set @ A ),A2: B,B2: C] :
% 2.51/1.49        ( ( member @ A @ Z @ ( C3 @ A2 @ B2 ) )
% 2.51/1.49       => ( member @ A @ Z @ ( product_case_prod @ B @ C @ ( set @ A ) @ C3 @ ( product_Pair @ B @ C @ A2 @ B2 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_188_mem__case__prodI2,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType,P2: product_prod @ A @ B,Z: C,C3: A > B > ( set @ C )] :
% 2.51/1.49        ( ! [A5: A,B5: B] :
% 2.51/1.49            ( ( P2
% 2.51/1.49              = ( product_Pair @ A @ B @ A5 @ B5 ) )
% 2.51/1.49           => ( member @ C @ Z @ ( C3 @ A5 @ B5 ) ) )
% 2.51/1.49       => ( member @ C @ Z @ ( product_case_prod @ A @ B @ ( set @ C ) @ C3 @ P2 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_189_case__prodI2_H,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,C: $tType,P2: product_prod @ A @ B,C3: A > B > C > $o,X: C] :
% 2.51/1.49        ( ! [A5: A,B5: B] :
% 2.51/1.49            ( ( ( product_Pair @ A @ B @ A5 @ B5 )
% 2.51/1.49              = P2 )
% 2.51/1.49           => ( C3 @ A5 @ B5 @ X ) )
% 2.51/1.49       => ( product_case_prod @ A @ B @ ( C > $o ) @ C3 @ P2 @ X ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_190_case__prodI,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,F: A > B > $o,A2: A,B2: B] :
% 2.51/1.49        ( ( F @ A2 @ B2 )
% 2.51/1.49       => ( product_case_prod @ A @ B @ $o @ F @ ( product_Pair @ A @ B @ A2 @ B2 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_191_case__prodI2,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,P2: product_prod @ A @ B,C3: A > B > $o] :
% 2.51/1.49        ( ! [A5: A,B5: B] :
% 2.51/1.49            ( ( P2
% 2.51/1.49              = ( product_Pair @ A @ B @ A5 @ B5 ) )
% 2.51/1.49           => ( C3 @ A5 @ B5 ) )
% 2.51/1.49       => ( product_case_prod @ A @ B @ $o @ C3 @ P2 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_192_scomp__apply,axiom,
% 2.51/1.49      ! [A: $tType,D: $tType,C: $tType,B: $tType] :
% 2.51/1.49        ( ( product_scomp @ B @ C @ D @ A )
% 2.51/1.49        = ( ^ [F4: B > ( product_prod @ C @ D ),G4: C > D > A,X4: B] : ( product_case_prod @ C @ D @ A @ G4 @ ( F4 @ X4 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_193_case__prod__conv,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,C: $tType,F: B > C > A,A2: B,B2: C] :
% 2.51/1.49        ( ( product_case_prod @ B @ C @ A @ F @ ( product_Pair @ B @ C @ A2 @ B2 ) )
% 2.51/1.49        = ( F @ A2 @ B2 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_194_case__swap,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,C: $tType,F: C > B > A,P2: product_prod @ C @ B] :
% 2.51/1.49        ( ( product_case_prod @ B @ C @ A
% 2.51/1.49          @ ^ [Y5: B,X4: C] : ( F @ X4 @ Y5 )
% 2.51/1.49          @ ( product_swap @ C @ B @ P2 ) )
% 2.51/1.49        = ( product_case_prod @ C @ B @ A @ F @ P2 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_195_Product__Type_OCollect__case__prodD,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,X: product_prod @ A @ B,A6: A > B > $o] :
% 2.51/1.49        ( ( member @ ( product_prod @ A @ B ) @ X @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ A6 ) ) )
% 2.51/1.49       => ( A6 @ ( product_fst @ A @ B @ X ) @ ( product_snd @ A @ B @ X ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_196_prod_Ocase__distrib,axiom,
% 2.51/1.49      ! [C: $tType,D: $tType,B: $tType,A: $tType,H: C > D,F: A > B > C,Prod: product_prod @ A @ B] :
% 2.51/1.49        ( ( H @ ( product_case_prod @ A @ B @ C @ F @ Prod ) )
% 2.51/1.49        = ( product_case_prod @ A @ B @ D
% 2.51/1.49          @ ^ [X13: A,X25: B] : ( H @ ( F @ X13 @ X25 ) )
% 2.51/1.49          @ Prod ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_197_case__prodE,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,C3: A > B > $o,P2: product_prod @ A @ B] :
% 2.51/1.49        ( ( product_case_prod @ A @ B @ $o @ C3 @ P2 )
% 2.51/1.49       => ~ ! [X5: A,Y4: B] :
% 2.51/1.49              ( ( P2
% 2.51/1.49                = ( product_Pair @ A @ B @ X5 @ Y4 ) )
% 2.51/1.49             => ~ ( C3 @ X5 @ Y4 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_198_case__prodD,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,F: A > B > $o,A2: A,B2: B] :
% 2.51/1.49        ( ( product_case_prod @ A @ B @ $o @ F @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 2.51/1.49       => ( F @ A2 @ B2 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_199_old_Oprod_Ocase,axiom,
% 2.51/1.49      ! [A: $tType,C: $tType,B: $tType,F: A > B > C,X12: A,X24: B] :
% 2.51/1.49        ( ( product_case_prod @ A @ B @ C @ F @ ( product_Pair @ A @ B @ X12 @ X24 ) )
% 2.51/1.49        = ( F @ X12 @ X24 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_200_mem__case__prodE,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,C: $tType,Z: A,C3: B > C > ( set @ A ),P2: product_prod @ B @ C] :
% 2.51/1.49        ( ( member @ A @ Z @ ( product_case_prod @ B @ C @ ( set @ A ) @ C3 @ P2 ) )
% 2.51/1.49       => ~ ! [X5: B,Y4: C] :
% 2.51/1.49              ( ( P2
% 2.51/1.49                = ( product_Pair @ B @ C @ X5 @ Y4 ) )
% 2.51/1.49             => ~ ( member @ A @ Z @ ( C3 @ X5 @ Y4 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_201_snd__def,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType] :
% 2.51/1.49        ( ( product_snd @ A @ B )
% 2.51/1.49        = ( product_case_prod @ A @ B @ B
% 2.51/1.49          @ ^ [X13: A,X25: B] : X25 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_202_fst__def,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType] :
% 2.51/1.49        ( ( product_fst @ A @ B )
% 2.51/1.49        = ( product_case_prod @ A @ B @ A
% 2.51/1.49          @ ^ [X13: A,X25: B] : X13 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_203_case__prodE2,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,C: $tType,Q2: A > $o,P: B > C > A,Z: product_prod @ B @ C] :
% 2.51/1.49        ( ( Q2 @ ( product_case_prod @ B @ C @ A @ P @ Z ) )
% 2.51/1.49       => ~ ! [X5: B,Y4: C] :
% 2.51/1.49              ( ( Z
% 2.51/1.49                = ( product_Pair @ B @ C @ X5 @ Y4 ) )
% 2.51/1.49             => ~ ( Q2 @ ( P @ X5 @ Y4 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_204_case__prod__eta,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType,F: ( product_prod @ A @ B ) > C] :
% 2.51/1.49        ( ( product_case_prod @ A @ B @ C
% 2.51/1.49          @ ^ [X4: A,Y5: B] : ( F @ ( product_Pair @ A @ B @ X4 @ Y5 ) ) )
% 2.51/1.49        = F ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_205_cond__case__prod__eta,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType,F: A > B > C,G: ( product_prod @ A @ B ) > C] :
% 2.51/1.49        ( ! [X5: A,Y4: B] :
% 2.51/1.49            ( ( F @ X5 @ Y4 )
% 2.51/1.49            = ( G @ ( product_Pair @ A @ B @ X5 @ Y4 ) ) )
% 2.51/1.49       => ( ( product_case_prod @ A @ B @ C @ F )
% 2.51/1.49          = G ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_206_case__prodD_H,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,C: $tType,R4: A > B > C > $o,A2: A,B2: B,C3: C] :
% 2.51/1.49        ( ( product_case_prod @ A @ B @ ( C > $o ) @ R4 @ ( product_Pair @ A @ B @ A2 @ B2 ) @ C3 )
% 2.51/1.49       => ( R4 @ A2 @ B2 @ C3 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_207_case__prodE_H,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,C: $tType,C3: A > B > C > $o,P2: product_prod @ A @ B,Z: C] :
% 2.51/1.49        ( ( product_case_prod @ A @ B @ ( C > $o ) @ C3 @ P2 @ Z )
% 2.51/1.49       => ~ ! [X5: A,Y4: B] :
% 2.51/1.49              ( ( P2
% 2.51/1.49                = ( product_Pair @ A @ B @ X5 @ Y4 ) )
% 2.51/1.49             => ~ ( C3 @ X5 @ Y4 @ Z ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_208_scomp__def,axiom,
% 2.51/1.49      ! [D: $tType,C: $tType,B: $tType,A: $tType] :
% 2.51/1.49        ( ( product_scomp @ A @ B @ C @ D )
% 2.51/1.49        = ( ^ [F4: A > ( product_prod @ B @ C ),G4: B > C > D,X4: A] : ( product_case_prod @ B @ C @ D @ G4 @ ( F4 @ X4 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_209_case__prod__Pair__iden,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,P2: product_prod @ A @ B] :
% 2.51/1.49        ( ( product_case_prod @ A @ B @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B ) @ P2 )
% 2.51/1.49        = P2 ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_210_case__prod__app,axiom,
% 2.51/1.49      ! [A: $tType,D: $tType,C: $tType,B: $tType] :
% 2.51/1.49        ( ( product_case_prod @ B @ C @ ( D > A ) )
% 2.51/1.49        = ( ^ [F4: B > C > D > A,X4: product_prod @ B @ C,Y5: D] :
% 2.51/1.49              ( product_case_prod @ B @ C @ A
% 2.51/1.49              @ ^ [L4: B,R3: C] : ( F4 @ L4 @ R3 @ Y5 )
% 2.51/1.49              @ X4 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_211_Collect__case__prod__mono,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,A6: A > B > $o,B6: A > B > $o] :
% 2.51/1.49        ( ( ord_less_eq @ ( A > B > $o ) @ A6 @ B6 )
% 2.51/1.49       => ( 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 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_212_prod_Ocase__eq__if,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType] :
% 2.51/1.49        ( ( product_case_prod @ A @ B @ C )
% 2.51/1.49        = ( ^ [F4: A > B > C,Prod3: product_prod @ A @ B] : ( F4 @ ( product_fst @ A @ B @ Prod3 ) @ ( product_snd @ A @ B @ Prod3 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_213_case__prod__beta,axiom,
% 2.51/1.49      ! [A: $tType,C: $tType,B: $tType] :
% 2.51/1.49        ( ( product_case_prod @ B @ C @ A )
% 2.51/1.49        = ( ^ [F4: B > C > A,P3: product_prod @ B @ C] : ( F4 @ ( product_fst @ B @ C @ P3 ) @ ( product_snd @ B @ C @ P3 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_214_internal__case__prod__def,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType] :
% 2.51/1.49        ( ( produc2004651681e_prod @ A @ B @ C )
% 2.51/1.49        = ( product_case_prod @ A @ B @ C ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_215_fstOp__in,axiom,
% 2.51/1.49      ! [B: $tType,C: $tType,A: $tType,Ac2: product_prod @ A @ B,P: A > C > $o,Q2: C > B > $o] :
% 2.51/1.49        ( ( member @ ( product_prod @ A @ B ) @ Ac2 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ ( relcompp @ A @ C @ B @ P @ Q2 ) ) ) )
% 2.51/1.49       => ( member @ ( product_prod @ A @ C ) @ ( bNF_fstOp @ A @ C @ B @ P @ Q2 @ Ac2 ) @ ( collect @ ( product_prod @ A @ C ) @ ( product_case_prod @ A @ C @ $o @ P ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_216_sndOp__in,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,C: $tType,Ac2: product_prod @ A @ B,P: A > C > $o,Q2: C > B > $o] :
% 2.51/1.49        ( ( member @ ( product_prod @ A @ B ) @ Ac2 @ ( collect @ ( product_prod @ A @ B ) @ ( product_case_prod @ A @ B @ $o @ ( relcompp @ A @ C @ B @ P @ Q2 ) ) ) )
% 2.51/1.49       => ( member @ ( product_prod @ C @ B ) @ ( bNF_sndOp @ A @ C @ B @ P @ Q2 @ Ac2 ) @ ( collect @ ( product_prod @ C @ B ) @ ( product_case_prod @ C @ B @ $o @ Q2 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_217_split__comp__eq,axiom,
% 2.51/1.49      ! [A: $tType,C: $tType,B: $tType,D: $tType,F: A > B > C,G: D > A] :
% 2.51/1.49        ( ( ^ [U: product_prod @ D @ B] : ( F @ ( G @ ( product_fst @ D @ B @ U ) ) @ ( product_snd @ D @ B @ U ) ) )
% 2.51/1.49        = ( product_case_prod @ D @ B @ C
% 2.51/1.49          @ ^ [X4: D] : ( F @ ( G @ X4 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_218_case__prod__beta_H,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType] :
% 2.51/1.49        ( ( product_case_prod @ A @ B @ C )
% 2.51/1.49        = ( ^ [F4: A > B > C,X4: product_prod @ A @ B] : ( F4 @ ( product_fst @ A @ B @ X4 ) @ ( product_snd @ A @ B @ X4 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_219_case__prod__unfold,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType] :
% 2.51/1.49        ( ( product_case_prod @ A @ B @ C )
% 2.51/1.49        = ( ^ [C5: A > B > C,P3: product_prod @ A @ B] : ( C5 @ ( product_fst @ A @ B @ P3 ) @ ( product_snd @ A @ B @ P3 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_220_exE__realizer,axiom,
% 2.51/1.49      ! [C: $tType,A: $tType,B: $tType,P: A > B > $o,P2: product_prod @ B @ A,Q2: C > $o,F: B > A > C] :
% 2.51/1.49        ( ( P @ ( product_snd @ B @ A @ P2 ) @ ( product_fst @ B @ A @ P2 ) )
% 2.51/1.49       => ( ! [X5: B,Y4: A] :
% 2.51/1.49              ( ( P @ Y4 @ X5 )
% 2.51/1.49             => ( Q2 @ ( F @ X5 @ Y4 ) ) )
% 2.51/1.49         => ( Q2 @ ( product_case_prod @ B @ A @ C @ F @ P2 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_221_split__cong,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType,Q: product_prod @ A @ B,F: A > B > C,G: A > B > C,P2: product_prod @ A @ B] :
% 2.51/1.49        ( ! [X5: A,Y4: B] :
% 2.51/1.49            ( ( ( product_Pair @ A @ B @ X5 @ Y4 )
% 2.51/1.49              = Q )
% 2.51/1.49           => ( ( F @ X5 @ Y4 )
% 2.51/1.49              = ( G @ X5 @ Y4 ) ) )
% 2.51/1.49       => ( ( P2 = Q )
% 2.51/1.49         => ( ( product_case_prod @ A @ B @ C @ F @ P2 )
% 2.51/1.49            = ( product_case_prod @ A @ B @ C @ G @ Q ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_222_heap__top__max,axiom,
% 2.51/1.49      ! [A: $tType] :
% 2.51/1.49        ( ( linorder @ A )
% 2.51/1.49       => ! [T3: tree @ A] :
% 2.51/1.49            ( ( T3
% 2.51/1.49             != ( e @ A ) )
% 2.51/1.49           => ( ( is_heap @ A @ T3 )
% 2.51/1.49             => ( ( val @ A @ T3 )
% 2.51/1.49                = ( lattic929149872er_Max @ A @ ( set_mset @ A @ ( multiset2 @ A @ T3 ) ) ) ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_223_curry__case__prod,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType,F: A > B > C] :
% 2.51/1.49        ( ( product_curry @ A @ B @ C @ ( product_case_prod @ A @ B @ C @ F ) )
% 2.51/1.49        = F ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_224_curryI,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,F: ( product_prod @ A @ B ) > $o,A2: A,B2: B] :
% 2.51/1.49        ( ( F @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 2.51/1.49       => ( product_curry @ A @ B @ $o @ F @ A2 @ B2 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_225_split__part,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,P: $o,Q2: A > B > $o] :
% 2.51/1.49        ( ( product_case_prod @ A @ B @ $o
% 2.51/1.49          @ ^ [A4: A,B4: B] :
% 2.51/1.49              ( P
% 2.51/1.49              & ( Q2 @ A4 @ B4 ) ) )
% 2.51/1.49        = ( ^ [Ab: product_prod @ A @ B] :
% 2.51/1.49              ( P
% 2.51/1.49              & ( product_case_prod @ A @ B @ $o @ Q2 @ Ab ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_226_curry__conv,axiom,
% 2.51/1.49      ! [A: $tType,C: $tType,B: $tType] :
% 2.51/1.49        ( ( product_curry @ B @ C @ A )
% 2.51/1.49        = ( ^ [F4: ( product_prod @ B @ C ) > A,A4: B,B4: C] : ( F4 @ ( product_Pair @ B @ C @ A4 @ B4 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_227_case__prod__curry,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType,F: ( product_prod @ A @ B ) > C] :
% 2.51/1.49        ( ( product_case_prod @ A @ B @ C @ ( product_curry @ A @ B @ C @ F ) )
% 2.51/1.49        = F ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_228_prod_Odisc__eq__case,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,Prod: product_prod @ A @ B] :
% 2.51/1.49        ( product_case_prod @ A @ B @ $o
% 2.51/1.49        @ ^ [Uu2: A,Uv2: B] : $true
% 2.51/1.49        @ Prod ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_229_curry__K,axiom,
% 2.51/1.49      ! [B: $tType,C: $tType,A: $tType,C3: C] :
% 2.51/1.49        ( ( product_curry @ A @ B @ C
% 2.51/1.49          @ ^ [X4: product_prod @ A @ B] : C3 )
% 2.51/1.49        = ( ^ [X4: A,Y5: B] : C3 ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_230_curryD,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,F: ( product_prod @ A @ B ) > $o,A2: A,B2: B] :
% 2.51/1.49        ( ( product_curry @ A @ B @ $o @ F @ A2 @ B2 )
% 2.51/1.49       => ( F @ ( product_Pair @ A @ B @ A2 @ B2 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_231_curryE,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,F: ( product_prod @ A @ B ) > $o,A2: A,B2: B] :
% 2.51/1.49        ( ( product_curry @ A @ B @ $o @ F @ A2 @ B2 )
% 2.51/1.49       => ( F @ ( product_Pair @ A @ B @ A2 @ B2 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_232_curry__def,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType] :
% 2.51/1.49        ( ( product_curry @ A @ B @ C )
% 2.51/1.49        = ( ^ [C5: ( product_prod @ A @ B ) > C,X4: A,Y5: B] : ( C5 @ ( product_Pair @ A @ B @ X4 @ Y5 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_233_fst__snd__flip,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType] :
% 2.51/1.49        ( ( product_fst @ A @ B )
% 2.51/1.49        = ( comp @ ( product_prod @ B @ A ) @ A @ ( product_prod @ A @ B ) @ ( product_snd @ B @ A )
% 2.51/1.49          @ ( product_case_prod @ A @ B @ ( product_prod @ B @ A )
% 2.51/1.49            @ ^ [X4: A,Y5: B] : ( product_Pair @ B @ A @ Y5 @ X4 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_234_snd__fst__flip,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType] :
% 2.51/1.49        ( ( product_snd @ B @ A )
% 2.51/1.49        = ( comp @ ( product_prod @ A @ B ) @ A @ ( product_prod @ B @ A ) @ ( product_fst @ A @ B )
% 2.51/1.49          @ ( product_case_prod @ B @ A @ ( product_prod @ A @ B )
% 2.51/1.49            @ ^ [X4: B,Y5: A] : ( product_Pair @ A @ B @ Y5 @ X4 ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_235_fst__fstOp,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,C: $tType,P: A > C > $o,Q2: C > B > $o] :
% 2.51/1.49        ( ( product_fst @ A @ B )
% 2.51/1.49        = ( comp @ ( product_prod @ A @ C ) @ A @ ( product_prod @ A @ B ) @ ( product_fst @ A @ C ) @ ( bNF_fstOp @ A @ C @ B @ P @ Q2 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_236_snd__sndOp,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,C: $tType,P: B > C > $o,Q2: C > A > $o] :
% 2.51/1.49        ( ( product_snd @ B @ A )
% 2.51/1.49        = ( comp @ ( product_prod @ C @ A ) @ A @ ( product_prod @ B @ A ) @ ( product_snd @ C @ A ) @ ( bNF_sndOp @ B @ C @ A @ P @ Q2 ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_237_comp__apply__eq,axiom,
% 2.51/1.49      ! [B: $tType,D: $tType,A: $tType,C: $tType,F: B > A,G: C > B,X: C,H: D > A,K: C > D] :
% 2.51/1.49        ( ( ( F @ ( G @ X ) )
% 2.51/1.49          = ( H @ ( K @ X ) ) )
% 2.51/1.49       => ( ( comp @ B @ A @ C @ F @ G @ X )
% 2.51/1.49          = ( comp @ D @ A @ C @ H @ K @ X ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_238_snd__comp__apsnd,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType,F: B > C] :
% 2.51/1.49        ( ( comp @ ( product_prod @ A @ C ) @ C @ ( product_prod @ A @ B ) @ ( product_snd @ A @ C ) @ ( product_apsnd @ B @ C @ A @ F ) )
% 2.51/1.49        = ( comp @ B @ C @ ( product_prod @ A @ B ) @ F @ ( product_snd @ A @ B ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_239_fst__comp__apfst,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType,F: A > C] :
% 2.51/1.49        ( ( comp @ ( product_prod @ C @ B ) @ C @ ( product_prod @ A @ B ) @ ( product_fst @ C @ B ) @ ( product_apfst @ A @ C @ B @ F ) )
% 2.51/1.49        = ( comp @ A @ C @ ( product_prod @ A @ B ) @ F @ ( product_fst @ A @ B ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_240_apfst__conv,axiom,
% 2.51/1.49      ! [C: $tType,A: $tType,B: $tType,F: C > A,X: C,Y: B] :
% 2.51/1.49        ( ( product_apfst @ C @ A @ B @ F @ ( product_Pair @ C @ B @ X @ Y ) )
% 2.51/1.49        = ( product_Pair @ A @ B @ ( F @ X ) @ Y ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_241_apsnd__conv,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,C: $tType,F: C > B,X: A,Y: C] :
% 2.51/1.49        ( ( product_apsnd @ C @ B @ A @ F @ ( product_Pair @ A @ C @ X @ Y ) )
% 2.51/1.49        = ( product_Pair @ A @ B @ X @ ( F @ Y ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_242_fst__apfst,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,C: $tType,F: C > A,X: product_prod @ C @ B] :
% 2.51/1.49        ( ( product_fst @ A @ B @ ( product_apfst @ C @ A @ B @ F @ X ) )
% 2.51/1.49        = ( F @ ( product_fst @ C @ B @ X ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_243_apfst__eq__conv,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,C: $tType,F: C > A,X: product_prod @ C @ B,G: C > A] :
% 2.51/1.49        ( ( ( product_apfst @ C @ A @ B @ F @ X )
% 2.51/1.49          = ( product_apfst @ C @ A @ B @ G @ X ) )
% 2.51/1.49        = ( ( F @ ( product_fst @ C @ B @ X ) )
% 2.51/1.49          = ( G @ ( product_fst @ C @ B @ X ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_244_snd__apfst,axiom,
% 2.51/1.49      ! [B: $tType,A: $tType,C: $tType,F: C > B,X: product_prod @ C @ A] :
% 2.51/1.49        ( ( product_snd @ B @ A @ ( product_apfst @ C @ B @ A @ F @ X ) )
% 2.51/1.49        = ( product_snd @ C @ A @ X ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_245_fst__apsnd,axiom,
% 2.51/1.49      ! [B: $tType,C: $tType,A: $tType,F: C > B,X: product_prod @ A @ C] :
% 2.51/1.49        ( ( product_fst @ A @ B @ ( product_apsnd @ C @ B @ A @ F @ X ) )
% 2.51/1.49        = ( product_fst @ A @ C @ X ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_246_apsnd__eq__conv,axiom,
% 2.51/1.49      ! [B: $tType,C: $tType,A: $tType,F: C > B,X: product_prod @ A @ C,G: C > B] :
% 2.51/1.49        ( ( ( product_apsnd @ C @ B @ A @ F @ X )
% 2.51/1.49          = ( product_apsnd @ C @ B @ A @ G @ X ) )
% 2.51/1.49        = ( ( F @ ( product_snd @ A @ C @ X ) )
% 2.51/1.49          = ( G @ ( product_snd @ A @ C @ X ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_247_snd__apsnd,axiom,
% 2.51/1.49      ! [A: $tType,C: $tType,B: $tType,F: C > A,X: product_prod @ B @ C] :
% 2.51/1.49        ( ( product_snd @ B @ A @ ( product_apsnd @ C @ A @ B @ F @ X ) )
% 2.51/1.49        = ( F @ ( product_snd @ B @ C @ X ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_248_snd__comp__apfst,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType,F: A > C] :
% 2.51/1.49        ( ( comp @ ( product_prod @ C @ B ) @ B @ ( product_prod @ A @ B ) @ ( product_snd @ C @ B ) @ ( product_apfst @ A @ C @ B @ F ) )
% 2.51/1.49        = ( product_snd @ A @ B ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_249_fst__comp__apsnd,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,A: $tType,F: B > C] :
% 2.51/1.49        ( ( comp @ ( product_prod @ A @ C ) @ A @ ( product_prod @ A @ B ) @ ( product_fst @ A @ C ) @ ( product_apsnd @ B @ C @ A @ F ) )
% 2.51/1.49        = ( product_fst @ A @ B ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_250_apfst__apsnd,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,D: $tType,C: $tType,F: C > A,G: D > B,X: product_prod @ C @ D] :
% 2.51/1.49        ( ( product_apfst @ C @ A @ B @ F @ ( product_apsnd @ D @ B @ C @ G @ X ) )
% 2.51/1.49        = ( product_Pair @ A @ B @ ( F @ ( product_fst @ C @ D @ X ) ) @ ( G @ ( product_snd @ C @ D @ X ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_251_apsnd__apfst,axiom,
% 2.51/1.49      ! [A: $tType,B: $tType,C: $tType,D: $tType,F: C > B,G: D > A,X: product_prod @ D @ C] :
% 2.51/1.49        ( ( product_apsnd @ C @ B @ A @ F @ ( product_apfst @ D @ A @ C @ G @ X ) )
% 2.51/1.49        = ( product_Pair @ A @ B @ ( G @ ( product_fst @ D @ C @ X ) ) @ ( F @ ( product_snd @ D @ C @ X ) ) ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_252_apsnd__compose,axiom,
% 2.51/1.49      ! [C: $tType,B: $tType,D: $tType,A: $tType,F: C > B,G: D > C,X: product_prod @ A @ D] :
% 2.51/1.49        ( ( product_apsnd @ C @ B @ A @ F @ ( product_apsnd @ D @ C @ A @ G @ X ) )
% 2.51/1.49        = ( product_apsnd @ D @ B @ A @ ( comp @ C @ B @ D @ F @ G ) @ X ) ) ).
% 2.51/1.49  
% 2.51/1.49  thf(fact_253_apfst__compose,axiom,
% 2.51/1.49      ! [C: $tType,A: $tType,B: $tType,D: $tType,F: C > A,G: D > C,X: product_prod @ D @ B] :
% 2.51/1.50        ( ( product_apfst @ C @ A @ B @ F @ ( product_apfst @ D @ C @ B @ G @ X ) )
% 2.51/1.50        = ( product_apfst @ D @ A @ B @ ( comp @ C @ A @ D @ F @ G ) @ X ) ) ).
% 2.51/1.50  
% 2.51/1.50  thf(fact_254_apsnd__apfst__commute,axiom,
% 2.51/1.50      ! [A: $tType,B: $tType,C: $tType,D: $tType,F: C > B,G: D > A,P2: product_prod @ D @ C] :
% 2.51/1.50        ( ( product_apsnd @ C @ B @ A @ F @ ( product_apfst @ D @ A @ C @ G @ P2 ) )
% 2.51/1.50        = ( product_apfst @ D @ A @ B @ G @ ( product_apsnd @ C @ B @ D @ F @ P2 ) ) ) ).
% 2.51/1.50  
% 2.51/1.50  thf(fact_255_case__prod__comp,axiom,
% 2.51/1.50      ! [D: $tType,A: $tType,C: $tType,B: $tType,F: D > C > A,G: B > D,X: product_prod @ B @ C] :
% 2.51/1.50        ( ( product_case_prod @ B @ C @ A @ ( comp @ D @ ( C > A ) @ B @ F @ G ) @ X )
% 2.51/1.50        = ( F @ ( G @ ( product_fst @ B @ C @ X ) ) @ ( product_snd @ B @ C @ X ) ) ) ).
% 2.51/1.50  
% 2.51/1.50  thf(subcl_Orderings_Olinorder___HOL_Otype,axiom,
% 2.51/1.50      ! [A: $tType] :
% 2.51/1.50        ( ( linorder @ A )
% 2.51/1.50       => ( type @ A ) ) ).
% 2.51/1.50  
% 2.51/1.50  thf(subcl_Orderings_Olinorder___Orderings_Oord,axiom,
% 2.51/1.50      ! [A: $tType] :
% 2.51/1.50        ( ( linorder @ A )
% 2.51/1.50       => ( ord @ A ) ) ).
% 2.51/1.50  
% 2.51/1.50  thf(subcl_Orderings_Olinorder___Orderings_Oorder,axiom,
% 2.51/1.50      ! [A: $tType] :
% 2.51/1.50        ( ( linorder @ A )
% 2.51/1.50       => ( order @ A ) ) ).
% 2.51/1.50  
% 2.51/1.50  thf(subcl_Orderings_Olinorder___Orderings_Opreorder,axiom,
% 2.51/1.50      ! [A: $tType] :
% 2.51/1.50        ( ( linorder @ A )
% 2.51/1.50       => ( preorder @ A ) ) ).
% 2.51/1.50  
% 2.51/1.50  thf(tcon_fun___Orderings_Opreorder,axiom,
% 2.51/1.50      ! [A8: $tType,A9: $tType] :
% 2.51/1.50        ( ( preorder @ A9 )
% 2.51/1.50       => ( preorder @ ( A8 > A9 ) ) ) ).
% 2.51/1.50  
% 2.51/1.50  thf(tcon_fun___Orderings_Oorder,axiom,
% 2.51/1.50      ! [A8: $tType,A9: $tType] :
% 2.51/1.50        ( ( order @ A9 )
% 2.51/1.50       => ( order @ ( A8 > A9 ) ) ) ).
% 2.51/1.50  
% 2.51/1.50  thf(tcon_fun___Orderings_Oord,axiom,
% 2.51/1.50      ! [A8: $tType,A9: $tType] :
% 2.51/1.50        ( ( ord @ A9 )
% 2.51/1.50       => ( ord @ ( A8 > A9 ) ) ) ).
% 2.51/1.50  
% 2.51/1.50  thf(tcon_Set_Oset___Orderings_Opreorder_1,axiom,
% 2.51/1.50      ! [A8: $tType] : ( preorder @ ( set @ A8 ) ) ).
% 2.51/1.50  
% 2.51/1.50  thf(tcon_Set_Oset___Orderings_Oorder_2,axiom,
% 2.51/1.50      ! [A8: $tType] : ( order @ ( set @ A8 ) ) ).
% 2.51/1.50  
% 2.51/1.50  thf(tcon_Set_Oset___Orderings_Oord_3,axiom,
% 2.51/1.50      ! [A8: $tType] : ( ord @ ( set @ A8 ) ) ).
% 2.51/1.50  
% 2.51/1.50  thf(tcon_HOL_Obool___Orderings_Opreorder_4,axiom,
% 2.51/1.50      preorder @ $o ).
% 2.51/1.50  
% 2.51/1.50  thf(tcon_HOL_Obool___Orderings_Olinorder,axiom,
% 2.51/1.50      linorder @ $o ).
% 2.51/1.50  
% 2.51/1.50  thf(tcon_HOL_Obool___Orderings_Oorder_5,axiom,
% 2.51/1.50      order @ $o ).
% 2.51/1.50  
% 2.51/1.50  thf(tcon_HOL_Obool___Orderings_Oord_6,axiom,
% 2.51/1.50      ord @ $o ).
% 2.51/1.50  
% 2.51/1.50  thf(tcon_Multiset_Omultiset___Orderings_Opreorder_7,axiom,
% 2.51/1.50      ! [A8: $tType] :
% 2.51/1.50        ( ( preorder @ A8 )
% 2.51/1.50       => ( preorder @ ( multiset @ A8 ) ) ) ).
% 2.51/1.50  
% 2.51/1.50  thf(tcon_Multiset_Omultiset___Orderings_Oorder_8,axiom,
% 2.51/1.50      ! [A8: $tType] :
% 2.51/1.50        ( ( preorder @ A8 )
% 2.51/1.50       => ( order @ ( multiset @ A8 ) ) ) ).
% 2.51/1.50  
% 2.51/1.50  thf(tcon_Multiset_Omultiset___Orderings_Oord_9,axiom,
% 2.51/1.50      ! [A8: $tType] :
% 2.51/1.50        ( ( preorder @ A8 )
% 2.51/1.50       => ( ord @ ( multiset @ A8 ) ) ) ).
% 2.51/1.50  
% 2.51/1.50  thf(help_If_3_1_T,axiom,
% 2.51/1.50      ! [P: $o] :
% 2.51/1.50        ( ( P = $true )
% 2.51/1.50        | ( P = $false ) ) ).
% 2.51/1.50  
% 2.51/1.50  thf(help_If_2_1_T,axiom,
% 2.51/1.50      ! [A: $tType,X: A,Y: A] :
% 2.51/1.50        ( ( if @ A @ $false @ X @ Y )
% 2.51/1.50        = Y ) ).
% 2.51/1.50  
% 2.51/1.50  thf(help_If_1_1_T,axiom,
% 2.51/1.50      ! [A: $tType,X: A,Y: A] :
% 2.51/1.50        ( ( if @ A @ $true @ X @ Y )
% 2.51/1.50        = X ) ).
% 2.51/1.50  
% 2.51/1.50  thf(tfree_0,hypothesis,
% 2.51/1.50      linorder @ a ).
% 2.51/1.50  
% 2.51/1.50  thf(conj_0,conjecture,
% 2.51/1.50      is_heap @ a @ ( product_snd @ a @ ( tree @ a ) @ ( heapIm970386777veLeaf @ a @ ( t @ a @ v @ ( e @ a ) @ ( e @ a ) ) ) ) ).
% 2.51/1.50  ------------------------
% 2.70/1.53  % (3174)lrs+10_1:1_c=on:cnfonf=conj_eager:fd=off:fe=off:kws=frequency:spb=intro:i=4:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/4Mi)
% 2.70/1.53  % (3176)lrs+10_1:1_au=on:inj=on:i=2:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/2Mi)
% 2.70/1.53  % (3173)lrs+1002_1:8_bd=off:fd=off:hud=10:tnu=1:i=183:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/183Mi)
% 2.70/1.53  % (3178)lrs+1002_1:1_au=on:bd=off:e2e=on:sd=2:sos=on:ss=axioms:i=275:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/275Mi)
% 2.70/1.53  % (3176)Instruction limit reached!
% 2.70/1.53  % (3176)------------------------------
% 2.70/1.53  % (3176)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.70/1.53  % (3176)Termination reason: Unknown
% 2.70/1.53  % (3176)Termination phase: shuffling
% 2.70/1.53  
% 2.70/1.53  % (3176)Memory used [KB]: 1407
% 2.70/1.53  % (3176)Time elapsed: 0.002 s
% 2.70/1.53  % (3176)Instructions burned: 2 (million)
% 2.70/1.53  % (3176)------------------------------
% 2.70/1.53  % (3176)------------------------------
% 2.70/1.53  % (3177)lrs+1002_1:128_aac=none:au=on:cnfonf=lazy_not_gen_be_off:sos=all:i=2:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/2Mi)
% 2.70/1.53  % (3174)Instruction limit reached!
% 2.70/1.53  % (3174)------------------------------
% 2.70/1.53  % (3174)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.70/1.53  % (3174)Termination reason: Unknown
% 2.70/1.53  % (3174)Termination phase: shuffling
% 2.70/1.53  
% 2.70/1.53  % (3174)Memory used [KB]: 1535
% 2.70/1.53  % (3174)Time elapsed: 0.003 s
% 2.70/1.53  % (3174)Instructions burned: 5 (million)
% 2.70/1.53  % (3174)------------------------------
% 2.70/1.53  % (3174)------------------------------
% 2.70/1.53  % (3177)Instruction limit reached!
% 2.70/1.53  % (3177)------------------------------
% 2.70/1.53  % (3177)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.70/1.53  % (3177)Termination reason: Unknown
% 2.70/1.53  % (3177)Termination phase: shuffling
% 2.70/1.53  
% 2.70/1.53  % (3177)Memory used [KB]: 1407
% 2.70/1.53  % (3177)Time elapsed: 0.002 s
% 2.70/1.53  % (3177)Instructions burned: 3 (million)
% 2.70/1.53  % (3177)------------------------------
% 2.70/1.53  % (3177)------------------------------
% 2.70/1.54  % (3179)lrs+1004_1:128_cond=on:e2e=on:sp=weighted_frequency:i=18:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/18Mi)
% 2.70/1.54  % (3175)dis+1010_1:1_au=on:cbe=off:chr=on:fsr=off:hfsq=on:nm=64:sos=theory:sp=weighted_frequency:i=27:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/27Mi)
% 2.70/1.54  % (3180)lrs+10_1:1_bet=on:cnfonf=off:fd=off:hud=5:inj=on:i=3:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/3Mi)
% 2.70/1.54  % (3180)Instruction limit reached!
% 2.70/1.54  % (3180)------------------------------
% 2.70/1.54  % (3180)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.70/1.54  % (3180)Termination reason: Unknown
% 2.70/1.54  % (3180)Termination phase: shuffling
% 2.70/1.54  
% 2.70/1.54  % (3180)Memory used [KB]: 1407
% 2.70/1.54  % (3180)Time elapsed: 0.002 s
% 2.70/1.54  % (3180)Instructions burned: 3 (million)
% 2.70/1.54  % (3180)------------------------------
% 2.70/1.54  % (3180)------------------------------
% 2.70/1.54  % (3182)lrs+2_16:1_acc=model:au=on:bd=off:c=on:e2e=on:nm=2:sos=all:i=15:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/15Mi)
% 2.70/1.55  % (3181)lrs+1002_1:1_cnfonf=lazy_not_be_gen:hud=14:prag=on:sp=weighted_frequency:tnu=1:i=37:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/37Mi)
% 2.70/1.55  % (3179)Instruction limit reached!
% 2.70/1.55  % (3179)------------------------------
% 2.70/1.55  % (3179)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.70/1.55  % (3179)Termination reason: Unknown
% 2.70/1.55  % (3179)Termination phase: shuffling
% 2.70/1.55  
% 2.70/1.55  % (3179)Memory used [KB]: 1918
% 2.70/1.55  % (3179)Time elapsed: 0.010 s
% 2.70/1.55  % (3179)Instructions burned: 19 (million)
% 2.70/1.55  % (3179)------------------------------
% 2.70/1.55  % (3179)------------------------------
% 2.70/1.55  % (3182)Instruction limit reached!
% 2.70/1.55  % (3182)------------------------------
% 2.70/1.55  % (3182)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.70/1.55  % (3182)Termination reason: Unknown
% 2.70/1.55  % (3182)Termination phase: shuffling
% 2.70/1.55  
% 2.70/1.55  % (3182)Memory used [KB]: 1791
% 2.70/1.55  % (3182)Time elapsed: 0.008 s
% 2.70/1.55  % (3182)Instructions burned: 17 (million)
% 2.70/1.55  % (3182)------------------------------
% 2.70/1.55  % (3182)------------------------------
% 2.70/1.55  % (3183)dis+21_1:1_cbe=off:cnfonf=off:fs=off:fsr=off:hud=1:inj=on:i=3:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/3Mi)
% 2.70/1.55  % (3183)Instruction limit reached!
% 2.70/1.55  % (3183)------------------------------
% 2.70/1.55  % (3183)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.70/1.55  % (3183)Termination reason: Unknown
% 2.70/1.55  % (3183)Termination phase: shuffling
% 2.70/1.55  
% 2.70/1.55  % (3183)Memory used [KB]: 1407
% 2.70/1.55  % (3183)Time elapsed: 0.002 s
% 2.70/1.55  % (3183)Instructions burned: 3 (million)
% 2.70/1.55  % (3183)------------------------------
% 2.70/1.55  % (3183)------------------------------
% 2.70/1.56  % (3181)Instruction limit reached!
% 2.70/1.56  % (3181)------------------------------
% 2.70/1.56  % (3181)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.70/1.56  % (3181)Termination reason: Unknown
% 2.70/1.56  % (3181)Termination phase: shuffling
% 2.70/1.56  
% 2.70/1.56  % (3181)Memory used [KB]: 2174
% 2.70/1.56  % (3181)Time elapsed: 0.012 s
% 2.70/1.56  % (3181)Instructions burned: 37 (million)
% 2.70/1.56  % (3181)------------------------------
% 2.70/1.56  % (3181)------------------------------
% 2.70/1.56  % (3184)lrs+1002_1:1_aac=none:au=on:cnfonf=lazy_gen:plsq=on:plsqc=1:plsqr=4203469,65536:i=1041:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/1041Mi)
% 2.70/1.56  % (3175)Instruction limit reached!
% 2.70/1.56  % (3175)------------------------------
% 2.70/1.56  % (3175)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.70/1.56  % (3175)Termination reason: Unknown
% 2.70/1.56  % (3175)Termination phase: shuffling
% 2.70/1.56  
% 2.70/1.56  % (3175)Memory used [KB]: 2046
% 2.70/1.56  % (3175)Time elapsed: 0.019 s
% 2.70/1.56  % (3175)Instructions burned: 27 (million)
% 2.70/1.56  % (3175)------------------------------
% 2.70/1.56  % (3175)------------------------------
% 2.70/1.56  % (3185)lrs+10_1:1_av=off:chr=on:plsq=on:slsq=on:i=7:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/7Mi)
% 2.70/1.56  % (3186)lrs+10_1:1_acc=on:amm=sco:cs=on:tgt=full:i=16:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/16Mi)
% 2.70/1.56  % (3185)Instruction limit reached!
% 2.70/1.56  % (3185)------------------------------
% 2.70/1.56  % (3185)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.70/1.56  % (3185)Termination reason: Unknown
% 2.70/1.56  % (3185)Termination phase: shuffling
% 2.70/1.56  
% 2.70/1.56  % (3185)Memory used [KB]: 1535
% 2.70/1.56  % (3185)Time elapsed: 0.005 s
% 2.70/1.56  % (3185)Instructions burned: 9 (million)
% 2.70/1.56  % (3185)------------------------------
% 2.70/1.56  % (3185)------------------------------
% 2.70/1.56  % (3187)lrs+21_1:1_au=on:cnfonf=off:fd=preordered:fe=off:fsr=off:hud=11:inj=on:kws=precedence:s2pl=no:sp=weighted_frequency:tgt=full:i=3:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/3Mi)
% 2.70/1.57  % (3187)Instruction limit reached!
% 2.70/1.57  % (3187)------------------------------
% 2.70/1.57  % (3187)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.70/1.57  % (3187)Termination reason: Unknown
% 2.70/1.57  % (3187)Termination phase: shuffling
% 2.70/1.57  
% 2.70/1.57  % (3187)Memory used [KB]: 1535
% 2.70/1.57  % (3187)Time elapsed: 0.002 s
% 2.70/1.57  % (3187)Instructions burned: 3 (million)
% 2.70/1.57  % (3187)------------------------------
% 2.70/1.57  % (3187)------------------------------
% 2.70/1.57  % (3186)Instruction limit reached!
% 2.70/1.57  % (3186)------------------------------
% 2.70/1.57  % (3186)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.70/1.57  % (3186)Termination reason: Unknown
% 2.70/1.57  % (3186)Termination phase: shuffling
% 2.70/1.57  
% 2.70/1.57  % (3186)Memory used [KB]: 1791
% 2.70/1.57  % (3186)Time elapsed: 0.006 s
% 2.70/1.57  % (3186)Instructions burned: 16 (million)
% 2.70/1.57  % (3186)------------------------------
% 2.70/1.57  % (3186)------------------------------
% 2.70/1.57  % (3189)lrs+10_1:1_cnfonf=off:cs=on:hud=3:prag=on:sup=off:i=7:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/7Mi)
% 2.70/1.57  % (3188)lrs+2_1:1_apa=on:au=on:bd=preordered:cnfonf=off:cs=on:ixr=off:sos=on:i=3:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/3Mi)
% 2.70/1.58  % (3190)dis+1002_1:1_add=large:cnfonf=lazy_pi_sigma_gen:fe=off:prag=on:i=3:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/3Mi)
% 2.70/1.58  % (3189)Instruction limit reached!
% 2.70/1.58  % (3189)------------------------------
% 2.70/1.58  % (3189)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.70/1.58  % (3189)Termination reason: Unknown
% 2.70/1.58  % (3189)Termination phase: shuffling
% 2.70/1.58  
% 2.70/1.58  % (3189)Memory used [KB]: 1535
% 2.70/1.58  % (3189)Time elapsed: 0.004 s
% 2.70/1.58  % (3189)Instructions burned: 7 (million)
% 2.70/1.58  % (3189)------------------------------
% 2.70/1.58  % (3189)------------------------------
% 2.70/1.58  % (3188)Instruction limit reached!
% 2.70/1.58  % (3188)------------------------------
% 2.70/1.58  % (3188)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.70/1.58  % (3188)Termination reason: Unknown
% 2.70/1.58  % (3188)Termination phase: shuffling
% 2.70/1.58  
% 2.70/1.58  % (3188)Memory used [KB]: 1407
% 2.70/1.58  % (3188)Time elapsed: 0.004 s
% 2.70/1.58  % (3188)Instructions burned: 3 (million)
% 2.70/1.58  % (3188)------------------------------
% 2.70/1.58  % (3188)------------------------------
% 2.70/1.58  % (3190)Instruction limit reached!
% 2.70/1.58  % (3190)------------------------------
% 2.70/1.58  % (3190)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.70/1.58  % (3190)Termination reason: Unknown
% 2.70/1.58  % (3190)Termination phase: shuffling
% 2.70/1.58  
% 2.70/1.58  % (3190)Memory used [KB]: 1407
% 2.70/1.58  % (3190)Time elapsed: 0.002 s
% 2.70/1.58  % (3190)Instructions burned: 4 (million)
% 2.70/1.58  % (3190)------------------------------
% 2.70/1.58  % (3190)------------------------------
% 2.70/1.58  % (3191)dis+1004_1:1_cha=on:cs=on:fe=off:hud=1:i=4:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/4Mi)
% 2.70/1.58  % (3191)Instruction limit reached!
% 2.70/1.58  % (3191)------------------------------
% 2.70/1.58  % (3191)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.70/1.58  % (3191)Termination reason: Unknown
% 2.70/1.58  % (3191)Termination phase: shuffling
% 2.70/1.58  
% 2.70/1.58  % (3191)Memory used [KB]: 1535
% 2.70/1.58  % (3191)Time elapsed: 0.003 s
% 2.70/1.58  % (3191)Instructions burned: 6 (million)
% 2.70/1.58  % (3191)------------------------------
% 2.70/1.58  % (3191)------------------------------
% 2.70/1.58  % (3178)First to succeed.
% 2.70/1.59  % (3192)lrs+1002_1:1_anc=all_dependent:au=on:cbe=off:fde=unused:ntd=on:i=18:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/18Mi)
% 2.70/1.59  % (3173)Instruction limit reached!
% 2.70/1.59  % (3173)------------------------------
% 2.70/1.59  % (3173)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.70/1.59  % (3173)Termination reason: Unknown
% 2.70/1.59  % (3173)Termination phase: Saturation
% 2.70/1.59  
% 2.70/1.59  % (3173)Memory used [KB]: 7547
% 2.70/1.59  % (3173)Time elapsed: 0.055 s
% 2.70/1.59  % (3173)Instructions burned: 186 (million)
% 2.70/1.59  % (3173)------------------------------
% 2.70/1.59  % (3173)------------------------------
% 2.70/1.59  % (3193)lrs+10_1:1_e2e=on:sd=1:sgt=8:ss=axioms:i=710:si=on:rtra=on_0 on DTF2THF_3067 for (2999ds/710Mi)
% 2.70/1.59  % (3178)Refutation found. Thanks to Tanya!
% 2.70/1.59  % SZS status Theorem for DTF2THF_3067
% 2.70/1.59  % SZS output start Proof for DTF2THF_3067
% 2.70/1.59  thf(type_def_5, type, product_prod: ($tType * $tType) > $tType).
% 2.70/1.59  thf(type_def_6, type, set: ($tType) > $tType).
% 2.70/1.59  thf(type_def_8, type, tree: ($tType) > $tType).
% 2.70/1.59  thf(type_def_9, type, list: ($tType) > $tType).
% 2.70/1.59  thf(type_def_10, type, multiset: ($tType) > $tType).
% 2.70/1.59  thf(type_def_11, type, a: $tType).
% 2.70/1.59  thf(func_def_0, type, product_prod: ($tType * $tType) > $tType).
% 2.70/1.59  thf(func_def_1, type, multiset: ($tType) > $tType).
% 2.70/1.59  thf(func_def_2, type, list: ($tType) > $tType).
% 2.70/1.59  thf(func_def_3, type, tree: ($tType) > $tType).
% 2.70/1.59  thf(func_def_4, type, set: ($tType) > $tType).
% 2.70/1.59  thf(func_def_5, type, a: $tType).
% 2.70/1.59  thf(func_def_6, type, type: !>[X0: $tType]:($o)).
% 2.70/1.59  thf(func_def_7, type, ord: !>[X0: $tType]:($o)).
% 2.70/1.59  thf(func_def_8, type, order: !>[X0: $tType]:($o)).
% 2.70/1.59  thf(func_def_9, type, linorder: !>[X0: $tType]:($o)).
% 2.70/1.59  thf(func_def_10, type, preorder: !>[X0: $tType]:($o)).
% 2.70/1.59  thf(func_def_11, type, bNF_Ca1785829860lChain: !>[X0: $tType, X1: $tType]:(set @ product_prod @ X0 @ X0 > (X0 > X1) > $o)).
% 2.70/1.59  thf(func_def_12, type, bNF_csquare: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:(set @ X0 > (X1 > X2) > (X3 > X2) > (X0 > X1) > (X0 > X3) > $o)).
% 2.70/1.59  thf(func_def_13, type, bNF_fstOp: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > $o) > (X1 > X2 > $o) > product_prod @ X0 @ X2 > product_prod @ X0 @ X1)).
% 2.70/1.59  thf(func_def_14, type, bNF_pick_middlep: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > $o) > (X1 > X2 > $o) > X0 > X2 > X1)).
% 2.70/1.59  thf(func_def_15, type, bNF_sndOp: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > $o) > (X1 > X2 > $o) > product_prod @ X0 @ X2 > product_prod @ X1 @ X2)).
% 2.70/1.59  thf(func_def_16, type, bNF_Greatest_image2: !>[X0: $tType, X1: $tType, X2: $tType]:(set @ X0 > (X0 > X1) > (X0 > X2) > set @ product_prod @ X1 @ X2)).
% 2.70/1.59  thf(func_def_17, type, comp: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1) > (X2 > X0) > X2 > X1)).
% 2.70/1.59  thf(func_def_18, type, heapIm818251801eapify: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_19, type, heapIm721255937_empty: !>[X0: $tType]:(tree @ X0 > $o)).
% 2.70/1.59  thf(func_def_20, type, heapIm1542349758ve_max: !>[X0: $tType]:(tree @ X0 > product_prod @ X0 @ tree @ X0)).
% 2.70/1.59  thf(func_def_21, type, heapIm1271749598e_left: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_22, type, heapIm970386777veLeaf: !>[X0: $tType]:(tree @ X0 > product_prod @ X0 @ tree @ X0)).
% 2.70/1.59  thf(func_def_23, type, heapIm1434396069_right: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_24, type, heapIm748920189ftDown: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_25, type, heap: !>[X0: $tType, X1: $tType]:(X0 > (X0 > $o) > (list @ X1 > X0) > (X0 > multiset @ X1) > (X0 > tree @ X1) > (X0 > product_prod @ X1 @ X0) > $o)).
% 2.70/1.59  thf(func_def_26, type, heap_axioms: !>[X0: $tType, X1: $tType]:((X0 > $o) > (list @ X1 > X0) > (X0 > multiset @ X1) > (X0 > tree @ X1) > (X0 > product_prod @ X1 @ X0) > $o)).
% 2.70/1.59  thf(func_def_27, type, e: !>[X0: $tType]:(tree @ X0)).
% 2.70/1.59  thf(func_def_28, type, t: !>[X0: $tType]:(X0 > tree @ X0 > tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_29, type, in_tree: !>[X0: $tType]:(X0 > tree @ X0 > $o)).
% 2.70/1.59  thf(func_def_30, type, is_heap: !>[X0: $tType]:(tree @ X0 > $o)).
% 2.70/1.59  thf(func_def_31, type, multiset2: !>[X0: $tType]:(tree @ X0 > multiset @ X0)).
% 2.70/1.59  thf(func_def_32, type, val: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_33, type, if: !>[X0: $tType]:($o > X0 > X0 > X0)).
% 2.70/1.59  thf(func_def_34, type, lattic929149872er_Max: !>[X0: $tType]:(set @ X0 > X0)).
% 2.70/1.59  thf(func_def_35, type, add_mset: !>[X0: $tType]:(X0 > multiset @ X0 > multiset @ X0)).
% 2.70/1.59  thf(func_def_36, type, set_mset: !>[X0: $tType]:(multiset @ X0 > set @ X0)).
% 2.70/1.59  thf(func_def_37, type, ord_less_eq: !>[X0: $tType]:(X0 > X0 > $o)).
% 2.70/1.59  thf(func_def_38, type, order_Greatest: !>[X0: $tType]:((X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_39, type, product_Pair: !>[X0: $tType, X1: $tType]:(X0 > X1 > product_prod @ X0 @ X1)).
% 2.70/1.59  thf(func_def_40, type, product_apfst: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1) > product_prod @ X0 @ X2 > product_prod @ X1 @ X2)).
% 2.70/1.59  thf(func_def_41, type, product_apsnd: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1) > product_prod @ X2 @ X0 > product_prod @ X2 @ X1)).
% 2.70/1.59  thf(func_def_42, type, product_curry: !>[X0: $tType, X1: $tType, X2: $tType]:((product_prod @ X0 @ X1 > X2) > X0 > X1 > X2)).
% 2.70/1.59  thf(func_def_43, type, produc2004651681e_prod: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > X2) > product_prod @ X0 @ X1 > X2)).
% 2.70/1.59  thf(func_def_44, type, product_rec_prod: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > X2) > product_prod @ X0 @ X1 > X2)).
% 2.70/1.59  thf(func_def_45, type, product_case_prod: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > X2) > product_prod @ X0 @ X1 > X2)).
% 2.70/1.59  thf(func_def_46, type, product_fst: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X0)).
% 2.70/1.59  thf(func_def_47, type, product_snd: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X1)).
% 2.70/1.59  thf(func_def_48, type, product_swap: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > product_prod @ X1 @ X0)).
% 2.70/1.59  thf(func_def_49, type, product_scomp: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:((X0 > product_prod @ X1 @ X2) > (X1 > X2 > X3) > X0 > X3)).
% 2.70/1.59  thf(func_def_50, type, powp: !>[X0: $tType]:((X0 > $o) > set @ X0 > $o)).
% 2.70/1.59  thf(func_def_51, type, relcompp: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > $o) > (X1 > X2 > $o) > X0 > X2 > $o)).
% 2.70/1.59  thf(func_def_52, type, collection: !>[X0: $tType, X1: $tType]:(X0 > (X0 > $o) > (list @ X1 > X0) > (X0 > multiset @ X1) > $o)).
% 2.70/1.59  thf(func_def_53, type, collect: !>[X0: $tType]:((X0 > $o) > set @ X0)).
% 2.70/1.59  thf(func_def_54, type, member: !>[X0: $tType]:(X0 > set @ X0 > $o)).
% 2.70/1.59  thf(func_def_55, type, t2: tree @ a).
% 2.70/1.59  thf(func_def_56, type, v: a).
% 2.70/1.59  thf(func_def_74, type, sP0: !>[X0: $tType]:((tree @ X0 > $o) > $o)).
% 2.70/1.59  thf(func_def_75, type, sP1: !>[X0: $tType]:((tree @ X0 > $o) > $o)).
% 2.70/1.59  thf(func_def_76, type, sP2: !>[X0: $tType]:((tree @ X0 > $o) > $o)).
% 2.70/1.59  thf(func_def_77, type, sP3: !>[X0: $tType]:(X0 > X0 > X0 > $o)).
% 2.70/1.59  thf(func_def_78, type, sP4: !>[X0: $tType]:(X0 > X0 > X0 > $o)).
% 2.70/1.59  thf(func_def_79, type, sP5: !>[X0: $tType]:(X0 > X0 > X0 > $o)).
% 2.70/1.59  thf(func_def_80, type, sK6: !>[X0: $tType, X1: $tType]:((product_prod @ X1 @ X0 > $o) > X1)).
% 2.70/1.59  thf(func_def_81, type, sK7: !>[X0: $tType, X1: $tType]:((product_prod @ X1 @ X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_82, type, sK8: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ X0 @ product_prod @ X1 @ X2 > X0)).
% 2.70/1.59  thf(func_def_83, type, sK9: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ X0 @ product_prod @ X1 @ X2 > X1)).
% 2.70/1.59  thf(func_def_84, type, sK10: !>[X0: $tType, X1: $tType, X2: $tType]:(product_prod @ X0 @ product_prod @ X1 @ X2 > X2)).
% 2.70/1.59  thf(func_def_85, type, sK11: !>[X0: $tType, X1: $tType]:(product_prod @ X1 @ X0 > X0 > X1)).
% 2.70/1.59  thf(func_def_86, type, sK12: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X4)).
% 2.70/1.59  thf(func_def_87, type, sK13: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X3)).
% 2.70/1.59  thf(func_def_88, type, sK14: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 2.70/1.59  thf(func_def_89, type, sK15: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 2.70/1.59  thf(func_def_90, type, sK16: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:((product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_91, type, sK17: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_92, type, sK18: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.70/1.59  thf(func_def_93, type, sK19: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.70/1.59  thf(func_def_94, type, sK20: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X5)).
% 2.70/1.59  thf(func_def_95, type, sK21: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X4)).
% 2.70/1.59  thf(func_def_96, type, sK22: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X3)).
% 2.70/1.59  thf(func_def_97, type, sK23: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 2.70/1.59  thf(func_def_98, type, sK24: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 2.70/1.59  thf(func_def_99, type, sK25: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:((product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_100, type, sK26: !>[X0: $tType]:((X0 > X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_101, type, sK27: !>[X0: $tType]:((X0 > X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_102, type, sK28: !>[X0: $tType]:((X0 > X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_103, type, sK29: !>[X0: $tType]:((X0 > X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_104, type, sK30: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X0)).
% 2.70/1.59  thf(func_def_105, type, sK31: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X1)).
% 2.70/1.59  thf(func_def_106, type, sK32: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_107, type, sK33: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_108, type, sK34: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.70/1.59  thf(func_def_109, type, sK35: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.70/1.59  thf(func_def_110, type, sK36: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_111, type, sK37: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_112, type, sK38: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.70/1.59  thf(func_def_113, type, sK39: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.70/1.59  thf(func_def_114, type, sK40: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_115, type, sK41: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.70/1.59  thf(func_def_116, type, sK42: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.70/1.59  thf(func_def_117, type, sK43: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_118, type, sK44: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_119, type, sK45: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.70/1.59  thf(func_def_120, type, sK46: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.70/1.59  thf(func_def_121, type, sK47: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_122, type, sK48: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.70/1.59  thf(func_def_123, type, sK49: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.70/1.59  thf(func_def_124, type, sK50: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_125, type, sK51: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_126, type, sK52: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.70/1.59  thf(func_def_127, type, sK53: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.70/1.59  thf(func_def_128, type, sK54: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_129, type, sK55: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X6)).
% 2.70/1.59  thf(func_def_130, type, sK56: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X5)).
% 2.70/1.59  thf(func_def_131, type, sK57: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X4)).
% 2.70/1.59  thf(func_def_132, type, sK58: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X3)).
% 2.70/1.59  thf(func_def_133, type, sK59: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 2.70/1.59  thf(func_def_134, type, sK60: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 2.70/1.59  thf(func_def_135, type, sK61: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:((product_prod @ X6 @ product_prod @ X5 @ product_prod @ X4 @ product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_136, type, sK62: !>[X0: $tType, X1: $tType]:((X1 > X0) > (X1 > X0) > X1)).
% 2.70/1.59  thf(func_def_137, type, sK63: !>[X0: $tType]:((X0 > $o) > (X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_138, type, sK64: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X0)).
% 2.70/1.59  thf(func_def_139, type, sK65: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X1)).
% 2.70/1.59  thf(func_def_140, type, sK66: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X0)).
% 2.70/1.59  thf(func_def_141, type, sK67: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X1)).
% 2.70/1.59  thf(func_def_142, type, sK68: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X2)).
% 2.70/1.59  thf(func_def_143, type, sK69: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X3)).
% 2.70/1.59  thf(func_def_144, type, sK70: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ X4 > X4)).
% 2.70/1.59  thf(func_def_145, type, sK71: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X0)).
% 2.70/1.59  thf(func_def_146, type, sK72: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X1)).
% 2.70/1.59  thf(func_def_147, type, sK73: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X2)).
% 2.70/1.59  thf(func_def_148, type, sK74: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X3)).
% 2.70/1.59  thf(func_def_149, type, sK75: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X4)).
% 2.70/1.59  thf(func_def_150, type, sK76: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ X5 > X5)).
% 2.70/1.59  thf(func_def_151, type, sK77: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ X3 > X0)).
% 2.70/1.59  thf(func_def_152, type, sK78: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ X3 > X1)).
% 2.70/1.59  thf(func_def_153, type, sK79: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ X3 > X2)).
% 2.70/1.59  thf(func_def_154, type, sK80: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ X3 > X3)).
% 2.70/1.59  thf(func_def_155, type, sK81: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_156, type, sK82: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_157, type, sK83: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_158, type, sK84: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_159, type, sK85: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_160, type, sK86: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_161, type, sK87: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_162, type, sK88: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_163, type, sK89: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_164, type, sK90: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_165, type, sK91: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_166, type, sK92: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_167, type, sK93: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_168, type, sK94: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_169, type, sK95: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_170, type, sK96: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_171, type, sK97: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_172, type, sK98: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_173, type, sK99: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_174, type, sK100: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_175, type, sK101: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_176, type, sK102: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_177, type, sK103: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_178, type, sK104: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_179, type, sK105: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_180, type, sK106: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_181, type, sK107: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_182, type, sK108: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_183, type, sK109: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_184, type, sK110: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_185, type, sK111: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_186, type, sK112: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_187, type, sK113: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_188, type, sK114: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_189, type, sK115: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_190, type, sK116: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_191, type, sK117: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_192, type, sK118: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_193, type, sK119: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_194, type, sK120: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_195, type, sK121: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_196, type, sK122: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_197, type, sK123: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_198, type, sK124: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_199, type, sK125: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_200, type, sK126: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_201, type, sK127: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_202, type, sK128: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_203, type, sK129: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_204, type, sK130: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_205, type, sK131: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_206, type, sK132: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_207, type, sK133: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_208, type, sK134: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_209, type, sK135: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_210, type, sK136: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.70/1.59  thf(func_def_211, type, sK137: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_212, type, sK138: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.70/1.59  thf(func_def_213, type, sK139: !>[X0: $tType, X1: $tType]:((X1 > X0 > $o) > (X1 > X0 > $o) > X1)).
% 2.70/1.59  thf(func_def_214, type, sK140: !>[X0: $tType, X1: $tType]:((X1 > X0 > $o) > (X1 > X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_215, type, sK141: !>[X0: $tType, X1: $tType]:(product_prod @ X0 @ X1 > X0 > X1)).
% 2.70/1.59  thf(func_def_216, type, sK142: !>[X0: $tType, X1: $tType, X2: $tType]:((product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 2.70/1.59  thf(func_def_217, type, sK143: !>[X0: $tType, X1: $tType, X2: $tType]:((product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 2.70/1.59  thf(func_def_218, type, sK144: !>[X0: $tType, X1: $tType, X2: $tType]:((product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_219, type, sK145: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:((product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X3)).
% 2.70/1.59  thf(func_def_220, type, sK146: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:((product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X2)).
% 2.70/1.59  thf(func_def_221, type, sK147: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:((product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X1)).
% 2.70/1.59  thf(func_def_222, type, sK148: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType]:((product_prod @ X3 @ product_prod @ X2 @ product_prod @ X1 @ X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_223, type, sK149: !>[X0: $tType, X1: $tType]:((X0 > X1 > $o) > X1)).
% 2.70/1.59  thf(func_def_224, type, sK150: !>[X0: $tType, X1: $tType]:((X0 > X1 > $o) > X0)).
% 2.70/1.59  thf(func_def_225, type, sK151: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X0)).
% 2.70/1.59  thf(func_def_226, type, sK152: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X1)).
% 2.70/1.59  thf(func_def_227, type, sK153: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X2)).
% 2.70/1.59  thf(func_def_228, type, sK154: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X3)).
% 2.70/1.59  thf(func_def_229, type, sK155: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X4)).
% 2.70/1.59  thf(func_def_230, type, sK156: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X5)).
% 2.70/1.59  thf(func_def_231, type, sK157: !>[X0: $tType, X1: $tType, X2: $tType, X3: $tType, X4: $tType, X5: $tType, X6: $tType]:(product_prod @ X0 @ product_prod @ X1 @ product_prod @ X2 @ product_prod @ X3 @ product_prod @ X4 @ product_prod @ X5 @ X6 > X6)).
% 2.70/1.59  thf(func_def_232, type, sK158: !>[X0: $tType, X1: $tType]:((product_prod @ X1 @ X0 > $o) > X1)).
% 2.70/1.59  thf(func_def_233, type, sK159: !>[X0: $tType, X1: $tType]:((product_prod @ X1 @ X0 > $o) > X0)).
% 2.70/1.59  thf(func_def_235, type, ph161: !>[X0: $tType]:(X0)).
% 2.70/1.59  thf(f1077,plain,(
% 2.70/1.59    $false),
% 2.70/1.59    inference(subsumption_resolution,[status(thm)],[f1076,f925])).
% 2.70/1.59  thf(f925,plain,(
% 2.70/1.59    (linorder @ a = $true)),
% 2.70/1.59    inference(cnf_transformation,[status(thm)],[f564])).
% 2.70/1.59  thf(f564,plain,(
% 2.70/1.59    (linorder @ a = $true)),
% 2.70/1.59    inference(fool_elimination,[status(thm)],[f563])).
% 2.70/1.59  thf(f563,plain,(
% 2.70/1.59    linorder @ a),
% 2.70/1.59    inference(rectify,[status(thm)],[f277])).
% 2.70/1.59  thf(f277,axiom,(
% 2.70/1.59    linorder @ a),
% 2.70/1.59    file('/export/starexec/sandbox/tmp/tmp.vmZgni0Phd/DTF2THF_3067.p',tfree_0)).
% 2.70/1.59  thf(f1076,plain,(
% 2.70/1.59    (linorder @ a != $true)),
% 2.70/1.59    inference(trivial_inequality_removal,[status(thm)],[f1075])).
% 2.70/1.59  thf(f1075,plain,(
% 2.70/1.59    (linorder @ a != $true) | ($true != $true)),
% 2.70/1.59    inference(superposition,[status(thm)],[f1074,f927])).
% 2.70/1.59  thf(f927,plain,(
% 2.70/1.59    ( ! [X0 : $tType] : (((is_heap @ X0 @ e @ X0) = $true) | (linorder @ X0 != $true)) )),
% 2.70/1.59    inference(cnf_transformation,[status(thm)],[f754])).
% 2.70/1.59  thf(f754,plain,(
% 2.70/1.59    ! [X0 : $tType] : (((is_heap @ X0 @ e @ X0) = $true) | (linorder @ X0 != $true))),
% 2.70/1.59    inference(ennf_transformation,[status(thm)],[f606])).
% 2.70/1.59  thf(f606,plain,(
% 2.70/1.59    ! [X0 : $tType] : ((linorder @ X0 = $true) => ((is_heap @ X0 @ e @ X0) = $true))),
% 2.70/1.59    inference(fool_elimination,[status(thm)],[f605])).
% 2.70/1.59  thf(f605,plain,(
% 2.70/1.59    ! [X0 : $tType] : (linorder @ X0 => (is_heap @ X0 @ e @ X0))),
% 2.70/1.59    inference(rectify,[status(thm)],[f11])).
% 2.70/1.59  thf(f11,axiom,(
% 2.70/1.59    ! [X0 : $tType] : (linorder @ X0 => (is_heap @ X0 @ e @ X0))),
% 2.70/1.59    file('/export/starexec/sandbox/tmp/tmp.vmZgni0Phd/DTF2THF_3067.p',fact_10_is__heap_Osimps_I1_J)).
% 2.70/1.59  thf(f1074,plain,(
% 2.70/1.59    ($true != (is_heap @ a @ e @ a))),
% 2.70/1.59    inference(forward_demodulation,[status(thm)],[f1073,f1011])).
% 2.70/1.59  thf(f1011,plain,(
% 2.70/1.59    ( ! [X1 : $tType,X0 : $tType,X2 : X0,X3 : X1] : (((product_snd @ X0 @ X1 @ (product_Pair @ X0 @ X1 @ X2 @ X3)) = X3)) )),
% 2.70/1.59    inference(cnf_transformation,[status(thm)],[f716])).
% 2.70/1.59  thf(f716,plain,(
% 2.70/1.59    ! [X0 : $tType,X1 : $tType,X2 : X0,X3 : X1] : ((product_snd @ X0 @ X1 @ (product_Pair @ X0 @ X1 @ X2 @ X3)) = X3)),
% 2.70/1.59    inference(rectify,[status(thm)],[f26])).
% 2.70/1.59  thf(f26,axiom,(
% 2.70/1.59    ! [X46 : $tType,X0 : $tType,X36 : X46,X37 : X0] : ((product_snd @ X46 @ X0 @ (product_Pair @ X46 @ X0 @ X36 @ X37)) = X37)),
% 2.70/1.59    file('/export/starexec/sandbox/tmp/tmp.vmZgni0Phd/DTF2THF_3067.p',fact_25_snd__conv)).
% 2.70/1.59  thf(f1073,plain,(
% 2.70/1.59    ((is_heap @ a @ (product_snd @ a @ tree @ a @ (product_Pair @ a @ tree @ a @ v @ e @ a))) != $true)),
% 2.70/1.59    inference(subsumption_resolution,[status(thm)],[f1072,f925])).
% 2.70/1.59  thf(f1072,plain,(
% 2.70/1.59    ((is_heap @ a @ (product_snd @ a @ tree @ a @ (product_Pair @ a @ tree @ a @ v @ e @ a))) != $true) | (linorder @ a != $true)),
% 2.70/1.59    inference(superposition,[status(thm)],[f989,f1040])).
% 2.70/1.59  thf(f1040,plain,(
% 2.70/1.59    ( ! [X0 : $tType,X1 : X0] : (((product_Pair @ X0 @ tree @ X0 @ X1 @ e @ X0) = (heapIm970386777veLeaf @ X0 @ (t @ X0 @ X1 @ e @ X0 @ e @ X0))) | (linorder @ X0 != $true)) )),
% 2.70/1.59    inference(cnf_transformation,[status(thm)],[f770])).
% 2.70/1.59  thf(f770,plain,(
% 2.70/1.59    ! [X0 : $tType] : (! [X1 : X0] : ((product_Pair @ X0 @ tree @ X0 @ X1 @ e @ X0) = (heapIm970386777veLeaf @ X0 @ (t @ X0 @ X1 @ e @ X0 @ e @ X0))) | (linorder @ X0 != $true))),
% 2.70/1.59    inference(ennf_transformation,[status(thm)],[f552])).
% 2.70/1.59  thf(f552,plain,(
% 2.70/1.59    ! [X0 : $tType] : ((linorder @ X0 = $true) => ! [X1 : X0] : ((product_Pair @ X0 @ tree @ X0 @ X1 @ e @ X0) = (heapIm970386777veLeaf @ X0 @ (t @ X0 @ X1 @ e @ X0 @ e @ X0))))),
% 2.70/1.59    inference(fool_elimination,[status(thm)],[f551])).
% 2.70/1.59  thf(f551,plain,(
% 2.70/1.59    ! [X0 : $tType] : (linorder @ X0 => ! [X1 : X0] : ((product_Pair @ X0 @ tree @ X0 @ X1 @ e @ X0) = (heapIm970386777veLeaf @ X0 @ (t @ X0 @ X1 @ e @ X0 @ e @ X0))))),
% 2.70/1.59    inference(rectify,[status(thm)],[f17])).
% 2.70/1.59  thf(f17,axiom,(
% 2.70/1.59    ! [X0 : $tType] : (linorder @ X0 => ! [X15 : X0] : ((heapIm970386777veLeaf @ X0 @ (t @ X0 @ X15 @ e @ X0 @ e @ X0)) = (product_Pair @ X0 @ tree @ X0 @ X15 @ e @ X0)))),
% 2.70/1.59    file('/export/starexec/sandbox/tmp/tmp.vmZgni0Phd/DTF2THF_3067.p',fact_16_removeLeaf_Osimps_I1_J)).
% 2.70/1.59  thf(f989,plain,(
% 2.70/1.59    ((is_heap @ a @ (product_snd @ a @ tree @ a @ (heapIm970386777veLeaf @ a @ (t @ a @ v @ e @ a @ e @ a)))) != $true)),
% 2.70/1.59    inference(cnf_transformation,[status(thm)],[f709])).
% 2.70/1.59  thf(f709,plain,(
% 2.70/1.59    ((is_heap @ a @ (product_snd @ a @ tree @ a @ (heapIm970386777veLeaf @ a @ (t @ a @ v @ e @ a @ e @ a)))) != $true)),
% 2.70/1.59    inference(flattening,[status(thm)],[f594])).
% 2.70/1.59  thf(f594,plain,(
% 2.70/1.59    ~((is_heap @ a @ (product_snd @ a @ tree @ a @ (heapIm970386777veLeaf @ a @ (t @ a @ v @ e @ a @ e @ a)))) = $true)),
% 2.70/1.59    inference(fool_elimination,[status(thm)],[f593])).
% 2.70/1.59  thf(f593,plain,(
% 2.70/1.59    ~(is_heap @ a @ (product_snd @ a @ tree @ a @ (heapIm970386777veLeaf @ a @ (t @ a @ v @ e @ a @ e @ a))))),
% 2.70/1.59    inference(rectify,[status(thm)],[f279])).
% 2.70/1.59  thf(f279,negated_conjecture,(
% 2.70/1.59    ~(is_heap @ a @ (product_snd @ a @ tree @ a @ (heapIm970386777veLeaf @ a @ (t @ a @ v @ e @ a @ e @ a))))),
% 2.70/1.59    inference(negated_conjecture,[status(cth)],[f278])).
% 2.70/1.59  thf(f278,conjecture,(
% 2.70/1.59    (is_heap @ a @ (product_snd @ a @ tree @ a @ (heapIm970386777veLeaf @ a @ (t @ a @ v @ e @ a @ e @ a))))),
% 2.70/1.59    file('/export/starexec/sandbox/tmp/tmp.vmZgni0Phd/DTF2THF_3067.p',conj_0)).
% 2.70/1.59  % SZS output end Proof for DTF2THF_3067
% 2.70/1.59  % (3178)------------------------------
% 2.70/1.59  % (3178)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.70/1.59  % (3178)Termination reason: Refutation
% 2.70/1.59  
% 2.70/1.59  % (3178)Memory used [KB]: 7419
% 2.70/1.59  % (3178)Time elapsed: 0.054 s
% 2.70/1.59  % (3178)Instructions burned: 113 (million)
% 2.70/1.59  % (3178)------------------------------
% 2.70/1.59  % (3178)------------------------------
% 2.70/1.59  % (3172)Success in time 0.074 s
%------------------------------------------------------------------------------