↑ Up

DT2H2X---1.9.5.THM-Ref.s

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

% Computer : n028.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:18 AM UTC 2026

% Result   : Theorem 3.02s 1.84s
% Output   : Refutation 3.02s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12  % Problem  : ITP069^2 : TPTP v9.2.1. Released v7.5.0.
% 0.12/0.13  % Command  : /export/starexec/sandbox2/solver/bin/run_DT2H2X /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% 0.16/0.34  % Computer : n028.cluster.edu
% 0.16/0.34  % Model    : x86_64 x86_64
% 0.16/0.34  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.16/0.34  % Memory   : 8042.1875MB
% 0.16/0.34  % 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/sandbox2/solver/bin/run_DT2H2X /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% 0.19/0.46  ---- Original DTF file ---
% 0.19/0.46  thf(spec,logic,$$dhol).
% 0.19/0.46  %------------------------------------------------------------------------------
% 0.19/0.46  % File     : ITP069^2 : TPTP v9.2.1. Released v7.5.0.
% 0.19/0.46  % Domain   : Interactive Theorem Proving
% 0.19/0.46  % Problem  : Sledgehammer HeapImperative problem prob_637__5346010_1
% 0.19/0.46  % Version  : Especial.
% 0.19/0.46  % English  :
% 0.19/0.46  
% 0.19/0.46  % Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
% 0.19/0.46  %          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% 0.19/0.46  % Source   : [Des21]
% 0.19/0.46  % Names    : HeapImperative/prob_637__5346010_1 [Des21]
% 0.19/0.46  
% 0.19/0.46  % Status   : Theorem
% 0.19/0.46  % Rating   : 0.33 v9.1.0, 0.00 v7.5.0
% 0.19/0.46  % Syntax   : Number of formulae    :  342 (  85 unt;  66 typ;   0 def)
% 0.19/0.46  %            Number of atoms       :  859 ( 326 equ;   0 cnn)
% 0.19/0.46  %            Maximal formula atoms :   13 (   3 avg)
% 0.19/0.46  %            Number of connectives : 5739 (  91   ~;  10   |;  67   &;5112   @)
% 0.19/0.46  %                                         (   0 <=>; 459  =>;   0  <=;   0 <~>)
% 0.19/0.46  %            Maximal formula depth :   28 (  10 avg)
% 0.19/0.46  %            Number of types       :    2 (   1 usr)
% 0.19/0.46  %            Number of type conns  :  328 ( 328   >;   0   *;   0   +;   0  <<)
% 0.19/0.46  %            Number of symbols     :   66 (  65 usr;   3 con; 0-8 aty)
% 0.19/0.46  %            Number of variables   : 1407 (  52   ^;1264   !;  18   ?;1407   :)
% 0.19/0.46  %                                         (  73  !>;   0  ?*;   0  @-;   0  @+)
% 0.19/0.46  % SPC      : TH1_THM_EQU_NAR
% 0.19/0.46  
% 0.19/0.46  % Comments : This file was generated by Sledgehammer 2021-02-23 16:16:28.444
% 0.19/0.46  %------------------------------------------------------------------------------
% 0.19/0.46  % Could-be-implicit typings (6)
% 0.19/0.46  thf(ty_t_Product__Type_Oprod,type,
% 0.19/0.46      product_prod: $tType > $tType > $tType ).
% 0.19/0.46  
% 0.19/0.46  thf(ty_t_Multiset_Omultiset,type,
% 0.19/0.46      multiset: $tType > $tType ).
% 0.19/0.46  
% 0.19/0.46  thf(ty_t_List_Olist,type,
% 0.19/0.46      list: $tType > $tType ).
% 0.19/0.46  
% 0.19/0.46  thf(ty_t_Heap_OTree,type,
% 0.19/0.46      tree: $tType > $tType ).
% 0.19/0.46  
% 0.19/0.46  thf(ty_t_Set_Oset,type,
% 0.19/0.46      set: $tType > $tType ).
% 0.19/0.46  
% 0.19/0.46  thf(ty_tf_a,type,
% 0.19/0.46      a: $tType ).
% 0.19/0.46  
% 0.19/0.46  % Explicit typings (60)
% 0.19/0.46  thf(sy_cl_HOL_Otype,type,
% 0.19/0.46      type: 
% 0.19/0.46        !>[A: $tType] : $o ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_cl_Orderings_Oord,type,
% 0.19/0.46      ord: 
% 0.19/0.46        !>[A: $tType] : $o ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_cl_Orderings_Oorder,type,
% 0.19/0.46      order: 
% 0.19/0.46        !>[A: $tType] : $o ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_cl_Orderings_Olinorder,type,
% 0.19/0.46      linorder: 
% 0.19/0.46        !>[A: $tType] : $o ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_cl_Orderings_Opreorder,type,
% 0.19/0.46      preorder: 
% 0.19/0.46        !>[A: $tType] : $o ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_cl_Groups_Oordered__ab__group__add,type,
% 0.19/0.46      ordered_ab_group_add: 
% 0.19/0.46        !>[A: $tType] : $o ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_cl_Groups_Olinordered__ab__group__add,type,
% 0.19/0.46      linord219039673up_add: 
% 0.19/0.46        !>[A: $tType] : $o ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_cl_Groups_Oordered__comm__monoid__add,type,
% 0.19/0.46      ordere216010020id_add: 
% 0.19/0.46        !>[A: $tType] : $o ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_cl_Groups_Oordered__ab__semigroup__add,type,
% 0.19/0.46      ordere779506340up_add: 
% 0.19/0.46        !>[A: $tType] : $o ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_cl_Rings_Olinordered__nonzero__semiring,type,
% 0.19/0.46      linord1659791738miring: 
% 0.19/0.46        !>[A: $tType] : $o ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_cl_Groups_Ocanonically__ordered__monoid__add,type,
% 0.19/0.46      canoni770627133id_add: 
% 0.19/0.46        !>[A: $tType] : $o ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_cl_Groups_Oordered__ab__semigroup__add__imp__le,type,
% 0.19/0.46      ordere236663937imp_le: 
% 0.19/0.46        !>[A: $tType] : $o ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_cl_Groups_Oordered__cancel__comm__monoid__diff,type,
% 0.19/0.46      ordere623563068d_diff: 
% 0.19/0.46        !>[A: $tType] : $o ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_cl_Divides_Ounique__euclidean__semiring__numeral,type,
% 0.19/0.46      unique1598680935umeral: 
% 0.19/0.46        !>[A: $tType] : $o ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_cl_Groups_Oordered__ab__semigroup__monoid__add__imp__le,type,
% 0.19/0.46      ordere516151231imp_le: 
% 0.19/0.46        !>[A: $tType] : $o ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_BNF__Cardinal__Order__Relation_OrelChain,type,
% 0.19/0.46      bNF_Ca1785829860lChain: 
% 0.19/0.46        !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( A > B ) > $o ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Divides_Ounique__euclidean__semiring__numeral__class_Odivides__aux,type,
% 0.19/0.46      unique455577585es_aux: 
% 0.19/0.46        !>[A: $tType] : ( ( product_prod @ A @ A ) > $o ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Groups_Ominus__class_Ominus,type,
% 0.19/0.46      minus_minus: 
% 0.19/0.46        !>[A: $tType] : ( A > A > A ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Groups_Oplus__class_Oplus,type,
% 0.19/0.46      plus_plus: 
% 0.19/0.46        !>[A: $tType] : ( A > A > A ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Groups_Ozero__class_Ozero,type,
% 0.19/0.46      zero_zero: 
% 0.19/0.46        !>[A: $tType] : A ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_HOL_ONO__MATCH,type,
% 0.19/0.46      nO_MATCH: 
% 0.19/0.46        !>[A: $tType,B: $tType] : ( A > B > $o ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oheapify,type,
% 0.19/0.46      heapIm818251801eapify: 
% 0.19/0.46        !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oleft,type,
% 0.19/0.46      heapIm1271749598e_left: 
% 0.19/0.46        !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oright,type,
% 0.19/0.46      heapIm1434396069_right: 
% 0.19/0.46        !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_OsiftDown,type,
% 0.19/0.46      heapIm748920189ftDown: 
% 0.19/0.46        !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Heap_OHeap,type,
% 0.19/0.46      heap: 
% 0.19/0.46        !>[B: $tType,A: $tType] : ( B > ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( tree @ A ) ) > ( B > ( product_prod @ A @ B ) ) > $o ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Heap_OHeap__axioms,type,
% 0.19/0.46      heap_axioms: 
% 0.19/0.46        !>[B: $tType,A: $tType] : ( ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( tree @ A ) ) > ( B > ( product_prod @ A @ B ) ) > $o ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Heap_OTree_OE,type,
% 0.19/0.46      e: 
% 0.19/0.46        !>[A: $tType] : ( tree @ A ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Heap_OTree_OT,type,
% 0.19/0.46      t: 
% 0.19/0.46        !>[A: $tType] : ( A > ( tree @ A ) > ( tree @ A ) > ( tree @ A ) ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Heap_OTree_Ocase__Tree,type,
% 0.19/0.46      case_Tree: 
% 0.19/0.46        !>[B: $tType,A: $tType] : ( B > ( A > ( tree @ A ) > ( tree @ A ) > B ) > ( tree @ A ) > B ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Heap_OTree_Orec__Tree,type,
% 0.19/0.46      rec_Tree: 
% 0.19/0.46        !>[C: $tType,A: $tType] : ( C > ( A > ( tree @ A ) > ( tree @ A ) > C > C > C ) > ( tree @ A ) > C ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Heap_Oin__tree,type,
% 0.19/0.46      in_tree: 
% 0.19/0.46        !>[A: $tType] : ( A > ( tree @ A ) > $o ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Heap_Ois__heap,type,
% 0.19/0.46      is_heap: 
% 0.19/0.46        !>[A: $tType] : ( ( tree @ A ) > $o ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Heap_Omultiset,type,
% 0.19/0.46      multiset2: 
% 0.19/0.46        !>[A: $tType] : ( ( tree @ A ) > ( multiset @ A ) ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Heap_Oval,type,
% 0.19/0.46      val: 
% 0.19/0.46        !>[A: $tType] : ( ( tree @ A ) > A ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Lattices__Big_Olinorder__class_OMax,type,
% 0.19/0.46      lattic929149872er_Max: 
% 0.19/0.46        !>[A: $tType] : ( ( set @ A ) > A ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Multiset_Oadd__mset,type,
% 0.19/0.46      add_mset: 
% 0.19/0.46        !>[A: $tType] : ( A > ( multiset @ A ) > ( multiset @ A ) ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Multiset_Ocomm__monoid__add_Osum__mset,type,
% 0.19/0.46      comm_monoid_sum_mset: 
% 0.19/0.46        !>[A: $tType] : ( ( A > A > A ) > A > ( multiset @ A ) > A ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Multiset_Ofold__mset,type,
% 0.19/0.46      fold_mset: 
% 0.19/0.46        !>[A: $tType,B: $tType] : ( ( A > B > B ) > B > ( multiset @ A ) > B ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Multiset_Ois__empty,type,
% 0.19/0.46      is_empty: 
% 0.19/0.46        !>[A: $tType] : ( ( multiset @ A ) > $o ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Multiset_Omult,type,
% 0.19/0.46      mult: 
% 0.19/0.46        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Multiset_Omult1,type,
% 0.19/0.46      mult1: 
% 0.19/0.46        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Multiset_Omultp,type,
% 0.19/0.46      multp: 
% 0.19/0.46        !>[A: $tType] : ( ( A > A > $o ) > ( multiset @ A ) > ( multiset @ A ) > $o ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Multiset_Oset__mset,type,
% 0.19/0.46      set_mset: 
% 0.19/0.46        !>[A: $tType] : ( ( multiset @ A ) > ( set @ A ) ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Orderings_Oord__class_Oless__eq,type,
% 0.19/0.46      ord_less_eq: 
% 0.19/0.46        !>[A: $tType] : ( A > A > $o ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Orderings_Oorder__class_OGreatest,type,
% 0.19/0.46      order_Greatest: 
% 0.19/0.46        !>[A: $tType] : ( ( A > $o ) > A ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Product__Type_OPair,type,
% 0.19/0.46      product_Pair: 
% 0.19/0.46        !>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Product__Type_Ointernal__case__prod,type,
% 0.19/0.46      produc2004651681e_prod: 
% 0.19/0.46        !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > C ) > ( product_prod @ A @ B ) > C ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Product__Type_Oold_Oprod_Orec__prod,type,
% 0.19/0.46      product_rec_prod: 
% 0.19/0.46        !>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Relation_Oirrefl,type,
% 0.19/0.46      irrefl: 
% 0.19/0.46        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > $o ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Relation_Otrans,type,
% 0.19/0.46      trans: 
% 0.19/0.46        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > $o ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_RemoveMax_OCollection,type,
% 0.19/0.46      collection: 
% 0.19/0.46        !>[B: $tType,A: $tType] : ( B > ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > $o ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_RemoveMax_OCollection_Oset,type,
% 0.19/0.46      set2: 
% 0.19/0.46        !>[B: $tType,A: $tType] : ( ( B > ( multiset @ A ) ) > B > ( set @ A ) ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_RemoveMax_ORemoveMax,type,
% 0.19/0.46      removeMax: 
% 0.19/0.46        !>[B: $tType,A: $tType] : ( B > ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( product_prod @ A @ B ) ) > ( B > $o ) > $o ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_RemoveMax_ORemoveMax__axioms,type,
% 0.19/0.46      removeMax_axioms: 
% 0.19/0.46        !>[B: $tType,A: $tType] : ( ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( product_prod @ A @ B ) ) > ( B > $o ) > $o ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_Set_OCollect,type,
% 0.19/0.46      collect: 
% 0.19/0.46        !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_c_member,type,
% 0.19/0.46      member: 
% 0.19/0.46        !>[A: $tType] : ( A > ( set @ A ) > $o ) ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_v_l____,type,
% 0.19/0.46      l: tree @ a ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_v_r____,type,
% 0.19/0.46      r: tree @ a ).
% 0.19/0.46  
% 0.19/0.46  thf(sy_v_v____,type,
% 0.19/0.46      v: a ).
% 0.19/0.46  
% 0.19/0.46  % Relevant facts (256)
% 0.19/0.46  thf(fact_0_T_Ohyps_I2_J,axiom,
% 0.19/0.46      is_heap @ a @ ( heapIm818251801eapify @ a @ r ) ).
% 0.19/0.46  
% 0.19/0.46  % T.hyps(2)
% 0.19/0.46  thf(fact_1_T_Ohyps_I1_J,axiom,
% 0.19/0.46      is_heap @ a @ ( heapIm818251801eapify @ a @ l ) ).
% 0.19/0.46  
% 0.19/0.46  % T.hyps(1)
% 0.19/0.46  thf(fact_2__092_060open_062_092_060lbrakk_062is__heap_A_Iheapify_Al_J_059_Ais__heap_A_Iheapify_Ar_J_059_AT_Av_A_Iheapify_Al_J_A_Iheapify_Ar_J_A_061_AT_Av_A_Iheapify_Al_J_A_Iheapify_Ar_J_092_060rbrakk_062_A_092_060Longrightarrow_062_Ais__heap_A_IsiftDown_A_IT_Av_A_Iheapify_Al_J_A_Iheapify_Ar_J_J_J_092_060close_062,axiom,
% 0.19/0.46      ( ( is_heap @ a @ ( heapIm818251801eapify @ a @ l ) )
% 0.19/0.46     => ( ( is_heap @ a @ ( heapIm818251801eapify @ a @ r ) )
% 0.19/0.46       => ( ( ( t @ a @ v @ ( heapIm818251801eapify @ a @ l ) @ ( heapIm818251801eapify @ a @ r ) )
% 0.19/0.46            = ( t @ a @ v @ ( heapIm818251801eapify @ a @ l ) @ ( heapIm818251801eapify @ a @ r ) ) )
% 0.19/0.46         => ( is_heap @ a @ ( heapIm748920189ftDown @ a @ ( t @ a @ v @ ( heapIm818251801eapify @ a @ l ) @ ( heapIm818251801eapify @ a @ r ) ) ) ) ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  % \<open>\<lbrakk>is_heap (heapify l); is_heap (heapify r); T v (heapify l) (heapify r) = T v (heapify l) (heapify r)\<rbrakk> \<Longrightarrow> is_heap (siftDown (T v (heapify l) (heapify r)))\<close>
% 0.19/0.46  thf(fact_3_heapify_Osimps_I2_J,axiom,
% 0.19/0.46      ! [A: $tType] :
% 0.19/0.46        ( ( linorder @ A )
% 0.19/0.46       => ! [V: A,L: tree @ A,R: tree @ A] :
% 0.19/0.46            ( ( heapIm818251801eapify @ A @ ( t @ A @ V @ L @ R ) )
% 0.19/0.46            = ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( heapIm818251801eapify @ A @ L ) @ ( heapIm818251801eapify @ A @ R ) ) ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  % heapify.simps(2)
% 0.19/0.46  thf(fact_4_siftDown__heap__is__heap,axiom,
% 0.19/0.46      ! [A: $tType] :
% 0.19/0.46        ( ( linorder @ A )
% 0.19/0.46       => ! [L: tree @ A,R: tree @ A,T2: tree @ A,V: A] :
% 0.19/0.46            ( ( is_heap @ A @ L )
% 0.19/0.46           => ( ( is_heap @ A @ R )
% 0.19/0.46             => ( ( T2
% 0.19/0.46                  = ( t @ A @ V @ L @ R ) )
% 0.19/0.46               => ( is_heap @ A @ ( heapIm748920189ftDown @ A @ T2 ) ) ) ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  % siftDown_heap_is_heap
% 0.19/0.46  thf(fact_5_Tree_Oinject,axiom,
% 0.19/0.46      ! [A: $tType,X21: A,X22: tree @ A,X23: tree @ A,Y21: A,Y22: tree @ A,Y23: tree @ A] :
% 0.19/0.46        ( ( ( t @ A @ X21 @ X22 @ X23 )
% 0.19/0.46          = ( t @ A @ Y21 @ Y22 @ Y23 ) )
% 0.19/0.46        = ( ( X21 = Y21 )
% 0.19/0.46          & ( X22 = Y22 )
% 0.19/0.46          & ( X23 = Y23 ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  % Tree.inject
% 0.19/0.46  thf(fact_6_left_Osimps,axiom,
% 0.19/0.46      ! [A: $tType,V: A,L: tree @ A,R: tree @ A] :
% 0.19/0.46        ( ( heapIm1271749598e_left @ A @ ( t @ A @ V @ L @ R ) )
% 0.19/0.46        = L ) ).
% 0.19/0.46  
% 0.19/0.46  % left.simps
% 0.19/0.46  thf(fact_7_right_Osimps,axiom,
% 0.19/0.46      ! [A: $tType,V: A,L: tree @ A,R: tree @ A] :
% 0.19/0.46        ( ( heapIm1434396069_right @ A @ ( t @ A @ V @ L @ R ) )
% 0.19/0.46        = R ) ).
% 0.19/0.46  
% 0.19/0.46  % right.simps
% 0.19/0.46  thf(fact_8_is__heap_Osimps_I2_J,axiom,
% 0.19/0.46      ! [A: $tType] :
% 0.19/0.46        ( ( linorder @ A )
% 0.19/0.46       => ! [V: A] : ( is_heap @ A @ ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  % is_heap.simps(2)
% 0.19/0.46  thf(fact_9_heapify_Osimps_I1_J,axiom,
% 0.19/0.46      ! [A: $tType] :
% 0.19/0.46        ( ( linorder @ A )
% 0.19/0.46       => ( ( heapIm818251801eapify @ A @ ( e @ A ) )
% 0.19/0.46          = ( e @ A ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  % heapify.simps(1)
% 0.19/0.46  thf(fact_10_siftDown_Ocases,axiom,
% 0.19/0.46      ! [A: $tType] :
% 0.19/0.46        ( ( linorder @ A )
% 0.19/0.46       => ! [X: tree @ A] :
% 0.19/0.46            ( ( X
% 0.19/0.46             != ( e @ A ) )
% 0.19/0.46           => ( ! [V2: A] :
% 0.19/0.46                  ( X
% 0.19/0.46                 != ( t @ A @ V2 @ ( e @ A ) @ ( e @ A ) ) )
% 0.19/0.46             => ( ! [V2: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.19/0.46                    ( X
% 0.19/0.46                   != ( t @ A @ V2 @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) )
% 0.19/0.46               => ( ! [V2: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.19/0.46                      ( X
% 0.19/0.46                     != ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 0.19/0.46                 => ~ ! [V2: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 0.19/0.46                        ( X
% 0.19/0.46                       != ( t @ A @ V2 @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) ) ) ) ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  % siftDown.cases
% 0.19/0.46  thf(fact_11_Tree_Osimps_I5_J,axiom,
% 0.19/0.46      ! [B: $tType,A: $tType,F1: B,F2: A > ( tree @ A ) > ( tree @ A ) > B,X21: A,X22: tree @ A,X23: tree @ A] :
% 0.19/0.46        ( ( case_Tree @ B @ A @ F1 @ F2 @ ( t @ A @ X21 @ X22 @ X23 ) )
% 0.19/0.46        = ( F2 @ X21 @ X22 @ X23 ) ) ).
% 0.19/0.46  
% 0.19/0.46  % Tree.simps(5)
% 0.19/0.46  thf(fact_12_Heap_Ois__heap__of__list,axiom,
% 0.19/0.46      ! [B: $tType,A: $tType] :
% 0.19/0.46        ( ( linorder @ A )
% 0.19/0.46       => ! [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 ),I: list @ A] :
% 0.19/0.46            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.19/0.46           => ( is_heap @ A @ ( As_tree @ ( Of_list @ I ) ) ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  % Heap.is_heap_of_list
% 0.19/0.46  thf(fact_13_in__tree_Osimps_I2_J,axiom,
% 0.19/0.46      ! [A: $tType,V: A,V3: A,L: tree @ A,R: tree @ A] :
% 0.19/0.46        ( ( in_tree @ A @ V @ ( t @ A @ V3 @ L @ R ) )
% 0.19/0.46        = ( ( V = V3 )
% 0.19/0.46          | ( in_tree @ A @ V @ L )
% 0.19/0.46          | ( in_tree @ A @ V @ R ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  % in_tree.simps(2)
% 0.19/0.46  thf(fact_14_siftDown_Osimps_I2_J,axiom,
% 0.19/0.46      ! [A: $tType] :
% 0.19/0.46        ( ( linorder @ A )
% 0.19/0.46       => ! [V: A] :
% 0.19/0.46            ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) )
% 0.19/0.46            = ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  % siftDown.simps(2)
% 0.19/0.46  thf(fact_15_Tree_Osimps_I4_J,axiom,
% 0.19/0.46      ! [A: $tType,B: $tType,F1: B,F2: A > ( tree @ A ) > ( tree @ A ) > B] :
% 0.19/0.46        ( ( case_Tree @ B @ A @ F1 @ F2 @ ( e @ A ) )
% 0.19/0.46        = F1 ) ).
% 0.19/0.46  
% 0.19/0.46  % Tree.simps(4)
% 0.19/0.46  thf(fact_16_in__tree_Osimps_I1_J,axiom,
% 0.19/0.46      ! [A: $tType,V: A] :
% 0.19/0.46        ~ ( in_tree @ A @ V @ ( e @ A ) ) ).
% 0.19/0.46  
% 0.19/0.46  % in_tree.simps(1)
% 0.19/0.46  thf(fact_17_siftDown_Osimps_I1_J,axiom,
% 0.19/0.46      ! [A: $tType] :
% 0.19/0.46        ( ( linorder @ A )
% 0.19/0.46       => ( ( heapIm748920189ftDown @ A @ ( e @ A ) )
% 0.19/0.46          = ( e @ A ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  % siftDown.simps(1)
% 0.19/0.46  thf(fact_18_Heap_Oas__tree__empty,axiom,
% 0.19/0.46      ! [A: $tType,B: $tType] :
% 0.19/0.46        ( ( linorder @ A )
% 0.19/0.46       => ! [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 ),T2: B] :
% 0.19/0.46            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.19/0.46           => ( ( ( As_tree @ T2 )
% 0.19/0.46                = ( e @ A ) )
% 0.19/0.46              = ( Is_empty @ T2 ) ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  % Heap.as_tree_empty
% 0.19/0.46  thf(fact_19_siftDown__in__tree__set,axiom,
% 0.19/0.46      ! [A: $tType] :
% 0.19/0.46        ( ( linorder @ A )
% 0.19/0.46       => ( ( in_tree @ A )
% 0.19/0.46          = ( ^ [V4: A,T3: tree @ A] : ( in_tree @ A @ V4 @ ( heapIm748920189ftDown @ A @ T3 ) ) ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  % siftDown_in_tree_set
% 0.19/0.46  thf(fact_20_is__heap_Ocases,axiom,
% 0.19/0.46      ! [A: $tType] :
% 0.19/0.46        ( ( linorder @ A )
% 0.19/0.46       => ! [X: tree @ A] :
% 0.19/0.46            ( ( X
% 0.19/0.46             != ( e @ A ) )
% 0.19/0.46           => ( ! [V2: A] :
% 0.19/0.46                  ( X
% 0.19/0.46                 != ( t @ A @ V2 @ ( e @ A ) @ ( e @ A ) ) )
% 0.19/0.46             => ( ! [V2: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.19/0.46                    ( X
% 0.19/0.46                   != ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 0.19/0.46               => ( ! [V2: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.19/0.46                      ( X
% 0.19/0.46                     != ( t @ A @ V2 @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) )
% 0.19/0.46                 => ~ ! [V2: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 0.19/0.46                        ( X
% 0.19/0.46                       != ( t @ A @ V2 @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) ) ) ) ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  % is_heap.cases
% 0.19/0.46  thf(fact_21_Tree_Oexhaust,axiom,
% 0.19/0.46      ! [A: $tType,Y: tree @ A] :
% 0.19/0.46        ( ( Y
% 0.19/0.46         != ( e @ A ) )
% 0.19/0.46       => ~ ! [X212: A,X222: tree @ A,X232: tree @ A] :
% 0.19/0.46              ( Y
% 0.19/0.46             != ( t @ A @ X212 @ X222 @ X232 ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  % Tree.exhaust
% 0.19/0.46  thf(fact_22_Tree_Oinduct,axiom,
% 0.19/0.46      ! [A: $tType,P: ( tree @ A ) > $o,Tree: tree @ A] :
% 0.19/0.46        ( ( P @ ( e @ A ) )
% 0.19/0.46       => ( ! [X1: A,X2: tree @ A,X3: tree @ A] :
% 0.19/0.46              ( ( P @ X2 )
% 0.19/0.46             => ( ( P @ X3 )
% 0.19/0.46               => ( P @ ( t @ A @ X1 @ X2 @ X3 ) ) ) )
% 0.19/0.46         => ( P @ Tree ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  % Tree.induct
% 0.19/0.46  thf(fact_23_Tree_Odistinct_I1_J,axiom,
% 0.19/0.46      ! [A: $tType,X21: A,X22: tree @ A,X23: tree @ A] :
% 0.19/0.46        ( ( e @ A )
% 0.19/0.46       != ( t @ A @ X21 @ X22 @ X23 ) ) ).
% 0.19/0.46  
% 0.19/0.46  % Tree.distinct(1)
% 0.19/0.46  thf(fact_24_is__heap_Osimps_I1_J,axiom,
% 0.19/0.46      ! [A: $tType] :
% 0.19/0.46        ( ( linorder @ A )
% 0.19/0.46       => ( is_heap @ A @ ( e @ A ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  % is_heap.simps(1)
% 0.19/0.46  thf(fact_25_siftDown__in__tree,axiom,
% 0.19/0.46      ! [A: $tType] :
% 0.19/0.46        ( ( linorder @ A )
% 0.19/0.46       => ! [T2: tree @ A] :
% 0.19/0.46            ( ( T2
% 0.19/0.46             != ( e @ A ) )
% 0.19/0.46           => ( in_tree @ A @ ( val @ A @ ( heapIm748920189ftDown @ A @ T2 ) ) @ T2 ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  % siftDown_in_tree
% 0.19/0.46  thf(fact_26_Heap_Oaxioms_I2_J,axiom,
% 0.19/0.46      ! [A: $tType,B: $tType] :
% 0.19/0.46        ( ( linorder @ A )
% 0.19/0.46       => ! [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.19/0.46            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.19/0.46           => ( heap_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max ) ) ) ).
% 0.19/0.46  
% 0.19/0.46  % Heap.axioms(2)
% 0.19/0.46  thf(fact_27_siftDown_Osimps_I4_J,axiom,
% 0.19/0.46      ! [A: $tType] :
% 0.19/0.46        ( ( linorder @ A )
% 0.19/0.46       => ! [Va2: A,Vb2: tree @ A,Vc2: tree @ A,V: A] :
% 0.19/0.46            ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 0.19/0.46             => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.19/0.46                = ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) )
% 0.19/0.46            & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 0.19/0.46             => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.19/0.47                = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( e @ A ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % siftDown.simps(4)
% 0.19/0.47  thf(fact_28_siftDown_Osimps_I3_J,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [Va2: A,Vb2: tree @ A,Vc2: tree @ A,V: A] :
% 0.19/0.47            ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 0.19/0.47             => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 0.19/0.47                = ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) ) )
% 0.19/0.47            & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 0.19/0.47             => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 0.19/0.47                = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) @ ( e @ A ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % siftDown.simps(3)
% 0.19/0.47  thf(fact_29_Heap_Omultiset,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [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.19/0.47            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.19/0.47           => ( ( Multiset @ L )
% 0.19/0.47              = ( multiset2 @ A @ ( As_tree @ L ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Heap.multiset
% 0.19/0.47  thf(fact_30_siftDown_Osimps_I6_J,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [Va2: A,Vb2: tree @ A,Vc2: tree @ A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A,V: A] :
% 0.19/0.47            ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.19/0.47             => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V )
% 0.19/0.47                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.19/0.47                    = ( t @ A @ V @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) )
% 0.19/0.47                & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V )
% 0.19/0.47                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.19/0.47                    = ( t @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( heapIm1271749598e_left @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) )
% 0.19/0.47            & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.19/0.47             => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 0.19/0.47                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.19/0.47                    = ( t @ A @ V @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) )
% 0.19/0.47                & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 0.19/0.47                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.19/0.47                    = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % siftDown.simps(6)
% 0.19/0.47  thf(fact_31_siftDown_Osimps_I5_J,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [Vd2: A,Ve2: tree @ A,Vf2: tree @ A,Va2: A,Vb2: tree @ A,Vc2: tree @ A,V: A] :
% 0.19/0.47            ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.19/0.47             => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 0.19/0.47                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.19/0.47                    = ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) )
% 0.19/0.47                & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 0.19/0.47                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.19/0.47                    = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) )
% 0.19/0.47            & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.19/0.47             => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V )
% 0.19/0.47                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.19/0.47                    = ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) )
% 0.19/0.47                & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V )
% 0.19/0.47                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.19/0.47                    = ( t @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( heapIm1271749598e_left @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % siftDown.simps(5)
% 0.19/0.47  thf(fact_32_Heap_Oremove__max__is__heap,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [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,L2: B] :
% 0.19/0.47            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.19/0.47           => ( ~ ( Is_empty @ L )
% 0.19/0.47             => ( ( is_heap @ A @ ( As_tree @ L ) )
% 0.19/0.47               => ( ( ( product_Pair @ A @ B @ M @ L2 )
% 0.19/0.47                    = ( Remove_max @ L ) )
% 0.19/0.47                 => ( is_heap @ A @ ( As_tree @ L2 ) ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Heap.remove_max_is_heap
% 0.19/0.47  thf(fact_33_siftDown__Node,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [T2: tree @ A,V: A,L: tree @ A,R: tree @ A] :
% 0.19/0.47            ( ( T2
% 0.19/0.47              = ( t @ A @ V @ L @ R ) )
% 0.19/0.47           => ? [L3: tree @ A,V5: A,R2: tree @ A] :
% 0.19/0.47                ( ( ( heapIm748920189ftDown @ A @ T2 )
% 0.19/0.47                  = ( t @ A @ V5 @ L3 @ R2 ) )
% 0.19/0.47                & ( ord_less_eq @ A @ V @ V5 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % siftDown_Node
% 0.19/0.47  thf(fact_34_Tree_Osimps_I6_J,axiom,
% 0.19/0.47      ! [A: $tType,C: $tType,F1: C,F2: A > ( tree @ A ) > ( tree @ A ) > C > C > C] :
% 0.19/0.47        ( ( rec_Tree @ C @ A @ F1 @ F2 @ ( e @ A ) )
% 0.19/0.47        = F1 ) ).
% 0.19/0.47  
% 0.19/0.47  % Tree.simps(6)
% 0.19/0.47  thf(fact_35_Heap_Oremove__max__val,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [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 ),T2: B,M: A,T4: B] :
% 0.19/0.47            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.19/0.47           => ( ~ ( Is_empty @ T2 )
% 0.19/0.47             => ( ( ( product_Pair @ A @ B @ M @ T4 )
% 0.19/0.47                  = ( Remove_max @ T2 ) )
% 0.19/0.47               => ( M
% 0.19/0.47                  = ( val @ A @ ( As_tree @ T2 ) ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Heap.remove_max_val
% 0.19/0.47  thf(fact_36_is__heap_Osimps_I6_J,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [V: A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 0.19/0.47            ( ( is_heap @ A @ ( t @ A @ V @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.19/0.47            = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 0.19/0.47              & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) )
% 0.19/0.47              & ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V )
% 0.19/0.47              & ( is_heap @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % is_heap.simps(6)
% 0.19/0.47  thf(fact_37_is__heap_Osimps_I5_J,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [V: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A] :
% 0.19/0.47            ( ( is_heap @ A @ ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.19/0.47            = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V )
% 0.19/0.47              & ( is_heap @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) )
% 0.19/0.47              & ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 0.19/0.47              & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % is_heap.simps(5)
% 0.19/0.47  thf(fact_38_is__heap__max,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [V: A,T2: tree @ A] :
% 0.19/0.47            ( ( in_tree @ A @ V @ T2 )
% 0.19/0.47           => ( ( is_heap @ A @ T2 )
% 0.19/0.47             => ( ord_less_eq @ A @ V @ ( val @ A @ T2 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % is_heap_max
% 0.19/0.47  thf(fact_39_val_Osimps,axiom,
% 0.19/0.47      ! [A: $tType,V: A,Uu: tree @ A,Uv: tree @ A] :
% 0.19/0.47        ( ( val @ A @ ( t @ A @ V @ Uu @ Uv ) )
% 0.19/0.47        = V ) ).
% 0.19/0.47  
% 0.19/0.47  % val.simps
% 0.19/0.47  thf(fact_40_is__heap_Osimps_I4_J,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [V: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 0.19/0.47            ( ( is_heap @ A @ ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 0.19/0.47            = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 0.19/0.47              & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % is_heap.simps(4)
% 0.19/0.47  thf(fact_41_is__heap_Osimps_I3_J,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [V: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 0.19/0.47            ( ( is_heap @ A @ ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.19/0.47            = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 0.19/0.47              & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % is_heap.simps(3)
% 0.19/0.47  thf(fact_42_Tree_Osimps_I7_J,axiom,
% 0.19/0.47      ! [C: $tType,A: $tType,F1: C,F2: A > ( tree @ A ) > ( tree @ A ) > C > C > C,X21: A,X22: tree @ A,X23: tree @ A] :
% 0.19/0.47        ( ( rec_Tree @ C @ A @ F1 @ F2 @ ( t @ A @ X21 @ X22 @ X23 ) )
% 0.19/0.47        = ( F2 @ X21 @ X22 @ X23 @ ( rec_Tree @ C @ A @ F1 @ F2 @ X22 ) @ ( rec_Tree @ C @ A @ F1 @ F2 @ X23 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Tree.simps(7)
% 0.19/0.47  thf(fact_43_old_Oprod_Oinject,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType,A2: A,B2: B,A3: A,B3: B] :
% 0.19/0.47        ( ( ( product_Pair @ A @ B @ A2 @ B2 )
% 0.19/0.47          = ( product_Pair @ A @ B @ A3 @ B3 ) )
% 0.19/0.47        = ( ( A2 = A3 )
% 0.19/0.47          & ( B2 = B3 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % old.prod.inject
% 0.19/0.47  thf(fact_44_prod_Oinject,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType,X12: A,X24: B,Y1: A,Y2: B] :
% 0.19/0.47        ( ( ( product_Pair @ A @ B @ X12 @ X24 )
% 0.19/0.47          = ( product_Pair @ A @ B @ Y1 @ Y2 ) )
% 0.19/0.47        = ( ( X12 = Y1 )
% 0.19/0.47          & ( X24 = Y2 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % prod.inject
% 0.19/0.47  thf(fact_45_mem__Collect__eq,axiom,
% 0.19/0.47      ! [A: $tType,A2: A,P: A > $o] :
% 0.19/0.47        ( ( member @ A @ A2 @ ( collect @ A @ P ) )
% 0.19/0.47        = ( P @ A2 ) ) ).
% 0.19/0.47  
% 0.19/0.47  % mem_Collect_eq
% 0.19/0.47  thf(fact_46_Collect__mem__eq,axiom,
% 0.19/0.47      ! [A: $tType,A4: set @ A] :
% 0.19/0.47        ( ( collect @ A
% 0.19/0.47          @ ^ [X4: A] : ( member @ A @ X4 @ A4 ) )
% 0.19/0.47        = A4 ) ).
% 0.19/0.47  
% 0.19/0.47  % Collect_mem_eq
% 0.19/0.47  thf(fact_47_Collect__cong,axiom,
% 0.19/0.47      ! [A: $tType,P: A > $o,Q: A > $o] :
% 0.19/0.47        ( ! [X5: A] :
% 0.19/0.47            ( ( P @ X5 )
% 0.19/0.47            = ( Q @ X5 ) )
% 0.19/0.47       => ( ( collect @ A @ P )
% 0.19/0.47          = ( collect @ A @ Q ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Collect_cong
% 0.19/0.47  thf(fact_48_ext,axiom,
% 0.19/0.47      ! [B: $tType,A: $tType,F: A > B,G: A > B] :
% 0.19/0.47        ( ! [X5: A] :
% 0.19/0.47            ( ( F @ X5 )
% 0.19/0.47            = ( G @ X5 ) )
% 0.19/0.47       => ( F = G ) ) ).
% 0.19/0.47  
% 0.19/0.47  % ext
% 0.19/0.47  thf(fact_49_order__refl,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( preorder @ A )
% 0.19/0.47       => ! [X: A] : ( ord_less_eq @ A @ X @ X ) ) ).
% 0.19/0.47  
% 0.19/0.47  % order_refl
% 0.19/0.47  thf(fact_50_Heap__axioms_Ointro,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [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.19/0.47            ( ! [L4: B] :
% 0.19/0.47                ( ( Multiset @ L4 )
% 0.19/0.47                = ( multiset2 @ A @ ( As_tree @ L4 ) ) )
% 0.19/0.47           => ( ! [I2: list @ A] : ( is_heap @ A @ ( As_tree @ ( Of_list @ I2 ) ) )
% 0.19/0.47             => ( ! [T5: B] :
% 0.19/0.47                    ( ( ( As_tree @ T5 )
% 0.19/0.47                      = ( e @ A ) )
% 0.19/0.47                    = ( Is_empty @ T5 ) )
% 0.19/0.47               => ( ! [L4: B,M2: A,L3: B] :
% 0.19/0.47                      ( ~ ( Is_empty @ L4 )
% 0.19/0.47                     => ( ( ( product_Pair @ A @ B @ M2 @ L3 )
% 0.19/0.47                          = ( Remove_max @ L4 ) )
% 0.19/0.47                       => ( ( add_mset @ A @ M2 @ ( Multiset @ L3 ) )
% 0.19/0.47                          = ( Multiset @ L4 ) ) ) )
% 0.19/0.47                 => ( ! [L4: B,M2: A,L3: B] :
% 0.19/0.47                        ( ~ ( Is_empty @ L4 )
% 0.19/0.47                       => ( ( is_heap @ A @ ( As_tree @ L4 ) )
% 0.19/0.47                         => ( ( ( product_Pair @ A @ B @ M2 @ L3 )
% 0.19/0.47                              = ( Remove_max @ L4 ) )
% 0.19/0.47                           => ( is_heap @ A @ ( As_tree @ L3 ) ) ) ) )
% 0.19/0.47                   => ( ! [T5: B,M2: A,T6: B] :
% 0.19/0.47                          ( ~ ( Is_empty @ T5 )
% 0.19/0.47                         => ( ( ( product_Pair @ A @ B @ M2 @ T6 )
% 0.19/0.47                              = ( Remove_max @ T5 ) )
% 0.19/0.47                           => ( M2
% 0.19/0.47                              = ( val @ A @ ( As_tree @ T5 ) ) ) ) )
% 0.19/0.47                     => ( heap_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max ) ) ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Heap_axioms.intro
% 0.19/0.47  thf(fact_51_Heap__axioms__def,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ( ( heap_axioms @ B @ A )
% 0.19/0.47          = ( ^ [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.19/0.47                ( ! [L5: B] :
% 0.19/0.47                    ( ( Multiset2 @ L5 )
% 0.19/0.47                    = ( multiset2 @ A @ ( As_tree2 @ L5 ) ) )
% 0.19/0.47                & ! [I3: list @ A] : ( is_heap @ A @ ( As_tree2 @ ( Of_list2 @ I3 ) ) )
% 0.19/0.47                & ! [T3: B] :
% 0.19/0.47                    ( ( ( As_tree2 @ T3 )
% 0.19/0.47                      = ( e @ A ) )
% 0.19/0.47                    = ( Is_empty2 @ T3 ) )
% 0.19/0.47                & ! [L5: B,M3: A,L6: B] :
% 0.19/0.47                    ( ~ ( Is_empty2 @ L5 )
% 0.19/0.47                   => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 0.19/0.47                        = ( Remove_max2 @ L5 ) )
% 0.19/0.47                     => ( ( add_mset @ A @ M3 @ ( Multiset2 @ L6 ) )
% 0.19/0.47                        = ( Multiset2 @ L5 ) ) ) )
% 0.19/0.47                & ! [L5: B,M3: A,L6: B] :
% 0.19/0.47                    ( ~ ( Is_empty2 @ L5 )
% 0.19/0.47                   => ( ( is_heap @ A @ ( As_tree2 @ L5 ) )
% 0.19/0.47                     => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 0.19/0.47                          = ( Remove_max2 @ L5 ) )
% 0.19/0.47                       => ( is_heap @ A @ ( As_tree2 @ L6 ) ) ) ) )
% 0.19/0.47                & ! [T3: B,M3: A,T7: B] :
% 0.19/0.47                    ( ~ ( Is_empty2 @ T3 )
% 0.19/0.47                   => ( ( ( product_Pair @ A @ B @ M3 @ T7 )
% 0.19/0.47                        = ( Remove_max2 @ T3 ) )
% 0.19/0.47                     => ( M3
% 0.19/0.47                        = ( val @ A @ ( As_tree2 @ T3 ) ) ) ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Heap_axioms_def
% 0.19/0.47  thf(fact_52_Heap_Ointro,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [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.19/0.47            ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 0.19/0.47           => ( ( heap_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.19/0.47             => ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Heap.intro
% 0.19/0.47  thf(fact_53_Heap__def,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ( ( heap @ B @ A )
% 0.19/0.47          = ( ^ [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.19/0.47                ( ( collection @ B @ A @ Empty2 @ Is_empty2 @ Of_list2 @ Multiset2 )
% 0.19/0.47                & ( heap_axioms @ B @ A @ Is_empty2 @ Of_list2 @ Multiset2 @ As_tree2 @ Remove_max2 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Heap_def
% 0.19/0.47  thf(fact_54_heap__top__geq,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [A2: A,T2: tree @ A] :
% 0.19/0.47            ( ( member @ A @ A2 @ ( set_mset @ A @ ( multiset2 @ A @ T2 ) ) )
% 0.19/0.47           => ( ( is_heap @ A @ T2 )
% 0.19/0.47             => ( ord_less_eq @ A @ A2 @ ( val @ A @ T2 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % heap_top_geq
% 0.19/0.47  thf(fact_55_relChain__def,axiom,
% 0.19/0.47      ! [B: $tType,A: $tType] :
% 0.19/0.47        ( ( ord @ B )
% 0.19/0.47       => ( ( bNF_Ca1785829860lChain @ A @ B )
% 0.19/0.47          = ( ^ [R3: set @ ( product_prod @ A @ A ),As: A > B] :
% 0.19/0.47              ! [I3: A,J: A] :
% 0.19/0.47                ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ I3 @ J ) @ R3 )
% 0.19/0.47               => ( ord_less_eq @ B @ ( As @ I3 ) @ ( As @ J ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % relChain_def
% 0.19/0.47  thf(fact_56_Heap_Oaxioms_I1_J,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [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.19/0.47            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.19/0.47           => ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Heap.axioms(1)
% 0.19/0.47  thf(fact_57_Heap_Oremove__max__multiset_H,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [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,L2: B] :
% 0.19/0.47            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.19/0.47           => ( ~ ( Is_empty @ L )
% 0.19/0.47             => ( ( ( product_Pair @ A @ B @ M @ L2 )
% 0.19/0.47                  = ( Remove_max @ L ) )
% 0.19/0.47               => ( ( add_mset @ A @ M @ ( Multiset @ L2 ) )
% 0.19/0.47                  = ( Multiset @ L ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Heap.remove_max_multiset'
% 0.19/0.47  thf(fact_58_le__funD,axiom,
% 0.19/0.47      ! [B: $tType,A: $tType] :
% 0.19/0.47        ( ( ord @ B )
% 0.19/0.47       => ! [F: A > B,G: A > B,X: A] :
% 0.19/0.47            ( ( ord_less_eq @ ( A > B ) @ F @ G )
% 0.19/0.47           => ( ord_less_eq @ B @ ( F @ X ) @ ( G @ X ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % le_funD
% 0.19/0.47  thf(fact_59_le__funE,axiom,
% 0.19/0.47      ! [B: $tType,A: $tType] :
% 0.19/0.47        ( ( ord @ B )
% 0.19/0.47       => ! [F: A > B,G: A > B,X: A] :
% 0.19/0.47            ( ( ord_less_eq @ ( A > B ) @ F @ G )
% 0.19/0.47           => ( ord_less_eq @ B @ ( F @ X ) @ ( G @ X ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % le_funE
% 0.19/0.47  thf(fact_60_le__funI,axiom,
% 0.19/0.47      ! [B: $tType,A: $tType] :
% 0.19/0.47        ( ( ord @ B )
% 0.19/0.47       => ! [F: A > B,G: A > B] :
% 0.19/0.47            ( ! [X5: A] : ( ord_less_eq @ B @ ( F @ X5 ) @ ( G @ X5 ) )
% 0.19/0.47           => ( ord_less_eq @ ( A > B ) @ F @ G ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % le_funI
% 0.19/0.47  thf(fact_61_le__fun__def,axiom,
% 0.19/0.47      ! [B: $tType,A: $tType] :
% 0.19/0.47        ( ( ord @ B )
% 0.19/0.47       => ( ( ord_less_eq @ ( A > B ) )
% 0.19/0.47          = ( ^ [F3: A > B,G2: A > B] :
% 0.19/0.47              ! [X4: A] : ( ord_less_eq @ B @ ( F3 @ X4 ) @ ( G2 @ X4 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % le_fun_def
% 0.19/0.47  thf(fact_62_order__subst1,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( ( order @ B )
% 0.19/0.47          & ( order @ A ) )
% 0.19/0.47       => ! [A2: A,F: B > A,B2: B,C2: B] :
% 0.19/0.47            ( ( ord_less_eq @ A @ A2 @ ( F @ B2 ) )
% 0.19/0.47           => ( ( ord_less_eq @ B @ B2 @ C2 )
% 0.19/0.47             => ( ! [X5: B,Y3: B] :
% 0.19/0.47                    ( ( ord_less_eq @ B @ X5 @ Y3 )
% 0.19/0.47                   => ( ord_less_eq @ A @ ( F @ X5 ) @ ( F @ Y3 ) ) )
% 0.19/0.47               => ( ord_less_eq @ A @ A2 @ ( F @ C2 ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % order_subst1
% 0.19/0.47  thf(fact_63_order__subst2,axiom,
% 0.19/0.47      ! [A: $tType,C: $tType] :
% 0.19/0.47        ( ( ( order @ C )
% 0.19/0.47          & ( order @ A ) )
% 0.19/0.47       => ! [A2: A,B2: A,F: A > C,C2: C] :
% 0.19/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.19/0.47           => ( ( ord_less_eq @ C @ ( F @ B2 ) @ C2 )
% 0.19/0.47             => ( ! [X5: A,Y3: A] :
% 0.19/0.47                    ( ( ord_less_eq @ A @ X5 @ Y3 )
% 0.19/0.47                   => ( ord_less_eq @ C @ ( F @ X5 ) @ ( F @ Y3 ) ) )
% 0.19/0.47               => ( ord_less_eq @ C @ ( F @ A2 ) @ C2 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % order_subst2
% 0.19/0.47  thf(fact_64_ord__eq__le__subst,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( ( ord @ B )
% 0.19/0.47          & ( ord @ A ) )
% 0.19/0.47       => ! [A2: A,F: B > A,B2: B,C2: B] :
% 0.19/0.47            ( ( A2
% 0.19/0.47              = ( F @ B2 ) )
% 0.19/0.47           => ( ( ord_less_eq @ B @ B2 @ C2 )
% 0.19/0.47             => ( ! [X5: B,Y3: B] :
% 0.19/0.47                    ( ( ord_less_eq @ B @ X5 @ Y3 )
% 0.19/0.47                   => ( ord_less_eq @ A @ ( F @ X5 ) @ ( F @ Y3 ) ) )
% 0.19/0.47               => ( ord_less_eq @ A @ A2 @ ( F @ C2 ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % ord_eq_le_subst
% 0.19/0.47  thf(fact_65_ord__le__eq__subst,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( ( ord @ B )
% 0.19/0.47          & ( ord @ A ) )
% 0.19/0.47       => ! [A2: A,B2: A,F: A > B,C2: B] :
% 0.19/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.19/0.47           => ( ( ( F @ B2 )
% 0.19/0.47                = C2 )
% 0.19/0.47             => ( ! [X5: A,Y3: A] :
% 0.19/0.47                    ( ( ord_less_eq @ A @ X5 @ Y3 )
% 0.19/0.47                   => ( ord_less_eq @ B @ ( F @ X5 ) @ ( F @ Y3 ) ) )
% 0.19/0.47               => ( ord_less_eq @ B @ ( F @ A2 ) @ C2 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % ord_le_eq_subst
% 0.19/0.47  thf(fact_66_eq__iff,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( order @ A )
% 0.19/0.47       => ( ( ^ [Y4: A,Z: A] : ( Y4 = Z ) )
% 0.19/0.47          = ( ^ [X4: A,Y5: A] :
% 0.19/0.47                ( ( ord_less_eq @ A @ X4 @ Y5 )
% 0.19/0.47                & ( ord_less_eq @ A @ Y5 @ X4 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % eq_iff
% 0.19/0.47  thf(fact_67_antisym,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( order @ A )
% 0.19/0.47       => ! [X: A,Y: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ X @ Y )
% 0.19/0.47           => ( ( ord_less_eq @ A @ Y @ X )
% 0.19/0.47             => ( X = Y ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % antisym
% 0.19/0.47  thf(fact_68_linear,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [X: A,Y: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ X @ Y )
% 0.19/0.47            | ( ord_less_eq @ A @ Y @ X ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % linear
% 0.19/0.47  thf(fact_69_eq__refl,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( preorder @ A )
% 0.19/0.47       => ! [X: A,Y: A] :
% 0.19/0.47            ( ( X = Y )
% 0.19/0.47           => ( ord_less_eq @ A @ X @ Y ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % eq_refl
% 0.19/0.47  thf(fact_70_le__cases,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [X: A,Y: A] :
% 0.19/0.47            ( ~ ( ord_less_eq @ A @ X @ Y )
% 0.19/0.47           => ( ord_less_eq @ A @ Y @ X ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % le_cases
% 0.19/0.47  thf(fact_71_order_Otrans,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( order @ A )
% 0.19/0.47       => ! [A2: A,B2: A,C2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.19/0.47           => ( ( ord_less_eq @ A @ B2 @ C2 )
% 0.19/0.47             => ( ord_less_eq @ A @ A2 @ C2 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % order.trans
% 0.19/0.47  thf(fact_72_le__cases3,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [X: A,Y: A,Z2: A] :
% 0.19/0.47            ( ( ( ord_less_eq @ A @ X @ Y )
% 0.19/0.47             => ~ ( ord_less_eq @ A @ Y @ Z2 ) )
% 0.19/0.47           => ( ( ( ord_less_eq @ A @ Y @ X )
% 0.19/0.47               => ~ ( ord_less_eq @ A @ X @ Z2 ) )
% 0.19/0.47             => ( ( ( ord_less_eq @ A @ X @ Z2 )
% 0.19/0.47                 => ~ ( ord_less_eq @ A @ Z2 @ Y ) )
% 0.19/0.47               => ( ( ( ord_less_eq @ A @ Z2 @ Y )
% 0.19/0.47                   => ~ ( ord_less_eq @ A @ Y @ X ) )
% 0.19/0.47                 => ( ( ( ord_less_eq @ A @ Y @ Z2 )
% 0.19/0.47                     => ~ ( ord_less_eq @ A @ Z2 @ X ) )
% 0.19/0.47                   => ~ ( ( ord_less_eq @ A @ Z2 @ X )
% 0.19/0.47                       => ~ ( ord_less_eq @ A @ X @ Y ) ) ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % le_cases3
% 0.19/0.47  thf(fact_73_antisym__conv,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( order @ A )
% 0.19/0.47       => ! [Y: A,X: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ Y @ X )
% 0.19/0.47           => ( ( ord_less_eq @ A @ X @ Y )
% 0.19/0.47              = ( X = Y ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % antisym_conv
% 0.19/0.47  thf(fact_74_order__class_Oorder_Oeq__iff,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( order @ A )
% 0.19/0.47       => ( ( ^ [Y4: A,Z: A] : ( Y4 = Z ) )
% 0.19/0.47          = ( ^ [A5: A,B4: A] :
% 0.19/0.47                ( ( ord_less_eq @ A @ A5 @ B4 )
% 0.19/0.47                & ( ord_less_eq @ A @ B4 @ A5 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % order_class.order.eq_iff
% 0.19/0.47  thf(fact_75_ord__eq__le__trans,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ord @ A )
% 0.19/0.47       => ! [A2: A,B2: A,C2: A] :
% 0.19/0.47            ( ( A2 = B2 )
% 0.19/0.47           => ( ( ord_less_eq @ A @ B2 @ C2 )
% 0.19/0.47             => ( ord_less_eq @ A @ A2 @ C2 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % ord_eq_le_trans
% 0.19/0.47  thf(fact_76_ord__le__eq__trans,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ord @ A )
% 0.19/0.47       => ! [A2: A,B2: A,C2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.19/0.47           => ( ( B2 = C2 )
% 0.19/0.47             => ( ord_less_eq @ A @ A2 @ C2 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % ord_le_eq_trans
% 0.19/0.47  thf(fact_77_order__class_Oorder_Oantisym,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( order @ A )
% 0.19/0.47       => ! [A2: A,B2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.19/0.47           => ( ( ord_less_eq @ A @ B2 @ A2 )
% 0.19/0.47             => ( A2 = B2 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % order_class.order.antisym
% 0.19/0.47  thf(fact_78_order__trans,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( preorder @ A )
% 0.19/0.47       => ! [X: A,Y: A,Z2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ X @ Y )
% 0.19/0.47           => ( ( ord_less_eq @ A @ Y @ Z2 )
% 0.19/0.47             => ( ord_less_eq @ A @ X @ Z2 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % order_trans
% 0.19/0.47  thf(fact_79_dual__order_Orefl,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( order @ A )
% 0.19/0.47       => ! [A2: A] : ( ord_less_eq @ A @ A2 @ A2 ) ) ).
% 0.19/0.47  
% 0.19/0.47  % dual_order.refl
% 0.19/0.47  thf(fact_80_linorder__wlog,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [P: A > A > $o,A2: A,B2: A] :
% 0.19/0.47            ( ! [A6: A,B5: A] :
% 0.19/0.47                ( ( ord_less_eq @ A @ A6 @ B5 )
% 0.19/0.47               => ( P @ A6 @ B5 ) )
% 0.19/0.47           => ( ! [A6: A,B5: A] :
% 0.19/0.47                  ( ( P @ B5 @ A6 )
% 0.19/0.47                 => ( P @ A6 @ B5 ) )
% 0.19/0.47             => ( P @ A2 @ B2 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % linorder_wlog
% 0.19/0.47  thf(fact_81_dual__order_Otrans,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( order @ A )
% 0.19/0.47       => ! [B2: A,A2: A,C2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ B2 @ A2 )
% 0.19/0.47           => ( ( ord_less_eq @ A @ C2 @ B2 )
% 0.19/0.47             => ( ord_less_eq @ A @ C2 @ A2 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % dual_order.trans
% 0.19/0.47  thf(fact_82_dual__order_Oeq__iff,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( order @ A )
% 0.19/0.47       => ( ( ^ [Y4: A,Z: A] : ( Y4 = Z ) )
% 0.19/0.47          = ( ^ [A5: A,B4: A] :
% 0.19/0.47                ( ( ord_less_eq @ A @ B4 @ A5 )
% 0.19/0.47                & ( ord_less_eq @ A @ A5 @ B4 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % dual_order.eq_iff
% 0.19/0.47  thf(fact_83_dual__order_Oantisym,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( order @ A )
% 0.19/0.47       => ! [B2: A,A2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ B2 @ A2 )
% 0.19/0.47           => ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.19/0.47             => ( A2 = B2 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % dual_order.antisym
% 0.19/0.47  thf(fact_84_surj__pair,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType,P2: product_prod @ A @ B] :
% 0.19/0.47      ? [X5: A,Y3: B] :
% 0.19/0.47        ( P2
% 0.19/0.47        = ( product_Pair @ A @ B @ X5 @ Y3 ) ) ).
% 0.19/0.47  
% 0.19/0.47  % surj_pair
% 0.19/0.47  thf(fact_85_prod__cases,axiom,
% 0.19/0.47      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P2: product_prod @ A @ B] :
% 0.19/0.47        ( ! [A6: A,B5: B] : ( P @ ( product_Pair @ A @ B @ A6 @ B5 ) )
% 0.19/0.47       => ( P @ P2 ) ) ).
% 0.19/0.47  
% 0.19/0.47  % prod_cases
% 0.19/0.47  thf(fact_86_Pair__inject,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType,A2: A,B2: B,A3: A,B3: B] :
% 0.19/0.47        ( ( ( product_Pair @ A @ B @ A2 @ B2 )
% 0.19/0.47          = ( product_Pair @ A @ B @ A3 @ B3 ) )
% 0.19/0.47       => ~ ( ( A2 = A3 )
% 0.19/0.47           => ( B2 != B3 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Pair_inject
% 0.19/0.47  thf(fact_87_prod__cases3,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType,C: $tType,Y: product_prod @ A @ ( product_prod @ B @ C )] :
% 0.19/0.47        ~ ! [A6: A,B5: B,C3: C] :
% 0.19/0.47            ( Y
% 0.19/0.47           != ( product_Pair @ A @ ( product_prod @ B @ C ) @ A6 @ ( product_Pair @ B @ C @ B5 @ C3 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % prod_cases3
% 0.19/0.47  thf(fact_88_prod__cases4,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType,C: $tType,D: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
% 0.19/0.47        ~ ! [A6: A,B5: B,C3: C,D2: D] :
% 0.19/0.47            ( Y
% 0.19/0.47           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B5 @ ( product_Pair @ C @ D @ C3 @ D2 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % prod_cases4
% 0.19/0.47  thf(fact_89_prod__cases5,axiom,
% 0.19/0.47      ! [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.19/0.47        ~ ! [A6: A,B5: B,C3: C,D2: D,E2: E] :
% 0.19/0.47            ( Y
% 0.19/0.47           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C3 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % prod_cases5
% 0.19/0.47  thf(fact_90_prod__cases6,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F4: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F4 ) ) ) )] :
% 0.19/0.47        ~ ! [A6: A,B5: B,C3: C,D2: D,E2: E,F5: F4] :
% 0.19/0.47            ( Y
% 0.19/0.47           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F4 ) ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F4 ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F4 ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ F4 ) @ D2 @ ( product_Pair @ E @ F4 @ E2 @ F5 ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % prod_cases6
% 0.19/0.47  thf(fact_91_prod__cases7,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F4: $tType,G3: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) ) ) )] :
% 0.19/0.47        ~ ! [A6: A,B5: B,C3: C,D2: D,E2: E,F5: F4,G4: G3] :
% 0.19/0.47            ( Y
% 0.19/0.47           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F4 @ G3 ) @ E2 @ ( product_Pair @ F4 @ G3 @ F5 @ G4 ) ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % prod_cases7
% 0.19/0.47  thf(fact_92_prod__induct3,axiom,
% 0.19/0.47      ! [C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ C )] :
% 0.19/0.47        ( ! [A6: A,B5: B,C3: C] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A6 @ ( product_Pair @ B @ C @ B5 @ C3 ) ) )
% 0.19/0.47       => ( P @ X ) ) ).
% 0.19/0.47  
% 0.19/0.47  % prod_induct3
% 0.19/0.47  thf(fact_93_prod__induct4,axiom,
% 0.19/0.47      ! [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.19/0.47        ( ! [A6: A,B5: B,C3: C,D2: D] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B5 @ ( product_Pair @ C @ D @ C3 @ D2 ) ) ) )
% 0.19/0.47       => ( P @ X ) ) ).
% 0.19/0.47  
% 0.19/0.47  % prod_induct4
% 0.19/0.47  thf(fact_94_prod__induct5,axiom,
% 0.19/0.47      ! [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.19/0.47        ( ! [A6: A,B5: B,C3: C,D2: D,E2: E] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C3 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) )
% 0.19/0.47       => ( P @ X ) ) ).
% 0.19/0.47  
% 0.19/0.47  % prod_induct5
% 0.19/0.47  thf(fact_95_prod__induct6,axiom,
% 0.19/0.47      ! [F4: $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 @ F4 ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F4 ) ) ) )] :
% 0.19/0.47        ( ! [A6: A,B5: B,C3: C,D2: D,E2: E,F5: F4] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F4 ) ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F4 ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F4 ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ F4 ) @ D2 @ ( product_Pair @ E @ F4 @ E2 @ F5 ) ) ) ) ) )
% 0.19/0.47       => ( P @ X ) ) ).
% 0.19/0.47  
% 0.19/0.47  % prod_induct6
% 0.19/0.47  thf(fact_96_prod__induct7,axiom,
% 0.19/0.47      ! [G3: $tType,F4: $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 @ F4 @ G3 ) ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) ) ) )] :
% 0.19/0.47        ( ! [A6: A,B5: B,C3: C,D2: D,E2: E,F5: F4,G4: G3] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F4 @ G3 ) @ E2 @ ( product_Pair @ F4 @ G3 @ F5 @ G4 ) ) ) ) ) ) )
% 0.19/0.47       => ( P @ X ) ) ).
% 0.19/0.47  
% 0.19/0.47  % prod_induct7
% 0.19/0.47  thf(fact_97_old_Oprod_Oexhaust,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType,Y: product_prod @ A @ B] :
% 0.19/0.47        ~ ! [A6: A,B5: B] :
% 0.19/0.47            ( Y
% 0.19/0.47           != ( product_Pair @ A @ B @ A6 @ B5 ) ) ).
% 0.19/0.47  
% 0.19/0.47  % old.prod.exhaust
% 0.19/0.47  thf(fact_98_old_Oprod_Oinducts,axiom,
% 0.19/0.47      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
% 0.19/0.47        ( ! [A6: A,B5: B] : ( P @ ( product_Pair @ A @ B @ A6 @ B5 ) )
% 0.19/0.47       => ( P @ Prod ) ) ).
% 0.19/0.47  
% 0.19/0.47  % old.prod.inducts
% 0.19/0.47  thf(fact_99_old_Oprod_Orec,axiom,
% 0.19/0.47      ! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A2: A,B2: B] :
% 0.19/0.47        ( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 0.19/0.47        = ( F1 @ A2 @ B2 ) ) ).
% 0.19/0.47  
% 0.19/0.47  % old.prod.rec
% 0.19/0.47  thf(fact_100_add__mset__add__mset__same__iff,axiom,
% 0.19/0.47      ! [A: $tType,A2: A,A4: multiset @ A,B6: multiset @ A] :
% 0.19/0.47        ( ( ( add_mset @ A @ A2 @ A4 )
% 0.19/0.47          = ( add_mset @ A @ A2 @ B6 ) )
% 0.19/0.47        = ( A4 = B6 ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_mset_add_mset_same_iff
% 0.19/0.47  thf(fact_101_multi__self__add__other__not__self,axiom,
% 0.19/0.47      ! [A: $tType,M4: multiset @ A,X: A] :
% 0.19/0.47        ( M4
% 0.19/0.47       != ( add_mset @ A @ X @ M4 ) ) ).
% 0.19/0.47  
% 0.19/0.47  % multi_self_add_other_not_self
% 0.19/0.47  thf(fact_102_mset__add,axiom,
% 0.19/0.47      ! [A: $tType,A2: A,A4: multiset @ A] :
% 0.19/0.47        ( ( member @ A @ A2 @ ( set_mset @ A @ A4 ) )
% 0.19/0.47       => ~ ! [B7: multiset @ A] :
% 0.19/0.47              ( A4
% 0.19/0.47             != ( add_mset @ A @ A2 @ B7 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % mset_add
% 0.19/0.47  thf(fact_103_multi__member__split,axiom,
% 0.19/0.47      ! [A: $tType,X: A,M4: multiset @ A] :
% 0.19/0.47        ( ( member @ A @ X @ ( set_mset @ A @ M4 ) )
% 0.19/0.47       => ? [A7: multiset @ A] :
% 0.19/0.47            ( M4
% 0.19/0.47            = ( add_mset @ A @ X @ A7 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % multi_member_split
% 0.19/0.47  thf(fact_104_insert__noteq__member,axiom,
% 0.19/0.47      ! [A: $tType,B2: A,B6: multiset @ A,C2: A,C4: multiset @ A] :
% 0.19/0.47        ( ( ( add_mset @ A @ B2 @ B6 )
% 0.19/0.47          = ( add_mset @ A @ C2 @ C4 ) )
% 0.19/0.47       => ( ( B2 != C2 )
% 0.19/0.47         => ( member @ A @ C2 @ ( set_mset @ A @ B6 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % insert_noteq_member
% 0.19/0.47  thf(fact_105_union__single__eq__member,axiom,
% 0.19/0.47      ! [A: $tType,X: A,M4: multiset @ A,N: multiset @ A] :
% 0.19/0.47        ( ( ( add_mset @ A @ X @ M4 )
% 0.19/0.47          = N )
% 0.19/0.47       => ( member @ A @ X @ ( set_mset @ A @ N ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % union_single_eq_member
% 0.19/0.47  thf(fact_106_heap__top__max,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [T2: tree @ A] :
% 0.19/0.47            ( ( T2
% 0.19/0.47             != ( e @ A ) )
% 0.19/0.47           => ( ( is_heap @ A @ T2 )
% 0.19/0.47             => ( ( val @ A @ T2 )
% 0.19/0.47                = ( lattic929149872er_Max @ A @ ( set_mset @ A @ ( multiset2 @ A @ T2 ) ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % heap_top_max
% 0.19/0.47  thf(fact_107_add__mset__commute,axiom,
% 0.19/0.47      ! [A: $tType,X: A,Y: A,M4: multiset @ A] :
% 0.19/0.47        ( ( add_mset @ A @ X @ ( add_mset @ A @ Y @ M4 ) )
% 0.19/0.47        = ( add_mset @ A @ Y @ ( add_mset @ A @ X @ M4 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_mset_commute
% 0.19/0.47  thf(fact_108_add__eq__conv__ex,axiom,
% 0.19/0.47      ! [A: $tType,A2: A,M4: multiset @ A,B2: A,N: multiset @ A] :
% 0.19/0.47        ( ( ( add_mset @ A @ A2 @ M4 )
% 0.19/0.47          = ( add_mset @ A @ B2 @ N ) )
% 0.19/0.47        = ( ( ( M4 = N )
% 0.19/0.47            & ( A2 = B2 ) )
% 0.19/0.47          | ? [K: multiset @ A] :
% 0.19/0.47              ( ( M4
% 0.19/0.47                = ( add_mset @ A @ B2 @ K ) )
% 0.19/0.47              & ( N
% 0.19/0.47                = ( add_mset @ A @ A2 @ K ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_eq_conv_ex
% 0.19/0.47  thf(fact_109_internal__case__prod__conv,axiom,
% 0.19/0.47      ! [B: $tType,A: $tType,C: $tType,C2: B > C > A,A2: B,B2: C] :
% 0.19/0.47        ( ( produc2004651681e_prod @ B @ C @ A @ C2 @ ( product_Pair @ B @ C @ A2 @ B2 ) )
% 0.19/0.47        = ( C2 @ A2 @ B2 ) ) ).
% 0.19/0.47  
% 0.19/0.47  % internal_case_prod_conv
% 0.19/0.47  thf(fact_110_Collection_Ois__empty__empty,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType,Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A )] :
% 0.19/0.47        ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 0.19/0.47       => ( Is_empty @ Empty ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Collection.is_empty_empty
% 0.19/0.47  thf(fact_111_Collection_Ois__empty__inj,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType,Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),E3: B] :
% 0.19/0.47        ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 0.19/0.47       => ( ( Is_empty @ E3 )
% 0.19/0.47         => ( E3 = Empty ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Collection.is_empty_inj
% 0.19/0.47  thf(fact_112_Greatest__equality,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( order @ A )
% 0.19/0.47       => ! [P: A > $o,X: A] :
% 0.19/0.47            ( ( P @ X )
% 0.19/0.47           => ( ! [Y3: A] :
% 0.19/0.47                  ( ( P @ Y3 )
% 0.19/0.47                 => ( ord_less_eq @ A @ Y3 @ X ) )
% 0.19/0.47             => ( ( order_Greatest @ A @ P )
% 0.19/0.47                = X ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Greatest_equality
% 0.19/0.47  thf(fact_113_GreatestI2__order,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( order @ A )
% 0.19/0.47       => ! [P: A > $o,X: A,Q: A > $o] :
% 0.19/0.47            ( ( P @ X )
% 0.19/0.47           => ( ! [Y3: A] :
% 0.19/0.47                  ( ( P @ Y3 )
% 0.19/0.47                 => ( ord_less_eq @ A @ Y3 @ X ) )
% 0.19/0.47             => ( ! [X5: A] :
% 0.19/0.47                    ( ( P @ X5 )
% 0.19/0.47                   => ( ! [Y6: A] :
% 0.19/0.47                          ( ( P @ Y6 )
% 0.19/0.47                         => ( ord_less_eq @ A @ Y6 @ X5 ) )
% 0.19/0.47                     => ( Q @ X5 ) ) )
% 0.19/0.47               => ( Q @ ( order_Greatest @ A @ P ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % GreatestI2_order
% 0.19/0.47  thf(fact_114_Collection_Oset__def,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType,Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),L: B] :
% 0.19/0.47        ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 0.19/0.47       => ( ( set2 @ B @ A @ Multiset @ L )
% 0.19/0.47          = ( set_mset @ A @ ( Multiset @ L ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Collection.set_def
% 0.19/0.47  thf(fact_115_multiset__induct__min,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [P: ( multiset @ A ) > $o,M4: multiset @ A] :
% 0.19/0.47            ( ( P @ ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47           => ( ! [X5: A,M5: multiset @ A] :
% 0.19/0.47                  ( ( P @ M5 )
% 0.19/0.47                 => ( ! [Xa: A] :
% 0.19/0.47                        ( ( member @ A @ Xa @ ( set_mset @ A @ M5 ) )
% 0.19/0.47                       => ( ord_less_eq @ A @ X5 @ Xa ) )
% 0.19/0.47                   => ( P @ ( add_mset @ A @ X5 @ M5 ) ) ) )
% 0.19/0.47             => ( P @ M4 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % multiset_induct_min
% 0.19/0.47  thf(fact_116_multiset__induct__max,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [P: ( multiset @ A ) > $o,M4: multiset @ A] :
% 0.19/0.47            ( ( P @ ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47           => ( ! [X5: A,M5: multiset @ A] :
% 0.19/0.47                  ( ( P @ M5 )
% 0.19/0.47                 => ( ! [Xa: A] :
% 0.19/0.47                        ( ( member @ A @ Xa @ ( set_mset @ A @ M5 ) )
% 0.19/0.47                       => ( ord_less_eq @ A @ Xa @ X5 ) )
% 0.19/0.47                   => ( P @ ( add_mset @ A @ X5 @ M5 ) ) ) )
% 0.19/0.47             => ( P @ M4 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % multiset_induct_max
% 0.19/0.47  thf(fact_117_subrelI,axiom,
% 0.19/0.47      ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),S: set @ ( product_prod @ A @ B )] :
% 0.19/0.47        ( ! [X5: A,Y3: B] :
% 0.19/0.47            ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y3 ) @ R )
% 0.19/0.47           => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y3 ) @ S ) )
% 0.19/0.47       => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R @ S ) ) ).
% 0.19/0.47  
% 0.19/0.47  % subrelI
% 0.19/0.47  thf(fact_118_ssubst__Pair__rhs,axiom,
% 0.19/0.47      ! [B: $tType,A: $tType,R: A,S: B,R4: set @ ( product_prod @ A @ B ),S2: B] :
% 0.19/0.47        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R @ S ) @ R4 )
% 0.19/0.47       => ( ( S2 = S )
% 0.19/0.47         => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R @ S2 ) @ R4 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % ssubst_Pair_rhs
% 0.19/0.47  thf(fact_119_add__mset__eq__singleton__iff,axiom,
% 0.19/0.47      ! [A: $tType,X: A,M4: multiset @ A,Y: A] :
% 0.19/0.47        ( ( ( add_mset @ A @ X @ M4 )
% 0.19/0.47          = ( add_mset @ A @ Y @ ( zero_zero @ ( multiset @ A ) ) ) )
% 0.19/0.47        = ( ( M4
% 0.19/0.47            = ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47          & ( X = Y ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_mset_eq_singleton_iff
% 0.19/0.47  thf(fact_120_single__eq__add__mset,axiom,
% 0.19/0.47      ! [A: $tType,A2: A,B2: A,M4: multiset @ A] :
% 0.19/0.47        ( ( ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47          = ( add_mset @ A @ B2 @ M4 ) )
% 0.19/0.47        = ( ( B2 = A2 )
% 0.19/0.47          & ( M4
% 0.19/0.47            = ( zero_zero @ ( multiset @ A ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % single_eq_add_mset
% 0.19/0.47  thf(fact_121_add__mset__eq__single,axiom,
% 0.19/0.47      ! [A: $tType,B2: A,M4: multiset @ A,A2: A] :
% 0.19/0.47        ( ( ( add_mset @ A @ B2 @ M4 )
% 0.19/0.47          = ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) ) )
% 0.19/0.47        = ( ( B2 = A2 )
% 0.19/0.47          & ( M4
% 0.19/0.47            = ( zero_zero @ ( multiset @ A ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_mset_eq_single
% 0.19/0.47  thf(fact_122_single__eq__single,axiom,
% 0.19/0.47      ! [A: $tType,A2: A,B2: A] :
% 0.19/0.47        ( ( ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47          = ( add_mset @ A @ B2 @ ( zero_zero @ ( multiset @ A ) ) ) )
% 0.19/0.47        = ( A2 = B2 ) ) ).
% 0.19/0.47  
% 0.19/0.47  % single_eq_single
% 0.19/0.47  thf(fact_123_Collection_Oset_Ocong,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( set2 @ B @ A )
% 0.19/0.47        = ( set2 @ B @ A ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Collection.set.cong
% 0.19/0.47  thf(fact_124_multiset__cases,axiom,
% 0.19/0.47      ! [A: $tType,M4: multiset @ A] :
% 0.19/0.47        ( ( M4
% 0.19/0.47         != ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47       => ~ ! [X5: A,N2: multiset @ A] :
% 0.19/0.47              ( M4
% 0.19/0.47             != ( add_mset @ A @ X5 @ N2 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % multiset_cases
% 0.19/0.47  thf(fact_125_multiset__induct,axiom,
% 0.19/0.47      ! [A: $tType,P: ( multiset @ A ) > $o,M4: multiset @ A] :
% 0.19/0.47        ( ( P @ ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47       => ( ! [X5: A,M5: multiset @ A] :
% 0.19/0.47              ( ( P @ M5 )
% 0.19/0.47             => ( P @ ( add_mset @ A @ X5 @ M5 ) ) )
% 0.19/0.47         => ( P @ M4 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % multiset_induct
% 0.19/0.47  thf(fact_126_multiset__induct2,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType,P: ( multiset @ A ) > ( multiset @ B ) > $o,M4: multiset @ A,N: multiset @ B] :
% 0.19/0.47        ( ( P @ ( zero_zero @ ( multiset @ A ) ) @ ( zero_zero @ ( multiset @ B ) ) )
% 0.19/0.47       => ( ! [A6: A,M5: multiset @ A,N2: multiset @ B] :
% 0.19/0.47              ( ( P @ M5 @ N2 )
% 0.19/0.47             => ( P @ ( add_mset @ A @ A6 @ M5 ) @ N2 ) )
% 0.19/0.47         => ( ! [A6: B,M5: multiset @ A,N2: multiset @ B] :
% 0.19/0.47                ( ( P @ M5 @ N2 )
% 0.19/0.47               => ( P @ M5 @ ( add_mset @ B @ A6 @ N2 ) ) )
% 0.19/0.47           => ( P @ M4 @ N ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % multiset_induct2
% 0.19/0.47  thf(fact_127_empty__not__add__mset,axiom,
% 0.19/0.47      ! [A: $tType,A2: A,A4: multiset @ A] :
% 0.19/0.47        ( ( zero_zero @ ( multiset @ A ) )
% 0.19/0.47       != ( add_mset @ A @ A2 @ A4 ) ) ).
% 0.19/0.47  
% 0.19/0.47  % empty_not_add_mset
% 0.19/0.47  thf(fact_128_multi__nonempty__split,axiom,
% 0.19/0.47      ! [A: $tType,M4: multiset @ A] :
% 0.19/0.47        ( ( M4
% 0.19/0.47         != ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47       => ? [A7: multiset @ A,A6: A] :
% 0.19/0.47            ( M4
% 0.19/0.47            = ( add_mset @ A @ A6 @ A7 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % multi_nonempty_split
% 0.19/0.47  thf(fact_129_multiset__nonemptyE,axiom,
% 0.19/0.47      ! [A: $tType,A4: multiset @ A] :
% 0.19/0.47        ( ( A4
% 0.19/0.47         != ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47       => ~ ! [X5: A] :
% 0.19/0.47              ~ ( member @ A @ X5 @ ( set_mset @ A @ A4 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % multiset_nonemptyE
% 0.19/0.47  thf(fact_130_Collection_Omultiset__empty,axiom,
% 0.19/0.47      ! [B: $tType,A: $tType,Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A )] :
% 0.19/0.47        ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 0.19/0.47       => ( ( Multiset @ Empty )
% 0.19/0.47          = ( zero_zero @ ( multiset @ A ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Collection.multiset_empty
% 0.19/0.47  thf(fact_131_Collection_Ois__empty__as__list,axiom,
% 0.19/0.47      ! [B: $tType,A: $tType,Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),E3: B] :
% 0.19/0.47        ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 0.19/0.47       => ( ( Is_empty @ E3 )
% 0.19/0.47         => ( ( Multiset @ E3 )
% 0.19/0.47            = ( zero_zero @ ( multiset @ A ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Collection.is_empty_as_list
% 0.19/0.47  thf(fact_132_multi__member__last,axiom,
% 0.19/0.47      ! [A: $tType,X: A] : ( member @ A @ X @ ( set_mset @ A @ ( add_mset @ A @ X @ ( zero_zero @ ( multiset @ A ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % multi_member_last
% 0.19/0.47  thf(fact_133_multiset_Osimps_I1_J,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( multiset2 @ A @ ( e @ A ) )
% 0.19/0.47        = ( zero_zero @ ( multiset @ A ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % multiset.simps(1)
% 0.19/0.47  thf(fact_134_le__zero__eq,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( canoni770627133id_add @ A )
% 0.19/0.47       => ! [N3: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ N3 @ ( zero_zero @ A ) )
% 0.19/0.47            = ( N3
% 0.19/0.47              = ( zero_zero @ A ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % le_zero_eq
% 0.19/0.47  thf(fact_135_RemoveMax__axioms_Ointro,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [Inv: B > $o,Of_list: ( list @ A ) > B,Is_empty: B > $o,Remove_max: B > ( product_prod @ A @ B ),Multiset: B > ( multiset @ A )] :
% 0.19/0.47            ( ! [X5: list @ A] : ( Inv @ ( Of_list @ X5 ) )
% 0.19/0.47           => ( ! [L4: B,M2: A,L3: B] :
% 0.19/0.47                  ( ~ ( Is_empty @ L4 )
% 0.19/0.47                 => ( ( Inv @ L4 )
% 0.19/0.47                   => ( ( ( product_Pair @ A @ B @ M2 @ L3 )
% 0.19/0.47                        = ( Remove_max @ L4 ) )
% 0.19/0.47                     => ( M2
% 0.19/0.47                        = ( lattic929149872er_Max @ A @ ( set2 @ B @ A @ Multiset @ L4 ) ) ) ) ) )
% 0.19/0.47             => ( ! [L4: B,M2: A,L3: B] :
% 0.19/0.47                    ( ~ ( Is_empty @ L4 )
% 0.19/0.47                   => ( ( Inv @ L4 )
% 0.19/0.47                     => ( ( ( product_Pair @ A @ B @ M2 @ L3 )
% 0.19/0.47                          = ( Remove_max @ L4 ) )
% 0.19/0.47                       => ( ( add_mset @ A @ M2 @ ( Multiset @ L3 ) )
% 0.19/0.47                          = ( Multiset @ L4 ) ) ) ) )
% 0.19/0.47               => ( ! [L4: B,M2: A,L3: B] :
% 0.19/0.47                      ( ~ ( Is_empty @ L4 )
% 0.19/0.47                     => ( ( Inv @ L4 )
% 0.19/0.47                       => ( ( ( product_Pair @ A @ B @ M2 @ L3 )
% 0.19/0.47                            = ( Remove_max @ L4 ) )
% 0.19/0.47                         => ( Inv @ L3 ) ) ) )
% 0.19/0.47                 => ( removeMax_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % RemoveMax_axioms.intro
% 0.19/0.47  thf(fact_136_RemoveMax__axioms__def,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ( ( removeMax_axioms @ B @ A )
% 0.19/0.47          = ( ^ [Is_empty2: B > $o,Of_list2: ( list @ A ) > B,Multiset2: B > ( multiset @ A ),Remove_max2: B > ( product_prod @ A @ B ),Inv2: B > $o] :
% 0.19/0.47                ( ! [X4: list @ A] : ( Inv2 @ ( Of_list2 @ X4 ) )
% 0.19/0.47                & ! [L5: B,M3: A,L6: B] :
% 0.19/0.47                    ( ~ ( Is_empty2 @ L5 )
% 0.19/0.47                   => ( ( Inv2 @ L5 )
% 0.19/0.47                     => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 0.19/0.47                          = ( Remove_max2 @ L5 ) )
% 0.19/0.47                       => ( M3
% 0.19/0.47                          = ( lattic929149872er_Max @ A @ ( set2 @ B @ A @ Multiset2 @ L5 ) ) ) ) ) )
% 0.19/0.47                & ! [L5: B,M3: A,L6: B] :
% 0.19/0.47                    ( ~ ( Is_empty2 @ L5 )
% 0.19/0.47                   => ( ( Inv2 @ L5 )
% 0.19/0.47                     => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 0.19/0.47                          = ( Remove_max2 @ L5 ) )
% 0.19/0.47                       => ( ( add_mset @ A @ M3 @ ( Multiset2 @ L6 ) )
% 0.19/0.47                          = ( Multiset2 @ L5 ) ) ) ) )
% 0.19/0.47                & ! [L5: B,M3: A,L6: B] :
% 0.19/0.47                    ( ~ ( Is_empty2 @ L5 )
% 0.19/0.47                   => ( ( Inv2 @ L5 )
% 0.19/0.47                     => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 0.19/0.47                          = ( Remove_max2 @ L5 ) )
% 0.19/0.47                       => ( Inv2 @ L6 ) ) ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % RemoveMax_axioms_def
% 0.19/0.47  thf(fact_137_Multiset_Ois__empty__def,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( is_empty @ A )
% 0.19/0.47        = ( ^ [A8: multiset @ A] :
% 0.19/0.47              ( A8
% 0.19/0.47              = ( zero_zero @ ( multiset @ A ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % Multiset.is_empty_def
% 0.19/0.47  thf(fact_138_zero__le,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( canoni770627133id_add @ A )
% 0.19/0.47       => ! [X: A] : ( ord_less_eq @ A @ ( zero_zero @ A ) @ X ) ) ).
% 0.19/0.47  
% 0.19/0.47  % zero_le
% 0.19/0.47  thf(fact_139_le__numeral__extra_I3_J,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linord1659791738miring @ A )
% 0.19/0.47       => ( ord_less_eq @ A @ ( zero_zero @ A ) @ ( zero_zero @ A ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % le_numeral_extra(3)
% 0.19/0.47  thf(fact_140_multiset_Osimps_I2_J,axiom,
% 0.19/0.47      ! [A: $tType,V: A,L: tree @ A,R: tree @ A] :
% 0.19/0.47        ( ( multiset2 @ A @ ( t @ A @ V @ L @ R ) )
% 0.19/0.47        = ( plus_plus @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) @ ( multiset2 @ A @ L ) @ ( add_mset @ A @ V @ ( zero_zero @ ( multiset @ A ) ) ) ) @ ( multiset2 @ A @ R ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % multiset.simps(2)
% 0.19/0.47  thf(fact_141_RemoveMax_Oremove__max__max,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),Remove_max: B > ( product_prod @ A @ B ),Inv: B > $o,L: B,M: A,L2: B] :
% 0.19/0.47            ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.19/0.47           => ( ~ ( Is_empty @ L )
% 0.19/0.47             => ( ( Inv @ L )
% 0.19/0.47               => ( ( ( product_Pair @ A @ B @ M @ L2 )
% 0.19/0.47                    = ( Remove_max @ L ) )
% 0.19/0.47                 => ( M
% 0.19/0.47                    = ( lattic929149872er_Max @ A @ ( set2 @ B @ A @ Multiset @ L ) ) ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % RemoveMax.remove_max_max
% 0.19/0.47  thf(fact_142_divides__aux__eq,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( unique1598680935umeral @ A )
% 0.19/0.47       => ! [Q2: A,R: A] :
% 0.19/0.47            ( ( unique455577585es_aux @ A @ ( product_Pair @ A @ A @ Q2 @ R ) )
% 0.19/0.47            = ( R
% 0.19/0.47              = ( zero_zero @ A ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % divides_aux_eq
% 0.19/0.47  thf(fact_143_add__le__cancel__right,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere236663937imp_le @ A )
% 0.19/0.47       => ! [A2: A,C2: A,B2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ C2 ) @ ( plus_plus @ A @ B2 @ C2 ) )
% 0.19/0.47            = ( ord_less_eq @ A @ A2 @ B2 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_le_cancel_right
% 0.19/0.47  thf(fact_144_add__le__cancel__left,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere236663937imp_le @ A )
% 0.19/0.47       => ! [C2: A,A2: A,B2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ ( plus_plus @ A @ C2 @ A2 ) @ ( plus_plus @ A @ C2 @ B2 ) )
% 0.19/0.47            = ( ord_less_eq @ A @ A2 @ B2 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_le_cancel_left
% 0.19/0.47  thf(fact_145_subset__mset_Ozero__eq__add__iff__both__eq__0,axiom,
% 0.19/0.47      ! [A: $tType,X: multiset @ A,Y: multiset @ A] :
% 0.19/0.47        ( ( ( zero_zero @ ( multiset @ A ) )
% 0.19/0.47          = ( plus_plus @ ( multiset @ A ) @ X @ Y ) )
% 0.19/0.47        = ( ( X
% 0.19/0.47            = ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47          & ( Y
% 0.19/0.47            = ( zero_zero @ ( multiset @ A ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % subset_mset.zero_eq_add_iff_both_eq_0
% 0.19/0.47  thf(fact_146_subset__mset_Oadd__eq__0__iff__both__eq__0,axiom,
% 0.19/0.47      ! [A: $tType,X: multiset @ A,Y: multiset @ A] :
% 0.19/0.47        ( ( ( plus_plus @ ( multiset @ A ) @ X @ Y )
% 0.19/0.47          = ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47        = ( ( X
% 0.19/0.47            = ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47          & ( Y
% 0.19/0.47            = ( zero_zero @ ( multiset @ A ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % subset_mset.add_eq_0_iff_both_eq_0
% 0.19/0.47  thf(fact_147_union__eq__empty,axiom,
% 0.19/0.47      ! [A: $tType,M4: multiset @ A,N: multiset @ A] :
% 0.19/0.47        ( ( ( plus_plus @ ( multiset @ A ) @ M4 @ N )
% 0.19/0.47          = ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47        = ( ( M4
% 0.19/0.47            = ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47          & ( N
% 0.19/0.47            = ( zero_zero @ ( multiset @ A ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % union_eq_empty
% 0.19/0.47  thf(fact_148_empty__eq__union,axiom,
% 0.19/0.47      ! [A: $tType,M4: multiset @ A,N: multiset @ A] :
% 0.19/0.47        ( ( ( zero_zero @ ( multiset @ A ) )
% 0.19/0.47          = ( plus_plus @ ( multiset @ A ) @ M4 @ N ) )
% 0.19/0.47        = ( ( M4
% 0.19/0.47            = ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47          & ( N
% 0.19/0.47            = ( zero_zero @ ( multiset @ A ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % empty_eq_union
% 0.19/0.47  thf(fact_149_union__mset__add__mset__right,axiom,
% 0.19/0.47      ! [A: $tType,A4: multiset @ A,A2: A,B6: multiset @ A] :
% 0.19/0.47        ( ( plus_plus @ ( multiset @ A ) @ A4 @ ( add_mset @ A @ A2 @ B6 ) )
% 0.19/0.47        = ( add_mset @ A @ A2 @ ( plus_plus @ ( multiset @ A ) @ A4 @ B6 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % union_mset_add_mset_right
% 0.19/0.47  thf(fact_150_union__mset__add__mset__left,axiom,
% 0.19/0.47      ! [A: $tType,A2: A,A4: multiset @ A,B6: multiset @ A] :
% 0.19/0.47        ( ( plus_plus @ ( multiset @ A ) @ ( add_mset @ A @ A2 @ A4 ) @ B6 )
% 0.19/0.47        = ( add_mset @ A @ A2 @ ( plus_plus @ ( multiset @ A ) @ A4 @ B6 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % union_mset_add_mset_left
% 0.19/0.47  thf(fact_151_zero__le__double__add__iff__zero__le__single__add,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linord219039673up_add @ A )
% 0.19/0.47       => ! [A2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ ( zero_zero @ A ) @ ( plus_plus @ A @ A2 @ A2 ) )
% 0.19/0.47            = ( ord_less_eq @ A @ ( zero_zero @ A ) @ A2 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % zero_le_double_add_iff_zero_le_single_add
% 0.19/0.47  thf(fact_152_double__add__le__zero__iff__single__add__le__zero,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( linord219039673up_add @ A )
% 0.19/0.47       => ! [A2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ A2 ) @ ( zero_zero @ A ) )
% 0.19/0.47            = ( ord_less_eq @ A @ A2 @ ( zero_zero @ A ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % double_add_le_zero_iff_single_add_le_zero
% 0.19/0.47  thf(fact_153_le__add__same__cancel2,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere516151231imp_le @ A )
% 0.19/0.47       => ! [A2: A,B2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ A2 @ ( plus_plus @ A @ B2 @ A2 ) )
% 0.19/0.47            = ( ord_less_eq @ A @ ( zero_zero @ A ) @ B2 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % le_add_same_cancel2
% 0.19/0.47  thf(fact_154_le__add__same__cancel1,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere516151231imp_le @ A )
% 0.19/0.47       => ! [A2: A,B2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ A2 @ ( plus_plus @ A @ A2 @ B2 ) )
% 0.19/0.47            = ( ord_less_eq @ A @ ( zero_zero @ A ) @ B2 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % le_add_same_cancel1
% 0.19/0.47  thf(fact_155_add__le__same__cancel2,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere516151231imp_le @ A )
% 0.19/0.47       => ! [A2: A,B2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ B2 ) @ B2 )
% 0.19/0.47            = ( ord_less_eq @ A @ A2 @ ( zero_zero @ A ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_le_same_cancel2
% 0.19/0.47  thf(fact_156_add__le__same__cancel1,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere516151231imp_le @ A )
% 0.19/0.47       => ! [B2: A,A2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ ( plus_plus @ A @ B2 @ A2 ) @ B2 )
% 0.19/0.47            = ( ord_less_eq @ A @ A2 @ ( zero_zero @ A ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_le_same_cancel1
% 0.19/0.47  thf(fact_157_add__le__imp__le__right,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere236663937imp_le @ A )
% 0.19/0.47       => ! [A2: A,C2: A,B2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ C2 ) @ ( plus_plus @ A @ B2 @ C2 ) )
% 0.19/0.47           => ( ord_less_eq @ A @ A2 @ B2 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_le_imp_le_right
% 0.19/0.47  thf(fact_158_add__le__imp__le__left,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere236663937imp_le @ A )
% 0.19/0.47       => ! [C2: A,A2: A,B2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ ( plus_plus @ A @ C2 @ A2 ) @ ( plus_plus @ A @ C2 @ B2 ) )
% 0.19/0.47           => ( ord_less_eq @ A @ A2 @ B2 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_le_imp_le_left
% 0.19/0.47  thf(fact_159_le__iff__add,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( canoni770627133id_add @ A )
% 0.19/0.47       => ( ( ord_less_eq @ A )
% 0.19/0.47          = ( ^ [A5: A,B4: A] :
% 0.19/0.47              ? [C5: A] :
% 0.19/0.47                ( B4
% 0.19/0.47                = ( plus_plus @ A @ A5 @ C5 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % le_iff_add
% 0.19/0.47  thf(fact_160_add__right__mono,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere779506340up_add @ A )
% 0.19/0.47       => ! [A2: A,B2: A,C2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.19/0.47           => ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ C2 ) @ ( plus_plus @ A @ B2 @ C2 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_right_mono
% 0.19/0.47  thf(fact_161_less__eqE,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( canoni770627133id_add @ A )
% 0.19/0.47       => ! [A2: A,B2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.19/0.47           => ~ ! [C3: A] :
% 0.19/0.47                  ( B2
% 0.19/0.47                 != ( plus_plus @ A @ A2 @ C3 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % less_eqE
% 0.19/0.47  thf(fact_162_add__left__mono,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere779506340up_add @ A )
% 0.19/0.47       => ! [A2: A,B2: A,C2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.19/0.47           => ( ord_less_eq @ A @ ( plus_plus @ A @ C2 @ A2 ) @ ( plus_plus @ A @ C2 @ B2 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_left_mono
% 0.19/0.47  thf(fact_163_add__mono,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere779506340up_add @ A )
% 0.19/0.47       => ! [A2: A,B2: A,C2: A,D3: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.19/0.47           => ( ( ord_less_eq @ A @ C2 @ D3 )
% 0.19/0.47             => ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ C2 ) @ ( plus_plus @ A @ B2 @ D3 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_mono
% 0.19/0.47  thf(fact_164_add__mono__thms__linordered__semiring_I1_J,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere779506340up_add @ A )
% 0.19/0.47       => ! [I: A,J2: A,K2: A,L: A] :
% 0.19/0.47            ( ( ( ord_less_eq @ A @ I @ J2 )
% 0.19/0.47              & ( ord_less_eq @ A @ K2 @ L ) )
% 0.19/0.47           => ( ord_less_eq @ A @ ( plus_plus @ A @ I @ K2 ) @ ( plus_plus @ A @ J2 @ L ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_mono_thms_linordered_semiring(1)
% 0.19/0.47  thf(fact_165_add__mono__thms__linordered__semiring_I2_J,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere779506340up_add @ A )
% 0.19/0.47       => ! [I: A,J2: A,K2: A,L: A] :
% 0.19/0.47            ( ( ( I = J2 )
% 0.19/0.47              & ( ord_less_eq @ A @ K2 @ L ) )
% 0.19/0.47           => ( ord_less_eq @ A @ ( plus_plus @ A @ I @ K2 ) @ ( plus_plus @ A @ J2 @ L ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_mono_thms_linordered_semiring(2)
% 0.19/0.47  thf(fact_166_add__mono__thms__linordered__semiring_I3_J,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere779506340up_add @ A )
% 0.19/0.47       => ! [I: A,J2: A,K2: A,L: A] :
% 0.19/0.47            ( ( ( ord_less_eq @ A @ I @ J2 )
% 0.19/0.47              & ( K2 = L ) )
% 0.19/0.47           => ( ord_less_eq @ A @ ( plus_plus @ A @ I @ K2 ) @ ( plus_plus @ A @ J2 @ L ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_mono_thms_linordered_semiring(3)
% 0.19/0.47  thf(fact_167_empty__neutral_I2_J,axiom,
% 0.19/0.47      ! [A: $tType,X: multiset @ A] :
% 0.19/0.47        ( ( plus_plus @ ( multiset @ A ) @ X @ ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47        = X ) ).
% 0.19/0.47  
% 0.19/0.47  % empty_neutral(2)
% 0.19/0.47  thf(fact_168_empty__neutral_I1_J,axiom,
% 0.19/0.47      ! [A: $tType,X: multiset @ A] :
% 0.19/0.47        ( ( plus_plus @ ( multiset @ A ) @ ( zero_zero @ ( multiset @ A ) ) @ X )
% 0.19/0.47        = X ) ).
% 0.19/0.47  
% 0.19/0.47  % empty_neutral(1)
% 0.19/0.47  thf(fact_169_RemoveMax_Oremove__max__inv,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),Remove_max: B > ( product_prod @ A @ B ),Inv: B > $o,L: B,M: A,L2: B] :
% 0.19/0.47            ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.19/0.47           => ( ~ ( Is_empty @ L )
% 0.19/0.47             => ( ( Inv @ L )
% 0.19/0.47               => ( ( ( product_Pair @ A @ B @ M @ L2 )
% 0.19/0.47                    = ( Remove_max @ L ) )
% 0.19/0.47                 => ( Inv @ L2 ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % RemoveMax.remove_max_inv
% 0.19/0.47  thf(fact_170_RemoveMax_Oof__list__inv,axiom,
% 0.19/0.47      ! [B: $tType,A: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),Remove_max: B > ( product_prod @ A @ B ),Inv: B > $o,X: list @ A] :
% 0.19/0.47            ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.19/0.47           => ( Inv @ ( Of_list @ X ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % RemoveMax.of_list_inv
% 0.19/0.47  thf(fact_171_union__iff,axiom,
% 0.19/0.47      ! [A: $tType,A2: A,A4: multiset @ A,B6: multiset @ A] :
% 0.19/0.47        ( ( member @ A @ A2 @ ( set_mset @ A @ ( plus_plus @ ( multiset @ A ) @ A4 @ B6 ) ) )
% 0.19/0.47        = ( ( member @ A @ A2 @ ( set_mset @ A @ A4 ) )
% 0.19/0.47          | ( member @ A @ A2 @ ( set_mset @ A @ B6 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % union_iff
% 0.19/0.47  thf(fact_172_union__assoc,axiom,
% 0.19/0.47      ! [A: $tType,M4: multiset @ A,N: multiset @ A,K3: multiset @ A] :
% 0.19/0.47        ( ( plus_plus @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) @ M4 @ N ) @ K3 )
% 0.19/0.47        = ( plus_plus @ ( multiset @ A ) @ M4 @ ( plus_plus @ ( multiset @ A ) @ N @ K3 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % union_assoc
% 0.19/0.47  thf(fact_173_union__lcomm,axiom,
% 0.19/0.47      ! [A: $tType,M4: multiset @ A,N: multiset @ A,K3: multiset @ A] :
% 0.19/0.47        ( ( plus_plus @ ( multiset @ A ) @ M4 @ ( plus_plus @ ( multiset @ A ) @ N @ K3 ) )
% 0.19/0.47        = ( plus_plus @ ( multiset @ A ) @ N @ ( plus_plus @ ( multiset @ A ) @ M4 @ K3 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % union_lcomm
% 0.19/0.47  thf(fact_174_union__commute,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( plus_plus @ ( multiset @ A ) )
% 0.19/0.47        = ( ^ [M6: multiset @ A,N4: multiset @ A] : ( plus_plus @ ( multiset @ A ) @ N4 @ M6 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % union_commute
% 0.19/0.47  thf(fact_175_union__left__cancel,axiom,
% 0.19/0.47      ! [A: $tType,K3: multiset @ A,M4: multiset @ A,N: multiset @ A] :
% 0.19/0.47        ( ( ( plus_plus @ ( multiset @ A ) @ K3 @ M4 )
% 0.19/0.47          = ( plus_plus @ ( multiset @ A ) @ K3 @ N ) )
% 0.19/0.47        = ( M4 = N ) ) ).
% 0.19/0.47  
% 0.19/0.47  % union_left_cancel
% 0.19/0.47  thf(fact_176_union__right__cancel,axiom,
% 0.19/0.47      ! [A: $tType,M4: multiset @ A,K3: multiset @ A,N: multiset @ A] :
% 0.19/0.47        ( ( ( plus_plus @ ( multiset @ A ) @ M4 @ K3 )
% 0.19/0.47          = ( plus_plus @ ( multiset @ A ) @ N @ K3 ) )
% 0.19/0.47        = ( M4 = N ) ) ).
% 0.19/0.47  
% 0.19/0.47  % union_right_cancel
% 0.19/0.47  thf(fact_177_multi__union__self__other__eq,axiom,
% 0.19/0.47      ! [A: $tType,A4: multiset @ A,X6: multiset @ A,Y7: multiset @ A] :
% 0.19/0.47        ( ( ( plus_plus @ ( multiset @ A ) @ A4 @ X6 )
% 0.19/0.47          = ( plus_plus @ ( multiset @ A ) @ A4 @ Y7 ) )
% 0.19/0.47       => ( X6 = Y7 ) ) ).
% 0.19/0.47  
% 0.19/0.47  % multi_union_self_other_eq
% 0.19/0.47  thf(fact_178_RemoveMax_Oaxioms_I1_J,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),Remove_max: B > ( product_prod @ A @ B ),Inv: B > $o] :
% 0.19/0.47            ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.19/0.47           => ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % RemoveMax.axioms(1)
% 0.19/0.47  thf(fact_179_add__decreasing,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere216010020id_add @ A )
% 0.19/0.47       => ! [A2: A,C2: A,B2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ A2 @ ( zero_zero @ A ) )
% 0.19/0.47           => ( ( ord_less_eq @ A @ C2 @ B2 )
% 0.19/0.47             => ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ C2 ) @ B2 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_decreasing
% 0.19/0.47  thf(fact_180_add__increasing,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere216010020id_add @ A )
% 0.19/0.47       => ! [A2: A,B2: A,C2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ ( zero_zero @ A ) @ A2 )
% 0.19/0.47           => ( ( ord_less_eq @ A @ B2 @ C2 )
% 0.19/0.47             => ( ord_less_eq @ A @ B2 @ ( plus_plus @ A @ A2 @ C2 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_increasing
% 0.19/0.47  thf(fact_181_add__decreasing2,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere216010020id_add @ A )
% 0.19/0.47       => ! [C2: A,A2: A,B2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ C2 @ ( zero_zero @ A ) )
% 0.19/0.47           => ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.19/0.47             => ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ C2 ) @ B2 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_decreasing2
% 0.19/0.47  thf(fact_182_add__increasing2,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere216010020id_add @ A )
% 0.19/0.47       => ! [C2: A,B2: A,A2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ ( zero_zero @ A ) @ C2 )
% 0.19/0.47           => ( ( ord_less_eq @ A @ B2 @ A2 )
% 0.19/0.47             => ( ord_less_eq @ A @ B2 @ ( plus_plus @ A @ A2 @ C2 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_increasing2
% 0.19/0.47  thf(fact_183_add__nonneg__nonneg,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere216010020id_add @ A )
% 0.19/0.47       => ! [A2: A,B2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ ( zero_zero @ A ) @ A2 )
% 0.19/0.47           => ( ( ord_less_eq @ A @ ( zero_zero @ A ) @ B2 )
% 0.19/0.47             => ( ord_less_eq @ A @ ( zero_zero @ A ) @ ( plus_plus @ A @ A2 @ B2 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_nonneg_nonneg
% 0.19/0.47  thf(fact_184_add__nonpos__nonpos,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere216010020id_add @ A )
% 0.19/0.47       => ! [A2: A,B2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ A2 @ ( zero_zero @ A ) )
% 0.19/0.47           => ( ( ord_less_eq @ A @ B2 @ ( zero_zero @ A ) )
% 0.19/0.47             => ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ B2 ) @ ( zero_zero @ A ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_nonpos_nonpos
% 0.19/0.47  thf(fact_185_add__nonneg__eq__0__iff,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere216010020id_add @ A )
% 0.19/0.47       => ! [X: A,Y: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ ( zero_zero @ A ) @ X )
% 0.19/0.47           => ( ( ord_less_eq @ A @ ( zero_zero @ A ) @ Y )
% 0.19/0.47             => ( ( ( plus_plus @ A @ X @ Y )
% 0.19/0.47                  = ( zero_zero @ A ) )
% 0.19/0.47                = ( ( X
% 0.19/0.47                    = ( zero_zero @ A ) )
% 0.19/0.47                  & ( Y
% 0.19/0.47                    = ( zero_zero @ A ) ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_nonneg_eq_0_iff
% 0.19/0.47  thf(fact_186_add__nonpos__eq__0__iff,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordere216010020id_add @ A )
% 0.19/0.47       => ! [X: A,Y: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ X @ ( zero_zero @ A ) )
% 0.19/0.47           => ( ( ord_less_eq @ A @ Y @ ( zero_zero @ A ) )
% 0.19/0.47             => ( ( ( plus_plus @ A @ X @ Y )
% 0.19/0.47                  = ( zero_zero @ A ) )
% 0.19/0.47                = ( ( X
% 0.19/0.47                    = ( zero_zero @ A ) )
% 0.19/0.47                  & ( Y
% 0.19/0.47                    = ( zero_zero @ A ) ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_nonpos_eq_0_iff
% 0.19/0.47  thf(fact_187_RemoveMax_Oaxioms_I2_J,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),Remove_max: B > ( product_prod @ A @ B ),Inv: B > $o] :
% 0.19/0.47            ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.19/0.47           => ( removeMax_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % RemoveMax.axioms(2)
% 0.19/0.47  thf(fact_188_add__mset__add__single,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( add_mset @ A )
% 0.19/0.47        = ( ^ [A5: A,A8: multiset @ A] : ( plus_plus @ ( multiset @ A ) @ A8 @ ( add_mset @ A @ A5 @ ( zero_zero @ ( multiset @ A ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_mset_add_single
% 0.19/0.47  thf(fact_189_union__is__single,axiom,
% 0.19/0.47      ! [A: $tType,M4: multiset @ A,N: multiset @ A,A2: A] :
% 0.19/0.47        ( ( ( plus_plus @ ( multiset @ A ) @ M4 @ N )
% 0.19/0.47          = ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) ) )
% 0.19/0.47        = ( ( ( M4
% 0.19/0.47              = ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) ) )
% 0.19/0.47            & ( N
% 0.19/0.47              = ( zero_zero @ ( multiset @ A ) ) ) )
% 0.19/0.47          | ( ( M4
% 0.19/0.47              = ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47            & ( N
% 0.19/0.47              = ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % union_is_single
% 0.19/0.47  thf(fact_190_single__is__union,axiom,
% 0.19/0.47      ! [A: $tType,A2: A,M4: multiset @ A,N: multiset @ A] :
% 0.19/0.47        ( ( ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47          = ( plus_plus @ ( multiset @ A ) @ M4 @ N ) )
% 0.19/0.47        = ( ( ( ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47              = M4 )
% 0.19/0.47            & ( N
% 0.19/0.47              = ( zero_zero @ ( multiset @ A ) ) ) )
% 0.19/0.47          | ( ( M4
% 0.19/0.47              = ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47            & ( ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47              = N ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % single_is_union
% 0.19/0.47  thf(fact_191_RemoveMax_Oremove__max__multiset,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),Remove_max: B > ( product_prod @ A @ B ),Inv: B > $o,L: B,M: A,L2: B] :
% 0.19/0.47            ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.19/0.47           => ( ~ ( Is_empty @ L )
% 0.19/0.47             => ( ( Inv @ L )
% 0.19/0.47               => ( ( ( product_Pair @ A @ B @ M @ L2 )
% 0.19/0.47                    = ( Remove_max @ L ) )
% 0.19/0.47                 => ( ( add_mset @ A @ M @ ( Multiset @ L2 ) )
% 0.19/0.47                    = ( Multiset @ L ) ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % RemoveMax.remove_max_multiset
% 0.19/0.47  thf(fact_192_multi__member__skip,axiom,
% 0.19/0.47      ! [A: $tType,X: A,XS: multiset @ A,Y: A] :
% 0.19/0.47        ( ( member @ A @ X @ ( set_mset @ A @ XS ) )
% 0.19/0.47       => ( member @ A @ X @ ( set_mset @ A @ ( plus_plus @ ( multiset @ A ) @ ( add_mset @ A @ Y @ ( zero_zero @ ( multiset @ A ) ) ) @ XS ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % multi_member_skip
% 0.19/0.47  thf(fact_193_multi__member__this,axiom,
% 0.19/0.47      ! [A: $tType,X: A,XS: multiset @ A] : ( member @ A @ X @ ( set_mset @ A @ ( plus_plus @ ( multiset @ A ) @ ( add_mset @ A @ X @ ( zero_zero @ ( multiset @ A ) ) ) @ XS ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % multi_member_this
% 0.19/0.47  thf(fact_194_RemoveMax_Ointro,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),Remove_max: B > ( product_prod @ A @ B ),Inv: B > $o] :
% 0.19/0.47            ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 0.19/0.47           => ( ( removeMax_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.19/0.47             => ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % RemoveMax.intro
% 0.19/0.47  thf(fact_195_RemoveMax__def,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType] :
% 0.19/0.47        ( ( linorder @ A )
% 0.19/0.47       => ( ( removeMax @ B @ A )
% 0.19/0.47          = ( ^ [Empty2: B,Is_empty2: B > $o,Of_list2: ( list @ A ) > B,Multiset2: B > ( multiset @ A ),Remove_max2: B > ( product_prod @ A @ B ),Inv2: B > $o] :
% 0.19/0.47                ( ( collection @ B @ A @ Empty2 @ Is_empty2 @ Of_list2 @ Multiset2 )
% 0.19/0.47                & ( removeMax_axioms @ B @ A @ Is_empty2 @ Of_list2 @ Multiset2 @ Remove_max2 @ Inv2 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % RemoveMax_def
% 0.19/0.47  thf(fact_196_mult1E,axiom,
% 0.19/0.47      ! [A: $tType,N: multiset @ A,M4: multiset @ A,R: set @ ( product_prod @ A @ A )] :
% 0.19/0.47        ( ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ N @ M4 ) @ ( mult1 @ A @ R ) )
% 0.19/0.47       => ~ ! [A6: A,M0: multiset @ A] :
% 0.19/0.47              ( ( M4
% 0.19/0.47                = ( add_mset @ A @ A6 @ M0 ) )
% 0.19/0.47             => ! [K4: multiset @ A] :
% 0.19/0.47                  ( ( N
% 0.19/0.47                    = ( plus_plus @ ( multiset @ A ) @ M0 @ K4 ) )
% 0.19/0.47                 => ~ ! [B8: A] :
% 0.19/0.47                        ( ( member @ A @ B8 @ ( set_mset @ A @ K4 ) )
% 0.19/0.47                       => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B8 @ A6 ) @ R ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % mult1E
% 0.19/0.47  thf(fact_197_mult1I,axiom,
% 0.19/0.47      ! [A: $tType,M4: multiset @ A,A2: A,M02: multiset @ A,N: multiset @ A,K3: multiset @ A,R: set @ ( product_prod @ A @ A )] :
% 0.19/0.47        ( ( M4
% 0.19/0.47          = ( add_mset @ A @ A2 @ M02 ) )
% 0.19/0.47       => ( ( N
% 0.19/0.47            = ( plus_plus @ ( multiset @ A ) @ M02 @ K3 ) )
% 0.19/0.47         => ( ! [B5: A] :
% 0.19/0.47                ( ( member @ A @ B5 @ ( set_mset @ A @ K3 ) )
% 0.19/0.47               => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B5 @ A2 ) @ R ) )
% 0.19/0.47           => ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ N @ M4 ) @ ( mult1 @ A @ R ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % mult1I
% 0.19/0.47  thf(fact_198_less__add,axiom,
% 0.19/0.47      ! [A: $tType,N: multiset @ A,A2: A,M02: multiset @ A,R: set @ ( product_prod @ A @ A )] :
% 0.19/0.47        ( ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ N @ ( add_mset @ A @ A2 @ M02 ) ) @ ( mult1 @ A @ R ) )
% 0.19/0.47       => ( ? [M5: multiset @ A] :
% 0.19/0.47              ( ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ M5 @ M02 ) @ ( mult1 @ A @ R ) )
% 0.19/0.47              & ( N
% 0.19/0.47                = ( add_mset @ A @ A2 @ M5 ) ) )
% 0.19/0.47          | ? [K4: multiset @ A] :
% 0.19/0.47              ( ! [B8: A] :
% 0.19/0.47                  ( ( member @ A @ B8 @ ( set_mset @ A @ K4 ) )
% 0.19/0.47                 => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B8 @ A2 ) @ R ) )
% 0.19/0.47              & ( N
% 0.19/0.47                = ( plus_plus @ ( multiset @ A ) @ M02 @ K4 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % less_add
% 0.19/0.47  thf(fact_199_one__step__implies__mult,axiom,
% 0.19/0.47      ! [A: $tType,J3: multiset @ A,K3: multiset @ A,R: set @ ( product_prod @ A @ A ),I4: multiset @ A] :
% 0.19/0.47        ( ( J3
% 0.19/0.47         != ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47       => ( ! [X5: A] :
% 0.19/0.47              ( ( member @ A @ X5 @ ( set_mset @ A @ K3 ) )
% 0.19/0.47             => ? [Xa: A] :
% 0.19/0.47                  ( ( member @ A @ Xa @ ( set_mset @ A @ J3 ) )
% 0.19/0.47                  & ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X5 @ Xa ) @ R ) ) )
% 0.19/0.47         => ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) @ I4 @ K3 ) @ ( plus_plus @ ( multiset @ A ) @ I4 @ J3 ) ) @ ( mult @ A @ R ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % one_step_implies_mult
% 0.19/0.47  thf(fact_200_mono__mult,axiom,
% 0.19/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A ),R5: set @ ( product_prod @ A @ A )] :
% 0.19/0.47        ( ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ R @ R5 )
% 0.19/0.47       => ( ord_less_eq @ ( set @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) ) @ ( mult @ A @ R ) @ ( mult @ A @ R5 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % mono_mult
% 0.19/0.47  thf(fact_201_not__less__empty,axiom,
% 0.19/0.47      ! [A: $tType,M4: multiset @ A,R: set @ ( product_prod @ A @ A )] :
% 0.19/0.47        ~ ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ M4 @ ( zero_zero @ ( multiset @ A ) ) ) @ ( mult1 @ A @ R ) ) ).
% 0.19/0.47  
% 0.19/0.47  % not_less_empty
% 0.19/0.47  thf(fact_202_mult1__union,axiom,
% 0.19/0.47      ! [A: $tType,B6: multiset @ A,D4: multiset @ A,R: set @ ( product_prod @ A @ A ),C4: multiset @ A] :
% 0.19/0.47        ( ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ B6 @ D4 ) @ ( mult1 @ A @ R ) )
% 0.19/0.47       => ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) @ C4 @ B6 ) @ ( plus_plus @ ( multiset @ A ) @ C4 @ D4 ) ) @ ( mult1 @ A @ R ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % mult1_union
% 0.19/0.47  thf(fact_203_mono__mult1,axiom,
% 0.19/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A ),R5: set @ ( product_prod @ A @ A )] :
% 0.19/0.47        ( ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ R @ R5 )
% 0.19/0.47       => ( ord_less_eq @ ( set @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) ) @ ( mult1 @ A @ R ) @ ( mult1 @ A @ R5 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % mono_mult1
% 0.19/0.47  thf(fact_204_mult__implies__one__step,axiom,
% 0.19/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A ),M4: multiset @ A,N: multiset @ A] :
% 0.19/0.47        ( ( trans @ A @ R )
% 0.19/0.47       => ( ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ M4 @ N ) @ ( mult @ A @ R ) )
% 0.19/0.47         => ? [I5: multiset @ A,J4: multiset @ A] :
% 0.19/0.47              ( ( N
% 0.19/0.47                = ( plus_plus @ ( multiset @ A ) @ I5 @ J4 ) )
% 0.19/0.47              & ? [K4: multiset @ A] :
% 0.19/0.47                  ( ( M4
% 0.19/0.47                    = ( plus_plus @ ( multiset @ A ) @ I5 @ K4 ) )
% 0.19/0.47                  & ( J4
% 0.19/0.47                   != ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47                  & ! [X7: A] :
% 0.19/0.47                      ( ( member @ A @ X7 @ ( set_mset @ A @ K4 ) )
% 0.19/0.47                     => ? [Xa2: A] :
% 0.19/0.47                          ( ( member @ A @ Xa2 @ ( set_mset @ A @ J4 ) )
% 0.19/0.47                          & ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X7 @ Xa2 ) @ R ) ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % mult_implies_one_step
% 0.19/0.47  thf(fact_205_subset__mset_Osum__mset__0__iff,axiom,
% 0.19/0.47      ! [A: $tType,M4: multiset @ ( multiset @ A )] :
% 0.19/0.47        ( ( ( comm_monoid_sum_mset @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) ) @ ( zero_zero @ ( multiset @ A ) ) @ M4 )
% 0.19/0.47          = ( zero_zero @ ( multiset @ A ) ) )
% 0.19/0.47        = ( ! [X4: multiset @ A] :
% 0.19/0.47              ( ( member @ ( multiset @ A ) @ X4 @ ( set_mset @ ( multiset @ A ) @ M4 ) )
% 0.19/0.47             => ( X4
% 0.19/0.47                = ( zero_zero @ ( multiset @ A ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % subset_mset.sum_mset_0_iff
% 0.19/0.47  thf(fact_206_trans__def,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( trans @ A )
% 0.19/0.47        = ( ^ [R3: set @ ( product_prod @ A @ A )] :
% 0.19/0.47            ! [X4: A,Y5: A,Z3: A] :
% 0.19/0.47              ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X4 @ Y5 ) @ R3 )
% 0.19/0.47             => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y5 @ Z3 ) @ R3 )
% 0.19/0.47               => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X4 @ Z3 ) @ R3 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % trans_def
% 0.19/0.47  thf(fact_207_transI,axiom,
% 0.19/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A )] :
% 0.19/0.47        ( ! [X5: A,Y3: A,Z4: A] :
% 0.19/0.47            ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X5 @ Y3 ) @ R )
% 0.19/0.47           => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y3 @ Z4 ) @ R )
% 0.19/0.47             => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X5 @ Z4 ) @ R ) ) )
% 0.19/0.47       => ( trans @ A @ R ) ) ).
% 0.19/0.47  
% 0.19/0.47  % transI
% 0.19/0.47  thf(fact_208_transE,axiom,
% 0.19/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A ),X: A,Y: A,Z2: A] :
% 0.19/0.47        ( ( trans @ A @ R )
% 0.19/0.47       => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 0.19/0.47         => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y @ Z2 ) @ R )
% 0.19/0.47           => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Z2 ) @ R ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % transE
% 0.19/0.47  thf(fact_209_transD,axiom,
% 0.19/0.47      ! [A: $tType,R: set @ ( product_prod @ A @ A ),X: A,Y: A,Z2: A] :
% 0.19/0.47        ( ( trans @ A @ R )
% 0.19/0.47       => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 0.19/0.47         => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y @ Z2 ) @ R )
% 0.19/0.47           => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Z2 ) @ R ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % transD
% 0.19/0.47  thf(fact_210_comm__monoid__add_Osum__mset_Ocong,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( comm_monoid_sum_mset @ A )
% 0.19/0.47        = ( comm_monoid_sum_mset @ A ) ) ).
% 0.19/0.47  
% 0.19/0.47  % comm_monoid_add.sum_mset.cong
% 0.19/0.47  thf(fact_211_mult__cancel__add__mset,axiom,
% 0.19/0.47      ! [A: $tType,S: set @ ( product_prod @ A @ A ),Uu: A,X6: multiset @ A,Y7: multiset @ A] :
% 0.19/0.47        ( ( trans @ A @ S )
% 0.19/0.47       => ( ( irrefl @ A @ S )
% 0.19/0.47         => ( ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ ( add_mset @ A @ Uu @ X6 ) @ ( add_mset @ A @ Uu @ Y7 ) ) @ ( mult @ A @ S ) )
% 0.19/0.47            = ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ X6 @ Y7 ) @ ( mult @ A @ S ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % mult_cancel_add_mset
% 0.19/0.47  thf(fact_212_mult__cancel,axiom,
% 0.19/0.47      ! [A: $tType,S: set @ ( product_prod @ A @ A ),X6: multiset @ A,Z5: multiset @ A,Y7: multiset @ A] :
% 0.19/0.47        ( ( trans @ A @ S )
% 0.19/0.47       => ( ( irrefl @ A @ S )
% 0.19/0.47         => ( ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) @ X6 @ Z5 ) @ ( plus_plus @ ( multiset @ A ) @ Y7 @ Z5 ) ) @ ( mult @ A @ S ) )
% 0.19/0.47            = ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ X6 @ Y7 ) @ ( mult @ A @ S ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % mult_cancel
% 0.19/0.47  thf(fact_213_irrefl__def,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( irrefl @ A )
% 0.19/0.47        = ( ^ [R3: set @ ( product_prod @ A @ A )] :
% 0.19/0.47            ! [A5: A] :
% 0.19/0.47              ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A5 @ A5 ) @ R3 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % irrefl_def
% 0.19/0.47  thf(fact_214_irreflI,axiom,
% 0.19/0.47      ! [A: $tType,R4: set @ ( product_prod @ A @ A )] :
% 0.19/0.47        ( ! [A6: A] :
% 0.19/0.47            ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A6 @ A6 ) @ R4 )
% 0.19/0.47       => ( irrefl @ A @ R4 ) ) ).
% 0.19/0.47  
% 0.19/0.47  % irreflI
% 0.19/0.47  thf(fact_215_multp__iff,axiom,
% 0.19/0.47      ! [A: $tType,R4: set @ ( product_prod @ A @ A ),P: A > A > $o,N: multiset @ A,M4: multiset @ A] :
% 0.19/0.47        ( ( irrefl @ A @ R4 )
% 0.19/0.47       => ( ( trans @ A @ R4 )
% 0.19/0.47         => ( ! [X5: A,Y3: A] :
% 0.19/0.47                ( ( P @ X5 @ Y3 )
% 0.19/0.47                = ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X5 @ Y3 ) @ R4 ) )
% 0.19/0.47           => ( ( multp @ A @ P @ N @ M4 )
% 0.19/0.47              = ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ N @ M4 ) @ ( mult @ A @ R4 ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % multp_iff
% 0.19/0.47  thf(fact_216_in__mset__fold__plus__iff,axiom,
% 0.19/0.47      ! [A: $tType,X: A,M4: multiset @ A,NN: multiset @ ( multiset @ A )] :
% 0.19/0.47        ( ( member @ A @ X @ ( set_mset @ A @ ( fold_mset @ ( multiset @ A ) @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) ) @ M4 @ NN ) ) )
% 0.19/0.47        = ( ( member @ A @ X @ ( set_mset @ A @ M4 ) )
% 0.19/0.47          | ? [N4: multiset @ A] :
% 0.19/0.47              ( ( member @ ( multiset @ A ) @ N4 @ ( set_mset @ ( multiset @ A ) @ NN ) )
% 0.19/0.47              & ( member @ A @ X @ ( set_mset @ A @ N4 ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % in_mset_fold_plus_iff
% 0.19/0.47  thf(fact_217_fold__mset__empty,axiom,
% 0.19/0.47      ! [B: $tType,A: $tType,F: B > A > A,S: A] :
% 0.19/0.47        ( ( fold_mset @ B @ A @ F @ S @ ( zero_zero @ ( multiset @ B ) ) )
% 0.19/0.47        = S ) ).
% 0.19/0.47  
% 0.19/0.47  % fold_mset_empty
% 0.19/0.47  thf(fact_218_union__fold__mset__add__mset,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( plus_plus @ ( multiset @ A ) )
% 0.19/0.47        = ( fold_mset @ A @ ( multiset @ A ) @ ( add_mset @ A ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % union_fold_mset_add_mset
% 0.19/0.47  thf(fact_219_add__mset__replicate__mset__safe,axiom,
% 0.19/0.47      ! [A: $tType,B: $tType,M4: multiset @ B,A2: B] :
% 0.19/0.47        ( ( nO_MATCH @ ( multiset @ A ) @ ( multiset @ B ) @ ( zero_zero @ ( multiset @ A ) ) @ M4 )
% 0.19/0.47       => ( ( add_mset @ B @ A2 @ M4 )
% 0.19/0.47          = ( plus_plus @ ( multiset @ B ) @ ( add_mset @ B @ A2 @ ( zero_zero @ ( multiset @ B ) ) ) @ M4 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % add_mset_replicate_mset_safe
% 0.19/0.47  thf(fact_220_insert__DiffM2,axiom,
% 0.19/0.47      ! [A: $tType,X: A,M4: multiset @ A] :
% 0.19/0.47        ( ( member @ A @ X @ ( set_mset @ A @ M4 ) )
% 0.19/0.47       => ( ( plus_plus @ ( multiset @ A ) @ ( minus_minus @ ( multiset @ A ) @ M4 @ ( add_mset @ A @ X @ ( zero_zero @ ( multiset @ A ) ) ) ) @ ( add_mset @ A @ X @ ( zero_zero @ ( multiset @ A ) ) ) )
% 0.19/0.47          = M4 ) ) ).
% 0.19/0.47  
% 0.19/0.47  % insert_DiffM2
% 0.19/0.47  thf(fact_221_diff__diff__add__mset,axiom,
% 0.19/0.47      ! [A: $tType,M4: multiset @ A,N: multiset @ A,P: multiset @ A] :
% 0.19/0.47        ( ( minus_minus @ ( multiset @ A ) @ ( minus_minus @ ( multiset @ A ) @ M4 @ N ) @ P )
% 0.19/0.47        = ( minus_minus @ ( multiset @ A ) @ M4 @ ( plus_plus @ ( multiset @ A ) @ N @ P ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % diff_diff_add_mset
% 0.19/0.47  thf(fact_222_diff__ge__0__iff__ge,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordered_ab_group_add @ A )
% 0.19/0.47       => ! [A2: A,B2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ ( zero_zero @ A ) @ ( minus_minus @ A @ A2 @ B2 ) )
% 0.19/0.47            = ( ord_less_eq @ A @ B2 @ A2 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % diff_ge_0_iff_ge
% 0.19/0.47  thf(fact_223_add__mset__remove__trivial,axiom,
% 0.19/0.47      ! [A: $tType,X: A,M4: multiset @ A] :
% 0.19/0.47        ( ( minus_minus @ ( multiset @ A ) @ ( add_mset @ A @ X @ M4 ) @ ( add_mset @ A @ X @ ( zero_zero @ ( multiset @ A ) ) ) )
% 0.19/0.47        = M4 ) ).
% 0.19/0.47  
% 0.19/0.47  % add_mset_remove_trivial
% 0.19/0.47  thf(fact_224_diff__add__mset__swap,axiom,
% 0.19/0.47      ! [A: $tType,B2: A,A4: multiset @ A,M4: multiset @ A] :
% 0.19/0.47        ( ~ ( member @ A @ B2 @ ( set_mset @ A @ A4 ) )
% 0.19/0.47       => ( ( minus_minus @ ( multiset @ A ) @ ( add_mset @ A @ B2 @ M4 ) @ A4 )
% 0.19/0.47          = ( add_mset @ A @ B2 @ ( minus_minus @ ( multiset @ A ) @ M4 @ A4 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % diff_add_mset_swap
% 0.19/0.47  thf(fact_225_diff__union__swap2,axiom,
% 0.19/0.47      ! [A: $tType,Y: A,M4: multiset @ A,X: A] :
% 0.19/0.47        ( ( member @ A @ Y @ ( set_mset @ A @ M4 ) )
% 0.19/0.47       => ( ( minus_minus @ ( multiset @ A ) @ ( add_mset @ A @ X @ M4 ) @ ( add_mset @ A @ Y @ ( zero_zero @ ( multiset @ A ) ) ) )
% 0.19/0.47          = ( add_mset @ A @ X @ ( minus_minus @ ( multiset @ A ) @ M4 @ ( add_mset @ A @ Y @ ( zero_zero @ ( multiset @ A ) ) ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % diff_union_swap2
% 0.19/0.47  thf(fact_226_insert__DiffM,axiom,
% 0.19/0.47      ! [A: $tType,X: A,M4: multiset @ A] :
% 0.19/0.47        ( ( member @ A @ X @ ( set_mset @ A @ M4 ) )
% 0.19/0.47       => ( ( add_mset @ A @ X @ ( minus_minus @ ( multiset @ A ) @ M4 @ ( add_mset @ A @ X @ ( zero_zero @ ( multiset @ A ) ) ) ) )
% 0.19/0.47          = M4 ) ) ).
% 0.19/0.47  
% 0.19/0.47  % insert_DiffM
% 0.19/0.47  thf(fact_227_le__iff__diff__le__0,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordered_ab_group_add @ A )
% 0.19/0.47       => ( ( ord_less_eq @ A )
% 0.19/0.47          = ( ^ [A5: A,B4: A] : ( ord_less_eq @ A @ ( minus_minus @ A @ A5 @ B4 ) @ ( zero_zero @ A ) ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % le_iff_diff_le_0
% 0.19/0.47  thf(fact_228_diff__le__eq,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordered_ab_group_add @ A )
% 0.19/0.47       => ! [A2: A,B2: A,C2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ ( minus_minus @ A @ A2 @ B2 ) @ C2 )
% 0.19/0.47            = ( ord_less_eq @ A @ A2 @ ( plus_plus @ A @ C2 @ B2 ) ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % diff_le_eq
% 0.19/0.47  thf(fact_229_le__diff__eq,axiom,
% 0.19/0.47      ! [A: $tType] :
% 0.19/0.47        ( ( ordered_ab_group_add @ A )
% 0.19/0.47       => ! [A2: A,C2: A,B2: A] :
% 0.19/0.47            ( ( ord_less_eq @ A @ A2 @ ( minus_minus @ A @ C2 @ B2 ) )
% 0.19/0.47            = ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ B2 ) @ C2 ) ) ) ).
% 0.19/0.47  
% 0.19/0.47  % le_diff_eq
% 0.19/0.47  thf(fact_230_ordered__cancel__comm__monoid__diff__class_Odiff__add,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( ordere623563068d_diff @ A )
% 0.31/0.47       => ! [A2: A,B2: A] :
% 0.31/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.31/0.47           => ( ( plus_plus @ A @ ( minus_minus @ A @ B2 @ A2 ) @ A2 )
% 0.31/0.47              = B2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % ordered_cancel_comm_monoid_diff_class.diff_add
% 0.31/0.47  thf(fact_231_le__add__diff,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( ordere623563068d_diff @ A )
% 0.31/0.47       => ! [A2: A,B2: A,C2: A] :
% 0.31/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.31/0.47           => ( ord_less_eq @ A @ C2 @ ( minus_minus @ A @ ( plus_plus @ A @ B2 @ C2 ) @ A2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % le_add_diff
% 0.31/0.47  thf(fact_232_ordered__cancel__comm__monoid__diff__class_Ole__diff__conv2,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( ordere623563068d_diff @ A )
% 0.31/0.47       => ! [A2: A,B2: A,C2: A] :
% 0.31/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.31/0.47           => ( ( ord_less_eq @ A @ C2 @ ( minus_minus @ A @ B2 @ A2 ) )
% 0.31/0.47              = ( ord_less_eq @ A @ ( plus_plus @ A @ C2 @ A2 ) @ B2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % ordered_cancel_comm_monoid_diff_class.le_diff_conv2
% 0.31/0.47  thf(fact_233_ordered__cancel__comm__monoid__diff__class_Oadd__diff__assoc,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( ordere623563068d_diff @ A )
% 0.31/0.47       => ! [A2: A,B2: A,C2: A] :
% 0.31/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.31/0.47           => ( ( plus_plus @ A @ C2 @ ( minus_minus @ A @ B2 @ A2 ) )
% 0.31/0.47              = ( minus_minus @ A @ ( plus_plus @ A @ C2 @ B2 ) @ A2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % ordered_cancel_comm_monoid_diff_class.add_diff_assoc
% 0.31/0.47  thf(fact_234_ordered__cancel__comm__monoid__diff__class_Odiff__add__assoc,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( ordere623563068d_diff @ A )
% 0.31/0.47       => ! [A2: A,B2: A,C2: A] :
% 0.31/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.31/0.47           => ( ( minus_minus @ A @ ( plus_plus @ A @ C2 @ B2 ) @ A2 )
% 0.31/0.47              = ( plus_plus @ A @ C2 @ ( minus_minus @ A @ B2 @ A2 ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % ordered_cancel_comm_monoid_diff_class.diff_add_assoc
% 0.31/0.47  thf(fact_235_ordered__cancel__comm__monoid__diff__class_Oadd__diff__assoc2,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( ordere623563068d_diff @ A )
% 0.31/0.47       => ! [A2: A,B2: A,C2: A] :
% 0.31/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.31/0.47           => ( ( plus_plus @ A @ ( minus_minus @ A @ B2 @ A2 ) @ C2 )
% 0.31/0.47              = ( minus_minus @ A @ ( plus_plus @ A @ B2 @ C2 ) @ A2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % ordered_cancel_comm_monoid_diff_class.add_diff_assoc2
% 0.31/0.47  thf(fact_236_ordered__cancel__comm__monoid__diff__class_Odiff__add__assoc2,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( ordere623563068d_diff @ A )
% 0.31/0.47       => ! [A2: A,B2: A,C2: A] :
% 0.31/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.31/0.47           => ( ( minus_minus @ A @ ( plus_plus @ A @ B2 @ C2 ) @ A2 )
% 0.31/0.47              = ( plus_plus @ A @ ( minus_minus @ A @ B2 @ A2 ) @ C2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % ordered_cancel_comm_monoid_diff_class.diff_add_assoc2
% 0.31/0.47  thf(fact_237_ordered__cancel__comm__monoid__diff__class_Odiff__diff__right,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( ordere623563068d_diff @ A )
% 0.31/0.47       => ! [A2: A,B2: A,C2: A] :
% 0.31/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.31/0.47           => ( ( minus_minus @ A @ C2 @ ( minus_minus @ A @ B2 @ A2 ) )
% 0.31/0.47              = ( minus_minus @ A @ ( plus_plus @ A @ C2 @ A2 ) @ B2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % ordered_cancel_comm_monoid_diff_class.diff_diff_right
% 0.31/0.47  thf(fact_238_ordered__cancel__comm__monoid__diff__class_Oadd__diff__inverse,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( ordere623563068d_diff @ A )
% 0.31/0.47       => ! [A2: A,B2: A] :
% 0.31/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.31/0.47           => ( ( plus_plus @ A @ A2 @ ( minus_minus @ A @ B2 @ A2 ) )
% 0.31/0.47              = B2 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % ordered_cancel_comm_monoid_diff_class.add_diff_inverse
% 0.31/0.47  thf(fact_239_ordered__cancel__comm__monoid__diff__class_Ole__imp__diff__is__add,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( ordere623563068d_diff @ A )
% 0.31/0.47       => ! [A2: A,B2: A,C2: A] :
% 0.31/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.31/0.47           => ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.31/0.47             => ( ( ( minus_minus @ A @ B2 @ A2 )
% 0.31/0.47                  = C2 )
% 0.31/0.47                = ( B2
% 0.31/0.47                  = ( plus_plus @ A @ C2 @ A2 ) ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % ordered_cancel_comm_monoid_diff_class.le_imp_diff_is_add
% 0.31/0.47  thf(fact_240_diff__eq__diff__less__eq,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( ordered_ab_group_add @ A )
% 0.31/0.47       => ! [A2: A,B2: A,C2: A,D3: A] :
% 0.31/0.47            ( ( ( minus_minus @ A @ A2 @ B2 )
% 0.31/0.47              = ( minus_minus @ A @ C2 @ D3 ) )
% 0.31/0.47           => ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.31/0.47              = ( ord_less_eq @ A @ C2 @ D3 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % diff_eq_diff_less_eq
% 0.31/0.47  thf(fact_241_diff__right__mono,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( ordered_ab_group_add @ A )
% 0.31/0.47       => ! [A2: A,B2: A,C2: A] :
% 0.31/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.31/0.47           => ( ord_less_eq @ A @ ( minus_minus @ A @ A2 @ C2 ) @ ( minus_minus @ A @ B2 @ C2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % diff_right_mono
% 0.31/0.47  thf(fact_242_diff__left__mono,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( ordered_ab_group_add @ A )
% 0.31/0.47       => ! [B2: A,A2: A,C2: A] :
% 0.31/0.47            ( ( ord_less_eq @ A @ B2 @ A2 )
% 0.31/0.47           => ( ord_less_eq @ A @ ( minus_minus @ A @ C2 @ A2 ) @ ( minus_minus @ A @ C2 @ B2 ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % diff_left_mono
% 0.31/0.47  thf(fact_243_diff__mono,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( ordered_ab_group_add @ A )
% 0.31/0.47       => ! [A2: A,B2: A,D3: A,C2: A] :
% 0.31/0.47            ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.31/0.47           => ( ( ord_less_eq @ A @ D3 @ C2 )
% 0.31/0.47             => ( ord_less_eq @ A @ ( minus_minus @ A @ A2 @ C2 ) @ ( minus_minus @ A @ B2 @ D3 ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % diff_mono
% 0.31/0.47  thf(fact_244_in__diffD,axiom,
% 0.31/0.47      ! [A: $tType,A2: A,M4: multiset @ A,N: multiset @ A] :
% 0.31/0.47        ( ( member @ A @ A2 @ ( set_mset @ A @ ( minus_minus @ ( multiset @ A ) @ M4 @ N ) ) )
% 0.31/0.47       => ( member @ A @ A2 @ ( set_mset @ A @ M4 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % in_diffD
% 0.31/0.47  thf(fact_245_add__mset__diff__bothsides,axiom,
% 0.31/0.47      ! [A: $tType,A2: A,M4: multiset @ A,A4: multiset @ A] :
% 0.31/0.47        ( ( minus_minus @ ( multiset @ A ) @ ( add_mset @ A @ A2 @ M4 ) @ ( add_mset @ A @ A2 @ A4 ) )
% 0.31/0.47        = ( minus_minus @ ( multiset @ A ) @ M4 @ A4 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % add_mset_diff_bothsides
% 0.31/0.47  thf(fact_246_Multiset_Odiff__right__commute,axiom,
% 0.31/0.47      ! [A: $tType,M4: multiset @ A,N: multiset @ A,Q: multiset @ A] :
% 0.31/0.47        ( ( minus_minus @ ( multiset @ A ) @ ( minus_minus @ ( multiset @ A ) @ M4 @ N ) @ Q )
% 0.31/0.47        = ( minus_minus @ ( multiset @ A ) @ ( minus_minus @ ( multiset @ A ) @ M4 @ Q ) @ N ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Multiset.diff_right_commute
% 0.31/0.47  thf(fact_247_Multiset_Odiff__cancel,axiom,
% 0.31/0.47      ! [A: $tType,A4: multiset @ A] :
% 0.31/0.47        ( ( minus_minus @ ( multiset @ A ) @ A4 @ A4 )
% 0.31/0.47        = ( zero_zero @ ( multiset @ A ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Multiset.diff_cancel
% 0.31/0.47  thf(fact_248_diff__empty,axiom,
% 0.31/0.47      ! [A: $tType,M4: multiset @ A] :
% 0.31/0.47        ( ( ( minus_minus @ ( multiset @ A ) @ M4 @ ( zero_zero @ ( multiset @ A ) ) )
% 0.31/0.47          = M4 )
% 0.31/0.47        & ( ( minus_minus @ ( multiset @ A ) @ ( zero_zero @ ( multiset @ A ) ) @ M4 )
% 0.31/0.47          = ( zero_zero @ ( multiset @ A ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % diff_empty
% 0.31/0.47  thf(fact_249_union__single__eq__diff,axiom,
% 0.31/0.47      ! [A: $tType,X: A,M4: multiset @ A,N: multiset @ A] :
% 0.31/0.47        ( ( ( add_mset @ A @ X @ M4 )
% 0.31/0.47          = N )
% 0.31/0.47       => ( M4
% 0.31/0.47          = ( minus_minus @ ( multiset @ A ) @ N @ ( add_mset @ A @ X @ ( zero_zero @ ( multiset @ A ) ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % union_single_eq_diff
% 0.31/0.47  thf(fact_250_add__eq__conv__diff,axiom,
% 0.31/0.47      ! [A: $tType,A2: A,M4: multiset @ A,B2: A,N: multiset @ A] :
% 0.31/0.47        ( ( ( add_mset @ A @ A2 @ M4 )
% 0.31/0.47          = ( add_mset @ A @ B2 @ N ) )
% 0.31/0.47        = ( ( ( M4 = N )
% 0.31/0.47            & ( A2 = B2 ) )
% 0.31/0.47          | ( ( M4
% 0.31/0.47              = ( add_mset @ A @ B2 @ ( minus_minus @ ( multiset @ A ) @ N @ ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) ) ) ) )
% 0.31/0.47            & ( N
% 0.31/0.47              = ( add_mset @ A @ A2 @ ( minus_minus @ ( multiset @ A ) @ M4 @ ( add_mset @ A @ B2 @ ( zero_zero @ ( multiset @ A ) ) ) ) ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % add_eq_conv_diff
% 0.31/0.47  thf(fact_251_diff__union__swap,axiom,
% 0.31/0.47      ! [A: $tType,A2: A,B2: A,M4: multiset @ A] :
% 0.31/0.47        ( ( A2 != B2 )
% 0.31/0.47       => ( ( add_mset @ A @ B2 @ ( minus_minus @ ( multiset @ A ) @ M4 @ ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) ) ) )
% 0.31/0.47          = ( minus_minus @ ( multiset @ A ) @ ( add_mset @ A @ B2 @ M4 ) @ ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) ) ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % diff_union_swap
% 0.31/0.47  thf(fact_252_diff__union__cancelR,axiom,
% 0.31/0.47      ! [A: $tType,M4: multiset @ A,N: multiset @ A] :
% 0.31/0.47        ( ( minus_minus @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) @ M4 @ N ) @ N )
% 0.31/0.47        = M4 ) ).
% 0.31/0.47  
% 0.31/0.47  % diff_union_cancelR
% 0.31/0.47  thf(fact_253_diff__union__cancelL,axiom,
% 0.31/0.47      ! [A: $tType,N: multiset @ A,M4: multiset @ A] :
% 0.31/0.47        ( ( minus_minus @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) @ N @ M4 ) @ N )
% 0.31/0.47        = M4 ) ).
% 0.31/0.47  
% 0.31/0.47  % diff_union_cancelL
% 0.31/0.47  thf(fact_254_Multiset_Odiff__add,axiom,
% 0.31/0.47      ! [A: $tType,M4: multiset @ A,N: multiset @ A,Q: multiset @ A] :
% 0.31/0.47        ( ( minus_minus @ ( multiset @ A ) @ M4 @ ( plus_plus @ ( multiset @ A ) @ N @ Q ) )
% 0.31/0.47        = ( minus_minus @ ( multiset @ A ) @ ( minus_minus @ ( multiset @ A ) @ M4 @ N ) @ Q ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Multiset.diff_add
% 0.31/0.47  thf(fact_255_diff__single__trivial,axiom,
% 0.31/0.47      ! [A: $tType,X: A,M4: multiset @ A] :
% 0.31/0.47        ( ~ ( member @ A @ X @ ( set_mset @ A @ M4 ) )
% 0.31/0.47       => ( ( minus_minus @ ( multiset @ A ) @ M4 @ ( add_mset @ A @ X @ ( zero_zero @ ( multiset @ A ) ) ) )
% 0.31/0.47          = M4 ) ) ).
% 0.31/0.47  
% 0.31/0.47  % diff_single_trivial
% 0.31/0.47  
% 0.31/0.47  % Subclasses (4)
% 0.31/0.47  thf(subcl_Orderings_Olinorder___HOL_Otype,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( linorder @ A )
% 0.31/0.47       => ( type @ A ) ) ).
% 0.31/0.47  
% 0.31/0.47  thf(subcl_Orderings_Olinorder___Orderings_Oord,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( linorder @ A )
% 0.31/0.47       => ( ord @ A ) ) ).
% 0.31/0.47  
% 0.31/0.47  thf(subcl_Orderings_Olinorder___Orderings_Oorder,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( linorder @ A )
% 0.31/0.47       => ( order @ A ) ) ).
% 0.31/0.47  
% 0.31/0.47  thf(subcl_Orderings_Olinorder___Orderings_Opreorder,axiom,
% 0.31/0.47      ! [A: $tType] :
% 0.31/0.47        ( ( linorder @ A )
% 0.31/0.47       => ( preorder @ A ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Type constructors (14)
% 0.31/0.47  thf(tcon_fun___Orderings_Opreorder,axiom,
% 0.31/0.47      ! [A9: $tType,A10: $tType] :
% 0.31/0.47        ( ( preorder @ A10 )
% 0.31/0.47       => ( preorder @ ( A9 > A10 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  thf(tcon_fun___Orderings_Oorder,axiom,
% 0.31/0.47      ! [A9: $tType,A10: $tType] :
% 0.31/0.47        ( ( order @ A10 )
% 0.31/0.47       => ( order @ ( A9 > A10 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  thf(tcon_fun___Orderings_Oord,axiom,
% 0.31/0.47      ! [A9: $tType,A10: $tType] :
% 0.31/0.47        ( ( ord @ A10 )
% 0.31/0.47       => ( ord @ ( A9 > A10 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  thf(tcon_Set_Oset___Orderings_Opreorder_1,axiom,
% 0.31/0.47      ! [A9: $tType] : ( preorder @ ( set @ A9 ) ) ).
% 0.31/0.47  
% 0.31/0.47  thf(tcon_Set_Oset___Orderings_Oorder_2,axiom,
% 0.31/0.47      ! [A9: $tType] : ( order @ ( set @ A9 ) ) ).
% 0.31/0.47  
% 0.31/0.47  thf(tcon_Set_Oset___Orderings_Oord_3,axiom,
% 0.31/0.47      ! [A9: $tType] : ( ord @ ( set @ A9 ) ) ).
% 0.31/0.47  
% 0.31/0.47  thf(tcon_HOL_Obool___Orderings_Opreorder_4,axiom,
% 0.31/0.47      preorder @ $o ).
% 0.31/0.47  
% 0.31/0.47  thf(tcon_HOL_Obool___Orderings_Olinorder,axiom,
% 0.31/0.47      linorder @ $o ).
% 0.31/0.47  
% 0.31/0.47  thf(tcon_HOL_Obool___Orderings_Oorder_5,axiom,
% 0.31/0.47      order @ $o ).
% 0.31/0.47  
% 0.31/0.47  thf(tcon_HOL_Obool___Orderings_Oord_6,axiom,
% 0.31/0.47      ord @ $o ).
% 0.31/0.47  
% 0.31/0.47  thf(tcon_Multiset_Omultiset___Groups_Oordered__ab__semigroup__add,axiom,
% 0.31/0.47      ! [A9: $tType] :
% 0.31/0.47        ( ( preorder @ A9 )
% 0.31/0.47       => ( ordere779506340up_add @ ( multiset @ A9 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  thf(tcon_Multiset_Omultiset___Orderings_Opreorder_7,axiom,
% 0.31/0.47      ! [A9: $tType] :
% 0.31/0.47        ( ( preorder @ A9 )
% 0.31/0.47       => ( preorder @ ( multiset @ A9 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  thf(tcon_Multiset_Omultiset___Orderings_Oorder_8,axiom,
% 0.31/0.47      ! [A9: $tType] :
% 0.31/0.47        ( ( preorder @ A9 )
% 0.31/0.47       => ( order @ ( multiset @ A9 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  thf(tcon_Multiset_Omultiset___Orderings_Oord_9,axiom,
% 0.31/0.47      ! [A9: $tType] :
% 0.31/0.47        ( ( preorder @ A9 )
% 0.31/0.47       => ( ord @ ( multiset @ A9 ) ) ) ).
% 0.31/0.47  
% 0.31/0.47  % Free types (1)
% 0.31/0.47  thf(tfree_0,hypothesis,
% 0.31/0.47      linorder @ a ).
% 0.31/0.47  
% 0.31/0.47  % Conjectures (1)
% 0.31/0.47  thf(conj_0,conjecture,
% 0.31/0.47      is_heap @ a @ ( heapIm818251801eapify @ a @ ( t @ a @ v @ l @ r ) ) ).
% 0.31/0.47  
% 0.31/0.47  %------------------------------------------------------------------------------
% 0.31/0.47  ------------------------
% 2.88/1.54  ---- Embedded in THF ---
% 2.88/1.54  %%% This output was generated by embedproblem, version 1.9.5 (library version 1.9).
% 2.88/1.54  %%% Generated on Tue Feb 24 08:25:43 EST 2026
% 2.88/1.54  %%% using '$$dhol' embedding, version 1.3.0.
% 2.88/1.54  %%% Logic specification used:
% 2.88/1.54  %%% thf(spec, logic, $$dhol).
% 2.88/1.54  
% 2.88/1.54  % SZS output start ListOfTHF for /export/starexec/sandbox2/tmp/tmp.XltU8E9Ncf/DTF2DTF17674.p
% 2.88/1.54  thf(ty_t_Product__Type_Oprod, type, product_prod: ($tType > ($tType > $tType))).
% 2.88/1.54  thf(ty_t_Multiset_Omultiset, type, multiset: ($tType > $tType)).
% 2.88/1.54  thf(ty_t_List_Olist, type, list: ($tType > $tType)).
% 2.88/1.54  thf(ty_t_Heap_OTree, type, tree: ($tType > $tType)).
% 2.88/1.54  thf(ty_t_Set_Oset, type, set: ($tType > $tType)).
% 2.88/1.54  thf(ty_tf_a, type, a: $tType).
% 2.88/1.54  thf(sy_cl_HOL_Otype, type, type: (!> [A:$tType]: ($o))).
% 2.88/1.54  thf(sy_cl_Orderings_Oord, type, ord: (!> [A:$tType]: ($o))).
% 2.88/1.54  thf(sy_cl_Orderings_Oorder, type, order: (!> [A:$tType]: ($o))).
% 2.88/1.54  thf(sy_cl_Orderings_Olinorder, type, linorder: (!> [A:$tType]: ($o))).
% 2.88/1.54  thf(sy_cl_Orderings_Opreorder, type, preorder: (!> [A:$tType]: ($o))).
% 2.88/1.54  thf(sy_cl_Groups_Oordered__ab__group__add, type, ordered_ab_group_add: (!> [A:$tType]: ($o))).
% 2.88/1.54  thf(sy_cl_Groups_Olinordered__ab__group__add, type, linord219039673up_add: (!> [A:$tType]: ($o))).
% 2.88/1.54  thf(sy_cl_Groups_Oordered__comm__monoid__add, type, ordere216010020id_add: (!> [A:$tType]: ($o))).
% 2.88/1.54  thf(sy_cl_Groups_Oordered__ab__semigroup__add, type, ordere779506340up_add: (!> [A:$tType]: ($o))).
% 2.88/1.54  thf(sy_cl_Rings_Olinordered__nonzero__semiring, type, linord1659791738miring: (!> [A:$tType]: ($o))).
% 2.88/1.54  thf(sy_cl_Groups_Ocanonically__ordered__monoid__add, type, canoni770627133id_add: (!> [A:$tType]: ($o))).
% 2.88/1.54  thf(sy_cl_Groups_Oordered__ab__semigroup__add__imp__le, type, ordere236663937imp_le: (!> [A:$tType]: ($o))).
% 2.88/1.54  thf(sy_cl_Groups_Oordered__cancel__comm__monoid__diff, type, ordere623563068d_diff: (!> [A:$tType]: ($o))).
% 2.88/1.54  thf(sy_cl_Divides_Ounique__euclidean__semiring__numeral, type, unique1598680935umeral: (!> [A:$tType]: ($o))).
% 2.88/1.54  thf(sy_cl_Groups_Oordered__ab__semigroup__monoid__add__imp__le, type, ordere516151231imp_le: (!> [A:$tType]: ($o))).
% 2.88/1.54  thf(sy_c_BNF__Cardinal__Order__Relation_OrelChain, type, bNF_Ca1785829860lChain: (!> [A:$tType,B:$tType]: (((set @ ((product_prod @ A) @ A)) > ((A > B) > $o))))).
% 2.88/1.54  thf(sy_c_Divides_Ounique__euclidean__semiring__numeral__class_Odivides__aux, type, unique455577585es_aux: (!> [A:$tType]: ((((product_prod @ A) @ A) > $o)))).
% 2.88/1.54  thf(sy_c_Groups_Ominus__class_Ominus, type, minus_minus: (!> [A:$tType]: ((A > (A > A))))).
% 2.88/1.54  thf(sy_c_Groups_Oplus__class_Oplus, type, plus_plus: (!> [A:$tType]: ((A > (A > A))))).
% 2.88/1.54  thf(sy_c_Groups_Ozero__class_Ozero, type, zero_zero: (!> [A:$tType]: (A))).
% 2.88/1.54  thf(sy_c_HOL_ONO__MATCH, type, nO_MATCH: (!> [A:$tType,B:$tType]: ((A > (B > $o))))).
% 2.88/1.54  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oheapify, type, heapIm818251801eapify: (!> [A:$tType]: (((tree @ A) > (tree @ A))))).
% 2.88/1.54  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oleft, type, heapIm1271749598e_left: (!> [A:$tType]: (((tree @ A) > (tree @ A))))).
% 2.88/1.54  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oright, type, heapIm1434396069_right: (!> [A:$tType]: (((tree @ A) > (tree @ A))))).
% 2.88/1.54  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_OsiftDown, type, heapIm748920189ftDown: (!> [A:$tType]: (((tree @ A) > (tree @ A))))).
% 2.88/1.54  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.88/1.54  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.88/1.54  thf(sy_c_Heap_OTree_OE, type, e: (!> [A:$tType]: ((tree @ A)))).
% 2.88/1.54  thf(sy_c_Heap_OTree_OT, type, t: (!> [A:$tType]: ((A > ((tree @ A) > ((tree @ A) > (tree @ A))))))).
% 2.88/1.54  thf(sy_c_Heap_OTree_Ocase__Tree, type, case_Tree: (!> [B:$tType,A:$tType]: ((B > ((A > ((tree @ A) > ((tree @ A) > B))) > ((tree @ A) > B)))))).
% 2.88/1.54  thf(sy_c_Heap_OTree_Orec__Tree, type, rec_Tree: (!> [C:$tType,A:$tType]: ((C > ((A > ((tree @ A) > ((tree @ A) > (C > (C > C))))) > ((tree @ A) > C)))))).
% 2.88/1.54  thf(sy_c_Heap_Oin__tree, type, in_tree: (!> [A:$tType]: ((A > ((tree @ A) > $o))))).
% 2.88/1.54  thf(sy_c_Heap_Ois__heap, type, is_heap: (!> [A:$tType]: (((tree @ A) > $o)))).
% 2.88/1.54  thf(sy_c_Heap_Omultiset, type, multiset2: (!> [A:$tType]: (((tree @ A) > (multiset @ A))))).
% 2.88/1.54  thf(sy_c_Heap_Oval, type, val: (!> [A:$tType]: (((tree @ A) > A)))).
% 2.88/1.54  thf(sy_c_Lattices__Big_Olinorder__class_OMax, type, lattic929149872er_Max: (!> [A:$tType]: (((set @ A) > A)))).
% 2.88/1.54  thf(sy_c_Multiset_Oadd__mset, type, add_mset: (!> [A:$tType]: ((A > ((multiset @ A) > (multiset @ A)))))).
% 2.88/1.54  thf(sy_c_Multiset_Ocomm__monoid__add_Osum__mset, type, comm_monoid_sum_mset: (!> [A:$tType]: (((A > (A > A)) > (A > ((multiset @ A) > A)))))).
% 2.88/1.54  thf(sy_c_Multiset_Ofold__mset, type, fold_mset: (!> [A:$tType,B:$tType]: (((A > (B > B)) > (B > ((multiset @ A) > B)))))).
% 2.88/1.54  thf(sy_c_Multiset_Ois__empty, type, is_empty: (!> [A:$tType]: (((multiset @ A) > $o)))).
% 2.88/1.54  thf(sy_c_Multiset_Omult, type, mult: (!> [A:$tType]: (((set @ ((product_prod @ A) @ A)) > (set @ ((product_prod @ (multiset @ A)) @ (multiset @ A))))))).
% 2.88/1.54  thf(sy_c_Multiset_Omult1, type, mult1: (!> [A:$tType]: (((set @ ((product_prod @ A) @ A)) > (set @ ((product_prod @ (multiset @ A)) @ (multiset @ A))))))).
% 2.88/1.54  thf(sy_c_Multiset_Omultp, type, multp: (!> [A:$tType]: (((A > (A > $o)) > ((multiset @ A) > ((multiset @ A) > $o)))))).
% 2.88/1.54  thf(sy_c_Multiset_Oset__mset, type, set_mset: (!> [A:$tType]: (((multiset @ A) > (set @ A))))).
% 2.88/1.54  thf(sy_c_Orderings_Oord__class_Oless__eq, type, ord_less_eq: (!> [A:$tType]: ((A > (A > $o))))).
% 2.88/1.54  thf(sy_c_Orderings_Oorder__class_OGreatest, type, order_Greatest: (!> [A:$tType]: (((A > $o) > A)))).
% 2.88/1.54  thf(sy_c_Product__Type_OPair, type, product_Pair: (!> [A:$tType,B:$tType]: ((A > (B > ((product_prod @ A) @ B)))))).
% 2.88/1.54  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.88/1.54  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.88/1.54  thf(sy_c_Relation_Oirrefl, type, irrefl: (!> [A:$tType]: (((set @ ((product_prod @ A) @ A)) > $o)))).
% 2.88/1.54  thf(sy_c_Relation_Otrans, type, trans: (!> [A:$tType]: (((set @ ((product_prod @ A) @ A)) > $o)))).
% 2.88/1.54  thf(sy_c_RemoveMax_OCollection, type, collection: (!> [B:$tType,A:$tType]: ((B > ((B > $o) > (((list @ A) > B) > ((B > (multiset @ A)) > $o))))))).
% 2.88/1.54  thf(sy_c_RemoveMax_OCollection_Oset, type, set2: (!> [B:$tType,A:$tType]: (((B > (multiset @ A)) > (B > (set @ A)))))).
% 2.88/1.54  thf(sy_c_RemoveMax_ORemoveMax, type, removeMax: (!> [B:$tType,A:$tType]: ((B > ((B > $o) > (((list @ A) > B) > ((B > (multiset @ A)) > ((B > ((product_prod @ A) @ B)) > ((B > $o) > $o))))))))).
% 2.88/1.54  thf(sy_c_RemoveMax_ORemoveMax__axioms, type, removeMax_axioms: (!> [B:$tType,A:$tType]: (((B > $o) > (((list @ A) > B) > ((B > (multiset @ A)) > ((B > ((product_prod @ A) @ B)) > ((B > $o) > $o)))))))).
% 2.88/1.54  thf(sy_c_Set_OCollect, type, collect: (!> [A:$tType]: (((A > $o) > (set @ A))))).
% 2.88/1.54  thf(sy_c_member, type, member: (!> [A:$tType]: ((A > ((set @ A) > $o))))).
% 2.88/1.54  thf(sy_v_l____, type, l: (tree @ a)).
% 2.88/1.54  thf(sy_v_r____, type, r: (tree @ a)).
% 2.88/1.54  thf(sy_v_v____, type, v: a).
% 2.88/1.54  thf(fact_0_T_Ohyps_I2_J, axiom, ((is_heap @ a) @ ((heapIm818251801eapify @ a) @ r))).
% 2.88/1.54  thf(fact_1_T_Ohyps_I1_J, axiom, ((is_heap @ a) @ ((heapIm818251801eapify @ a) @ l))).
% 2.88/1.54  thf(fact_2__092_060open_062_092_060lbrakk_062is__heap_A_Iheapify_Al_J_059_Ais__heap_A_Iheapify_Ar_J_059_AT_Av_A_Iheapify_Al_J_A_Iheapify_Ar_J_A_061_AT_Av_A_Iheapify_Al_J_A_Iheapify_Ar_J_092_060rbrakk_062_A_092_060Longrightarrow_062_Ais__heap_A_IsiftDown_A_IT_Av_A_Iheapify_Al_J_A_Iheapify_Ar_J_J_J_092_060close_062, axiom, (((is_heap @ a) @ ((heapIm818251801eapify @ a) @ l)) => (((is_heap @ a) @ ((heapIm818251801eapify @ a) @ r)) => ((((((t @ a) @ v) @ ((heapIm818251801eapify @ a) @ l)) @ ((heapIm818251801eapify @ a) @ r)) = ((((t @ a) @ v) @ ((heapIm818251801eapify @ a) @ l)) @ ((heapIm818251801eapify @ a) @ r))) => ((is_heap @ a) @ ((heapIm748920189ftDown @ a) @ ((((t @ a) @ v) @ ((heapIm818251801eapify @ a) @ l)) @ ((heapIm818251801eapify @ a) @ r)))))))).
% 2.88/1.54  thf(fact_3_heapify_Osimps_I2_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V:A,L:(tree @ A),R:(tree @ A)]: ((((heapIm818251801eapify @ A) @ ((((t @ A) @ V) @ L) @ R)) = ((heapIm748920189ftDown @ A) @ ((((t @ A) @ V) @ ((heapIm818251801eapify @ A) @ L)) @ ((heapIm818251801eapify @ A) @ R)))))))))).
% 2.88/1.54  thf(fact_4_siftDown__heap__is__heap, axiom, (! [A:$tType]: (((linorder @ A) => (! [L:(tree @ A),R:(tree @ A),T2:(tree @ A),V:A]: ((((is_heap @ A) @ L) => (((is_heap @ A) @ R) => ((T2 = ((((t @ A) @ V) @ L) @ R)) => ((is_heap @ A) @ ((heapIm748920189ftDown @ A) @ T2))))))))))).
% 2.88/1.54  thf(fact_5_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.88/1.54  thf(fact_6_left_Osimps, axiom, (! [A:$tType,V:A,L:(tree @ A),R:(tree @ A)]: ((((heapIm1271749598e_left @ A) @ ((((t @ A) @ V) @ L) @ R)) = L)))).
% 2.88/1.54  thf(fact_7_right_Osimps, axiom, (! [A:$tType,V:A,L:(tree @ A),R:(tree @ A)]: ((((heapIm1434396069_right @ A) @ ((((t @ A) @ V) @ L) @ R)) = R)))).
% 2.88/1.54  thf(fact_8_is__heap_Osimps_I2_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V:A]: (((is_heap @ A) @ ((((t @ A) @ V) @ (e @ A)) @ (e @ A))))))))).
% 2.88/1.54  thf(fact_9_heapify_Osimps_I1_J, axiom, (! [A:$tType]: (((linorder @ A) => (((heapIm818251801eapify @ A) @ (e @ A)) = (e @ A)))))).
% 2.88/1.54  thf(fact_10_siftDown_Ocases, axiom, (! [A:$tType]: (((linorder @ A) => (! [X:(tree @ A)]: (((X != (e @ A)) => ((! [V2:A]: ((X != ((((t @ A) @ V2) @ (e @ A)) @ (e @ A))))) => ((! [V2:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: ((X != ((((t @ A) @ V2) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ (e @ A))))) => ((! [V2:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: ((X != ((((t @ A) @ V2) @ (e @ A)) @ ((((t @ A) @ Va) @ Vb) @ Vc))))) => (~ ((! [V2:A,Va:A,Vb:(tree @ A),Vc:(tree @ A),Vd:A,Ve:(tree @ A),Vf:(tree @ A)]: ((X != ((((t @ A) @ V2) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ ((((t @ A) @ Vd) @ Ve) @ Vf))))))))))))))))).
% 2.88/1.54  thf(fact_11_Tree_Osimps_I5_J, axiom, (! [B:$tType,A:$tType,F1:B,F2:(A > ((tree @ A) > ((tree @ A) > B))),X21:A,X22:(tree @ A),X23:(tree @ A)]: (((((((case_Tree @ B) @ A) @ F1) @ F2) @ ((((t @ A) @ X21) @ X22) @ X23)) = (((F2 @ X21) @ X22) @ X23))))).
% 2.88/1.54  thf(fact_12_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)),I:(list @ A)]: ((((((((((heap @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max) => ((is_heap @ A) @ (As_tree @ (Of_list @ I)))))))))).
% 2.88/1.54  thf(fact_13_in__tree_Osimps_I2_J, axiom, (! [A:$tType,V:A,V3:A,L:(tree @ A),R:(tree @ A)]: (((((in_tree @ A) @ V) @ ((((t @ A) @ V3) @ L) @ R)) = ((V = V3) | ((((in_tree @ A) @ V) @ L) | (((in_tree @ A) @ V) @ R))))))).
% 2.88/1.54  thf(fact_14_siftDown_Osimps_I2_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V:A]: ((((heapIm748920189ftDown @ A) @ ((((t @ A) @ V) @ (e @ A)) @ (e @ A))) = ((((t @ A) @ V) @ (e @ A)) @ (e @ A))))))))).
% 2.88/1.54  thf(fact_15_Tree_Osimps_I4_J, axiom, (! [A:$tType,B:$tType,F1:B,F2:(A > ((tree @ A) > ((tree @ A) > B)))]: (((((((case_Tree @ B) @ A) @ F1) @ F2) @ (e @ A)) = F1)))).
% 2.88/1.54  thf(fact_16_in__tree_Osimps_I1_J, axiom, (! [A:$tType,V:A]: ((~ ((((in_tree @ A) @ V) @ (e @ A))))))).
% 2.88/1.54  thf(fact_17_siftDown_Osimps_I1_J, axiom, (! [A:$tType]: (((linorder @ A) => (((heapIm748920189ftDown @ A) @ (e @ A)) = (e @ A)))))).
% 2.88/1.54  thf(fact_18_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)),T2:B]: ((((((((((heap @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max) => (((As_tree @ T2) = (e @ A)) = (Is_empty @ T2))))))))).
% 2.88/1.54  thf(fact_19_siftDown__in__tree__set, axiom, (! [A:$tType]: (((linorder @ A) => ((in_tree @ A) = (^ [V4:A,T3:(tree @ A)]: ((((in_tree @ A) @ V4) @ ((heapIm748920189ftDown @ A) @ T3))))))))).
% 2.88/1.54  thf(fact_20_is__heap_Ocases, axiom, (! [A:$tType]: (((linorder @ A) => (! [X:(tree @ A)]: (((X != (e @ A)) => ((! [V2:A]: ((X != ((((t @ A) @ V2) @ (e @ A)) @ (e @ A))))) => ((! [V2:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: ((X != ((((t @ A) @ V2) @ (e @ A)) @ ((((t @ A) @ Va) @ Vb) @ Vc))))) => ((! [V2:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: ((X != ((((t @ A) @ V2) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ (e @ A))))) => (~ ((! [V2:A,Va:A,Vb:(tree @ A),Vc:(tree @ A),Vd:A,Ve:(tree @ A),Vf:(tree @ A)]: ((X != ((((t @ A) @ V2) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ ((((t @ A) @ Vd) @ Ve) @ Vf))))))))))))))))).
% 2.88/1.54  thf(fact_21_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.88/1.54  thf(fact_22_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.88/1.54  thf(fact_23_Tree_Odistinct_I1_J, axiom, (! [A:$tType,X21:A,X22:(tree @ A),X23:(tree @ A)]: (((e @ A) != ((((t @ A) @ X21) @ X22) @ X23))))).
% 2.88/1.54  thf(fact_24_is__heap_Osimps_I1_J, axiom, (! [A:$tType]: (((linorder @ A) => ((is_heap @ A) @ (e @ A)))))).
% 2.88/1.54  thf(fact_25_siftDown__in__tree, axiom, (! [A:$tType]: (((linorder @ A) => (! [T2:(tree @ A)]: (((T2 != (e @ A)) => (((in_tree @ A) @ ((val @ A) @ ((heapIm748920189ftDown @ A) @ T2))) @ T2)))))))).
% 2.88/1.54  thf(fact_26_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.88/1.54  thf(fact_27_siftDown_Osimps_I4_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [Va2:A,Vb2:(tree @ A),Vc2:(tree @ A),V:A]: ((((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V) @ (e @ A)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((t @ A) @ V) @ (e @ A)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V))) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V) @ (e @ A)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((t @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ (e @ A)) @ ((heapIm748920189ftDown @ A) @ ((((t @ A) @ V) @ ((heapIm1271749598e_left @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((heapIm1434396069_right @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))))))))))))).
% 2.88/1.54  thf(fact_28_siftDown_Osimps_I3_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [Va2:A,Vb2:(tree @ A),Vc2:(tree @ A),V:A]: ((((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ (e @ A))) = ((((t @ A) @ V) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ (e @ A)))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V))) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ (e @ A))) = ((((t @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((heapIm748920189ftDown @ A) @ ((((t @ A) @ V) @ ((heapIm1271749598e_left @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((heapIm1434396069_right @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))))) @ (e @ A))))))))))).
% 2.88/1.54  thf(fact_29_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.88/1.54  thf(fact_30_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),V: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))) @ V) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((t @ A) @ V) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ V))) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((t @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ ((heapIm748920189ftDown @ A) @ ((((t @ A) @ V) @ ((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))) @ V) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((t @ A) @ V) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V))) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V) @ ((((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) @ V) @ ((heapIm1271749598e_left @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((heapIm1434396069_right @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))))))))))))))).
% 2.88/1.54  thf(fact_31_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),V: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))) @ V) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) = ((((t @ A) @ V) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V))) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) = ((((t @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((heapIm748920189ftDown @ A) @ ((((t @ A) @ V) @ ((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))) @ V) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) = ((((t @ A) @ V) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ V))) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V) @ ((((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) @ V) @ ((heapIm1271749598e_left @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ ((heapIm1434396069_right @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)))))))))))))))).
% 2.88/1.54  thf(fact_32_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,L2: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) @ L2) = (Remove_max @ L)) => ((is_heap @ A) @ (As_tree @ L2)))))))))))).
% 2.88/1.54  thf(fact_33_siftDown__Node, axiom, (! [A:$tType]: (((linorder @ A) => (! [T2:(tree @ A),V:A,L:(tree @ A),R:(tree @ A)]: (((T2 = ((((t @ A) @ V) @ L) @ R)) => (? [L3:(tree @ A),V5:A,R2:(tree @ A)]: (((((heapIm748920189ftDown @ A) @ T2) = ((((t @ A) @ V5) @ L3) @ R2)) & (((ord_less_eq @ A) @ V) @ V5))))))))))).
% 2.88/1.54  thf(fact_34_Tree_Osimps_I6_J, axiom, (! [A:$tType,C:$tType,F1:C,F2:(A > ((tree @ A) > ((tree @ A) > (C > (C > C)))))]: (((((((rec_Tree @ C) @ A) @ F1) @ F2) @ (e @ A)) = F1)))).
% 2.88/1.54  thf(fact_35_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)),T2:B,M:A,T4:B]: ((((((((((heap @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max) => ((~ ((Is_empty @ T2))) => ((((((product_Pair @ A) @ B) @ M) @ T4) = (Remove_max @ T2)) => (M = ((val @ A) @ (As_tree @ T2)))))))))))).
% 2.88/1.54  thf(fact_36_is__heap_Osimps_I6_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V:A,Vd2:A,Ve2:(tree @ A),Vf2:(tree @ A),Va2:A,Vb2:(tree @ A),Vc2:(tree @ A)]: ((((is_heap @ A) @ ((((t @ A) @ V) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V) & (((is_heap @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) & ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ V) & ((is_heap @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)))))))))))).
% 2.88/1.54  thf(fact_37_is__heap_Osimps_I5_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V:A,Va2:A,Vb2:(tree @ A),Vc2:(tree @ A),Vd2:A,Ve2:(tree @ A),Vf2:(tree @ A)]: ((((is_heap @ A) @ ((((t @ A) @ V) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) = ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ V) & (((is_heap @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) & ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V) & ((is_heap @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))))))))))).
% 2.88/1.54  thf(fact_38_is__heap__max, axiom, (! [A:$tType]: (((linorder @ A) => (! [V:A,T2:(tree @ A)]: (((((in_tree @ A) @ V) @ T2) => (((is_heap @ A) @ T2) => (((ord_less_eq @ A) @ V) @ ((val @ A) @ T2)))))))))).
% 2.88/1.54  thf(fact_39_val_Osimps, axiom, (! [A:$tType,V:A,Uu:(tree @ A),Uv:(tree @ A)]: ((((val @ A) @ ((((t @ A) @ V) @ Uu) @ Uv)) = V)))).
% 2.88/1.54  thf(fact_40_is__heap_Osimps_I4_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V:A,Va2:A,Vb2:(tree @ A),Vc2:(tree @ A)]: ((((is_heap @ A) @ ((((t @ A) @ V) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ (e @ A))) = ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V) & ((is_heap @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))))))))).
% 2.88/1.54  thf(fact_41_is__heap_Osimps_I3_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V:A,Va2:A,Vb2:(tree @ A),Vc2:(tree @ A)]: ((((is_heap @ A) @ ((((t @ A) @ V) @ (e @ A)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V) & ((is_heap @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))))))))).
% 2.88/1.54  thf(fact_42_Tree_Osimps_I7_J, axiom, (! [C:$tType,A:$tType,F1:C,F2:(A > ((tree @ A) > ((tree @ A) > (C > (C > C))))),X21:A,X22:(tree @ A),X23:(tree @ A)]: (((((((rec_Tree @ C) @ A) @ F1) @ F2) @ ((((t @ A) @ X21) @ X22) @ X23)) = (((((F2 @ X21) @ X22) @ X23) @ (((((rec_Tree @ C) @ A) @ F1) @ F2) @ X22)) @ (((((rec_Tree @ C) @ A) @ F1) @ F2) @ X23)))))).
% 2.88/1.54  thf(fact_43_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.88/1.54  thf(fact_44_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.88/1.54  thf(fact_45_mem__Collect__eq, axiom, (! [A:$tType,A2:A,P:(A > $o)]: (((((member @ A) @ A2) @ ((collect @ A) @ P)) = (P @ A2))))).
% 2.88/1.54  thf(fact_46_Collect__mem__eq, axiom, (! [A:$tType,A4:(set @ A)]: ((((collect @ A) @ (^ [X4:A]: ((((member @ A) @ X4) @ A4)))) = A4)))).
% 2.88/1.54  thf(fact_47_Collect__cong, axiom, (! [A:$tType,P:(A > $o),Q:(A > $o)]: (((! [X5:A]: (((P @ X5) = (Q @ X5)))) => (((collect @ A) @ P) = ((collect @ A) @ Q)))))).
% 2.88/1.54  thf(fact_48_ext, axiom, (! [B:$tType,A:$tType,F:(A > B),G:(A > B)]: (((! [X5:A]: (((F @ X5) = (G @ X5)))) => (F = G))))).
% 2.88/1.54  thf(fact_49_order__refl, axiom, (! [A:$tType]: (((preorder @ A) => (! [X:A]: ((((ord_less_eq @ A) @ X) @ X))))))).
% 2.88/1.54  thf(fact_50_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))]: (((! [L4:B]: (((Multiset @ L4) = ((multiset2 @ A) @ (As_tree @ L4))))) => ((! [I2:(list @ A)]: (((is_heap @ A) @ (As_tree @ (Of_list @ I2))))) => ((! [T5:B]: ((((As_tree @ T5) = (e @ A)) = (Is_empty @ T5)))) => ((! [L4:B,M2:A,L3:B]: (((~ ((Is_empty @ L4))) => ((((((product_Pair @ A) @ B) @ M2) @ L3) = (Remove_max @ L4)) => ((((add_mset @ A) @ M2) @ (Multiset @ L3)) = (Multiset @ L4)))))) => ((! [L4:B,M2:A,L3:B]: (((~ ((Is_empty @ L4))) => (((is_heap @ A) @ (As_tree @ L4)) => ((((((product_Pair @ A) @ B) @ M2) @ L3) = (Remove_max @ L4)) => ((is_heap @ A) @ (As_tree @ L3))))))) => ((! [T5:B,M2:A,T6:B]: (((~ ((Is_empty @ T5))) => ((((((product_Pair @ A) @ B) @ M2) @ T6) = (Remove_max @ T5)) => (M2 = ((val @ A) @ (As_tree @ T5))))))) => (((((((heap_axioms @ B) @ A) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max))))))))))))).
% 2.88/1.54  thf(fact_51_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))]: (((! [L5:B]: (((Multiset2 @ L5) = ((multiset2 @ A) @ (As_tree2 @ L5))))) & ((! [I3:(list @ A)]: (((is_heap @ A) @ (As_tree2 @ (Of_list2 @ I3))))) & ((! [T3:B]: ((((As_tree2 @ T3) = (e @ A)) = (Is_empty2 @ T3)))) & ((! [L5:B,M3:A,L6:B]: (((~ ((Is_empty2 @ L5))) => ((((((product_Pair @ A) @ B) @ M3) @ L6) = (Remove_max2 @ L5)) => ((((add_mset @ A) @ M3) @ (Multiset2 @ L6)) = (Multiset2 @ L5)))))) & ((! [L5:B,M3:A,L6:B]: (((~ ((Is_empty2 @ L5))) => (((is_heap @ A) @ (As_tree2 @ L5)) => ((((((product_Pair @ A) @ B) @ M3) @ L6) = (Remove_max2 @ L5)) => ((is_heap @ A) @ (As_tree2 @ L6))))))) & (! [T3:B,M3:A,T7:B]: (((~ ((Is_empty2 @ T3))) => ((((((product_Pair @ A) @ B) @ M3) @ T7) = (Remove_max2 @ T3)) => (M3 = ((val @ A) @ (As_tree2 @ T3))))))))))))))))))).
% 2.88/1.54  thf(fact_52_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.88/1.54  thf(fact_53_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.88/1.54  thf(fact_54_heap__top__geq, axiom, (! [A:$tType]: (((linorder @ A) => (! [A2:A,T2:(tree @ A)]: (((((member @ A) @ A2) @ ((set_mset @ A) @ ((multiset2 @ A) @ T2))) => (((is_heap @ A) @ T2) => (((ord_less_eq @ A) @ A2) @ ((val @ A) @ T2)))))))))).
% 2.88/1.54  thf(fact_55_relChain__def, axiom, (! [B:$tType,A:$tType]: (((ord @ B) => (((bNF_Ca1785829860lChain @ A) @ B) = (^ [R3:(set @ ((product_prod @ A) @ A)),As:(A > B)]: ((! [I3:A,J:A]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ I3) @ J)) @ R3) => (((ord_less_eq @ B) @ (As @ I3)) @ (As @ J)))))))))))).
% 2.88/1.54  thf(fact_56_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.88/1.54  thf(fact_57_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,L2:B]: ((((((((((heap @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max) => ((~ ((Is_empty @ L))) => ((((((product_Pair @ A) @ B) @ M) @ L2) = (Remove_max @ L)) => ((((add_mset @ A) @ M) @ (Multiset @ L2)) = (Multiset @ L))))))))))).
% 2.88/1.54  thf(fact_58_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.88/1.54  thf(fact_59_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.88/1.54  thf(fact_60_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.88/1.54  thf(fact_61_le__fun__def, axiom, (! [B:$tType,A:$tType]: (((ord @ B) => ((ord_less_eq @ (A > B)) = (^ [F3:(A > B),G2:(A > B)]: ((! [X4:A]: ((((ord_less_eq @ B) @ (F3 @ X4)) @ (G2 @ X4))))))))))).
% 2.88/1.54  thf(fact_62_order__subst1, axiom, (! [A:$tType,B:$tType]: ((((order @ B) & (order @ A)) => (! [A2:A,F:(B > A),B2:B,C2:B]: (((((ord_less_eq @ A) @ A2) @ (F @ B2)) => ((((ord_less_eq @ B) @ B2) @ C2) => ((! [X5:B,Y3:B]: (((((ord_less_eq @ B) @ X5) @ Y3) => (((ord_less_eq @ A) @ (F @ X5)) @ (F @ Y3))))) => (((ord_less_eq @ A) @ A2) @ (F @ C2))))))))))).
% 2.88/1.54  thf(fact_63_order__subst2, axiom, (! [A:$tType,C:$tType]: ((((order @ C) & (order @ A)) => (! [A2:A,B2:A,F:(A > C),C2:C]: (((((ord_less_eq @ A) @ A2) @ B2) => ((((ord_less_eq @ C) @ (F @ B2)) @ C2) => ((! [X5:A,Y3:A]: (((((ord_less_eq @ A) @ X5) @ Y3) => (((ord_less_eq @ C) @ (F @ X5)) @ (F @ Y3))))) => (((ord_less_eq @ C) @ (F @ A2)) @ C2)))))))))).
% 2.88/1.54  thf(fact_64_ord__eq__le__subst, axiom, (! [A:$tType,B:$tType]: ((((ord @ B) & (ord @ A)) => (! [A2:A,F:(B > A),B2:B,C2:B]: (((A2 = (F @ B2)) => ((((ord_less_eq @ B) @ B2) @ C2) => ((! [X5:B,Y3:B]: (((((ord_less_eq @ B) @ X5) @ Y3) => (((ord_less_eq @ A) @ (F @ X5)) @ (F @ Y3))))) => (((ord_less_eq @ A) @ A2) @ (F @ C2))))))))))).
% 2.88/1.54  thf(fact_65_ord__le__eq__subst, axiom, (! [A:$tType,B:$tType]: ((((ord @ B) & (ord @ A)) => (! [A2:A,B2:A,F:(A > B),C2:B]: (((((ord_less_eq @ A) @ A2) @ B2) => (((F @ B2) = C2) => ((! [X5:A,Y3:A]: (((((ord_less_eq @ A) @ X5) @ Y3) => (((ord_less_eq @ B) @ (F @ X5)) @ (F @ Y3))))) => (((ord_less_eq @ B) @ (F @ A2)) @ C2)))))))))).
% 2.88/1.54  thf(fact_66_eq__iff, axiom, (! [A:$tType]: (((order @ A) => ((^ [Y4:A,Z:A]: ((Y4 = Z))) = (^ [X4:A,Y5:A]: (((((ord_less_eq @ A) @ X4) @ Y5) & (((ord_less_eq @ A) @ Y5) @ X4))))))))).
% 2.88/1.54  thf(fact_67_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.88/1.54  thf(fact_68_linear, axiom, (! [A:$tType]: (((linorder @ A) => (! [X:A,Y:A]: (((((ord_less_eq @ A) @ X) @ Y) | (((ord_less_eq @ A) @ Y) @ X)))))))).
% 2.88/1.54  thf(fact_69_eq__refl, axiom, (! [A:$tType]: (((preorder @ A) => (! [X:A,Y:A]: (((X = Y) => (((ord_less_eq @ A) @ X) @ Y)))))))).
% 2.88/1.54  thf(fact_70_le__cases, axiom, (! [A:$tType]: (((linorder @ A) => (! [X:A,Y:A]: (((~ ((((ord_less_eq @ A) @ X) @ Y))) => (((ord_less_eq @ A) @ Y) @ X)))))))).
% 2.88/1.54  thf(fact_71_order_Otrans, axiom, (! [A:$tType]: (((order @ A) => (! [A2:A,B2:A,C2:A]: (((((ord_less_eq @ A) @ A2) @ B2) => ((((ord_less_eq @ A) @ B2) @ C2) => (((ord_less_eq @ A) @ A2) @ C2))))))))).
% 2.88/1.54  thf(fact_72_le__cases3, axiom, (! [A:$tType]: (((linorder @ A) => (! [X:A,Y:A,Z2:A]: ((((((ord_less_eq @ A) @ X) @ Y) => (~ ((((ord_less_eq @ A) @ Y) @ Z2)))) => (((((ord_less_eq @ A) @ Y) @ X) => (~ ((((ord_less_eq @ A) @ X) @ Z2)))) => (((((ord_less_eq @ A) @ X) @ Z2) => (~ ((((ord_less_eq @ A) @ Z2) @ Y)))) => (((((ord_less_eq @ A) @ Z2) @ Y) => (~ ((((ord_less_eq @ A) @ Y) @ X)))) => (((((ord_less_eq @ A) @ Y) @ Z2) => (~ ((((ord_less_eq @ A) @ Z2) @ X)))) => (~ (((((ord_less_eq @ A) @ Z2) @ X) => (~ ((((ord_less_eq @ A) @ X) @ Y))))))))))))))))).
% 2.88/1.54  thf(fact_73_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.88/1.54  thf(fact_74_order__class_Oorder_Oeq__iff, axiom, (! [A:$tType]: (((order @ A) => ((^ [Y4:A,Z:A]: ((Y4 = Z))) = (^ [A5:A,B4:A]: (((((ord_less_eq @ A) @ A5) @ B4) & (((ord_less_eq @ A) @ B4) @ A5))))))))).
% 2.88/1.54  thf(fact_75_ord__eq__le__trans, axiom, (! [A:$tType]: (((ord @ A) => (! [A2:A,B2:A,C2:A]: (((A2 = B2) => ((((ord_less_eq @ A) @ B2) @ C2) => (((ord_less_eq @ A) @ A2) @ C2))))))))).
% 2.88/1.54  thf(fact_76_ord__le__eq__trans, axiom, (! [A:$tType]: (((ord @ A) => (! [A2:A,B2:A,C2:A]: (((((ord_less_eq @ A) @ A2) @ B2) => ((B2 = C2) => (((ord_less_eq @ A) @ A2) @ C2))))))))).
% 2.88/1.54  thf(fact_77_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.88/1.54  thf(fact_78_order__trans, axiom, (! [A:$tType]: (((preorder @ A) => (! [X:A,Y:A,Z2:A]: (((((ord_less_eq @ A) @ X) @ Y) => ((((ord_less_eq @ A) @ Y) @ Z2) => (((ord_less_eq @ A) @ X) @ Z2))))))))).
% 2.88/1.54  thf(fact_79_dual__order_Orefl, axiom, (! [A:$tType]: (((order @ A) => (! [A2:A]: ((((ord_less_eq @ A) @ A2) @ A2))))))).
% 2.88/1.54  thf(fact_80_linorder__wlog, axiom, (! [A:$tType]: (((linorder @ A) => (! [P:(A > (A > $o)),A2:A,B2:A]: (((! [A6:A,B5:A]: (((((ord_less_eq @ A) @ A6) @ B5) => ((P @ A6) @ B5)))) => ((! [A6:A,B5:A]: ((((P @ B5) @ A6) => ((P @ A6) @ B5)))) => ((P @ A2) @ B2))))))))).
% 2.88/1.54  thf(fact_81_dual__order_Otrans, axiom, (! [A:$tType]: (((order @ A) => (! [B2:A,A2:A,C2:A]: (((((ord_less_eq @ A) @ B2) @ A2) => ((((ord_less_eq @ A) @ C2) @ B2) => (((ord_less_eq @ A) @ C2) @ A2))))))))).
% 2.88/1.54  thf(fact_82_dual__order_Oeq__iff, axiom, (! [A:$tType]: (((order @ A) => ((^ [Y4:A,Z:A]: ((Y4 = Z))) = (^ [A5:A,B4:A]: (((((ord_less_eq @ A) @ B4) @ A5) & (((ord_less_eq @ A) @ A5) @ B4))))))))).
% 2.88/1.54  thf(fact_83_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.88/1.54  thf(fact_84_surj__pair, axiom, (! [A:$tType,B:$tType,P2:((product_prod @ A) @ B)]: ((? [X5:A,Y3:B]: ((P2 = ((((product_Pair @ A) @ B) @ X5) @ Y3))))))).
% 2.88/1.54  thf(fact_85_prod__cases, axiom, (! [B:$tType,A:$tType,P:(((product_prod @ A) @ B) > $o),P2:((product_prod @ A) @ B)]: (((! [A6:A,B5:B]: ((P @ ((((product_Pair @ A) @ B) @ A6) @ B5)))) => (P @ P2))))).
% 2.88/1.54  thf(fact_86_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.88/1.54  thf(fact_87_prod__cases3, axiom, (! [A:$tType,B:$tType,C:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ C))]: ((~ ((! [A6:A,B5:B,C3:C]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ C)) @ A6) @ ((((product_Pair @ B) @ C) @ B5) @ C3)))))))))).
% 2.88/1.54  thf(fact_88_prod__cases4, axiom, (! [A:$tType,B:$tType,C:$tType,D:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D)))]: ((~ ((! [A6:A,B5:B,C3:C,D2:D]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D))) @ A6) @ ((((product_Pair @ B) @ ((product_prod @ C) @ D)) @ B5) @ ((((product_Pair @ C) @ D) @ C3) @ D2))))))))))).
% 2.88/1.54  thf(fact_89_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))))]: ((~ ((! [A6:A,B5:B,C3:C,D2:D,E2:E]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E)))) @ A6) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E))) @ B5) @ ((((product_Pair @ C) @ ((product_prod @ D) @ E)) @ C3) @ ((((product_Pair @ D) @ E) @ D2) @ E2)))))))))))).
% 2.88/1.54  thf(fact_90_prod__cases6, axiom, (! [A:$tType,B:$tType,C:$tType,D:$tType,E:$tType,F4:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F4)))))]: ((~ ((! [A6:A,B5:B,C3:C,D2:D,E2:E,F5:F4]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F4))))) @ A6) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F4)))) @ B5) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F4))) @ C3) @ ((((product_Pair @ D) @ ((product_prod @ E) @ F4)) @ D2) @ ((((product_Pair @ E) @ F4) @ E2) @ F5))))))))))))).
% 2.88/1.54  thf(fact_91_prod__cases7, axiom, (! [A:$tType,B:$tType,C:$tType,D:$tType,E:$tType,F4:$tType,G3:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F4) @ G3))))))]: ((~ ((! [A6:A,B5:B,C3:C,D2:D,E2:E,F5:F4,G4:G3]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F4) @ G3)))))) @ A6) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F4) @ G3))))) @ B5) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F4) @ G3)))) @ C3) @ ((((product_Pair @ D) @ ((product_prod @ E) @ ((product_prod @ F4) @ G3))) @ D2) @ ((((product_Pair @ E) @ ((product_prod @ F4) @ G3)) @ E2) @ ((((product_Pair @ F4) @ G3) @ F5) @ G4)))))))))))))).
% 2.88/1.54  thf(fact_92_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))]: (((! [A6:A,B5:B,C3:C]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ C)) @ A6) @ ((((product_Pair @ B) @ C) @ B5) @ C3))))) => (P @ X))))).
% 2.88/1.54  thf(fact_93_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)))]: (((! [A6:A,B5:B,C3:C,D2:D]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D))) @ A6) @ ((((product_Pair @ B) @ ((product_prod @ C) @ D)) @ B5) @ ((((product_Pair @ C) @ D) @ C3) @ D2)))))) => (P @ X))))).
% 2.88/1.54  thf(fact_94_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))))]: (((! [A6:A,B5:B,C3:C,D2:D,E2:E]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E)))) @ A6) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E))) @ B5) @ ((((product_Pair @ C) @ ((product_prod @ D) @ E)) @ C3) @ ((((product_Pair @ D) @ E) @ D2) @ E2))))))) => (P @ X))))).
% 2.88/1.54  thf(fact_95_prod__induct6, axiom, (! [F4:$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) @ F4))))) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F4)))))]: (((! [A6:A,B5:B,C3:C,D2:D,E2:E,F5:F4]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F4))))) @ A6) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F4)))) @ B5) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F4))) @ C3) @ ((((product_Pair @ D) @ ((product_prod @ E) @ F4)) @ D2) @ ((((product_Pair @ E) @ F4) @ E2) @ F5)))))))) => (P @ X))))).
% 2.88/1.54  thf(fact_96_prod__induct7, axiom, (! [G3:$tType,F4:$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 @ F4) @ G3)))))) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F4) @ G3))))))]: (((! [A6:A,B5:B,C3:C,D2:D,E2:E,F5:F4,G4:G3]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F4) @ G3)))))) @ A6) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F4) @ G3))))) @ B5) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F4) @ G3)))) @ C3) @ ((((product_Pair @ D) @ ((product_prod @ E) @ ((product_prod @ F4) @ G3))) @ D2) @ ((((product_Pair @ E) @ ((product_prod @ F4) @ G3)) @ E2) @ ((((product_Pair @ F4) @ G3) @ F5) @ G4))))))))) => (P @ X))))).
% 2.88/1.54  thf(fact_97_old_Oprod_Oexhaust, axiom, (! [A:$tType,B:$tType,Y:((product_prod @ A) @ B)]: ((~ ((! [A6:A,B5:B]: ((Y != ((((product_Pair @ A) @ B) @ A6) @ B5))))))))).
% 2.88/1.54  thf(fact_98_old_Oprod_Oinducts, axiom, (! [B:$tType,A:$tType,P:(((product_prod @ A) @ B) > $o),Prod:((product_prod @ A) @ B)]: (((! [A6:A,B5:B]: ((P @ ((((product_Pair @ A) @ B) @ A6) @ B5)))) => (P @ Prod))))).
% 2.88/1.54  thf(fact_99_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.88/1.54  thf(fact_100_add__mset__add__mset__same__iff, axiom, (! [A:$tType,A2:A,A4:(multiset @ A),B6:(multiset @ A)]: ((((((add_mset @ A) @ A2) @ A4) = (((add_mset @ A) @ A2) @ B6)) = (A4 = B6))))).
% 2.88/1.54  thf(fact_101_multi__self__add__other__not__self, axiom, (! [A:$tType,M4:(multiset @ A),X:A]: ((M4 != (((add_mset @ A) @ X) @ M4))))).
% 2.88/1.54  thf(fact_102_mset__add, axiom, (! [A:$tType,A2:A,A4:(multiset @ A)]: (((((member @ A) @ A2) @ ((set_mset @ A) @ A4)) => (~ ((! [B7:(multiset @ A)]: ((A4 != (((add_mset @ A) @ A2) @ B7)))))))))).
% 2.88/1.54  thf(fact_103_multi__member__split, axiom, (! [A:$tType,X:A,M4:(multiset @ A)]: (((((member @ A) @ X) @ ((set_mset @ A) @ M4)) => (? [A7:(multiset @ A)]: ((M4 = (((add_mset @ A) @ X) @ A7)))))))).
% 2.88/1.54  thf(fact_104_insert__noteq__member, axiom, (! [A:$tType,B2:A,B6:(multiset @ A),C2:A,C4:(multiset @ A)]: ((((((add_mset @ A) @ B2) @ B6) = (((add_mset @ A) @ C2) @ C4)) => ((B2 != C2) => (((member @ A) @ C2) @ ((set_mset @ A) @ B6))))))).
% 2.88/1.54  thf(fact_105_union__single__eq__member, axiom, (! [A:$tType,X:A,M4:(multiset @ A),N:(multiset @ A)]: ((((((add_mset @ A) @ X) @ M4) = N) => (((member @ A) @ X) @ ((set_mset @ A) @ N)))))).
% 2.88/1.54  thf(fact_106_heap__top__max, axiom, (! [A:$tType]: (((linorder @ A) => (! [T2:(tree @ A)]: (((T2 != (e @ A)) => (((is_heap @ A) @ T2) => (((val @ A) @ T2) = ((lattic929149872er_Max @ A) @ ((set_mset @ A) @ ((multiset2 @ A) @ T2)))))))))))).
% 2.88/1.54  thf(fact_107_add__mset__commute, axiom, (! [A:$tType,X:A,Y:A,M4:(multiset @ A)]: (((((add_mset @ A) @ X) @ (((add_mset @ A) @ Y) @ M4)) = (((add_mset @ A) @ Y) @ (((add_mset @ A) @ X) @ M4)))))).
% 2.88/1.54  thf(fact_108_add__eq__conv__ex, axiom, (! [A:$tType,A2:A,M4:(multiset @ A),B2:A,N:(multiset @ A)]: ((((((add_mset @ A) @ A2) @ M4) = (((add_mset @ A) @ B2) @ N)) = (((M4 = N) & (A2 = B2)) | (? [K:(multiset @ A)]: (((M4 = (((add_mset @ A) @ B2) @ K)) & (N = (((add_mset @ A) @ A2) @ K)))))))))).
% 2.88/1.54  thf(fact_109_internal__case__prod__conv, axiom, (! [B:$tType,A:$tType,C:$tType,C2:(B > (C > A)),A2:B,B2:C]: (((((((produc2004651681e_prod @ B) @ C) @ A) @ C2) @ ((((product_Pair @ B) @ C) @ A2) @ B2)) = ((C2 @ A2) @ B2))))).
% 2.88/1.54  thf(fact_110_Collection_Ois__empty__empty, axiom, (! [A:$tType,B:$tType,Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A))]: ((((((((collection @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) => (Is_empty @ Empty))))).
% 2.88/1.54  thf(fact_111_Collection_Ois__empty__inj, axiom, (! [A:$tType,B:$tType,Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),E3:B]: ((((((((collection @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) => ((Is_empty @ E3) => (E3 = Empty)))))).
% 2.88/1.54  thf(fact_112_Greatest__equality, axiom, (! [A:$tType]: (((order @ A) => (! [P:(A > $o),X:A]: (((P @ X) => ((! [Y3:A]: (((P @ Y3) => (((ord_less_eq @ A) @ Y3) @ X)))) => (((order_Greatest @ A) @ P) = X))))))))).
% 2.88/1.54  thf(fact_113_GreatestI2__order, axiom, (! [A:$tType]: (((order @ A) => (! [P:(A > $o),X:A,Q:(A > $o)]: (((P @ X) => ((! [Y3:A]: (((P @ Y3) => (((ord_less_eq @ A) @ Y3) @ X)))) => ((! [X5:A]: (((P @ X5) => ((! [Y6:A]: (((P @ Y6) => (((ord_less_eq @ A) @ Y6) @ X5)))) => (Q @ X5))))) => (Q @ ((order_Greatest @ A) @ P))))))))))).
% 2.88/1.54  thf(fact_114_Collection_Oset__def, axiom, (! [A:$tType,B:$tType,Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),L:B]: ((((((((collection @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) => (((((set2 @ B) @ A) @ Multiset) @ L) = ((set_mset @ A) @ (Multiset @ L))))))).
% 2.88/1.54  thf(fact_115_multiset__induct__min, axiom, (! [A:$tType]: (((linorder @ A) => (! [P:((multiset @ A) > $o),M4:(multiset @ A)]: (((P @ (zero_zero @ (multiset @ A))) => ((! [X5:A,M5:(multiset @ A)]: (((P @ M5) => ((! [Xa:A]: (((((member @ A) @ Xa) @ ((set_mset @ A) @ M5)) => (((ord_less_eq @ A) @ X5) @ Xa)))) => (P @ (((add_mset @ A) @ X5) @ M5)))))) => (P @ M4))))))))).
% 2.88/1.54  thf(fact_116_multiset__induct__max, axiom, (! [A:$tType]: (((linorder @ A) => (! [P:((multiset @ A) > $o),M4:(multiset @ A)]: (((P @ (zero_zero @ (multiset @ A))) => ((! [X5:A,M5:(multiset @ A)]: (((P @ M5) => ((! [Xa:A]: (((((member @ A) @ Xa) @ ((set_mset @ A) @ M5)) => (((ord_less_eq @ A) @ Xa) @ X5)))) => (P @ (((add_mset @ A) @ X5) @ M5)))))) => (P @ M4))))))))).
% 2.88/1.54  thf(fact_117_subrelI, axiom, (! [B:$tType,A:$tType,R:(set @ ((product_prod @ A) @ B)),S:(set @ ((product_prod @ A) @ B))]: (((! [X5:A,Y3:B]: (((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X5) @ Y3)) @ R) => (((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X5) @ Y3)) @ S)))) => (((ord_less_eq @ (set @ ((product_prod @ A) @ B))) @ R) @ S))))).
% 2.88/1.54  thf(fact_118_ssubst__Pair__rhs, axiom, (! [B:$tType,A:$tType,R:A,S:B,R4:(set @ ((product_prod @ A) @ B)),S2:B]: (((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ R) @ S)) @ R4) => ((S2 = S) => (((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ R) @ S2)) @ R4)))))).
% 2.88/1.54  thf(fact_119_add__mset__eq__singleton__iff, axiom, (! [A:$tType,X:A,M4:(multiset @ A),Y:A]: ((((((add_mset @ A) @ X) @ M4) = (((add_mset @ A) @ Y) @ (zero_zero @ (multiset @ A)))) = ((M4 = (zero_zero @ (multiset @ A))) & (X = Y)))))).
% 2.88/1.54  thf(fact_120_single__eq__add__mset, axiom, (! [A:$tType,A2:A,B2:A,M4:(multiset @ A)]: ((((((add_mset @ A) @ A2) @ (zero_zero @ (multiset @ A))) = (((add_mset @ A) @ B2) @ M4)) = ((B2 = A2) & (M4 = (zero_zero @ (multiset @ A)))))))).
% 2.88/1.54  thf(fact_121_add__mset__eq__single, axiom, (! [A:$tType,B2:A,M4:(multiset @ A),A2:A]: ((((((add_mset @ A) @ B2) @ M4) = (((add_mset @ A) @ A2) @ (zero_zero @ (multiset @ A)))) = ((B2 = A2) & (M4 = (zero_zero @ (multiset @ A)))))))).
% 2.88/1.54  thf(fact_122_single__eq__single, axiom, (! [A:$tType,A2:A,B2:A]: ((((((add_mset @ A) @ A2) @ (zero_zero @ (multiset @ A))) = (((add_mset @ A) @ B2) @ (zero_zero @ (multiset @ A)))) = (A2 = B2))))).
% 2.88/1.54  thf(fact_123_Collection_Oset_Ocong, axiom, (! [A:$tType,B:$tType]: ((((set2 @ B) @ A) = ((set2 @ B) @ A))))).
% 2.88/1.54  thf(fact_124_multiset__cases, axiom, (! [A:$tType,M4:(multiset @ A)]: (((M4 != (zero_zero @ (multiset @ A))) => (~ ((! [X5:A,N2:(multiset @ A)]: ((M4 != (((add_mset @ A) @ X5) @ N2)))))))))).
% 2.88/1.54  thf(fact_125_multiset__induct, axiom, (! [A:$tType,P:((multiset @ A) > $o),M4:(multiset @ A)]: (((P @ (zero_zero @ (multiset @ A))) => ((! [X5:A,M5:(multiset @ A)]: (((P @ M5) => (P @ (((add_mset @ A) @ X5) @ M5))))) => (P @ M4)))))).
% 2.88/1.54  thf(fact_126_multiset__induct2, axiom, (! [A:$tType,B:$tType,P:((multiset @ A) > ((multiset @ B) > $o)),M4:(multiset @ A),N:(multiset @ B)]: ((((P @ (zero_zero @ (multiset @ A))) @ (zero_zero @ (multiset @ B))) => ((! [A6:A,M5:(multiset @ A),N2:(multiset @ B)]: ((((P @ M5) @ N2) => ((P @ (((add_mset @ A) @ A6) @ M5)) @ N2)))) => ((! [A6:B,M5:(multiset @ A),N2:(multiset @ B)]: ((((P @ M5) @ N2) => ((P @ M5) @ (((add_mset @ B) @ A6) @ N2))))) => ((P @ M4) @ N))))))).
% 2.88/1.54  thf(fact_127_empty__not__add__mset, axiom, (! [A:$tType,A2:A,A4:(multiset @ A)]: (((zero_zero @ (multiset @ A)) != (((add_mset @ A) @ A2) @ A4))))).
% 2.88/1.54  thf(fact_128_multi__nonempty__split, axiom, (! [A:$tType,M4:(multiset @ A)]: (((M4 != (zero_zero @ (multiset @ A))) => (? [A7:(multiset @ A),A6:A]: ((M4 = (((add_mset @ A) @ A6) @ A7)))))))).
% 2.88/1.54  thf(fact_129_multiset__nonemptyE, axiom, (! [A:$tType,A4:(multiset @ A)]: (((A4 != (zero_zero @ (multiset @ A))) => (~ ((! [X5:A]: ((~ ((((member @ A) @ X5) @ ((set_mset @ A) @ A4)))))))))))).
% 2.88/1.54  thf(fact_130_Collection_Omultiset__empty, axiom, (! [B:$tType,A:$tType,Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A))]: ((((((((collection @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) => ((Multiset @ Empty) = (zero_zero @ (multiset @ A))))))).
% 2.88/1.54  thf(fact_131_Collection_Ois__empty__as__list, axiom, (! [B:$tType,A:$tType,Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),E3:B]: ((((((((collection @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) => ((Is_empty @ E3) => ((Multiset @ E3) = (zero_zero @ (multiset @ A)))))))).
% 2.88/1.54  thf(fact_132_multi__member__last, axiom, (! [A:$tType,X:A]: ((((member @ A) @ X) @ ((set_mset @ A) @ (((add_mset @ A) @ X) @ (zero_zero @ (multiset @ A)))))))).
% 2.88/1.54  thf(fact_133_multiset_Osimps_I1_J, axiom, (! [A:$tType]: ((((multiset2 @ A) @ (e @ A)) = (zero_zero @ (multiset @ A)))))).
% 2.88/1.54  thf(fact_134_le__zero__eq, axiom, (! [A:$tType]: (((canoni770627133id_add @ A) => (! [N3:A]: (((((ord_less_eq @ A) @ N3) @ (zero_zero @ A)) = (N3 = (zero_zero @ A))))))))).
% 2.88/1.54  thf(fact_135_RemoveMax__axioms_Ointro, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [Inv:(B > $o),Of_list:((list @ A) > B),Is_empty:(B > $o),Remove_max:(B > ((product_prod @ A) @ B)),Multiset:(B > (multiset @ A))]: (((! [X5:(list @ A)]: ((Inv @ (Of_list @ X5)))) => ((! [L4:B,M2:A,L3:B]: (((~ ((Is_empty @ L4))) => ((Inv @ L4) => ((((((product_Pair @ A) @ B) @ M2) @ L3) = (Remove_max @ L4)) => (M2 = ((lattic929149872er_Max @ A) @ ((((set2 @ B) @ A) @ Multiset) @ L4)))))))) => ((! [L4:B,M2:A,L3:B]: (((~ ((Is_empty @ L4))) => ((Inv @ L4) => ((((((product_Pair @ A) @ B) @ M2) @ L3) = (Remove_max @ L4)) => ((((add_mset @ A) @ M2) @ (Multiset @ L3)) = (Multiset @ L4))))))) => ((! [L4:B,M2:A,L3:B]: (((~ ((Is_empty @ L4))) => ((Inv @ L4) => ((((((product_Pair @ A) @ B) @ M2) @ L3) = (Remove_max @ L4)) => (Inv @ L3)))))) => (((((((removeMax_axioms @ B) @ A) @ Is_empty) @ Of_list) @ Multiset) @ Remove_max) @ Inv))))))))))).
% 2.88/1.54  thf(fact_136_RemoveMax__axioms__def, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (((removeMax_axioms @ B) @ A) = (^ [Is_empty2:(B > $o),Of_list2:((list @ A) > B),Multiset2:(B > (multiset @ A)),Remove_max2:(B > ((product_prod @ A) @ B)),Inv2:(B > $o)]: (((! [X4:(list @ A)]: ((Inv2 @ (Of_list2 @ X4)))) & ((! [L5:B,M3:A,L6:B]: (((~ ((Is_empty2 @ L5))) => ((Inv2 @ L5) => ((((((product_Pair @ A) @ B) @ M3) @ L6) = (Remove_max2 @ L5)) => (M3 = ((lattic929149872er_Max @ A) @ ((((set2 @ B) @ A) @ Multiset2) @ L5)))))))) & ((! [L5:B,M3:A,L6:B]: (((~ ((Is_empty2 @ L5))) => ((Inv2 @ L5) => ((((((product_Pair @ A) @ B) @ M3) @ L6) = (Remove_max2 @ L5)) => ((((add_mset @ A) @ M3) @ (Multiset2 @ L6)) = (Multiset2 @ L5))))))) & (! [L5:B,M3:A,L6:B]: (((~ ((Is_empty2 @ L5))) => ((Inv2 @ L5) => ((((((product_Pair @ A) @ B) @ M3) @ L6) = (Remove_max2 @ L5)) => (Inv2 @ L6)))))))))))))))).
% 2.88/1.54  thf(fact_137_Multiset_Ois__empty__def, axiom, (! [A:$tType]: (((is_empty @ A) = (^ [A8:(multiset @ A)]: ((A8 = (zero_zero @ (multiset @ A))))))))).
% 2.88/1.54  thf(fact_138_zero__le, axiom, (! [A:$tType]: (((canoni770627133id_add @ A) => (! [X:A]: ((((ord_less_eq @ A) @ (zero_zero @ A)) @ X))))))).
% 2.88/1.54  thf(fact_139_le__numeral__extra_I3_J, axiom, (! [A:$tType]: (((linord1659791738miring @ A) => (((ord_less_eq @ A) @ (zero_zero @ A)) @ (zero_zero @ A)))))).
% 2.88/1.54  thf(fact_140_multiset_Osimps_I2_J, axiom, (! [A:$tType,V:A,L:(tree @ A),R:(tree @ A)]: ((((multiset2 @ A) @ ((((t @ A) @ V) @ L) @ R)) = (((plus_plus @ (multiset @ A)) @ (((plus_plus @ (multiset @ A)) @ ((multiset2 @ A) @ L)) @ (((add_mset @ A) @ V) @ (zero_zero @ (multiset @ A))))) @ ((multiset2 @ A) @ R)))))).
% 2.88/1.54  thf(fact_141_RemoveMax_Oremove__max__max, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),Remove_max:(B > ((product_prod @ A) @ B)),Inv:(B > $o),L:B,M:A,L2:B]: ((((((((((removeMax @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ Remove_max) @ Inv) => ((~ ((Is_empty @ L))) => ((Inv @ L) => ((((((product_Pair @ A) @ B) @ M) @ L2) = (Remove_max @ L)) => (M = ((lattic929149872er_Max @ A) @ ((((set2 @ B) @ A) @ Multiset) @ L))))))))))))).
% 2.88/1.54  thf(fact_142_divides__aux__eq, axiom, (! [A:$tType]: (((unique1598680935umeral @ A) => (! [Q2:A,R:A]: ((((unique455577585es_aux @ A) @ ((((product_Pair @ A) @ A) @ Q2) @ R)) = (R = (zero_zero @ A))))))))).
% 2.88/1.54  thf(fact_143_add__le__cancel__right, axiom, (! [A:$tType]: (((ordere236663937imp_le @ A) => (! [A2:A,C2:A,B2:A]: (((((ord_less_eq @ A) @ (((plus_plus @ A) @ A2) @ C2)) @ (((plus_plus @ A) @ B2) @ C2)) = (((ord_less_eq @ A) @ A2) @ B2)))))))).
% 2.88/1.54  thf(fact_144_add__le__cancel__left, axiom, (! [A:$tType]: (((ordere236663937imp_le @ A) => (! [C2:A,A2:A,B2:A]: (((((ord_less_eq @ A) @ (((plus_plus @ A) @ C2) @ A2)) @ (((plus_plus @ A) @ C2) @ B2)) = (((ord_less_eq @ A) @ A2) @ B2)))))))).
% 2.88/1.54  thf(fact_145_subset__mset_Ozero__eq__add__iff__both__eq__0, axiom, (! [A:$tType,X:(multiset @ A),Y:(multiset @ A)]: ((((zero_zero @ (multiset @ A)) = (((plus_plus @ (multiset @ A)) @ X) @ Y)) = ((X = (zero_zero @ (multiset @ A))) & (Y = (zero_zero @ (multiset @ A)))))))).
% 2.88/1.54  thf(fact_146_subset__mset_Oadd__eq__0__iff__both__eq__0, axiom, (! [A:$tType,X:(multiset @ A),Y:(multiset @ A)]: ((((((plus_plus @ (multiset @ A)) @ X) @ Y) = (zero_zero @ (multiset @ A))) = ((X = (zero_zero @ (multiset @ A))) & (Y = (zero_zero @ (multiset @ A)))))))).
% 2.88/1.54  thf(fact_147_union__eq__empty, axiom, (! [A:$tType,M4:(multiset @ A),N:(multiset @ A)]: ((((((plus_plus @ (multiset @ A)) @ M4) @ N) = (zero_zero @ (multiset @ A))) = ((M4 = (zero_zero @ (multiset @ A))) & (N = (zero_zero @ (multiset @ A)))))))).
% 2.88/1.54  thf(fact_148_empty__eq__union, axiom, (! [A:$tType,M4:(multiset @ A),N:(multiset @ A)]: ((((zero_zero @ (multiset @ A)) = (((plus_plus @ (multiset @ A)) @ M4) @ N)) = ((M4 = (zero_zero @ (multiset @ A))) & (N = (zero_zero @ (multiset @ A)))))))).
% 2.88/1.54  thf(fact_149_union__mset__add__mset__right, axiom, (! [A:$tType,A4:(multiset @ A),A2:A,B6:(multiset @ A)]: (((((plus_plus @ (multiset @ A)) @ A4) @ (((add_mset @ A) @ A2) @ B6)) = (((add_mset @ A) @ A2) @ (((plus_plus @ (multiset @ A)) @ A4) @ B6)))))).
% 2.88/1.54  thf(fact_150_union__mset__add__mset__left, axiom, (! [A:$tType,A2:A,A4:(multiset @ A),B6:(multiset @ A)]: (((((plus_plus @ (multiset @ A)) @ (((add_mset @ A) @ A2) @ A4)) @ B6) = (((add_mset @ A) @ A2) @ (((plus_plus @ (multiset @ A)) @ A4) @ B6)))))).
% 2.88/1.54  thf(fact_151_zero__le__double__add__iff__zero__le__single__add, axiom, (! [A:$tType]: (((linord219039673up_add @ A) => (! [A2:A]: (((((ord_less_eq @ A) @ (zero_zero @ A)) @ (((plus_plus @ A) @ A2) @ A2)) = (((ord_less_eq @ A) @ (zero_zero @ A)) @ A2)))))))).
% 2.88/1.54  thf(fact_152_double__add__le__zero__iff__single__add__le__zero, axiom, (! [A:$tType]: (((linord219039673up_add @ A) => (! [A2:A]: (((((ord_less_eq @ A) @ (((plus_plus @ A) @ A2) @ A2)) @ (zero_zero @ A)) = (((ord_less_eq @ A) @ A2) @ (zero_zero @ A))))))))).
% 2.88/1.54  thf(fact_153_le__add__same__cancel2, axiom, (! [A:$tType]: (((ordere516151231imp_le @ A) => (! [A2:A,B2:A]: (((((ord_less_eq @ A) @ A2) @ (((plus_plus @ A) @ B2) @ A2)) = (((ord_less_eq @ A) @ (zero_zero @ A)) @ B2)))))))).
% 2.88/1.54  thf(fact_154_le__add__same__cancel1, axiom, (! [A:$tType]: (((ordere516151231imp_le @ A) => (! [A2:A,B2:A]: (((((ord_less_eq @ A) @ A2) @ (((plus_plus @ A) @ A2) @ B2)) = (((ord_less_eq @ A) @ (zero_zero @ A)) @ B2)))))))).
% 2.88/1.54  thf(fact_155_add__le__same__cancel2, axiom, (! [A:$tType]: (((ordere516151231imp_le @ A) => (! [A2:A,B2:A]: (((((ord_less_eq @ A) @ (((plus_plus @ A) @ A2) @ B2)) @ B2) = (((ord_less_eq @ A) @ A2) @ (zero_zero @ A))))))))).
% 2.88/1.54  thf(fact_156_add__le__same__cancel1, axiom, (! [A:$tType]: (((ordere516151231imp_le @ A) => (! [B2:A,A2:A]: (((((ord_less_eq @ A) @ (((plus_plus @ A) @ B2) @ A2)) @ B2) = (((ord_less_eq @ A) @ A2) @ (zero_zero @ A))))))))).
% 2.88/1.54  thf(fact_157_add__le__imp__le__right, axiom, (! [A:$tType]: (((ordere236663937imp_le @ A) => (! [A2:A,C2:A,B2:A]: (((((ord_less_eq @ A) @ (((plus_plus @ A) @ A2) @ C2)) @ (((plus_plus @ A) @ B2) @ C2)) => (((ord_less_eq @ A) @ A2) @ B2)))))))).
% 2.88/1.54  thf(fact_158_add__le__imp__le__left, axiom, (! [A:$tType]: (((ordere236663937imp_le @ A) => (! [C2:A,A2:A,B2:A]: (((((ord_less_eq @ A) @ (((plus_plus @ A) @ C2) @ A2)) @ (((plus_plus @ A) @ C2) @ B2)) => (((ord_less_eq @ A) @ A2) @ B2)))))))).
% 2.88/1.54  thf(fact_159_le__iff__add, axiom, (! [A:$tType]: (((canoni770627133id_add @ A) => ((ord_less_eq @ A) = (^ [A5:A,B4:A]: ((? [C5:A]: ((B4 = (((plus_plus @ A) @ A5) @ C5))))))))))).
% 2.88/1.54  thf(fact_160_add__right__mono, axiom, (! [A:$tType]: (((ordere779506340up_add @ A) => (! [A2:A,B2:A,C2:A]: (((((ord_less_eq @ A) @ A2) @ B2) => (((ord_less_eq @ A) @ (((plus_plus @ A) @ A2) @ C2)) @ (((plus_plus @ A) @ B2) @ C2))))))))).
% 2.88/1.54  thf(fact_161_less__eqE, axiom, (! [A:$tType]: (((canoni770627133id_add @ A) => (! [A2:A,B2:A]: (((((ord_less_eq @ A) @ A2) @ B2) => (~ ((! [C3:A]: ((B2 != (((plus_plus @ A) @ A2) @ C3))))))))))))).
% 2.88/1.54  thf(fact_162_add__left__mono, axiom, (! [A:$tType]: (((ordere779506340up_add @ A) => (! [A2:A,B2:A,C2:A]: (((((ord_less_eq @ A) @ A2) @ B2) => (((ord_less_eq @ A) @ (((plus_plus @ A) @ C2) @ A2)) @ (((plus_plus @ A) @ C2) @ B2))))))))).
% 2.88/1.54  thf(fact_163_add__mono, axiom, (! [A:$tType]: (((ordere779506340up_add @ A) => (! [A2:A,B2:A,C2:A,D3:A]: (((((ord_less_eq @ A) @ A2) @ B2) => ((((ord_less_eq @ A) @ C2) @ D3) => (((ord_less_eq @ A) @ (((plus_plus @ A) @ A2) @ C2)) @ (((plus_plus @ A) @ B2) @ D3)))))))))).
% 2.88/1.54  thf(fact_164_add__mono__thms__linordered__semiring_I1_J, axiom, (! [A:$tType]: (((ordere779506340up_add @ A) => (! [I:A,J2:A,K2:A,L:A]: ((((((ord_less_eq @ A) @ I) @ J2) & (((ord_less_eq @ A) @ K2) @ L)) => (((ord_less_eq @ A) @ (((plus_plus @ A) @ I) @ K2)) @ (((plus_plus @ A) @ J2) @ L))))))))).
% 2.88/1.54  thf(fact_165_add__mono__thms__linordered__semiring_I2_J, axiom, (! [A:$tType]: (((ordere779506340up_add @ A) => (! [I:A,J2:A,K2:A,L:A]: ((((I = J2) & (((ord_less_eq @ A) @ K2) @ L)) => (((ord_less_eq @ A) @ (((plus_plus @ A) @ I) @ K2)) @ (((plus_plus @ A) @ J2) @ L))))))))).
% 2.88/1.54  thf(fact_166_add__mono__thms__linordered__semiring_I3_J, axiom, (! [A:$tType]: (((ordere779506340up_add @ A) => (! [I:A,J2:A,K2:A,L:A]: ((((((ord_less_eq @ A) @ I) @ J2) & (K2 = L)) => (((ord_less_eq @ A) @ (((plus_plus @ A) @ I) @ K2)) @ (((plus_plus @ A) @ J2) @ L))))))))).
% 2.88/1.54  thf(fact_167_empty__neutral_I2_J, axiom, (! [A:$tType,X:(multiset @ A)]: (((((plus_plus @ (multiset @ A)) @ X) @ (zero_zero @ (multiset @ A))) = X)))).
% 2.88/1.54  thf(fact_168_empty__neutral_I1_J, axiom, (! [A:$tType,X:(multiset @ A)]: (((((plus_plus @ (multiset @ A)) @ (zero_zero @ (multiset @ A))) @ X) = X)))).
% 2.88/1.54  thf(fact_169_RemoveMax_Oremove__max__inv, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),Remove_max:(B > ((product_prod @ A) @ B)),Inv:(B > $o),L:B,M:A,L2:B]: ((((((((((removeMax @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ Remove_max) @ Inv) => ((~ ((Is_empty @ L))) => ((Inv @ L) => ((((((product_Pair @ A) @ B) @ M) @ L2) = (Remove_max @ L)) => (Inv @ L2))))))))))).
% 2.88/1.54  thf(fact_170_RemoveMax_Oof__list__inv, axiom, (! [B:$tType,A:$tType]: (((linorder @ A) => (! [Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),Remove_max:(B > ((product_prod @ A) @ B)),Inv:(B > $o),X:(list @ A)]: ((((((((((removeMax @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ Remove_max) @ Inv) => (Inv @ (Of_list @ X))))))))).
% 2.88/1.54  thf(fact_171_union__iff, axiom, (! [A:$tType,A2:A,A4:(multiset @ A),B6:(multiset @ A)]: (((((member @ A) @ A2) @ ((set_mset @ A) @ (((plus_plus @ (multiset @ A)) @ A4) @ B6))) = ((((member @ A) @ A2) @ ((set_mset @ A) @ A4)) | (((member @ A) @ A2) @ ((set_mset @ A) @ B6))))))).
% 2.88/1.54  thf(fact_172_union__assoc, axiom, (! [A:$tType,M4:(multiset @ A),N:(multiset @ A),K3:(multiset @ A)]: (((((plus_plus @ (multiset @ A)) @ (((plus_plus @ (multiset @ A)) @ M4) @ N)) @ K3) = (((plus_plus @ (multiset @ A)) @ M4) @ (((plus_plus @ (multiset @ A)) @ N) @ K3)))))).
% 2.88/1.54  thf(fact_173_union__lcomm, axiom, (! [A:$tType,M4:(multiset @ A),N:(multiset @ A),K3:(multiset @ A)]: (((((plus_plus @ (multiset @ A)) @ M4) @ (((plus_plus @ (multiset @ A)) @ N) @ K3)) = (((plus_plus @ (multiset @ A)) @ N) @ (((plus_plus @ (multiset @ A)) @ M4) @ K3)))))).
% 2.88/1.54  thf(fact_174_union__commute, axiom, (! [A:$tType]: (((plus_plus @ (multiset @ A)) = (^ [M6:(multiset @ A),N4:(multiset @ A)]: ((((plus_plus @ (multiset @ A)) @ N4) @ M6))))))).
% 2.88/1.54  thf(fact_175_union__left__cancel, axiom, (! [A:$tType,K3:(multiset @ A),M4:(multiset @ A),N:(multiset @ A)]: ((((((plus_plus @ (multiset @ A)) @ K3) @ M4) = (((plus_plus @ (multiset @ A)) @ K3) @ N)) = (M4 = N))))).
% 2.88/1.54  thf(fact_176_union__right__cancel, axiom, (! [A:$tType,M4:(multiset @ A),K3:(multiset @ A),N:(multiset @ A)]: ((((((plus_plus @ (multiset @ A)) @ M4) @ K3) = (((plus_plus @ (multiset @ A)) @ N) @ K3)) = (M4 = N))))).
% 2.88/1.54  thf(fact_177_multi__union__self__other__eq, axiom, (! [A:$tType,A4:(multiset @ A),X6:(multiset @ A),Y7:(multiset @ A)]: ((((((plus_plus @ (multiset @ A)) @ A4) @ X6) = (((plus_plus @ (multiset @ A)) @ A4) @ Y7)) => (X6 = Y7))))).
% 2.88/1.54  thf(fact_178_RemoveMax_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)),Remove_max:(B > ((product_prod @ A) @ B)),Inv:(B > $o)]: ((((((((((removeMax @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ Remove_max) @ Inv) => ((((((collection @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset)))))))).
% 2.88/1.54  thf(fact_179_add__decreasing, axiom, (! [A:$tType]: (((ordere216010020id_add @ A) => (! [A2:A,C2:A,B2:A]: (((((ord_less_eq @ A) @ A2) @ (zero_zero @ A)) => ((((ord_less_eq @ A) @ C2) @ B2) => (((ord_less_eq @ A) @ (((plus_plus @ A) @ A2) @ C2)) @ B2))))))))).
% 2.88/1.54  thf(fact_180_add__increasing, axiom, (! [A:$tType]: (((ordere216010020id_add @ A) => (! [A2:A,B2:A,C2:A]: (((((ord_less_eq @ A) @ (zero_zero @ A)) @ A2) => ((((ord_less_eq @ A) @ B2) @ C2) => (((ord_less_eq @ A) @ B2) @ (((plus_plus @ A) @ A2) @ C2)))))))))).
% 2.88/1.54  thf(fact_181_add__decreasing2, axiom, (! [A:$tType]: (((ordere216010020id_add @ A) => (! [C2:A,A2:A,B2:A]: (((((ord_less_eq @ A) @ C2) @ (zero_zero @ A)) => ((((ord_less_eq @ A) @ A2) @ B2) => (((ord_less_eq @ A) @ (((plus_plus @ A) @ A2) @ C2)) @ B2))))))))).
% 2.88/1.54  thf(fact_182_add__increasing2, axiom, (! [A:$tType]: (((ordere216010020id_add @ A) => (! [C2:A,B2:A,A2:A]: (((((ord_less_eq @ A) @ (zero_zero @ A)) @ C2) => ((((ord_less_eq @ A) @ B2) @ A2) => (((ord_less_eq @ A) @ B2) @ (((plus_plus @ A) @ A2) @ C2)))))))))).
% 2.88/1.54  thf(fact_183_add__nonneg__nonneg, axiom, (! [A:$tType]: (((ordere216010020id_add @ A) => (! [A2:A,B2:A]: (((((ord_less_eq @ A) @ (zero_zero @ A)) @ A2) => ((((ord_less_eq @ A) @ (zero_zero @ A)) @ B2) => (((ord_less_eq @ A) @ (zero_zero @ A)) @ (((plus_plus @ A) @ A2) @ B2)))))))))).
% 2.88/1.54  thf(fact_184_add__nonpos__nonpos, axiom, (! [A:$tType]: (((ordere216010020id_add @ A) => (! [A2:A,B2:A]: (((((ord_less_eq @ A) @ A2) @ (zero_zero @ A)) => ((((ord_less_eq @ A) @ B2) @ (zero_zero @ A)) => (((ord_less_eq @ A) @ (((plus_plus @ A) @ A2) @ B2)) @ (zero_zero @ A)))))))))).
% 2.88/1.54  thf(fact_185_add__nonneg__eq__0__iff, axiom, (! [A:$tType]: (((ordere216010020id_add @ A) => (! [X:A,Y:A]: (((((ord_less_eq @ A) @ (zero_zero @ A)) @ X) => ((((ord_less_eq @ A) @ (zero_zero @ A)) @ Y) => (((((plus_plus @ A) @ X) @ Y) = (zero_zero @ A)) = ((X = (zero_zero @ A)) & (Y = (zero_zero @ A)))))))))))).
% 2.88/1.54  thf(fact_186_add__nonpos__eq__0__iff, axiom, (! [A:$tType]: (((ordere216010020id_add @ A) => (! [X:A,Y:A]: (((((ord_less_eq @ A) @ X) @ (zero_zero @ A)) => ((((ord_less_eq @ A) @ Y) @ (zero_zero @ A)) => (((((plus_plus @ A) @ X) @ Y) = (zero_zero @ A)) = ((X = (zero_zero @ A)) & (Y = (zero_zero @ A)))))))))))).
% 2.88/1.54  thf(fact_187_RemoveMax_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)),Remove_max:(B > ((product_prod @ A) @ B)),Inv:(B > $o)]: ((((((((((removeMax @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ Remove_max) @ Inv) => (((((((removeMax_axioms @ B) @ A) @ Is_empty) @ Of_list) @ Multiset) @ Remove_max) @ Inv)))))))).
% 2.88/1.54  thf(fact_188_add__mset__add__single, axiom, (! [A:$tType]: (((add_mset @ A) = (^ [A5:A,A8:(multiset @ A)]: ((((plus_plus @ (multiset @ A)) @ A8) @ (((add_mset @ A) @ A5) @ (zero_zero @ (multiset @ A)))))))))).
% 2.88/1.54  thf(fact_189_union__is__single, axiom, (! [A:$tType,M4:(multiset @ A),N:(multiset @ A),A2:A]: ((((((plus_plus @ (multiset @ A)) @ M4) @ N) = (((add_mset @ A) @ A2) @ (zero_zero @ (multiset @ A)))) = (((M4 = (((add_mset @ A) @ A2) @ (zero_zero @ (multiset @ A)))) & (N = (zero_zero @ (multiset @ A)))) | ((M4 = (zero_zero @ (multiset @ A))) & (N = (((add_mset @ A) @ A2) @ (zero_zero @ (multiset @ A)))))))))).
% 2.88/1.54  thf(fact_190_single__is__union, axiom, (! [A:$tType,A2:A,M4:(multiset @ A),N:(multiset @ A)]: ((((((add_mset @ A) @ A2) @ (zero_zero @ (multiset @ A))) = (((plus_plus @ (multiset @ A)) @ M4) @ N)) = ((((((add_mset @ A) @ A2) @ (zero_zero @ (multiset @ A))) = M4) & (N = (zero_zero @ (multiset @ A)))) | ((M4 = (zero_zero @ (multiset @ A))) & ((((add_mset @ A) @ A2) @ (zero_zero @ (multiset @ A))) = N))))))).
% 2.88/1.54  thf(fact_191_RemoveMax_Oremove__max__multiset, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),Remove_max:(B > ((product_prod @ A) @ B)),Inv:(B > $o),L:B,M:A,L2:B]: ((((((((((removeMax @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ Remove_max) @ Inv) => ((~ ((Is_empty @ L))) => ((Inv @ L) => ((((((product_Pair @ A) @ B) @ M) @ L2) = (Remove_max @ L)) => ((((add_mset @ A) @ M) @ (Multiset @ L2)) = (Multiset @ L)))))))))))).
% 2.88/1.54  thf(fact_192_multi__member__skip, axiom, (! [A:$tType,X:A,XS:(multiset @ A),Y:A]: (((((member @ A) @ X) @ ((set_mset @ A) @ XS)) => (((member @ A) @ X) @ ((set_mset @ A) @ (((plus_plus @ (multiset @ A)) @ (((add_mset @ A) @ Y) @ (zero_zero @ (multiset @ A)))) @ XS))))))).
% 2.88/1.54  thf(fact_193_multi__member__this, axiom, (! [A:$tType,X:A,XS:(multiset @ A)]: ((((member @ A) @ X) @ ((set_mset @ A) @ (((plus_plus @ (multiset @ A)) @ (((add_mset @ A) @ X) @ (zero_zero @ (multiset @ A)))) @ XS)))))).
% 2.88/1.54  thf(fact_194_RemoveMax_Ointro, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),Remove_max:(B > ((product_prod @ A) @ B)),Inv:(B > $o)]: ((((((((collection @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) => ((((((((removeMax_axioms @ B) @ A) @ Is_empty) @ Of_list) @ Multiset) @ Remove_max) @ Inv) => ((((((((removeMax @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ Remove_max) @ Inv))))))))).
% 2.88/1.54  thf(fact_195_RemoveMax__def, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (((removeMax @ B) @ A) = (^ [Empty2:B,Is_empty2:(B > $o),Of_list2:((list @ A) > B),Multiset2:(B > (multiset @ A)),Remove_max2:(B > ((product_prod @ A) @ B)),Inv2:(B > $o)]: ((((((((collection @ B) @ A) @ Empty2) @ Is_empty2) @ Of_list2) @ Multiset2) & (((((((removeMax_axioms @ B) @ A) @ Is_empty2) @ Of_list2) @ Multiset2) @ Remove_max2) @ Inv2))))))))).
% 2.88/1.54  thf(fact_196_mult1E, axiom, (! [A:$tType,N:(multiset @ A),M4:(multiset @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (multiset @ A)) @ (multiset @ A))) @ ((((product_Pair @ (multiset @ A)) @ (multiset @ A)) @ N) @ M4)) @ ((mult1 @ A) @ R)) => (~ ((! [A6:A,M0:(multiset @ A)]: (((M4 = (((add_mset @ A) @ A6) @ M0)) => (! [K4:(multiset @ A)]: (((N = (((plus_plus @ (multiset @ A)) @ M0) @ K4)) => (~ ((! [B8:A]: (((((member @ A) @ B8) @ ((set_mset @ A) @ K4)) => (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ B8) @ A6)) @ R)))))))))))))))))).
% 2.88/1.54  thf(fact_197_mult1I, axiom, (! [A:$tType,M4:(multiset @ A),A2:A,M02:(multiset @ A),N:(multiset @ A),K3:(multiset @ A),R:(set @ ((product_prod @ A) @ A))]: (((M4 = (((add_mset @ A) @ A2) @ M02)) => ((N = (((plus_plus @ (multiset @ A)) @ M02) @ K3)) => ((! [B5:A]: (((((member @ A) @ B5) @ ((set_mset @ A) @ K3)) => (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ B5) @ A2)) @ R)))) => (((member @ ((product_prod @ (multiset @ A)) @ (multiset @ A))) @ ((((product_Pair @ (multiset @ A)) @ (multiset @ A)) @ N) @ M4)) @ ((mult1 @ A) @ R)))))))).
% 2.88/1.54  thf(fact_198_less__add, axiom, (! [A:$tType,N:(multiset @ A),A2:A,M02:(multiset @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (multiset @ A)) @ (multiset @ A))) @ ((((product_Pair @ (multiset @ A)) @ (multiset @ A)) @ N) @ (((add_mset @ A) @ A2) @ M02))) @ ((mult1 @ A) @ R)) => ((? [M5:(multiset @ A)]: (((((member @ ((product_prod @ (multiset @ A)) @ (multiset @ A))) @ ((((product_Pair @ (multiset @ A)) @ (multiset @ A)) @ M5) @ M02)) @ ((mult1 @ A) @ R)) & (N = (((add_mset @ A) @ A2) @ M5))))) | (? [K4:(multiset @ A)]: (((! [B8:A]: (((((member @ A) @ B8) @ ((set_mset @ A) @ K4)) => (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ B8) @ A2)) @ R)))) & (N = (((plus_plus @ (multiset @ A)) @ M02) @ K4)))))))))).
% 2.88/1.54  thf(fact_199_one__step__implies__mult, axiom, (! [A:$tType,J3:(multiset @ A),K3:(multiset @ A),R:(set @ ((product_prod @ A) @ A)),I4:(multiset @ A)]: (((J3 != (zero_zero @ (multiset @ A))) => ((! [X5:A]: (((((member @ A) @ X5) @ ((set_mset @ A) @ K3)) => (? [Xa:A]: (((((member @ A) @ Xa) @ ((set_mset @ A) @ J3)) & (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X5) @ Xa)) @ R))))))) => (((member @ ((product_prod @ (multiset @ A)) @ (multiset @ A))) @ ((((product_Pair @ (multiset @ A)) @ (multiset @ A)) @ (((plus_plus @ (multiset @ A)) @ I4) @ K3)) @ (((plus_plus @ (multiset @ A)) @ I4) @ J3))) @ ((mult @ A) @ R))))))).
% 2.88/1.54  thf(fact_200_mono__mult, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),R5:(set @ ((product_prod @ A) @ A))]: (((((ord_less_eq @ (set @ ((product_prod @ A) @ A))) @ R) @ R5) => (((ord_less_eq @ (set @ ((product_prod @ (multiset @ A)) @ (multiset @ A)))) @ ((mult @ A) @ R)) @ ((mult @ A) @ R5)))))).
% 2.88/1.54  thf(fact_201_not__less__empty, axiom, (! [A:$tType,M4:(multiset @ A),R:(set @ ((product_prod @ A) @ A))]: ((~ ((((member @ ((product_prod @ (multiset @ A)) @ (multiset @ A))) @ ((((product_Pair @ (multiset @ A)) @ (multiset @ A)) @ M4) @ (zero_zero @ (multiset @ A)))) @ ((mult1 @ A) @ R))))))).
% 2.88/1.54  thf(fact_202_mult1__union, axiom, (! [A:$tType,B6:(multiset @ A),D4:(multiset @ A),R:(set @ ((product_prod @ A) @ A)),C4:(multiset @ A)]: (((((member @ ((product_prod @ (multiset @ A)) @ (multiset @ A))) @ ((((product_Pair @ (multiset @ A)) @ (multiset @ A)) @ B6) @ D4)) @ ((mult1 @ A) @ R)) => (((member @ ((product_prod @ (multiset @ A)) @ (multiset @ A))) @ ((((product_Pair @ (multiset @ A)) @ (multiset @ A)) @ (((plus_plus @ (multiset @ A)) @ C4) @ B6)) @ (((plus_plus @ (multiset @ A)) @ C4) @ D4))) @ ((mult1 @ A) @ R)))))).
% 2.88/1.54  thf(fact_203_mono__mult1, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),R5:(set @ ((product_prod @ A) @ A))]: (((((ord_less_eq @ (set @ ((product_prod @ A) @ A))) @ R) @ R5) => (((ord_less_eq @ (set @ ((product_prod @ (multiset @ A)) @ (multiset @ A)))) @ ((mult1 @ A) @ R)) @ ((mult1 @ A) @ R5)))))).
% 2.88/1.54  thf(fact_204_mult__implies__one__step, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),M4:(multiset @ A),N:(multiset @ A)]: ((((trans @ A) @ R) => ((((member @ ((product_prod @ (multiset @ A)) @ (multiset @ A))) @ ((((product_Pair @ (multiset @ A)) @ (multiset @ A)) @ M4) @ N)) @ ((mult @ A) @ R)) => (? [I5:(multiset @ A),J4:(multiset @ A)]: (((N = (((plus_plus @ (multiset @ A)) @ I5) @ J4)) & (? [K4:(multiset @ A)]: (((M4 = (((plus_plus @ (multiset @ A)) @ I5) @ K4)) & ((J4 != (zero_zero @ (multiset @ A))) & (! [X7:A]: (((((member @ A) @ X7) @ ((set_mset @ A) @ K4)) => (? [Xa2:A]: (((((member @ A) @ Xa2) @ ((set_mset @ A) @ J4)) & (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X7) @ Xa2)) @ R))))))))))))))))))).
% 2.88/1.54  thf(fact_205_subset__mset_Osum__mset__0__iff, axiom, (! [A:$tType,M4:(multiset @ (multiset @ A))]: (((((((comm_monoid_sum_mset @ (multiset @ A)) @ (plus_plus @ (multiset @ A))) @ (zero_zero @ (multiset @ A))) @ M4) = (zero_zero @ (multiset @ A))) = (! [X4:(multiset @ A)]: (((((member @ (multiset @ A)) @ X4) @ ((set_mset @ (multiset @ A)) @ M4)) => (X4 = (zero_zero @ (multiset @ A)))))))))).
% 2.88/1.54  thf(fact_206_trans__def, axiom, (! [A:$tType]: (((trans @ A) = (^ [R3:(set @ ((product_prod @ A) @ A))]: ((! [X4:A,Y5:A,Z3:A]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X4) @ Y5)) @ R3) => ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ Y5) @ Z3)) @ R3) => (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X4) @ Z3)) @ R3))))))))))).
% 2.88/1.54  thf(fact_207_transI, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A))]: (((! [X5:A,Y3:A,Z4:A]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X5) @ Y3)) @ R) => ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ Y3) @ Z4)) @ R) => (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X5) @ Z4)) @ R))))) => ((trans @ A) @ R))))).
% 2.88/1.54  thf(fact_208_transE, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),X:A,Y:A,Z2:A]: ((((trans @ A) @ R) => ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ R) => ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ Y) @ Z2)) @ R) => (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Z2)) @ R))))))).
% 2.88/1.54  thf(fact_209_transD, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),X:A,Y:A,Z2:A]: ((((trans @ A) @ R) => ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ R) => ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ Y) @ Z2)) @ R) => (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Z2)) @ R))))))).
% 2.88/1.54  thf(fact_210_comm__monoid__add_Osum__mset_Ocong, axiom, (! [A:$tType]: (((comm_monoid_sum_mset @ A) = (comm_monoid_sum_mset @ A))))).
% 2.88/1.54  thf(fact_211_mult__cancel__add__mset, axiom, (! [A:$tType,S:(set @ ((product_prod @ A) @ A)),Uu:A,X6:(multiset @ A),Y7:(multiset @ A)]: ((((trans @ A) @ S) => (((irrefl @ A) @ S) => ((((member @ ((product_prod @ (multiset @ A)) @ (multiset @ A))) @ ((((product_Pair @ (multiset @ A)) @ (multiset @ A)) @ (((add_mset @ A) @ Uu) @ X6)) @ (((add_mset @ A) @ Uu) @ Y7))) @ ((mult @ A) @ S)) = (((member @ ((product_prod @ (multiset @ A)) @ (multiset @ A))) @ ((((product_Pair @ (multiset @ A)) @ (multiset @ A)) @ X6) @ Y7)) @ ((mult @ A) @ S)))))))).
% 2.88/1.54  thf(fact_212_mult__cancel, axiom, (! [A:$tType,S:(set @ ((product_prod @ A) @ A)),X6:(multiset @ A),Z5:(multiset @ A),Y7:(multiset @ A)]: ((((trans @ A) @ S) => (((irrefl @ A) @ S) => ((((member @ ((product_prod @ (multiset @ A)) @ (multiset @ A))) @ ((((product_Pair @ (multiset @ A)) @ (multiset @ A)) @ (((plus_plus @ (multiset @ A)) @ X6) @ Z5)) @ (((plus_plus @ (multiset @ A)) @ Y7) @ Z5))) @ ((mult @ A) @ S)) = (((member @ ((product_prod @ (multiset @ A)) @ (multiset @ A))) @ ((((product_Pair @ (multiset @ A)) @ (multiset @ A)) @ X6) @ Y7)) @ ((mult @ A) @ S)))))))).
% 2.88/1.54  thf(fact_213_irrefl__def, axiom, (! [A:$tType]: (((irrefl @ A) = (^ [R3:(set @ ((product_prod @ A) @ A))]: ((! [A5:A]: ((~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A5) @ A5)) @ R3))))))))))).
% 2.88/1.54  thf(fact_214_irreflI, axiom, (! [A:$tType,R4:(set @ ((product_prod @ A) @ A))]: (((! [A6:A]: ((~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A6) @ A6)) @ R4))))) => ((irrefl @ A) @ R4))))).
% 2.88/1.54  thf(fact_215_multp__iff, axiom, (! [A:$tType,R4:(set @ ((product_prod @ A) @ A)),P:(A > (A > $o)),N:(multiset @ A),M4:(multiset @ A)]: ((((irrefl @ A) @ R4) => (((trans @ A) @ R4) => ((! [X5:A,Y3:A]: ((((P @ X5) @ Y3) = (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X5) @ Y3)) @ R4)))) => (((((multp @ A) @ P) @ N) @ M4) = (((member @ ((product_prod @ (multiset @ A)) @ (multiset @ A))) @ ((((product_Pair @ (multiset @ A)) @ (multiset @ A)) @ N) @ M4)) @ ((mult @ A) @ R4))))))))).
% 2.88/1.54  thf(fact_216_in__mset__fold__plus__iff, axiom, (! [A:$tType,X:A,M4:(multiset @ A),NN:(multiset @ (multiset @ A))]: (((((member @ A) @ X) @ ((set_mset @ A) @ (((((fold_mset @ (multiset @ A)) @ (multiset @ A)) @ (plus_plus @ (multiset @ A))) @ M4) @ NN))) = ((((member @ A) @ X) @ ((set_mset @ A) @ M4)) | (? [N4:(multiset @ A)]: (((((member @ (multiset @ A)) @ N4) @ ((set_mset @ (multiset @ A)) @ NN)) & (((member @ A) @ X) @ ((set_mset @ A) @ N4)))))))))).
% 2.88/1.54  thf(fact_217_fold__mset__empty, axiom, (! [B:$tType,A:$tType,F:(B > (A > A)),S:A]: (((((((fold_mset @ B) @ A) @ F) @ S) @ (zero_zero @ (multiset @ B))) = S)))).
% 2.88/1.54  thf(fact_218_union__fold__mset__add__mset, axiom, (! [A:$tType]: (((plus_plus @ (multiset @ A)) = (((fold_mset @ A) @ (multiset @ A)) @ (add_mset @ A)))))).
% 2.88/1.54  thf(fact_219_add__mset__replicate__mset__safe, axiom, (! [A:$tType,B:$tType,M4:(multiset @ B),A2:B]: ((((((nO_MATCH @ (multiset @ A)) @ (multiset @ B)) @ (zero_zero @ (multiset @ A))) @ M4) => ((((add_mset @ B) @ A2) @ M4) = (((plus_plus @ (multiset @ B)) @ (((add_mset @ B) @ A2) @ (zero_zero @ (multiset @ B)))) @ M4)))))).
% 2.88/1.54  thf(fact_220_insert__DiffM2, axiom, (! [A:$tType,X:A,M4:(multiset @ A)]: (((((member @ A) @ X) @ ((set_mset @ A) @ M4)) => ((((plus_plus @ (multiset @ A)) @ (((minus_minus @ (multiset @ A)) @ M4) @ (((add_mset @ A) @ X) @ (zero_zero @ (multiset @ A))))) @ (((add_mset @ A) @ X) @ (zero_zero @ (multiset @ A)))) = M4))))).
% 2.88/1.54  thf(fact_221_diff__diff__add__mset, axiom, (! [A:$tType,M4:(multiset @ A),N:(multiset @ A),P:(multiset @ A)]: (((((minus_minus @ (multiset @ A)) @ (((minus_minus @ (multiset @ A)) @ M4) @ N)) @ P) = (((minus_minus @ (multiset @ A)) @ M4) @ (((plus_plus @ (multiset @ A)) @ N) @ P)))))).
% 2.88/1.54  thf(fact_222_diff__ge__0__iff__ge, axiom, (! [A:$tType]: (((ordered_ab_group_add @ A) => (! [A2:A,B2:A]: (((((ord_less_eq @ A) @ (zero_zero @ A)) @ (((minus_minus @ A) @ A2) @ B2)) = (((ord_less_eq @ A) @ B2) @ A2)))))))).
% 2.88/1.54  thf(fact_223_add__mset__remove__trivial, axiom, (! [A:$tType,X:A,M4:(multiset @ A)]: (((((minus_minus @ (multiset @ A)) @ (((add_mset @ A) @ X) @ M4)) @ (((add_mset @ A) @ X) @ (zero_zero @ (multiset @ A)))) = M4)))).
% 2.88/1.54  thf(fact_224_diff__add__mset__swap, axiom, (! [A:$tType,B2:A,A4:(multiset @ A),M4:(multiset @ A)]: (((~ ((((member @ A) @ B2) @ ((set_mset @ A) @ A4)))) => ((((minus_minus @ (multiset @ A)) @ (((add_mset @ A) @ B2) @ M4)) @ A4) = (((add_mset @ A) @ B2) @ (((minus_minus @ (multiset @ A)) @ M4) @ A4))))))).
% 2.88/1.54  thf(fact_225_diff__union__swap2, axiom, (! [A:$tType,Y:A,M4:(multiset @ A),X:A]: (((((member @ A) @ Y) @ ((set_mset @ A) @ M4)) => ((((minus_minus @ (multiset @ A)) @ (((add_mset @ A) @ X) @ M4)) @ (((add_mset @ A) @ Y) @ (zero_zero @ (multiset @ A)))) = (((add_mset @ A) @ X) @ (((minus_minus @ (multiset @ A)) @ M4) @ (((add_mset @ A) @ Y) @ (zero_zero @ (multiset @ A)))))))))).
% 2.88/1.54  thf(fact_226_insert__DiffM, axiom, (! [A:$tType,X:A,M4:(multiset @ A)]: (((((member @ A) @ X) @ ((set_mset @ A) @ M4)) => ((((add_mset @ A) @ X) @ (((minus_minus @ (multiset @ A)) @ M4) @ (((add_mset @ A) @ X) @ (zero_zero @ (multiset @ A))))) = M4))))).
% 2.88/1.54  thf(fact_227_le__iff__diff__le__0, axiom, (! [A:$tType]: (((ordered_ab_group_add @ A) => ((ord_less_eq @ A) = (^ [A5:A,B4:A]: ((((ord_less_eq @ A) @ (((minus_minus @ A) @ A5) @ B4)) @ (zero_zero @ A))))))))).
% 2.88/1.54  thf(fact_228_diff__le__eq, axiom, (! [A:$tType]: (((ordered_ab_group_add @ A) => (! [A2:A,B2:A,C2:A]: (((((ord_less_eq @ A) @ (((minus_minus @ A) @ A2) @ B2)) @ C2) = (((ord_less_eq @ A) @ A2) @ (((plus_plus @ A) @ C2) @ B2))))))))).
% 2.88/1.54  thf(fact_229_le__diff__eq, axiom, (! [A:$tType]: (((ordered_ab_group_add @ A) => (! [A2:A,C2:A,B2:A]: (((((ord_less_eq @ A) @ A2) @ (((minus_minus @ A) @ C2) @ B2)) = (((ord_less_eq @ A) @ (((plus_plus @ A) @ A2) @ B2)) @ C2)))))))).
% 2.88/1.54  thf(fact_230_ordered__cancel__comm__monoid__diff__class_Odiff__add, axiom, (! [A:$tType]: (((ordere623563068d_diff @ A) => (! [A2:A,B2:A]: (((((ord_less_eq @ A) @ A2) @ B2) => ((((plus_plus @ A) @ (((minus_minus @ A) @ B2) @ A2)) @ A2) = B2)))))))).
% 2.88/1.54  thf(fact_231_le__add__diff, axiom, (! [A:$tType]: (((ordere623563068d_diff @ A) => (! [A2:A,B2:A,C2:A]: (((((ord_less_eq @ A) @ A2) @ B2) => (((ord_less_eq @ A) @ C2) @ (((minus_minus @ A) @ (((plus_plus @ A) @ B2) @ C2)) @ A2))))))))).
% 2.88/1.54  thf(fact_232_ordered__cancel__comm__monoid__diff__class_Ole__diff__conv2, axiom, (! [A:$tType]: (((ordere623563068d_diff @ A) => (! [A2:A,B2:A,C2:A]: (((((ord_less_eq @ A) @ A2) @ B2) => ((((ord_less_eq @ A) @ C2) @ (((minus_minus @ A) @ B2) @ A2)) = (((ord_less_eq @ A) @ (((plus_plus @ A) @ C2) @ A2)) @ B2))))))))).
% 2.88/1.54  thf(fact_233_ordered__cancel__comm__monoid__diff__class_Oadd__diff__assoc, axiom, (! [A:$tType]: (((ordere623563068d_diff @ A) => (! [A2:A,B2:A,C2:A]: (((((ord_less_eq @ A) @ A2) @ B2) => ((((plus_plus @ A) @ C2) @ (((minus_minus @ A) @ B2) @ A2)) = (((minus_minus @ A) @ (((plus_plus @ A) @ C2) @ B2)) @ A2))))))))).
% 2.88/1.54  thf(fact_234_ordered__cancel__comm__monoid__diff__class_Odiff__add__assoc, axiom, (! [A:$tType]: (((ordere623563068d_diff @ A) => (! [A2:A,B2:A,C2:A]: (((((ord_less_eq @ A) @ A2) @ B2) => ((((minus_minus @ A) @ (((plus_plus @ A) @ C2) @ B2)) @ A2) = (((plus_plus @ A) @ C2) @ (((minus_minus @ A) @ B2) @ A2)))))))))).
% 2.88/1.54  thf(fact_235_ordered__cancel__comm__monoid__diff__class_Oadd__diff__assoc2, axiom, (! [A:$tType]: (((ordere623563068d_diff @ A) => (! [A2:A,B2:A,C2:A]: (((((ord_less_eq @ A) @ A2) @ B2) => ((((plus_plus @ A) @ (((minus_minus @ A) @ B2) @ A2)) @ C2) = (((minus_minus @ A) @ (((plus_plus @ A) @ B2) @ C2)) @ A2))))))))).
% 2.88/1.54  thf(fact_236_ordered__cancel__comm__monoid__diff__class_Odiff__add__assoc2, axiom, (! [A:$tType]: (((ordere623563068d_diff @ A) => (! [A2:A,B2:A,C2:A]: (((((ord_less_eq @ A) @ A2) @ B2) => ((((minus_minus @ A) @ (((plus_plus @ A) @ B2) @ C2)) @ A2) = (((plus_plus @ A) @ (((minus_minus @ A) @ B2) @ A2)) @ C2))))))))).
% 2.88/1.54  thf(fact_237_ordered__cancel__comm__monoid__diff__class_Odiff__diff__right, axiom, (! [A:$tType]: (((ordere623563068d_diff @ A) => (! [A2:A,B2:A,C2:A]: (((((ord_less_eq @ A) @ A2) @ B2) => ((((minus_minus @ A) @ C2) @ (((minus_minus @ A) @ B2) @ A2)) = (((minus_minus @ A) @ (((plus_plus @ A) @ C2) @ A2)) @ B2))))))))).
% 2.88/1.54  thf(fact_238_ordered__cancel__comm__monoid__diff__class_Oadd__diff__inverse, axiom, (! [A:$tType]: (((ordere623563068d_diff @ A) => (! [A2:A,B2:A]: (((((ord_less_eq @ A) @ A2) @ B2) => ((((plus_plus @ A) @ A2) @ (((minus_minus @ A) @ B2) @ A2)) = B2)))))))).
% 2.88/1.54  thf(fact_239_ordered__cancel__comm__monoid__diff__class_Ole__imp__diff__is__add, axiom, (! [A:$tType]: (((ordere623563068d_diff @ A) => (! [A2:A,B2:A,C2:A]: (((((ord_less_eq @ A) @ A2) @ B2) => ((((ord_less_eq @ A) @ A2) @ B2) => (((((minus_minus @ A) @ B2) @ A2) = C2) = (B2 = (((plus_plus @ A) @ C2) @ A2))))))))))).
% 2.88/1.54  thf(fact_240_diff__eq__diff__less__eq, axiom, (! [A:$tType]: (((ordered_ab_group_add @ A) => (! [A2:A,B2:A,C2:A,D3:A]: ((((((minus_minus @ A) @ A2) @ B2) = (((minus_minus @ A) @ C2) @ D3)) => ((((ord_less_eq @ A) @ A2) @ B2) = (((ord_less_eq @ A) @ C2) @ D3))))))))).
% 2.88/1.54  thf(fact_241_diff__right__mono, axiom, (! [A:$tType]: (((ordered_ab_group_add @ A) => (! [A2:A,B2:A,C2:A]: (((((ord_less_eq @ A) @ A2) @ B2) => (((ord_less_eq @ A) @ (((minus_minus @ A) @ A2) @ C2)) @ (((minus_minus @ A) @ B2) @ C2))))))))).
% 2.88/1.54  thf(fact_242_diff__left__mono, axiom, (! [A:$tType]: (((ordered_ab_group_add @ A) => (! [B2:A,A2:A,C2:A]: (((((ord_less_eq @ A) @ B2) @ A2) => (((ord_less_eq @ A) @ (((minus_minus @ A) @ C2) @ A2)) @ (((minus_minus @ A) @ C2) @ B2))))))))).
% 2.88/1.54  thf(fact_243_diff__mono, axiom, (! [A:$tType]: (((ordered_ab_group_add @ A) => (! [A2:A,B2:A,D3:A,C2:A]: (((((ord_less_eq @ A) @ A2) @ B2) => ((((ord_less_eq @ A) @ D3) @ C2) => (((ord_less_eq @ A) @ (((minus_minus @ A) @ A2) @ C2)) @ (((minus_minus @ A) @ B2) @ D3)))))))))).
% 2.88/1.54  thf(fact_244_in__diffD, axiom, (! [A:$tType,A2:A,M4:(multiset @ A),N:(multiset @ A)]: (((((member @ A) @ A2) @ ((set_mset @ A) @ (((minus_minus @ (multiset @ A)) @ M4) @ N))) => (((member @ A) @ A2) @ ((set_mset @ A) @ M4)))))).
% 2.88/1.54  thf(fact_245_add__mset__diff__bothsides, axiom, (! [A:$tType,A2:A,M4:(multiset @ A),A4:(multiset @ A)]: (((((minus_minus @ (multiset @ A)) @ (((add_mset @ A) @ A2) @ M4)) @ (((add_mset @ A) @ A2) @ A4)) = (((minus_minus @ (multiset @ A)) @ M4) @ A4))))).
% 2.88/1.54  thf(fact_246_Multiset_Odiff__right__commute, axiom, (! [A:$tType,M4:(multiset @ A),N:(multiset @ A),Q:(multiset @ A)]: (((((minus_minus @ (multiset @ A)) @ (((minus_minus @ (multiset @ A)) @ M4) @ N)) @ Q) = (((minus_minus @ (multiset @ A)) @ (((minus_minus @ (multiset @ A)) @ M4) @ Q)) @ N))))).
% 2.88/1.54  thf(fact_247_Multiset_Odiff__cancel, axiom, (! [A:$tType,A4:(multiset @ A)]: (((((minus_minus @ (multiset @ A)) @ A4) @ A4) = (zero_zero @ (multiset @ A)))))).
% 2.88/1.54  thf(fact_248_diff__empty, axiom, (! [A:$tType,M4:(multiset @ A)]: ((((((minus_minus @ (multiset @ A)) @ M4) @ (zero_zero @ (multiset @ A))) = M4) & ((((minus_minus @ (multiset @ A)) @ (zero_zero @ (multiset @ A))) @ M4) = (zero_zero @ (multiset @ A))))))).
% 2.88/1.54  thf(fact_249_union__single__eq__diff, axiom, (! [A:$tType,X:A,M4:(multiset @ A),N:(multiset @ A)]: ((((((add_mset @ A) @ X) @ M4) = N) => (M4 = (((minus_minus @ (multiset @ A)) @ N) @ (((add_mset @ A) @ X) @ (zero_zero @ (multiset @ A))))))))).
% 2.88/1.54  thf(fact_250_add__eq__conv__diff, axiom, (! [A:$tType,A2:A,M4:(multiset @ A),B2:A,N:(multiset @ A)]: ((((((add_mset @ A) @ A2) @ M4) = (((add_mset @ A) @ B2) @ N)) = (((M4 = N) & (A2 = B2)) | ((M4 = (((add_mset @ A) @ B2) @ (((minus_minus @ (multiset @ A)) @ N) @ (((add_mset @ A) @ A2) @ (zero_zero @ (multiset @ A)))))) & (N = (((add_mset @ A) @ A2) @ (((minus_minus @ (multiset @ A)) @ M4) @ (((add_mset @ A) @ B2) @ (zero_zero @ (multiset @ A)))))))))))).
% 2.88/1.54  thf(fact_251_diff__union__swap, axiom, (! [A:$tType,A2:A,B2:A,M4:(multiset @ A)]: (((A2 != B2) => ((((add_mset @ A) @ B2) @ (((minus_minus @ (multiset @ A)) @ M4) @ (((add_mset @ A) @ A2) @ (zero_zero @ (multiset @ A))))) = (((minus_minus @ (multiset @ A)) @ (((add_mset @ A) @ B2) @ M4)) @ (((add_mset @ A) @ A2) @ (zero_zero @ (multiset @ A))))))))).
% 2.88/1.54  thf(fact_252_diff__union__cancelR, axiom, (! [A:$tType,M4:(multiset @ A),N:(multiset @ A)]: (((((minus_minus @ (multiset @ A)) @ (((plus_plus @ (multiset @ A)) @ M4) @ N)) @ N) = M4)))).
% 2.88/1.54  thf(fact_253_diff__union__cancelL, axiom, (! [A:$tType,N:(multiset @ A),M4:(multiset @ A)]: (((((minus_minus @ (multiset @ A)) @ (((plus_plus @ (multiset @ A)) @ N) @ M4)) @ N) = M4)))).
% 2.88/1.54  thf(fact_254_Multiset_Odiff__add, axiom, (! [A:$tType,M4:(multiset @ A),N:(multiset @ A),Q:(multiset @ A)]: (((((minus_minus @ (multiset @ A)) @ M4) @ (((plus_plus @ (multiset @ A)) @ N) @ Q)) = (((minus_minus @ (multiset @ A)) @ (((minus_minus @ (multiset @ A)) @ M4) @ N)) @ Q))))).
% 2.88/1.54  thf(fact_255_diff__single__trivial, axiom, (! [A:$tType,X:A,M4:(multiset @ A)]: (((~ ((((member @ A) @ X) @ ((set_mset @ A) @ M4)))) => ((((minus_minus @ (multiset @ A)) @ M4) @ (((add_mset @ A) @ X) @ (zero_zero @ (multiset @ A)))) = M4))))).
% 2.88/1.54  thf(subcl_Orderings_Olinorder___HOL_Otype, axiom, (! [A:$tType]: (((linorder @ A) => (type @ A))))).
% 2.88/1.54  thf(subcl_Orderings_Olinorder___Orderings_Oord, axiom, (! [A:$tType]: (((linorder @ A) => (ord @ A))))).
% 2.88/1.54  thf(subcl_Orderings_Olinorder___Orderings_Oorder, axiom, (! [A:$tType]: (((linorder @ A) => (order @ A))))).
% 2.88/1.54  thf(subcl_Orderings_Olinorder___Orderings_Opreorder, axiom, (! [A:$tType]: (((linorder @ A) => (preorder @ A))))).
% 2.88/1.54  thf(tcon_fun___Orderings_Opreorder, axiom, (! [A9:$tType,A10:$tType]: (((preorder @ A10) => (preorder @ (A9 > A10)))))).
% 2.88/1.54  thf(tcon_fun___Orderings_Oorder, axiom, (! [A9:$tType,A10:$tType]: (((order @ A10) => (order @ (A9 > A10)))))).
% 2.88/1.54  thf(tcon_fun___Orderings_Oord, axiom, (! [A9:$tType,A10:$tType]: (((ord @ A10) => (ord @ (A9 > A10)))))).
% 2.88/1.54  thf(tcon_Set_Oset___Orderings_Opreorder_1, axiom, (! [A9:$tType]: ((preorder @ (set @ A9))))).
% 2.88/1.54  thf(tcon_Set_Oset___Orderings_Oorder_2, axiom, (! [A9:$tType]: ((order @ (set @ A9))))).
% 2.88/1.54  thf(tcon_Set_Oset___Orderings_Oord_3, axiom, (! [A9:$tType]: ((ord @ (set @ A9))))).
% 2.88/1.54  thf(tcon_HOL_Obool___Orderings_Opreorder_4, axiom, (preorder @ $o)).
% 2.88/1.54  thf(tcon_HOL_Obool___Orderings_Olinorder, axiom, (linorder @ $o)).
% 2.88/1.54  thf(tcon_HOL_Obool___Orderings_Oorder_5, axiom, (order @ $o)).
% 2.88/1.54  thf(tcon_HOL_Obool___Orderings_Oord_6, axiom, (ord @ $o)).
% 2.88/1.54  thf(tcon_Multiset_Omultiset___Groups_Oordered__ab__semigroup__add, axiom, (! [A9:$tType]: (((preorder @ A9) => (ordere779506340up_add @ (multiset @ A9)))))).
% 2.88/1.54  thf(tcon_Multiset_Omultiset___Orderings_Opreorder_7, axiom, (! [A9:$tType]: (((preorder @ A9) => (preorder @ (multiset @ A9)))))).
% 2.88/1.54  thf(tcon_Multiset_Omultiset___Orderings_Oorder_8, axiom, (! [A9:$tType]: (((preorder @ A9) => (order @ (multiset @ A9)))))).
% 2.88/1.54  thf(tcon_Multiset_Omultiset___Orderings_Oord_9, axiom, (! [A9:$tType]: (((preorder @ A9) => (ord @ (multiset @ A9)))))).
% 2.88/1.54  thf(tfree_0, hypothesis, (linorder @ a)).
% 2.88/1.54  thf(conj_0, conjecture, ((is_heap @ a) @ ((heapIm818251801eapify @ a) @ ((((t @ a) @ v) @ l) @ r)))).
% 2.88/1.54  % SZS output end ListOfTHF for /export/starexec/sandbox2/tmp/tmp.XltU8E9Ncf/DTF2DTF17674.p
% 2.88/1.54  ------------------------
% 2.88/1.58  ---- Cleaned THF ---
% 2.88/1.58  thf(ty_t_Product__Type_Oprod,type,
% 2.88/1.58      product_prod: $tType > $tType > $tType ).
% 2.88/1.58  
% 2.88/1.58  thf(ty_t_Multiset_Omultiset,type,
% 2.88/1.58      multiset: $tType > $tType ).
% 2.88/1.58  
% 2.88/1.58  thf(ty_t_List_Olist,type,
% 2.88/1.58      list: $tType > $tType ).
% 2.88/1.58  
% 2.88/1.58  thf(ty_t_Heap_OTree,type,
% 2.88/1.58      tree: $tType > $tType ).
% 2.88/1.58  
% 2.88/1.58  thf(ty_t_Set_Oset,type,
% 2.88/1.58      set: $tType > $tType ).
% 2.88/1.58  
% 2.88/1.58  thf(ty_tf_a,type,
% 2.88/1.58      a: $tType ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_cl_HOL_Otype,type,
% 2.88/1.58      type: 
% 2.88/1.58        !>[A: $tType] : $o ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_cl_Orderings_Oord,type,
% 2.88/1.58      ord: 
% 2.88/1.58        !>[A: $tType] : $o ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_cl_Orderings_Oorder,type,
% 2.88/1.58      order: 
% 2.88/1.58        !>[A: $tType] : $o ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_cl_Orderings_Olinorder,type,
% 2.88/1.58      linorder: 
% 2.88/1.58        !>[A: $tType] : $o ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_cl_Orderings_Opreorder,type,
% 2.88/1.58      preorder: 
% 2.88/1.58        !>[A: $tType] : $o ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_cl_Groups_Oordered__ab__group__add,type,
% 2.88/1.58      ordered_ab_group_add: 
% 2.88/1.58        !>[A: $tType] : $o ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_cl_Groups_Olinordered__ab__group__add,type,
% 2.88/1.58      linord219039673up_add: 
% 2.88/1.58        !>[A: $tType] : $o ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_cl_Groups_Oordered__comm__monoid__add,type,
% 2.88/1.58      ordere216010020id_add: 
% 2.88/1.58        !>[A: $tType] : $o ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_cl_Groups_Oordered__ab__semigroup__add,type,
% 2.88/1.58      ordere779506340up_add: 
% 2.88/1.58        !>[A: $tType] : $o ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_cl_Rings_Olinordered__nonzero__semiring,type,
% 2.88/1.58      linord1659791738miring: 
% 2.88/1.58        !>[A: $tType] : $o ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_cl_Groups_Ocanonically__ordered__monoid__add,type,
% 2.88/1.58      canoni770627133id_add: 
% 2.88/1.58        !>[A: $tType] : $o ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_cl_Groups_Oordered__ab__semigroup__add__imp__le,type,
% 2.88/1.58      ordere236663937imp_le: 
% 2.88/1.58        !>[A: $tType] : $o ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_cl_Groups_Oordered__cancel__comm__monoid__diff,type,
% 2.88/1.58      ordere623563068d_diff: 
% 2.88/1.58        !>[A: $tType] : $o ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_cl_Divides_Ounique__euclidean__semiring__numeral,type,
% 2.88/1.58      unique1598680935umeral: 
% 2.88/1.58        !>[A: $tType] : $o ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_cl_Groups_Oordered__ab__semigroup__monoid__add__imp__le,type,
% 2.88/1.58      ordere516151231imp_le: 
% 2.88/1.58        !>[A: $tType] : $o ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_BNF__Cardinal__Order__Relation_OrelChain,type,
% 2.88/1.58      bNF_Ca1785829860lChain: 
% 2.88/1.58        !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( A > B ) > $o ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Divides_Ounique__euclidean__semiring__numeral__class_Odivides__aux,type,
% 2.88/1.58      unique455577585es_aux: 
% 2.88/1.58        !>[A: $tType] : ( ( product_prod @ A @ A ) > $o ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Groups_Ominus__class_Ominus,type,
% 2.88/1.58      minus_minus: 
% 2.88/1.58        !>[A: $tType] : ( A > A > A ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Groups_Oplus__class_Oplus,type,
% 2.88/1.58      plus_plus: 
% 2.88/1.58        !>[A: $tType] : ( A > A > A ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Groups_Ozero__class_Ozero,type,
% 2.88/1.58      zero_zero: 
% 2.88/1.58        !>[A: $tType] : A ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_HOL_ONO__MATCH,type,
% 2.88/1.58      nO_MATCH: 
% 2.88/1.58        !>[A: $tType,B: $tType] : ( A > B > $o ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oheapify,type,
% 2.88/1.58      heapIm818251801eapify: 
% 2.88/1.58        !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oleft,type,
% 2.88/1.58      heapIm1271749598e_left: 
% 2.88/1.58        !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oright,type,
% 2.88/1.58      heapIm1434396069_right: 
% 2.88/1.58        !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_OsiftDown,type,
% 2.88/1.58      heapIm748920189ftDown: 
% 2.88/1.58        !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Heap_OHeap,type,
% 2.88/1.58      heap: 
% 2.88/1.58        !>[B: $tType,A: $tType] : ( B > ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( tree @ A ) ) > ( B > ( product_prod @ A @ B ) ) > $o ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Heap_OHeap__axioms,type,
% 2.88/1.58      heap_axioms: 
% 2.88/1.58        !>[B: $tType,A: $tType] : ( ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( tree @ A ) ) > ( B > ( product_prod @ A @ B ) ) > $o ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Heap_OTree_OE,type,
% 2.88/1.58      e: 
% 2.88/1.58        !>[A: $tType] : ( tree @ A ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Heap_OTree_OT,type,
% 2.88/1.58      t: 
% 2.88/1.58        !>[A: $tType] : ( A > ( tree @ A ) > ( tree @ A ) > ( tree @ A ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Heap_OTree_Ocase__Tree,type,
% 2.88/1.58      case_Tree: 
% 2.88/1.58        !>[B: $tType,A: $tType] : ( B > ( A > ( tree @ A ) > ( tree @ A ) > B ) > ( tree @ A ) > B ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Heap_OTree_Orec__Tree,type,
% 2.88/1.58      rec_Tree: 
% 2.88/1.58        !>[C: $tType,A: $tType] : ( C > ( A > ( tree @ A ) > ( tree @ A ) > C > C > C ) > ( tree @ A ) > C ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Heap_Oin__tree,type,
% 2.88/1.58      in_tree: 
% 2.88/1.58        !>[A: $tType] : ( A > ( tree @ A ) > $o ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Heap_Ois__heap,type,
% 2.88/1.58      is_heap: 
% 2.88/1.58        !>[A: $tType] : ( ( tree @ A ) > $o ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Heap_Omultiset,type,
% 2.88/1.58      multiset2: 
% 2.88/1.58        !>[A: $tType] : ( ( tree @ A ) > ( multiset @ A ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Heap_Oval,type,
% 2.88/1.58      val: 
% 2.88/1.58        !>[A: $tType] : ( ( tree @ A ) > A ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Lattices__Big_Olinorder__class_OMax,type,
% 2.88/1.58      lattic929149872er_Max: 
% 2.88/1.58        !>[A: $tType] : ( ( set @ A ) > A ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Multiset_Oadd__mset,type,
% 2.88/1.58      add_mset: 
% 2.88/1.58        !>[A: $tType] : ( A > ( multiset @ A ) > ( multiset @ A ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Multiset_Ocomm__monoid__add_Osum__mset,type,
% 2.88/1.58      comm_monoid_sum_mset: 
% 2.88/1.58        !>[A: $tType] : ( ( A > A > A ) > A > ( multiset @ A ) > A ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Multiset_Ofold__mset,type,
% 2.88/1.58      fold_mset: 
% 2.88/1.58        !>[A: $tType,B: $tType] : ( ( A > B > B ) > B > ( multiset @ A ) > B ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Multiset_Ois__empty,type,
% 2.88/1.58      is_empty: 
% 2.88/1.58        !>[A: $tType] : ( ( multiset @ A ) > $o ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Multiset_Omult,type,
% 2.88/1.58      mult: 
% 2.88/1.58        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Multiset_Omult1,type,
% 2.88/1.58      mult1: 
% 2.88/1.58        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Multiset_Omultp,type,
% 2.88/1.58      multp: 
% 2.88/1.58        !>[A: $tType] : ( ( A > A > $o ) > ( multiset @ A ) > ( multiset @ A ) > $o ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Multiset_Oset__mset,type,
% 2.88/1.58      set_mset: 
% 2.88/1.58        !>[A: $tType] : ( ( multiset @ A ) > ( set @ A ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Orderings_Oord__class_Oless__eq,type,
% 2.88/1.58      ord_less_eq: 
% 2.88/1.58        !>[A: $tType] : ( A > A > $o ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Orderings_Oorder__class_OGreatest,type,
% 2.88/1.58      order_Greatest: 
% 2.88/1.58        !>[A: $tType] : ( ( A > $o ) > A ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Product__Type_OPair,type,
% 2.88/1.58      product_Pair: 
% 2.88/1.58        !>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Product__Type_Ointernal__case__prod,type,
% 2.88/1.58      produc2004651681e_prod: 
% 2.88/1.58        !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > C ) > ( product_prod @ A @ B ) > C ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Product__Type_Oold_Oprod_Orec__prod,type,
% 2.88/1.58      product_rec_prod: 
% 2.88/1.58        !>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Relation_Oirrefl,type,
% 2.88/1.58      irrefl: 
% 2.88/1.58        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > $o ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Relation_Otrans,type,
% 2.88/1.58      trans: 
% 2.88/1.58        !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > $o ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_RemoveMax_OCollection,type,
% 2.88/1.58      collection: 
% 2.88/1.58        !>[B: $tType,A: $tType] : ( B > ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > $o ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_RemoveMax_OCollection_Oset,type,
% 2.88/1.58      set2: 
% 2.88/1.58        !>[B: $tType,A: $tType] : ( ( B > ( multiset @ A ) ) > B > ( set @ A ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_RemoveMax_ORemoveMax,type,
% 2.88/1.58      removeMax: 
% 2.88/1.58        !>[B: $tType,A: $tType] : ( B > ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( product_prod @ A @ B ) ) > ( B > $o ) > $o ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_RemoveMax_ORemoveMax__axioms,type,
% 2.88/1.58      removeMax_axioms: 
% 2.88/1.58        !>[B: $tType,A: $tType] : ( ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( product_prod @ A @ B ) ) > ( B > $o ) > $o ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_Set_OCollect,type,
% 2.88/1.58      collect: 
% 2.88/1.58        !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_c_member,type,
% 2.88/1.58      member: 
% 2.88/1.58        !>[A: $tType] : ( A > ( set @ A ) > $o ) ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_v_l____,type,
% 2.88/1.58      l: tree @ a ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_v_r____,type,
% 2.88/1.58      r: tree @ a ).
% 2.88/1.58  
% 2.88/1.58  thf(sy_v_v____,type,
% 2.88/1.58      v: a ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_0_T_Ohyps_I2_J,axiom,
% 2.88/1.58      is_heap @ a @ ( heapIm818251801eapify @ a @ r ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_1_T_Ohyps_I1_J,axiom,
% 2.88/1.58      is_heap @ a @ ( heapIm818251801eapify @ a @ l ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_2__092_060open_062_092_060lbrakk_062is__heap_A_Iheapify_Al_J_059_Ais__heap_A_Iheapify_Ar_J_059_AT_Av_A_Iheapify_Al_J_A_Iheapify_Ar_J_A_061_AT_Av_A_Iheapify_Al_J_A_Iheapify_Ar_J_092_060rbrakk_062_A_092_060Longrightarrow_062_Ais__heap_A_IsiftDown_A_IT_Av_A_Iheapify_Al_J_A_Iheapify_Ar_J_J_J_092_060close_062,axiom,
% 2.88/1.58      ( ( is_heap @ a @ ( heapIm818251801eapify @ a @ l ) )
% 2.88/1.58     => ( ( is_heap @ a @ ( heapIm818251801eapify @ a @ r ) )
% 2.88/1.58       => ( ( ( t @ a @ v @ ( heapIm818251801eapify @ a @ l ) @ ( heapIm818251801eapify @ a @ r ) )
% 2.88/1.58            = ( t @ a @ v @ ( heapIm818251801eapify @ a @ l ) @ ( heapIm818251801eapify @ a @ r ) ) )
% 2.88/1.58         => ( is_heap @ a @ ( heapIm748920189ftDown @ a @ ( t @ a @ v @ ( heapIm818251801eapify @ a @ l ) @ ( heapIm818251801eapify @ a @ r ) ) ) ) ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_3_heapify_Osimps_I2_J,axiom,
% 2.88/1.58      ! [A: $tType] :
% 2.88/1.58        ( ( linorder @ A )
% 2.88/1.58       => ! [V: A,L: tree @ A,R: tree @ A] :
% 2.88/1.58            ( ( heapIm818251801eapify @ A @ ( t @ A @ V @ L @ R ) )
% 2.88/1.58            = ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( heapIm818251801eapify @ A @ L ) @ ( heapIm818251801eapify @ A @ R ) ) ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_4_siftDown__heap__is__heap,axiom,
% 2.88/1.58      ! [A: $tType] :
% 2.88/1.58        ( ( linorder @ A )
% 2.88/1.58       => ! [L: tree @ A,R: tree @ A,T2: tree @ A,V: A] :
% 2.88/1.58            ( ( is_heap @ A @ L )
% 2.88/1.58           => ( ( is_heap @ A @ R )
% 2.88/1.58             => ( ( T2
% 2.88/1.58                  = ( t @ A @ V @ L @ R ) )
% 2.88/1.58               => ( is_heap @ A @ ( heapIm748920189ftDown @ A @ T2 ) ) ) ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_5_Tree_Oinject,axiom,
% 2.88/1.58      ! [A: $tType,X21: A,X22: tree @ A,X23: tree @ A,Y21: A,Y22: tree @ A,Y23: tree @ A] :
% 2.88/1.58        ( ( ( t @ A @ X21 @ X22 @ X23 )
% 2.88/1.58          = ( t @ A @ Y21 @ Y22 @ Y23 ) )
% 2.88/1.58        = ( ( X21 = Y21 )
% 2.88/1.58          & ( X22 = Y22 )
% 2.88/1.58          & ( X23 = Y23 ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_6_left_Osimps,axiom,
% 2.88/1.58      ! [A: $tType,V: A,L: tree @ A,R: tree @ A] :
% 2.88/1.58        ( ( heapIm1271749598e_left @ A @ ( t @ A @ V @ L @ R ) )
% 2.88/1.58        = L ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_7_right_Osimps,axiom,
% 2.88/1.58      ! [A: $tType,V: A,L: tree @ A,R: tree @ A] :
% 2.88/1.58        ( ( heapIm1434396069_right @ A @ ( t @ A @ V @ L @ R ) )
% 2.88/1.58        = R ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_8_is__heap_Osimps_I2_J,axiom,
% 2.88/1.58      ! [A: $tType] :
% 2.88/1.58        ( ( linorder @ A )
% 2.88/1.58       => ! [V: A] : ( is_heap @ A @ ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_9_heapify_Osimps_I1_J,axiom,
% 2.88/1.58      ! [A: $tType] :
% 2.88/1.58        ( ( linorder @ A )
% 2.88/1.58       => ( ( heapIm818251801eapify @ A @ ( e @ A ) )
% 2.88/1.58          = ( e @ A ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_10_siftDown_Ocases,axiom,
% 2.88/1.58      ! [A: $tType] :
% 2.88/1.58        ( ( linorder @ A )
% 2.88/1.58       => ! [X: tree @ A] :
% 2.88/1.58            ( ( X
% 2.88/1.58             != ( e @ A ) )
% 2.88/1.58           => ( ! [V2: A] :
% 2.88/1.58                  ( X
% 2.88/1.58                 != ( t @ A @ V2 @ ( e @ A ) @ ( e @ A ) ) )
% 2.88/1.58             => ( ! [V2: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 2.88/1.58                    ( X
% 2.88/1.58                   != ( t @ A @ V2 @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) )
% 2.88/1.58               => ( ! [V2: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 2.88/1.58                      ( X
% 2.88/1.58                     != ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 2.88/1.58                 => ~ ! [V2: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 2.88/1.58                        ( X
% 2.88/1.58                       != ( t @ A @ V2 @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) ) ) ) ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_11_Tree_Osimps_I5_J,axiom,
% 2.88/1.58      ! [B: $tType,A: $tType,F1: B,F2: A > ( tree @ A ) > ( tree @ A ) > B,X21: A,X22: tree @ A,X23: tree @ A] :
% 2.88/1.58        ( ( case_Tree @ B @ A @ F1 @ F2 @ ( t @ A @ X21 @ X22 @ X23 ) )
% 2.88/1.58        = ( F2 @ X21 @ X22 @ X23 ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_12_Heap_Ois__heap__of__list,axiom,
% 2.88/1.58      ! [B: $tType,A: $tType] :
% 2.88/1.58        ( ( linorder @ A )
% 2.88/1.58       => ! [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 ),I: list @ A] :
% 2.88/1.58            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 2.88/1.58           => ( is_heap @ A @ ( As_tree @ ( Of_list @ I ) ) ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_13_in__tree_Osimps_I2_J,axiom,
% 2.88/1.58      ! [A: $tType,V: A,V3: A,L: tree @ A,R: tree @ A] :
% 2.88/1.58        ( ( in_tree @ A @ V @ ( t @ A @ V3 @ L @ R ) )
% 2.88/1.58        = ( ( V = V3 )
% 2.88/1.58          | ( in_tree @ A @ V @ L )
% 2.88/1.58          | ( in_tree @ A @ V @ R ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_14_siftDown_Osimps_I2_J,axiom,
% 2.88/1.58      ! [A: $tType] :
% 2.88/1.58        ( ( linorder @ A )
% 2.88/1.58       => ! [V: A] :
% 2.88/1.58            ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) )
% 2.88/1.58            = ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_15_Tree_Osimps_I4_J,axiom,
% 2.88/1.58      ! [A: $tType,B: $tType,F1: B,F2: A > ( tree @ A ) > ( tree @ A ) > B] :
% 2.88/1.58        ( ( case_Tree @ B @ A @ F1 @ F2 @ ( e @ A ) )
% 2.88/1.58        = F1 ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_16_in__tree_Osimps_I1_J,axiom,
% 2.88/1.58      ! [A: $tType,V: A] :
% 2.88/1.58        ~ ( in_tree @ A @ V @ ( e @ A ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_17_siftDown_Osimps_I1_J,axiom,
% 2.88/1.58      ! [A: $tType] :
% 2.88/1.58        ( ( linorder @ A )
% 2.88/1.58       => ( ( heapIm748920189ftDown @ A @ ( e @ A ) )
% 2.88/1.58          = ( e @ A ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_18_Heap_Oas__tree__empty,axiom,
% 2.88/1.58      ! [A: $tType,B: $tType] :
% 2.88/1.58        ( ( linorder @ A )
% 2.88/1.58       => ! [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 ),T2: B] :
% 2.88/1.58            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 2.88/1.58           => ( ( ( As_tree @ T2 )
% 2.88/1.58                = ( e @ A ) )
% 2.88/1.58              = ( Is_empty @ T2 ) ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_19_siftDown__in__tree__set,axiom,
% 2.88/1.58      ! [A: $tType] :
% 2.88/1.58        ( ( linorder @ A )
% 2.88/1.58       => ( ( in_tree @ A )
% 2.88/1.58          = ( ^ [V4: A,T3: tree @ A] : ( in_tree @ A @ V4 @ ( heapIm748920189ftDown @ A @ T3 ) ) ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_20_is__heap_Ocases,axiom,
% 2.88/1.58      ! [A: $tType] :
% 2.88/1.58        ( ( linorder @ A )
% 2.88/1.58       => ! [X: tree @ A] :
% 2.88/1.58            ( ( X
% 2.88/1.58             != ( e @ A ) )
% 2.88/1.58           => ( ! [V2: A] :
% 2.88/1.58                  ( X
% 2.88/1.58                 != ( t @ A @ V2 @ ( e @ A ) @ ( e @ A ) ) )
% 2.88/1.58             => ( ! [V2: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 2.88/1.58                    ( X
% 2.88/1.58                   != ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 2.88/1.58               => ( ! [V2: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 2.88/1.58                      ( X
% 2.88/1.58                     != ( t @ A @ V2 @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) )
% 2.88/1.58                 => ~ ! [V2: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 2.88/1.58                        ( X
% 2.88/1.58                       != ( t @ A @ V2 @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) ) ) ) ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_21_Tree_Oexhaust,axiom,
% 2.88/1.58      ! [A: $tType,Y: tree @ A] :
% 2.88/1.58        ( ( Y
% 2.88/1.58         != ( e @ A ) )
% 2.88/1.58       => ~ ! [X212: A,X222: tree @ A,X232: tree @ A] :
% 2.88/1.58              ( Y
% 2.88/1.58             != ( t @ A @ X212 @ X222 @ X232 ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_22_Tree_Oinduct,axiom,
% 2.88/1.58      ! [A: $tType,P: ( tree @ A ) > $o,Tree: tree @ A] :
% 2.88/1.58        ( ( P @ ( e @ A ) )
% 2.88/1.58       => ( ! [X1: A,X2: tree @ A,X3: tree @ A] :
% 2.88/1.58              ( ( P @ X2 )
% 2.88/1.58             => ( ( P @ X3 )
% 2.88/1.58               => ( P @ ( t @ A @ X1 @ X2 @ X3 ) ) ) )
% 2.88/1.58         => ( P @ Tree ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_23_Tree_Odistinct_I1_J,axiom,
% 2.88/1.58      ! [A: $tType,X21: A,X22: tree @ A,X23: tree @ A] :
% 2.88/1.58        ( ( e @ A )
% 2.88/1.58       != ( t @ A @ X21 @ X22 @ X23 ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_24_is__heap_Osimps_I1_J,axiom,
% 2.88/1.58      ! [A: $tType] :
% 2.88/1.58        ( ( linorder @ A )
% 2.88/1.58       => ( is_heap @ A @ ( e @ A ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_25_siftDown__in__tree,axiom,
% 2.88/1.58      ! [A: $tType] :
% 2.88/1.58        ( ( linorder @ A )
% 2.88/1.58       => ! [T2: tree @ A] :
% 2.88/1.58            ( ( T2
% 2.88/1.58             != ( e @ A ) )
% 2.88/1.58           => ( in_tree @ A @ ( val @ A @ ( heapIm748920189ftDown @ A @ T2 ) ) @ T2 ) ) ) ).
% 2.88/1.58  
% 2.88/1.58  thf(fact_26_Heap_Oaxioms_I2_J,axiom,
% 2.88/1.58      ! [A: $tType,B: $tType] :
% 2.88/1.58        ( ( linorder @ A )
% 2.88/1.58       => ! [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.88/1.59            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 2.88/1.59           => ( heap_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_27_siftDown_Osimps_I4_J,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [Va2: A,Vb2: tree @ A,Vc2: tree @ A,V: A] :
% 2.88/1.59            ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 2.88/1.59             => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.88/1.59                = ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) )
% 2.88/1.59            & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 2.88/1.59             => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.88/1.59                = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( e @ A ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_28_siftDown_Osimps_I3_J,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [Va2: A,Vb2: tree @ A,Vc2: tree @ A,V: A] :
% 2.88/1.59            ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 2.88/1.59             => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 2.88/1.59                = ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) ) )
% 2.88/1.59            & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 2.88/1.59             => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 2.88/1.59                = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) @ ( e @ A ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_29_Heap_Omultiset,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [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.88/1.59            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 2.88/1.59           => ( ( Multiset @ L )
% 2.88/1.59              = ( multiset2 @ A @ ( As_tree @ L ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_30_siftDown_Osimps_I6_J,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [Va2: A,Vb2: tree @ A,Vc2: tree @ A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A,V: A] :
% 2.88/1.59            ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 2.88/1.59             => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V )
% 2.88/1.59                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.88/1.59                    = ( t @ A @ V @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) )
% 2.88/1.59                & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V )
% 2.88/1.59                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.88/1.59                    = ( t @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( heapIm1271749598e_left @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) )
% 2.88/1.59            & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 2.88/1.59             => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 2.88/1.59                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.88/1.59                    = ( t @ A @ V @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) )
% 2.88/1.59                & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 2.88/1.59                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.88/1.59                    = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_31_siftDown_Osimps_I5_J,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [Vd2: A,Ve2: tree @ A,Vf2: tree @ A,Va2: A,Vb2: tree @ A,Vc2: tree @ A,V: A] :
% 2.88/1.59            ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.88/1.59             => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 2.88/1.59                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 2.88/1.59                    = ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) )
% 2.88/1.59                & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 2.88/1.59                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 2.88/1.59                    = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) )
% 2.88/1.59            & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.88/1.59             => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V )
% 2.88/1.59                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 2.88/1.59                    = ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) )
% 2.88/1.59                & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V )
% 2.88/1.59                 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 2.88/1.59                    = ( t @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V @ ( heapIm1271749598e_left @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_32_Heap_Oremove__max__is__heap,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [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,L2: B] :
% 2.88/1.59            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 2.88/1.59           => ( ~ ( Is_empty @ L )
% 2.88/1.59             => ( ( is_heap @ A @ ( As_tree @ L ) )
% 2.88/1.59               => ( ( ( product_Pair @ A @ B @ M @ L2 )
% 2.88/1.59                    = ( Remove_max @ L ) )
% 2.88/1.59                 => ( is_heap @ A @ ( As_tree @ L2 ) ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_33_siftDown__Node,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [T2: tree @ A,V: A,L: tree @ A,R: tree @ A] :
% 2.88/1.59            ( ( T2
% 2.88/1.59              = ( t @ A @ V @ L @ R ) )
% 2.88/1.59           => ? [L3: tree @ A,V5: A,R2: tree @ A] :
% 2.88/1.59                ( ( ( heapIm748920189ftDown @ A @ T2 )
% 2.88/1.59                  = ( t @ A @ V5 @ L3 @ R2 ) )
% 2.88/1.59                & ( ord_less_eq @ A @ V @ V5 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_34_Tree_Osimps_I6_J,axiom,
% 2.88/1.59      ! [A: $tType,C: $tType,F1: C,F2: A > ( tree @ A ) > ( tree @ A ) > C > C > C] :
% 2.88/1.59        ( ( rec_Tree @ C @ A @ F1 @ F2 @ ( e @ A ) )
% 2.88/1.59        = F1 ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_35_Heap_Oremove__max__val,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [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 ),T2: B,M: A,T4: B] :
% 2.88/1.59            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 2.88/1.59           => ( ~ ( Is_empty @ T2 )
% 2.88/1.59             => ( ( ( product_Pair @ A @ B @ M @ T4 )
% 2.88/1.59                  = ( Remove_max @ T2 ) )
% 2.88/1.59               => ( M
% 2.88/1.59                  = ( val @ A @ ( As_tree @ T2 ) ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_36_is__heap_Osimps_I6_J,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [V: A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 2.88/1.59            ( ( is_heap @ A @ ( t @ A @ V @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.88/1.59            = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 2.88/1.59              & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) )
% 2.88/1.59              & ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V )
% 2.88/1.59              & ( is_heap @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_37_is__heap_Osimps_I5_J,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [V: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A] :
% 2.88/1.59            ( ( is_heap @ A @ ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 2.88/1.59            = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V )
% 2.88/1.59              & ( is_heap @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) )
% 2.88/1.59              & ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 2.88/1.59              & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_38_is__heap__max,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [V: A,T2: tree @ A] :
% 2.88/1.59            ( ( in_tree @ A @ V @ T2 )
% 2.88/1.59           => ( ( is_heap @ A @ T2 )
% 2.88/1.59             => ( ord_less_eq @ A @ V @ ( val @ A @ T2 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_39_val_Osimps,axiom,
% 2.88/1.59      ! [A: $tType,V: A,Uu: tree @ A,Uv: tree @ A] :
% 2.88/1.59        ( ( val @ A @ ( t @ A @ V @ Uu @ Uv ) )
% 2.88/1.59        = V ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_40_is__heap_Osimps_I4_J,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [V: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 2.88/1.59            ( ( is_heap @ A @ ( t @ A @ V @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 2.88/1.59            = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 2.88/1.59              & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_41_is__heap_Osimps_I3_J,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [V: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 2.88/1.59            ( ( is_heap @ A @ ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 2.88/1.59            = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V )
% 2.88/1.59              & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_42_Tree_Osimps_I7_J,axiom,
% 2.88/1.59      ! [C: $tType,A: $tType,F1: C,F2: A > ( tree @ A ) > ( tree @ A ) > C > C > C,X21: A,X22: tree @ A,X23: tree @ A] :
% 2.88/1.59        ( ( rec_Tree @ C @ A @ F1 @ F2 @ ( t @ A @ X21 @ X22 @ X23 ) )
% 2.88/1.59        = ( F2 @ X21 @ X22 @ X23 @ ( rec_Tree @ C @ A @ F1 @ F2 @ X22 ) @ ( rec_Tree @ C @ A @ F1 @ F2 @ X23 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_43_old_Oprod_Oinject,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType,A2: A,B2: B,A3: A,B3: B] :
% 2.88/1.59        ( ( ( product_Pair @ A @ B @ A2 @ B2 )
% 2.88/1.59          = ( product_Pair @ A @ B @ A3 @ B3 ) )
% 2.88/1.59        = ( ( A2 = A3 )
% 2.88/1.59          & ( B2 = B3 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_44_prod_Oinject,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType,X12: A,X24: B,Y1: A,Y2: B] :
% 2.88/1.59        ( ( ( product_Pair @ A @ B @ X12 @ X24 )
% 2.88/1.59          = ( product_Pair @ A @ B @ Y1 @ Y2 ) )
% 2.88/1.59        = ( ( X12 = Y1 )
% 2.88/1.59          & ( X24 = Y2 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_45_mem__Collect__eq,axiom,
% 2.88/1.59      ! [A: $tType,A2: A,P: A > $o] :
% 2.88/1.59        ( ( member @ A @ A2 @ ( collect @ A @ P ) )
% 2.88/1.59        = ( P @ A2 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_46_Collect__mem__eq,axiom,
% 2.88/1.59      ! [A: $tType,A4: set @ A] :
% 2.88/1.59        ( ( collect @ A
% 2.88/1.59          @ ^ [X4: A] : ( member @ A @ X4 @ A4 ) )
% 2.88/1.59        = A4 ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_47_Collect__cong,axiom,
% 2.88/1.59      ! [A: $tType,P: A > $o,Q: A > $o] :
% 2.88/1.59        ( ! [X5: A] :
% 2.88/1.59            ( ( P @ X5 )
% 2.88/1.59            = ( Q @ X5 ) )
% 2.88/1.59       => ( ( collect @ A @ P )
% 2.88/1.59          = ( collect @ A @ Q ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_48_ext,axiom,
% 2.88/1.59      ! [B: $tType,A: $tType,F: A > B,G: A > B] :
% 2.88/1.59        ( ! [X5: A] :
% 2.88/1.59            ( ( F @ X5 )
% 2.88/1.59            = ( G @ X5 ) )
% 2.88/1.59       => ( F = G ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_49_order__refl,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( preorder @ A )
% 2.88/1.59       => ! [X: A] : ( ord_less_eq @ A @ X @ X ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_50_Heap__axioms_Ointro,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [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.88/1.59            ( ! [L4: B] :
% 2.88/1.59                ( ( Multiset @ L4 )
% 2.88/1.59                = ( multiset2 @ A @ ( As_tree @ L4 ) ) )
% 2.88/1.59           => ( ! [I2: list @ A] : ( is_heap @ A @ ( As_tree @ ( Of_list @ I2 ) ) )
% 2.88/1.59             => ( ! [T5: B] :
% 2.88/1.59                    ( ( ( As_tree @ T5 )
% 2.88/1.59                      = ( e @ A ) )
% 2.88/1.59                    = ( Is_empty @ T5 ) )
% 2.88/1.59               => ( ! [L4: B,M2: A,L3: B] :
% 2.88/1.59                      ( ~ ( Is_empty @ L4 )
% 2.88/1.59                     => ( ( ( product_Pair @ A @ B @ M2 @ L3 )
% 2.88/1.59                          = ( Remove_max @ L4 ) )
% 2.88/1.59                       => ( ( add_mset @ A @ M2 @ ( Multiset @ L3 ) )
% 2.88/1.59                          = ( Multiset @ L4 ) ) ) )
% 2.88/1.59                 => ( ! [L4: B,M2: A,L3: B] :
% 2.88/1.59                        ( ~ ( Is_empty @ L4 )
% 2.88/1.59                       => ( ( is_heap @ A @ ( As_tree @ L4 ) )
% 2.88/1.59                         => ( ( ( product_Pair @ A @ B @ M2 @ L3 )
% 2.88/1.59                              = ( Remove_max @ L4 ) )
% 2.88/1.59                           => ( is_heap @ A @ ( As_tree @ L3 ) ) ) ) )
% 2.88/1.59                   => ( ! [T5: B,M2: A,T6: B] :
% 2.88/1.59                          ( ~ ( Is_empty @ T5 )
% 2.88/1.59                         => ( ( ( product_Pair @ A @ B @ M2 @ T6 )
% 2.88/1.59                              = ( Remove_max @ T5 ) )
% 2.88/1.59                           => ( M2
% 2.88/1.59                              = ( val @ A @ ( As_tree @ T5 ) ) ) ) )
% 2.88/1.59                     => ( heap_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max ) ) ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_51_Heap__axioms__def,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ( ( heap_axioms @ B @ A )
% 2.88/1.59          = ( ^ [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.88/1.59                ( ! [L5: B] :
% 2.88/1.59                    ( ( Multiset2 @ L5 )
% 2.88/1.59                    = ( multiset2 @ A @ ( As_tree2 @ L5 ) ) )
% 2.88/1.59                & ! [I3: list @ A] : ( is_heap @ A @ ( As_tree2 @ ( Of_list2 @ I3 ) ) )
% 2.88/1.59                & ! [T3: B] :
% 2.88/1.59                    ( ( ( As_tree2 @ T3 )
% 2.88/1.59                      = ( e @ A ) )
% 2.88/1.59                    = ( Is_empty2 @ T3 ) )
% 2.88/1.59                & ! [L5: B,M3: A,L6: B] :
% 2.88/1.59                    ( ~ ( Is_empty2 @ L5 )
% 2.88/1.59                   => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 2.88/1.59                        = ( Remove_max2 @ L5 ) )
% 2.88/1.59                     => ( ( add_mset @ A @ M3 @ ( Multiset2 @ L6 ) )
% 2.88/1.59                        = ( Multiset2 @ L5 ) ) ) )
% 2.88/1.59                & ! [L5: B,M3: A,L6: B] :
% 2.88/1.59                    ( ~ ( Is_empty2 @ L5 )
% 2.88/1.59                   => ( ( is_heap @ A @ ( As_tree2 @ L5 ) )
% 2.88/1.59                     => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 2.88/1.59                          = ( Remove_max2 @ L5 ) )
% 2.88/1.59                       => ( is_heap @ A @ ( As_tree2 @ L6 ) ) ) ) )
% 2.88/1.59                & ! [T3: B,M3: A,T7: B] :
% 2.88/1.59                    ( ~ ( Is_empty2 @ T3 )
% 2.88/1.59                   => ( ( ( product_Pair @ A @ B @ M3 @ T7 )
% 2.88/1.59                        = ( Remove_max2 @ T3 ) )
% 2.88/1.59                     => ( M3
% 2.88/1.59                        = ( val @ A @ ( As_tree2 @ T3 ) ) ) ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_52_Heap_Ointro,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [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.88/1.59            ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 2.88/1.59           => ( ( heap_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 2.88/1.59             => ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_53_Heap__def,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ( ( heap @ B @ A )
% 2.88/1.59          = ( ^ [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.88/1.59                ( ( collection @ B @ A @ Empty2 @ Is_empty2 @ Of_list2 @ Multiset2 )
% 2.88/1.59                & ( heap_axioms @ B @ A @ Is_empty2 @ Of_list2 @ Multiset2 @ As_tree2 @ Remove_max2 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_54_heap__top__geq,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [A2: A,T2: tree @ A] :
% 2.88/1.59            ( ( member @ A @ A2 @ ( set_mset @ A @ ( multiset2 @ A @ T2 ) ) )
% 2.88/1.59           => ( ( is_heap @ A @ T2 )
% 2.88/1.59             => ( ord_less_eq @ A @ A2 @ ( val @ A @ T2 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_55_relChain__def,axiom,
% 2.88/1.59      ! [B: $tType,A: $tType] :
% 2.88/1.59        ( ( ord @ B )
% 2.88/1.59       => ( ( bNF_Ca1785829860lChain @ A @ B )
% 2.88/1.59          = ( ^ [R3: set @ ( product_prod @ A @ A ),As: A > B] :
% 2.88/1.59              ! [I3: A,J: A] :
% 2.88/1.59                ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ I3 @ J ) @ R3 )
% 2.88/1.59               => ( ord_less_eq @ B @ ( As @ I3 ) @ ( As @ J ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_56_Heap_Oaxioms_I1_J,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [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.88/1.59            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 2.88/1.59           => ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_57_Heap_Oremove__max__multiset_H,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [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,L2: B] :
% 2.88/1.59            ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 2.88/1.59           => ( ~ ( Is_empty @ L )
% 2.88/1.59             => ( ( ( product_Pair @ A @ B @ M @ L2 )
% 2.88/1.59                  = ( Remove_max @ L ) )
% 2.88/1.59               => ( ( add_mset @ A @ M @ ( Multiset @ L2 ) )
% 2.88/1.59                  = ( Multiset @ L ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_58_le__funD,axiom,
% 2.88/1.59      ! [B: $tType,A: $tType] :
% 2.88/1.59        ( ( ord @ B )
% 2.88/1.59       => ! [F: A > B,G: A > B,X: A] :
% 2.88/1.59            ( ( ord_less_eq @ ( A > B ) @ F @ G )
% 2.88/1.59           => ( ord_less_eq @ B @ ( F @ X ) @ ( G @ X ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_59_le__funE,axiom,
% 2.88/1.59      ! [B: $tType,A: $tType] :
% 2.88/1.59        ( ( ord @ B )
% 2.88/1.59       => ! [F: A > B,G: A > B,X: A] :
% 2.88/1.59            ( ( ord_less_eq @ ( A > B ) @ F @ G )
% 2.88/1.59           => ( ord_less_eq @ B @ ( F @ X ) @ ( G @ X ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_60_le__funI,axiom,
% 2.88/1.59      ! [B: $tType,A: $tType] :
% 2.88/1.59        ( ( ord @ B )
% 2.88/1.59       => ! [F: A > B,G: A > B] :
% 2.88/1.59            ( ! [X5: A] : ( ord_less_eq @ B @ ( F @ X5 ) @ ( G @ X5 ) )
% 2.88/1.59           => ( ord_less_eq @ ( A > B ) @ F @ G ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_61_le__fun__def,axiom,
% 2.88/1.59      ! [B: $tType,A: $tType] :
% 2.88/1.59        ( ( ord @ B )
% 2.88/1.59       => ( ( ord_less_eq @ ( A > B ) )
% 2.88/1.59          = ( ^ [F3: A > B,G2: A > B] :
% 2.88/1.59              ! [X4: A] : ( ord_less_eq @ B @ ( F3 @ X4 ) @ ( G2 @ X4 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_62_order__subst1,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( ( order @ B )
% 2.88/1.59          & ( order @ A ) )
% 2.88/1.59       => ! [A2: A,F: B > A,B2: B,C2: B] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ ( F @ B2 ) )
% 2.88/1.59           => ( ( ord_less_eq @ B @ B2 @ C2 )
% 2.88/1.59             => ( ! [X5: B,Y3: B] :
% 2.88/1.59                    ( ( ord_less_eq @ B @ X5 @ Y3 )
% 2.88/1.59                   => ( ord_less_eq @ A @ ( F @ X5 ) @ ( F @ Y3 ) ) )
% 2.88/1.59               => ( ord_less_eq @ A @ A2 @ ( F @ C2 ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_63_order__subst2,axiom,
% 2.88/1.59      ! [A: $tType,C: $tType] :
% 2.88/1.59        ( ( ( order @ C )
% 2.88/1.59          & ( order @ A ) )
% 2.88/1.59       => ! [A2: A,B2: A,F: A > C,C2: C] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ( ord_less_eq @ C @ ( F @ B2 ) @ C2 )
% 2.88/1.59             => ( ! [X5: A,Y3: A] :
% 2.88/1.59                    ( ( ord_less_eq @ A @ X5 @ Y3 )
% 2.88/1.59                   => ( ord_less_eq @ C @ ( F @ X5 ) @ ( F @ Y3 ) ) )
% 2.88/1.59               => ( ord_less_eq @ C @ ( F @ A2 ) @ C2 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_64_ord__eq__le__subst,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( ( ord @ B )
% 2.88/1.59          & ( ord @ A ) )
% 2.88/1.59       => ! [A2: A,F: B > A,B2: B,C2: B] :
% 2.88/1.59            ( ( A2
% 2.88/1.59              = ( F @ B2 ) )
% 2.88/1.59           => ( ( ord_less_eq @ B @ B2 @ C2 )
% 2.88/1.59             => ( ! [X5: B,Y3: B] :
% 2.88/1.59                    ( ( ord_less_eq @ B @ X5 @ Y3 )
% 2.88/1.59                   => ( ord_less_eq @ A @ ( F @ X5 ) @ ( F @ Y3 ) ) )
% 2.88/1.59               => ( ord_less_eq @ A @ A2 @ ( F @ C2 ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_65_ord__le__eq__subst,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( ( ord @ B )
% 2.88/1.59          & ( ord @ A ) )
% 2.88/1.59       => ! [A2: A,B2: A,F: A > B,C2: B] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ( ( F @ B2 )
% 2.88/1.59                = C2 )
% 2.88/1.59             => ( ! [X5: A,Y3: A] :
% 2.88/1.59                    ( ( ord_less_eq @ A @ X5 @ Y3 )
% 2.88/1.59                   => ( ord_less_eq @ B @ ( F @ X5 ) @ ( F @ Y3 ) ) )
% 2.88/1.59               => ( ord_less_eq @ B @ ( F @ A2 ) @ C2 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_66_eq__iff,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( order @ A )
% 2.88/1.59       => ( ( ^ [Y4: A,Z: A] : ( Y4 = Z ) )
% 2.88/1.59          = ( ^ [X4: A,Y5: A] :
% 2.88/1.59                ( ( ord_less_eq @ A @ X4 @ Y5 )
% 2.88/1.59                & ( ord_less_eq @ A @ Y5 @ X4 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_67_antisym,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( order @ A )
% 2.88/1.59       => ! [X: A,Y: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ X @ Y )
% 2.88/1.59           => ( ( ord_less_eq @ A @ Y @ X )
% 2.88/1.59             => ( X = Y ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_68_linear,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [X: A,Y: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ X @ Y )
% 2.88/1.59            | ( ord_less_eq @ A @ Y @ X ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_69_eq__refl,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( preorder @ A )
% 2.88/1.59       => ! [X: A,Y: A] :
% 2.88/1.59            ( ( X = Y )
% 2.88/1.59           => ( ord_less_eq @ A @ X @ Y ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_70_le__cases,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [X: A,Y: A] :
% 2.88/1.59            ( ~ ( ord_less_eq @ A @ X @ Y )
% 2.88/1.59           => ( ord_less_eq @ A @ Y @ X ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_71_order_Otrans,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( order @ A )
% 2.88/1.59       => ! [A2: A,B2: A,C2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ( ord_less_eq @ A @ B2 @ C2 )
% 2.88/1.59             => ( ord_less_eq @ A @ A2 @ C2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_72_le__cases3,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [X: A,Y: A,Z2: A] :
% 2.88/1.59            ( ( ( ord_less_eq @ A @ X @ Y )
% 2.88/1.59             => ~ ( ord_less_eq @ A @ Y @ Z2 ) )
% 2.88/1.59           => ( ( ( ord_less_eq @ A @ Y @ X )
% 2.88/1.59               => ~ ( ord_less_eq @ A @ X @ Z2 ) )
% 2.88/1.59             => ( ( ( ord_less_eq @ A @ X @ Z2 )
% 2.88/1.59                 => ~ ( ord_less_eq @ A @ Z2 @ Y ) )
% 2.88/1.59               => ( ( ( ord_less_eq @ A @ Z2 @ Y )
% 2.88/1.59                   => ~ ( ord_less_eq @ A @ Y @ X ) )
% 2.88/1.59                 => ( ( ( ord_less_eq @ A @ Y @ Z2 )
% 2.88/1.59                     => ~ ( ord_less_eq @ A @ Z2 @ X ) )
% 2.88/1.59                   => ~ ( ( ord_less_eq @ A @ Z2 @ X )
% 2.88/1.59                       => ~ ( ord_less_eq @ A @ X @ Y ) ) ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_73_antisym__conv,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( order @ A )
% 2.88/1.59       => ! [Y: A,X: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ Y @ X )
% 2.88/1.59           => ( ( ord_less_eq @ A @ X @ Y )
% 2.88/1.59              = ( X = Y ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_74_order__class_Oorder_Oeq__iff,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( order @ A )
% 2.88/1.59       => ( ( ^ [Y4: A,Z: A] : ( Y4 = Z ) )
% 2.88/1.59          = ( ^ [A5: A,B4: A] :
% 2.88/1.59                ( ( ord_less_eq @ A @ A5 @ B4 )
% 2.88/1.59                & ( ord_less_eq @ A @ B4 @ A5 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_75_ord__eq__le__trans,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ord @ A )
% 2.88/1.59       => ! [A2: A,B2: A,C2: A] :
% 2.88/1.59            ( ( A2 = B2 )
% 2.88/1.59           => ( ( ord_less_eq @ A @ B2 @ C2 )
% 2.88/1.59             => ( ord_less_eq @ A @ A2 @ C2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_76_ord__le__eq__trans,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ord @ A )
% 2.88/1.59       => ! [A2: A,B2: A,C2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ( B2 = C2 )
% 2.88/1.59             => ( ord_less_eq @ A @ A2 @ C2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_77_order__class_Oorder_Oantisym,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( order @ A )
% 2.88/1.59       => ! [A2: A,B2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ( ord_less_eq @ A @ B2 @ A2 )
% 2.88/1.59             => ( A2 = B2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_78_order__trans,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( preorder @ A )
% 2.88/1.59       => ! [X: A,Y: A,Z2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ X @ Y )
% 2.88/1.59           => ( ( ord_less_eq @ A @ Y @ Z2 )
% 2.88/1.59             => ( ord_less_eq @ A @ X @ Z2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_79_dual__order_Orefl,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( order @ A )
% 2.88/1.59       => ! [A2: A] : ( ord_less_eq @ A @ A2 @ A2 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_80_linorder__wlog,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [P: A > A > $o,A2: A,B2: A] :
% 2.88/1.59            ( ! [A6: A,B5: A] :
% 2.88/1.59                ( ( ord_less_eq @ A @ A6 @ B5 )
% 2.88/1.59               => ( P @ A6 @ B5 ) )
% 2.88/1.59           => ( ! [A6: A,B5: A] :
% 2.88/1.59                  ( ( P @ B5 @ A6 )
% 2.88/1.59                 => ( P @ A6 @ B5 ) )
% 2.88/1.59             => ( P @ A2 @ B2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_81_dual__order_Otrans,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( order @ A )
% 2.88/1.59       => ! [B2: A,A2: A,C2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ B2 @ A2 )
% 2.88/1.59           => ( ( ord_less_eq @ A @ C2 @ B2 )
% 2.88/1.59             => ( ord_less_eq @ A @ C2 @ A2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_82_dual__order_Oeq__iff,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( order @ A )
% 2.88/1.59       => ( ( ^ [Y4: A,Z: A] : ( Y4 = Z ) )
% 2.88/1.59          = ( ^ [A5: A,B4: A] :
% 2.88/1.59                ( ( ord_less_eq @ A @ B4 @ A5 )
% 2.88/1.59                & ( ord_less_eq @ A @ A5 @ B4 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_83_dual__order_Oantisym,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( order @ A )
% 2.88/1.59       => ! [B2: A,A2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ B2 @ A2 )
% 2.88/1.59           => ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59             => ( A2 = B2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_84_surj__pair,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType,P2: product_prod @ A @ B] :
% 2.88/1.59      ? [X5: A,Y3: B] :
% 2.88/1.59        ( P2
% 2.88/1.59        = ( product_Pair @ A @ B @ X5 @ Y3 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_85_prod__cases,axiom,
% 2.88/1.59      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P2: product_prod @ A @ B] :
% 2.88/1.59        ( ! [A6: A,B5: B] : ( P @ ( product_Pair @ A @ B @ A6 @ B5 ) )
% 2.88/1.59       => ( P @ P2 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_86_Pair__inject,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType,A2: A,B2: B,A3: A,B3: B] :
% 2.88/1.59        ( ( ( product_Pair @ A @ B @ A2 @ B2 )
% 2.88/1.59          = ( product_Pair @ A @ B @ A3 @ B3 ) )
% 2.88/1.59       => ~ ( ( A2 = A3 )
% 2.88/1.59           => ( B2 != B3 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_87_prod__cases3,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType,C: $tType,Y: product_prod @ A @ ( product_prod @ B @ C )] :
% 2.88/1.59        ~ ! [A6: A,B5: B,C3: C] :
% 2.88/1.59            ( Y
% 2.88/1.59           != ( product_Pair @ A @ ( product_prod @ B @ C ) @ A6 @ ( product_Pair @ B @ C @ B5 @ C3 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_88_prod__cases4,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType,C: $tType,D: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
% 2.88/1.59        ~ ! [A6: A,B5: B,C3: C,D2: D] :
% 2.88/1.59            ( Y
% 2.88/1.59           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B5 @ ( product_Pair @ C @ D @ C3 @ D2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_89_prod__cases5,axiom,
% 2.88/1.59      ! [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.88/1.59        ~ ! [A6: A,B5: B,C3: C,D2: D,E2: E] :
% 2.88/1.59            ( Y
% 2.88/1.59           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C3 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_90_prod__cases6,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F4: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F4 ) ) ) )] :
% 2.88/1.59        ~ ! [A6: A,B5: B,C3: C,D2: D,E2: E,F5: F4] :
% 2.88/1.59            ( Y
% 2.88/1.59           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F4 ) ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F4 ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F4 ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ F4 ) @ D2 @ ( product_Pair @ E @ F4 @ E2 @ F5 ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_91_prod__cases7,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F4: $tType,G3: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) ) ) )] :
% 2.88/1.59        ~ ! [A6: A,B5: B,C3: C,D2: D,E2: E,F5: F4,G4: G3] :
% 2.88/1.59            ( Y
% 2.88/1.59           != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F4 @ G3 ) @ E2 @ ( product_Pair @ F4 @ G3 @ F5 @ G4 ) ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_92_prod__induct3,axiom,
% 2.88/1.59      ! [C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ C )] :
% 2.88/1.59        ( ! [A6: A,B5: B,C3: C] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A6 @ ( product_Pair @ B @ C @ B5 @ C3 ) ) )
% 2.88/1.59       => ( P @ X ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_93_prod__induct4,axiom,
% 2.88/1.59      ! [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.88/1.59        ( ! [A6: A,B5: B,C3: C,D2: D] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B5 @ ( product_Pair @ C @ D @ C3 @ D2 ) ) ) )
% 2.88/1.59       => ( P @ X ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_94_prod__induct5,axiom,
% 2.88/1.59      ! [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.88/1.59        ( ! [A6: A,B5: B,C3: C,D2: D,E2: E] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C3 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) )
% 2.88/1.59       => ( P @ X ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_95_prod__induct6,axiom,
% 2.88/1.59      ! [F4: $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 @ F4 ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F4 ) ) ) )] :
% 2.88/1.59        ( ! [A6: A,B5: B,C3: C,D2: D,E2: E,F5: F4] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F4 ) ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F4 ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F4 ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ F4 ) @ D2 @ ( product_Pair @ E @ F4 @ E2 @ F5 ) ) ) ) ) )
% 2.88/1.59       => ( P @ X ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_96_prod__induct7,axiom,
% 2.88/1.59      ! [G3: $tType,F4: $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 @ F4 @ G3 ) ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) ) ) )] :
% 2.88/1.59        ( ! [A6: A,B5: B,C3: C,D2: D,E2: E,F5: F4,G4: G3] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) ) ) ) @ A6 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) ) ) @ B5 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F4 @ G3 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F4 @ G3 ) @ E2 @ ( product_Pair @ F4 @ G3 @ F5 @ G4 ) ) ) ) ) ) )
% 2.88/1.59       => ( P @ X ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_97_old_Oprod_Oexhaust,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType,Y: product_prod @ A @ B] :
% 2.88/1.59        ~ ! [A6: A,B5: B] :
% 2.88/1.59            ( Y
% 2.88/1.59           != ( product_Pair @ A @ B @ A6 @ B5 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_98_old_Oprod_Oinducts,axiom,
% 2.88/1.59      ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
% 2.88/1.59        ( ! [A6: A,B5: B] : ( P @ ( product_Pair @ A @ B @ A6 @ B5 ) )
% 2.88/1.59       => ( P @ Prod ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_99_old_Oprod_Orec,axiom,
% 2.88/1.59      ! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A2: A,B2: B] :
% 2.88/1.59        ( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 2.88/1.59        = ( F1 @ A2 @ B2 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_100_add__mset__add__mset__same__iff,axiom,
% 2.88/1.59      ! [A: $tType,A2: A,A4: multiset @ A,B6: multiset @ A] :
% 2.88/1.59        ( ( ( add_mset @ A @ A2 @ A4 )
% 2.88/1.59          = ( add_mset @ A @ A2 @ B6 ) )
% 2.88/1.59        = ( A4 = B6 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_101_multi__self__add__other__not__self,axiom,
% 2.88/1.59      ! [A: $tType,M4: multiset @ A,X: A] :
% 2.88/1.59        ( M4
% 2.88/1.59       != ( add_mset @ A @ X @ M4 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_102_mset__add,axiom,
% 2.88/1.59      ! [A: $tType,A2: A,A4: multiset @ A] :
% 2.88/1.59        ( ( member @ A @ A2 @ ( set_mset @ A @ A4 ) )
% 2.88/1.59       => ~ ! [B7: multiset @ A] :
% 2.88/1.59              ( A4
% 2.88/1.59             != ( add_mset @ A @ A2 @ B7 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_103_multi__member__split,axiom,
% 2.88/1.59      ! [A: $tType,X: A,M4: multiset @ A] :
% 2.88/1.59        ( ( member @ A @ X @ ( set_mset @ A @ M4 ) )
% 2.88/1.59       => ? [A7: multiset @ A] :
% 2.88/1.59            ( M4
% 2.88/1.59            = ( add_mset @ A @ X @ A7 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_104_insert__noteq__member,axiom,
% 2.88/1.59      ! [A: $tType,B2: A,B6: multiset @ A,C2: A,C4: multiset @ A] :
% 2.88/1.59        ( ( ( add_mset @ A @ B2 @ B6 )
% 2.88/1.59          = ( add_mset @ A @ C2 @ C4 ) )
% 2.88/1.59       => ( ( B2 != C2 )
% 2.88/1.59         => ( member @ A @ C2 @ ( set_mset @ A @ B6 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_105_union__single__eq__member,axiom,
% 2.88/1.59      ! [A: $tType,X: A,M4: multiset @ A,N: multiset @ A] :
% 2.88/1.59        ( ( ( add_mset @ A @ X @ M4 )
% 2.88/1.59          = N )
% 2.88/1.59       => ( member @ A @ X @ ( set_mset @ A @ N ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_106_heap__top__max,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [T2: tree @ A] :
% 2.88/1.59            ( ( T2
% 2.88/1.59             != ( e @ A ) )
% 2.88/1.59           => ( ( is_heap @ A @ T2 )
% 2.88/1.59             => ( ( val @ A @ T2 )
% 2.88/1.59                = ( lattic929149872er_Max @ A @ ( set_mset @ A @ ( multiset2 @ A @ T2 ) ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_107_add__mset__commute,axiom,
% 2.88/1.59      ! [A: $tType,X: A,Y: A,M4: multiset @ A] :
% 2.88/1.59        ( ( add_mset @ A @ X @ ( add_mset @ A @ Y @ M4 ) )
% 2.88/1.59        = ( add_mset @ A @ Y @ ( add_mset @ A @ X @ M4 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_108_add__eq__conv__ex,axiom,
% 2.88/1.59      ! [A: $tType,A2: A,M4: multiset @ A,B2: A,N: multiset @ A] :
% 2.88/1.59        ( ( ( add_mset @ A @ A2 @ M4 )
% 2.88/1.59          = ( add_mset @ A @ B2 @ N ) )
% 2.88/1.59        = ( ( ( M4 = N )
% 2.88/1.59            & ( A2 = B2 ) )
% 2.88/1.59          | ? [K: multiset @ A] :
% 2.88/1.59              ( ( M4
% 2.88/1.59                = ( add_mset @ A @ B2 @ K ) )
% 2.88/1.59              & ( N
% 2.88/1.59                = ( add_mset @ A @ A2 @ K ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_109_internal__case__prod__conv,axiom,
% 2.88/1.59      ! [B: $tType,A: $tType,C: $tType,C2: B > C > A,A2: B,B2: C] :
% 2.88/1.59        ( ( produc2004651681e_prod @ B @ C @ A @ C2 @ ( product_Pair @ B @ C @ A2 @ B2 ) )
% 2.88/1.59        = ( C2 @ A2 @ B2 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_110_Collection_Ois__empty__empty,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType,Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A )] :
% 2.88/1.59        ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 2.88/1.59       => ( Is_empty @ Empty ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_111_Collection_Ois__empty__inj,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType,Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),E3: B] :
% 2.88/1.59        ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 2.88/1.59       => ( ( Is_empty @ E3 )
% 2.88/1.59         => ( E3 = Empty ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_112_Greatest__equality,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( order @ A )
% 2.88/1.59       => ! [P: A > $o,X: A] :
% 2.88/1.59            ( ( P @ X )
% 2.88/1.59           => ( ! [Y3: A] :
% 2.88/1.59                  ( ( P @ Y3 )
% 2.88/1.59                 => ( ord_less_eq @ A @ Y3 @ X ) )
% 2.88/1.59             => ( ( order_Greatest @ A @ P )
% 2.88/1.59                = X ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_113_GreatestI2__order,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( order @ A )
% 2.88/1.59       => ! [P: A > $o,X: A,Q: A > $o] :
% 2.88/1.59            ( ( P @ X )
% 2.88/1.59           => ( ! [Y3: A] :
% 2.88/1.59                  ( ( P @ Y3 )
% 2.88/1.59                 => ( ord_less_eq @ A @ Y3 @ X ) )
% 2.88/1.59             => ( ! [X5: A] :
% 2.88/1.59                    ( ( P @ X5 )
% 2.88/1.59                   => ( ! [Y6: A] :
% 2.88/1.59                          ( ( P @ Y6 )
% 2.88/1.59                         => ( ord_less_eq @ A @ Y6 @ X5 ) )
% 2.88/1.59                     => ( Q @ X5 ) ) )
% 2.88/1.59               => ( Q @ ( order_Greatest @ A @ P ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_114_Collection_Oset__def,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType,Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),L: B] :
% 2.88/1.59        ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 2.88/1.59       => ( ( set2 @ B @ A @ Multiset @ L )
% 2.88/1.59          = ( set_mset @ A @ ( Multiset @ L ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_115_multiset__induct__min,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [P: ( multiset @ A ) > $o,M4: multiset @ A] :
% 2.88/1.59            ( ( P @ ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59           => ( ! [X5: A,M5: multiset @ A] :
% 2.88/1.59                  ( ( P @ M5 )
% 2.88/1.59                 => ( ! [Xa: A] :
% 2.88/1.59                        ( ( member @ A @ Xa @ ( set_mset @ A @ M5 ) )
% 2.88/1.59                       => ( ord_less_eq @ A @ X5 @ Xa ) )
% 2.88/1.59                   => ( P @ ( add_mset @ A @ X5 @ M5 ) ) ) )
% 2.88/1.59             => ( P @ M4 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_116_multiset__induct__max,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [P: ( multiset @ A ) > $o,M4: multiset @ A] :
% 2.88/1.59            ( ( P @ ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59           => ( ! [X5: A,M5: multiset @ A] :
% 2.88/1.59                  ( ( P @ M5 )
% 2.88/1.59                 => ( ! [Xa: A] :
% 2.88/1.59                        ( ( member @ A @ Xa @ ( set_mset @ A @ M5 ) )
% 2.88/1.59                       => ( ord_less_eq @ A @ Xa @ X5 ) )
% 2.88/1.59                   => ( P @ ( add_mset @ A @ X5 @ M5 ) ) ) )
% 2.88/1.59             => ( P @ M4 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_117_subrelI,axiom,
% 2.88/1.59      ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),S: set @ ( product_prod @ A @ B )] :
% 2.88/1.59        ( ! [X5: A,Y3: B] :
% 2.88/1.59            ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y3 ) @ R )
% 2.88/1.59           => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y3 ) @ S ) )
% 2.88/1.59       => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R @ S ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_118_ssubst__Pair__rhs,axiom,
% 2.88/1.59      ! [B: $tType,A: $tType,R: A,S: B,R4: set @ ( product_prod @ A @ B ),S2: B] :
% 2.88/1.59        ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R @ S ) @ R4 )
% 2.88/1.59       => ( ( S2 = S )
% 2.88/1.59         => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ R @ S2 ) @ R4 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_119_add__mset__eq__singleton__iff,axiom,
% 2.88/1.59      ! [A: $tType,X: A,M4: multiset @ A,Y: A] :
% 2.88/1.59        ( ( ( add_mset @ A @ X @ M4 )
% 2.88/1.59          = ( add_mset @ A @ Y @ ( zero_zero @ ( multiset @ A ) ) ) )
% 2.88/1.59        = ( ( M4
% 2.88/1.59            = ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59          & ( X = Y ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_120_single__eq__add__mset,axiom,
% 2.88/1.59      ! [A: $tType,A2: A,B2: A,M4: multiset @ A] :
% 2.88/1.59        ( ( ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59          = ( add_mset @ A @ B2 @ M4 ) )
% 2.88/1.59        = ( ( B2 = A2 )
% 2.88/1.59          & ( M4
% 2.88/1.59            = ( zero_zero @ ( multiset @ A ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_121_add__mset__eq__single,axiom,
% 2.88/1.59      ! [A: $tType,B2: A,M4: multiset @ A,A2: A] :
% 2.88/1.59        ( ( ( add_mset @ A @ B2 @ M4 )
% 2.88/1.59          = ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) ) )
% 2.88/1.59        = ( ( B2 = A2 )
% 2.88/1.59          & ( M4
% 2.88/1.59            = ( zero_zero @ ( multiset @ A ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_122_single__eq__single,axiom,
% 2.88/1.59      ! [A: $tType,A2: A,B2: A] :
% 2.88/1.59        ( ( ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59          = ( add_mset @ A @ B2 @ ( zero_zero @ ( multiset @ A ) ) ) )
% 2.88/1.59        = ( A2 = B2 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_123_Collection_Oset_Ocong,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( set2 @ B @ A )
% 2.88/1.59        = ( set2 @ B @ A ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_124_multiset__cases,axiom,
% 2.88/1.59      ! [A: $tType,M4: multiset @ A] :
% 2.88/1.59        ( ( M4
% 2.88/1.59         != ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59       => ~ ! [X5: A,N2: multiset @ A] :
% 2.88/1.59              ( M4
% 2.88/1.59             != ( add_mset @ A @ X5 @ N2 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_125_multiset__induct,axiom,
% 2.88/1.59      ! [A: $tType,P: ( multiset @ A ) > $o,M4: multiset @ A] :
% 2.88/1.59        ( ( P @ ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59       => ( ! [X5: A,M5: multiset @ A] :
% 2.88/1.59              ( ( P @ M5 )
% 2.88/1.59             => ( P @ ( add_mset @ A @ X5 @ M5 ) ) )
% 2.88/1.59         => ( P @ M4 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_126_multiset__induct2,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType,P: ( multiset @ A ) > ( multiset @ B ) > $o,M4: multiset @ A,N: multiset @ B] :
% 2.88/1.59        ( ( P @ ( zero_zero @ ( multiset @ A ) ) @ ( zero_zero @ ( multiset @ B ) ) )
% 2.88/1.59       => ( ! [A6: A,M5: multiset @ A,N2: multiset @ B] :
% 2.88/1.59              ( ( P @ M5 @ N2 )
% 2.88/1.59             => ( P @ ( add_mset @ A @ A6 @ M5 ) @ N2 ) )
% 2.88/1.59         => ( ! [A6: B,M5: multiset @ A,N2: multiset @ B] :
% 2.88/1.59                ( ( P @ M5 @ N2 )
% 2.88/1.59               => ( P @ M5 @ ( add_mset @ B @ A6 @ N2 ) ) )
% 2.88/1.59           => ( P @ M4 @ N ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_127_empty__not__add__mset,axiom,
% 2.88/1.59      ! [A: $tType,A2: A,A4: multiset @ A] :
% 2.88/1.59        ( ( zero_zero @ ( multiset @ A ) )
% 2.88/1.59       != ( add_mset @ A @ A2 @ A4 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_128_multi__nonempty__split,axiom,
% 2.88/1.59      ! [A: $tType,M4: multiset @ A] :
% 2.88/1.59        ( ( M4
% 2.88/1.59         != ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59       => ? [A7: multiset @ A,A6: A] :
% 2.88/1.59            ( M4
% 2.88/1.59            = ( add_mset @ A @ A6 @ A7 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_129_multiset__nonemptyE,axiom,
% 2.88/1.59      ! [A: $tType,A4: multiset @ A] :
% 2.88/1.59        ( ( A4
% 2.88/1.59         != ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59       => ~ ! [X5: A] :
% 2.88/1.59              ~ ( member @ A @ X5 @ ( set_mset @ A @ A4 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_130_Collection_Omultiset__empty,axiom,
% 2.88/1.59      ! [B: $tType,A: $tType,Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A )] :
% 2.88/1.59        ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 2.88/1.59       => ( ( Multiset @ Empty )
% 2.88/1.59          = ( zero_zero @ ( multiset @ A ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_131_Collection_Ois__empty__as__list,axiom,
% 2.88/1.59      ! [B: $tType,A: $tType,Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),E3: B] :
% 2.88/1.59        ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 2.88/1.59       => ( ( Is_empty @ E3 )
% 2.88/1.59         => ( ( Multiset @ E3 )
% 2.88/1.59            = ( zero_zero @ ( multiset @ A ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_132_multi__member__last,axiom,
% 2.88/1.59      ! [A: $tType,X: A] : ( member @ A @ X @ ( set_mset @ A @ ( add_mset @ A @ X @ ( zero_zero @ ( multiset @ A ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_133_multiset_Osimps_I1_J,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( multiset2 @ A @ ( e @ A ) )
% 2.88/1.59        = ( zero_zero @ ( multiset @ A ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_134_le__zero__eq,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( canoni770627133id_add @ A )
% 2.88/1.59       => ! [N3: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ N3 @ ( zero_zero @ A ) )
% 2.88/1.59            = ( N3
% 2.88/1.59              = ( zero_zero @ A ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_135_RemoveMax__axioms_Ointro,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [Inv: B > $o,Of_list: ( list @ A ) > B,Is_empty: B > $o,Remove_max: B > ( product_prod @ A @ B ),Multiset: B > ( multiset @ A )] :
% 2.88/1.59            ( ! [X5: list @ A] : ( Inv @ ( Of_list @ X5 ) )
% 2.88/1.59           => ( ! [L4: B,M2: A,L3: B] :
% 2.88/1.59                  ( ~ ( Is_empty @ L4 )
% 2.88/1.59                 => ( ( Inv @ L4 )
% 2.88/1.59                   => ( ( ( product_Pair @ A @ B @ M2 @ L3 )
% 2.88/1.59                        = ( Remove_max @ L4 ) )
% 2.88/1.59                     => ( M2
% 2.88/1.59                        = ( lattic929149872er_Max @ A @ ( set2 @ B @ A @ Multiset @ L4 ) ) ) ) ) )
% 2.88/1.59             => ( ! [L4: B,M2: A,L3: B] :
% 2.88/1.59                    ( ~ ( Is_empty @ L4 )
% 2.88/1.59                   => ( ( Inv @ L4 )
% 2.88/1.59                     => ( ( ( product_Pair @ A @ B @ M2 @ L3 )
% 2.88/1.59                          = ( Remove_max @ L4 ) )
% 2.88/1.59                       => ( ( add_mset @ A @ M2 @ ( Multiset @ L3 ) )
% 2.88/1.59                          = ( Multiset @ L4 ) ) ) ) )
% 2.88/1.59               => ( ! [L4: B,M2: A,L3: B] :
% 2.88/1.59                      ( ~ ( Is_empty @ L4 )
% 2.88/1.59                     => ( ( Inv @ L4 )
% 2.88/1.59                       => ( ( ( product_Pair @ A @ B @ M2 @ L3 )
% 2.88/1.59                            = ( Remove_max @ L4 ) )
% 2.88/1.59                         => ( Inv @ L3 ) ) ) )
% 2.88/1.59                 => ( removeMax_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_136_RemoveMax__axioms__def,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ( ( removeMax_axioms @ B @ A )
% 2.88/1.59          = ( ^ [Is_empty2: B > $o,Of_list2: ( list @ A ) > B,Multiset2: B > ( multiset @ A ),Remove_max2: B > ( product_prod @ A @ B ),Inv2: B > $o] :
% 2.88/1.59                ( ! [X4: list @ A] : ( Inv2 @ ( Of_list2 @ X4 ) )
% 2.88/1.59                & ! [L5: B,M3: A,L6: B] :
% 2.88/1.59                    ( ~ ( Is_empty2 @ L5 )
% 2.88/1.59                   => ( ( Inv2 @ L5 )
% 2.88/1.59                     => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 2.88/1.59                          = ( Remove_max2 @ L5 ) )
% 2.88/1.59                       => ( M3
% 2.88/1.59                          = ( lattic929149872er_Max @ A @ ( set2 @ B @ A @ Multiset2 @ L5 ) ) ) ) ) )
% 2.88/1.59                & ! [L5: B,M3: A,L6: B] :
% 2.88/1.59                    ( ~ ( Is_empty2 @ L5 )
% 2.88/1.59                   => ( ( Inv2 @ L5 )
% 2.88/1.59                     => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 2.88/1.59                          = ( Remove_max2 @ L5 ) )
% 2.88/1.59                       => ( ( add_mset @ A @ M3 @ ( Multiset2 @ L6 ) )
% 2.88/1.59                          = ( Multiset2 @ L5 ) ) ) ) )
% 2.88/1.59                & ! [L5: B,M3: A,L6: B] :
% 2.88/1.59                    ( ~ ( Is_empty2 @ L5 )
% 2.88/1.59                   => ( ( Inv2 @ L5 )
% 2.88/1.59                     => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 2.88/1.59                          = ( Remove_max2 @ L5 ) )
% 2.88/1.59                       => ( Inv2 @ L6 ) ) ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_137_Multiset_Ois__empty__def,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( is_empty @ A )
% 2.88/1.59        = ( ^ [A8: multiset @ A] :
% 2.88/1.59              ( A8
% 2.88/1.59              = ( zero_zero @ ( multiset @ A ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_138_zero__le,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( canoni770627133id_add @ A )
% 2.88/1.59       => ! [X: A] : ( ord_less_eq @ A @ ( zero_zero @ A ) @ X ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_139_le__numeral__extra_I3_J,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linord1659791738miring @ A )
% 2.88/1.59       => ( ord_less_eq @ A @ ( zero_zero @ A ) @ ( zero_zero @ A ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_140_multiset_Osimps_I2_J,axiom,
% 2.88/1.59      ! [A: $tType,V: A,L: tree @ A,R: tree @ A] :
% 2.88/1.59        ( ( multiset2 @ A @ ( t @ A @ V @ L @ R ) )
% 2.88/1.59        = ( plus_plus @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) @ ( multiset2 @ A @ L ) @ ( add_mset @ A @ V @ ( zero_zero @ ( multiset @ A ) ) ) ) @ ( multiset2 @ A @ R ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_141_RemoveMax_Oremove__max__max,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),Remove_max: B > ( product_prod @ A @ B ),Inv: B > $o,L: B,M: A,L2: B] :
% 2.88/1.59            ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 2.88/1.59           => ( ~ ( Is_empty @ L )
% 2.88/1.59             => ( ( Inv @ L )
% 2.88/1.59               => ( ( ( product_Pair @ A @ B @ M @ L2 )
% 2.88/1.59                    = ( Remove_max @ L ) )
% 2.88/1.59                 => ( M
% 2.88/1.59                    = ( lattic929149872er_Max @ A @ ( set2 @ B @ A @ Multiset @ L ) ) ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_142_divides__aux__eq,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( unique1598680935umeral @ A )
% 2.88/1.59       => ! [Q2: A,R: A] :
% 2.88/1.59            ( ( unique455577585es_aux @ A @ ( product_Pair @ A @ A @ Q2 @ R ) )
% 2.88/1.59            = ( R
% 2.88/1.59              = ( zero_zero @ A ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_143_add__le__cancel__right,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere236663937imp_le @ A )
% 2.88/1.59       => ! [A2: A,C2: A,B2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ C2 ) @ ( plus_plus @ A @ B2 @ C2 ) )
% 2.88/1.59            = ( ord_less_eq @ A @ A2 @ B2 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_144_add__le__cancel__left,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere236663937imp_le @ A )
% 2.88/1.59       => ! [C2: A,A2: A,B2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ ( plus_plus @ A @ C2 @ A2 ) @ ( plus_plus @ A @ C2 @ B2 ) )
% 2.88/1.59            = ( ord_less_eq @ A @ A2 @ B2 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_145_subset__mset_Ozero__eq__add__iff__both__eq__0,axiom,
% 2.88/1.59      ! [A: $tType,X: multiset @ A,Y: multiset @ A] :
% 2.88/1.59        ( ( ( zero_zero @ ( multiset @ A ) )
% 2.88/1.59          = ( plus_plus @ ( multiset @ A ) @ X @ Y ) )
% 2.88/1.59        = ( ( X
% 2.88/1.59            = ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59          & ( Y
% 2.88/1.59            = ( zero_zero @ ( multiset @ A ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_146_subset__mset_Oadd__eq__0__iff__both__eq__0,axiom,
% 2.88/1.59      ! [A: $tType,X: multiset @ A,Y: multiset @ A] :
% 2.88/1.59        ( ( ( plus_plus @ ( multiset @ A ) @ X @ Y )
% 2.88/1.59          = ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59        = ( ( X
% 2.88/1.59            = ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59          & ( Y
% 2.88/1.59            = ( zero_zero @ ( multiset @ A ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_147_union__eq__empty,axiom,
% 2.88/1.59      ! [A: $tType,M4: multiset @ A,N: multiset @ A] :
% 2.88/1.59        ( ( ( plus_plus @ ( multiset @ A ) @ M4 @ N )
% 2.88/1.59          = ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59        = ( ( M4
% 2.88/1.59            = ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59          & ( N
% 2.88/1.59            = ( zero_zero @ ( multiset @ A ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_148_empty__eq__union,axiom,
% 2.88/1.59      ! [A: $tType,M4: multiset @ A,N: multiset @ A] :
% 2.88/1.59        ( ( ( zero_zero @ ( multiset @ A ) )
% 2.88/1.59          = ( plus_plus @ ( multiset @ A ) @ M4 @ N ) )
% 2.88/1.59        = ( ( M4
% 2.88/1.59            = ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59          & ( N
% 2.88/1.59            = ( zero_zero @ ( multiset @ A ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_149_union__mset__add__mset__right,axiom,
% 2.88/1.59      ! [A: $tType,A4: multiset @ A,A2: A,B6: multiset @ A] :
% 2.88/1.59        ( ( plus_plus @ ( multiset @ A ) @ A4 @ ( add_mset @ A @ A2 @ B6 ) )
% 2.88/1.59        = ( add_mset @ A @ A2 @ ( plus_plus @ ( multiset @ A ) @ A4 @ B6 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_150_union__mset__add__mset__left,axiom,
% 2.88/1.59      ! [A: $tType,A2: A,A4: multiset @ A,B6: multiset @ A] :
% 2.88/1.59        ( ( plus_plus @ ( multiset @ A ) @ ( add_mset @ A @ A2 @ A4 ) @ B6 )
% 2.88/1.59        = ( add_mset @ A @ A2 @ ( plus_plus @ ( multiset @ A ) @ A4 @ B6 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_151_zero__le__double__add__iff__zero__le__single__add,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linord219039673up_add @ A )
% 2.88/1.59       => ! [A2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ ( zero_zero @ A ) @ ( plus_plus @ A @ A2 @ A2 ) )
% 2.88/1.59            = ( ord_less_eq @ A @ ( zero_zero @ A ) @ A2 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_152_double__add__le__zero__iff__single__add__le__zero,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linord219039673up_add @ A )
% 2.88/1.59       => ! [A2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ A2 ) @ ( zero_zero @ A ) )
% 2.88/1.59            = ( ord_less_eq @ A @ A2 @ ( zero_zero @ A ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_153_le__add__same__cancel2,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere516151231imp_le @ A )
% 2.88/1.59       => ! [A2: A,B2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ ( plus_plus @ A @ B2 @ A2 ) )
% 2.88/1.59            = ( ord_less_eq @ A @ ( zero_zero @ A ) @ B2 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_154_le__add__same__cancel1,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere516151231imp_le @ A )
% 2.88/1.59       => ! [A2: A,B2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ ( plus_plus @ A @ A2 @ B2 ) )
% 2.88/1.59            = ( ord_less_eq @ A @ ( zero_zero @ A ) @ B2 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_155_add__le__same__cancel2,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere516151231imp_le @ A )
% 2.88/1.59       => ! [A2: A,B2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ B2 ) @ B2 )
% 2.88/1.59            = ( ord_less_eq @ A @ A2 @ ( zero_zero @ A ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_156_add__le__same__cancel1,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere516151231imp_le @ A )
% 2.88/1.59       => ! [B2: A,A2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ ( plus_plus @ A @ B2 @ A2 ) @ B2 )
% 2.88/1.59            = ( ord_less_eq @ A @ A2 @ ( zero_zero @ A ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_157_add__le__imp__le__right,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere236663937imp_le @ A )
% 2.88/1.59       => ! [A2: A,C2: A,B2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ C2 ) @ ( plus_plus @ A @ B2 @ C2 ) )
% 2.88/1.59           => ( ord_less_eq @ A @ A2 @ B2 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_158_add__le__imp__le__left,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere236663937imp_le @ A )
% 2.88/1.59       => ! [C2: A,A2: A,B2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ ( plus_plus @ A @ C2 @ A2 ) @ ( plus_plus @ A @ C2 @ B2 ) )
% 2.88/1.59           => ( ord_less_eq @ A @ A2 @ B2 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_159_le__iff__add,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( canoni770627133id_add @ A )
% 2.88/1.59       => ( ( ord_less_eq @ A )
% 2.88/1.59          = ( ^ [A5: A,B4: A] :
% 2.88/1.59              ? [C5: A] :
% 2.88/1.59                ( B4
% 2.88/1.59                = ( plus_plus @ A @ A5 @ C5 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_160_add__right__mono,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere779506340up_add @ A )
% 2.88/1.59       => ! [A2: A,B2: A,C2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ C2 ) @ ( plus_plus @ A @ B2 @ C2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_161_less__eqE,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( canoni770627133id_add @ A )
% 2.88/1.59       => ! [A2: A,B2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ~ ! [C3: A] :
% 2.88/1.59                  ( B2
% 2.88/1.59                 != ( plus_plus @ A @ A2 @ C3 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_162_add__left__mono,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere779506340up_add @ A )
% 2.88/1.59       => ! [A2: A,B2: A,C2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ord_less_eq @ A @ ( plus_plus @ A @ C2 @ A2 ) @ ( plus_plus @ A @ C2 @ B2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_163_add__mono,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere779506340up_add @ A )
% 2.88/1.59       => ! [A2: A,B2: A,C2: A,D3: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ( ord_less_eq @ A @ C2 @ D3 )
% 2.88/1.59             => ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ C2 ) @ ( plus_plus @ A @ B2 @ D3 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_164_add__mono__thms__linordered__semiring_I1_J,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere779506340up_add @ A )
% 2.88/1.59       => ! [I: A,J2: A,K2: A,L: A] :
% 2.88/1.59            ( ( ( ord_less_eq @ A @ I @ J2 )
% 2.88/1.59              & ( ord_less_eq @ A @ K2 @ L ) )
% 2.88/1.59           => ( ord_less_eq @ A @ ( plus_plus @ A @ I @ K2 ) @ ( plus_plus @ A @ J2 @ L ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_165_add__mono__thms__linordered__semiring_I2_J,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere779506340up_add @ A )
% 2.88/1.59       => ! [I: A,J2: A,K2: A,L: A] :
% 2.88/1.59            ( ( ( I = J2 )
% 2.88/1.59              & ( ord_less_eq @ A @ K2 @ L ) )
% 2.88/1.59           => ( ord_less_eq @ A @ ( plus_plus @ A @ I @ K2 ) @ ( plus_plus @ A @ J2 @ L ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_166_add__mono__thms__linordered__semiring_I3_J,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere779506340up_add @ A )
% 2.88/1.59       => ! [I: A,J2: A,K2: A,L: A] :
% 2.88/1.59            ( ( ( ord_less_eq @ A @ I @ J2 )
% 2.88/1.59              & ( K2 = L ) )
% 2.88/1.59           => ( ord_less_eq @ A @ ( plus_plus @ A @ I @ K2 ) @ ( plus_plus @ A @ J2 @ L ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_167_empty__neutral_I2_J,axiom,
% 2.88/1.59      ! [A: $tType,X: multiset @ A] :
% 2.88/1.59        ( ( plus_plus @ ( multiset @ A ) @ X @ ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59        = X ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_168_empty__neutral_I1_J,axiom,
% 2.88/1.59      ! [A: $tType,X: multiset @ A] :
% 2.88/1.59        ( ( plus_plus @ ( multiset @ A ) @ ( zero_zero @ ( multiset @ A ) ) @ X )
% 2.88/1.59        = X ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_169_RemoveMax_Oremove__max__inv,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),Remove_max: B > ( product_prod @ A @ B ),Inv: B > $o,L: B,M: A,L2: B] :
% 2.88/1.59            ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 2.88/1.59           => ( ~ ( Is_empty @ L )
% 2.88/1.59             => ( ( Inv @ L )
% 2.88/1.59               => ( ( ( product_Pair @ A @ B @ M @ L2 )
% 2.88/1.59                    = ( Remove_max @ L ) )
% 2.88/1.59                 => ( Inv @ L2 ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_170_RemoveMax_Oof__list__inv,axiom,
% 2.88/1.59      ! [B: $tType,A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),Remove_max: B > ( product_prod @ A @ B ),Inv: B > $o,X: list @ A] :
% 2.88/1.59            ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 2.88/1.59           => ( Inv @ ( Of_list @ X ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_171_union__iff,axiom,
% 2.88/1.59      ! [A: $tType,A2: A,A4: multiset @ A,B6: multiset @ A] :
% 2.88/1.59        ( ( member @ A @ A2 @ ( set_mset @ A @ ( plus_plus @ ( multiset @ A ) @ A4 @ B6 ) ) )
% 2.88/1.59        = ( ( member @ A @ A2 @ ( set_mset @ A @ A4 ) )
% 2.88/1.59          | ( member @ A @ A2 @ ( set_mset @ A @ B6 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_172_union__assoc,axiom,
% 2.88/1.59      ! [A: $tType,M4: multiset @ A,N: multiset @ A,K3: multiset @ A] :
% 2.88/1.59        ( ( plus_plus @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) @ M4 @ N ) @ K3 )
% 2.88/1.59        = ( plus_plus @ ( multiset @ A ) @ M4 @ ( plus_plus @ ( multiset @ A ) @ N @ K3 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_173_union__lcomm,axiom,
% 2.88/1.59      ! [A: $tType,M4: multiset @ A,N: multiset @ A,K3: multiset @ A] :
% 2.88/1.59        ( ( plus_plus @ ( multiset @ A ) @ M4 @ ( plus_plus @ ( multiset @ A ) @ N @ K3 ) )
% 2.88/1.59        = ( plus_plus @ ( multiset @ A ) @ N @ ( plus_plus @ ( multiset @ A ) @ M4 @ K3 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_174_union__commute,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( plus_plus @ ( multiset @ A ) )
% 2.88/1.59        = ( ^ [M6: multiset @ A,N4: multiset @ A] : ( plus_plus @ ( multiset @ A ) @ N4 @ M6 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_175_union__left__cancel,axiom,
% 2.88/1.59      ! [A: $tType,K3: multiset @ A,M4: multiset @ A,N: multiset @ A] :
% 2.88/1.59        ( ( ( plus_plus @ ( multiset @ A ) @ K3 @ M4 )
% 2.88/1.59          = ( plus_plus @ ( multiset @ A ) @ K3 @ N ) )
% 2.88/1.59        = ( M4 = N ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_176_union__right__cancel,axiom,
% 2.88/1.59      ! [A: $tType,M4: multiset @ A,K3: multiset @ A,N: multiset @ A] :
% 2.88/1.59        ( ( ( plus_plus @ ( multiset @ A ) @ M4 @ K3 )
% 2.88/1.59          = ( plus_plus @ ( multiset @ A ) @ N @ K3 ) )
% 2.88/1.59        = ( M4 = N ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_177_multi__union__self__other__eq,axiom,
% 2.88/1.59      ! [A: $tType,A4: multiset @ A,X6: multiset @ A,Y7: multiset @ A] :
% 2.88/1.59        ( ( ( plus_plus @ ( multiset @ A ) @ A4 @ X6 )
% 2.88/1.59          = ( plus_plus @ ( multiset @ A ) @ A4 @ Y7 ) )
% 2.88/1.59       => ( X6 = Y7 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_178_RemoveMax_Oaxioms_I1_J,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),Remove_max: B > ( product_prod @ A @ B ),Inv: B > $o] :
% 2.88/1.59            ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 2.88/1.59           => ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_179_add__decreasing,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere216010020id_add @ A )
% 2.88/1.59       => ! [A2: A,C2: A,B2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ ( zero_zero @ A ) )
% 2.88/1.59           => ( ( ord_less_eq @ A @ C2 @ B2 )
% 2.88/1.59             => ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ C2 ) @ B2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_180_add__increasing,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere216010020id_add @ A )
% 2.88/1.59       => ! [A2: A,B2: A,C2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ ( zero_zero @ A ) @ A2 )
% 2.88/1.59           => ( ( ord_less_eq @ A @ B2 @ C2 )
% 2.88/1.59             => ( ord_less_eq @ A @ B2 @ ( plus_plus @ A @ A2 @ C2 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_181_add__decreasing2,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere216010020id_add @ A )
% 2.88/1.59       => ! [C2: A,A2: A,B2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ C2 @ ( zero_zero @ A ) )
% 2.88/1.59           => ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59             => ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ C2 ) @ B2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_182_add__increasing2,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere216010020id_add @ A )
% 2.88/1.59       => ! [C2: A,B2: A,A2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ ( zero_zero @ A ) @ C2 )
% 2.88/1.59           => ( ( ord_less_eq @ A @ B2 @ A2 )
% 2.88/1.59             => ( ord_less_eq @ A @ B2 @ ( plus_plus @ A @ A2 @ C2 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_183_add__nonneg__nonneg,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere216010020id_add @ A )
% 2.88/1.59       => ! [A2: A,B2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ ( zero_zero @ A ) @ A2 )
% 2.88/1.59           => ( ( ord_less_eq @ A @ ( zero_zero @ A ) @ B2 )
% 2.88/1.59             => ( ord_less_eq @ A @ ( zero_zero @ A ) @ ( plus_plus @ A @ A2 @ B2 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_184_add__nonpos__nonpos,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere216010020id_add @ A )
% 2.88/1.59       => ! [A2: A,B2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ ( zero_zero @ A ) )
% 2.88/1.59           => ( ( ord_less_eq @ A @ B2 @ ( zero_zero @ A ) )
% 2.88/1.59             => ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ B2 ) @ ( zero_zero @ A ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_185_add__nonneg__eq__0__iff,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere216010020id_add @ A )
% 2.88/1.59       => ! [X: A,Y: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ ( zero_zero @ A ) @ X )
% 2.88/1.59           => ( ( ord_less_eq @ A @ ( zero_zero @ A ) @ Y )
% 2.88/1.59             => ( ( ( plus_plus @ A @ X @ Y )
% 2.88/1.59                  = ( zero_zero @ A ) )
% 2.88/1.59                = ( ( X
% 2.88/1.59                    = ( zero_zero @ A ) )
% 2.88/1.59                  & ( Y
% 2.88/1.59                    = ( zero_zero @ A ) ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_186_add__nonpos__eq__0__iff,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere216010020id_add @ A )
% 2.88/1.59       => ! [X: A,Y: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ X @ ( zero_zero @ A ) )
% 2.88/1.59           => ( ( ord_less_eq @ A @ Y @ ( zero_zero @ A ) )
% 2.88/1.59             => ( ( ( plus_plus @ A @ X @ Y )
% 2.88/1.59                  = ( zero_zero @ A ) )
% 2.88/1.59                = ( ( X
% 2.88/1.59                    = ( zero_zero @ A ) )
% 2.88/1.59                  & ( Y
% 2.88/1.59                    = ( zero_zero @ A ) ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_187_RemoveMax_Oaxioms_I2_J,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),Remove_max: B > ( product_prod @ A @ B ),Inv: B > $o] :
% 2.88/1.59            ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 2.88/1.59           => ( removeMax_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_188_add__mset__add__single,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( add_mset @ A )
% 2.88/1.59        = ( ^ [A5: A,A8: multiset @ A] : ( plus_plus @ ( multiset @ A ) @ A8 @ ( add_mset @ A @ A5 @ ( zero_zero @ ( multiset @ A ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_189_union__is__single,axiom,
% 2.88/1.59      ! [A: $tType,M4: multiset @ A,N: multiset @ A,A2: A] :
% 2.88/1.59        ( ( ( plus_plus @ ( multiset @ A ) @ M4 @ N )
% 2.88/1.59          = ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) ) )
% 2.88/1.59        = ( ( ( M4
% 2.88/1.59              = ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) ) )
% 2.88/1.59            & ( N
% 2.88/1.59              = ( zero_zero @ ( multiset @ A ) ) ) )
% 2.88/1.59          | ( ( M4
% 2.88/1.59              = ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59            & ( N
% 2.88/1.59              = ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_190_single__is__union,axiom,
% 2.88/1.59      ! [A: $tType,A2: A,M4: multiset @ A,N: multiset @ A] :
% 2.88/1.59        ( ( ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59          = ( plus_plus @ ( multiset @ A ) @ M4 @ N ) )
% 2.88/1.59        = ( ( ( ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59              = M4 )
% 2.88/1.59            & ( N
% 2.88/1.59              = ( zero_zero @ ( multiset @ A ) ) ) )
% 2.88/1.59          | ( ( M4
% 2.88/1.59              = ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59            & ( ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59              = N ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_191_RemoveMax_Oremove__max__multiset,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),Remove_max: B > ( product_prod @ A @ B ),Inv: B > $o,L: B,M: A,L2: B] :
% 2.88/1.59            ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 2.88/1.59           => ( ~ ( Is_empty @ L )
% 2.88/1.59             => ( ( Inv @ L )
% 2.88/1.59               => ( ( ( product_Pair @ A @ B @ M @ L2 )
% 2.88/1.59                    = ( Remove_max @ L ) )
% 2.88/1.59                 => ( ( add_mset @ A @ M @ ( Multiset @ L2 ) )
% 2.88/1.59                    = ( Multiset @ L ) ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_192_multi__member__skip,axiom,
% 2.88/1.59      ! [A: $tType,X: A,XS: multiset @ A,Y: A] :
% 2.88/1.59        ( ( member @ A @ X @ ( set_mset @ A @ XS ) )
% 2.88/1.59       => ( member @ A @ X @ ( set_mset @ A @ ( plus_plus @ ( multiset @ A ) @ ( add_mset @ A @ Y @ ( zero_zero @ ( multiset @ A ) ) ) @ XS ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_193_multi__member__this,axiom,
% 2.88/1.59      ! [A: $tType,X: A,XS: multiset @ A] : ( member @ A @ X @ ( set_mset @ A @ ( plus_plus @ ( multiset @ A ) @ ( add_mset @ A @ X @ ( zero_zero @ ( multiset @ A ) ) ) @ XS ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_194_RemoveMax_Ointro,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),Remove_max: B > ( product_prod @ A @ B ),Inv: B > $o] :
% 2.88/1.59            ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 2.88/1.59           => ( ( removeMax_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 2.88/1.59             => ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_195_RemoveMax__def,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ( ( removeMax @ B @ A )
% 2.88/1.59          = ( ^ [Empty2: B,Is_empty2: B > $o,Of_list2: ( list @ A ) > B,Multiset2: B > ( multiset @ A ),Remove_max2: B > ( product_prod @ A @ B ),Inv2: B > $o] :
% 2.88/1.59                ( ( collection @ B @ A @ Empty2 @ Is_empty2 @ Of_list2 @ Multiset2 )
% 2.88/1.59                & ( removeMax_axioms @ B @ A @ Is_empty2 @ Of_list2 @ Multiset2 @ Remove_max2 @ Inv2 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_196_mult1E,axiom,
% 2.88/1.59      ! [A: $tType,N: multiset @ A,M4: multiset @ A,R: set @ ( product_prod @ A @ A )] :
% 2.88/1.59        ( ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ N @ M4 ) @ ( mult1 @ A @ R ) )
% 2.88/1.59       => ~ ! [A6: A,M0: multiset @ A] :
% 2.88/1.59              ( ( M4
% 2.88/1.59                = ( add_mset @ A @ A6 @ M0 ) )
% 2.88/1.59             => ! [K4: multiset @ A] :
% 2.88/1.59                  ( ( N
% 2.88/1.59                    = ( plus_plus @ ( multiset @ A ) @ M0 @ K4 ) )
% 2.88/1.59                 => ~ ! [B8: A] :
% 2.88/1.59                        ( ( member @ A @ B8 @ ( set_mset @ A @ K4 ) )
% 2.88/1.59                       => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B8 @ A6 ) @ R ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_197_mult1I,axiom,
% 2.88/1.59      ! [A: $tType,M4: multiset @ A,A2: A,M02: multiset @ A,N: multiset @ A,K3: multiset @ A,R: set @ ( product_prod @ A @ A )] :
% 2.88/1.59        ( ( M4
% 2.88/1.59          = ( add_mset @ A @ A2 @ M02 ) )
% 2.88/1.59       => ( ( N
% 2.88/1.59            = ( plus_plus @ ( multiset @ A ) @ M02 @ K3 ) )
% 2.88/1.59         => ( ! [B5: A] :
% 2.88/1.59                ( ( member @ A @ B5 @ ( set_mset @ A @ K3 ) )
% 2.88/1.59               => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B5 @ A2 ) @ R ) )
% 2.88/1.59           => ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ N @ M4 ) @ ( mult1 @ A @ R ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_198_less__add,axiom,
% 2.88/1.59      ! [A: $tType,N: multiset @ A,A2: A,M02: multiset @ A,R: set @ ( product_prod @ A @ A )] :
% 2.88/1.59        ( ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ N @ ( add_mset @ A @ A2 @ M02 ) ) @ ( mult1 @ A @ R ) )
% 2.88/1.59       => ( ? [M5: multiset @ A] :
% 2.88/1.59              ( ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ M5 @ M02 ) @ ( mult1 @ A @ R ) )
% 2.88/1.59              & ( N
% 2.88/1.59                = ( add_mset @ A @ A2 @ M5 ) ) )
% 2.88/1.59          | ? [K4: multiset @ A] :
% 2.88/1.59              ( ! [B8: A] :
% 2.88/1.59                  ( ( member @ A @ B8 @ ( set_mset @ A @ K4 ) )
% 2.88/1.59                 => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B8 @ A2 ) @ R ) )
% 2.88/1.59              & ( N
% 2.88/1.59                = ( plus_plus @ ( multiset @ A ) @ M02 @ K4 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_199_one__step__implies__mult,axiom,
% 2.88/1.59      ! [A: $tType,J3: multiset @ A,K3: multiset @ A,R: set @ ( product_prod @ A @ A ),I4: multiset @ A] :
% 2.88/1.59        ( ( J3
% 2.88/1.59         != ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59       => ( ! [X5: A] :
% 2.88/1.59              ( ( member @ A @ X5 @ ( set_mset @ A @ K3 ) )
% 2.88/1.59             => ? [Xa: A] :
% 2.88/1.59                  ( ( member @ A @ Xa @ ( set_mset @ A @ J3 ) )
% 2.88/1.59                  & ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X5 @ Xa ) @ R ) ) )
% 2.88/1.59         => ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) @ I4 @ K3 ) @ ( plus_plus @ ( multiset @ A ) @ I4 @ J3 ) ) @ ( mult @ A @ R ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_200_mono__mult,axiom,
% 2.88/1.59      ! [A: $tType,R: set @ ( product_prod @ A @ A ),R5: set @ ( product_prod @ A @ A )] :
% 2.88/1.59        ( ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ R @ R5 )
% 2.88/1.59       => ( ord_less_eq @ ( set @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) ) @ ( mult @ A @ R ) @ ( mult @ A @ R5 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_201_not__less__empty,axiom,
% 2.88/1.59      ! [A: $tType,M4: multiset @ A,R: set @ ( product_prod @ A @ A )] :
% 2.88/1.59        ~ ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ M4 @ ( zero_zero @ ( multiset @ A ) ) ) @ ( mult1 @ A @ R ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_202_mult1__union,axiom,
% 2.88/1.59      ! [A: $tType,B6: multiset @ A,D4: multiset @ A,R: set @ ( product_prod @ A @ A ),C4: multiset @ A] :
% 2.88/1.59        ( ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ B6 @ D4 ) @ ( mult1 @ A @ R ) )
% 2.88/1.59       => ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) @ C4 @ B6 ) @ ( plus_plus @ ( multiset @ A ) @ C4 @ D4 ) ) @ ( mult1 @ A @ R ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_203_mono__mult1,axiom,
% 2.88/1.59      ! [A: $tType,R: set @ ( product_prod @ A @ A ),R5: set @ ( product_prod @ A @ A )] :
% 2.88/1.59        ( ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ R @ R5 )
% 2.88/1.59       => ( ord_less_eq @ ( set @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) ) @ ( mult1 @ A @ R ) @ ( mult1 @ A @ R5 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_204_mult__implies__one__step,axiom,
% 2.88/1.59      ! [A: $tType,R: set @ ( product_prod @ A @ A ),M4: multiset @ A,N: multiset @ A] :
% 2.88/1.59        ( ( trans @ A @ R )
% 2.88/1.59       => ( ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ M4 @ N ) @ ( mult @ A @ R ) )
% 2.88/1.59         => ? [I5: multiset @ A,J4: multiset @ A] :
% 2.88/1.59              ( ( N
% 2.88/1.59                = ( plus_plus @ ( multiset @ A ) @ I5 @ J4 ) )
% 2.88/1.59              & ? [K4: multiset @ A] :
% 2.88/1.59                  ( ( M4
% 2.88/1.59                    = ( plus_plus @ ( multiset @ A ) @ I5 @ K4 ) )
% 2.88/1.59                  & ( J4
% 2.88/1.59                   != ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59                  & ! [X7: A] :
% 2.88/1.59                      ( ( member @ A @ X7 @ ( set_mset @ A @ K4 ) )
% 2.88/1.59                     => ? [Xa2: A] :
% 2.88/1.59                          ( ( member @ A @ Xa2 @ ( set_mset @ A @ J4 ) )
% 2.88/1.59                          & ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X7 @ Xa2 ) @ R ) ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_205_subset__mset_Osum__mset__0__iff,axiom,
% 2.88/1.59      ! [A: $tType,M4: multiset @ ( multiset @ A )] :
% 2.88/1.59        ( ( ( comm_monoid_sum_mset @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) ) @ ( zero_zero @ ( multiset @ A ) ) @ M4 )
% 2.88/1.59          = ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59        = ( ! [X4: multiset @ A] :
% 2.88/1.59              ( ( member @ ( multiset @ A ) @ X4 @ ( set_mset @ ( multiset @ A ) @ M4 ) )
% 2.88/1.59             => ( X4
% 2.88/1.59                = ( zero_zero @ ( multiset @ A ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_206_trans__def,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( trans @ A )
% 2.88/1.59        = ( ^ [R3: set @ ( product_prod @ A @ A )] :
% 2.88/1.59            ! [X4: A,Y5: A,Z3: A] :
% 2.88/1.59              ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X4 @ Y5 ) @ R3 )
% 2.88/1.59             => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y5 @ Z3 ) @ R3 )
% 2.88/1.59               => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X4 @ Z3 ) @ R3 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_207_transI,axiom,
% 2.88/1.59      ! [A: $tType,R: set @ ( product_prod @ A @ A )] :
% 2.88/1.59        ( ! [X5: A,Y3: A,Z4: A] :
% 2.88/1.59            ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X5 @ Y3 ) @ R )
% 2.88/1.59           => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y3 @ Z4 ) @ R )
% 2.88/1.59             => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X5 @ Z4 ) @ R ) ) )
% 2.88/1.59       => ( trans @ A @ R ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_208_transE,axiom,
% 2.88/1.59      ! [A: $tType,R: set @ ( product_prod @ A @ A ),X: A,Y: A,Z2: A] :
% 2.88/1.59        ( ( trans @ A @ R )
% 2.88/1.59       => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 2.88/1.59         => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y @ Z2 ) @ R )
% 2.88/1.59           => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Z2 ) @ R ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_209_transD,axiom,
% 2.88/1.59      ! [A: $tType,R: set @ ( product_prod @ A @ A ),X: A,Y: A,Z2: A] :
% 2.88/1.59        ( ( trans @ A @ R )
% 2.88/1.59       => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 2.88/1.59         => ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ Y @ Z2 ) @ R )
% 2.88/1.59           => ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Z2 ) @ R ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_210_comm__monoid__add_Osum__mset_Ocong,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( comm_monoid_sum_mset @ A )
% 2.88/1.59        = ( comm_monoid_sum_mset @ A ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_211_mult__cancel__add__mset,axiom,
% 2.88/1.59      ! [A: $tType,S: set @ ( product_prod @ A @ A ),Uu: A,X6: multiset @ A,Y7: multiset @ A] :
% 2.88/1.59        ( ( trans @ A @ S )
% 2.88/1.59       => ( ( irrefl @ A @ S )
% 2.88/1.59         => ( ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ ( add_mset @ A @ Uu @ X6 ) @ ( add_mset @ A @ Uu @ Y7 ) ) @ ( mult @ A @ S ) )
% 2.88/1.59            = ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ X6 @ Y7 ) @ ( mult @ A @ S ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_212_mult__cancel,axiom,
% 2.88/1.59      ! [A: $tType,S: set @ ( product_prod @ A @ A ),X6: multiset @ A,Z5: multiset @ A,Y7: multiset @ A] :
% 2.88/1.59        ( ( trans @ A @ S )
% 2.88/1.59       => ( ( irrefl @ A @ S )
% 2.88/1.59         => ( ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) @ X6 @ Z5 ) @ ( plus_plus @ ( multiset @ A ) @ Y7 @ Z5 ) ) @ ( mult @ A @ S ) )
% 2.88/1.59            = ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ X6 @ Y7 ) @ ( mult @ A @ S ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_213_irrefl__def,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( irrefl @ A )
% 2.88/1.59        = ( ^ [R3: set @ ( product_prod @ A @ A )] :
% 2.88/1.59            ! [A5: A] :
% 2.88/1.59              ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A5 @ A5 ) @ R3 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_214_irreflI,axiom,
% 2.88/1.59      ! [A: $tType,R4: set @ ( product_prod @ A @ A )] :
% 2.88/1.59        ( ! [A6: A] :
% 2.88/1.59            ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A6 @ A6 ) @ R4 )
% 2.88/1.59       => ( irrefl @ A @ R4 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_215_multp__iff,axiom,
% 2.88/1.59      ! [A: $tType,R4: set @ ( product_prod @ A @ A ),P: A > A > $o,N: multiset @ A,M4: multiset @ A] :
% 2.88/1.59        ( ( irrefl @ A @ R4 )
% 2.88/1.59       => ( ( trans @ A @ R4 )
% 2.88/1.59         => ( ! [X5: A,Y3: A] :
% 2.88/1.59                ( ( P @ X5 @ Y3 )
% 2.88/1.59                = ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X5 @ Y3 ) @ R4 ) )
% 2.88/1.59           => ( ( multp @ A @ P @ N @ M4 )
% 2.88/1.59              = ( member @ ( product_prod @ ( multiset @ A ) @ ( multiset @ A ) ) @ ( product_Pair @ ( multiset @ A ) @ ( multiset @ A ) @ N @ M4 ) @ ( mult @ A @ R4 ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_216_in__mset__fold__plus__iff,axiom,
% 2.88/1.59      ! [A: $tType,X: A,M4: multiset @ A,NN: multiset @ ( multiset @ A )] :
% 2.88/1.59        ( ( member @ A @ X @ ( set_mset @ A @ ( fold_mset @ ( multiset @ A ) @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) ) @ M4 @ NN ) ) )
% 2.88/1.59        = ( ( member @ A @ X @ ( set_mset @ A @ M4 ) )
% 2.88/1.59          | ? [N4: multiset @ A] :
% 2.88/1.59              ( ( member @ ( multiset @ A ) @ N4 @ ( set_mset @ ( multiset @ A ) @ NN ) )
% 2.88/1.59              & ( member @ A @ X @ ( set_mset @ A @ N4 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_217_fold__mset__empty,axiom,
% 2.88/1.59      ! [B: $tType,A: $tType,F: B > A > A,S: A] :
% 2.88/1.59        ( ( fold_mset @ B @ A @ F @ S @ ( zero_zero @ ( multiset @ B ) ) )
% 2.88/1.59        = S ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_218_union__fold__mset__add__mset,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( plus_plus @ ( multiset @ A ) )
% 2.88/1.59        = ( fold_mset @ A @ ( multiset @ A ) @ ( add_mset @ A ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_219_add__mset__replicate__mset__safe,axiom,
% 2.88/1.59      ! [A: $tType,B: $tType,M4: multiset @ B,A2: B] :
% 2.88/1.59        ( ( nO_MATCH @ ( multiset @ A ) @ ( multiset @ B ) @ ( zero_zero @ ( multiset @ A ) ) @ M4 )
% 2.88/1.59       => ( ( add_mset @ B @ A2 @ M4 )
% 2.88/1.59          = ( plus_plus @ ( multiset @ B ) @ ( add_mset @ B @ A2 @ ( zero_zero @ ( multiset @ B ) ) ) @ M4 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_220_insert__DiffM2,axiom,
% 2.88/1.59      ! [A: $tType,X: A,M4: multiset @ A] :
% 2.88/1.59        ( ( member @ A @ X @ ( set_mset @ A @ M4 ) )
% 2.88/1.59       => ( ( plus_plus @ ( multiset @ A ) @ ( minus_minus @ ( multiset @ A ) @ M4 @ ( add_mset @ A @ X @ ( zero_zero @ ( multiset @ A ) ) ) ) @ ( add_mset @ A @ X @ ( zero_zero @ ( multiset @ A ) ) ) )
% 2.88/1.59          = M4 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_221_diff__diff__add__mset,axiom,
% 2.88/1.59      ! [A: $tType,M4: multiset @ A,N: multiset @ A,P: multiset @ A] :
% 2.88/1.59        ( ( minus_minus @ ( multiset @ A ) @ ( minus_minus @ ( multiset @ A ) @ M4 @ N ) @ P )
% 2.88/1.59        = ( minus_minus @ ( multiset @ A ) @ M4 @ ( plus_plus @ ( multiset @ A ) @ N @ P ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_222_diff__ge__0__iff__ge,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordered_ab_group_add @ A )
% 2.88/1.59       => ! [A2: A,B2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ ( zero_zero @ A ) @ ( minus_minus @ A @ A2 @ B2 ) )
% 2.88/1.59            = ( ord_less_eq @ A @ B2 @ A2 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_223_add__mset__remove__trivial,axiom,
% 2.88/1.59      ! [A: $tType,X: A,M4: multiset @ A] :
% 2.88/1.59        ( ( minus_minus @ ( multiset @ A ) @ ( add_mset @ A @ X @ M4 ) @ ( add_mset @ A @ X @ ( zero_zero @ ( multiset @ A ) ) ) )
% 2.88/1.59        = M4 ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_224_diff__add__mset__swap,axiom,
% 2.88/1.59      ! [A: $tType,B2: A,A4: multiset @ A,M4: multiset @ A] :
% 2.88/1.59        ( ~ ( member @ A @ B2 @ ( set_mset @ A @ A4 ) )
% 2.88/1.59       => ( ( minus_minus @ ( multiset @ A ) @ ( add_mset @ A @ B2 @ M4 ) @ A4 )
% 2.88/1.59          = ( add_mset @ A @ B2 @ ( minus_minus @ ( multiset @ A ) @ M4 @ A4 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_225_diff__union__swap2,axiom,
% 2.88/1.59      ! [A: $tType,Y: A,M4: multiset @ A,X: A] :
% 2.88/1.59        ( ( member @ A @ Y @ ( set_mset @ A @ M4 ) )
% 2.88/1.59       => ( ( minus_minus @ ( multiset @ A ) @ ( add_mset @ A @ X @ M4 ) @ ( add_mset @ A @ Y @ ( zero_zero @ ( multiset @ A ) ) ) )
% 2.88/1.59          = ( add_mset @ A @ X @ ( minus_minus @ ( multiset @ A ) @ M4 @ ( add_mset @ A @ Y @ ( zero_zero @ ( multiset @ A ) ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_226_insert__DiffM,axiom,
% 2.88/1.59      ! [A: $tType,X: A,M4: multiset @ A] :
% 2.88/1.59        ( ( member @ A @ X @ ( set_mset @ A @ M4 ) )
% 2.88/1.59       => ( ( add_mset @ A @ X @ ( minus_minus @ ( multiset @ A ) @ M4 @ ( add_mset @ A @ X @ ( zero_zero @ ( multiset @ A ) ) ) ) )
% 2.88/1.59          = M4 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_227_le__iff__diff__le__0,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordered_ab_group_add @ A )
% 2.88/1.59       => ( ( ord_less_eq @ A )
% 2.88/1.59          = ( ^ [A5: A,B4: A] : ( ord_less_eq @ A @ ( minus_minus @ A @ A5 @ B4 ) @ ( zero_zero @ A ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_228_diff__le__eq,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordered_ab_group_add @ A )
% 2.88/1.59       => ! [A2: A,B2: A,C2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ ( minus_minus @ A @ A2 @ B2 ) @ C2 )
% 2.88/1.59            = ( ord_less_eq @ A @ A2 @ ( plus_plus @ A @ C2 @ B2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_229_le__diff__eq,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordered_ab_group_add @ A )
% 2.88/1.59       => ! [A2: A,C2: A,B2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ ( minus_minus @ A @ C2 @ B2 ) )
% 2.88/1.59            = ( ord_less_eq @ A @ ( plus_plus @ A @ A2 @ B2 ) @ C2 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_230_ordered__cancel__comm__monoid__diff__class_Odiff__add,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere623563068d_diff @ A )
% 2.88/1.59       => ! [A2: A,B2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ( plus_plus @ A @ ( minus_minus @ A @ B2 @ A2 ) @ A2 )
% 2.88/1.59              = B2 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_231_le__add__diff,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere623563068d_diff @ A )
% 2.88/1.59       => ! [A2: A,B2: A,C2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ord_less_eq @ A @ C2 @ ( minus_minus @ A @ ( plus_plus @ A @ B2 @ C2 ) @ A2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_232_ordered__cancel__comm__monoid__diff__class_Ole__diff__conv2,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere623563068d_diff @ A )
% 2.88/1.59       => ! [A2: A,B2: A,C2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ( ord_less_eq @ A @ C2 @ ( minus_minus @ A @ B2 @ A2 ) )
% 2.88/1.59              = ( ord_less_eq @ A @ ( plus_plus @ A @ C2 @ A2 ) @ B2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_233_ordered__cancel__comm__monoid__diff__class_Oadd__diff__assoc,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere623563068d_diff @ A )
% 2.88/1.59       => ! [A2: A,B2: A,C2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ( plus_plus @ A @ C2 @ ( minus_minus @ A @ B2 @ A2 ) )
% 2.88/1.59              = ( minus_minus @ A @ ( plus_plus @ A @ C2 @ B2 ) @ A2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_234_ordered__cancel__comm__monoid__diff__class_Odiff__add__assoc,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere623563068d_diff @ A )
% 2.88/1.59       => ! [A2: A,B2: A,C2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ( minus_minus @ A @ ( plus_plus @ A @ C2 @ B2 ) @ A2 )
% 2.88/1.59              = ( plus_plus @ A @ C2 @ ( minus_minus @ A @ B2 @ A2 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_235_ordered__cancel__comm__monoid__diff__class_Oadd__diff__assoc2,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere623563068d_diff @ A )
% 2.88/1.59       => ! [A2: A,B2: A,C2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ( plus_plus @ A @ ( minus_minus @ A @ B2 @ A2 ) @ C2 )
% 2.88/1.59              = ( minus_minus @ A @ ( plus_plus @ A @ B2 @ C2 ) @ A2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_236_ordered__cancel__comm__monoid__diff__class_Odiff__add__assoc2,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere623563068d_diff @ A )
% 2.88/1.59       => ! [A2: A,B2: A,C2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ( minus_minus @ A @ ( plus_plus @ A @ B2 @ C2 ) @ A2 )
% 2.88/1.59              = ( plus_plus @ A @ ( minus_minus @ A @ B2 @ A2 ) @ C2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_237_ordered__cancel__comm__monoid__diff__class_Odiff__diff__right,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere623563068d_diff @ A )
% 2.88/1.59       => ! [A2: A,B2: A,C2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ( minus_minus @ A @ C2 @ ( minus_minus @ A @ B2 @ A2 ) )
% 2.88/1.59              = ( minus_minus @ A @ ( plus_plus @ A @ C2 @ A2 ) @ B2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_238_ordered__cancel__comm__monoid__diff__class_Oadd__diff__inverse,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere623563068d_diff @ A )
% 2.88/1.59       => ! [A2: A,B2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ( plus_plus @ A @ A2 @ ( minus_minus @ A @ B2 @ A2 ) )
% 2.88/1.59              = B2 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_239_ordered__cancel__comm__monoid__diff__class_Ole__imp__diff__is__add,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordere623563068d_diff @ A )
% 2.88/1.59       => ! [A2: A,B2: A,C2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59             => ( ( ( minus_minus @ A @ B2 @ A2 )
% 2.88/1.59                  = C2 )
% 2.88/1.59                = ( B2
% 2.88/1.59                  = ( plus_plus @ A @ C2 @ A2 ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_240_diff__eq__diff__less__eq,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordered_ab_group_add @ A )
% 2.88/1.59       => ! [A2: A,B2: A,C2: A,D3: A] :
% 2.88/1.59            ( ( ( minus_minus @ A @ A2 @ B2 )
% 2.88/1.59              = ( minus_minus @ A @ C2 @ D3 ) )
% 2.88/1.59           => ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59              = ( ord_less_eq @ A @ C2 @ D3 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_241_diff__right__mono,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordered_ab_group_add @ A )
% 2.88/1.59       => ! [A2: A,B2: A,C2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ord_less_eq @ A @ ( minus_minus @ A @ A2 @ C2 ) @ ( minus_minus @ A @ B2 @ C2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_242_diff__left__mono,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordered_ab_group_add @ A )
% 2.88/1.59       => ! [B2: A,A2: A,C2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ B2 @ A2 )
% 2.88/1.59           => ( ord_less_eq @ A @ ( minus_minus @ A @ C2 @ A2 ) @ ( minus_minus @ A @ C2 @ B2 ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_243_diff__mono,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( ordered_ab_group_add @ A )
% 2.88/1.59       => ! [A2: A,B2: A,D3: A,C2: A] :
% 2.88/1.59            ( ( ord_less_eq @ A @ A2 @ B2 )
% 2.88/1.59           => ( ( ord_less_eq @ A @ D3 @ C2 )
% 2.88/1.59             => ( ord_less_eq @ A @ ( minus_minus @ A @ A2 @ C2 ) @ ( minus_minus @ A @ B2 @ D3 ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_244_in__diffD,axiom,
% 2.88/1.59      ! [A: $tType,A2: A,M4: multiset @ A,N: multiset @ A] :
% 2.88/1.59        ( ( member @ A @ A2 @ ( set_mset @ A @ ( minus_minus @ ( multiset @ A ) @ M4 @ N ) ) )
% 2.88/1.59       => ( member @ A @ A2 @ ( set_mset @ A @ M4 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_245_add__mset__diff__bothsides,axiom,
% 2.88/1.59      ! [A: $tType,A2: A,M4: multiset @ A,A4: multiset @ A] :
% 2.88/1.59        ( ( minus_minus @ ( multiset @ A ) @ ( add_mset @ A @ A2 @ M4 ) @ ( add_mset @ A @ A2 @ A4 ) )
% 2.88/1.59        = ( minus_minus @ ( multiset @ A ) @ M4 @ A4 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_246_Multiset_Odiff__right__commute,axiom,
% 2.88/1.59      ! [A: $tType,M4: multiset @ A,N: multiset @ A,Q: multiset @ A] :
% 2.88/1.59        ( ( minus_minus @ ( multiset @ A ) @ ( minus_minus @ ( multiset @ A ) @ M4 @ N ) @ Q )
% 2.88/1.59        = ( minus_minus @ ( multiset @ A ) @ ( minus_minus @ ( multiset @ A ) @ M4 @ Q ) @ N ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_247_Multiset_Odiff__cancel,axiom,
% 2.88/1.59      ! [A: $tType,A4: multiset @ A] :
% 2.88/1.59        ( ( minus_minus @ ( multiset @ A ) @ A4 @ A4 )
% 2.88/1.59        = ( zero_zero @ ( multiset @ A ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_248_diff__empty,axiom,
% 2.88/1.59      ! [A: $tType,M4: multiset @ A] :
% 2.88/1.59        ( ( ( minus_minus @ ( multiset @ A ) @ M4 @ ( zero_zero @ ( multiset @ A ) ) )
% 2.88/1.59          = M4 )
% 2.88/1.59        & ( ( minus_minus @ ( multiset @ A ) @ ( zero_zero @ ( multiset @ A ) ) @ M4 )
% 2.88/1.59          = ( zero_zero @ ( multiset @ A ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_249_union__single__eq__diff,axiom,
% 2.88/1.59      ! [A: $tType,X: A,M4: multiset @ A,N: multiset @ A] :
% 2.88/1.59        ( ( ( add_mset @ A @ X @ M4 )
% 2.88/1.59          = N )
% 2.88/1.59       => ( M4
% 2.88/1.59          = ( minus_minus @ ( multiset @ A ) @ N @ ( add_mset @ A @ X @ ( zero_zero @ ( multiset @ A ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_250_add__eq__conv__diff,axiom,
% 2.88/1.59      ! [A: $tType,A2: A,M4: multiset @ A,B2: A,N: multiset @ A] :
% 2.88/1.59        ( ( ( add_mset @ A @ A2 @ M4 )
% 2.88/1.59          = ( add_mset @ A @ B2 @ N ) )
% 2.88/1.59        = ( ( ( M4 = N )
% 2.88/1.59            & ( A2 = B2 ) )
% 2.88/1.59          | ( ( M4
% 2.88/1.59              = ( add_mset @ A @ B2 @ ( minus_minus @ ( multiset @ A ) @ N @ ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) ) ) ) )
% 2.88/1.59            & ( N
% 2.88/1.59              = ( add_mset @ A @ A2 @ ( minus_minus @ ( multiset @ A ) @ M4 @ ( add_mset @ A @ B2 @ ( zero_zero @ ( multiset @ A ) ) ) ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_251_diff__union__swap,axiom,
% 2.88/1.59      ! [A: $tType,A2: A,B2: A,M4: multiset @ A] :
% 2.88/1.59        ( ( A2 != B2 )
% 2.88/1.59       => ( ( add_mset @ A @ B2 @ ( minus_minus @ ( multiset @ A ) @ M4 @ ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) ) ) )
% 2.88/1.59          = ( minus_minus @ ( multiset @ A ) @ ( add_mset @ A @ B2 @ M4 ) @ ( add_mset @ A @ A2 @ ( zero_zero @ ( multiset @ A ) ) ) ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_252_diff__union__cancelR,axiom,
% 2.88/1.59      ! [A: $tType,M4: multiset @ A,N: multiset @ A] :
% 2.88/1.59        ( ( minus_minus @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) @ M4 @ N ) @ N )
% 2.88/1.59        = M4 ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_253_diff__union__cancelL,axiom,
% 2.88/1.59      ! [A: $tType,N: multiset @ A,M4: multiset @ A] :
% 2.88/1.59        ( ( minus_minus @ ( multiset @ A ) @ ( plus_plus @ ( multiset @ A ) @ N @ M4 ) @ N )
% 2.88/1.59        = M4 ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_254_Multiset_Odiff__add,axiom,
% 2.88/1.59      ! [A: $tType,M4: multiset @ A,N: multiset @ A,Q: multiset @ A] :
% 2.88/1.59        ( ( minus_minus @ ( multiset @ A ) @ M4 @ ( plus_plus @ ( multiset @ A ) @ N @ Q ) )
% 2.88/1.59        = ( minus_minus @ ( multiset @ A ) @ ( minus_minus @ ( multiset @ A ) @ M4 @ N ) @ Q ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(fact_255_diff__single__trivial,axiom,
% 2.88/1.59      ! [A: $tType,X: A,M4: multiset @ A] :
% 2.88/1.59        ( ~ ( member @ A @ X @ ( set_mset @ A @ M4 ) )
% 2.88/1.59       => ( ( minus_minus @ ( multiset @ A ) @ M4 @ ( add_mset @ A @ X @ ( zero_zero @ ( multiset @ A ) ) ) )
% 2.88/1.59          = M4 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(subcl_Orderings_Olinorder___HOL_Otype,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ( type @ A ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(subcl_Orderings_Olinorder___Orderings_Oord,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ( ord @ A ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(subcl_Orderings_Olinorder___Orderings_Oorder,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ( order @ A ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(subcl_Orderings_Olinorder___Orderings_Opreorder,axiom,
% 2.88/1.59      ! [A: $tType] :
% 2.88/1.59        ( ( linorder @ A )
% 2.88/1.59       => ( preorder @ A ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(tcon_fun___Orderings_Opreorder,axiom,
% 2.88/1.59      ! [A9: $tType,A10: $tType] :
% 2.88/1.59        ( ( preorder @ A10 )
% 2.88/1.59       => ( preorder @ ( A9 > A10 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(tcon_fun___Orderings_Oorder,axiom,
% 2.88/1.59      ! [A9: $tType,A10: $tType] :
% 2.88/1.59        ( ( order @ A10 )
% 2.88/1.59       => ( order @ ( A9 > A10 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(tcon_fun___Orderings_Oord,axiom,
% 2.88/1.59      ! [A9: $tType,A10: $tType] :
% 2.88/1.59        ( ( ord @ A10 )
% 2.88/1.59       => ( ord @ ( A9 > A10 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(tcon_Set_Oset___Orderings_Opreorder_1,axiom,
% 2.88/1.59      ! [A9: $tType] : ( preorder @ ( set @ A9 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(tcon_Set_Oset___Orderings_Oorder_2,axiom,
% 2.88/1.59      ! [A9: $tType] : ( order @ ( set @ A9 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(tcon_Set_Oset___Orderings_Oord_3,axiom,
% 2.88/1.59      ! [A9: $tType] : ( ord @ ( set @ A9 ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(tcon_HOL_Obool___Orderings_Opreorder_4,axiom,
% 2.88/1.59      preorder @ $o ).
% 2.88/1.59  
% 2.88/1.59  thf(tcon_HOL_Obool___Orderings_Olinorder,axiom,
% 2.88/1.59      linorder @ $o ).
% 2.88/1.59  
% 2.88/1.59  thf(tcon_HOL_Obool___Orderings_Oorder_5,axiom,
% 2.88/1.59      order @ $o ).
% 2.88/1.59  
% 2.88/1.59  thf(tcon_HOL_Obool___Orderings_Oord_6,axiom,
% 2.88/1.59      ord @ $o ).
% 2.88/1.59  
% 2.88/1.59  thf(tcon_Multiset_Omultiset___Groups_Oordered__ab__semigroup__add,axiom,
% 2.88/1.59      ! [A9: $tType] :
% 2.88/1.59        ( ( preorder @ A9 )
% 2.88/1.59       => ( ordere779506340up_add @ ( multiset @ A9 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(tcon_Multiset_Omultiset___Orderings_Opreorder_7,axiom,
% 2.88/1.59      ! [A9: $tType] :
% 2.88/1.59        ( ( preorder @ A9 )
% 2.88/1.59       => ( preorder @ ( multiset @ A9 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(tcon_Multiset_Omultiset___Orderings_Oorder_8,axiom,
% 2.88/1.59      ! [A9: $tType] :
% 2.88/1.59        ( ( preorder @ A9 )
% 2.88/1.59       => ( order @ ( multiset @ A9 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(tcon_Multiset_Omultiset___Orderings_Oord_9,axiom,
% 2.88/1.59      ! [A9: $tType] :
% 2.88/1.59        ( ( preorder @ A9 )
% 2.88/1.59       => ( ord @ ( multiset @ A9 ) ) ) ).
% 2.88/1.59  
% 2.88/1.59  thf(tfree_0,hypothesis,
% 2.88/1.59      linorder @ a ).
% 2.88/1.59  
% 2.88/1.59  thf(conj_0,conjecture,
% 2.88/1.59      is_heap @ a @ ( heapIm818251801eapify @ a @ ( t @ a @ v @ l @ r ) ) ).
% 2.88/1.59  ------------------------
% 3.02/1.62  % (17855)lrs+1002_1:8_bd=off:fd=off:hud=10:tnu=1:i=183:si=on:rtra=on_0 on DTF2THF_17674 for (2999ds/183Mi)
% 3.02/1.62  % (17858)lrs+10_1:1_au=on:inj=on:i=2:si=on:rtra=on_0 on DTF2THF_17674 for (2999ds/2Mi)
% 3.02/1.62  % (17857)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_17674 for (2999ds/27Mi)
% 3.02/1.62  % (17856)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_17674 for (2999ds/4Mi)
% 3.02/1.62  % (17859)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_17674 for (2999ds/2Mi)
% 3.02/1.62  % (17861)lrs+1004_1:128_cond=on:e2e=on:sp=weighted_frequency:i=18:si=on:rtra=on_0 on DTF2THF_17674 for (2999ds/18Mi)
% 3.02/1.62  % (17858)Instruction limit reached!
% 3.02/1.62  % (17858)------------------------------
% 3.02/1.62  % (17858)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.62  % (17858)Termination reason: Unknown
% 3.02/1.62  % (17858)Termination phase: shuffling
% 3.02/1.62  % (17859)Instruction limit reached!
% 3.02/1.62  % (17859)------------------------------
% 3.02/1.62  % (17859)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.62  
% 3.02/1.62  % (17858)Memory used [KB]: 1535
% 3.02/1.62  % (17858)Time elapsed: 0.003 s
% 3.02/1.62  % (17858)Instructions burned: 3 (million)
% 3.02/1.62  % (17858)------------------------------
% 3.02/1.62  % (17858)------------------------------
% 3.02/1.62  % (17859)Termination reason: Unknown
% 3.02/1.62  % (17859)Termination phase: shuffling
% 3.02/1.62  
% 3.02/1.62  % (17859)Memory used [KB]: 1407
% 3.02/1.62  % (17859)Time elapsed: 0.003 s
% 3.02/1.62  % (17859)Instructions burned: 3 (million)
% 3.02/1.62  % (17859)------------------------------
% 3.02/1.62  % (17859)------------------------------
% 3.02/1.62  % (17860)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_17674 for (2999ds/275Mi)
% 3.02/1.62  % (17856)Instruction limit reached!
% 3.02/1.62  % (17856)------------------------------
% 3.02/1.62  % (17856)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.62  % (17856)Termination reason: Unknown
% 3.02/1.62  % (17856)Termination phase: shuffling
% 3.02/1.62  
% 3.02/1.62  % (17856)Memory used [KB]: 1535
% 3.02/1.62  % (17856)Time elapsed: 0.004 s
% 3.02/1.62  % (17856)Instructions burned: 5 (million)
% 3.02/1.62  % (17856)------------------------------
% 3.02/1.62  % (17856)------------------------------
% 3.02/1.63  % (17861)Instruction limit reached!
% 3.02/1.63  % (17861)------------------------------
% 3.02/1.63  % (17861)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.63  % (17861)Termination reason: Unknown
% 3.02/1.63  % (17861)Termination phase: shuffling
% 3.02/1.63  
% 3.02/1.63  % (17861)Memory used [KB]: 1791
% 3.02/1.63  % (17861)Time elapsed: 0.011 s
% 3.02/1.63  % (17861)Instructions burned: 18 (million)
% 3.02/1.63  % (17861)------------------------------
% 3.02/1.63  % (17861)------------------------------
% 3.02/1.63  % (17857)Instruction limit reached!
% 3.02/1.63  % (17857)------------------------------
% 3.02/1.63  % (17857)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.63  % (17857)Termination reason: Unknown
% 3.02/1.63  % (17857)Termination phase: shuffling
% 3.02/1.63  
% 3.02/1.63  % (17857)Memory used [KB]: 1918
% 3.02/1.64  % (17857)Time elapsed: 0.015 s
% 3.02/1.64  % (17857)Instructions burned: 27 (million)
% 3.02/1.64  % (17857)------------------------------
% 3.02/1.64  % (17857)------------------------------
% 3.02/1.64  % (17863)lrs+10_1:1_bet=on:cnfonf=off:fd=off:hud=5:inj=on:i=3:si=on:rtra=on_0 on DTF2THF_17674 for (2999ds/3Mi)
% 3.02/1.64  % (17864)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_17674 for (2999ds/37Mi)
% 3.02/1.64  % (17865)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_17674 for (2999ds/15Mi)
% 3.02/1.64  % (17863)Instruction limit reached!
% 3.02/1.64  % (17863)------------------------------
% 3.02/1.64  % (17863)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.64  % (17863)Termination reason: Unknown
% 3.02/1.64  % (17863)Termination phase: shuffling
% 3.02/1.64  
% 3.02/1.64  % (17863)Memory used [KB]: 1407
% 3.02/1.64  % (17863)Time elapsed: 0.003 s
% 3.02/1.64  % (17863)Instructions burned: 3 (million)
% 3.02/1.64  % (17863)------------------------------
% 3.02/1.64  % (17863)------------------------------
% 3.02/1.65  % (17866)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_17674 for (2999ds/3Mi)
% 3.02/1.65  % (17865)Instruction limit reached!
% 3.02/1.65  % (17865)------------------------------
% 3.02/1.65  % (17865)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.65  % (17865)Termination reason: Unknown
% 3.02/1.65  % (17865)Termination phase: shuffling
% 3.02/1.65  
% 3.02/1.65  % (17865)Memory used [KB]: 1791
% 3.02/1.65  % (17865)Time elapsed: 0.009 s
% 3.02/1.65  % (17865)Instructions burned: 15 (million)
% 3.02/1.65  % (17865)------------------------------
% 3.02/1.65  % (17865)------------------------------
% 3.02/1.65  % (17866)Instruction limit reached!
% 3.02/1.65  % (17866)------------------------------
% 3.02/1.65  % (17866)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.65  % (17866)Termination reason: Unknown
% 3.02/1.65  % (17866)Termination phase: shuffling
% 3.02/1.65  
% 3.02/1.65  % (17866)Memory used [KB]: 1407
% 3.02/1.65  % (17866)Time elapsed: 0.003 s
% 3.02/1.65  % (17866)Instructions burned: 3 (million)
% 3.02/1.65  % (17866)------------------------------
% 3.02/1.65  % (17866)------------------------------
% 3.02/1.65  % (17867)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_17674 for (2999ds/1041Mi)
% 3.02/1.66  % (17864)Instruction limit reached!
% 3.02/1.66  % (17864)------------------------------
% 3.02/1.66  % (17864)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.66  % (17869)lrs+10_1:1_av=off:chr=on:plsq=on:slsq=on:i=7:si=on:rtra=on_0 on DTF2THF_17674 for (2999ds/7Mi)
% 3.02/1.66  % (17864)Termination reason: Unknown
% 3.02/1.66  % (17864)Termination phase: shuffling
% 3.02/1.66  
% 3.02/1.66  % (17864)Memory used [KB]: 2174
% 3.02/1.66  % (17864)Time elapsed: 0.019 s
% 3.02/1.66  % (17864)Instructions burned: 37 (million)
% 3.02/1.66  % (17864)------------------------------
% 3.02/1.66  % (17864)------------------------------
% 3.02/1.66  % (17869)Instruction limit reached!
% 3.02/1.66  % (17869)------------------------------
% 3.02/1.66  % (17869)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.66  % (17869)Termination reason: Unknown
% 3.02/1.66  % (17869)Termination phase: shuffling
% 3.02/1.66  
% 3.02/1.66  % (17869)Memory used [KB]: 1535
% 3.02/1.66  % (17869)Time elapsed: 0.005 s
% 3.02/1.66  % (17869)Instructions burned: 7 (million)
% 3.02/1.66  % (17869)------------------------------
% 3.02/1.66  % (17869)------------------------------
% 3.02/1.66  % (17860)Refutation not found, incomplete strategy
% 3.02/1.66  % (17860)------------------------------
% 3.02/1.66  % (17860)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.66  % (17860)Termination reason: Refutation not found, incomplete strategy
% 3.02/1.66  
% 3.02/1.66  
% 3.02/1.66  % (17860)Memory used [KB]: 6780
% 3.02/1.66  % (17860)Time elapsed: 0.040 s
% 3.02/1.66  % (17860)Instructions burned: 71 (million)
% 3.02/1.66  % (17860)------------------------------
% 3.02/1.66  % (17860)------------------------------
% 3.02/1.66  % (17871)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_17674 for (2999ds/3Mi)
% 3.02/1.67  % (17870)lrs+10_1:1_acc=on:amm=sco:cs=on:tgt=full:i=16:si=on:rtra=on_0 on DTF2THF_17674 for (2999ds/16Mi)
% 3.02/1.67  % (17871)Instruction limit reached!
% 3.02/1.67  % (17871)------------------------------
% 3.02/1.67  % (17871)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.67  % (17871)Termination reason: Unknown
% 3.02/1.67  % (17871)Termination phase: shuffling
% 3.02/1.67  
% 3.02/1.67  % (17871)Memory used [KB]: 1407
% 3.02/1.67  % (17871)Time elapsed: 0.003 s
% 3.02/1.67  % (17871)Instructions burned: 3 (million)
% 3.02/1.67  % (17871)------------------------------
% 3.02/1.67  % (17871)------------------------------
% 3.02/1.67  % (17855)Instruction limit reached!
% 3.02/1.67  % (17855)------------------------------
% 3.02/1.67  % (17855)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.67  % (17855)Termination reason: Unknown
% 3.02/1.67  % (17855)Termination phase: Saturation
% 3.02/1.67  
% 3.02/1.67  % (17855)Memory used [KB]: 7547
% 3.02/1.67  % (17855)Time elapsed: 0.055 s
% 3.02/1.67  % (17855)Instructions burned: 183 (million)
% 3.02/1.67  % (17855)------------------------------
% 3.02/1.67  % (17855)------------------------------
% 3.02/1.67  % (17872)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_17674 for (2999ds/3Mi)
% 3.02/1.67  % (17870)Instruction limit reached!
% 3.02/1.67  % (17870)------------------------------
% 3.02/1.67  % (17870)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.67  % (17870)Termination reason: Unknown
% 3.02/1.67  % (17870)Termination phase: shuffling
% 3.02/1.67  
% 3.02/1.67  % (17870)Memory used [KB]: 1791
% 3.02/1.67  % (17870)Time elapsed: 0.010 s
% 3.02/1.67  % (17870)Instructions burned: 17 (million)
% 3.02/1.67  % (17870)------------------------------
% 3.02/1.67  % (17870)------------------------------
% 3.02/1.67  % (17872)Instruction limit reached!
% 3.02/1.67  % (17872)------------------------------
% 3.02/1.67  % (17872)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.67  % (17872)Termination reason: Unknown
% 3.02/1.67  % (17872)Termination phase: shuffling
% 3.02/1.67  
% 3.02/1.67  % (17872)Memory used [KB]: 1407
% 3.02/1.67  % (17872)Time elapsed: 0.003 s
% 3.02/1.67  % (17872)Instructions burned: 3 (million)
% 3.02/1.67  % (17872)------------------------------
% 3.02/1.67  % (17872)------------------------------
% 3.02/1.68  % (17873)lrs+10_1:1_cnfonf=off:cs=on:hud=3:prag=on:sup=off:i=7:si=on:rtra=on_0 on DTF2THF_17674 for (2999ds/7Mi)
% 3.02/1.68  % (17876)lrs+1002_1:1_anc=all_dependent:au=on:cbe=off:fde=unused:ntd=on:i=18:si=on:rtra=on_0 on DTF2THF_17674 for (2999ds/18Mi)
% 3.02/1.68  % (17874)dis+1002_1:1_add=large:cnfonf=lazy_pi_sigma_gen:fe=off:prag=on:i=3:si=on:rtra=on_0 on DTF2THF_17674 for (2999ds/3Mi)
% 3.02/1.68  % (17873)Instruction limit reached!
% 3.02/1.68  % (17873)------------------------------
% 3.02/1.68  % (17873)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.68  % (17873)Termination reason: Unknown
% 3.02/1.68  % (17873)Termination phase: shuffling
% 3.02/1.68  
% 3.02/1.68  % (17873)Memory used [KB]: 1535
% 3.02/1.68  % (17873)Time elapsed: 0.005 s
% 3.02/1.68  % (17873)Instructions burned: 7 (million)
% 3.02/1.68  % (17873)------------------------------
% 3.02/1.68  % (17873)------------------------------
% 3.02/1.68  % (17874)Instruction limit reached!
% 3.02/1.68  % (17874)------------------------------
% 3.02/1.68  % (17874)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.68  % (17874)Termination reason: Unknown
% 3.02/1.68  % (17874)Termination phase: shuffling
% 3.02/1.68  
% 3.02/1.68  % (17874)Memory used [KB]: 1407
% 3.02/1.68  % (17874)Time elapsed: 0.004 s
% 3.02/1.68  % (17874)Instructions burned: 4 (million)
% 3.02/1.68  % (17874)------------------------------
% 3.02/1.68  % (17874)------------------------------
% 3.02/1.68  % (17875)dis+1004_1:1_cha=on:cs=on:fe=off:hud=1:i=4:si=on:rtra=on_0 on DTF2THF_17674 for (2999ds/4Mi)
% 3.02/1.68  % (17875)Instruction limit reached!
% 3.02/1.68  % (17875)------------------------------
% 3.02/1.68  % (17875)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.68  % (17876)Instruction limit reached!
% 3.02/1.68  % (17876)------------------------------
% 3.02/1.68  % (17876)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.68  % (17876)Termination reason: Unknown
% 3.02/1.68  % (17876)Termination phase: shuffling
% 3.02/1.68  
% 3.02/1.68  % (17876)Memory used [KB]: 1918
% 3.02/1.68  % (17876)Time elapsed: 0.007 s
% 3.02/1.68  % (17876)Instructions burned: 18 (million)
% 3.02/1.68  % (17876)------------------------------
% 3.02/1.68  % (17876)------------------------------
% 3.02/1.68  % (17875)Termination reason: Unknown
% 3.02/1.68  % (17875)Termination phase: shuffling
% 3.02/1.68  
% 3.02/1.68  % (17875)Memory used [KB]: 1535
% 3.02/1.68  % (17875)Time elapsed: 0.004 s
% 3.02/1.68  % (17875)Instructions burned: 5 (million)
% 3.02/1.68  % (17875)------------------------------
% 3.02/1.68  % (17875)------------------------------
% 3.02/1.69  % (17877)lrs+10_1:1_e2e=on:sd=1:sgt=8:ss=axioms:i=710:si=on:rtra=on_0 on DTF2THF_17674 for (2999ds/710Mi)
% 3.02/1.69  % (17878)lrs+1004_1:1_chr=on:prag=on:i=6:si=on:rtra=on_0 on DTF2THF_17674 for (2999ds/6Mi)
% 3.02/1.69  % (17878)Instruction limit reached!
% 3.02/1.69  % (17878)------------------------------
% 3.02/1.69  % (17878)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.69  % (17878)Termination reason: Unknown
% 3.02/1.69  % (17878)Termination phase: shuffling
% 3.02/1.69  
% 3.02/1.69  % (17878)Memory used [KB]: 1535
% 3.02/1.69  % (17878)Time elapsed: 0.005 s
% 3.02/1.69  % (17878)Instructions burned: 7 (million)
% 3.02/1.69  % (17878)------------------------------
% 3.02/1.69  % (17878)------------------------------
% 3.02/1.69  % (17881)dis+10_1:1_cnfonf=lazy_gen:fe=off:i=5:si=on:rtra=on_0 on DTF2THF_17674 for (2999ds/5Mi)
% 3.02/1.70  % (17879)dis+1002_5:1_au=on:bd=off:e2e=on:fde=none:fs=off:fsr=off:sos=on:i=902:si=on:rtra=on_0 on DTF2THF_17674 for (2999ds/902Mi)
% 3.02/1.70  % (17881)Instruction limit reached!
% 3.02/1.70  % (17881)------------------------------
% 3.02/1.70  % (17881)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.70  % (17881)Termination reason: Unknown
% 3.02/1.70  % (17881)Termination phase: shuffling
% 3.02/1.70  
% 3.02/1.70  % (17881)Memory used [KB]: 1535
% 3.02/1.70  % (17881)Time elapsed: 0.003 s
% 3.02/1.70  % (17881)Instructions burned: 7 (million)
% 3.02/1.70  % (17881)------------------------------
% 3.02/1.70  % (17881)------------------------------
% 3.02/1.70  % (17880)dis+21_1:8_apa=on:cnfonf=off:fd=off:fsr=off:hud=0:ins=1:kws=inv_frequency:nwc=10.0:ss=axioms:st=5.0:i=21:si=on:rtra=on_0 on DTF2THF_17674 for (2999ds/21Mi)
% 3.02/1.70  % (17882)lrs+2_1:1_cnfonf=lazy_not_gen_be_off:cs=on:fe=off:hud=10:inj=on:ins=3:plsq=on:plsqc=1:sd=10:ss=axioms:tnu=1:i=6:si=on:rtra=on_0 on DTF2THF_17674 for (2999ds/6Mi)
% 3.02/1.70  % (17882)Instruction limit reached!
% 3.02/1.70  % (17882)------------------------------
% 3.02/1.70  % (17882)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.70  % (17882)Termination reason: Unknown
% 3.02/1.70  % (17882)Termination phase: shuffling
% 3.02/1.70  
% 3.02/1.70  % (17882)Memory used [KB]: 1535
% 3.02/1.70  % (17882)Time elapsed: 0.005 s
% 3.02/1.70  % (17882)Instructions burned: 7 (million)
% 3.02/1.70  % (17882)------------------------------
% 3.02/1.70  % (17882)------------------------------
% 3.02/1.71  % (17885)dis+1010_1:4_atotf=0.2:c=on:cbe=off:cnfonf=lazy_simp:fe=off:ins=2:ntd=on:s2a=on:s2at=5.0:sgt=5:ss=axioms:st=1.5:i=779:si=on:rtra=on_0 on DTF2THF_17674 for (2999ds/779Mi)
% 3.02/1.71  % (17884)lrs+1002_1:128_au=on:c=on:fsr=off:piset=equals:i=377:si=on:rtra=on_0 on DTF2THF_17674 for (2999ds/377Mi)
% 3.02/1.71  % (17880)Instruction limit reached!
% 3.02/1.71  % (17880)------------------------------
% 3.02/1.71  % (17880)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.71  % (17880)Termination reason: Unknown
% 3.02/1.71  % (17880)Termination phase: shuffling
% 3.02/1.71  
% 3.02/1.71  % (17880)Memory used [KB]: 1918
% 3.02/1.71  % (17880)Time elapsed: 0.013 s
% 3.02/1.71  % (17880)Instructions burned: 22 (million)
% 3.02/1.71  % (17880)------------------------------
% 3.02/1.71  % (17880)------------------------------
% 3.02/1.72  % (17886)lrs+10_1:1_cnfonf=lazy_not_be_gen:ntd=on:sp=const_min:ss=axioms:sup=off:i=19:si=on:rtra=on_0 on DTF2THF_17674 for (2998ds/19Mi)
% 3.02/1.72  % (17887)lrs+1010_1:1_au=on:s2a=on:sd=1:sgt=50:ss=axioms:i=879:si=on:rtra=on_0 on DTF2THF_17674 for (2998ds/879Mi)
% 3.02/1.73  % (17886)Instruction limit reached!
% 3.02/1.73  % (17886)------------------------------
% 3.02/1.73  % (17886)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.73  % (17886)Termination reason: Unknown
% 3.02/1.73  % (17886)Termination phase: shuffling
% 3.02/1.73  
% 3.02/1.73  % (17886)Memory used [KB]: 1918
% 3.02/1.73  % (17886)Time elapsed: 0.011 s
% 3.02/1.73  % (17886)Instructions burned: 20 (million)
% 3.02/1.73  % (17886)------------------------------
% 3.02/1.73  % (17886)------------------------------
% 3.02/1.75  % (17888)dis+1002_1:128_acc=on:er=filter:i=17:si=on:rtra=on_0 on DTF2THF_17674 for (2998ds/17Mi)
% 3.02/1.76  % (17888)Instruction limit reached!
% 3.02/1.76  % (17888)------------------------------
% 3.02/1.76  % (17888)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.76  % (17888)Termination reason: Unknown
% 3.02/1.76  % (17888)Termination phase: shuffling
% 3.02/1.76  
% 3.02/1.76  % (17888)Memory used [KB]: 1918
% 3.02/1.76  % (17888)Time elapsed: 0.011 s
% 3.02/1.76  % (17888)Instructions burned: 18 (million)
% 3.02/1.76  % (17888)------------------------------
% 3.02/1.76  % (17888)------------------------------
% 3.02/1.77  % (17892)ott+21_1:1_apa=on:au=on:cnfonf=off:sos=on:i=3:si=on:rtra=on_0 on DTF2THF_17674 for (2998ds/3Mi)
% 3.02/1.77  % (17892)Instruction limit reached!
% 3.02/1.77  % (17892)------------------------------
% 3.02/1.77  % (17892)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.77  % (17892)Termination reason: Unknown
% 3.02/1.77  % (17892)Termination phase: shuffling
% 3.02/1.77  
% 3.02/1.77  % (17892)Memory used [KB]: 1407
% 3.02/1.77  % (17892)Time elapsed: 0.003 s
% 3.02/1.77  % (17892)Instructions burned: 3 (million)
% 3.02/1.77  % (17892)------------------------------
% 3.02/1.77  % (17892)------------------------------
% 3.02/1.78  % (17879)Refutation not found, incomplete strategy
% 3.02/1.78  % (17879)------------------------------
% 3.02/1.78  % (17879)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.78  % (17879)Termination reason: Refutation not found, incomplete strategy
% 3.02/1.78  
% 3.02/1.78  
% 3.02/1.78  % (17879)Memory used [KB]: 7803
% 3.02/1.78  % (17879)Time elapsed: 0.083 s
% 3.02/1.78  % (17879)Instructions burned: 185 (million)
% 3.02/1.78  % (17879)------------------------------
% 3.02/1.78  % (17879)------------------------------
% 3.02/1.79  % (17895)dis+10_1:1_ixr=off:plsq=on:plsqc=1:plsqr=32,1:s2a=on:i=127:si=on:rtra=on_0 on DTF2THF_17674 for (2998ds/127Mi)
% 3.02/1.79  % (17894)lrs+1010_1:8_cnfonf=off:hud=1:inj=on:tnu=5:i=30:si=on:rtra=on_0 on DTF2THF_17674 for (2998ds/30Mi)
% 3.02/1.80  % (17894)Instruction limit reached!
% 3.02/1.80  % (17894)------------------------------
% 3.02/1.80  % (17894)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.80  % (17894)Termination reason: Unknown
% 3.02/1.80  % (17894)Termination phase: shuffling
% 3.02/1.80  
% 3.02/1.80  % (17894)Memory used [KB]: 2046
% 3.02/1.80  % (17894)Time elapsed: 0.017 s
% 3.02/1.80  % (17894)Instructions burned: 31 (million)
% 3.02/1.80  % (17894)------------------------------
% 3.02/1.80  % (17894)------------------------------
% 3.02/1.82  % (17896)lrs+1002_1:1_au=on:cbe=off:cnfonf=conj_eager:cond=on:hi=on:i=100:si=on:rtra=on_0 on DTF2THF_17674 for (2998ds/100Mi)
% 3.02/1.83  % (17887)First to succeed.
% 3.02/1.83  % (17895)Instruction limit reached!
% 3.02/1.83  % (17895)------------------------------
% 3.02/1.83  % (17895)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.83  % (17895)Termination reason: Unknown
% 3.02/1.83  % (17895)Termination phase: Property scanning
% 3.02/1.83  
% 3.02/1.83  % (17895)Memory used [KB]: 2686
% 3.02/1.83  % (17895)Time elapsed: 0.046 s
% 3.02/1.83  % (17895)Instructions burned: 127 (million)
% 3.02/1.83  % (17895)------------------------------
% 3.02/1.83  % (17895)------------------------------
% 3.02/1.84  % (17887)Refutation found. Thanks to Tanya!
% 3.02/1.84  % SZS status Theorem for DTF2THF_17674
% 3.02/1.84  % SZS output start Proof for DTF2THF_17674
% 3.02/1.84  thf(type_def_5, type, product_prod: ($tType * $tType) > $tType).
% 3.02/1.84  thf(type_def_6, type, set: ($tType) > $tType).
% 3.02/1.84  thf(type_def_8, type, tree: ($tType) > $tType).
% 3.02/1.84  thf(type_def_9, type, list: ($tType) > $tType).
% 3.02/1.84  thf(type_def_10, type, multiset: ($tType) > $tType).
% 3.02/1.84  thf(type_def_11, type, a: $tType).
% 3.02/1.84  thf(func_def_0, type, product_prod: ($tType * $tType) > $tType).
% 3.02/1.84  thf(func_def_1, type, multiset: ($tType) > $tType).
% 3.02/1.84  thf(func_def_2, type, list: ($tType) > $tType).
% 3.02/1.84  thf(func_def_3, type, tree: ($tType) > $tType).
% 3.02/1.84  thf(func_def_4, type, set: ($tType) > $tType).
% 3.02/1.84  thf(func_def_5, type, a: $tType).
% 3.02/1.84  thf(func_def_6, type, type: !>[X0: $tType]:($o)).
% 3.02/1.84  thf(func_def_7, type, ord: !>[X0: $tType]:($o)).
% 3.02/1.84  thf(func_def_8, type, order: !>[X0: $tType]:($o)).
% 3.02/1.84  thf(func_def_9, type, linorder: !>[X0: $tType]:($o)).
% 3.02/1.84  thf(func_def_10, type, preorder: !>[X0: $tType]:($o)).
% 3.02/1.84  thf(func_def_11, type, ordered_ab_group_add: !>[X0: $tType]:($o)).
% 3.02/1.84  thf(func_def_12, type, linord219039673up_add: !>[X0: $tType]:($o)).
% 3.02/1.84  thf(func_def_13, type, ordere216010020id_add: !>[X0: $tType]:($o)).
% 3.02/1.84  thf(func_def_14, type, ordere779506340up_add: !>[X0: $tType]:($o)).
% 3.02/1.84  thf(func_def_15, type, linord1659791738miring: !>[X0: $tType]:($o)).
% 3.02/1.84  thf(func_def_16, type, canoni770627133id_add: !>[X0: $tType]:($o)).
% 3.02/1.84  thf(func_def_17, type, ordere236663937imp_le: !>[X0: $tType]:($o)).
% 3.02/1.84  thf(func_def_18, type, ordere623563068d_diff: !>[X0: $tType]:($o)).
% 3.02/1.84  thf(func_def_19, type, unique1598680935umeral: !>[X0: $tType]:($o)).
% 3.02/1.84  thf(func_def_20, type, ordere516151231imp_le: !>[X0: $tType]:($o)).
% 3.02/1.84  thf(func_def_21, type, bNF_Ca1785829860lChain: !>[X0: $tType, X1: $tType]:(set @ product_prod @ X0 @ X0 > (X0 > X1) > $o)).
% 3.02/1.84  thf(func_def_22, type, unique455577585es_aux: !>[X0: $tType]:(product_prod @ X0 @ X0 > $o)).
% 3.02/1.84  thf(func_def_23, type, minus_minus: !>[X0: $tType]:(X0 > X0 > X0)).
% 3.02/1.84  thf(func_def_24, type, plus_plus: !>[X0: $tType]:(X0 > X0 > X0)).
% 3.02/1.84  thf(func_def_25, type, zero_zero: !>[X0: $tType]:(X0)).
% 3.02/1.84  thf(func_def_26, type, nO_MATCH: !>[X0: $tType, X1: $tType]:(X0 > X1 > $o)).
% 3.02/1.84  thf(func_def_27, type, heapIm818251801eapify: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_28, type, heapIm1271749598e_left: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_29, type, heapIm1434396069_right: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_30, type, heapIm748920189ftDown: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_31, type, heap: !>[X0: $tType, X1: $tType]:(X0 > (X0 > $o) > (list @ X1 > X0) > (X0 > multiset @ X1) > (X0 > tree @ X1) > (X0 > product_prod @ X1 @ X0) > $o)).
% 3.02/1.84  thf(func_def_32, type, heap_axioms: !>[X0: $tType, X1: $tType]:((X0 > $o) > (list @ X1 > X0) > (X0 > multiset @ X1) > (X0 > tree @ X1) > (X0 > product_prod @ X1 @ X0) > $o)).
% 3.02/1.84  thf(func_def_33, type, e: !>[X0: $tType]:(tree @ X0)).
% 3.02/1.84  thf(func_def_34, type, t: !>[X0: $tType]:(X0 > tree @ X0 > tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_35, type, case_Tree: !>[X0: $tType, X1: $tType]:(X0 > (X1 > tree @ X1 > tree @ X1 > X0) > tree @ X1 > X0)).
% 3.02/1.84  thf(func_def_36, type, rec_Tree: !>[X0: $tType, X1: $tType]:(X0 > (X1 > tree @ X1 > tree @ X1 > X0 > X0 > X0) > tree @ X1 > X0)).
% 3.02/1.84  thf(func_def_37, type, in_tree: !>[X0: $tType]:(X0 > tree @ X0 > $o)).
% 3.02/1.84  thf(func_def_38, type, is_heap: !>[X0: $tType]:(tree @ X0 > $o)).
% 3.02/1.84  thf(func_def_39, type, multiset2: !>[X0: $tType]:(tree @ X0 > multiset @ X0)).
% 3.02/1.84  thf(func_def_40, type, val: !>[X0: $tType]:(tree @ X0 > X0)).
% 3.02/1.84  thf(func_def_41, type, lattic929149872er_Max: !>[X0: $tType]:(set @ X0 > X0)).
% 3.02/1.84  thf(func_def_42, type, add_mset: !>[X0: $tType]:(X0 > multiset @ X0 > multiset @ X0)).
% 3.02/1.84  thf(func_def_43, type, comm_monoid_sum_mset: !>[X0: $tType]:((X0 > X0 > X0) > X0 > multiset @ X0 > X0)).
% 3.02/1.84  thf(func_def_44, type, fold_mset: !>[X0: $tType, X1: $tType]:((X0 > X1 > X1) > X1 > multiset @ X0 > X1)).
% 3.02/1.84  thf(func_def_45, type, is_empty: !>[X0: $tType]:(multiset @ X0 > $o)).
% 3.02/1.84  thf(func_def_46, type, mult: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > set @ product_prod @ multiset @ X0 @ multiset @ X0)).
% 3.02/1.84  thf(func_def_47, type, mult1: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > set @ product_prod @ multiset @ X0 @ multiset @ X0)).
% 3.02/1.84  thf(func_def_48, type, multp: !>[X0: $tType]:((X0 > X0 > $o) > multiset @ X0 > multiset @ X0 > $o)).
% 3.02/1.84  thf(func_def_49, type, set_mset: !>[X0: $tType]:(multiset @ X0 > set @ X0)).
% 3.02/1.84  thf(func_def_50, type, ord_less_eq: !>[X0: $tType]:(X0 > X0 > $o)).
% 3.02/1.84  thf(func_def_51, type, order_Greatest: !>[X0: $tType]:((X0 > $o) > X0)).
% 3.02/1.84  thf(func_def_52, type, product_Pair: !>[X0: $tType, X1: $tType]:(X0 > X1 > product_prod @ X0 @ X1)).
% 3.02/1.84  thf(func_def_53, type, produc2004651681e_prod: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > X2) > product_prod @ X0 @ X1 > X2)).
% 3.02/1.84  thf(func_def_54, type, product_rec_prod: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > X2) > product_prod @ X0 @ X1 > X2)).
% 3.02/1.84  thf(func_def_55, type, irrefl: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > $o)).
% 3.02/1.84  thf(func_def_56, type, trans: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > $o)).
% 3.02/1.84  thf(func_def_57, type, collection: !>[X0: $tType, X1: $tType]:(X0 > (X0 > $o) > (list @ X1 > X0) > (X0 > multiset @ X1) > $o)).
% 3.02/1.84  thf(func_def_58, type, set2: !>[X0: $tType, X1: $tType]:((X0 > multiset @ X1) > X0 > set @ X1)).
% 3.02/1.84  thf(func_def_59, type, removeMax: !>[X0: $tType, X1: $tType]:(X0 > (X0 > $o) > (list @ X1 > X0) > (X0 > multiset @ X1) > (X0 > product_prod @ X1 @ X0) > (X0 > $o) > $o)).
% 3.02/1.84  thf(func_def_60, type, removeMax_axioms: !>[X0: $tType, X1: $tType]:((X0 > $o) > (list @ X1 > X0) > (X0 > multiset @ X1) > (X0 > product_prod @ X1 @ X0) > (X0 > $o) > $o)).
% 3.02/1.84  thf(func_def_61, type, collect: !>[X0: $tType]:((X0 > $o) > set @ X0)).
% 3.02/1.84  thf(func_def_62, type, member: !>[X0: $tType]:(X0 > set @ X0 > $o)).
% 3.02/1.84  thf(func_def_63, type, l: tree @ a).
% 3.02/1.84  thf(func_def_64, type, r: tree @ a).
% 3.02/1.84  thf(func_def_65, type, v: a).
% 3.02/1.84  thf(func_def_84, type, sP0: !>[X0: $tType, X1: $tType]:((X1 > $o) > (X1 > product_prod @ X0 @ X1) > (X1 > tree @ X0) > $o)).
% 3.02/1.84  thf(func_def_85, type, sP1: !>[X0: $tType, X1: $tType]:((X1 > $o) > (X1 > product_prod @ X0 @ X1) > (X1 > tree @ X0) > $o)).
% 3.02/1.84  thf(func_def_86, type, sP2: !>[X0: $tType]:(X0 > X0 > X0 > $o)).
% 3.02/1.84  thf(func_def_87, type, sP3: !>[X0: $tType]:(X0 > X0 > X0 > $o)).
% 3.02/1.84  thf(func_def_88, type, sP4: !>[X0: $tType]:(X0 > X0 > X0 > $o)).
% 3.02/1.84  thf(func_def_89, type, sK5: !>[X0: $tType]:(tree @ X0 > X0)).
% 3.02/1.84  thf(func_def_90, type, sK6: !>[X0: $tType]:(tree @ X0 > X0)).
% 3.02/1.84  thf(func_def_91, type, sK7: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_92, type, sK8: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_93, type, sK9: !>[X0: $tType]:(tree @ X0 > X0)).
% 3.02/1.84  thf(func_def_94, type, sK10: !>[X0: $tType]:(tree @ X0 > X0)).
% 3.02/1.84  thf(func_def_95, type, sK11: !>[X0: $tType]:(tree @ X0 > X0)).
% 3.02/1.84  thf(func_def_96, type, sK12: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_97, type, sK13: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_98, type, sK14: !>[X0: $tType]:(tree @ X0 > X0)).
% 3.02/1.84  thf(func_def_99, type, sK15: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_100, type, sK16: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_101, type, sK17: !>[X0: $tType]:(tree @ X0 > X0)).
% 3.02/1.84  thf(func_def_102, type, sK18: !>[X0: $tType]:(tree @ X0 > X0)).
% 3.02/1.84  thf(func_def_103, type, sK19: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_104, type, sK20: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_105, type, sK21: !>[X0: $tType, X1: $tType]:((X1 > $o) > (X1 > product_prod @ X0 @ X1) > (X1 > tree @ X0) > X1)).
% 3.02/1.84  thf(func_def_106, type, sK22: !>[X0: $tType, X1: $tType]:((X1 > $o) > (X1 > product_prod @ X0 @ X1) > (X1 > tree @ X0) > X0)).
% 3.02/1.84  thf(func_def_107, type, sK23: !>[X0: $tType, X1: $tType]:((X1 > $o) > (X1 > product_prod @ X0 @ X1) > (X1 > tree @ X0) > X1)).
% 3.02/1.84  thf(func_def_108, type, sK24: !>[X0: $tType, X1: $tType]:((X1 > $o) > (X1 > product_prod @ X0 @ X1) > (X1 > tree @ X0) > X1)).
% 3.02/1.84  thf(func_def_109, type, sK25: !>[X0: $tType, X1: $tType]:((X1 > $o) > (X1 > product_prod @ X0 @ X1) > (X1 > tree @ X0) > X0)).
% 3.02/1.84  thf(func_def_110, type, sK26: !>[X0: $tType, X1: $tType]:((X1 > $o) > (X1 > product_prod @ X0 @ X1) > (X1 > tree @ X0) > X1)).
% 3.02/1.84  thf(func_def_111, type, sK27: !>[X0: $tType, X1: $tType]:((list @ X0 > X1) > (X1 > tree @ X0) > list @ X0)).
% 3.02/1.84  thf(func_def_112, type, sK28: !>[X0: $tType, X1: $tType]:((X1 > tree @ X0) > (X1 > multiset @ X0) > X1)).
% 3.02/1.84  thf(func_def_113, type, sK29: !>[X0: $tType, X1: $tType]:((X1 > product_prod @ X0 @ X1) > (X1 > $o) > (X1 > multiset @ X0) > X1)).
% 3.02/1.84  thf(func_def_114, type, sK30: !>[X0: $tType, X1: $tType]:((X1 > product_prod @ X0 @ X1) > (X1 > $o) > (X1 > multiset @ X0) > X0)).
% 3.02/1.84  thf(func_def_115, type, sK31: !>[X0: $tType, X1: $tType]:((X1 > product_prod @ X0 @ X1) > (X1 > $o) > (X1 > multiset @ X0) > X1)).
% 3.02/1.84  thf(func_def_116, type, sK32: !>[X0: $tType, X1: $tType]:((X1 > $o) > (X1 > tree @ X0) > X1)).
% 3.02/1.84  thf(func_def_117, type, sK33: !>[X0: $tType]:(tree @ X0 > X0)).
% 3.02/1.84  thf(func_def_118, type, sK34: !>[X0: $tType]:(tree @ X0 > X0)).
% 3.02/1.84  thf(func_def_119, type, sK35: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_120, type, sK36: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_121, type, sK37: !>[X0: $tType]:(tree @ X0 > X0)).
% 3.02/1.84  thf(func_def_122, type, sK38: !>[X0: $tType]:(tree @ X0 > X0)).
% 3.02/1.84  thf(func_def_123, type, sK39: !>[X0: $tType]:(tree @ X0 > X0)).
% 3.02/1.84  thf(func_def_124, type, sK40: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_125, type, sK41: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_126, type, sK42: !>[X0: $tType]:(tree @ X0 > X0)).
% 3.02/1.84  thf(func_def_127, type, sK43: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_128, type, sK44: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_129, type, sK45: !>[X0: $tType]:(tree @ X0 > X0)).
% 3.02/1.84  thf(func_def_130, type, sK46: !>[X0: $tType]:(tree @ X0 > X0)).
% 3.02/1.84  thf(func_def_131, type, sK47: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_132, type, sK48: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_133, type, sK49: !>[X0: $tType]:(tree @ X0 > X0)).
% 3.02/1.84  thf(func_def_134, type, sK50: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_135, type, sK51: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_136, type, sK52: !>[X0: $tType, X1: $tType]:((X1 > X0) > (X1 > X0) > X1)).
% 3.02/1.84  thf(func_def_137, type, sK53: !>[X0: $tType]:((X0 > X0 > $o) > X0)).
% 3.02/1.84  thf(func_def_138, type, sK54: !>[X0: $tType]:((X0 > X0 > $o) > X0)).
% 3.02/1.84  thf(func_def_139, type, sK55: !>[X0: $tType]:((X0 > X0 > $o) > X0)).
% 3.02/1.84  thf(func_def_140, type, sK56: !>[X0: $tType]:((X0 > X0 > $o) > X0)).
% 3.02/1.84  thf(func_def_141, type, sK57: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 3.02/1.84  thf(func_def_142, type, sK58: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 3.02/1.84  thf(func_def_143, type, sK59: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 3.02/1.84  thf(func_def_144, type, sK60: !>[X0: $tType]:(X0 > tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_145, type, sK61: !>[X0: $tType]:(X0 > tree @ X0 > X0)).
% 3.02/1.84  thf(func_def_146, type, sK62: !>[X0: $tType]:(X0 > tree @ X0 > tree @ X0)).
% 3.02/1.84  thf(func_def_148, type, ph64: !>[X0: $tType]:(X0)).
% 3.02/1.84  thf(f1277,plain,(
% 3.02/1.84    $false),
% 3.02/1.84    inference(avatar_sat_refutation,[status(thm)],[f1024,f1025,f1027,f1276])).
% 3.02/1.84  thf(f1276,plain,(
% 3.02/1.84    ~spl63_2),
% 3.02/1.84    inference(avatar_contradiction_clause,[status(thm)],[f1275])).
% 3.02/1.84  thf(f1275,plain,(
% 3.02/1.84    $false | ~spl63_2),
% 3.02/1.84    inference(subsumption_resolution,[status(thm)],[f1274,f892])).
% 3.02/1.84  thf(f892,plain,(
% 3.02/1.84    ((is_heap @ a @ (heapIm818251801eapify @ a @ (t @ a @ v @ l @ r))) != $true)),
% 3.02/1.84    inference(cnf_transformation,[status(thm)],[f729])).
% 3.02/1.84  thf(f729,plain,(
% 3.02/1.84    ((is_heap @ a @ (heapIm818251801eapify @ a @ (t @ a @ v @ l @ r))) != $true)),
% 3.02/1.84    inference(flattening,[status(thm)],[f520])).
% 3.02/1.84  thf(f520,plain,(
% 3.02/1.84    ~((is_heap @ a @ (heapIm818251801eapify @ a @ (t @ a @ v @ l @ r))) = $true)),
% 3.02/1.84    inference(fool_elimination,[status(thm)],[f519])).
% 3.02/1.84  thf(f519,plain,(
% 3.02/1.84    ~(is_heap @ a @ (heapIm818251801eapify @ a @ (t @ a @ v @ l @ r)))),
% 3.02/1.84    inference(rectify,[status(thm)],[f277])).
% 3.02/1.84  thf(f277,negated_conjecture,(
% 3.02/1.84    ~(is_heap @ a @ (heapIm818251801eapify @ a @ (t @ a @ v @ l @ r)))),
% 3.02/1.84    inference(negated_conjecture,[status(cth)],[f276])).
% 3.02/1.84  thf(f276,conjecture,(
% 3.02/1.84    (is_heap @ a @ (heapIm818251801eapify @ a @ (t @ a @ v @ l @ r)))),
% 3.02/1.84    file('/export/starexec/sandbox2/tmp/tmp.XltU8E9Ncf/DTF2THF_17674.p',conj_0)).
% 3.02/1.84  thf(f1274,plain,(
% 3.02/1.84    ((is_heap @ a @ (heapIm818251801eapify @ a @ (t @ a @ v @ l @ r))) = $true) | ~spl63_2),
% 3.02/1.84    inference(backward_demodulation,[status(thm)],[f1019,f1273])).
% 3.02/1.84  thf(f1273,plain,(
% 3.02/1.84    ( ! [X2 : tree @ a,X0 : a,X1 : tree @ a] : (((heapIm748920189ftDown @ a @ (t @ a @ X0 @ (heapIm818251801eapify @ a @ X1) @ (heapIm818251801eapify @ a @ X2))) = (heapIm818251801eapify @ a @ (t @ a @ X0 @ X1 @ X2)))) )),
% 3.02/1.84    inference(trivial_inequality_removal,[status(thm)],[f1270])).
% 3.02/1.84  thf(f1270,plain,(
% 3.02/1.84    ( ! [X2 : tree @ a,X0 : a,X1 : tree @ a] : (((heapIm748920189ftDown @ a @ (t @ a @ X0 @ (heapIm818251801eapify @ a @ X1) @ (heapIm818251801eapify @ a @ X2))) = (heapIm818251801eapify @ a @ (t @ a @ X0 @ X1 @ X2))) | ($true != $true)) )),
% 3.02/1.84    inference(superposition,[status(thm)],[f861,f920])).
% 3.02/1.84  thf(f920,plain,(
% 3.02/1.84    (linorder @ a = $true)),
% 3.02/1.84    inference(cnf_transformation,[status(thm)],[f322])).
% 3.02/1.84  thf(f322,plain,(
% 3.02/1.84    (linorder @ a = $true)),
% 3.02/1.84    inference(fool_elimination,[status(thm)],[f321])).
% 3.02/1.84  thf(f321,plain,(
% 3.02/1.84    linorder @ a),
% 3.02/1.84    inference(rectify,[status(thm)],[f275])).
% 3.02/1.84  thf(f275,axiom,(
% 3.02/1.84    linorder @ a),
% 3.02/1.84    file('/export/starexec/sandbox2/tmp/tmp.XltU8E9Ncf/DTF2THF_17674.p',tfree_0)).
% 3.02/1.84  thf(f861,plain,(
% 3.02/1.84    ( ! [X0 : $tType,X2 : tree @ X0,X3 : tree @ X0,X1 : X0] : ((linorder @ X0 != $true) | ((heapIm818251801eapify @ X0 @ (t @ X0 @ X1 @ X2 @ X3)) = (heapIm748920189ftDown @ X0 @ (t @ X0 @ X1 @ (heapIm818251801eapify @ X0 @ X2) @ (heapIm818251801eapify @ X0 @ X3))))) )),
% 3.02/1.84    inference(cnf_transformation,[status(thm)],[f785])).
% 3.02/1.84  thf(f785,plain,(
% 3.02/1.84    ! [X0 : $tType] : ((linorder @ X0 != $true) | ! [X1 : X0,X2 : tree @ X0,X3 : tree @ X0] : ((heapIm818251801eapify @ X0 @ (t @ X0 @ X1 @ X2 @ X3)) = (heapIm748920189ftDown @ X0 @ (t @ X0 @ X1 @ (heapIm818251801eapify @ X0 @ X2) @ (heapIm818251801eapify @ X0 @ X3)))))),
% 3.02/1.84    inference(ennf_transformation,[status(thm)],[f642])).
% 3.02/1.84  thf(f642,plain,(
% 3.02/1.84    ! [X0 : $tType] : ((linorder @ X0 = $true) => ! [X1 : X0,X2 : tree @ X0,X3 : tree @ X0] : ((heapIm818251801eapify @ X0 @ (t @ X0 @ X1 @ X2 @ X3)) = (heapIm748920189ftDown @ X0 @ (t @ X0 @ X1 @ (heapIm818251801eapify @ X0 @ X2) @ (heapIm818251801eapify @ X0 @ X3)))))),
% 3.02/1.84    inference(fool_elimination,[status(thm)],[f641])).
% 3.02/1.84  thf(f641,plain,(
% 3.02/1.84    ! [X0 : $tType] : (linorder @ X0 => ! [X1 : X0,X2 : tree @ X0,X3 : tree @ X0] : ((heapIm818251801eapify @ X0 @ (t @ X0 @ X1 @ X2 @ X3)) = (heapIm748920189ftDown @ X0 @ (t @ X0 @ X1 @ (heapIm818251801eapify @ X0 @ X2) @ (heapIm818251801eapify @ X0 @ X3)))))),
% 3.02/1.84    inference(rectify,[status(thm)],[f4])).
% 3.02/1.84  thf(f4,axiom,(
% 3.02/1.84    ! [X0 : $tType] : (linorder @ X0 => ! [X4 : X0,X5 : tree @ X0,X6 : tree @ X0] : ((heapIm818251801eapify @ X0 @ (t @ X0 @ X4 @ X5 @ X6)) = (heapIm748920189ftDown @ X0 @ (t @ X0 @ X4 @ (heapIm818251801eapify @ X0 @ X5) @ (heapIm818251801eapify @ X0 @ X6)))))),
% 3.02/1.84    file('/export/starexec/sandbox2/tmp/tmp.XltU8E9Ncf/DTF2THF_17674.p',fact_3_heapify_Osimps_I2_J)).
% 3.02/1.84  thf(f1019,plain,(
% 3.02/1.84    ((is_heap @ a @ (heapIm748920189ftDown @ a @ (t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r)))) = $true) | ~spl63_2),
% 3.02/1.84    inference(avatar_component_clause,[status(thm)],[f1017])).
% 3.02/1.84  thf(f1017,definition,(
% 3.02/1.84    spl63_2 <=> ((is_heap @ a @ (heapIm748920189ftDown @ a @ (t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r)))) = $true)),
% 3.02/1.84    introduced(definition,[new_symbols(naming,[spl63_2])],[avatar_definition])).
% 3.02/1.84  thf(f1027,plain,(
% 3.02/1.84    spl63_3),
% 3.02/1.84    inference(avatar_split_clause,[status(thm)],[f905,f1021])).
% 3.02/1.84  thf(f1021,definition,(
% 3.02/1.84    spl63_3 <=> ((is_heap @ a @ (heapIm818251801eapify @ a @ r)) = $true)),
% 3.02/1.84    introduced(definition,[new_symbols(naming,[spl63_3])],[avatar_definition])).
% 3.02/1.84  thf(f905,plain,(
% 3.02/1.84    ((is_heap @ a @ (heapIm818251801eapify @ a @ r)) = $true)),
% 3.02/1.84    inference(cnf_transformation,[status(thm)],[f298])).
% 3.02/1.84  thf(f298,plain,(
% 3.02/1.84    ((is_heap @ a @ (heapIm818251801eapify @ a @ r)) = $true)),
% 3.02/1.84    inference(fool_elimination,[status(thm)],[f297])).
% 3.02/1.84  thf(f297,plain,(
% 3.02/1.84    (is_heap @ a @ (heapIm818251801eapify @ a @ r))),
% 3.02/1.84    inference(rectify,[status(thm)],[f1])).
% 3.02/1.84  thf(f1,axiom,(
% 3.02/1.84    (is_heap @ a @ (heapIm818251801eapify @ a @ r))),
% 3.02/1.84    file('/export/starexec/sandbox2/tmp/tmp.XltU8E9Ncf/DTF2THF_17674.p',fact_0_T_Ohyps_I2_J)).
% 3.02/1.84  thf(f1025,plain,(
% 3.02/1.84    spl63_1),
% 3.02/1.84    inference(avatar_split_clause,[status(thm)],[f894,f1013])).
% 3.02/1.84  thf(f1013,definition,(
% 3.02/1.84    spl63_1 <=> ((is_heap @ a @ (heapIm818251801eapify @ a @ l)) = $true)),
% 3.02/1.84    introduced(definition,[new_symbols(naming,[spl63_1])],[avatar_definition])).
% 3.02/1.84  thf(f894,plain,(
% 3.02/1.84    ((is_heap @ a @ (heapIm818251801eapify @ a @ l)) = $true)),
% 3.02/1.84    inference(cnf_transformation,[status(thm)],[f542])).
% 3.02/1.84  thf(f542,plain,(
% 3.02/1.84    ((is_heap @ a @ (heapIm818251801eapify @ a @ l)) = $true)),
% 3.02/1.84    inference(fool_elimination,[status(thm)],[f541])).
% 3.02/1.84  thf(f541,plain,(
% 3.02/1.84    (is_heap @ a @ (heapIm818251801eapify @ a @ l))),
% 3.02/1.84    inference(rectify,[status(thm)],[f2])).
% 3.02/1.84  thf(f2,axiom,(
% 3.02/1.84    (is_heap @ a @ (heapIm818251801eapify @ a @ l))),
% 3.02/1.84    file('/export/starexec/sandbox2/tmp/tmp.XltU8E9Ncf/DTF2THF_17674.p',fact_1_T_Ohyps_I1_J)).
% 3.02/1.84  thf(f1024,plain,(
% 3.02/1.84    ~spl63_1 | spl63_2 | ~spl63_3),
% 3.02/1.84    inference(avatar_split_clause,[status(thm)],[f951,f1021,f1017,f1013])).
% 3.02/1.84  thf(f951,plain,(
% 3.02/1.84    ((is_heap @ a @ (heapIm818251801eapify @ a @ l)) != $true) | ((is_heap @ a @ (heapIm748920189ftDown @ a @ (t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r)))) = $true) | ((is_heap @ a @ (heapIm818251801eapify @ a @ r)) != $true)),
% 3.02/1.84    inference(trivial_inequality_removal,[status(thm)],[f893])).
% 3.02/1.84  thf(f893,plain,(
% 3.02/1.84    ((is_heap @ a @ (heapIm748920189ftDown @ a @ (t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r)))) = $true) | ((is_heap @ a @ (heapIm818251801eapify @ a @ l)) != $true) | ((t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r)) != (t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r))) | ((is_heap @ a @ (heapIm818251801eapify @ a @ r)) != $true)),
% 3.02/1.84    inference(cnf_transformation,[status(thm)],[f755])).
% 3.02/1.84  thf(f755,plain,(
% 3.02/1.84    ((t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r)) != (t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r))) | ((is_heap @ a @ (heapIm818251801eapify @ a @ r)) != $true) | ((is_heap @ a @ (heapIm818251801eapify @ a @ l)) != $true) | ((is_heap @ a @ (heapIm748920189ftDown @ a @ (t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r)))) = $true)),
% 3.02/1.84    inference(flattening,[status(thm)],[f754])).
% 3.02/1.84  thf(f754,plain,(
% 3.02/1.84    ((((is_heap @ a @ (heapIm748920189ftDown @ a @ (t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r)))) = $true) | ((t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r)) != (t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r)))) | ((is_heap @ a @ (heapIm818251801eapify @ a @ r)) != $true)) | ((is_heap @ a @ (heapIm818251801eapify @ a @ l)) != $true)),
% 3.02/1.84    inference(ennf_transformation,[status(thm)],[f284])).
% 3.02/1.84  thf(f284,plain,(
% 3.02/1.84    ((is_heap @ a @ (heapIm818251801eapify @ a @ l)) = $true) => (((is_heap @ a @ (heapIm818251801eapify @ a @ r)) = $true) => (((t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r)) = (t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r))) => ((is_heap @ a @ (heapIm748920189ftDown @ a @ (t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r)))) = $true)))),
% 3.02/1.84    inference(fool_elimination,[status(thm)],[f283])).
% 3.02/1.84  thf(f283,plain,(
% 3.02/1.84    (is_heap @ a @ (heapIm818251801eapify @ a @ l)) => ((is_heap @ a @ (heapIm818251801eapify @ a @ r)) => (((t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r)) = (t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r))) => (is_heap @ a @ (heapIm748920189ftDown @ a @ (t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r))))))),
% 3.02/1.84    inference(rectify,[status(thm)],[f3])).
% 3.02/1.84  thf(f3,axiom,(
% 3.02/1.84    (is_heap @ a @ (heapIm818251801eapify @ a @ l)) => ((is_heap @ a @ (heapIm818251801eapify @ a @ r)) => (((t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r)) = (t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r))) => (is_heap @ a @ (heapIm748920189ftDown @ a @ (t @ a @ v @ (heapIm818251801eapify @ a @ l) @ (heapIm818251801eapify @ a @ r))))))),
% 3.02/1.84    file('/export/starexec/sandbox2/tmp/tmp.XltU8E9Ncf/DTF2THF_17674.p',fact_2__092_060open_062_092_060lbrakk_062is__heap_A_Iheapify_Al_J_059_Ais__heap_A_Iheapify_Ar_J_059_AT_Av_A_Iheapify_Al_J_A_Iheapify_Ar_J_A_061_AT_Av_A_Iheapify_Al_J_A_Iheapify_Ar_J_092_060rbrakk_062_A_092_060Longrightarrow_062_Ais__heap_A_IsiftDown_A_IT_Av_A_Iheapify_Al_J_A_Iheapify_Ar_J_J_J_092_060close_062)).
% 3.02/1.84  % SZS output end Proof for DTF2THF_17674
% 3.02/1.84  % (17887)------------------------------
% 3.02/1.84  % (17887)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 3.02/1.84  % (17887)Termination reason: Refutation
% 3.02/1.84  
% 3.02/1.84  % (17887)Memory used [KB]: 7419
% 3.02/1.84  % (17887)Time elapsed: 0.113 s
% 3.02/1.84  % (17887)Instructions burned: 272 (million)
% 3.02/1.84  % (17887)------------------------------
% 3.02/1.84  % (17887)------------------------------
% 3.02/1.84  % (17853)Success in time 0.229 s
%------------------------------------------------------------------------------