%------------------------------------------------------------------------------
% File : DT2H2X---1.9.5
% Problem : ITP065^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 : n027.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:16 AM UTC 2026
% Result : Theorem 2.95s 1.52s
% Output : Refutation 2.95s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12 % Problem : ITP065^2 : TPTP v9.2.1. Released v7.5.0.
% 0.10/0.13 % Command : /export/starexec/sandbox2/solver/bin/run_DT2H2X /export/starexec/sandbox2/benchmark/theBenchmark.p 300
% 0.16/0.34 % Computer : n027.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:37 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.17/0.44 ---- Original DTF file ---
% 0.17/0.44 thf(spec,logic,$$dhol).
% 0.17/0.44 %------------------------------------------------------------------------------
% 0.17/0.44 % File : ITP065^2 : TPTP v9.2.1. Released v7.5.0.
% 0.17/0.44 % Domain : Interactive Theorem Proving
% 0.17/0.44 % Problem : Sledgehammer HeapImperative problem prob_1087__5351268_1
% 0.17/0.44 % Version : Especial.
% 0.17/0.44 % English :
% 0.17/0.44
% 0.17/0.44 % Refs : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
% 0.17/0.44 % : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% 0.17/0.44 % Source : [Des21]
% 0.17/0.44 % Names : HeapImperative/prob_1087__5351268_1 [Des21]
% 0.17/0.44
% 0.17/0.44 % Status : Theorem
% 0.17/0.44 % Rating : 0.33 v9.1.0, 0.00 v8.1.0, 0.25 v7.5.0
% 0.17/0.44 % Syntax : Number of formulae : 327 ( 93 unt; 58 typ; 0 def)
% 0.17/0.44 % Number of atoms : 788 ( 350 equ; 0 cnn)
% 0.17/0.44 % Maximal formula atoms : 13 ( 2 avg)
% 0.17/0.44 % Number of connectives : 6579 ( 159 ~; 16 |; 65 &;5837 @)
% 0.17/0.44 % ( 0 <=>; 502 =>; 0 <=; 0 <~>)
% 0.17/0.44 % Maximal formula depth : 29 ( 11 avg)
% 0.17/0.44 % Number of types : 2 ( 1 usr)
% 0.17/0.44 % Number of type conns : 457 ( 457 >; 0 *; 0 +; 0 <<)
% 0.17/0.44 % Number of symbols : 58 ( 57 usr; 0 con; 1-8 aty)
% 0.17/0.44 % Number of variables : 1608 ( 50 ^;1466 !; 22 ?;1608 :)
% 0.17/0.44 % ( 70 !>; 0 ?*; 0 @-; 0 @+)
% 0.17/0.44 % SPC : TH1_THM_EQU_NAR
% 0.17/0.44
% 0.17/0.44 % Comments : This file was generated by Sledgehammer 2021-02-23 16:17:21.881
% 0.17/0.44 %------------------------------------------------------------------------------
% 0.17/0.44 % Could-be-implicit typings (6)
% 0.17/0.44 thf(ty_t_Product__Type_Oprod,type,
% 0.17/0.44 product_prod: $tType > $tType > $tType ).
% 0.17/0.44
% 0.17/0.44 thf(ty_t_Multiset_Omultiset,type,
% 0.17/0.44 multiset: $tType > $tType ).
% 0.17/0.44
% 0.17/0.44 thf(ty_t_List_Olist,type,
% 0.17/0.44 list: $tType > $tType ).
% 0.17/0.44
% 0.17/0.44 thf(ty_t_Heap_OTree,type,
% 0.17/0.44 tree: $tType > $tType ).
% 0.17/0.44
% 0.17/0.44 thf(ty_t_Set_Oset,type,
% 0.17/0.44 set: $tType > $tType ).
% 0.17/0.44
% 0.17/0.44 thf(ty_tf_b,type,
% 0.17/0.44 b: $tType ).
% 0.17/0.44
% 0.17/0.44 % Explicit typings (52)
% 0.17/0.44 thf(sy_cl_HOL_Otype,type,
% 0.17/0.44 type:
% 0.17/0.44 !>[A: $tType] : $o ).
% 0.17/0.44
% 0.17/0.44 thf(sy_cl_Orderings_Oord,type,
% 0.17/0.44 ord:
% 0.17/0.44 !>[A: $tType] : $o ).
% 0.17/0.44
% 0.17/0.44 thf(sy_cl_Orderings_Oorder,type,
% 0.17/0.44 order:
% 0.17/0.44 !>[A: $tType] : $o ).
% 0.17/0.44
% 0.17/0.44 thf(sy_cl_Orderings_Olinorder,type,
% 0.17/0.44 linorder:
% 0.17/0.44 !>[A: $tType] : $o ).
% 0.17/0.44
% 0.17/0.44 thf(sy_cl_Orderings_Opreorder,type,
% 0.17/0.44 preorder:
% 0.17/0.44 !>[A: $tType] : $o ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oheapify,type,
% 0.17/0.44 heapIm818251801eapify:
% 0.17/0.44 !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Ohs__is__empty,type,
% 0.17/0.44 heapIm721255937_empty:
% 0.17/0.44 !>[A: $tType] : ( ( tree @ A ) > $o ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Ohs__of__list,type,
% 0.17/0.44 heapIm874063447f_list:
% 0.17/0.44 !>[A: $tType] : ( ( list @ A ) > ( tree @ A ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oleft,type,
% 0.17/0.44 heapIm1271749598e_left:
% 0.17/0.44 !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oof__list__tree,type,
% 0.17/0.44 heapIm1912108042t_tree:
% 0.17/0.44 !>[A: $tType] : ( ( list @ A ) > ( tree @ A ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oright,type,
% 0.17/0.44 heapIm1434396069_right:
% 0.17/0.44 !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_OsiftDown,type,
% 0.17/0.44 heapIm748920189ftDown:
% 0.17/0.44 !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Heap_OHeap,type,
% 0.17/0.44 heap:
% 0.17/0.44 !>[B: $tType,A: $tType] : ( B > ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( tree @ A ) ) > ( B > ( product_prod @ A @ B ) ) > $o ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Heap_OHeap__axioms,type,
% 0.17/0.44 heap_axioms:
% 0.17/0.44 !>[B: $tType,A: $tType] : ( ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( tree @ A ) ) > ( B > ( product_prod @ A @ B ) ) > $o ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Heap_OTree_OE,type,
% 0.17/0.44 e:
% 0.17/0.44 !>[A: $tType] : ( tree @ A ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Heap_OTree_OT,type,
% 0.17/0.44 t:
% 0.17/0.44 !>[A: $tType] : ( A > ( tree @ A ) > ( tree @ A ) > ( tree @ A ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Heap_OTree_Ocase__Tree,type,
% 0.17/0.44 case_Tree:
% 0.17/0.44 !>[B: $tType,A: $tType] : ( B > ( A > ( tree @ A ) > ( tree @ A ) > B ) > ( tree @ A ) > B ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Heap_OTree_Opred__Tree,type,
% 0.17/0.44 pred_Tree:
% 0.17/0.44 !>[A: $tType] : ( ( A > $o ) > ( tree @ A ) > $o ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Heap_OTree_Orec__Tree,type,
% 0.17/0.44 rec_Tree:
% 0.17/0.44 !>[C: $tType,A: $tType] : ( C > ( A > ( tree @ A ) > ( tree @ A ) > C > C > C ) > ( tree @ A ) > C ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Heap_Oin__tree,type,
% 0.17/0.44 in_tree:
% 0.17/0.44 !>[A: $tType] : ( A > ( tree @ A ) > $o ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Heap_Ois__heap,type,
% 0.17/0.44 is_heap:
% 0.17/0.44 !>[A: $tType] : ( ( tree @ A ) > $o ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Heap_Omultiset,type,
% 0.17/0.44 multiset2:
% 0.17/0.44 !>[A: $tType] : ( ( tree @ A ) > ( multiset @ A ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Heap_Oval,type,
% 0.17/0.44 val:
% 0.17/0.44 !>[A: $tType] : ( ( tree @ A ) > A ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Lattices__Big_Olinorder__class_OMax,type,
% 0.17/0.44 lattic929149872er_Max:
% 0.17/0.44 !>[A: $tType] : ( ( set @ A ) > A ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_List_Oappend,type,
% 0.17/0.44 append:
% 0.17/0.44 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > ( list @ A ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_List_Obind,type,
% 0.17/0.44 bind:
% 0.17/0.44 !>[A: $tType,B: $tType] : ( ( list @ A ) > ( A > ( list @ B ) ) > ( list @ B ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_List_Oinsert,type,
% 0.17/0.44 insert:
% 0.17/0.44 !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_List_Olenlex,type,
% 0.17/0.44 lenlex:
% 0.17/0.44 !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_List_Olexord,type,
% 0.17/0.44 lexord:
% 0.17/0.44 !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_List_Olist_OCons,type,
% 0.17/0.44 cons:
% 0.17/0.44 !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_List_Olist_ONil,type,
% 0.17/0.44 nil:
% 0.17/0.44 !>[A: $tType] : ( list @ A ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_List_Olist__ex1,type,
% 0.17/0.44 list_ex1:
% 0.17/0.44 !>[A: $tType] : ( ( A > $o ) > ( list @ A ) > $o ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_List_Olistrel,type,
% 0.17/0.44 listrel:
% 0.17/0.44 !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_List_Olistrel1,type,
% 0.17/0.44 listrel1:
% 0.17/0.44 !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_List_Oproduct__lists,type,
% 0.17/0.44 product_lists:
% 0.17/0.44 !>[A: $tType] : ( ( list @ ( list @ A ) ) > ( list @ ( list @ A ) ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_List_Osubseqs,type,
% 0.17/0.44 subseqs:
% 0.17/0.44 !>[A: $tType] : ( ( list @ A ) > ( list @ ( list @ A ) ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Multiset_Oadd__mset,type,
% 0.17/0.44 add_mset:
% 0.17/0.44 !>[A: $tType] : ( A > ( multiset @ A ) > ( multiset @ A ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Multiset_Olinorder__class_Opart,type,
% 0.17/0.44 linorder_part:
% 0.17/0.44 !>[B: $tType,A: $tType] : ( ( B > A ) > A > ( list @ B ) > ( product_prod @ ( list @ B ) @ ( product_prod @ ( list @ B ) @ ( list @ B ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Multiset_Oset__mset,type,
% 0.17/0.44 set_mset:
% 0.17/0.44 !>[A: $tType] : ( ( multiset @ A ) > ( set @ A ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Orderings_Oord__class_Oless__eq,type,
% 0.17/0.44 ord_less_eq:
% 0.17/0.44 !>[A: $tType] : ( A > A > $o ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Product__Type_OPair,type,
% 0.17/0.44 product_Pair:
% 0.17/0.44 !>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Product__Type_Ointernal__case__prod,type,
% 0.17/0.44 produc2004651681e_prod:
% 0.17/0.44 !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > C ) > ( product_prod @ A @ B ) > C ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Product__Type_Oold_Oprod_Orec__prod,type,
% 0.17/0.44 product_rec_prod:
% 0.17/0.44 !>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Relation_Oirrefl,type,
% 0.17/0.44 irrefl:
% 0.17/0.44 !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > $o ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_RemoveMax_OCollection,type,
% 0.17/0.44 collection:
% 0.17/0.44 !>[B: $tType,A: $tType] : ( B > ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > $o ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_RemoveMax_OCollection_Oset,type,
% 0.17/0.44 set2:
% 0.17/0.44 !>[B: $tType,A: $tType] : ( ( B > ( multiset @ A ) ) > B > ( set @ A ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_RemoveMax_ORemoveMax,type,
% 0.17/0.44 removeMax:
% 0.17/0.44 !>[B: $tType,A: $tType] : ( B > ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( product_prod @ A @ B ) ) > ( B > $o ) > $o ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_RemoveMax_ORemoveMax_Ossort_H,type,
% 0.17/0.44 ssort:
% 0.17/0.44 !>[B: $tType,A: $tType] : ( ( B > $o ) > ( B > ( product_prod @ A @ B ) ) > B > ( list @ A ) > ( list @ A ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_RemoveMax_ORemoveMax_Ossort_H__dom,type,
% 0.17/0.44 ssort_dom:
% 0.17/0.44 !>[B: $tType,A: $tType] : ( ( B > $o ) > ( B > ( product_prod @ A @ B ) ) > ( product_prod @ B @ ( list @ A ) ) > $o ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_RemoveMax_ORemoveMax__axioms,type,
% 0.17/0.44 removeMax_axioms:
% 0.17/0.44 !>[B: $tType,A: $tType] : ( ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( product_prod @ A @ B ) ) > ( B > $o ) > $o ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_Set_OCollect,type,
% 0.17/0.44 collect:
% 0.17/0.44 !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
% 0.17/0.44
% 0.17/0.44 thf(sy_c_member,type,
% 0.17/0.44 member:
% 0.17/0.44 !>[A: $tType] : ( A > ( set @ A ) > $o ) ).
% 0.17/0.44
% 0.17/0.44 % Relevant facts (255)
% 0.17/0.44 thf(fact_0_hs__is__empty__def,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( heapIm721255937_empty @ A )
% 0.17/0.44 = ( ^ [T2: tree @ A] :
% 0.17/0.44 ( T2
% 0.17/0.44 = ( e @ A ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % hs_is_empty_def
% 0.17/0.44 thf(fact_1_heapify_Osimps_I1_J,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ( ( heapIm818251801eapify @ A @ ( e @ A ) )
% 0.17/0.44 = ( e @ A ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % heapify.simps(1)
% 0.17/0.44 thf(fact_2_siftDown_Osimps_I1_J,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ( ( heapIm748920189ftDown @ A @ ( e @ A ) )
% 0.17/0.44 = ( e @ A ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % siftDown.simps(1)
% 0.17/0.44 thf(fact_3_Tree_Osimps_I4_J,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType,F1: B,F2: A > ( tree @ A ) > ( tree @ A ) > B] :
% 0.17/0.44 ( ( case_Tree @ B @ A @ F1 @ F2 @ ( e @ A ) )
% 0.17/0.44 = F1 ) ).
% 0.17/0.44
% 0.17/0.44 % Tree.simps(4)
% 0.17/0.44 thf(fact_4_siftDown_Ocases,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [X: tree @ A] :
% 0.17/0.44 ( ( X
% 0.17/0.44 != ( e @ A ) )
% 0.17/0.44 => ( ! [V: A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) )
% 0.17/0.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) )
% 0.17/0.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 0.17/0.44 => ~ ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % siftDown.cases
% 0.17/0.44 thf(fact_5_removeLeaf_Ocases,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [X: tree @ A] :
% 0.17/0.44 ( ! [V: A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) )
% 0.17/0.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) )
% 0.17/0.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 0.17/0.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) )
% 0.17/0.44 => ( ! [V: A,Vd: A,Ve: tree @ A,Vf: tree @ A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( t @ A @ V @ ( t @ A @ Vd @ Ve @ Vf ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 0.17/0.44 => ( X
% 0.17/0.44 = ( e @ A ) ) ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % removeLeaf.cases
% 0.17/0.44 thf(fact_6_removeLeaf_Oinduct,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [P: ( tree @ A ) > $o,A0: tree @ A] :
% 0.17/0.44 ( ! [V: A] : ( P @ ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) )
% 0.17/0.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.17/0.44 ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 0.17/0.44 => ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 0.17/0.44 => ( P @ ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) ) ) )
% 0.17/0.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.17/0.44 ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 0.17/0.44 => ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 0.17/0.44 => ( P @ ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) ) ) )
% 0.17/0.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 0.17/0.44 ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 0.17/0.44 => ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 0.17/0.44 => ( P @ ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) ) ) )
% 0.17/0.44 => ( ! [V: A,Vd: A,Ve: tree @ A,Vf: tree @ A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.17/0.44 ( ( P @ ( t @ A @ Vd @ Ve @ Vf ) )
% 0.17/0.44 => ( ( P @ ( t @ A @ Vd @ Ve @ Vf ) )
% 0.17/0.44 => ( P @ ( t @ A @ V @ ( t @ A @ Vd @ Ve @ Vf ) @ ( t @ A @ Va @ Vb @ Vc ) ) ) ) )
% 0.17/0.44 => ( ( P @ ( e @ A ) )
% 0.17/0.44 => ( P @ A0 ) ) ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % removeLeaf.induct
% 0.17/0.44 thf(fact_7_in__tree_Osimps_I1_J,axiom,
% 0.17/0.44 ! [A: $tType,V2: A] :
% 0.17/0.44 ~ ( in_tree @ A @ V2 @ ( e @ A ) ) ).
% 0.17/0.44
% 0.17/0.44 % in_tree.simps(1)
% 0.17/0.44 thf(fact_8_Tree_Osimps_I6_J,axiom,
% 0.17/0.44 ! [A: $tType,C: $tType,F1: C,F2: A > ( tree @ A ) > ( tree @ A ) > C > C > C] :
% 0.17/0.44 ( ( rec_Tree @ C @ A @ F1 @ F2 @ ( e @ A ) )
% 0.17/0.44 = F1 ) ).
% 0.17/0.44
% 0.17/0.44 % Tree.simps(6)
% 0.17/0.44 thf(fact_9_Heap_Oas__tree__empty,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),T3: B] :
% 0.17/0.44 ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.17/0.44 => ( ( ( As_tree @ T3 )
% 0.17/0.44 = ( e @ A ) )
% 0.17/0.44 = ( Is_empty @ T3 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Heap.as_tree_empty
% 0.17/0.44 thf(fact_10_Tree_Opred__inject_I1_J,axiom,
% 0.17/0.44 ! [A: $tType,P: A > $o] : ( pred_Tree @ A @ P @ ( e @ A ) ) ).
% 0.17/0.44
% 0.17/0.44 % Tree.pred_inject(1)
% 0.17/0.44 thf(fact_11_of__list__tree_Osimps_I1_J,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ( ( heapIm1912108042t_tree @ A @ ( nil @ A ) )
% 0.17/0.44 = ( e @ A ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % of_list_tree.simps(1)
% 0.17/0.44 thf(fact_12_is__heap_Osimps_I1_J,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ( is_heap @ A @ ( e @ A ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % is_heap.simps(1)
% 0.17/0.44 thf(fact_13_Tree_Oinject,axiom,
% 0.17/0.44 ! [A: $tType,X21: A,X22: tree @ A,X23: tree @ A,Y21: A,Y22: tree @ A,Y23: tree @ A] :
% 0.17/0.44 ( ( ( t @ A @ X21 @ X22 @ X23 )
% 0.17/0.44 = ( t @ A @ Y21 @ Y22 @ Y23 ) )
% 0.17/0.44 = ( ( X21 = Y21 )
% 0.17/0.44 & ( X22 = Y22 )
% 0.17/0.44 & ( X23 = Y23 ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Tree.inject
% 0.17/0.44 thf(fact_14_Tree_Opred__inject_I2_J,axiom,
% 0.17/0.44 ! [A: $tType,P: A > $o,A2: A,Aa: tree @ A,Ab: tree @ A] :
% 0.17/0.44 ( ( pred_Tree @ A @ P @ ( t @ A @ A2 @ Aa @ Ab ) )
% 0.17/0.44 = ( ( P @ A2 )
% 0.17/0.44 & ( pred_Tree @ A @ P @ Aa )
% 0.17/0.44 & ( pred_Tree @ A @ P @ Ab ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Tree.pred_inject(2)
% 0.17/0.44 thf(fact_15_Tree_Osimps_I7_J,axiom,
% 0.17/0.44 ! [C: $tType,A: $tType,F1: C,F2: A > ( tree @ A ) > ( tree @ A ) > C > C > C,X21: A,X22: tree @ A,X23: tree @ A] :
% 0.17/0.44 ( ( rec_Tree @ C @ A @ F1 @ F2 @ ( t @ A @ X21 @ X22 @ X23 ) )
% 0.17/0.44 = ( F2 @ X21 @ X22 @ X23 @ ( rec_Tree @ C @ A @ F1 @ F2 @ X22 ) @ ( rec_Tree @ C @ A @ F1 @ F2 @ X23 ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Tree.simps(7)
% 0.17/0.44 thf(fact_16_Tree_Osimps_I5_J,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType,F1: B,F2: A > ( tree @ A ) > ( tree @ A ) > B,X21: A,X22: tree @ A,X23: tree @ A] :
% 0.17/0.44 ( ( case_Tree @ B @ A @ F1 @ F2 @ ( t @ A @ X21 @ X22 @ X23 ) )
% 0.17/0.44 = ( F2 @ X21 @ X22 @ X23 ) ) ).
% 0.17/0.44
% 0.17/0.44 % Tree.simps(5)
% 0.17/0.44 thf(fact_17_in__tree_Osimps_I2_J,axiom,
% 0.17/0.44 ! [A: $tType,V2: A,V3: A,L: tree @ A,R: tree @ A] :
% 0.17/0.44 ( ( in_tree @ A @ V2 @ ( t @ A @ V3 @ L @ R ) )
% 0.17/0.44 = ( ( V2 = V3 )
% 0.17/0.44 | ( in_tree @ A @ V2 @ L )
% 0.17/0.44 | ( in_tree @ A @ V2 @ R ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % in_tree.simps(2)
% 0.17/0.44 thf(fact_18_is__heap_Osimps_I2_J,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [V2: A] : ( is_heap @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( e @ A ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % is_heap.simps(2)
% 0.17/0.44 thf(fact_19_heapify_Osimps_I2_J,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [V2: A,L: tree @ A,R: tree @ A] :
% 0.17/0.44 ( ( heapIm818251801eapify @ A @ ( t @ A @ V2 @ L @ R ) )
% 0.17/0.44 = ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm818251801eapify @ A @ L ) @ ( heapIm818251801eapify @ A @ R ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % heapify.simps(2)
% 0.17/0.44 thf(fact_20_Heap_Ois__heap__of__list,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [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.17/0.44 ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.17/0.44 => ( is_heap @ A @ ( As_tree @ ( Of_list @ I ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Heap.is_heap_of_list
% 0.17/0.44 thf(fact_21_heapify__heap__is__heap,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [T3: tree @ A] : ( is_heap @ A @ ( heapIm818251801eapify @ A @ T3 ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % heapify_heap_is_heap
% 0.17/0.44 thf(fact_22_siftDown__in__tree__set,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ( ( in_tree @ A )
% 0.17/0.44 = ( ^ [V4: A,T2: tree @ A] : ( in_tree @ A @ V4 @ ( heapIm748920189ftDown @ A @ T2 ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % siftDown_in_tree_set
% 0.17/0.44 thf(fact_23_siftDown__heap__is__heap,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [L: tree @ A,R: tree @ A,T3: tree @ A,V2: A] :
% 0.17/0.44 ( ( is_heap @ A @ L )
% 0.17/0.44 => ( ( is_heap @ A @ R )
% 0.17/0.44 => ( ( T3
% 0.17/0.44 = ( t @ A @ V2 @ L @ R ) )
% 0.17/0.44 => ( is_heap @ A @ ( heapIm748920189ftDown @ A @ T3 ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % siftDown_heap_is_heap
% 0.17/0.44 thf(fact_24_is__heap_Ocases,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [X: tree @ A] :
% 0.17/0.44 ( ( X
% 0.17/0.44 != ( e @ A ) )
% 0.17/0.44 => ( ! [V: A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) )
% 0.17/0.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 0.17/0.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) )
% 0.17/0.44 => ~ ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % is_heap.cases
% 0.17/0.44 thf(fact_25_Tree_Oexhaust,axiom,
% 0.17/0.44 ! [A: $tType,Y: tree @ A] :
% 0.17/0.44 ( ( Y
% 0.17/0.44 != ( e @ A ) )
% 0.17/0.44 => ~ ! [X212: A,X222: tree @ A,X232: tree @ A] :
% 0.17/0.44 ( Y
% 0.17/0.44 != ( t @ A @ X212 @ X222 @ X232 ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Tree.exhaust
% 0.17/0.44 thf(fact_26_Tree_Oinduct,axiom,
% 0.17/0.44 ! [A: $tType,P: ( tree @ A ) > $o,Tree: tree @ A] :
% 0.17/0.44 ( ( P @ ( e @ A ) )
% 0.17/0.44 => ( ! [X1: A,X2: tree @ A,X3: tree @ A] :
% 0.17/0.44 ( ( P @ X2 )
% 0.17/0.44 => ( ( P @ X3 )
% 0.17/0.44 => ( P @ ( t @ A @ X1 @ X2 @ X3 ) ) ) )
% 0.17/0.44 => ( P @ Tree ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Tree.induct
% 0.17/0.44 thf(fact_27_Tree_Odistinct_I1_J,axiom,
% 0.17/0.44 ! [A: $tType,X21: A,X22: tree @ A,X23: tree @ A] :
% 0.17/0.44 ( ( e @ A )
% 0.17/0.44 != ( t @ A @ X21 @ X22 @ X23 ) ) ).
% 0.17/0.44
% 0.17/0.44 % Tree.distinct(1)
% 0.17/0.44 thf(fact_28_siftDown_Osimps_I2_J,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [V2: A] :
% 0.17/0.44 ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( e @ A ) ) )
% 0.17/0.44 = ( t @ A @ V2 @ ( e @ A ) @ ( e @ A ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % siftDown.simps(2)
% 0.17/0.44 thf(fact_29_hs__of__list__def,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ( ( heapIm874063447f_list @ A )
% 0.17/0.44 = ( ^ [L2: list @ A] : ( heapIm818251801eapify @ A @ ( heapIm1912108042t_tree @ A @ L2 ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % hs_of_list_def
% 0.17/0.44 thf(fact_30_siftDown__in__tree,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [T3: tree @ A] :
% 0.17/0.44 ( ( T3
% 0.17/0.44 != ( e @ A ) )
% 0.17/0.44 => ( in_tree @ A @ ( val @ A @ ( heapIm748920189ftDown @ A @ T3 ) ) @ T3 ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % siftDown_in_tree
% 0.17/0.44 thf(fact_31_of__list__tree_Osimps_I2_J,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [V2: A,Tail: list @ A] :
% 0.17/0.44 ( ( heapIm1912108042t_tree @ A @ ( cons @ A @ V2 @ Tail ) )
% 0.17/0.44 = ( t @ A @ V2 @ ( heapIm1912108042t_tree @ A @ Tail ) @ ( e @ A ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % of_list_tree.simps(2)
% 0.17/0.44 thf(fact_32_Heap_Oaxioms_I2_J,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [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.17/0.44 ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.17/0.44 => ( heap_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Heap.axioms(2)
% 0.17/0.44 thf(fact_33_Heap_Oremove__max__is__heap,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),L: B,M: A,L3: B] :
% 0.17/0.44 ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.17/0.44 => ( ~ ( Is_empty @ L )
% 0.17/0.44 => ( ( is_heap @ A @ ( As_tree @ L ) )
% 0.17/0.44 => ( ( ( product_Pair @ A @ B @ M @ L3 )
% 0.17/0.44 = ( Remove_max @ L ) )
% 0.17/0.44 => ( is_heap @ A @ ( As_tree @ L3 ) ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Heap.remove_max_is_heap
% 0.17/0.44 thf(fact_34_multiset__heapify,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [T3: tree @ A] :
% 0.17/0.44 ( ( multiset2 @ A @ ( heapIm818251801eapify @ A @ T3 ) )
% 0.17/0.44 = ( multiset2 @ A @ T3 ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % multiset_heapify
% 0.17/0.44 thf(fact_35_siftDown__Node,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [T3: tree @ A,V2: A,L: tree @ A,R: tree @ A] :
% 0.17/0.44 ( ( T3
% 0.17/0.44 = ( t @ A @ V2 @ L @ R ) )
% 0.17/0.44 => ? [L4: tree @ A,V5: A,R2: tree @ A] :
% 0.17/0.44 ( ( ( heapIm748920189ftDown @ A @ T3 )
% 0.17/0.44 = ( t @ A @ V5 @ L4 @ R2 ) )
% 0.17/0.44 & ( ord_less_eq @ A @ V2 @ V5 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % siftDown_Node
% 0.17/0.44 thf(fact_36_left_Osimps,axiom,
% 0.17/0.44 ! [A: $tType,V2: A,L: tree @ A,R: tree @ A] :
% 0.17/0.44 ( ( heapIm1271749598e_left @ A @ ( t @ A @ V2 @ L @ R ) )
% 0.17/0.44 = L ) ).
% 0.17/0.44
% 0.17/0.44 % left.simps
% 0.17/0.44 thf(fact_37_right_Osimps,axiom,
% 0.17/0.44 ! [A: $tType,V2: A,L: tree @ A,R: tree @ A] :
% 0.17/0.44 ( ( heapIm1434396069_right @ A @ ( t @ A @ V2 @ L @ R ) )
% 0.17/0.44 = R ) ).
% 0.17/0.44
% 0.17/0.44 % right.simps
% 0.17/0.44 thf(fact_38_Heap_Omultiset,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [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.17/0.44 ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.17/0.44 => ( ( Multiset @ L )
% 0.17/0.44 = ( multiset2 @ A @ ( As_tree @ L ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Heap.multiset
% 0.17/0.44 thf(fact_39_list_Oinject,axiom,
% 0.17/0.44 ! [A: $tType,X21: A,X22: list @ A,Y21: A,Y22: list @ A] :
% 0.17/0.44 ( ( ( cons @ A @ X21 @ X22 )
% 0.17/0.44 = ( cons @ A @ Y21 @ Y22 ) )
% 0.17/0.44 = ( ( X21 = Y21 )
% 0.17/0.44 & ( X22 = Y22 ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % list.inject
% 0.17/0.44 thf(fact_40_shuffles_Ocases,axiom,
% 0.17/0.44 ! [A: $tType,X: product_prod @ ( list @ A ) @ ( list @ A )] :
% 0.17/0.44 ( ! [Ys: list @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ys ) )
% 0.17/0.44 => ( ! [Xs: list @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ ( nil @ A ) ) )
% 0.17/0.44 => ~ ! [X4: A,Xs: list @ A,Y2: A,Ys: list @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X4 @ Xs ) @ ( cons @ A @ Y2 @ Ys ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % shuffles.cases
% 0.17/0.44 thf(fact_41_transpose_Ocases,axiom,
% 0.17/0.44 ! [A: $tType,X: list @ ( list @ A )] :
% 0.17/0.44 ( ( X
% 0.17/0.44 != ( nil @ ( list @ A ) ) )
% 0.17/0.44 => ( ! [Xss: list @ ( list @ A )] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( cons @ ( list @ A ) @ ( nil @ A ) @ Xss ) )
% 0.17/0.44 => ~ ! [X4: A,Xs: list @ A,Xss: list @ ( list @ A )] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( cons @ ( list @ A ) @ ( cons @ A @ X4 @ Xs ) @ Xss ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % transpose.cases
% 0.17/0.44 thf(fact_42_sorted__wrt_Ocases,axiom,
% 0.17/0.44 ! [A: $tType,X: product_prod @ ( A > A > $o ) @ ( list @ A )] :
% 0.17/0.44 ( ! [P2: A > A > $o] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P2 @ ( nil @ A ) ) )
% 0.17/0.44 => ~ ! [P2: A > A > $o,X4: A,Ys: list @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P2 @ ( cons @ A @ X4 @ Ys ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % sorted_wrt.cases
% 0.17/0.44 thf(fact_43_arg__min__list_Ocases,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType] :
% 0.17/0.44 ( ( linorder @ B )
% 0.17/0.44 => ! [X: product_prod @ ( A > B ) @ ( list @ A )] :
% 0.17/0.44 ( ! [F: A > B,X4: A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( product_Pair @ ( A > B ) @ ( list @ A ) @ F @ ( cons @ A @ X4 @ ( nil @ A ) ) ) )
% 0.17/0.44 => ( ! [F: A > B,X4: A,Y2: A,Zs: list @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( product_Pair @ ( A > B ) @ ( list @ A ) @ F @ ( cons @ A @ X4 @ ( cons @ A @ Y2 @ Zs ) ) ) )
% 0.17/0.44 => ~ ! [A3: A > B] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( product_Pair @ ( A > B ) @ ( list @ A ) @ A3 @ ( nil @ A ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % arg_min_list.cases
% 0.17/0.44 thf(fact_44_mem__Collect__eq,axiom,
% 0.17/0.44 ! [A: $tType,A2: A,P: A > $o] :
% 0.17/0.44 ( ( member @ A @ A2 @ ( collect @ A @ P ) )
% 0.17/0.44 = ( P @ A2 ) ) ).
% 0.17/0.44
% 0.17/0.44 % mem_Collect_eq
% 0.17/0.44 thf(fact_45_Collect__mem__eq,axiom,
% 0.17/0.44 ! [A: $tType,A4: set @ A] :
% 0.17/0.44 ( ( collect @ A
% 0.17/0.44 @ ^ [X5: A] : ( member @ A @ X5 @ A4 ) )
% 0.17/0.44 = A4 ) ).
% 0.17/0.44
% 0.17/0.44 % Collect_mem_eq
% 0.17/0.44 thf(fact_46_Collect__cong,axiom,
% 0.17/0.44 ! [A: $tType,P: A > $o,Q: A > $o] :
% 0.17/0.44 ( ! [X4: A] :
% 0.17/0.44 ( ( P @ X4 )
% 0.17/0.44 = ( Q @ X4 ) )
% 0.17/0.44 => ( ( collect @ A @ P )
% 0.17/0.44 = ( collect @ A @ Q ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Collect_cong
% 0.17/0.44 thf(fact_47_ext,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType,F3: A > B,G: A > B] :
% 0.17/0.44 ( ! [X4: A] :
% 0.17/0.44 ( ( F3 @ X4 )
% 0.17/0.44 = ( G @ X4 ) )
% 0.17/0.44 => ( F3 = G ) ) ).
% 0.17/0.44
% 0.17/0.44 % ext
% 0.17/0.44 thf(fact_48_successively_Ocases,axiom,
% 0.17/0.44 ! [A: $tType,X: product_prod @ ( A > A > $o ) @ ( list @ A )] :
% 0.17/0.44 ( ! [P2: A > A > $o] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P2 @ ( nil @ A ) ) )
% 0.17/0.44 => ( ! [P2: A > A > $o,X4: A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P2 @ ( cons @ A @ X4 @ ( nil @ A ) ) ) )
% 0.17/0.44 => ~ ! [P2: A > A > $o,X4: A,Y2: A,Xs: list @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P2 @ ( cons @ A @ X4 @ ( cons @ A @ Y2 @ Xs ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % successively.cases
% 0.17/0.44 thf(fact_49_map__tailrec__rev_Ocases,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType,X: product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) )] :
% 0.17/0.44 ( ! [F: A > B,Bs: list @ B] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ F @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ Bs ) ) )
% 0.17/0.44 => ~ ! [F: A > B,A3: A,As: list @ A,Bs: list @ B] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ F @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ A3 @ As ) @ Bs ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % map_tailrec_rev.cases
% 0.17/0.44 thf(fact_50_not__Cons__self2,axiom,
% 0.17/0.44 ! [A: $tType,X: A,Xs2: list @ A] :
% 0.17/0.44 ( ( cons @ A @ X @ Xs2 )
% 0.17/0.44 != Xs2 ) ).
% 0.17/0.44
% 0.17/0.44 % not_Cons_self2
% 0.17/0.44 thf(fact_51_strict__sorted_Oinduct,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [P: ( list @ A ) > $o,A0: list @ A] :
% 0.17/0.44 ( ( P @ ( nil @ A ) )
% 0.17/0.44 => ( ! [X4: A,Ys: list @ A] :
% 0.17/0.44 ( ( P @ Ys )
% 0.17/0.44 => ( P @ ( cons @ A @ X4 @ Ys ) ) )
% 0.17/0.44 => ( P @ A0 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % strict_sorted.induct
% 0.17/0.44 thf(fact_52_strict__sorted_Ocases,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [X: list @ A] :
% 0.17/0.44 ( ( X
% 0.17/0.44 != ( nil @ A ) )
% 0.17/0.44 => ~ ! [X4: A,Ys: list @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( cons @ A @ X4 @ Ys ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % strict_sorted.cases
% 0.17/0.44 thf(fact_53_map__tailrec__rev_Oinduct,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType,P: ( A > B ) > ( list @ A ) > ( list @ B ) > $o,A0: A > B,A1: list @ A,A22: list @ B] :
% 0.17/0.44 ( ! [F: A > B,X_1: list @ B] : ( P @ F @ ( nil @ A ) @ X_1 )
% 0.17/0.44 => ( ! [F: A > B,A3: A,As: list @ A,Bs: list @ B] :
% 0.17/0.44 ( ( P @ F @ As @ ( cons @ B @ ( F @ A3 ) @ Bs ) )
% 0.17/0.44 => ( P @ F @ ( cons @ A @ A3 @ As ) @ Bs ) )
% 0.17/0.44 => ( P @ A0 @ A1 @ A22 ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % map_tailrec_rev.induct
% 0.17/0.44 thf(fact_54_list__nonempty__induct,axiom,
% 0.17/0.44 ! [A: $tType,Xs2: list @ A,P: ( list @ A ) > $o] :
% 0.17/0.44 ( ( Xs2
% 0.17/0.44 != ( nil @ A ) )
% 0.17/0.44 => ( ! [X4: A] : ( P @ ( cons @ A @ X4 @ ( nil @ A ) ) )
% 0.17/0.44 => ( ! [X4: A,Xs: list @ A] :
% 0.17/0.44 ( ( Xs
% 0.17/0.44 != ( nil @ A ) )
% 0.17/0.44 => ( ( P @ Xs )
% 0.17/0.44 => ( P @ ( cons @ A @ X4 @ Xs ) ) ) )
% 0.17/0.44 => ( P @ Xs2 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % list_nonempty_induct
% 0.17/0.44 thf(fact_55_successively_Oinduct,axiom,
% 0.17/0.44 ! [A: $tType,P: ( A > A > $o ) > ( list @ A ) > $o,A0: A > A > $o,A1: list @ A] :
% 0.17/0.44 ( ! [P2: A > A > $o] : ( P @ P2 @ ( nil @ A ) )
% 0.17/0.44 => ( ! [P2: A > A > $o,X4: A] : ( P @ P2 @ ( cons @ A @ X4 @ ( nil @ A ) ) )
% 0.17/0.44 => ( ! [P2: A > A > $o,X4: A,Y2: A,Xs: list @ A] :
% 0.17/0.44 ( ( P @ P2 @ ( cons @ A @ Y2 @ Xs ) )
% 0.17/0.44 => ( P @ P2 @ ( cons @ A @ X4 @ ( cons @ A @ Y2 @ Xs ) ) ) )
% 0.17/0.44 => ( P @ A0 @ A1 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % successively.induct
% 0.17/0.44 thf(fact_56_arg__min__list_Oinduct,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType] :
% 0.17/0.44 ( ( linorder @ B )
% 0.17/0.44 => ! [P: ( A > B ) > ( list @ A ) > $o,A0: A > B,A1: list @ A] :
% 0.17/0.44 ( ! [F: A > B,X4: A] : ( P @ F @ ( cons @ A @ X4 @ ( nil @ A ) ) )
% 0.17/0.44 => ( ! [F: A > B,X4: A,Y2: A,Zs: list @ A] :
% 0.17/0.44 ( ( P @ F @ ( cons @ A @ Y2 @ Zs ) )
% 0.17/0.44 => ( P @ F @ ( cons @ A @ X4 @ ( cons @ A @ Y2 @ Zs ) ) ) )
% 0.17/0.44 => ( ! [A3: A > B] : ( P @ A3 @ ( nil @ A ) )
% 0.17/0.44 => ( P @ A0 @ A1 ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % arg_min_list.induct
% 0.17/0.44 thf(fact_57_remdups__adj_Oinduct,axiom,
% 0.17/0.44 ! [A: $tType,P: ( list @ A ) > $o,A0: list @ A] :
% 0.17/0.44 ( ( P @ ( nil @ A ) )
% 0.17/0.44 => ( ! [X4: A] : ( P @ ( cons @ A @ X4 @ ( nil @ A ) ) )
% 0.17/0.44 => ( ! [X4: A,Y2: A,Xs: list @ A] :
% 0.17/0.44 ( ( ( X4 = Y2 )
% 0.17/0.44 => ( P @ ( cons @ A @ X4 @ Xs ) ) )
% 0.17/0.44 => ( ( ( X4 != Y2 )
% 0.17/0.44 => ( P @ ( cons @ A @ Y2 @ Xs ) ) )
% 0.17/0.44 => ( P @ ( cons @ A @ X4 @ ( cons @ A @ Y2 @ Xs ) ) ) ) )
% 0.17/0.44 => ( P @ A0 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % remdups_adj.induct
% 0.17/0.44 thf(fact_58_sorted__wrt_Oinduct,axiom,
% 0.17/0.44 ! [A: $tType,P: ( A > A > $o ) > ( list @ A ) > $o,A0: A > A > $o,A1: list @ A] :
% 0.17/0.44 ( ! [P2: A > A > $o] : ( P @ P2 @ ( nil @ A ) )
% 0.17/0.44 => ( ! [P2: A > A > $o,X4: A,Ys: list @ A] :
% 0.17/0.44 ( ( P @ P2 @ Ys )
% 0.17/0.44 => ( P @ P2 @ ( cons @ A @ X4 @ Ys ) ) )
% 0.17/0.44 => ( P @ A0 @ A1 ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % sorted_wrt.induct
% 0.17/0.44 thf(fact_59_remdups__adj_Ocases,axiom,
% 0.17/0.44 ! [A: $tType,X: list @ A] :
% 0.17/0.44 ( ( X
% 0.17/0.44 != ( nil @ A ) )
% 0.17/0.44 => ( ! [X4: A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( cons @ A @ X4 @ ( nil @ A ) ) )
% 0.17/0.44 => ~ ! [X4: A,Y2: A,Xs: list @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( cons @ A @ X4 @ ( cons @ A @ Y2 @ Xs ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % remdups_adj.cases
% 0.17/0.44 thf(fact_60_shuffles_Oinduct,axiom,
% 0.17/0.44 ! [A: $tType,P: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 0.17/0.44 ( ! [X_1: list @ A] : ( P @ ( nil @ A ) @ X_1 )
% 0.17/0.44 => ( ! [Xs: list @ A] : ( P @ Xs @ ( nil @ A ) )
% 0.17/0.44 => ( ! [X4: A,Xs: list @ A,Y2: A,Ys: list @ A] :
% 0.17/0.44 ( ( P @ Xs @ ( cons @ A @ Y2 @ Ys ) )
% 0.17/0.44 => ( ( P @ ( cons @ A @ X4 @ Xs ) @ Ys )
% 0.17/0.44 => ( P @ ( cons @ A @ X4 @ Xs ) @ ( cons @ A @ Y2 @ Ys ) ) ) )
% 0.17/0.44 => ( P @ A0 @ A1 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % shuffles.induct
% 0.17/0.44 thf(fact_61_min__list_Oinduct,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( ord @ A )
% 0.17/0.44 => ! [P: ( list @ A ) > $o,A0: list @ A] :
% 0.17/0.44 ( ! [X4: A,Xs: list @ A] :
% 0.17/0.44 ( ! [X213: A,X223: list @ A] :
% 0.17/0.44 ( ( Xs
% 0.17/0.44 = ( cons @ A @ X213 @ X223 ) )
% 0.17/0.44 => ( P @ Xs ) )
% 0.17/0.44 => ( P @ ( cons @ A @ X4 @ Xs ) ) )
% 0.17/0.44 => ( ( P @ ( nil @ A ) )
% 0.17/0.44 => ( P @ A0 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % min_list.induct
% 0.17/0.44 thf(fact_62_min__list_Ocases,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( ord @ A )
% 0.17/0.44 => ! [X: list @ A] :
% 0.17/0.44 ( ! [X4: A,Xs: list @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( cons @ A @ X4 @ Xs ) )
% 0.17/0.44 => ( X
% 0.17/0.44 = ( nil @ A ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % min_list.cases
% 0.17/0.44 thf(fact_63_induct__list012,axiom,
% 0.17/0.44 ! [A: $tType,P: ( list @ A ) > $o,Xs2: list @ A] :
% 0.17/0.44 ( ( P @ ( nil @ A ) )
% 0.17/0.44 => ( ! [X4: A] : ( P @ ( cons @ A @ X4 @ ( nil @ A ) ) )
% 0.17/0.44 => ( ! [X4: A,Y2: A,Zs: list @ A] :
% 0.17/0.44 ( ( P @ Zs )
% 0.17/0.44 => ( ( P @ ( cons @ A @ Y2 @ Zs ) )
% 0.17/0.44 => ( P @ ( cons @ A @ X4 @ ( cons @ A @ Y2 @ Zs ) ) ) ) )
% 0.17/0.44 => ( P @ Xs2 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % induct_list012
% 0.17/0.44 thf(fact_64_splice_Oinduct,axiom,
% 0.17/0.44 ! [A: $tType,P: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 0.17/0.44 ( ! [X_1: list @ A] : ( P @ ( nil @ A ) @ X_1 )
% 0.17/0.44 => ( ! [X4: A,Xs: list @ A,Ys: list @ A] :
% 0.17/0.44 ( ( P @ Ys @ Xs )
% 0.17/0.44 => ( P @ ( cons @ A @ X4 @ Xs ) @ Ys ) )
% 0.17/0.44 => ( P @ A0 @ A1 ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % splice.induct
% 0.17/0.44 thf(fact_65_list__induct2_H,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType,P: ( list @ A ) > ( list @ B ) > $o,Xs2: list @ A,Ys2: list @ B] :
% 0.17/0.44 ( ( P @ ( nil @ A ) @ ( nil @ B ) )
% 0.17/0.44 => ( ! [X4: A,Xs: list @ A] : ( P @ ( cons @ A @ X4 @ Xs ) @ ( nil @ B ) )
% 0.17/0.44 => ( ! [Y2: B,Ys: list @ B] : ( P @ ( nil @ A ) @ ( cons @ B @ Y2 @ Ys ) )
% 0.17/0.44 => ( ! [X4: A,Xs: list @ A,Y2: B,Ys: list @ B] :
% 0.17/0.44 ( ( P @ Xs @ Ys )
% 0.17/0.44 => ( P @ ( cons @ A @ X4 @ Xs ) @ ( cons @ B @ Y2 @ Ys ) ) )
% 0.17/0.44 => ( P @ Xs2 @ Ys2 ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % list_induct2'
% 0.17/0.44 thf(fact_66_neq__Nil__conv,axiom,
% 0.17/0.44 ! [A: $tType,Xs2: list @ A] :
% 0.17/0.44 ( ( Xs2
% 0.17/0.44 != ( nil @ A ) )
% 0.17/0.44 = ( ? [Y3: A,Ys3: list @ A] :
% 0.17/0.44 ( Xs2
% 0.17/0.44 = ( cons @ A @ Y3 @ Ys3 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % neq_Nil_conv
% 0.17/0.44 thf(fact_67_list_Oinducts,axiom,
% 0.17/0.44 ! [A: $tType,P: ( list @ A ) > $o,List: list @ A] :
% 0.17/0.44 ( ( P @ ( nil @ A ) )
% 0.17/0.44 => ( ! [X1: A,X2: list @ A] :
% 0.17/0.44 ( ( P @ X2 )
% 0.17/0.44 => ( P @ ( cons @ A @ X1 @ X2 ) ) )
% 0.17/0.44 => ( P @ List ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % list.inducts
% 0.17/0.44 thf(fact_68_list_Oexhaust,axiom,
% 0.17/0.44 ! [A: $tType,Y: list @ A] :
% 0.17/0.44 ( ( Y
% 0.17/0.44 != ( nil @ A ) )
% 0.17/0.44 => ~ ! [X212: A,X222: list @ A] :
% 0.17/0.44 ( Y
% 0.17/0.44 != ( cons @ A @ X212 @ X222 ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % list.exhaust
% 0.17/0.44 thf(fact_69_list_OdiscI,axiom,
% 0.17/0.44 ! [A: $tType,List: list @ A,X21: A,X22: list @ A] :
% 0.17/0.44 ( ( List
% 0.17/0.44 = ( cons @ A @ X21 @ X22 ) )
% 0.17/0.44 => ( List
% 0.17/0.44 != ( nil @ A ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % list.discI
% 0.17/0.44 thf(fact_70_list_Odistinct_I1_J,axiom,
% 0.17/0.44 ! [A: $tType,X21: A,X22: list @ A] :
% 0.17/0.44 ( ( nil @ A )
% 0.17/0.44 != ( cons @ A @ X21 @ X22 ) ) ).
% 0.17/0.44
% 0.17/0.44 % list.distinct(1)
% 0.17/0.44 thf(fact_71_Tree_Opred__mono,axiom,
% 0.17/0.44 ! [A: $tType,P: A > $o,Pa: A > $o] :
% 0.17/0.44 ( ( ord_less_eq @ ( A > $o ) @ P @ Pa )
% 0.17/0.44 => ( ord_less_eq @ ( ( tree @ A ) > $o ) @ ( pred_Tree @ A @ P ) @ ( pred_Tree @ A @ Pa ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Tree.pred_mono
% 0.17/0.44 thf(fact_72_siftDown_Osimps_I5_J,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [Vd2: A,Ve2: tree @ A,Vf2: tree @ A,Va2: A,Vb2: tree @ A,Vc2: tree @ A,V2: A] :
% 0.17/0.44 ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.17/0.44 => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.17/0.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.17/0.44 = ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) )
% 0.17/0.44 & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.17/0.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.17/0.44 = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) )
% 0.17/0.44 & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.17/0.44 => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 0.17/0.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.17/0.44 = ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) )
% 0.17/0.44 & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 0.17/0.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.17/0.44 = ( t @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % siftDown.simps(5)
% 0.17/0.44 thf(fact_73_siftDown_Osimps_I6_J,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [Va2: A,Vb2: tree @ A,Vc2: tree @ A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A,V2: A] :
% 0.17/0.44 ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.17/0.44 => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 0.17/0.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.17/0.44 = ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) )
% 0.17/0.44 & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 0.17/0.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.17/0.44 = ( t @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) )
% 0.17/0.44 & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.17/0.44 => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.17/0.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.17/0.44 = ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) )
% 0.17/0.44 & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.17/0.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.17/0.44 = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % siftDown.simps(6)
% 0.17/0.44 thf(fact_74_Heap_Oremove__max__val,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),T3: B,M: A,T4: B] :
% 0.17/0.44 ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.17/0.44 => ( ~ ( Is_empty @ T3 )
% 0.17/0.44 => ( ( ( product_Pair @ A @ B @ M @ T4 )
% 0.17/0.44 = ( Remove_max @ T3 ) )
% 0.17/0.44 => ( M
% 0.17/0.44 = ( val @ A @ ( As_tree @ T3 ) ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Heap.remove_max_val
% 0.17/0.44 thf(fact_75_siftDown_Osimps_I3_J,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [Va2: A,Vb2: tree @ A,Vc2: tree @ A,V2: A] :
% 0.17/0.44 ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.17/0.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 0.17/0.44 = ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) ) )
% 0.17/0.44 & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.17/0.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 0.17/0.44 = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) @ ( e @ A ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % siftDown.simps(3)
% 0.17/0.44 thf(fact_76_siftDown_Osimps_I4_J,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [Va2: A,Vb2: tree @ A,Vc2: tree @ A,V2: A] :
% 0.17/0.44 ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.17/0.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.17/0.44 = ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) )
% 0.17/0.44 & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.17/0.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.17/0.44 = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( e @ A ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % siftDown.simps(4)
% 0.17/0.44 thf(fact_77_is__heap_Osimps_I5_J,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [V2: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A] :
% 0.17/0.44 ( ( is_heap @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.17/0.44 = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 0.17/0.44 & ( is_heap @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) )
% 0.17/0.44 & ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.17/0.44 & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % is_heap.simps(5)
% 0.17/0.44 thf(fact_78_is__heap_Osimps_I6_J,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [V2: A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 0.17/0.44 ( ( is_heap @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.17/0.44 = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.17/0.44 & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) )
% 0.17/0.44 & ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 0.17/0.44 & ( is_heap @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % is_heap.simps(6)
% 0.17/0.44 thf(fact_79_is__heap__max,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [V2: A,T3: tree @ A] :
% 0.17/0.44 ( ( in_tree @ A @ V2 @ T3 )
% 0.17/0.44 => ( ( is_heap @ A @ T3 )
% 0.17/0.44 => ( ord_less_eq @ A @ V2 @ ( val @ A @ T3 ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % is_heap_max
% 0.17/0.44 thf(fact_80_val_Osimps,axiom,
% 0.17/0.44 ! [A: $tType,V2: A,Uu: tree @ A,Uv: tree @ A] :
% 0.17/0.44 ( ( val @ A @ ( t @ A @ V2 @ Uu @ Uv ) )
% 0.17/0.44 = V2 ) ).
% 0.17/0.44
% 0.17/0.44 % val.simps
% 0.17/0.44 thf(fact_81_is__heap_Osimps_I3_J,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [V2: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 0.17/0.44 ( ( is_heap @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.17/0.44 = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.17/0.44 & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % is_heap.simps(3)
% 0.17/0.44 thf(fact_82_is__heap_Osimps_I4_J,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [V2: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 0.17/0.44 ( ( is_heap @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 0.17/0.44 = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.17/0.44 & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % is_heap.simps(4)
% 0.17/0.44 thf(fact_83_siftDown__multiset,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [T3: tree @ A] :
% 0.17/0.44 ( ( multiset2 @ A @ ( heapIm748920189ftDown @ A @ T3 ) )
% 0.17/0.44 = ( multiset2 @ A @ T3 ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % siftDown_multiset
% 0.17/0.44 thf(fact_84_old_Oprod_Oinject,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType,A2: A,B2: B,A5: A,B3: B] :
% 0.17/0.44 ( ( ( product_Pair @ A @ B @ A2 @ B2 )
% 0.17/0.44 = ( product_Pair @ A @ B @ A5 @ B3 ) )
% 0.17/0.44 = ( ( A2 = A5 )
% 0.17/0.44 & ( B2 = B3 ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % old.prod.inject
% 0.17/0.44 thf(fact_85_prod_Oinject,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType,X12: A,X24: B,Y1: A,Y24: B] :
% 0.17/0.44 ( ( ( product_Pair @ A @ B @ X12 @ X24 )
% 0.17/0.44 = ( product_Pair @ A @ B @ Y1 @ Y24 ) )
% 0.17/0.44 = ( ( X12 = Y1 )
% 0.17/0.44 & ( X24 = Y24 ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % prod.inject
% 0.17/0.44 thf(fact_86_order__refl,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( preorder @ A )
% 0.17/0.44 => ! [X: A] : ( ord_less_eq @ A @ X @ X ) ) ).
% 0.17/0.44
% 0.17/0.44 % order_refl
% 0.17/0.44 thf(fact_87_Heap__axioms_Ointro,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [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.17/0.44 ( ! [L5: B] :
% 0.17/0.44 ( ( Multiset @ L5 )
% 0.17/0.44 = ( multiset2 @ A @ ( As_tree @ L5 ) ) )
% 0.17/0.44 => ( ! [I2: list @ A] : ( is_heap @ A @ ( As_tree @ ( Of_list @ I2 ) ) )
% 0.17/0.44 => ( ! [T5: B] :
% 0.17/0.44 ( ( ( As_tree @ T5 )
% 0.17/0.44 = ( e @ A ) )
% 0.17/0.44 = ( Is_empty @ T5 ) )
% 0.17/0.44 => ( ! [L5: B,M2: A,L4: B] :
% 0.17/0.44 ( ~ ( Is_empty @ L5 )
% 0.17/0.44 => ( ( ( product_Pair @ A @ B @ M2 @ L4 )
% 0.17/0.44 = ( Remove_max @ L5 ) )
% 0.17/0.44 => ( ( add_mset @ A @ M2 @ ( Multiset @ L4 ) )
% 0.17/0.44 = ( Multiset @ L5 ) ) ) )
% 0.17/0.44 => ( ! [L5: B,M2: A,L4: B] :
% 0.17/0.44 ( ~ ( Is_empty @ L5 )
% 0.17/0.44 => ( ( is_heap @ A @ ( As_tree @ L5 ) )
% 0.17/0.44 => ( ( ( product_Pair @ A @ B @ M2 @ L4 )
% 0.17/0.44 = ( Remove_max @ L5 ) )
% 0.17/0.44 => ( is_heap @ A @ ( As_tree @ L4 ) ) ) ) )
% 0.17/0.44 => ( ! [T5: B,M2: A,T6: B] :
% 0.17/0.44 ( ~ ( Is_empty @ T5 )
% 0.17/0.44 => ( ( ( product_Pair @ A @ B @ M2 @ T6 )
% 0.17/0.44 = ( Remove_max @ T5 ) )
% 0.17/0.44 => ( M2
% 0.17/0.44 = ( val @ A @ ( As_tree @ T5 ) ) ) ) )
% 0.17/0.44 => ( heap_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max ) ) ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Heap_axioms.intro
% 0.17/0.44 thf(fact_88_Heap__axioms__def,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ( ( heap_axioms @ B @ A )
% 0.17/0.44 = ( ^ [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.17/0.44 ( ! [L2: B] :
% 0.17/0.44 ( ( Multiset2 @ L2 )
% 0.17/0.44 = ( multiset2 @ A @ ( As_tree2 @ L2 ) ) )
% 0.17/0.44 & ! [I3: list @ A] : ( is_heap @ A @ ( As_tree2 @ ( Of_list2 @ I3 ) ) )
% 0.17/0.44 & ! [T2: B] :
% 0.17/0.44 ( ( ( As_tree2 @ T2 )
% 0.17/0.44 = ( e @ A ) )
% 0.17/0.44 = ( Is_empty2 @ T2 ) )
% 0.17/0.44 & ! [L2: B,M3: A,L6: B] :
% 0.17/0.44 ( ~ ( Is_empty2 @ L2 )
% 0.17/0.44 => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 0.17/0.44 = ( Remove_max2 @ L2 ) )
% 0.17/0.44 => ( ( add_mset @ A @ M3 @ ( Multiset2 @ L6 ) )
% 0.17/0.44 = ( Multiset2 @ L2 ) ) ) )
% 0.17/0.44 & ! [L2: B,M3: A,L6: B] :
% 0.17/0.44 ( ~ ( Is_empty2 @ L2 )
% 0.17/0.44 => ( ( is_heap @ A @ ( As_tree2 @ L2 ) )
% 0.17/0.44 => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 0.17/0.44 = ( Remove_max2 @ L2 ) )
% 0.17/0.44 => ( is_heap @ A @ ( As_tree2 @ L6 ) ) ) ) )
% 0.17/0.44 & ! [T2: B,M3: A,T7: B] :
% 0.17/0.44 ( ~ ( Is_empty2 @ T2 )
% 0.17/0.44 => ( ( ( product_Pair @ A @ B @ M3 @ T7 )
% 0.17/0.44 = ( Remove_max2 @ T2 ) )
% 0.17/0.44 => ( M3
% 0.17/0.44 = ( val @ A @ ( As_tree2 @ T2 ) ) ) ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Heap_axioms_def
% 0.17/0.44 thf(fact_89_subset__eq__mset__impl_Ocases,axiom,
% 0.17/0.44 ! [A: $tType,X: product_prod @ ( list @ A ) @ ( list @ A )] :
% 0.17/0.44 ( ! [Ys: list @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ys ) )
% 0.17/0.44 => ~ ! [X4: A,Xs: list @ A,Ys: list @ A] :
% 0.17/0.44 ( X
% 0.17/0.44 != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X4 @ Xs ) @ Ys ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % subset_eq_mset_impl.cases
% 0.17/0.44 thf(fact_90_insert__Nil,axiom,
% 0.17/0.44 ! [A: $tType,X: A] :
% 0.17/0.44 ( ( insert @ A @ X @ ( nil @ A ) )
% 0.17/0.44 = ( cons @ A @ X @ ( nil @ A ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % insert_Nil
% 0.17/0.44 thf(fact_91_Heap_Ointro,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [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.17/0.44 ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 0.17/0.44 => ( ( heap_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.17/0.44 => ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Heap.intro
% 0.17/0.44 thf(fact_92_add__mset__add__mset__same__iff,axiom,
% 0.17/0.44 ! [A: $tType,A2: A,A4: multiset @ A,B4: multiset @ A] :
% 0.17/0.44 ( ( ( add_mset @ A @ A2 @ A4 )
% 0.17/0.44 = ( add_mset @ A @ A2 @ B4 ) )
% 0.17/0.44 = ( A4 = B4 ) ) ).
% 0.17/0.44
% 0.17/0.44 % add_mset_add_mset_same_iff
% 0.17/0.44 thf(fact_93_multi__self__add__other__not__self,axiom,
% 0.17/0.44 ! [A: $tType,M4: multiset @ A,X: A] :
% 0.17/0.44 ( M4
% 0.17/0.44 != ( add_mset @ A @ X @ M4 ) ) ).
% 0.17/0.44
% 0.17/0.44 % multi_self_add_other_not_self
% 0.17/0.44 thf(fact_94_predicate1I,axiom,
% 0.17/0.44 ! [A: $tType,P: A > $o,Q: A > $o] :
% 0.17/0.44 ( ! [X4: A] :
% 0.17/0.44 ( ( P @ X4 )
% 0.17/0.44 => ( Q @ X4 ) )
% 0.17/0.44 => ( ord_less_eq @ ( A > $o ) @ P @ Q ) ) ).
% 0.17/0.44
% 0.17/0.44 % predicate1I
% 0.17/0.44 thf(fact_95_rev__predicate1D,axiom,
% 0.17/0.44 ! [A: $tType,P: A > $o,X: A,Q: A > $o] :
% 0.17/0.44 ( ( P @ X )
% 0.17/0.44 => ( ( ord_less_eq @ ( A > $o ) @ P @ Q )
% 0.17/0.44 => ( Q @ X ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % rev_predicate1D
% 0.17/0.44 thf(fact_96_predicate1D,axiom,
% 0.17/0.44 ! [A: $tType,P: A > $o,Q: A > $o,X: A] :
% 0.17/0.44 ( ( ord_less_eq @ ( A > $o ) @ P @ Q )
% 0.17/0.44 => ( ( P @ X )
% 0.17/0.44 => ( Q @ X ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % predicate1D
% 0.17/0.44 thf(fact_97_add__eq__conv__ex,axiom,
% 0.17/0.44 ! [A: $tType,A2: A,M4: multiset @ A,B2: A,N: multiset @ A] :
% 0.17/0.44 ( ( ( add_mset @ A @ A2 @ M4 )
% 0.17/0.44 = ( add_mset @ A @ B2 @ N ) )
% 0.17/0.44 = ( ( ( M4 = N )
% 0.17/0.44 & ( A2 = B2 ) )
% 0.17/0.44 | ? [K: multiset @ A] :
% 0.17/0.44 ( ( M4
% 0.17/0.44 = ( add_mset @ A @ B2 @ K ) )
% 0.17/0.44 & ( N
% 0.17/0.44 = ( add_mset @ A @ A2 @ K ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % add_eq_conv_ex
% 0.17/0.44 thf(fact_98_add__mset__commute,axiom,
% 0.17/0.44 ! [A: $tType,X: A,Y: A,M4: multiset @ A] :
% 0.17/0.44 ( ( add_mset @ A @ X @ ( add_mset @ A @ Y @ M4 ) )
% 0.17/0.44 = ( add_mset @ A @ Y @ ( add_mset @ A @ X @ M4 ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % add_mset_commute
% 0.17/0.44 thf(fact_99_Heap_Oaxioms_I1_J,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [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.17/0.44 ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.17/0.44 => ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Heap.axioms(1)
% 0.17/0.44 thf(fact_100_Heap_Oremove__max__multiset_H,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),L: B,M: A,L3: B] :
% 0.17/0.44 ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.17/0.44 => ( ~ ( Is_empty @ L )
% 0.17/0.44 => ( ( ( product_Pair @ A @ B @ M @ L3 )
% 0.17/0.44 = ( Remove_max @ L ) )
% 0.17/0.44 => ( ( add_mset @ A @ M @ ( Multiset @ L3 ) )
% 0.17/0.44 = ( Multiset @ L ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Heap.remove_max_multiset'
% 0.17/0.44 thf(fact_101_le__funD,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType] :
% 0.17/0.44 ( ( ord @ B )
% 0.17/0.44 => ! [F3: A > B,G: A > B,X: A] :
% 0.17/0.44 ( ( ord_less_eq @ ( A > B ) @ F3 @ G )
% 0.17/0.44 => ( ord_less_eq @ B @ ( F3 @ X ) @ ( G @ X ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % le_funD
% 0.17/0.44 thf(fact_102_le__funE,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType] :
% 0.17/0.44 ( ( ord @ B )
% 0.17/0.44 => ! [F3: A > B,G: A > B,X: A] :
% 0.17/0.44 ( ( ord_less_eq @ ( A > B ) @ F3 @ G )
% 0.17/0.44 => ( ord_less_eq @ B @ ( F3 @ X ) @ ( G @ X ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % le_funE
% 0.17/0.44 thf(fact_103_le__funI,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType] :
% 0.17/0.44 ( ( ord @ B )
% 0.17/0.44 => ! [F3: A > B,G: A > B] :
% 0.17/0.44 ( ! [X4: A] : ( ord_less_eq @ B @ ( F3 @ X4 ) @ ( G @ X4 ) )
% 0.17/0.44 => ( ord_less_eq @ ( A > B ) @ F3 @ G ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % le_funI
% 0.17/0.44 thf(fact_104_le__fun__def,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType] :
% 0.17/0.44 ( ( ord @ B )
% 0.17/0.44 => ( ( ord_less_eq @ ( A > B ) )
% 0.17/0.44 = ( ^ [F4: A > B,G2: A > B] :
% 0.17/0.44 ! [X5: A] : ( ord_less_eq @ B @ ( F4 @ X5 ) @ ( G2 @ X5 ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % le_fun_def
% 0.17/0.44 thf(fact_105_order__subst1,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType] :
% 0.17/0.44 ( ( ( order @ B )
% 0.17/0.44 & ( order @ A ) )
% 0.17/0.44 => ! [A2: A,F3: B > A,B2: B,C2: B] :
% 0.17/0.44 ( ( ord_less_eq @ A @ A2 @ ( F3 @ B2 ) )
% 0.17/0.44 => ( ( ord_less_eq @ B @ B2 @ C2 )
% 0.17/0.44 => ( ! [X4: B,Y2: B] :
% 0.17/0.44 ( ( ord_less_eq @ B @ X4 @ Y2 )
% 0.17/0.44 => ( ord_less_eq @ A @ ( F3 @ X4 ) @ ( F3 @ Y2 ) ) )
% 0.17/0.44 => ( ord_less_eq @ A @ A2 @ ( F3 @ C2 ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % order_subst1
% 0.17/0.44 thf(fact_106_order__subst2,axiom,
% 0.17/0.44 ! [A: $tType,C: $tType] :
% 0.17/0.44 ( ( ( order @ C )
% 0.17/0.44 & ( order @ A ) )
% 0.17/0.44 => ! [A2: A,B2: A,F3: A > C,C2: C] :
% 0.17/0.44 ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.17/0.44 => ( ( ord_less_eq @ C @ ( F3 @ B2 ) @ C2 )
% 0.17/0.44 => ( ! [X4: A,Y2: A] :
% 0.17/0.44 ( ( ord_less_eq @ A @ X4 @ Y2 )
% 0.17/0.44 => ( ord_less_eq @ C @ ( F3 @ X4 ) @ ( F3 @ Y2 ) ) )
% 0.17/0.44 => ( ord_less_eq @ C @ ( F3 @ A2 ) @ C2 ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % order_subst2
% 0.17/0.44 thf(fact_107_ord__eq__le__subst,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType] :
% 0.17/0.44 ( ( ( ord @ B )
% 0.17/0.44 & ( ord @ A ) )
% 0.17/0.44 => ! [A2: A,F3: B > A,B2: B,C2: B] :
% 0.17/0.44 ( ( A2
% 0.17/0.44 = ( F3 @ B2 ) )
% 0.17/0.44 => ( ( ord_less_eq @ B @ B2 @ C2 )
% 0.17/0.44 => ( ! [X4: B,Y2: B] :
% 0.17/0.44 ( ( ord_less_eq @ B @ X4 @ Y2 )
% 0.17/0.44 => ( ord_less_eq @ A @ ( F3 @ X4 ) @ ( F3 @ Y2 ) ) )
% 0.17/0.44 => ( ord_less_eq @ A @ A2 @ ( F3 @ C2 ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % ord_eq_le_subst
% 0.17/0.44 thf(fact_108_ord__le__eq__subst,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType] :
% 0.17/0.44 ( ( ( ord @ B )
% 0.17/0.44 & ( ord @ A ) )
% 0.17/0.44 => ! [A2: A,B2: A,F3: A > B,C2: B] :
% 0.17/0.44 ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.17/0.44 => ( ( ( F3 @ B2 )
% 0.17/0.44 = C2 )
% 0.17/0.44 => ( ! [X4: A,Y2: A] :
% 0.17/0.44 ( ( ord_less_eq @ A @ X4 @ Y2 )
% 0.17/0.44 => ( ord_less_eq @ B @ ( F3 @ X4 ) @ ( F3 @ Y2 ) ) )
% 0.17/0.44 => ( ord_less_eq @ B @ ( F3 @ A2 ) @ C2 ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % ord_le_eq_subst
% 0.17/0.44 thf(fact_109_eq__iff,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( order @ A )
% 0.17/0.44 => ( ( ^ [Y4: A,Z: A] : ( Y4 = Z ) )
% 0.17/0.44 = ( ^ [X5: A,Y3: A] :
% 0.17/0.44 ( ( ord_less_eq @ A @ X5 @ Y3 )
% 0.17/0.44 & ( ord_less_eq @ A @ Y3 @ X5 ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % eq_iff
% 0.17/0.44 thf(fact_110_antisym,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( order @ A )
% 0.17/0.44 => ! [X: A,Y: A] :
% 0.17/0.44 ( ( ord_less_eq @ A @ X @ Y )
% 0.17/0.44 => ( ( ord_less_eq @ A @ Y @ X )
% 0.17/0.44 => ( X = Y ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % antisym
% 0.17/0.44 thf(fact_111_linear,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [X: A,Y: A] :
% 0.17/0.44 ( ( ord_less_eq @ A @ X @ Y )
% 0.17/0.44 | ( ord_less_eq @ A @ Y @ X ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % linear
% 0.17/0.44 thf(fact_112_eq__refl,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( preorder @ A )
% 0.17/0.44 => ! [X: A,Y: A] :
% 0.17/0.44 ( ( X = Y )
% 0.17/0.44 => ( ord_less_eq @ A @ X @ Y ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % eq_refl
% 0.17/0.44 thf(fact_113_le__cases,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [X: A,Y: A] :
% 0.17/0.44 ( ~ ( ord_less_eq @ A @ X @ Y )
% 0.17/0.44 => ( ord_less_eq @ A @ Y @ X ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % le_cases
% 0.17/0.44 thf(fact_114_order_Otrans,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( order @ A )
% 0.17/0.44 => ! [A2: A,B2: A,C2: A] :
% 0.17/0.44 ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.17/0.44 => ( ( ord_less_eq @ A @ B2 @ C2 )
% 0.17/0.44 => ( ord_less_eq @ A @ A2 @ C2 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % order.trans
% 0.17/0.44 thf(fact_115_le__cases3,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [X: A,Y: A,Z2: A] :
% 0.17/0.44 ( ( ( ord_less_eq @ A @ X @ Y )
% 0.17/0.44 => ~ ( ord_less_eq @ A @ Y @ Z2 ) )
% 0.17/0.44 => ( ( ( ord_less_eq @ A @ Y @ X )
% 0.17/0.44 => ~ ( ord_less_eq @ A @ X @ Z2 ) )
% 0.17/0.44 => ( ( ( ord_less_eq @ A @ X @ Z2 )
% 0.17/0.44 => ~ ( ord_less_eq @ A @ Z2 @ Y ) )
% 0.17/0.44 => ( ( ( ord_less_eq @ A @ Z2 @ Y )
% 0.17/0.44 => ~ ( ord_less_eq @ A @ Y @ X ) )
% 0.17/0.44 => ( ( ( ord_less_eq @ A @ Y @ Z2 )
% 0.17/0.44 => ~ ( ord_less_eq @ A @ Z2 @ X ) )
% 0.17/0.44 => ~ ( ( ord_less_eq @ A @ Z2 @ X )
% 0.17/0.44 => ~ ( ord_less_eq @ A @ X @ Y ) ) ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % le_cases3
% 0.17/0.44 thf(fact_116_antisym__conv,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( order @ A )
% 0.17/0.44 => ! [Y: A,X: A] :
% 0.17/0.44 ( ( ord_less_eq @ A @ Y @ X )
% 0.17/0.44 => ( ( ord_less_eq @ A @ X @ Y )
% 0.17/0.44 = ( X = Y ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % antisym_conv
% 0.17/0.44 thf(fact_117_order__class_Oorder_Oeq__iff,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( order @ A )
% 0.17/0.44 => ( ( ^ [Y4: A,Z: A] : ( Y4 = Z ) )
% 0.17/0.44 = ( ^ [A6: A,B5: A] :
% 0.17/0.44 ( ( ord_less_eq @ A @ A6 @ B5 )
% 0.17/0.44 & ( ord_less_eq @ A @ B5 @ A6 ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % order_class.order.eq_iff
% 0.17/0.44 thf(fact_118_ord__eq__le__trans,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( ord @ A )
% 0.17/0.44 => ! [A2: A,B2: A,C2: A] :
% 0.17/0.44 ( ( A2 = B2 )
% 0.17/0.44 => ( ( ord_less_eq @ A @ B2 @ C2 )
% 0.17/0.44 => ( ord_less_eq @ A @ A2 @ C2 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % ord_eq_le_trans
% 0.17/0.44 thf(fact_119_ord__le__eq__trans,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( ord @ A )
% 0.17/0.44 => ! [A2: A,B2: A,C2: A] :
% 0.17/0.44 ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.17/0.44 => ( ( B2 = C2 )
% 0.17/0.44 => ( ord_less_eq @ A @ A2 @ C2 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % ord_le_eq_trans
% 0.17/0.44 thf(fact_120_order__class_Oorder_Oantisym,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( order @ A )
% 0.17/0.44 => ! [A2: A,B2: A] :
% 0.17/0.44 ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.17/0.44 => ( ( ord_less_eq @ A @ B2 @ A2 )
% 0.17/0.44 => ( A2 = B2 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % order_class.order.antisym
% 0.17/0.44 thf(fact_121_order__trans,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( preorder @ A )
% 0.17/0.44 => ! [X: A,Y: A,Z2: A] :
% 0.17/0.44 ( ( ord_less_eq @ A @ X @ Y )
% 0.17/0.44 => ( ( ord_less_eq @ A @ Y @ Z2 )
% 0.17/0.44 => ( ord_less_eq @ A @ X @ Z2 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % order_trans
% 0.17/0.44 thf(fact_122_dual__order_Orefl,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( order @ A )
% 0.17/0.44 => ! [A2: A] : ( ord_less_eq @ A @ A2 @ A2 ) ) ).
% 0.17/0.44
% 0.17/0.44 % dual_order.refl
% 0.17/0.44 thf(fact_123_linorder__wlog,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [P: A > A > $o,A2: A,B2: A] :
% 0.17/0.44 ( ! [A3: A,B6: A] :
% 0.17/0.44 ( ( ord_less_eq @ A @ A3 @ B6 )
% 0.17/0.44 => ( P @ A3 @ B6 ) )
% 0.17/0.44 => ( ! [A3: A,B6: A] :
% 0.17/0.44 ( ( P @ B6 @ A3 )
% 0.17/0.44 => ( P @ A3 @ B6 ) )
% 0.17/0.44 => ( P @ A2 @ B2 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % linorder_wlog
% 0.17/0.44 thf(fact_124_dual__order_Otrans,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( order @ A )
% 0.17/0.44 => ! [B2: A,A2: A,C2: A] :
% 0.17/0.44 ( ( ord_less_eq @ A @ B2 @ A2 )
% 0.17/0.44 => ( ( ord_less_eq @ A @ C2 @ B2 )
% 0.17/0.44 => ( ord_less_eq @ A @ C2 @ A2 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % dual_order.trans
% 0.17/0.44 thf(fact_125_dual__order_Oeq__iff,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( order @ A )
% 0.17/0.44 => ( ( ^ [Y4: A,Z: A] : ( Y4 = Z ) )
% 0.17/0.44 = ( ^ [A6: A,B5: A] :
% 0.17/0.44 ( ( ord_less_eq @ A @ B5 @ A6 )
% 0.17/0.44 & ( ord_less_eq @ A @ A6 @ B5 ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % dual_order.eq_iff
% 0.17/0.44 thf(fact_126_dual__order_Oantisym,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( order @ A )
% 0.17/0.44 => ! [B2: A,A2: A] :
% 0.17/0.44 ( ( ord_less_eq @ A @ B2 @ A2 )
% 0.17/0.44 => ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.17/0.44 => ( A2 = B2 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % dual_order.antisym
% 0.17/0.44 thf(fact_127_surj__pair,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType,P3: product_prod @ A @ B] :
% 0.17/0.44 ? [X4: A,Y2: B] :
% 0.17/0.44 ( P3
% 0.17/0.44 = ( product_Pair @ A @ B @ X4 @ Y2 ) ) ).
% 0.17/0.44
% 0.17/0.44 % surj_pair
% 0.17/0.44 thf(fact_128_prod__cases,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P3: product_prod @ A @ B] :
% 0.17/0.44 ( ! [A3: A,B6: B] : ( P @ ( product_Pair @ A @ B @ A3 @ B6 ) )
% 0.17/0.44 => ( P @ P3 ) ) ).
% 0.17/0.44
% 0.17/0.44 % prod_cases
% 0.17/0.44 thf(fact_129_Pair__inject,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType,A2: A,B2: B,A5: A,B3: B] :
% 0.17/0.44 ( ( ( product_Pair @ A @ B @ A2 @ B2 )
% 0.17/0.44 = ( product_Pair @ A @ B @ A5 @ B3 ) )
% 0.17/0.44 => ~ ( ( A2 = A5 )
% 0.17/0.44 => ( B2 != B3 ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Pair_inject
% 0.17/0.44 thf(fact_130_prod__cases3,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType,C: $tType,Y: product_prod @ A @ ( product_prod @ B @ C )] :
% 0.17/0.44 ~ ! [A3: A,B6: B,C3: C] :
% 0.17/0.44 ( Y
% 0.17/0.44 != ( product_Pair @ A @ ( product_prod @ B @ C ) @ A3 @ ( product_Pair @ B @ C @ B6 @ C3 ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % prod_cases3
% 0.17/0.44 thf(fact_131_prod__cases4,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType,C: $tType,D: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
% 0.17/0.44 ~ ! [A3: A,B6: B,C3: C,D2: D] :
% 0.17/0.44 ( Y
% 0.17/0.44 != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A3 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B6 @ ( product_Pair @ C @ D @ C3 @ D2 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % prod_cases4
% 0.17/0.44 thf(fact_132_prod__cases5,axiom,
% 0.17/0.44 ! [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.17/0.44 ~ ! [A3: A,B6: B,C3: C,D2: D,E2: E] :
% 0.17/0.44 ( Y
% 0.17/0.44 != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A3 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B6 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C3 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % prod_cases5
% 0.17/0.44 thf(fact_133_prod__cases6,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F5: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F5 ) ) ) )] :
% 0.17/0.44 ~ ! [A3: A,B6: B,C3: C,D2: D,E2: E,F: F5] :
% 0.17/0.44 ( Y
% 0.17/0.44 != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F5 ) ) ) ) @ A3 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F5 ) ) ) @ B6 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F5 ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ F5 ) @ D2 @ ( product_Pair @ E @ F5 @ E2 @ F ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % prod_cases6
% 0.17/0.44 thf(fact_134_prod__cases7,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F5: $tType,G3: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) ) ) )] :
% 0.17/0.44 ~ ! [A3: A,B6: B,C3: C,D2: D,E2: E,F: F5,G4: G3] :
% 0.17/0.44 ( Y
% 0.17/0.44 != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) ) ) ) @ A3 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) ) ) @ B6 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F5 @ G3 ) @ E2 @ ( product_Pair @ F5 @ G3 @ F @ G4 ) ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % prod_cases7
% 0.17/0.44 thf(fact_135_prod__induct3,axiom,
% 0.17/0.44 ! [C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ C )] :
% 0.17/0.44 ( ! [A3: A,B6: B,C3: C] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A3 @ ( product_Pair @ B @ C @ B6 @ C3 ) ) )
% 0.17/0.44 => ( P @ X ) ) ).
% 0.17/0.44
% 0.17/0.44 % prod_induct3
% 0.17/0.44 thf(fact_136_prod__induct4,axiom,
% 0.17/0.44 ! [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.17/0.44 ( ! [A3: A,B6: B,C3: C,D2: D] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A3 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B6 @ ( product_Pair @ C @ D @ C3 @ D2 ) ) ) )
% 0.17/0.44 => ( P @ X ) ) ).
% 0.17/0.44
% 0.17/0.44 % prod_induct4
% 0.17/0.44 thf(fact_137_prod__induct5,axiom,
% 0.17/0.44 ! [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.17/0.44 ( ! [A3: A,B6: B,C3: C,D2: D,E2: E] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A3 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B6 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C3 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) )
% 0.17/0.44 => ( P @ X ) ) ).
% 0.17/0.44
% 0.17/0.44 % prod_induct5
% 0.17/0.44 thf(fact_138_prod__induct6,axiom,
% 0.17/0.44 ! [F5: $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 @ F5 ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F5 ) ) ) )] :
% 0.17/0.44 ( ! [A3: A,B6: B,C3: C,D2: D,E2: E,F: F5] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F5 ) ) ) ) @ A3 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F5 ) ) ) @ B6 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F5 ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ F5 ) @ D2 @ ( product_Pair @ E @ F5 @ E2 @ F ) ) ) ) ) )
% 0.17/0.44 => ( P @ X ) ) ).
% 0.17/0.44
% 0.17/0.44 % prod_induct6
% 0.17/0.44 thf(fact_139_prod__induct7,axiom,
% 0.17/0.44 ! [G3: $tType,F5: $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 @ F5 @ G3 ) ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) ) ) )] :
% 0.17/0.44 ( ! [A3: A,B6: B,C3: C,D2: D,E2: E,F: F5,G4: G3] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) ) ) ) @ A3 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) ) ) @ B6 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F5 @ G3 ) @ E2 @ ( product_Pair @ F5 @ G3 @ F @ G4 ) ) ) ) ) ) )
% 0.17/0.44 => ( P @ X ) ) ).
% 0.17/0.44
% 0.17/0.44 % prod_induct7
% 0.17/0.44 thf(fact_140_old_Oprod_Oexhaust,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType,Y: product_prod @ A @ B] :
% 0.17/0.44 ~ ! [A3: A,B6: B] :
% 0.17/0.44 ( Y
% 0.17/0.44 != ( product_Pair @ A @ B @ A3 @ B6 ) ) ).
% 0.17/0.44
% 0.17/0.44 % old.prod.exhaust
% 0.17/0.44 thf(fact_141_old_Oprod_Oinducts,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
% 0.17/0.44 ( ! [A3: A,B6: B] : ( P @ ( product_Pair @ A @ B @ A3 @ B6 ) )
% 0.17/0.44 => ( P @ Prod ) ) ).
% 0.17/0.44
% 0.17/0.44 % old.prod.inducts
% 0.17/0.44 thf(fact_142_Heap__def,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ( ( heap @ B @ A )
% 0.17/0.44 = ( ^ [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.17/0.44 ( ( collection @ B @ A @ Empty2 @ Is_empty2 @ Of_list2 @ Multiset2 )
% 0.17/0.44 & ( heap_axioms @ B @ A @ Is_empty2 @ Of_list2 @ Multiset2 @ As_tree2 @ Remove_max2 ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Heap_def
% 0.17/0.44 thf(fact_143_old_Oprod_Orec,axiom,
% 0.17/0.44 ! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A2: A,B2: B] :
% 0.17/0.44 ( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 0.17/0.44 = ( F1 @ A2 @ B2 ) ) ).
% 0.17/0.44
% 0.17/0.44 % old.prod.rec
% 0.17/0.44 thf(fact_144_product__lists_Osimps_I1_J,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( product_lists @ A @ ( nil @ ( list @ A ) ) )
% 0.17/0.44 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % product_lists.simps(1)
% 0.17/0.44 thf(fact_145_subseqs_Osimps_I1_J,axiom,
% 0.17/0.44 ! [A: $tType] :
% 0.17/0.44 ( ( subseqs @ A @ ( nil @ A ) )
% 0.17/0.44 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % subseqs.simps(1)
% 0.17/0.44 thf(fact_146_part__code_I1_J,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType] :
% 0.17/0.44 ( ( linorder @ A )
% 0.17/0.44 => ! [F3: B > A,Pivot: A] :
% 0.17/0.44 ( ( linorder_part @ B @ A @ F3 @ Pivot @ ( nil @ B ) )
% 0.17/0.44 = ( product_Pair @ ( list @ B ) @ ( product_prod @ ( list @ B ) @ ( list @ B ) ) @ ( nil @ B ) @ ( product_Pair @ ( list @ B ) @ ( list @ B ) @ ( nil @ B ) @ ( nil @ B ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % part_code(1)
% 0.17/0.44 thf(fact_147_listrel_Oinducts,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType,X12: list @ A,X24: list @ B,R: set @ ( product_prod @ A @ B ),P: ( list @ A ) > ( list @ B ) > $o] :
% 0.17/0.44 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ X12 @ X24 ) @ ( listrel @ A @ B @ R ) )
% 0.17/0.44 => ( ( P @ ( nil @ A ) @ ( nil @ B ) )
% 0.17/0.44 => ( ! [X4: A,Y2: B,Xs: list @ A,Ys: list @ B] :
% 0.17/0.44 ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y2 ) @ R )
% 0.17/0.44 => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ Ys ) @ ( listrel @ A @ B @ R ) )
% 0.17/0.44 => ( ( P @ Xs @ Ys )
% 0.17/0.44 => ( P @ ( cons @ A @ X4 @ Xs ) @ ( cons @ B @ Y2 @ Ys ) ) ) ) )
% 0.17/0.44 => ( P @ X12 @ X24 ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % listrel.inducts
% 0.17/0.44 thf(fact_148_listrel__mono,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),S: set @ ( product_prod @ A @ B )] :
% 0.17/0.44 ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R @ S )
% 0.17/0.44 => ( ord_less_eq @ ( set @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) @ ( listrel @ A @ B @ R ) @ ( listrel @ A @ B @ S ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % listrel_mono
% 0.17/0.44 thf(fact_149_listrel_ONil,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B )] : ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ ( nil @ B ) ) @ ( listrel @ A @ B @ R ) ) ).
% 0.17/0.44
% 0.17/0.44 % listrel.Nil
% 0.17/0.44 thf(fact_150_listrel__Nil1,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType,Xs2: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.17/0.44 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ Xs2 ) @ ( listrel @ A @ B @ R ) )
% 0.17/0.44 => ( Xs2
% 0.17/0.44 = ( nil @ B ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % listrel_Nil1
% 0.17/0.44 thf(fact_151_listrel__Nil2,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType,Xs2: list @ A,R: set @ ( product_prod @ A @ B )] :
% 0.17/0.44 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ ( nil @ B ) ) @ ( listrel @ A @ B @ R ) )
% 0.17/0.44 => ( Xs2
% 0.17/0.44 = ( nil @ A ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % listrel_Nil2
% 0.17/0.44 thf(fact_152_listrel__Cons2,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType,Xs2: list @ A,Y: B,Ys2: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.17/0.44 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ ( cons @ B @ Y @ Ys2 ) ) @ ( listrel @ A @ B @ R ) )
% 0.17/0.44 => ~ ! [X4: A,Xs: list @ A] :
% 0.17/0.44 ( ( Xs2
% 0.17/0.44 = ( cons @ A @ X4 @ Xs ) )
% 0.17/0.44 => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y ) @ R )
% 0.17/0.44 => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ Ys2 ) @ ( listrel @ A @ B @ R ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % listrel_Cons2
% 0.17/0.44 thf(fact_153_listrel__Cons1,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType,Y: A,Ys2: list @ A,Xs2: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.17/0.44 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ Y @ Ys2 ) @ Xs2 ) @ ( listrel @ A @ B @ R ) )
% 0.17/0.44 => ~ ! [Y2: B,Ys: list @ B] :
% 0.17/0.44 ( ( Xs2
% 0.17/0.44 = ( cons @ B @ Y2 @ Ys ) )
% 0.17/0.44 => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Y @ Y2 ) @ R )
% 0.17/0.44 => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Ys2 @ Ys ) @ ( listrel @ A @ B @ R ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % listrel_Cons1
% 0.17/0.44 thf(fact_154_listrel_OCons,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType,X: A,Y: B,R: set @ ( product_prod @ A @ B ),Xs2: list @ A,Ys2: list @ B] :
% 0.17/0.44 ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X @ Y ) @ R )
% 0.17/0.44 => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ Ys2 ) @ ( listrel @ A @ B @ R ) )
% 0.17/0.44 => ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ B @ Y @ Ys2 ) ) @ ( listrel @ A @ B @ R ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % listrel.Cons
% 0.17/0.44 thf(fact_155_listrel_Ocases,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType,A1: list @ A,A22: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.17/0.44 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ A1 @ A22 ) @ ( listrel @ A @ B @ R ) )
% 0.17/0.44 => ( ( ( A1
% 0.17/0.44 = ( nil @ A ) )
% 0.17/0.44 => ( A22
% 0.17/0.44 != ( nil @ B ) ) )
% 0.17/0.44 => ~ ! [X4: A,Y2: B,Xs: list @ A] :
% 0.17/0.44 ( ( A1
% 0.17/0.44 = ( cons @ A @ X4 @ Xs ) )
% 0.17/0.44 => ! [Ys: list @ B] :
% 0.17/0.44 ( ( A22
% 0.17/0.44 = ( cons @ B @ Y2 @ Ys ) )
% 0.17/0.44 => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y2 ) @ R )
% 0.17/0.44 => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ Ys ) @ ( listrel @ A @ B @ R ) ) ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % listrel.cases
% 0.17/0.44 thf(fact_156_listrel_Osimps,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType,A1: list @ A,A22: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.17/0.44 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ A1 @ A22 ) @ ( listrel @ A @ B @ R ) )
% 0.17/0.44 = ( ( ( A1
% 0.17/0.44 = ( nil @ A ) )
% 0.17/0.44 & ( A22
% 0.17/0.44 = ( nil @ B ) ) )
% 0.17/0.44 | ? [X5: A,Y3: B,Xs3: list @ A,Ys3: list @ B] :
% 0.17/0.44 ( ( A1
% 0.17/0.44 = ( cons @ A @ X5 @ Xs3 ) )
% 0.17/0.44 & ( A22
% 0.17/0.44 = ( cons @ B @ Y3 @ Ys3 ) )
% 0.17/0.44 & ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y3 ) @ R )
% 0.17/0.44 & ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs3 @ Ys3 ) @ ( listrel @ A @ B @ R ) ) ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % listrel.simps
% 0.17/0.44 thf(fact_157_internal__case__prod__conv,axiom,
% 0.17/0.44 ! [B: $tType,A: $tType,C: $tType,C2: B > C > A,A2: B,B2: C] :
% 0.17/0.44 ( ( produc2004651681e_prod @ B @ C @ A @ C2 @ ( product_Pair @ B @ C @ A2 @ B2 ) )
% 0.17/0.44 = ( C2 @ A2 @ B2 ) ) ).
% 0.17/0.44
% 0.17/0.44 % internal_case_prod_conv
% 0.17/0.44 thf(fact_158_list__ex1__simps_I1_J,axiom,
% 0.17/0.44 ! [A: $tType,P: A > $o] :
% 0.17/0.44 ~ ( list_ex1 @ A @ P @ ( nil @ A ) ) ).
% 0.17/0.44
% 0.17/0.44 % list_ex1_simps(1)
% 0.17/0.44 thf(fact_159_Collection_Ois__empty__empty,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType,Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A )] :
% 0.17/0.44 ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 0.17/0.44 => ( Is_empty @ Empty ) ) ).
% 0.17/0.44
% 0.17/0.44 % Collection.is_empty_empty
% 0.17/0.44 thf(fact_160_Collection_Ois__empty__inj,axiom,
% 0.17/0.44 ! [A: $tType,B: $tType,Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),E3: B] :
% 0.17/0.44 ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 0.17/0.44 => ( ( Is_empty @ E3 )
% 0.17/0.44 => ( E3 = Empty ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % Collection.is_empty_inj
% 0.17/0.44 thf(fact_161_subset__antisym,axiom,
% 0.17/0.44 ! [A: $tType,A4: set @ A,B4: set @ A] :
% 0.17/0.44 ( ( ord_less_eq @ ( set @ A ) @ A4 @ B4 )
% 0.17/0.44 => ( ( ord_less_eq @ ( set @ A ) @ B4 @ A4 )
% 0.17/0.44 => ( A4 = B4 ) ) ) ).
% 0.17/0.44
% 0.17/0.44 % subset_antisym
% 0.17/0.44 thf(fact_162_subsetI,axiom,
% 0.17/0.44 ! [A: $tType,A4: set @ A,B4: set @ A] :
% 0.17/0.44 ( ! [X4: A] :
% 0.17/0.44 ( ( member @ A @ X4 @ A4 )
% 0.17/0.44 => ( member @ A @ X4 @ B4 ) )
% 0.17/0.45 => ( ord_less_eq @ ( set @ A ) @ A4 @ B4 ) ) ).
% 0.17/0.45
% 0.17/0.45 % subsetI
% 0.17/0.45 thf(fact_163_subrelI,axiom,
% 0.17/0.45 ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),S: set @ ( product_prod @ A @ B )] :
% 0.17/0.45 ( ! [X4: A,Y2: B] :
% 0.17/0.45 ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y2 ) @ R )
% 0.17/0.45 => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y2 ) @ S ) )
% 0.17/0.45 => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R @ S ) ) ).
% 0.17/0.45
% 0.17/0.45 % subrelI
% 0.17/0.45 thf(fact_164_in__mono,axiom,
% 0.17/0.45 ! [A: $tType,A4: set @ A,B4: set @ A,X: A] :
% 0.17/0.45 ( ( ord_less_eq @ ( set @ A ) @ A4 @ B4 )
% 0.17/0.45 => ( ( member @ A @ X @ A4 )
% 0.17/0.45 => ( member @ A @ X @ B4 ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % in_mono
% 0.17/0.45 thf(fact_165_subsetD,axiom,
% 0.17/0.45 ! [A: $tType,A4: set @ A,B4: set @ A,C2: A] :
% 0.17/0.45 ( ( ord_less_eq @ ( set @ A ) @ A4 @ B4 )
% 0.17/0.45 => ( ( member @ A @ C2 @ A4 )
% 0.17/0.45 => ( member @ A @ C2 @ B4 ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % subsetD
% 0.17/0.45 thf(fact_166_equalityE,axiom,
% 0.17/0.45 ! [A: $tType,A4: set @ A,B4: set @ A] :
% 0.17/0.45 ( ( A4 = B4 )
% 0.17/0.45 => ~ ( ( ord_less_eq @ ( set @ A ) @ A4 @ B4 )
% 0.17/0.45 => ~ ( ord_less_eq @ ( set @ A ) @ B4 @ A4 ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % equalityE
% 0.17/0.45 thf(fact_167_subset__eq,axiom,
% 0.17/0.45 ! [A: $tType] :
% 0.17/0.45 ( ( ord_less_eq @ ( set @ A ) )
% 0.17/0.45 = ( ^ [A7: set @ A,B7: set @ A] :
% 0.17/0.45 ! [X5: A] :
% 0.17/0.45 ( ( member @ A @ X5 @ A7 )
% 0.17/0.45 => ( member @ A @ X5 @ B7 ) ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % subset_eq
% 0.17/0.45 thf(fact_168_equalityD1,axiom,
% 0.17/0.45 ! [A: $tType,A4: set @ A,B4: set @ A] :
% 0.17/0.45 ( ( A4 = B4 )
% 0.17/0.45 => ( ord_less_eq @ ( set @ A ) @ A4 @ B4 ) ) ).
% 0.17/0.45
% 0.17/0.45 % equalityD1
% 0.17/0.45 thf(fact_169_equalityD2,axiom,
% 0.17/0.45 ! [A: $tType,A4: set @ A,B4: set @ A] :
% 0.17/0.45 ( ( A4 = B4 )
% 0.17/0.45 => ( ord_less_eq @ ( set @ A ) @ B4 @ A4 ) ) ).
% 0.17/0.45
% 0.17/0.45 % equalityD2
% 0.17/0.45 thf(fact_170_subset__iff,axiom,
% 0.17/0.45 ! [A: $tType] :
% 0.17/0.45 ( ( ord_less_eq @ ( set @ A ) )
% 0.17/0.45 = ( ^ [A7: set @ A,B7: set @ A] :
% 0.17/0.45 ! [T2: A] :
% 0.17/0.45 ( ( member @ A @ T2 @ A7 )
% 0.17/0.45 => ( member @ A @ T2 @ B7 ) ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % subset_iff
% 0.17/0.45 thf(fact_171_subset__refl,axiom,
% 0.17/0.45 ! [A: $tType,A4: set @ A] : ( ord_less_eq @ ( set @ A ) @ A4 @ A4 ) ).
% 0.17/0.45
% 0.17/0.45 % subset_refl
% 0.17/0.45 thf(fact_172_Collect__mono,axiom,
% 0.17/0.45 ! [A: $tType,P: A > $o,Q: A > $o] :
% 0.17/0.45 ( ! [X4: A] :
% 0.17/0.45 ( ( P @ X4 )
% 0.17/0.45 => ( Q @ X4 ) )
% 0.17/0.45 => ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % Collect_mono
% 0.17/0.45 thf(fact_173_subset__trans,axiom,
% 0.17/0.45 ! [A: $tType,A4: set @ A,B4: set @ A,C4: set @ A] :
% 0.17/0.45 ( ( ord_less_eq @ ( set @ A ) @ A4 @ B4 )
% 0.17/0.45 => ( ( ord_less_eq @ ( set @ A ) @ B4 @ C4 )
% 0.17/0.45 => ( ord_less_eq @ ( set @ A ) @ A4 @ C4 ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % subset_trans
% 0.17/0.45 thf(fact_174_set__eq__subset,axiom,
% 0.17/0.45 ! [A: $tType] :
% 0.17/0.45 ( ( ^ [Y4: set @ A,Z: set @ A] : ( Y4 = Z ) )
% 0.17/0.45 = ( ^ [A7: set @ A,B7: set @ A] :
% 0.17/0.45 ( ( ord_less_eq @ ( set @ A ) @ A7 @ B7 )
% 0.17/0.45 & ( ord_less_eq @ ( set @ A ) @ B7 @ A7 ) ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % set_eq_subset
% 0.17/0.45 thf(fact_175_Collect__mono__iff,axiom,
% 0.17/0.45 ! [A: $tType,P: A > $o,Q: A > $o] :
% 0.17/0.45 ( ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q ) )
% 0.17/0.45 = ( ! [X5: A] :
% 0.17/0.45 ( ( P @ X5 )
% 0.17/0.45 => ( Q @ X5 ) ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % Collect_mono_iff
% 0.17/0.45 thf(fact_176_lexord__Nil__left,axiom,
% 0.17/0.45 ! [A: $tType,Y: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.17/0.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Y ) @ ( lexord @ A @ R ) )
% 0.17/0.45 = ( ? [A6: A,X5: list @ A] :
% 0.17/0.45 ( Y
% 0.17/0.45 = ( cons @ A @ A6 @ X5 ) ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % lexord_Nil_left
% 0.17/0.45 thf(fact_177_lexord__cons__cons,axiom,
% 0.17/0.45 ! [A: $tType,A2: A,X: list @ A,B2: A,Y: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.17/0.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ A2 @ X ) @ ( cons @ A @ B2 @ Y ) ) @ ( lexord @ A @ R ) )
% 0.17/0.45 = ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ B2 ) @ R )
% 0.17/0.45 | ( ( A2 = B2 )
% 0.17/0.45 & ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lexord @ A @ R ) ) ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % lexord_cons_cons
% 0.17/0.45 thf(fact_178_heap__top__geq,axiom,
% 0.17/0.45 ! [A: $tType] :
% 0.17/0.45 ( ( linorder @ A )
% 0.17/0.45 => ! [A2: A,T3: tree @ A] :
% 0.17/0.45 ( ( member @ A @ A2 @ ( set_mset @ A @ ( multiset2 @ A @ T3 ) ) )
% 0.17/0.45 => ( ( is_heap @ A @ T3 )
% 0.17/0.45 => ( ord_less_eq @ A @ A2 @ ( val @ A @ T3 ) ) ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % heap_top_geq
% 0.17/0.45 thf(fact_179_union__single__eq__member,axiom,
% 0.17/0.45 ! [A: $tType,X: A,M4: multiset @ A,N: multiset @ A] :
% 0.17/0.45 ( ( ( add_mset @ A @ X @ M4 )
% 0.17/0.45 = N )
% 0.17/0.45 => ( member @ A @ X @ ( set_mset @ A @ N ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % union_single_eq_member
% 0.17/0.45 thf(fact_180_insert__noteq__member,axiom,
% 0.17/0.45 ! [A: $tType,B2: A,B4: multiset @ A,C2: A,C4: multiset @ A] :
% 0.17/0.45 ( ( ( add_mset @ A @ B2 @ B4 )
% 0.17/0.45 = ( add_mset @ A @ C2 @ C4 ) )
% 0.17/0.45 => ( ( B2 != C2 )
% 0.17/0.45 => ( member @ A @ C2 @ ( set_mset @ A @ B4 ) ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % insert_noteq_member
% 0.17/0.45 thf(fact_181_multi__member__split,axiom,
% 0.17/0.45 ! [A: $tType,X: A,M4: multiset @ A] :
% 0.17/0.45 ( ( member @ A @ X @ ( set_mset @ A @ M4 ) )
% 0.17/0.45 => ? [A8: multiset @ A] :
% 0.17/0.45 ( M4
% 0.17/0.45 = ( add_mset @ A @ X @ A8 ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % multi_member_split
% 0.17/0.45 thf(fact_182_mset__add,axiom,
% 0.17/0.45 ! [A: $tType,A2: A,A4: multiset @ A] :
% 0.17/0.45 ( ( member @ A @ A2 @ ( set_mset @ A @ A4 ) )
% 0.17/0.45 => ~ ! [B8: multiset @ A] :
% 0.17/0.45 ( A4
% 0.17/0.45 != ( add_mset @ A @ A2 @ B8 ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % mset_add
% 0.17/0.45 thf(fact_183_lexord__linear,axiom,
% 0.17/0.45 ! [A: $tType,R: set @ ( product_prod @ A @ A ),X: list @ A,Y: list @ A] :
% 0.17/0.45 ( ! [A3: A,B6: A] :
% 0.17/0.45 ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B6 ) @ R )
% 0.17/0.45 | ( A3 = B6 )
% 0.17/0.45 | ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B6 @ A3 ) @ R ) )
% 0.17/0.45 => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lexord @ A @ R ) )
% 0.17/0.45 | ( X = Y )
% 0.17/0.45 | ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Y @ X ) @ ( lexord @ A @ R ) ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % lexord_linear
% 0.17/0.45 thf(fact_184_lexord__irreflexive,axiom,
% 0.17/0.45 ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs2: list @ A] :
% 0.17/0.45 ( ! [X4: A] :
% 0.17/0.45 ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X4 @ X4 ) @ R )
% 0.17/0.45 => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Xs2 ) @ ( lexord @ A @ R ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % lexord_irreflexive
% 0.17/0.45 thf(fact_185_lexord__Nil__right,axiom,
% 0.17/0.45 ! [A: $tType,X: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.17/0.45 ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ ( nil @ A ) ) @ ( lexord @ A @ R ) ) ).
% 0.17/0.45
% 0.17/0.45 % lexord_Nil_right
% 0.17/0.45 thf(fact_186_heap__top__max,axiom,
% 0.17/0.45 ! [A: $tType] :
% 0.17/0.45 ( ( linorder @ A )
% 0.17/0.45 => ! [T3: tree @ A] :
% 0.17/0.45 ( ( T3
% 0.17/0.45 != ( e @ A ) )
% 0.17/0.45 => ( ( is_heap @ A @ T3 )
% 0.17/0.45 => ( ( val @ A @ T3 )
% 0.17/0.45 = ( lattic929149872er_Max @ A @ ( set_mset @ A @ ( multiset2 @ A @ T3 ) ) ) ) ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % heap_top_max
% 0.17/0.45 thf(fact_187_Collection_Oset__def,axiom,
% 0.17/0.45 ! [A: $tType,B: $tType,Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),L: B] :
% 0.17/0.45 ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 0.17/0.45 => ( ( set2 @ B @ A @ Multiset @ L )
% 0.17/0.45 = ( set_mset @ A @ ( Multiset @ L ) ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % Collection.set_def
% 0.17/0.45 thf(fact_188_Cons__listrel1__Cons,axiom,
% 0.17/0.45 ! [A: $tType,X: A,Xs2: list @ A,Y: A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.17/0.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y @ Ys2 ) ) @ ( listrel1 @ A @ R ) )
% 0.17/0.45 = ( ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 0.17/0.45 & ( Xs2 = Ys2 ) )
% 0.17/0.45 | ( ( X = Y )
% 0.17/0.45 & ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % Cons_listrel1_Cons
% 0.17/0.45 thf(fact_189_Collection_Oset_Ocong,axiom,
% 0.17/0.45 ! [A: $tType,B: $tType] :
% 0.17/0.45 ( ( set2 @ B @ A )
% 0.17/0.45 = ( set2 @ B @ A ) ) ).
% 0.17/0.45
% 0.17/0.45 % Collection.set.cong
% 0.17/0.45 thf(fact_190_listrel1I2,axiom,
% 0.17/0.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A ),X: A] :
% 0.17/0.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 0.17/0.45 => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ X @ Ys2 ) ) @ ( listrel1 @ A @ R ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % listrel1I2
% 0.17/0.45 thf(fact_191_not__Nil__listrel1,axiom,
% 0.17/0.45 ! [A: $tType,Xs2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.17/0.45 ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Xs2 ) @ ( listrel1 @ A @ R ) ) ).
% 0.17/0.45
% 0.17/0.45 % not_Nil_listrel1
% 0.17/0.45 thf(fact_192_not__listrel1__Nil,axiom,
% 0.17/0.45 ! [A: $tType,Xs2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.17/0.45 ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ ( nil @ A ) ) @ ( listrel1 @ A @ R ) ) ).
% 0.17/0.45
% 0.17/0.45 % not_listrel1_Nil
% 0.17/0.45 thf(fact_193_listrel1__mono,axiom,
% 0.17/0.45 ! [A: $tType,R: set @ ( product_prod @ A @ A ),S: set @ ( product_prod @ A @ A )] :
% 0.17/0.45 ( ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ R @ S )
% 0.17/0.45 => ( ord_less_eq @ ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) @ ( listrel1 @ A @ R ) @ ( listrel1 @ A @ S ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % listrel1_mono
% 0.17/0.45 thf(fact_194_Cons__listrel1E2,axiom,
% 0.17/0.45 ! [A: $tType,Xs2: list @ A,Y: A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.17/0.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ ( cons @ A @ Y @ Ys2 ) ) @ ( listrel1 @ A @ R ) )
% 0.17/0.45 => ( ! [X4: A] :
% 0.17/0.45 ( ( Xs2
% 0.17/0.45 = ( cons @ A @ X4 @ Ys2 ) )
% 0.17/0.45 => ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X4 @ Y ) @ R ) )
% 0.17/0.45 => ~ ! [Zs: list @ A] :
% 0.17/0.45 ( ( Xs2
% 0.17/0.45 = ( cons @ A @ Y @ Zs ) )
% 0.17/0.45 => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Zs @ Ys2 ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % Cons_listrel1E2
% 0.17/0.45 thf(fact_195_Cons__listrel1E1,axiom,
% 0.17/0.45 ! [A: $tType,X: A,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.17/0.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 0.17/0.45 => ( ! [Y2: A] :
% 0.17/0.45 ( ( Ys2
% 0.17/0.45 = ( cons @ A @ Y2 @ Xs2 ) )
% 0.17/0.45 => ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y2 ) @ R ) )
% 0.17/0.45 => ~ ! [Zs: list @ A] :
% 0.17/0.45 ( ( Ys2
% 0.17/0.45 = ( cons @ A @ X @ Zs ) )
% 0.17/0.45 => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Zs ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % Cons_listrel1E1
% 0.17/0.45 thf(fact_196_listrel1I1,axiom,
% 0.17/0.45 ! [A: $tType,X: A,Y: A,R: set @ ( product_prod @ A @ A ),Xs2: list @ A] :
% 0.17/0.45 ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 0.17/0.45 => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y @ Xs2 ) ) @ ( listrel1 @ A @ R ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % listrel1I1
% 0.17/0.45 thf(fact_197_RemoveMax__axioms_Ointro,axiom,
% 0.17/0.45 ! [A: $tType,B: $tType] :
% 0.17/0.45 ( ( linorder @ A )
% 0.17/0.45 => ! [Inv: B > $o,Of_list: ( list @ A ) > B,Is_empty: B > $o,Remove_max: B > ( product_prod @ A @ B ),Multiset: B > ( multiset @ A )] :
% 0.17/0.45 ( ! [X4: list @ A] : ( Inv @ ( Of_list @ X4 ) )
% 0.17/0.45 => ( ! [L5: B,M2: A,L4: B] :
% 0.17/0.45 ( ~ ( Is_empty @ L5 )
% 0.17/0.45 => ( ( Inv @ L5 )
% 0.17/0.45 => ( ( ( product_Pair @ A @ B @ M2 @ L4 )
% 0.17/0.45 = ( Remove_max @ L5 ) )
% 0.17/0.45 => ( M2
% 0.17/0.45 = ( lattic929149872er_Max @ A @ ( set2 @ B @ A @ Multiset @ L5 ) ) ) ) ) )
% 0.17/0.45 => ( ! [L5: B,M2: A,L4: B] :
% 0.17/0.45 ( ~ ( Is_empty @ L5 )
% 0.17/0.45 => ( ( Inv @ L5 )
% 0.17/0.45 => ( ( ( product_Pair @ A @ B @ M2 @ L4 )
% 0.17/0.45 = ( Remove_max @ L5 ) )
% 0.17/0.45 => ( ( add_mset @ A @ M2 @ ( Multiset @ L4 ) )
% 0.17/0.45 = ( Multiset @ L5 ) ) ) ) )
% 0.17/0.45 => ( ! [L5: B,M2: A,L4: B] :
% 0.17/0.45 ( ~ ( Is_empty @ L5 )
% 0.17/0.45 => ( ( Inv @ L5 )
% 0.17/0.45 => ( ( ( product_Pair @ A @ B @ M2 @ L4 )
% 0.17/0.45 = ( Remove_max @ L5 ) )
% 0.17/0.45 => ( Inv @ L4 ) ) ) )
% 0.17/0.45 => ( removeMax_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv ) ) ) ) ) ) ).
% 0.17/0.45
% 0.17/0.45 % RemoveMax_axioms.intro
% 0.17/0.45 thf(fact_198_RemoveMax__axioms__def,axiom,
% 0.17/0.45 ! [A: $tType,B: $tType] :
% 0.17/0.45 ( ( linorder @ A )
% 0.17/0.45 => ( ( removeMax_axioms @ B @ A )
% 0.17/0.45 = ( ^ [Is_empty2: B > $o,Of_list2: ( list @ A ) > B,Multiset2: B > ( multiset @ A ),Remove_max2: B > ( product_prod @ A @ B ),Inv2: B > $o] :
% 0.17/0.45 ( ! [X5: list @ A] : ( Inv2 @ ( Of_list2 @ X5 ) )
% 0.17/0.45 & ! [L2: B,M3: A,L6: B] :
% 0.17/0.45 ( ~ ( Is_empty2 @ L2 )
% 0.17/0.45 => ( ( Inv2 @ L2 )
% 0.17/0.45 => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 0.17/0.45 = ( Remove_max2 @ L2 ) )
% 0.17/0.45 => ( M3
% 0.17/0.45 = ( lattic929149872er_Max @ A @ ( set2 @ B @ A @ Multiset2 @ L2 ) ) ) ) ) )
% 0.17/0.45 & ! [L2: B,M3: A,L6: B] :
% 0.17/0.45 ( ~ ( Is_empty2 @ L2 )
% 0.17/0.45 => ( ( Inv2 @ L2 )
% 0.17/0.45 => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 0.17/0.45 = ( Remove_max2 @ L2 ) )
% 0.17/0.45 => ( ( add_mset @ A @ M3 @ ( Multiset2 @ L6 ) )
% 0.17/0.45 = ( Multiset2 @ L2 ) ) ) ) )
% 0.17/0.45 & ! [L2: B,M3: A,L6: B] :
% 0.17/0.45 ( ~ ( Is_empty2 @ L2 )
% 0.17/0.45 => ( ( Inv2 @ L2 )
% 0.17/0.45 => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 0.17/0.45 = ( Remove_max2 @ L2 ) )
% 0.17/0.45 => ( Inv2 @ L6 ) ) ) ) ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % RemoveMax_axioms_def
% 0.26/0.45 thf(fact_199_snoc__listrel1__snoc__iff,axiom,
% 0.26/0.45 ! [A: $tType,Xs2: list @ A,X: A,Ys2: list @ A,Y: A,R: set @ ( product_prod @ A @ A )] :
% 0.26/0.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) ) @ ( append @ A @ Ys2 @ ( cons @ A @ Y @ ( nil @ A ) ) ) ) @ ( listrel1 @ A @ R ) )
% 0.26/0.45 = ( ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 0.26/0.45 & ( X = Y ) )
% 0.26/0.45 | ( ( Xs2 = Ys2 )
% 0.26/0.45 & ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % snoc_listrel1_snoc_iff
% 0.26/0.45 thf(fact_200_RemoveMax_Oremove__max__max,axiom,
% 0.26/0.45 ! [A: $tType,B: $tType] :
% 0.26/0.45 ( ( linorder @ A )
% 0.26/0.45 => ! [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,L3: B] :
% 0.26/0.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/0.45 => ( ~ ( Is_empty @ L )
% 0.26/0.45 => ( ( Inv @ L )
% 0.26/0.45 => ( ( ( product_Pair @ A @ B @ M @ L3 )
% 0.26/0.45 = ( Remove_max @ L ) )
% 0.26/0.45 => ( M
% 0.26/0.45 = ( lattic929149872er_Max @ A @ ( set2 @ B @ A @ Multiset @ L ) ) ) ) ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % RemoveMax.remove_max_max
% 0.26/0.45 thf(fact_201_append_Oassoc,axiom,
% 0.26/0.45 ! [A: $tType,A2: list @ A,B2: list @ A,C2: list @ A] :
% 0.26/0.45 ( ( append @ A @ ( append @ A @ A2 @ B2 ) @ C2 )
% 0.26/0.45 = ( append @ A @ A2 @ ( append @ A @ B2 @ C2 ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % append.assoc
% 0.26/0.45 thf(fact_202_append__assoc,axiom,
% 0.26/0.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 0.26/0.45 ( ( append @ A @ ( append @ A @ Xs2 @ Ys2 ) @ Zs2 )
% 0.26/0.45 = ( append @ A @ Xs2 @ ( append @ A @ Ys2 @ Zs2 ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % append_assoc
% 0.26/0.45 thf(fact_203_append__same__eq,axiom,
% 0.26/0.45 ! [A: $tType,Ys2: list @ A,Xs2: list @ A,Zs2: list @ A] :
% 0.26/0.45 ( ( ( append @ A @ Ys2 @ Xs2 )
% 0.26/0.45 = ( append @ A @ Zs2 @ Xs2 ) )
% 0.26/0.45 = ( Ys2 = Zs2 ) ) ).
% 0.26/0.45
% 0.26/0.45 % append_same_eq
% 0.26/0.45 thf(fact_204_same__append__eq,axiom,
% 0.26/0.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 0.26/0.45 ( ( ( append @ A @ Xs2 @ Ys2 )
% 0.26/0.45 = ( append @ A @ Xs2 @ Zs2 ) )
% 0.26/0.45 = ( Ys2 = Zs2 ) ) ).
% 0.26/0.45
% 0.26/0.45 % same_append_eq
% 0.26/0.45 thf(fact_205_append__Nil2,axiom,
% 0.26/0.45 ! [A: $tType,Xs2: list @ A] :
% 0.26/0.45 ( ( append @ A @ Xs2 @ ( nil @ A ) )
% 0.26/0.45 = Xs2 ) ).
% 0.26/0.45
% 0.26/0.45 % append_Nil2
% 0.26/0.45 thf(fact_206_append__self__conv,axiom,
% 0.26/0.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.26/0.45 ( ( ( append @ A @ Xs2 @ Ys2 )
% 0.26/0.45 = Xs2 )
% 0.26/0.45 = ( Ys2
% 0.26/0.45 = ( nil @ A ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % append_self_conv
% 0.26/0.45 thf(fact_207_self__append__conv,axiom,
% 0.26/0.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.26/0.45 ( ( Xs2
% 0.26/0.45 = ( append @ A @ Xs2 @ Ys2 ) )
% 0.26/0.45 = ( Ys2
% 0.26/0.45 = ( nil @ A ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % self_append_conv
% 0.26/0.45 thf(fact_208_append__self__conv2,axiom,
% 0.26/0.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.26/0.45 ( ( ( append @ A @ Xs2 @ Ys2 )
% 0.26/0.45 = Ys2 )
% 0.26/0.45 = ( Xs2
% 0.26/0.45 = ( nil @ A ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % append_self_conv2
% 0.26/0.45 thf(fact_209_self__append__conv2,axiom,
% 0.26/0.45 ! [A: $tType,Ys2: list @ A,Xs2: list @ A] :
% 0.26/0.45 ( ( Ys2
% 0.26/0.45 = ( append @ A @ Xs2 @ Ys2 ) )
% 0.26/0.45 = ( Xs2
% 0.26/0.45 = ( nil @ A ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % self_append_conv2
% 0.26/0.45 thf(fact_210_Nil__is__append__conv,axiom,
% 0.26/0.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.26/0.45 ( ( ( nil @ A )
% 0.26/0.45 = ( append @ A @ Xs2 @ Ys2 ) )
% 0.26/0.45 = ( ( Xs2
% 0.26/0.45 = ( nil @ A ) )
% 0.26/0.45 & ( Ys2
% 0.26/0.45 = ( nil @ A ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % Nil_is_append_conv
% 0.26/0.45 thf(fact_211_append__is__Nil__conv,axiom,
% 0.26/0.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.26/0.45 ( ( ( append @ A @ Xs2 @ Ys2 )
% 0.26/0.45 = ( nil @ A ) )
% 0.26/0.45 = ( ( Xs2
% 0.26/0.45 = ( nil @ A ) )
% 0.26/0.45 & ( Ys2
% 0.26/0.45 = ( nil @ A ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % append_is_Nil_conv
% 0.26/0.45 thf(fact_212_append_Oright__neutral,axiom,
% 0.26/0.45 ! [A: $tType,A2: list @ A] :
% 0.26/0.45 ( ( append @ A @ A2 @ ( nil @ A ) )
% 0.26/0.45 = A2 ) ).
% 0.26/0.45
% 0.26/0.45 % append.right_neutral
% 0.26/0.45 thf(fact_213_append1__eq__conv,axiom,
% 0.26/0.45 ! [A: $tType,Xs2: list @ A,X: A,Ys2: list @ A,Y: A] :
% 0.26/0.45 ( ( ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) )
% 0.26/0.45 = ( append @ A @ Ys2 @ ( cons @ A @ Y @ ( nil @ A ) ) ) )
% 0.26/0.45 = ( ( Xs2 = Ys2 )
% 0.26/0.45 & ( X = Y ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % append1_eq_conv
% 0.26/0.45 thf(fact_214_RemoveMax_Oaxioms_I2_J,axiom,
% 0.26/0.45 ! [A: $tType,B: $tType] :
% 0.26/0.45 ( ( linorder @ A )
% 0.26/0.45 => ! [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.26/0.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/0.45 => ( removeMax_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % RemoveMax.axioms(2)
% 0.26/0.45 thf(fact_215_lexord__append__leftI,axiom,
% 0.26/0.45 ! [A: $tType,U: list @ A,V2: list @ A,R: set @ ( product_prod @ A @ A ),X: list @ A] :
% 0.26/0.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ U @ V2 ) @ ( lexord @ A @ R ) )
% 0.26/0.45 => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ X @ U ) @ ( append @ A @ X @ V2 ) ) @ ( lexord @ A @ R ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % lexord_append_leftI
% 0.26/0.45 thf(fact_216_rev__nonempty__induct,axiom,
% 0.26/0.45 ! [A: $tType,Xs2: list @ A,P: ( list @ A ) > $o] :
% 0.26/0.45 ( ( Xs2
% 0.26/0.45 != ( nil @ A ) )
% 0.26/0.45 => ( ! [X4: A] : ( P @ ( cons @ A @ X4 @ ( nil @ A ) ) )
% 0.26/0.45 => ( ! [X4: A,Xs: list @ A] :
% 0.26/0.45 ( ( Xs
% 0.26/0.45 != ( nil @ A ) )
% 0.26/0.45 => ( ( P @ Xs )
% 0.26/0.45 => ( P @ ( append @ A @ Xs @ ( cons @ A @ X4 @ ( nil @ A ) ) ) ) ) )
% 0.26/0.45 => ( P @ Xs2 ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % rev_nonempty_induct
% 0.26/0.45 thf(fact_217_append__eq__Cons__conv,axiom,
% 0.26/0.45 ! [A: $tType,Ys2: list @ A,Zs2: list @ A,X: A,Xs2: list @ A] :
% 0.26/0.45 ( ( ( append @ A @ Ys2 @ Zs2 )
% 0.26/0.45 = ( cons @ A @ X @ Xs2 ) )
% 0.26/0.45 = ( ( ( Ys2
% 0.26/0.45 = ( nil @ A ) )
% 0.26/0.45 & ( Zs2
% 0.26/0.45 = ( cons @ A @ X @ Xs2 ) ) )
% 0.26/0.45 | ? [Ys4: list @ A] :
% 0.26/0.45 ( ( Ys2
% 0.26/0.45 = ( cons @ A @ X @ Ys4 ) )
% 0.26/0.45 & ( ( append @ A @ Ys4 @ Zs2 )
% 0.26/0.45 = Xs2 ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % append_eq_Cons_conv
% 0.26/0.45 thf(fact_218_Cons__eq__append__conv,axiom,
% 0.26/0.45 ! [A: $tType,X: A,Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 0.26/0.45 ( ( ( cons @ A @ X @ Xs2 )
% 0.26/0.45 = ( append @ A @ Ys2 @ Zs2 ) )
% 0.26/0.45 = ( ( ( Ys2
% 0.26/0.45 = ( nil @ A ) )
% 0.26/0.45 & ( ( cons @ A @ X @ Xs2 )
% 0.26/0.45 = Zs2 ) )
% 0.26/0.45 | ? [Ys4: list @ A] :
% 0.26/0.45 ( ( ( cons @ A @ X @ Ys4 )
% 0.26/0.45 = Ys2 )
% 0.26/0.45 & ( Xs2
% 0.26/0.45 = ( append @ A @ Ys4 @ Zs2 ) ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % Cons_eq_append_conv
% 0.26/0.45 thf(fact_219_rev__exhaust,axiom,
% 0.26/0.45 ! [A: $tType,Xs2: list @ A] :
% 0.26/0.45 ( ( Xs2
% 0.26/0.45 != ( nil @ A ) )
% 0.26/0.45 => ~ ! [Ys: list @ A,Y2: A] :
% 0.26/0.45 ( Xs2
% 0.26/0.45 != ( append @ A @ Ys @ ( cons @ A @ Y2 @ ( nil @ A ) ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % rev_exhaust
% 0.26/0.45 thf(fact_220_rev__induct,axiom,
% 0.26/0.45 ! [A: $tType,P: ( list @ A ) > $o,Xs2: list @ A] :
% 0.26/0.45 ( ( P @ ( nil @ A ) )
% 0.26/0.45 => ( ! [X4: A,Xs: list @ A] :
% 0.26/0.45 ( ( P @ Xs )
% 0.26/0.45 => ( P @ ( append @ A @ Xs @ ( cons @ A @ X4 @ ( nil @ A ) ) ) ) )
% 0.26/0.45 => ( P @ Xs2 ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % rev_induct
% 0.26/0.45 thf(fact_221_RemoveMax_Oremove__max__inv,axiom,
% 0.26/0.45 ! [A: $tType,B: $tType] :
% 0.26/0.45 ( ( linorder @ A )
% 0.26/0.45 => ! [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,L3: B] :
% 0.26/0.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/0.45 => ( ~ ( Is_empty @ L )
% 0.26/0.45 => ( ( Inv @ L )
% 0.26/0.45 => ( ( ( product_Pair @ A @ B @ M @ L3 )
% 0.26/0.45 = ( Remove_max @ L ) )
% 0.26/0.45 => ( Inv @ L3 ) ) ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % RemoveMax.remove_max_inv
% 0.26/0.45 thf(fact_222_RemoveMax_Oof__list__inv,axiom,
% 0.26/0.45 ! [B: $tType,A: $tType] :
% 0.26/0.45 ( ( linorder @ A )
% 0.26/0.45 => ! [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.26/0.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/0.45 => ( Inv @ ( Of_list @ X ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % RemoveMax.of_list_inv
% 0.26/0.45 thf(fact_223_RemoveMax_Oaxioms_I1_J,axiom,
% 0.26/0.45 ! [A: $tType,B: $tType] :
% 0.26/0.45 ( ( linorder @ A )
% 0.26/0.45 => ! [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.26/0.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/0.45 => ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % RemoveMax.axioms(1)
% 0.26/0.45 thf(fact_224_append__eq__appendI,axiom,
% 0.26/0.45 ! [A: $tType,Xs2: list @ A,Xs1: list @ A,Zs2: list @ A,Ys2: list @ A,Us: list @ A] :
% 0.26/0.45 ( ( ( append @ A @ Xs2 @ Xs1 )
% 0.26/0.45 = Zs2 )
% 0.26/0.45 => ( ( Ys2
% 0.26/0.45 = ( append @ A @ Xs1 @ Us ) )
% 0.26/0.45 => ( ( append @ A @ Xs2 @ Ys2 )
% 0.26/0.45 = ( append @ A @ Zs2 @ Us ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % append_eq_appendI
% 0.26/0.45 thf(fact_225_append__eq__append__conv2,axiom,
% 0.26/0.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A,Zs2: list @ A,Ts: list @ A] :
% 0.26/0.45 ( ( ( append @ A @ Xs2 @ Ys2 )
% 0.26/0.45 = ( append @ A @ Zs2 @ Ts ) )
% 0.26/0.45 = ( ? [Us2: list @ A] :
% 0.26/0.45 ( ( ( Xs2
% 0.26/0.45 = ( append @ A @ Zs2 @ Us2 ) )
% 0.26/0.45 & ( ( append @ A @ Us2 @ Ys2 )
% 0.26/0.45 = Ts ) )
% 0.26/0.45 | ( ( ( append @ A @ Xs2 @ Us2 )
% 0.26/0.45 = Zs2 )
% 0.26/0.45 & ( Ys2
% 0.26/0.45 = ( append @ A @ Us2 @ Ts ) ) ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % append_eq_append_conv2
% 0.26/0.45 thf(fact_226_eq__Nil__appendI,axiom,
% 0.26/0.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.26/0.45 ( ( Xs2 = Ys2 )
% 0.26/0.45 => ( Xs2
% 0.26/0.45 = ( append @ A @ ( nil @ A ) @ Ys2 ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % eq_Nil_appendI
% 0.26/0.45 thf(fact_227_append__Nil,axiom,
% 0.26/0.45 ! [A: $tType,Ys2: list @ A] :
% 0.26/0.45 ( ( append @ A @ ( nil @ A ) @ Ys2 )
% 0.26/0.45 = Ys2 ) ).
% 0.26/0.45
% 0.26/0.45 % append_Nil
% 0.26/0.45 thf(fact_228_append_Oleft__neutral,axiom,
% 0.26/0.45 ! [A: $tType,A2: list @ A] :
% 0.26/0.45 ( ( append @ A @ ( nil @ A ) @ A2 )
% 0.26/0.45 = A2 ) ).
% 0.26/0.45
% 0.26/0.45 % append.left_neutral
% 0.26/0.45 thf(fact_229_Cons__eq__appendI,axiom,
% 0.26/0.45 ! [A: $tType,X: A,Xs1: list @ A,Ys2: list @ A,Xs2: list @ A,Zs2: list @ A] :
% 0.26/0.45 ( ( ( cons @ A @ X @ Xs1 )
% 0.26/0.45 = Ys2 )
% 0.26/0.45 => ( ( Xs2
% 0.26/0.45 = ( append @ A @ Xs1 @ Zs2 ) )
% 0.26/0.45 => ( ( cons @ A @ X @ Xs2 )
% 0.26/0.45 = ( append @ A @ Ys2 @ Zs2 ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % Cons_eq_appendI
% 0.26/0.45 thf(fact_230_append__Cons,axiom,
% 0.26/0.45 ! [A: $tType,X: A,Xs2: list @ A,Ys2: list @ A] :
% 0.26/0.45 ( ( append @ A @ ( cons @ A @ X @ Xs2 ) @ Ys2 )
% 0.26/0.45 = ( cons @ A @ X @ ( append @ A @ Xs2 @ Ys2 ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % append_Cons
% 0.26/0.45 thf(fact_231_append__listrel1I,axiom,
% 0.26/0.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A ),Us: list @ A,Vs: list @ A] :
% 0.26/0.45 ( ( ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 0.26/0.45 & ( Us = Vs ) )
% 0.26/0.45 | ( ( Xs2 = Ys2 )
% 0.26/0.45 & ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Us @ Vs ) @ ( listrel1 @ A @ R ) ) ) )
% 0.26/0.45 => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ Us ) @ ( append @ A @ Ys2 @ Vs ) ) @ ( listrel1 @ A @ R ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % append_listrel1I
% 0.26/0.45 thf(fact_232_RemoveMax_Oremove__max__multiset,axiom,
% 0.26/0.45 ! [A: $tType,B: $tType] :
% 0.26/0.45 ( ( linorder @ A )
% 0.26/0.45 => ! [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,L3: B] :
% 0.26/0.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/0.45 => ( ~ ( Is_empty @ L )
% 0.26/0.45 => ( ( Inv @ L )
% 0.26/0.45 => ( ( ( product_Pair @ A @ B @ M @ L3 )
% 0.26/0.45 = ( Remove_max @ L ) )
% 0.26/0.45 => ( ( add_mset @ A @ M @ ( Multiset @ L3 ) )
% 0.26/0.45 = ( Multiset @ L ) ) ) ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % RemoveMax.remove_max_multiset
% 0.26/0.45 thf(fact_233_lexord__append__leftD,axiom,
% 0.26/0.45 ! [A: $tType,X: list @ A,U: list @ A,V2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.26/0.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ X @ U ) @ ( append @ A @ X @ V2 ) ) @ ( lexord @ A @ R ) )
% 0.26/0.45 => ( ! [A3: A] :
% 0.26/0.45 ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ A3 ) @ R )
% 0.26/0.45 => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ U @ V2 ) @ ( lexord @ A @ R ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % lexord_append_leftD
% 0.26/0.45 thf(fact_234_lexord__append__rightI,axiom,
% 0.26/0.45 ! [A: $tType,Y: list @ A,X: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.26/0.45 ( ? [B9: A,Z3: list @ A] :
% 0.26/0.45 ( Y
% 0.26/0.45 = ( cons @ A @ B9 @ Z3 ) )
% 0.26/0.45 => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ ( append @ A @ X @ Y ) ) @ ( lexord @ A @ R ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % lexord_append_rightI
% 0.26/0.45 thf(fact_235_RemoveMax_Ointro,axiom,
% 0.26/0.45 ! [A: $tType,B: $tType] :
% 0.26/0.45 ( ( linorder @ A )
% 0.26/0.45 => ! [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.26/0.45 ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 0.26/0.45 => ( ( removeMax_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/0.45 => ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % RemoveMax.intro
% 0.26/0.45 thf(fact_236_RemoveMax__def,axiom,
% 0.26/0.45 ! [A: $tType,B: $tType] :
% 0.26/0.45 ( ( linorder @ A )
% 0.26/0.45 => ( ( removeMax @ B @ A )
% 0.26/0.45 = ( ^ [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.26/0.45 ( ( collection @ B @ A @ Empty2 @ Is_empty2 @ Of_list2 @ Multiset2 )
% 0.26/0.45 & ( removeMax_axioms @ B @ A @ Is_empty2 @ Of_list2 @ Multiset2 @ Remove_max2 @ Inv2 ) ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % RemoveMax_def
% 0.26/0.45 thf(fact_237_listrel1E,axiom,
% 0.26/0.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.26/0.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 0.26/0.45 => ~ ! [X4: A,Y2: A] :
% 0.26/0.45 ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X4 @ Y2 ) @ R )
% 0.26/0.45 => ! [Us3: list @ A,Vs2: list @ A] :
% 0.26/0.45 ( ( Xs2
% 0.26/0.45 = ( append @ A @ Us3 @ ( cons @ A @ X4 @ Vs2 ) ) )
% 0.26/0.45 => ( Ys2
% 0.26/0.45 != ( append @ A @ Us3 @ ( cons @ A @ Y2 @ Vs2 ) ) ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % listrel1E
% 0.26/0.45 thf(fact_238_listrel1I,axiom,
% 0.26/0.45 ! [A: $tType,X: A,Y: A,R: set @ ( product_prod @ A @ A ),Xs2: list @ A,Us: list @ A,Vs: list @ A,Ys2: list @ A] :
% 0.26/0.45 ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 0.26/0.45 => ( ( Xs2
% 0.26/0.45 = ( append @ A @ Us @ ( cons @ A @ X @ Vs ) ) )
% 0.26/0.45 => ( ( Ys2
% 0.26/0.45 = ( append @ A @ Us @ ( cons @ A @ Y @ Vs ) ) )
% 0.26/0.45 => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % listrel1I
% 0.26/0.45 thf(fact_239_lexord__append__left__rightI,axiom,
% 0.26/0.45 ! [A: $tType,A2: A,B2: A,R: set @ ( product_prod @ A @ A ),U: list @ A,X: list @ A,Y: list @ A] :
% 0.26/0.45 ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ B2 ) @ R )
% 0.26/0.45 => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ U @ ( cons @ A @ A2 @ X ) ) @ ( append @ A @ U @ ( cons @ A @ B2 @ Y ) ) ) @ ( lexord @ A @ R ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % lexord_append_left_rightI
% 0.26/0.45 thf(fact_240_RemoveMax_Ossort_H__dom_Oinducts,axiom,
% 0.26/0.45 ! [A: $tType,B: $tType] :
% 0.26/0.45 ( ( linorder @ A )
% 0.26/0.45 => ! [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: product_prod @ B @ ( list @ A ),P: ( product_prod @ B @ ( list @ A ) ) > $o] :
% 0.26/0.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/0.45 => ( ( ssort_dom @ B @ A @ Is_empty @ Remove_max @ X )
% 0.26/0.45 => ( ! [L5: B,Sl: list @ A] :
% 0.26/0.45 ( ! [M5: A,L7: B] :
% 0.26/0.45 ( ~ ( Is_empty @ L5 )
% 0.26/0.45 => ( ( ( product_Pair @ A @ B @ M5 @ L7 )
% 0.26/0.45 = ( Remove_max @ L5 ) )
% 0.26/0.45 => ( ssort_dom @ B @ A @ Is_empty @ Remove_max @ ( product_Pair @ B @ ( list @ A ) @ L7 @ ( cons @ A @ M5 @ Sl ) ) ) ) )
% 0.26/0.45 => ( ! [M5: A,L7: B] :
% 0.26/0.45 ( ~ ( Is_empty @ L5 )
% 0.26/0.45 => ( ( ( product_Pair @ A @ B @ M5 @ L7 )
% 0.26/0.45 = ( Remove_max @ L5 ) )
% 0.26/0.45 => ( P @ ( product_Pair @ B @ ( list @ A ) @ L7 @ ( cons @ A @ M5 @ Sl ) ) ) ) )
% 0.26/0.45 => ( P @ ( product_Pair @ B @ ( list @ A ) @ L5 @ Sl ) ) ) )
% 0.26/0.45 => ( P @ X ) ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % RemoveMax.ssort'_dom.inducts
% 0.26/0.45 thf(fact_241_RemoveMax_Ossort_H__dom_Ointros,axiom,
% 0.26/0.45 ! [B: $tType,A: $tType] :
% 0.26/0.45 ( ( linorder @ A )
% 0.26/0.45 => ! [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,Sl2: list @ A] :
% 0.26/0.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/0.45 => ( ! [M2: A,L4: B] :
% 0.26/0.45 ( ~ ( Is_empty @ L )
% 0.26/0.45 => ( ( ( product_Pair @ A @ B @ M2 @ L4 )
% 0.26/0.45 = ( Remove_max @ L ) )
% 0.26/0.45 => ( ssort_dom @ B @ A @ Is_empty @ Remove_max @ ( product_Pair @ B @ ( list @ A ) @ L4 @ ( cons @ A @ M2 @ Sl2 ) ) ) ) )
% 0.26/0.45 => ( ssort_dom @ B @ A @ Is_empty @ Remove_max @ ( product_Pair @ B @ ( list @ A ) @ L @ Sl2 ) ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % RemoveMax.ssort'_dom.intros
% 0.26/0.45 thf(fact_242_RemoveMax_Ossort_H__dom_Ocong,axiom,
% 0.26/0.45 ! [A: $tType,B: $tType] :
% 0.26/0.45 ( ( linorder @ A )
% 0.26/0.45 => ( ( ssort_dom @ B @ A )
% 0.26/0.45 = ( ssort_dom @ B @ A ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % RemoveMax.ssort'_dom.cong
% 0.26/0.45 thf(fact_243_RemoveMax_Ossort_H__dom_Ocases,axiom,
% 0.26/0.45 ! [B: $tType,A: $tType] :
% 0.26/0.45 ( ( linorder @ A )
% 0.26/0.45 => ! [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,A2: product_prod @ B @ ( list @ A )] :
% 0.26/0.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/0.45 => ( ( ssort_dom @ B @ A @ Is_empty @ Remove_max @ A2 )
% 0.26/0.45 => ~ ! [L5: B,Sl: list @ A] :
% 0.26/0.45 ( ( A2
% 0.26/0.45 = ( product_Pair @ B @ ( list @ A ) @ L5 @ Sl ) )
% 0.26/0.45 => ~ ( ~ ( Is_empty @ L5 )
% 0.26/0.45 => ! [M5: A,L7: B] :
% 0.26/0.45 ( ( ( product_Pair @ A @ B @ M5 @ L7 )
% 0.26/0.45 = ( Remove_max @ L5 ) )
% 0.26/0.45 => ( ssort_dom @ B @ A @ Is_empty @ Remove_max @ ( product_Pair @ B @ ( list @ A ) @ L7 @ ( cons @ A @ M5 @ Sl ) ) ) ) ) ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % RemoveMax.ssort'_dom.cases
% 0.26/0.45 thf(fact_244_RemoveMax_Ossort_H__dom_Osimps,axiom,
% 0.26/0.45 ! [A: $tType,B: $tType] :
% 0.26/0.45 ( ( linorder @ A )
% 0.26/0.45 => ! [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,A2: product_prod @ B @ ( list @ A )] :
% 0.26/0.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/0.45 => ( ( ssort_dom @ B @ A @ Is_empty @ Remove_max @ A2 )
% 0.26/0.45 = ( ? [L2: B,Sl3: list @ A] :
% 0.26/0.45 ( ( A2
% 0.26/0.45 = ( product_Pair @ B @ ( list @ A ) @ L2 @ Sl3 ) )
% 0.26/0.45 & ! [X5: A,Y3: B] :
% 0.26/0.45 ( ~ ( Is_empty @ L2 )
% 0.26/0.45 => ( ( ( product_Pair @ A @ B @ X5 @ Y3 )
% 0.26/0.45 = ( Remove_max @ L2 ) )
% 0.26/0.45 => ( ssort_dom @ B @ A @ Is_empty @ Remove_max @ ( product_Pair @ B @ ( list @ A ) @ Y3 @ ( cons @ A @ X5 @ Sl3 ) ) ) ) ) ) ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % RemoveMax.ssort'_dom.simps
% 0.26/0.45 thf(fact_245_bind__simps_I2_J,axiom,
% 0.26/0.45 ! [A: $tType,B: $tType,X: B,Xs2: list @ B,F3: B > ( list @ A )] :
% 0.26/0.45 ( ( bind @ B @ A @ ( cons @ B @ X @ Xs2 ) @ F3 )
% 0.26/0.45 = ( append @ A @ ( F3 @ X ) @ ( bind @ B @ A @ Xs2 @ F3 ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % bind_simps(2)
% 0.26/0.45 thf(fact_246_lexord__same__pref__if__irrefl,axiom,
% 0.26/0.45 ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 0.26/0.45 ( ( irrefl @ A @ R )
% 0.26/0.45 => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ Ys2 ) @ ( append @ A @ Xs2 @ Zs2 ) ) @ ( lexord @ A @ R ) )
% 0.26/0.45 = ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys2 @ Zs2 ) @ ( lexord @ A @ R ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % lexord_same_pref_if_irrefl
% 0.26/0.45 thf(fact_247_bind__simps_I1_J,axiom,
% 0.26/0.45 ! [B: $tType,A: $tType,F3: B > ( list @ A )] :
% 0.26/0.45 ( ( bind @ B @ A @ ( nil @ B ) @ F3 )
% 0.26/0.45 = ( nil @ A ) ) ).
% 0.26/0.45
% 0.26/0.45 % bind_simps(1)
% 0.26/0.45 thf(fact_248_irrefl__def,axiom,
% 0.26/0.45 ! [A: $tType] :
% 0.26/0.45 ( ( irrefl @ A )
% 0.26/0.45 = ( ^ [R3: set @ ( product_prod @ A @ A )] :
% 0.26/0.45 ! [A6: A] :
% 0.26/0.45 ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A6 @ A6 ) @ R3 ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % irrefl_def
% 0.26/0.45 thf(fact_249_irreflI,axiom,
% 0.26/0.45 ! [A: $tType,R4: set @ ( product_prod @ A @ A )] :
% 0.26/0.45 ( ! [A3: A] :
% 0.26/0.45 ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ A3 ) @ R4 )
% 0.26/0.45 => ( irrefl @ A @ R4 ) ) ).
% 0.26/0.45
% 0.26/0.45 % irreflI
% 0.26/0.45 thf(fact_250_lexord__irrefl,axiom,
% 0.26/0.45 ! [A: $tType,R4: set @ ( product_prod @ A @ A )] :
% 0.26/0.45 ( ( irrefl @ A @ R4 )
% 0.26/0.45 => ( irrefl @ ( list @ A ) @ ( lexord @ A @ R4 ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % lexord_irrefl
% 0.26/0.45 thf(fact_251_lenlex__append2,axiom,
% 0.26/0.45 ! [A: $tType,R4: set @ ( product_prod @ A @ A ),Us: list @ A,Xs2: list @ A,Ys2: list @ A] :
% 0.26/0.45 ( ( irrefl @ A @ R4 )
% 0.26/0.45 => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Us @ Xs2 ) @ ( append @ A @ Us @ Ys2 ) ) @ ( lenlex @ A @ R4 ) )
% 0.26/0.45 = ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( lenlex @ A @ R4 ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % lenlex_append2
% 0.26/0.45 thf(fact_252_RemoveMax_Ossort_HInduct,axiom,
% 0.26/0.45 ! [B: $tType,A: $tType] :
% 0.26/0.45 ( ( linorder @ A )
% 0.26/0.45 => ! [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,P: B > ( list @ A ) > $o,Sl2: list @ A] :
% 0.26/0.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/0.45 => ( ( Inv @ L )
% 0.26/0.45 => ( ( P @ L @ Sl2 )
% 0.26/0.45 => ( ! [L5: B,Sl: list @ A,M2: A,L4: B] :
% 0.26/0.45 ( ~ ( Is_empty @ L5 )
% 0.26/0.45 => ( ( Inv @ L5 )
% 0.26/0.45 => ( ( ( product_Pair @ A @ B @ M2 @ L4 )
% 0.26/0.45 = ( Remove_max @ L5 ) )
% 0.26/0.45 => ( ( P @ L5 @ Sl )
% 0.26/0.45 => ( P @ L4 @ ( cons @ A @ M2 @ Sl ) ) ) ) ) )
% 0.26/0.45 => ( P @ Empty @ ( ssort @ B @ A @ Is_empty @ Remove_max @ L @ Sl2 ) ) ) ) ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % RemoveMax.ssort'Induct
% 0.26/0.45 thf(fact_253_Nil__lenlex__iff1,axiom,
% 0.26/0.45 ! [A: $tType,Ns: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.26/0.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ns ) @ ( lenlex @ A @ R ) )
% 0.26/0.45 = ( Ns
% 0.26/0.45 != ( nil @ A ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % Nil_lenlex_iff1
% 0.26/0.45 thf(fact_254_RemoveMax_Ossort_H_Ocong,axiom,
% 0.26/0.45 ! [A: $tType,B: $tType] :
% 0.26/0.45 ( ( linorder @ A )
% 0.26/0.45 => ( ( ssort @ B @ A )
% 0.26/0.45 = ( ssort @ B @ A ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % RemoveMax.ssort'.cong
% 0.26/0.45
% 0.26/0.45 % Type constructors (13)
% 0.26/0.45 thf(tcon_fun___Orderings_Opreorder,axiom,
% 0.26/0.45 ! [A9: $tType,A10: $tType] :
% 0.26/0.45 ( ( preorder @ A10 )
% 0.26/0.45 => ( preorder @ ( A9 > A10 ) ) ) ).
% 0.26/0.45
% 0.26/0.45 thf(tcon_fun___Orderings_Oorder,axiom,
% 0.26/0.45 ! [A9: $tType,A10: $tType] :
% 0.26/0.45 ( ( order @ A10 )
% 0.26/0.45 => ( order @ ( A9 > A10 ) ) ) ).
% 0.26/0.45
% 0.26/0.45 thf(tcon_fun___Orderings_Oord,axiom,
% 0.26/0.45 ! [A9: $tType,A10: $tType] :
% 0.26/0.45 ( ( ord @ A10 )
% 0.26/0.45 => ( ord @ ( A9 > A10 ) ) ) ).
% 0.26/0.45
% 0.26/0.45 thf(tcon_Set_Oset___Orderings_Opreorder_1,axiom,
% 0.26/0.45 ! [A9: $tType] : ( preorder @ ( set @ A9 ) ) ).
% 0.26/0.45
% 0.26/0.45 thf(tcon_Set_Oset___Orderings_Oorder_2,axiom,
% 0.26/0.45 ! [A9: $tType] : ( order @ ( set @ A9 ) ) ).
% 0.26/0.45
% 0.26/0.45 thf(tcon_Set_Oset___Orderings_Oord_3,axiom,
% 0.26/0.45 ! [A9: $tType] : ( ord @ ( set @ A9 ) ) ).
% 0.26/0.45
% 0.26/0.45 thf(tcon_HOL_Obool___Orderings_Opreorder_4,axiom,
% 0.26/0.45 preorder @ $o ).
% 0.26/0.45
% 0.26/0.45 thf(tcon_HOL_Obool___Orderings_Olinorder,axiom,
% 0.26/0.45 linorder @ $o ).
% 0.26/0.45
% 0.26/0.45 thf(tcon_HOL_Obool___Orderings_Oorder_5,axiom,
% 0.26/0.45 order @ $o ).
% 0.26/0.45
% 0.26/0.45 thf(tcon_HOL_Obool___Orderings_Oord_6,axiom,
% 0.26/0.45 ord @ $o ).
% 0.26/0.45
% 0.26/0.45 thf(tcon_Multiset_Omultiset___Orderings_Opreorder_7,axiom,
% 0.26/0.45 ! [A9: $tType] :
% 0.26/0.45 ( ( preorder @ A9 )
% 0.26/0.45 => ( preorder @ ( multiset @ A9 ) ) ) ).
% 0.26/0.45
% 0.26/0.45 thf(tcon_Multiset_Omultiset___Orderings_Oorder_8,axiom,
% 0.26/0.45 ! [A9: $tType] :
% 0.26/0.45 ( ( preorder @ A9 )
% 0.26/0.45 => ( order @ ( multiset @ A9 ) ) ) ).
% 0.26/0.45
% 0.26/0.45 thf(tcon_Multiset_Omultiset___Orderings_Oord_9,axiom,
% 0.26/0.45 ! [A9: $tType] :
% 0.26/0.45 ( ( preorder @ A9 )
% 0.26/0.45 => ( ord @ ( multiset @ A9 ) ) ) ).
% 0.26/0.45
% 0.26/0.45 % Conjectures (1)
% 0.26/0.45 thf(conj_0,conjecture,
% 0.26/0.45 heapIm721255937_empty @ b @ ( e @ b ) ).
% 0.26/0.45
% 0.26/0.45 %------------------------------------------------------------------------------
% 0.26/0.45 ------------------------
% 0.26/1.40 ---- Embedded in THF ---
% 0.26/1.40 %%% This output was generated by embedproblem, version 1.9.5 (library version 1.9).
% 0.26/1.40 %%% Generated on Tue Feb 24 08:25:38 EST 2026
% 0.26/1.40 %%% using '$$dhol' embedding, version 1.3.0.
% 0.26/1.40 %%% Logic specification used:
% 0.26/1.40 %%% thf(spec, logic, $$dhol).
% 0.26/1.40
% 0.26/1.40 % SZS output start ListOfTHF for /export/starexec/sandbox2/tmp/tmp.RTHQPOqAtM/DTF2DTF15600.p
% 0.26/1.40 thf(ty_t_Product__Type_Oprod, type, product_prod: ($tType > ($tType > $tType))).
% 0.26/1.40 thf(ty_t_Multiset_Omultiset, type, multiset: ($tType > $tType)).
% 0.26/1.40 thf(ty_t_List_Olist, type, list: ($tType > $tType)).
% 0.26/1.40 thf(ty_t_Heap_OTree, type, tree: ($tType > $tType)).
% 0.26/1.40 thf(ty_t_Set_Oset, type, set: ($tType > $tType)).
% 0.26/1.40 thf(ty_tf_b, type, b: $tType).
% 0.26/1.40 thf(sy_cl_HOL_Otype, type, type: (!> [A:$tType]: ($o))).
% 0.26/1.40 thf(sy_cl_Orderings_Oord, type, ord: (!> [A:$tType]: ($o))).
% 0.26/1.40 thf(sy_cl_Orderings_Oorder, type, order: (!> [A:$tType]: ($o))).
% 0.26/1.40 thf(sy_cl_Orderings_Olinorder, type, linorder: (!> [A:$tType]: ($o))).
% 0.26/1.40 thf(sy_cl_Orderings_Opreorder, type, preorder: (!> [A:$tType]: ($o))).
% 0.26/1.40 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oheapify, type, heapIm818251801eapify: (!> [A:$tType]: (((tree @ A) > (tree @ A))))).
% 0.26/1.40 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Ohs__is__empty, type, heapIm721255937_empty: (!> [A:$tType]: (((tree @ A) > $o)))).
% 0.26/1.40 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Ohs__of__list, type, heapIm874063447f_list: (!> [A:$tType]: (((list @ A) > (tree @ A))))).
% 0.26/1.40 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oleft, type, heapIm1271749598e_left: (!> [A:$tType]: (((tree @ A) > (tree @ A))))).
% 0.26/1.40 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oof__list__tree, type, heapIm1912108042t_tree: (!> [A:$tType]: (((list @ A) > (tree @ A))))).
% 0.26/1.40 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oright, type, heapIm1434396069_right: (!> [A:$tType]: (((tree @ A) > (tree @ A))))).
% 0.26/1.40 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_OsiftDown, type, heapIm748920189ftDown: (!> [A:$tType]: (((tree @ A) > (tree @ A))))).
% 0.26/1.40 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))))))))).
% 0.26/1.40 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)))))))).
% 0.26/1.40 thf(sy_c_Heap_OTree_OE, type, e: (!> [A:$tType]: ((tree @ A)))).
% 0.26/1.40 thf(sy_c_Heap_OTree_OT, type, t: (!> [A:$tType]: ((A > ((tree @ A) > ((tree @ A) > (tree @ A))))))).
% 0.26/1.40 thf(sy_c_Heap_OTree_Ocase__Tree, type, case_Tree: (!> [B:$tType,A:$tType]: ((B > ((A > ((tree @ A) > ((tree @ A) > B))) > ((tree @ A) > B)))))).
% 0.26/1.40 thf(sy_c_Heap_OTree_Opred__Tree, type, pred_Tree: (!> [A:$tType]: (((A > $o) > ((tree @ A) > $o))))).
% 0.26/1.40 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)))))).
% 0.26/1.40 thf(sy_c_Heap_Oin__tree, type, in_tree: (!> [A:$tType]: ((A > ((tree @ A) > $o))))).
% 0.26/1.40 thf(sy_c_Heap_Ois__heap, type, is_heap: (!> [A:$tType]: (((tree @ A) > $o)))).
% 0.26/1.40 thf(sy_c_Heap_Omultiset, type, multiset2: (!> [A:$tType]: (((tree @ A) > (multiset @ A))))).
% 0.26/1.40 thf(sy_c_Heap_Oval, type, val: (!> [A:$tType]: (((tree @ A) > A)))).
% 0.26/1.40 thf(sy_c_Lattices__Big_Olinorder__class_OMax, type, lattic929149872er_Max: (!> [A:$tType]: (((set @ A) > A)))).
% 0.26/1.40 thf(sy_c_List_Oappend, type, append: (!> [A:$tType]: (((list @ A) > ((list @ A) > (list @ A)))))).
% 0.26/1.40 thf(sy_c_List_Obind, type, bind: (!> [A:$tType,B:$tType]: (((list @ A) > ((A > (list @ B)) > (list @ B)))))).
% 0.26/1.40 thf(sy_c_List_Oinsert, type, insert: (!> [A:$tType]: ((A > ((list @ A) > (list @ A)))))).
% 0.26/1.40 thf(sy_c_List_Olenlex, type, lenlex: (!> [A:$tType]: (((set @ ((product_prod @ A) @ A)) > (set @ ((product_prod @ (list @ A)) @ (list @ A))))))).
% 0.26/1.40 thf(sy_c_List_Olexord, type, lexord: (!> [A:$tType]: (((set @ ((product_prod @ A) @ A)) > (set @ ((product_prod @ (list @ A)) @ (list @ A))))))).
% 0.26/1.40 thf(sy_c_List_Olist_OCons, type, cons: (!> [A:$tType]: ((A > ((list @ A) > (list @ A)))))).
% 0.26/1.40 thf(sy_c_List_Olist_ONil, type, nil: (!> [A:$tType]: ((list @ A)))).
% 0.26/1.40 thf(sy_c_List_Olist__ex1, type, list_ex1: (!> [A:$tType]: (((A > $o) > ((list @ A) > $o))))).
% 0.26/1.40 thf(sy_c_List_Olistrel, type, listrel: (!> [A:$tType,B:$tType]: (((set @ ((product_prod @ A) @ B)) > (set @ ((product_prod @ (list @ A)) @ (list @ B))))))).
% 0.26/1.40 thf(sy_c_List_Olistrel1, type, listrel1: (!> [A:$tType]: (((set @ ((product_prod @ A) @ A)) > (set @ ((product_prod @ (list @ A)) @ (list @ A))))))).
% 0.26/1.40 thf(sy_c_List_Oproduct__lists, type, product_lists: (!> [A:$tType]: (((list @ (list @ A)) > (list @ (list @ A)))))).
% 0.26/1.40 thf(sy_c_List_Osubseqs, type, subseqs: (!> [A:$tType]: (((list @ A) > (list @ (list @ A)))))).
% 0.26/1.40 thf(sy_c_Multiset_Oadd__mset, type, add_mset: (!> [A:$tType]: ((A > ((multiset @ A) > (multiset @ A)))))).
% 0.26/1.40 thf(sy_c_Multiset_Olinorder__class_Opart, type, linorder_part: (!> [B:$tType,A:$tType]: (((B > A) > (A > ((list @ B) > ((product_prod @ (list @ B)) @ ((product_prod @ (list @ B)) @ (list @ B))))))))).
% 0.26/1.40 thf(sy_c_Multiset_Oset__mset, type, set_mset: (!> [A:$tType]: (((multiset @ A) > (set @ A))))).
% 0.26/1.40 thf(sy_c_Orderings_Oord__class_Oless__eq, type, ord_less_eq: (!> [A:$tType]: ((A > (A > $o))))).
% 0.26/1.40 thf(sy_c_Product__Type_OPair, type, product_Pair: (!> [A:$tType,B:$tType]: ((A > (B > ((product_prod @ A) @ B)))))).
% 0.26/1.40 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))))).
% 0.26/1.40 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))))).
% 0.26/1.40 thf(sy_c_Relation_Oirrefl, type, irrefl: (!> [A:$tType]: (((set @ ((product_prod @ A) @ A)) > $o)))).
% 0.26/1.40 thf(sy_c_RemoveMax_OCollection, type, collection: (!> [B:$tType,A:$tType]: ((B > ((B > $o) > (((list @ A) > B) > ((B > (multiset @ A)) > $o))))))).
% 0.26/1.40 thf(sy_c_RemoveMax_OCollection_Oset, type, set2: (!> [B:$tType,A:$tType]: (((B > (multiset @ A)) > (B > (set @ A)))))).
% 0.26/1.40 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))))))))).
% 0.26/1.40 thf(sy_c_RemoveMax_ORemoveMax_Ossort_H, type, ssort: (!> [B:$tType,A:$tType]: (((B > $o) > ((B > ((product_prod @ A) @ B)) > (B > ((list @ A) > (list @ A)))))))).
% 0.26/1.40 thf(sy_c_RemoveMax_ORemoveMax_Ossort_H__dom, type, ssort_dom: (!> [B:$tType,A:$tType]: (((B > $o) > ((B > ((product_prod @ A) @ B)) > (((product_prod @ B) @ (list @ A)) > $o)))))).
% 0.26/1.40 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)))))))).
% 0.26/1.40 thf(sy_c_Set_OCollect, type, collect: (!> [A:$tType]: (((A > $o) > (set @ A))))).
% 0.26/1.40 thf(sy_c_member, type, member: (!> [A:$tType]: ((A > ((set @ A) > $o))))).
% 0.26/1.40 thf(fact_0_hs__is__empty__def, axiom, (! [A:$tType]: (((heapIm721255937_empty @ A) = (^ [T2:(tree @ A)]: ((T2 = (e @ A)))))))).
% 0.26/1.40 thf(fact_1_heapify_Osimps_I1_J, axiom, (! [A:$tType]: (((linorder @ A) => (((heapIm818251801eapify @ A) @ (e @ A)) = (e @ A)))))).
% 0.26/1.40 thf(fact_2_siftDown_Osimps_I1_J, axiom, (! [A:$tType]: (((linorder @ A) => (((heapIm748920189ftDown @ A) @ (e @ A)) = (e @ A)))))).
% 0.26/1.40 thf(fact_3_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)))).
% 0.26/1.40 thf(fact_4_siftDown_Ocases, axiom, (! [A:$tType]: (((linorder @ A) => (! [X:(tree @ A)]: (((X != (e @ A)) => ((! [V:A]: ((X != ((((t @ A) @ V) @ (e @ A)) @ (e @ A))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: ((X != ((((t @ A) @ V) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ (e @ A))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: ((X != ((((t @ A) @ V) @ (e @ A)) @ ((((t @ A) @ Va) @ Vb) @ Vc))))) => (~ ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A),Vd:A,Ve:(tree @ A),Vf:(tree @ A)]: ((X != ((((t @ A) @ V) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ ((((t @ A) @ Vd) @ Ve) @ Vf))))))))))))))))).
% 0.26/1.40 thf(fact_5_removeLeaf_Ocases, axiom, (! [A:$tType]: (((linorder @ A) => (! [X:(tree @ A)]: (((! [V:A]: ((X != ((((t @ A) @ V) @ (e @ A)) @ (e @ A))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: ((X != ((((t @ A) @ V) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ (e @ A))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: ((X != ((((t @ A) @ V) @ (e @ A)) @ ((((t @ A) @ Va) @ Vb) @ Vc))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A),Vd:A,Ve:(tree @ A),Vf:(tree @ A)]: ((X != ((((t @ A) @ V) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ ((((t @ A) @ Vd) @ Ve) @ Vf))))) => ((! [V:A,Vd:A,Ve:(tree @ A),Vf:(tree @ A),Va:A,Vb:(tree @ A),Vc:(tree @ A)]: ((X != ((((t @ A) @ V) @ ((((t @ A) @ Vd) @ Ve) @ Vf)) @ ((((t @ A) @ Va) @ Vb) @ Vc))))) => (X = (e @ A))))))))))))).
% 0.26/1.40 thf(fact_6_removeLeaf_Oinduct, axiom, (! [A:$tType]: (((linorder @ A) => (! [P:((tree @ A) > $o),A0:(tree @ A)]: (((! [V:A]: ((P @ ((((t @ A) @ V) @ (e @ A)) @ (e @ A))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: (((P @ ((((t @ A) @ Va) @ Vb) @ Vc)) => ((P @ ((((t @ A) @ Va) @ Vb) @ Vc)) => (P @ ((((t @ A) @ V) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ (e @ A))))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: (((P @ ((((t @ A) @ Va) @ Vb) @ Vc)) => ((P @ ((((t @ A) @ Va) @ Vb) @ Vc)) => (P @ ((((t @ A) @ V) @ (e @ A)) @ ((((t @ A) @ Va) @ Vb) @ Vc))))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A),Vd:A,Ve:(tree @ A),Vf:(tree @ A)]: (((P @ ((((t @ A) @ Va) @ Vb) @ Vc)) => ((P @ ((((t @ A) @ Va) @ Vb) @ Vc)) => (P @ ((((t @ A) @ V) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ ((((t @ A) @ Vd) @ Ve) @ Vf))))))) => ((! [V:A,Vd:A,Ve:(tree @ A),Vf:(tree @ A),Va:A,Vb:(tree @ A),Vc:(tree @ A)]: (((P @ ((((t @ A) @ Vd) @ Ve) @ Vf)) => ((P @ ((((t @ A) @ Vd) @ Ve) @ Vf)) => (P @ ((((t @ A) @ V) @ ((((t @ A) @ Vd) @ Ve) @ Vf)) @ ((((t @ A) @ Va) @ Vb) @ Vc))))))) => ((P @ (e @ A)) => (P @ A0))))))))))))).
% 0.26/1.40 thf(fact_7_in__tree_Osimps_I1_J, axiom, (! [A:$tType,V2:A]: ((~ ((((in_tree @ A) @ V2) @ (e @ A))))))).
% 0.26/1.40 thf(fact_8_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)))).
% 0.26/1.40 thf(fact_9_Heap_Oas__tree__empty, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),As_tree:(B > (tree @ A)),Remove_max:(B > ((product_prod @ A) @ B)),T3:B]: ((((((((((heap @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max) => (((As_tree @ T3) = (e @ A)) = (Is_empty @ T3))))))))).
% 0.26/1.40 thf(fact_10_Tree_Opred__inject_I1_J, axiom, (! [A:$tType,P:(A > $o)]: ((((pred_Tree @ A) @ P) @ (e @ A))))).
% 0.26/1.40 thf(fact_11_of__list__tree_Osimps_I1_J, axiom, (! [A:$tType]: (((linorder @ A) => (((heapIm1912108042t_tree @ A) @ (nil @ A)) = (e @ A)))))).
% 0.26/1.40 thf(fact_12_is__heap_Osimps_I1_J, axiom, (! [A:$tType]: (((linorder @ A) => ((is_heap @ A) @ (e @ A)))))).
% 0.26/1.40 thf(fact_13_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))))))).
% 0.26/1.40 thf(fact_14_Tree_Opred__inject_I2_J, axiom, (! [A:$tType,P:(A > $o),A2:A,Aa:(tree @ A),Ab:(tree @ A)]: (((((pred_Tree @ A) @ P) @ ((((t @ A) @ A2) @ Aa) @ Ab)) = ((P @ A2) & ((((pred_Tree @ A) @ P) @ Aa) & (((pred_Tree @ A) @ P) @ Ab))))))).
% 0.26/1.40 thf(fact_15_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)))))).
% 0.26/1.40 thf(fact_16_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))))).
% 0.26/1.40 thf(fact_17_in__tree_Osimps_I2_J, axiom, (! [A:$tType,V2:A,V3:A,L:(tree @ A),R:(tree @ A)]: (((((in_tree @ A) @ V2) @ ((((t @ A) @ V3) @ L) @ R)) = ((V2 = V3) | ((((in_tree @ A) @ V2) @ L) | (((in_tree @ A) @ V2) @ R))))))).
% 0.26/1.40 thf(fact_18_is__heap_Osimps_I2_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A]: (((is_heap @ A) @ ((((t @ A) @ V2) @ (e @ A)) @ (e @ A))))))))).
% 0.26/1.40 thf(fact_19_heapify_Osimps_I2_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A,L:(tree @ A),R:(tree @ A)]: ((((heapIm818251801eapify @ A) @ ((((t @ A) @ V2) @ L) @ R)) = ((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((heapIm818251801eapify @ A) @ L)) @ ((heapIm818251801eapify @ A) @ R)))))))))).
% 0.26/1.40 thf(fact_20_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)))))))))).
% 0.26/1.40 thf(fact_21_heapify__heap__is__heap, axiom, (! [A:$tType]: (((linorder @ A) => (! [T3:(tree @ A)]: (((is_heap @ A) @ ((heapIm818251801eapify @ A) @ T3)))))))).
% 0.26/1.40 thf(fact_22_siftDown__in__tree__set, axiom, (! [A:$tType]: (((linorder @ A) => ((in_tree @ A) = (^ [V4:A,T2:(tree @ A)]: ((((in_tree @ A) @ V4) @ ((heapIm748920189ftDown @ A) @ T2))))))))).
% 0.26/1.40 thf(fact_23_siftDown__heap__is__heap, axiom, (! [A:$tType]: (((linorder @ A) => (! [L:(tree @ A),R:(tree @ A),T3:(tree @ A),V2:A]: ((((is_heap @ A) @ L) => (((is_heap @ A) @ R) => ((T3 = ((((t @ A) @ V2) @ L) @ R)) => ((is_heap @ A) @ ((heapIm748920189ftDown @ A) @ T3))))))))))).
% 0.26/1.40 thf(fact_24_is__heap_Ocases, axiom, (! [A:$tType]: (((linorder @ A) => (! [X:(tree @ A)]: (((X != (e @ A)) => ((! [V:A]: ((X != ((((t @ A) @ V) @ (e @ A)) @ (e @ A))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: ((X != ((((t @ A) @ V) @ (e @ A)) @ ((((t @ A) @ Va) @ Vb) @ Vc))))) => ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A)]: ((X != ((((t @ A) @ V) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ (e @ A))))) => (~ ((! [V:A,Va:A,Vb:(tree @ A),Vc:(tree @ A),Vd:A,Ve:(tree @ A),Vf:(tree @ A)]: ((X != ((((t @ A) @ V) @ ((((t @ A) @ Va) @ Vb) @ Vc)) @ ((((t @ A) @ Vd) @ Ve) @ Vf))))))))))))))))).
% 0.26/1.40 thf(fact_25_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)))))))))).
% 0.26/1.40 thf(fact_26_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)))))).
% 0.26/1.40 thf(fact_27_Tree_Odistinct_I1_J, axiom, (! [A:$tType,X21:A,X22:(tree @ A),X23:(tree @ A)]: (((e @ A) != ((((t @ A) @ X21) @ X22) @ X23))))).
% 0.26/1.40 thf(fact_28_siftDown_Osimps_I2_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A]: ((((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ (e @ A)) @ (e @ A))) = ((((t @ A) @ V2) @ (e @ A)) @ (e @ A))))))))).
% 0.26/1.40 thf(fact_29_hs__of__list__def, axiom, (! [A:$tType]: (((linorder @ A) => ((heapIm874063447f_list @ A) = (^ [L2:(list @ A)]: (((heapIm818251801eapify @ A) @ ((heapIm1912108042t_tree @ A) @ L2))))))))).
% 0.26/1.40 thf(fact_30_siftDown__in__tree, axiom, (! [A:$tType]: (((linorder @ A) => (! [T3:(tree @ A)]: (((T3 != (e @ A)) => (((in_tree @ A) @ ((val @ A) @ ((heapIm748920189ftDown @ A) @ T3))) @ T3)))))))).
% 0.26/1.40 thf(fact_31_of__list__tree_Osimps_I2_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A,Tail:(list @ A)]: ((((heapIm1912108042t_tree @ A) @ (((cons @ A) @ V2) @ Tail)) = ((((t @ A) @ V2) @ ((heapIm1912108042t_tree @ A) @ Tail)) @ (e @ A))))))))).
% 0.26/1.40 thf(fact_32_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)))))))).
% 0.26/1.40 thf(fact_33_Heap_Oremove__max__is__heap, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),As_tree:(B > (tree @ A)),Remove_max:(B > ((product_prod @ A) @ B)),L:B,M:A,L3:B]: ((((((((((heap @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max) => ((~ ((Is_empty @ L))) => (((is_heap @ A) @ (As_tree @ L)) => ((((((product_Pair @ A) @ B) @ M) @ L3) = (Remove_max @ L)) => ((is_heap @ A) @ (As_tree @ L3)))))))))))).
% 0.26/1.40 thf(fact_34_multiset__heapify, axiom, (! [A:$tType]: (((linorder @ A) => (! [T3:(tree @ A)]: ((((multiset2 @ A) @ ((heapIm818251801eapify @ A) @ T3)) = ((multiset2 @ A) @ T3)))))))).
% 0.26/1.40 thf(fact_35_siftDown__Node, axiom, (! [A:$tType]: (((linorder @ A) => (! [T3:(tree @ A),V2:A,L:(tree @ A),R:(tree @ A)]: (((T3 = ((((t @ A) @ V2) @ L) @ R)) => (? [L4:(tree @ A),V5:A,R2:(tree @ A)]: (((((heapIm748920189ftDown @ A) @ T3) = ((((t @ A) @ V5) @ L4) @ R2)) & (((ord_less_eq @ A) @ V2) @ V5))))))))))).
% 0.26/1.40 thf(fact_36_left_Osimps, axiom, (! [A:$tType,V2:A,L:(tree @ A),R:(tree @ A)]: ((((heapIm1271749598e_left @ A) @ ((((t @ A) @ V2) @ L) @ R)) = L)))).
% 0.26/1.40 thf(fact_37_right_Osimps, axiom, (! [A:$tType,V2:A,L:(tree @ A),R:(tree @ A)]: ((((heapIm1434396069_right @ A) @ ((((t @ A) @ V2) @ L) @ R)) = R)))).
% 0.26/1.40 thf(fact_38_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)))))))))).
% 0.26/1.40 thf(fact_39_list_Oinject, axiom, (! [A:$tType,X21:A,X22:(list @ A),Y21:A,Y22:(list @ A)]: ((((((cons @ A) @ X21) @ X22) = (((cons @ A) @ Y21) @ Y22)) = ((X21 = Y21) & (X22 = Y22)))))).
% 0.26/1.40 thf(fact_40_shuffles_Ocases, axiom, (! [A:$tType,X:((product_prod @ (list @ A)) @ (list @ A))]: (((! [Ys:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ (nil @ A)) @ Ys)))) => ((! [Xs:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs) @ (nil @ A))))) => (~ ((! [X4:A,Xs:(list @ A),Y2:A,Ys:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X4) @ Xs)) @ (((cons @ A) @ Y2) @ Ys)))))))))))).
% 0.26/1.40 thf(fact_41_transpose_Ocases, axiom, (! [A:$tType,X:(list @ (list @ A))]: (((X != (nil @ (list @ A))) => ((! [Xss:(list @ (list @ A))]: ((X != (((cons @ (list @ A)) @ (nil @ A)) @ Xss)))) => (~ ((! [X4:A,Xs:(list @ A),Xss:(list @ (list @ A))]: ((X != (((cons @ (list @ A)) @ (((cons @ A) @ X4) @ Xs)) @ Xss))))))))))).
% 0.26/1.40 thf(fact_42_sorted__wrt_Ocases, axiom, (! [A:$tType,X:((product_prod @ (A > (A > $o))) @ (list @ A))]: (((! [P2:(A > (A > $o))]: ((X != ((((product_Pair @ (A > (A > $o))) @ (list @ A)) @ P2) @ (nil @ A))))) => (~ ((! [P2:(A > (A > $o)),X4:A,Ys:(list @ A)]: ((X != ((((product_Pair @ (A > (A > $o))) @ (list @ A)) @ P2) @ (((cons @ A) @ X4) @ Ys))))))))))).
% 0.26/1.40 thf(fact_43_arg__min__list_Ocases, axiom, (! [B:$tType,A:$tType]: (((linorder @ B) => (! [X:((product_prod @ (A > B)) @ (list @ A))]: (((! [F:(A > B),X4:A]: ((X != ((((product_Pair @ (A > B)) @ (list @ A)) @ F) @ (((cons @ A) @ X4) @ (nil @ A)))))) => ((! [F:(A > B),X4:A,Y2:A,Zs:(list @ A)]: ((X != ((((product_Pair @ (A > B)) @ (list @ A)) @ F) @ (((cons @ A) @ X4) @ (((cons @ A) @ Y2) @ Zs)))))) => (~ ((! [A3:(A > B)]: ((X != ((((product_Pair @ (A > B)) @ (list @ A)) @ A3) @ (nil @ A))))))))))))))).
% 0.26/1.40 thf(fact_44_mem__Collect__eq, axiom, (! [A:$tType,A2:A,P:(A > $o)]: (((((member @ A) @ A2) @ ((collect @ A) @ P)) = (P @ A2))))).
% 0.26/1.40 thf(fact_45_Collect__mem__eq, axiom, (! [A:$tType,A4:(set @ A)]: ((((collect @ A) @ (^ [X5:A]: ((((member @ A) @ X5) @ A4)))) = A4)))).
% 0.26/1.40 thf(fact_46_Collect__cong, axiom, (! [A:$tType,P:(A > $o),Q:(A > $o)]: (((! [X4:A]: (((P @ X4) = (Q @ X4)))) => (((collect @ A) @ P) = ((collect @ A) @ Q)))))).
% 0.26/1.40 thf(fact_47_ext, axiom, (! [B:$tType,A:$tType,F3:(A > B),G:(A > B)]: (((! [X4:A]: (((F3 @ X4) = (G @ X4)))) => (F3 = G))))).
% 0.26/1.40 thf(fact_48_successively_Ocases, axiom, (! [A:$tType,X:((product_prod @ (A > (A > $o))) @ (list @ A))]: (((! [P2:(A > (A > $o))]: ((X != ((((product_Pair @ (A > (A > $o))) @ (list @ A)) @ P2) @ (nil @ A))))) => ((! [P2:(A > (A > $o)),X4:A]: ((X != ((((product_Pair @ (A > (A > $o))) @ (list @ A)) @ P2) @ (((cons @ A) @ X4) @ (nil @ A)))))) => (~ ((! [P2:(A > (A > $o)),X4:A,Y2:A,Xs:(list @ A)]: ((X != ((((product_Pair @ (A > (A > $o))) @ (list @ A)) @ P2) @ (((cons @ A) @ X4) @ (((cons @ A) @ Y2) @ Xs))))))))))))).
% 0.26/1.40 thf(fact_49_map__tailrec__rev_Ocases, axiom, (! [A:$tType,B:$tType,X:((product_prod @ (A > B)) @ ((product_prod @ (list @ A)) @ (list @ B)))]: (((! [F:(A > B),Bs:(list @ B)]: ((X != ((((product_Pair @ (A > B)) @ ((product_prod @ (list @ A)) @ (list @ B))) @ F) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (nil @ A)) @ Bs))))) => (~ ((! [F:(A > B),A3:A,As:(list @ A),Bs:(list @ B)]: ((X != ((((product_Pair @ (A > B)) @ ((product_prod @ (list @ A)) @ (list @ B))) @ F) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (((cons @ A) @ A3) @ As)) @ Bs))))))))))).
% 0.26/1.40 thf(fact_50_not__Cons__self2, axiom, (! [A:$tType,X:A,Xs2:(list @ A)]: (((((cons @ A) @ X) @ Xs2) != Xs2)))).
% 0.26/1.40 thf(fact_51_strict__sorted_Oinduct, axiom, (! [A:$tType]: (((linorder @ A) => (! [P:((list @ A) > $o),A0:(list @ A)]: (((P @ (nil @ A)) => ((! [X4:A,Ys:(list @ A)]: (((P @ Ys) => (P @ (((cons @ A) @ X4) @ Ys))))) => (P @ A0))))))))).
% 0.26/1.40 thf(fact_52_strict__sorted_Ocases, axiom, (! [A:$tType]: (((linorder @ A) => (! [X:(list @ A)]: (((X != (nil @ A)) => (~ ((! [X4:A,Ys:(list @ A)]: ((X != (((cons @ A) @ X4) @ Ys))))))))))))).
% 0.26/1.40 thf(fact_53_map__tailrec__rev_Oinduct, axiom, (! [A:$tType,B:$tType,P:((A > B) > ((list @ A) > ((list @ B) > $o))),A0:(A > B),A1:(list @ A),A22:(list @ B)]: (((! [F:(A > B),X_1:(list @ B)]: ((((P @ F) @ (nil @ A)) @ X_1))) => ((! [F:(A > B),A3:A,As:(list @ A),Bs:(list @ B)]: (((((P @ F) @ As) @ (((cons @ B) @ (F @ A3)) @ Bs)) => (((P @ F) @ (((cons @ A) @ A3) @ As)) @ Bs)))) => (((P @ A0) @ A1) @ A22)))))).
% 0.26/1.40 thf(fact_54_list__nonempty__induct, axiom, (! [A:$tType,Xs2:(list @ A),P:((list @ A) > $o)]: (((Xs2 != (nil @ A)) => ((! [X4:A]: ((P @ (((cons @ A) @ X4) @ (nil @ A))))) => ((! [X4:A,Xs:(list @ A)]: (((Xs != (nil @ A)) => ((P @ Xs) => (P @ (((cons @ A) @ X4) @ Xs)))))) => (P @ Xs2))))))).
% 0.26/1.40 thf(fact_55_successively_Oinduct, axiom, (! [A:$tType,P:((A > (A > $o)) > ((list @ A) > $o)),A0:(A > (A > $o)),A1:(list @ A)]: (((! [P2:(A > (A > $o))]: (((P @ P2) @ (nil @ A)))) => ((! [P2:(A > (A > $o)),X4:A]: (((P @ P2) @ (((cons @ A) @ X4) @ (nil @ A))))) => ((! [P2:(A > (A > $o)),X4:A,Y2:A,Xs:(list @ A)]: ((((P @ P2) @ (((cons @ A) @ Y2) @ Xs)) => ((P @ P2) @ (((cons @ A) @ X4) @ (((cons @ A) @ Y2) @ Xs)))))) => ((P @ A0) @ A1))))))).
% 0.26/1.40 thf(fact_56_arg__min__list_Oinduct, axiom, (! [B:$tType,A:$tType]: (((linorder @ B) => (! [P:((A > B) > ((list @ A) > $o)),A0:(A > B),A1:(list @ A)]: (((! [F:(A > B),X4:A]: (((P @ F) @ (((cons @ A) @ X4) @ (nil @ A))))) => ((! [F:(A > B),X4:A,Y2:A,Zs:(list @ A)]: ((((P @ F) @ (((cons @ A) @ Y2) @ Zs)) => ((P @ F) @ (((cons @ A) @ X4) @ (((cons @ A) @ Y2) @ Zs)))))) => ((! [A3:(A > B)]: (((P @ A3) @ (nil @ A)))) => ((P @ A0) @ A1)))))))))).
% 0.26/1.40 thf(fact_57_remdups__adj_Oinduct, axiom, (! [A:$tType,P:((list @ A) > $o),A0:(list @ A)]: (((P @ (nil @ A)) => ((! [X4:A]: ((P @ (((cons @ A) @ X4) @ (nil @ A))))) => ((! [X4:A,Y2:A,Xs:(list @ A)]: ((((X4 = Y2) => (P @ (((cons @ A) @ X4) @ Xs))) => (((X4 != Y2) => (P @ (((cons @ A) @ Y2) @ Xs))) => (P @ (((cons @ A) @ X4) @ (((cons @ A) @ Y2) @ Xs))))))) => (P @ A0))))))).
% 0.26/1.40 thf(fact_58_sorted__wrt_Oinduct, axiom, (! [A:$tType,P:((A > (A > $o)) > ((list @ A) > $o)),A0:(A > (A > $o)),A1:(list @ A)]: (((! [P2:(A > (A > $o))]: (((P @ P2) @ (nil @ A)))) => ((! [P2:(A > (A > $o)),X4:A,Ys:(list @ A)]: ((((P @ P2) @ Ys) => ((P @ P2) @ (((cons @ A) @ X4) @ Ys))))) => ((P @ A0) @ A1)))))).
% 0.26/1.40 thf(fact_59_remdups__adj_Ocases, axiom, (! [A:$tType,X:(list @ A)]: (((X != (nil @ A)) => ((! [X4:A]: ((X != (((cons @ A) @ X4) @ (nil @ A))))) => (~ ((! [X4:A,Y2:A,Xs:(list @ A)]: ((X != (((cons @ A) @ X4) @ (((cons @ A) @ Y2) @ Xs)))))))))))).
% 0.26/1.40 thf(fact_60_shuffles_Oinduct, axiom, (! [A:$tType,P:((list @ A) > ((list @ A) > $o)),A0:(list @ A),A1:(list @ A)]: (((! [X_1:(list @ A)]: (((P @ (nil @ A)) @ X_1))) => ((! [Xs:(list @ A)]: (((P @ Xs) @ (nil @ A)))) => ((! [X4:A,Xs:(list @ A),Y2:A,Ys:(list @ A)]: ((((P @ Xs) @ (((cons @ A) @ Y2) @ Ys)) => (((P @ (((cons @ A) @ X4) @ Xs)) @ Ys) => ((P @ (((cons @ A) @ X4) @ Xs)) @ (((cons @ A) @ Y2) @ Ys)))))) => ((P @ A0) @ A1))))))).
% 0.26/1.40 thf(fact_61_min__list_Oinduct, axiom, (! [A:$tType]: (((ord @ A) => (! [P:((list @ A) > $o),A0:(list @ A)]: (((! [X4:A,Xs:(list @ A)]: (((! [X213:A,X223:(list @ A)]: (((Xs = (((cons @ A) @ X213) @ X223)) => (P @ Xs)))) => (P @ (((cons @ A) @ X4) @ Xs))))) => ((P @ (nil @ A)) => (P @ A0))))))))).
% 0.26/1.40 thf(fact_62_min__list_Ocases, axiom, (! [A:$tType]: (((ord @ A) => (! [X:(list @ A)]: (((! [X4:A,Xs:(list @ A)]: ((X != (((cons @ A) @ X4) @ Xs)))) => (X = (nil @ A))))))))).
% 0.26/1.40 thf(fact_63_induct__list012, axiom, (! [A:$tType,P:((list @ A) > $o),Xs2:(list @ A)]: (((P @ (nil @ A)) => ((! [X4:A]: ((P @ (((cons @ A) @ X4) @ (nil @ A))))) => ((! [X4:A,Y2:A,Zs:(list @ A)]: (((P @ Zs) => ((P @ (((cons @ A) @ Y2) @ Zs)) => (P @ (((cons @ A) @ X4) @ (((cons @ A) @ Y2) @ Zs))))))) => (P @ Xs2))))))).
% 0.26/1.40 thf(fact_64_splice_Oinduct, axiom, (! [A:$tType,P:((list @ A) > ((list @ A) > $o)),A0:(list @ A),A1:(list @ A)]: (((! [X_1:(list @ A)]: (((P @ (nil @ A)) @ X_1))) => ((! [X4:A,Xs:(list @ A),Ys:(list @ A)]: ((((P @ Ys) @ Xs) => ((P @ (((cons @ A) @ X4) @ Xs)) @ Ys)))) => ((P @ A0) @ A1)))))).
% 0.26/1.40 thf(fact_65_list__induct2_H, axiom, (! [A:$tType,B:$tType,P:((list @ A) > ((list @ B) > $o)),Xs2:(list @ A),Ys2:(list @ B)]: ((((P @ (nil @ A)) @ (nil @ B)) => ((! [X4:A,Xs:(list @ A)]: (((P @ (((cons @ A) @ X4) @ Xs)) @ (nil @ B)))) => ((! [Y2:B,Ys:(list @ B)]: (((P @ (nil @ A)) @ (((cons @ B) @ Y2) @ Ys)))) => ((! [X4:A,Xs:(list @ A),Y2:B,Ys:(list @ B)]: ((((P @ Xs) @ Ys) => ((P @ (((cons @ A) @ X4) @ Xs)) @ (((cons @ B) @ Y2) @ Ys))))) => ((P @ Xs2) @ Ys2)))))))).
% 0.26/1.40 thf(fact_66_neq__Nil__conv, axiom, (! [A:$tType,Xs2:(list @ A)]: (((Xs2 != (nil @ A)) = (? [Y3:A,Ys3:(list @ A)]: ((Xs2 = (((cons @ A) @ Y3) @ Ys3)))))))).
% 0.26/1.40 thf(fact_67_list_Oinducts, axiom, (! [A:$tType,P:((list @ A) > $o),List:(list @ A)]: (((P @ (nil @ A)) => ((! [X1:A,X2:(list @ A)]: (((P @ X2) => (P @ (((cons @ A) @ X1) @ X2))))) => (P @ List)))))).
% 0.26/1.40 thf(fact_68_list_Oexhaust, axiom, (! [A:$tType,Y:(list @ A)]: (((Y != (nil @ A)) => (~ ((! [X212:A,X222:(list @ A)]: ((Y != (((cons @ A) @ X212) @ X222)))))))))).
% 0.26/1.40 thf(fact_69_list_OdiscI, axiom, (! [A:$tType,List:(list @ A),X21:A,X22:(list @ A)]: (((List = (((cons @ A) @ X21) @ X22)) => (List != (nil @ A)))))).
% 0.26/1.40 thf(fact_70_list_Odistinct_I1_J, axiom, (! [A:$tType,X21:A,X22:(list @ A)]: (((nil @ A) != (((cons @ A) @ X21) @ X22))))).
% 0.26/1.40 thf(fact_71_Tree_Opred__mono, axiom, (! [A:$tType,P:(A > $o),Pa:(A > $o)]: (((((ord_less_eq @ (A > $o)) @ P) @ Pa) => (((ord_less_eq @ ((tree @ A) > $o)) @ ((pred_Tree @ A) @ P)) @ ((pred_Tree @ A) @ Pa)))))).
% 0.26/1.40 thf(fact_72_siftDown_Osimps_I5_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [Vd2:A,Ve2:(tree @ A),Vf2:(tree @ A),Va2:A,Vb2:(tree @ A),Vc2:(tree @ A),V2:A]: ((((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) => (((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) = ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2))) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) = ((((t @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((heapIm1271749598e_left @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((heapIm1434396069_right @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))))) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)))))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))))) => (((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ V2) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) = ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ V2))) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) = ((((t @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((heapIm1271749598e_left @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ ((heapIm1434396069_right @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)))))))))))))))).
% 0.26/1.40 thf(fact_73_siftDown_Osimps_I6_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [Va2:A,Vb2:(tree @ A),Vc2:(tree @ A),Vd2:A,Ve2:(tree @ A),Vf2:(tree @ A),V2:A]: ((((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) => (((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ V2) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((t @ A) @ V2) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ V2))) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((t @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ ((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((heapIm1271749598e_left @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ ((heapIm1434396069_right @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))))) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))))) => (((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((t @ A) @ V2) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2))) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((t @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((heapIm1271749598e_left @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((heapIm1434396069_right @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))))))))))))))).
% 0.26/1.40 thf(fact_74_Heap_Oremove__max__val, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),As_tree:(B > (tree @ A)),Remove_max:(B > ((product_prod @ A) @ B)),T3:B,M:A,T4:B]: ((((((((((heap @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max) => ((~ ((Is_empty @ T3))) => ((((((product_Pair @ A) @ B) @ M) @ T4) = (Remove_max @ T3)) => (M = ((val @ A) @ (As_tree @ T3)))))))))))).
% 0.26/1.40 thf(fact_75_siftDown_Osimps_I3_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [Va2:A,Vb2:(tree @ A),Vc2:(tree @ A),V2:A]: ((((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ (e @ A))) = ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ (e @ A)))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2))) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ (e @ A))) = ((((t @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((heapIm1271749598e_left @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((heapIm1434396069_right @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))))) @ (e @ A))))))))))).
% 0.26/1.40 thf(fact_76_siftDown_Osimps_I4_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [Va2:A,Vb2:(tree @ A),Vc2:(tree @ A),V2:A]: ((((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ (e @ A)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((t @ A) @ V2) @ (e @ A)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))) & ((~ ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2))) => (((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ (e @ A)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((t @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ (e @ A)) @ ((heapIm748920189ftDown @ A) @ ((((t @ A) @ V2) @ ((heapIm1271749598e_left @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ ((heapIm1434396069_right @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))))))))))))).
% 0.26/1.40 thf(fact_77_is__heap_Osimps_I5_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A,Va2:A,Vb2:(tree @ A),Vc2:(tree @ A),Vd2:A,Ve2:(tree @ A),Vf2:(tree @ A)]: ((((is_heap @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) = ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ V2) & (((is_heap @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) & ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2) & ((is_heap @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))))))))))).
% 0.26/1.40 thf(fact_78_is__heap_Osimps_I6_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A,Vd2:A,Ve2:(tree @ A),Vf2:(tree @ A),Va2:A,Vb2:(tree @ A),Vc2:(tree @ A)]: ((((is_heap @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2) & (((is_heap @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) & ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2))) @ V2) & ((is_heap @ A) @ ((((t @ A) @ Vd2) @ Ve2) @ Vf2)))))))))))).
% 0.26/1.40 thf(fact_79_is__heap__max, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A,T3:(tree @ A)]: (((((in_tree @ A) @ V2) @ T3) => (((is_heap @ A) @ T3) => (((ord_less_eq @ A) @ V2) @ ((val @ A) @ T3)))))))))).
% 0.26/1.40 thf(fact_80_val_Osimps, axiom, (! [A:$tType,V2:A,Uu:(tree @ A),Uv:(tree @ A)]: ((((val @ A) @ ((((t @ A) @ V2) @ Uu) @ Uv)) = V2)))).
% 0.26/1.40 thf(fact_81_is__heap_Osimps_I3_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A,Va2:A,Vb2:(tree @ A),Vc2:(tree @ A)]: ((((is_heap @ A) @ ((((t @ A) @ V2) @ (e @ A)) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) = ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2) & ((is_heap @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))))))))).
% 0.26/1.40 thf(fact_82_is__heap_Osimps_I4_J, axiom, (! [A:$tType]: (((linorder @ A) => (! [V2:A,Va2:A,Vb2:(tree @ A),Vc2:(tree @ A)]: ((((is_heap @ A) @ ((((t @ A) @ V2) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)) @ (e @ A))) = ((((ord_less_eq @ A) @ ((val @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2))) @ V2) & ((is_heap @ A) @ ((((t @ A) @ Va2) @ Vb2) @ Vc2)))))))))).
% 0.26/1.40 thf(fact_83_siftDown__multiset, axiom, (! [A:$tType]: (((linorder @ A) => (! [T3:(tree @ A)]: ((((multiset2 @ A) @ ((heapIm748920189ftDown @ A) @ T3)) = ((multiset2 @ A) @ T3)))))))).
% 0.26/1.40 thf(fact_84_old_Oprod_Oinject, axiom, (! [A:$tType,B:$tType,A2:A,B2:B,A5:A,B3:B]: (((((((product_Pair @ A) @ B) @ A2) @ B2) = ((((product_Pair @ A) @ B) @ A5) @ B3)) = ((A2 = A5) & (B2 = B3)))))).
% 0.26/1.40 thf(fact_85_prod_Oinject, axiom, (! [A:$tType,B:$tType,X12:A,X24:B,Y1:A,Y24:B]: (((((((product_Pair @ A) @ B) @ X12) @ X24) = ((((product_Pair @ A) @ B) @ Y1) @ Y24)) = ((X12 = Y1) & (X24 = Y24)))))).
% 0.26/1.40 thf(fact_86_order__refl, axiom, (! [A:$tType]: (((preorder @ A) => (! [X:A]: ((((ord_less_eq @ A) @ X) @ X))))))).
% 0.26/1.40 thf(fact_87_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))]: (((! [L5:B]: (((Multiset @ L5) = ((multiset2 @ A) @ (As_tree @ L5))))) => ((! [I2:(list @ A)]: (((is_heap @ A) @ (As_tree @ (Of_list @ I2))))) => ((! [T5:B]: ((((As_tree @ T5) = (e @ A)) = (Is_empty @ T5)))) => ((! [L5:B,M2:A,L4:B]: (((~ ((Is_empty @ L5))) => ((((((product_Pair @ A) @ B) @ M2) @ L4) = (Remove_max @ L5)) => ((((add_mset @ A) @ M2) @ (Multiset @ L4)) = (Multiset @ L5)))))) => ((! [L5:B,M2:A,L4:B]: (((~ ((Is_empty @ L5))) => (((is_heap @ A) @ (As_tree @ L5)) => ((((((product_Pair @ A) @ B) @ M2) @ L4) = (Remove_max @ L5)) => ((is_heap @ A) @ (As_tree @ L4))))))) => ((! [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))))))))))))).
% 0.26/1.40 thf(fact_88_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))]: (((! [L2:B]: (((Multiset2 @ L2) = ((multiset2 @ A) @ (As_tree2 @ L2))))) & ((! [I3:(list @ A)]: (((is_heap @ A) @ (As_tree2 @ (Of_list2 @ I3))))) & ((! [T2:B]: ((((As_tree2 @ T2) = (e @ A)) = (Is_empty2 @ T2)))) & ((! [L2:B,M3:A,L6:B]: (((~ ((Is_empty2 @ L2))) => ((((((product_Pair @ A) @ B) @ M3) @ L6) = (Remove_max2 @ L2)) => ((((add_mset @ A) @ M3) @ (Multiset2 @ L6)) = (Multiset2 @ L2)))))) & ((! [L2:B,M3:A,L6:B]: (((~ ((Is_empty2 @ L2))) => (((is_heap @ A) @ (As_tree2 @ L2)) => ((((((product_Pair @ A) @ B) @ M3) @ L6) = (Remove_max2 @ L2)) => ((is_heap @ A) @ (As_tree2 @ L6))))))) & (! [T2:B,M3:A,T7:B]: (((~ ((Is_empty2 @ T2))) => ((((((product_Pair @ A) @ B) @ M3) @ T7) = (Remove_max2 @ T2)) => (M3 = ((val @ A) @ (As_tree2 @ T2))))))))))))))))))).
% 0.26/1.40 thf(fact_89_subset__eq__mset__impl_Ocases, axiom, (! [A:$tType,X:((product_prod @ (list @ A)) @ (list @ A))]: (((! [Ys:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ (nil @ A)) @ Ys)))) => (~ ((! [X4:A,Xs:(list @ A),Ys:(list @ A)]: ((X != ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X4) @ Xs)) @ Ys)))))))))).
% 0.26/1.40 thf(fact_90_insert__Nil, axiom, (! [A:$tType,X:A]: (((((insert @ A) @ X) @ (nil @ A)) = (((cons @ A) @ X) @ (nil @ A)))))).
% 0.26/1.40 thf(fact_91_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))))))))).
% 0.26/1.40 thf(fact_92_add__mset__add__mset__same__iff, axiom, (! [A:$tType,A2:A,A4:(multiset @ A),B4:(multiset @ A)]: ((((((add_mset @ A) @ A2) @ A4) = (((add_mset @ A) @ A2) @ B4)) = (A4 = B4))))).
% 0.26/1.40 thf(fact_93_multi__self__add__other__not__self, axiom, (! [A:$tType,M4:(multiset @ A),X:A]: ((M4 != (((add_mset @ A) @ X) @ M4))))).
% 0.26/1.40 thf(fact_94_predicate1I, axiom, (! [A:$tType,P:(A > $o),Q:(A > $o)]: (((! [X4:A]: (((P @ X4) => (Q @ X4)))) => (((ord_less_eq @ (A > $o)) @ P) @ Q))))).
% 0.26/1.40 thf(fact_95_rev__predicate1D, axiom, (! [A:$tType,P:(A > $o),X:A,Q:(A > $o)]: (((P @ X) => ((((ord_less_eq @ (A > $o)) @ P) @ Q) => (Q @ X)))))).
% 0.26/1.40 thf(fact_96_predicate1D, axiom, (! [A:$tType,P:(A > $o),Q:(A > $o),X:A]: (((((ord_less_eq @ (A > $o)) @ P) @ Q) => ((P @ X) => (Q @ X)))))).
% 0.26/1.40 thf(fact_97_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)))))))))).
% 0.26/1.40 thf(fact_98_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)))))).
% 0.26/1.40 thf(fact_99_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)))))))).
% 0.26/1.40 thf(fact_100_Heap_Oremove__max__multiset_H, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [Empty:B,Is_empty:(B > $o),Of_list:((list @ A) > B),Multiset:(B > (multiset @ A)),As_tree:(B > (tree @ A)),Remove_max:(B > ((product_prod @ A) @ B)),L:B,M:A,L3:B]: ((((((((((heap @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ As_tree) @ Remove_max) => ((~ ((Is_empty @ L))) => ((((((product_Pair @ A) @ B) @ M) @ L3) = (Remove_max @ L)) => ((((add_mset @ A) @ M) @ (Multiset @ L3)) = (Multiset @ L))))))))))).
% 0.26/1.40 thf(fact_101_le__funD, axiom, (! [B:$tType,A:$tType]: (((ord @ B) => (! [F3:(A > B),G:(A > B),X:A]: (((((ord_less_eq @ (A > B)) @ F3) @ G) => (((ord_less_eq @ B) @ (F3 @ X)) @ (G @ X))))))))).
% 0.26/1.40 thf(fact_102_le__funE, axiom, (! [B:$tType,A:$tType]: (((ord @ B) => (! [F3:(A > B),G:(A > B),X:A]: (((((ord_less_eq @ (A > B)) @ F3) @ G) => (((ord_less_eq @ B) @ (F3 @ X)) @ (G @ X))))))))).
% 0.26/1.40 thf(fact_103_le__funI, axiom, (! [B:$tType,A:$tType]: (((ord @ B) => (! [F3:(A > B),G:(A > B)]: (((! [X4:A]: ((((ord_less_eq @ B) @ (F3 @ X4)) @ (G @ X4)))) => (((ord_less_eq @ (A > B)) @ F3) @ G)))))))).
% 0.26/1.40 thf(fact_104_le__fun__def, axiom, (! [B:$tType,A:$tType]: (((ord @ B) => ((ord_less_eq @ (A > B)) = (^ [F4:(A > B),G2:(A > B)]: ((! [X5:A]: ((((ord_less_eq @ B) @ (F4 @ X5)) @ (G2 @ X5))))))))))).
% 0.26/1.40 thf(fact_105_order__subst1, axiom, (! [A:$tType,B:$tType]: ((((order @ B) & (order @ A)) => (! [A2:A,F3:(B > A),B2:B,C2:B]: (((((ord_less_eq @ A) @ A2) @ (F3 @ B2)) => ((((ord_less_eq @ B) @ B2) @ C2) => ((! [X4:B,Y2:B]: (((((ord_less_eq @ B) @ X4) @ Y2) => (((ord_less_eq @ A) @ (F3 @ X4)) @ (F3 @ Y2))))) => (((ord_less_eq @ A) @ A2) @ (F3 @ C2))))))))))).
% 0.26/1.40 thf(fact_106_order__subst2, axiom, (! [A:$tType,C:$tType]: ((((order @ C) & (order @ A)) => (! [A2:A,B2:A,F3:(A > C),C2:C]: (((((ord_less_eq @ A) @ A2) @ B2) => ((((ord_less_eq @ C) @ (F3 @ B2)) @ C2) => ((! [X4:A,Y2:A]: (((((ord_less_eq @ A) @ X4) @ Y2) => (((ord_less_eq @ C) @ (F3 @ X4)) @ (F3 @ Y2))))) => (((ord_less_eq @ C) @ (F3 @ A2)) @ C2)))))))))).
% 0.26/1.40 thf(fact_107_ord__eq__le__subst, axiom, (! [A:$tType,B:$tType]: ((((ord @ B) & (ord @ A)) => (! [A2:A,F3:(B > A),B2:B,C2:B]: (((A2 = (F3 @ B2)) => ((((ord_less_eq @ B) @ B2) @ C2) => ((! [X4:B,Y2:B]: (((((ord_less_eq @ B) @ X4) @ Y2) => (((ord_less_eq @ A) @ (F3 @ X4)) @ (F3 @ Y2))))) => (((ord_less_eq @ A) @ A2) @ (F3 @ C2))))))))))).
% 0.26/1.40 thf(fact_108_ord__le__eq__subst, axiom, (! [A:$tType,B:$tType]: ((((ord @ B) & (ord @ A)) => (! [A2:A,B2:A,F3:(A > B),C2:B]: (((((ord_less_eq @ A) @ A2) @ B2) => (((F3 @ B2) = C2) => ((! [X4:A,Y2:A]: (((((ord_less_eq @ A) @ X4) @ Y2) => (((ord_less_eq @ B) @ (F3 @ X4)) @ (F3 @ Y2))))) => (((ord_less_eq @ B) @ (F3 @ A2)) @ C2)))))))))).
% 0.26/1.40 thf(fact_109_eq__iff, axiom, (! [A:$tType]: (((order @ A) => ((^ [Y4:A,Z:A]: ((Y4 = Z))) = (^ [X5:A,Y3:A]: (((((ord_less_eq @ A) @ X5) @ Y3) & (((ord_less_eq @ A) @ Y3) @ X5))))))))).
% 0.26/1.40 thf(fact_110_antisym, axiom, (! [A:$tType]: (((order @ A) => (! [X:A,Y:A]: (((((ord_less_eq @ A) @ X) @ Y) => ((((ord_less_eq @ A) @ Y) @ X) => (X = Y))))))))).
% 0.26/1.40 thf(fact_111_linear, axiom, (! [A:$tType]: (((linorder @ A) => (! [X:A,Y:A]: (((((ord_less_eq @ A) @ X) @ Y) | (((ord_less_eq @ A) @ Y) @ X)))))))).
% 0.26/1.40 thf(fact_112_eq__refl, axiom, (! [A:$tType]: (((preorder @ A) => (! [X:A,Y:A]: (((X = Y) => (((ord_less_eq @ A) @ X) @ Y)))))))).
% 0.26/1.40 thf(fact_113_le__cases, axiom, (! [A:$tType]: (((linorder @ A) => (! [X:A,Y:A]: (((~ ((((ord_less_eq @ A) @ X) @ Y))) => (((ord_less_eq @ A) @ Y) @ X)))))))).
% 0.26/1.40 thf(fact_114_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))))))))).
% 0.26/1.40 thf(fact_115_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))))))))))))))))).
% 0.26/1.40 thf(fact_116_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))))))))).
% 0.26/1.40 thf(fact_117_order__class_Oorder_Oeq__iff, axiom, (! [A:$tType]: (((order @ A) => ((^ [Y4:A,Z:A]: ((Y4 = Z))) = (^ [A6:A,B5:A]: (((((ord_less_eq @ A) @ A6) @ B5) & (((ord_less_eq @ A) @ B5) @ A6))))))))).
% 0.26/1.40 thf(fact_118_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))))))))).
% 0.26/1.40 thf(fact_119_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))))))))).
% 0.26/1.40 thf(fact_120_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))))))))).
% 0.26/1.40 thf(fact_121_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))))))))).
% 0.26/1.40 thf(fact_122_dual__order_Orefl, axiom, (! [A:$tType]: (((order @ A) => (! [A2:A]: ((((ord_less_eq @ A) @ A2) @ A2))))))).
% 0.26/1.40 thf(fact_123_linorder__wlog, axiom, (! [A:$tType]: (((linorder @ A) => (! [P:(A > (A > $o)),A2:A,B2:A]: (((! [A3:A,B6:A]: (((((ord_less_eq @ A) @ A3) @ B6) => ((P @ A3) @ B6)))) => ((! [A3:A,B6:A]: ((((P @ B6) @ A3) => ((P @ A3) @ B6)))) => ((P @ A2) @ B2))))))))).
% 0.26/1.40 thf(fact_124_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))))))))).
% 0.26/1.40 thf(fact_125_dual__order_Oeq__iff, axiom, (! [A:$tType]: (((order @ A) => ((^ [Y4:A,Z:A]: ((Y4 = Z))) = (^ [A6:A,B5:A]: (((((ord_less_eq @ A) @ B5) @ A6) & (((ord_less_eq @ A) @ A6) @ B5))))))))).
% 0.26/1.40 thf(fact_126_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))))))))).
% 0.26/1.40 thf(fact_127_surj__pair, axiom, (! [A:$tType,B:$tType,P3:((product_prod @ A) @ B)]: ((? [X4:A,Y2:B]: ((P3 = ((((product_Pair @ A) @ B) @ X4) @ Y2))))))).
% 0.26/1.40 thf(fact_128_prod__cases, axiom, (! [B:$tType,A:$tType,P:(((product_prod @ A) @ B) > $o),P3:((product_prod @ A) @ B)]: (((! [A3:A,B6:B]: ((P @ ((((product_Pair @ A) @ B) @ A3) @ B6)))) => (P @ P3))))).
% 0.26/1.40 thf(fact_129_Pair__inject, axiom, (! [A:$tType,B:$tType,A2:A,B2:B,A5:A,B3:B]: (((((((product_Pair @ A) @ B) @ A2) @ B2) = ((((product_Pair @ A) @ B) @ A5) @ B3)) => (~ (((A2 = A5) => (B2 != B3)))))))).
% 0.26/1.40 thf(fact_130_prod__cases3, axiom, (! [A:$tType,B:$tType,C:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ C))]: ((~ ((! [A3:A,B6:B,C3:C]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ C)) @ A3) @ ((((product_Pair @ B) @ C) @ B6) @ C3)))))))))).
% 0.26/1.40 thf(fact_131_prod__cases4, axiom, (! [A:$tType,B:$tType,C:$tType,D:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D)))]: ((~ ((! [A3:A,B6:B,C3:C,D2:D]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D))) @ A3) @ ((((product_Pair @ B) @ ((product_prod @ C) @ D)) @ B6) @ ((((product_Pair @ C) @ D) @ C3) @ D2))))))))))).
% 0.26/1.40 thf(fact_132_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))))]: ((~ ((! [A3:A,B6:B,C3:C,D2:D,E2:E]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E)))) @ A3) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E))) @ B6) @ ((((product_Pair @ C) @ ((product_prod @ D) @ E)) @ C3) @ ((((product_Pair @ D) @ E) @ D2) @ E2)))))))))))).
% 0.26/1.40 thf(fact_133_prod__cases6, axiom, (! [A:$tType,B:$tType,C:$tType,D:$tType,E:$tType,F5:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F5)))))]: ((~ ((! [A3:A,B6:B,C3:C,D2:D,E2:E,F:F5]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F5))))) @ A3) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F5)))) @ B6) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F5))) @ C3) @ ((((product_Pair @ D) @ ((product_prod @ E) @ F5)) @ D2) @ ((((product_Pair @ E) @ F5) @ E2) @ F))))))))))))).
% 0.26/1.40 thf(fact_134_prod__cases7, axiom, (! [A:$tType,B:$tType,C:$tType,D:$tType,E:$tType,F5:$tType,G3:$tType,Y:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F5) @ G3))))))]: ((~ ((! [A3:A,B6:B,C3:C,D2:D,E2:E,F:F5,G4:G3]: ((Y != ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F5) @ G3)))))) @ A3) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F5) @ G3))))) @ B6) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F5) @ G3)))) @ C3) @ ((((product_Pair @ D) @ ((product_prod @ E) @ ((product_prod @ F5) @ G3))) @ D2) @ ((((product_Pair @ E) @ ((product_prod @ F5) @ G3)) @ E2) @ ((((product_Pair @ F5) @ G3) @ F) @ G4)))))))))))))).
% 0.26/1.40 thf(fact_135_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))]: (((! [A3:A,B6:B,C3:C]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ C)) @ A3) @ ((((product_Pair @ B) @ C) @ B6) @ C3))))) => (P @ X))))).
% 0.26/1.40 thf(fact_136_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)))]: (((! [A3:A,B6:B,C3:C,D2:D]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ D))) @ A3) @ ((((product_Pair @ B) @ ((product_prod @ C) @ D)) @ B6) @ ((((product_Pair @ C) @ D) @ C3) @ D2)))))) => (P @ X))))).
% 0.26/1.40 thf(fact_137_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))))]: (((! [A3:A,B6:B,C3:C,D2:D,E2:E]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E)))) @ A3) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ E))) @ B6) @ ((((product_Pair @ C) @ ((product_prod @ D) @ E)) @ C3) @ ((((product_Pair @ D) @ E) @ D2) @ E2))))))) => (P @ X))))).
% 0.26/1.40 thf(fact_138_prod__induct6, axiom, (! [F5:$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) @ F5))))) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F5)))))]: (((! [A3:A,B6:B,C3:C,D2:D,E2:E,F:F5]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F5))))) @ A3) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F5)))) @ B6) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ F5))) @ C3) @ ((((product_Pair @ D) @ ((product_prod @ E) @ F5)) @ D2) @ ((((product_Pair @ E) @ F5) @ E2) @ F)))))))) => (P @ X))))).
% 0.26/1.40 thf(fact_139_prod__induct7, axiom, (! [G3:$tType,F5:$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 @ F5) @ G3)))))) > $o),X:((product_prod @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F5) @ G3))))))]: (((! [A3:A,B6:B,C3:C,D2:D,E2:E,F:F5,G4:G3]: ((P @ ((((product_Pair @ A) @ ((product_prod @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F5) @ G3)))))) @ A3) @ ((((product_Pair @ B) @ ((product_prod @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F5) @ G3))))) @ B6) @ ((((product_Pair @ C) @ ((product_prod @ D) @ ((product_prod @ E) @ ((product_prod @ F5) @ G3)))) @ C3) @ ((((product_Pair @ D) @ ((product_prod @ E) @ ((product_prod @ F5) @ G3))) @ D2) @ ((((product_Pair @ E) @ ((product_prod @ F5) @ G3)) @ E2) @ ((((product_Pair @ F5) @ G3) @ F) @ G4))))))))) => (P @ X))))).
% 0.26/1.40 thf(fact_140_old_Oprod_Oexhaust, axiom, (! [A:$tType,B:$tType,Y:((product_prod @ A) @ B)]: ((~ ((! [A3:A,B6:B]: ((Y != ((((product_Pair @ A) @ B) @ A3) @ B6))))))))).
% 0.26/1.40 thf(fact_141_old_Oprod_Oinducts, axiom, (! [B:$tType,A:$tType,P:(((product_prod @ A) @ B) > $o),Prod:((product_prod @ A) @ B)]: (((! [A3:A,B6:B]: ((P @ ((((product_Pair @ A) @ B) @ A3) @ B6)))) => (P @ Prod))))).
% 0.26/1.40 thf(fact_142_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))))))))).
% 0.26/1.40 thf(fact_143_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))))).
% 0.26/1.40 thf(fact_144_product__lists_Osimps_I1_J, axiom, (! [A:$tType]: ((((product_lists @ A) @ (nil @ (list @ A))) = (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A))))))).
% 0.26/1.40 thf(fact_145_subseqs_Osimps_I1_J, axiom, (! [A:$tType]: ((((subseqs @ A) @ (nil @ A)) = (((cons @ (list @ A)) @ (nil @ A)) @ (nil @ (list @ A))))))).
% 0.26/1.40 thf(fact_146_part__code_I1_J, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (! [F3:(B > A),Pivot:A]: (((((((linorder_part @ B) @ A) @ F3) @ Pivot) @ (nil @ B)) = ((((product_Pair @ (list @ B)) @ ((product_prod @ (list @ B)) @ (list @ B))) @ (nil @ B)) @ ((((product_Pair @ (list @ B)) @ (list @ B)) @ (nil @ B)) @ (nil @ B)))))))))).
% 0.26/1.40 thf(fact_147_listrel_Oinducts, axiom, (! [A:$tType,B:$tType,X12:(list @ A),X24:(list @ B),R:(set @ ((product_prod @ A) @ B)),P:((list @ A) > ((list @ B) > $o))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ X12) @ X24)) @ (((listrel @ A) @ B) @ R)) => (((P @ (nil @ A)) @ (nil @ B)) => ((! [X4:A,Y2:B,Xs:(list @ A),Ys:(list @ B)]: (((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X4) @ Y2)) @ R) => ((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs) @ Ys)) @ (((listrel @ A) @ B) @ R)) => (((P @ Xs) @ Ys) => ((P @ (((cons @ A) @ X4) @ Xs)) @ (((cons @ B) @ Y2) @ Ys))))))) => ((P @ X12) @ X24))))))).
% 0.26/1.40 thf(fact_148_listrel__mono, axiom, (! [B:$tType,A:$tType,R:(set @ ((product_prod @ A) @ B)),S:(set @ ((product_prod @ A) @ B))]: (((((ord_less_eq @ (set @ ((product_prod @ A) @ B))) @ R) @ S) => (((ord_less_eq @ (set @ ((product_prod @ (list @ A)) @ (list @ B)))) @ (((listrel @ A) @ B) @ R)) @ (((listrel @ A) @ B) @ S)))))).
% 0.26/1.40 thf(fact_149_listrel_ONil, axiom, (! [B:$tType,A:$tType,R:(set @ ((product_prod @ A) @ B))]: ((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (nil @ A)) @ (nil @ B))) @ (((listrel @ A) @ B) @ R))))).
% 0.26/1.40 thf(fact_150_listrel__Nil1, axiom, (! [A:$tType,B:$tType,Xs2:(list @ B),R:(set @ ((product_prod @ A) @ B))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (nil @ A)) @ Xs2)) @ (((listrel @ A) @ B) @ R)) => (Xs2 = (nil @ B)))))).
% 0.26/1.40 thf(fact_151_listrel__Nil2, axiom, (! [B:$tType,A:$tType,Xs2:(list @ A),R:(set @ ((product_prod @ A) @ B))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs2) @ (nil @ B))) @ (((listrel @ A) @ B) @ R)) => (Xs2 = (nil @ A)))))).
% 0.26/1.40 thf(fact_152_listrel__Cons2, axiom, (! [B:$tType,A:$tType,Xs2:(list @ A),Y:B,Ys2:(list @ B),R:(set @ ((product_prod @ A) @ B))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs2) @ (((cons @ B) @ Y) @ Ys2))) @ (((listrel @ A) @ B) @ R)) => (~ ((! [X4:A,Xs:(list @ A)]: (((Xs2 = (((cons @ A) @ X4) @ Xs)) => ((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X4) @ Y)) @ R) => (~ ((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs) @ Ys2)) @ (((listrel @ A) @ B) @ R)))))))))))))).
% 0.26/1.40 thf(fact_153_listrel__Cons1, axiom, (! [B:$tType,A:$tType,Y:A,Ys2:(list @ A),Xs2:(list @ B),R:(set @ ((product_prod @ A) @ B))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (((cons @ A) @ Y) @ Ys2)) @ Xs2)) @ (((listrel @ A) @ B) @ R)) => (~ ((! [Y2:B,Ys:(list @ B)]: (((Xs2 = (((cons @ B) @ Y2) @ Ys)) => ((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ Y) @ Y2)) @ R) => (~ ((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Ys2) @ Ys)) @ (((listrel @ A) @ B) @ R)))))))))))))).
% 0.26/1.40 thf(fact_154_listrel_OCons, axiom, (! [B:$tType,A:$tType,X:A,Y:B,R:(set @ ((product_prod @ A) @ B)),Xs2:(list @ A),Ys2:(list @ B)]: (((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X) @ Y)) @ R) => ((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs2) @ Ys2)) @ (((listrel @ A) @ B) @ R)) => (((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ B) @ Y) @ Ys2))) @ (((listrel @ A) @ B) @ R))))))).
% 0.26/1.40 thf(fact_155_listrel_Ocases, axiom, (! [B:$tType,A:$tType,A1:(list @ A),A22:(list @ B),R:(set @ ((product_prod @ A) @ B))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ A1) @ A22)) @ (((listrel @ A) @ B) @ R)) => (((A1 = (nil @ A)) => (A22 != (nil @ B))) => (~ ((! [X4:A,Y2:B,Xs:(list @ A)]: (((A1 = (((cons @ A) @ X4) @ Xs)) => (! [Ys:(list @ B)]: (((A22 = (((cons @ B) @ Y2) @ Ys)) => ((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X4) @ Y2)) @ R) => (~ ((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs) @ Ys)) @ (((listrel @ A) @ B) @ R)))))))))))))))))).
% 0.26/1.40 thf(fact_156_listrel_Osimps, axiom, (! [B:$tType,A:$tType,A1:(list @ A),A22:(list @ B),R:(set @ ((product_prod @ A) @ B))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ A1) @ A22)) @ (((listrel @ A) @ B) @ R)) = (((A1 = (nil @ A)) & (A22 = (nil @ B))) | (? [X5:A,Y3:B,Xs3:(list @ A),Ys3:(list @ B)]: (((A1 = (((cons @ A) @ X5) @ Xs3)) & ((A22 = (((cons @ B) @ Y3) @ Ys3)) & ((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X5) @ Y3)) @ R) & (((member @ ((product_prod @ (list @ A)) @ (list @ B))) @ ((((product_Pair @ (list @ A)) @ (list @ B)) @ Xs3) @ Ys3)) @ (((listrel @ A) @ B) @ R)))))))))))).
% 0.26/1.40 thf(fact_157_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))))).
% 0.26/1.40 thf(fact_158_list__ex1__simps_I1_J, axiom, (! [A:$tType,P:(A > $o)]: ((~ ((((list_ex1 @ A) @ P) @ (nil @ A))))))).
% 0.26/1.40 thf(fact_159_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))))).
% 0.26/1.40 thf(fact_160_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)))))).
% 0.26/1.40 thf(fact_161_subset__antisym, axiom, (! [A:$tType,A4:(set @ A),B4:(set @ A)]: (((((ord_less_eq @ (set @ A)) @ A4) @ B4) => ((((ord_less_eq @ (set @ A)) @ B4) @ A4) => (A4 = B4)))))).
% 0.26/1.40 thf(fact_162_subsetI, axiom, (! [A:$tType,A4:(set @ A),B4:(set @ A)]: (((! [X4:A]: (((((member @ A) @ X4) @ A4) => (((member @ A) @ X4) @ B4)))) => (((ord_less_eq @ (set @ A)) @ A4) @ B4))))).
% 0.26/1.40 thf(fact_163_subrelI, axiom, (! [B:$tType,A:$tType,R:(set @ ((product_prod @ A) @ B)),S:(set @ ((product_prod @ A) @ B))]: (((! [X4:A,Y2:B]: (((((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X4) @ Y2)) @ R) => (((member @ ((product_prod @ A) @ B)) @ ((((product_Pair @ A) @ B) @ X4) @ Y2)) @ S)))) => (((ord_less_eq @ (set @ ((product_prod @ A) @ B))) @ R) @ S))))).
% 0.26/1.40 thf(fact_164_in__mono, axiom, (! [A:$tType,A4:(set @ A),B4:(set @ A),X:A]: (((((ord_less_eq @ (set @ A)) @ A4) @ B4) => ((((member @ A) @ X) @ A4) => (((member @ A) @ X) @ B4)))))).
% 0.26/1.40 thf(fact_165_subsetD, axiom, (! [A:$tType,A4:(set @ A),B4:(set @ A),C2:A]: (((((ord_less_eq @ (set @ A)) @ A4) @ B4) => ((((member @ A) @ C2) @ A4) => (((member @ A) @ C2) @ B4)))))).
% 0.26/1.40 thf(fact_166_equalityE, axiom, (! [A:$tType,A4:(set @ A),B4:(set @ A)]: (((A4 = B4) => (~ (((((ord_less_eq @ (set @ A)) @ A4) @ B4) => (~ ((((ord_less_eq @ (set @ A)) @ B4) @ A4)))))))))).
% 0.26/1.40 thf(fact_167_subset__eq, axiom, (! [A:$tType]: (((ord_less_eq @ (set @ A)) = (^ [A7:(set @ A),B7:(set @ A)]: ((! [X5:A]: (((((member @ A) @ X5) @ A7) => (((member @ A) @ X5) @ B7)))))))))).
% 0.26/1.40 thf(fact_168_equalityD1, axiom, (! [A:$tType,A4:(set @ A),B4:(set @ A)]: (((A4 = B4) => (((ord_less_eq @ (set @ A)) @ A4) @ B4))))).
% 0.26/1.40 thf(fact_169_equalityD2, axiom, (! [A:$tType,A4:(set @ A),B4:(set @ A)]: (((A4 = B4) => (((ord_less_eq @ (set @ A)) @ B4) @ A4))))).
% 0.26/1.40 thf(fact_170_subset__iff, axiom, (! [A:$tType]: (((ord_less_eq @ (set @ A)) = (^ [A7:(set @ A),B7:(set @ A)]: ((! [T2:A]: (((((member @ A) @ T2) @ A7) => (((member @ A) @ T2) @ B7)))))))))).
% 0.26/1.40 thf(fact_171_subset__refl, axiom, (! [A:$tType,A4:(set @ A)]: ((((ord_less_eq @ (set @ A)) @ A4) @ A4)))).
% 0.26/1.40 thf(fact_172_Collect__mono, axiom, (! [A:$tType,P:(A > $o),Q:(A > $o)]: (((! [X4:A]: (((P @ X4) => (Q @ X4)))) => (((ord_less_eq @ (set @ A)) @ ((collect @ A) @ P)) @ ((collect @ A) @ Q)))))).
% 0.26/1.40 thf(fact_173_subset__trans, axiom, (! [A:$tType,A4:(set @ A),B4:(set @ A),C4:(set @ A)]: (((((ord_less_eq @ (set @ A)) @ A4) @ B4) => ((((ord_less_eq @ (set @ A)) @ B4) @ C4) => (((ord_less_eq @ (set @ A)) @ A4) @ C4)))))).
% 0.26/1.40 thf(fact_174_set__eq__subset, axiom, (! [A:$tType]: (((^ [Y4:(set @ A),Z:(set @ A)]: ((Y4 = Z))) = (^ [A7:(set @ A),B7:(set @ A)]: (((((ord_less_eq @ (set @ A)) @ A7) @ B7) & (((ord_less_eq @ (set @ A)) @ B7) @ A7)))))))).
% 0.26/1.40 thf(fact_175_Collect__mono__iff, axiom, (! [A:$tType,P:(A > $o),Q:(A > $o)]: (((((ord_less_eq @ (set @ A)) @ ((collect @ A) @ P)) @ ((collect @ A) @ Q)) = (! [X5:A]: (((P @ X5) => (Q @ X5)))))))).
% 0.26/1.40 thf(fact_176_lexord__Nil__left, axiom, (! [A:$tType,Y:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (nil @ A)) @ Y)) @ ((lexord @ A) @ R)) = (? [A6:A,X5:(list @ A)]: ((Y = (((cons @ A) @ A6) @ X5)))))))).
% 0.26/1.40 thf(fact_177_lexord__cons__cons, axiom, (! [A:$tType,A2:A,X:(list @ A),B2:A,Y:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ A2) @ X)) @ (((cons @ A) @ B2) @ Y))) @ ((lexord @ A) @ R)) = ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A2) @ B2)) @ R) | ((A2 = B2) & (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ X) @ Y)) @ ((lexord @ A) @ R)))))))).
% 0.26/1.40 thf(fact_178_heap__top__geq, axiom, (! [A:$tType]: (((linorder @ A) => (! [A2:A,T3:(tree @ A)]: (((((member @ A) @ A2) @ ((set_mset @ A) @ ((multiset2 @ A) @ T3))) => (((is_heap @ A) @ T3) => (((ord_less_eq @ A) @ A2) @ ((val @ A) @ T3)))))))))).
% 0.26/1.40 thf(fact_179_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)))))).
% 0.26/1.40 thf(fact_180_insert__noteq__member, axiom, (! [A:$tType,B2:A,B4:(multiset @ A),C2:A,C4:(multiset @ A)]: ((((((add_mset @ A) @ B2) @ B4) = (((add_mset @ A) @ C2) @ C4)) => ((B2 != C2) => (((member @ A) @ C2) @ ((set_mset @ A) @ B4))))))).
% 0.26/1.40 thf(fact_181_multi__member__split, axiom, (! [A:$tType,X:A,M4:(multiset @ A)]: (((((member @ A) @ X) @ ((set_mset @ A) @ M4)) => (? [A8:(multiset @ A)]: ((M4 = (((add_mset @ A) @ X) @ A8)))))))).
% 0.26/1.40 thf(fact_182_mset__add, axiom, (! [A:$tType,A2:A,A4:(multiset @ A)]: (((((member @ A) @ A2) @ ((set_mset @ A) @ A4)) => (~ ((! [B8:(multiset @ A)]: ((A4 != (((add_mset @ A) @ A2) @ B8)))))))))).
% 0.26/1.40 thf(fact_183_lexord__linear, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),X:(list @ A),Y:(list @ A)]: (((! [A3:A,B6:A]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A3) @ B6)) @ R) | ((A3 = B6) | (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ B6) @ A3)) @ R))))) => ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ X) @ Y)) @ ((lexord @ A) @ R)) | ((X = Y) | (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Y) @ X)) @ ((lexord @ A) @ R)))))))).
% 0.26/1.40 thf(fact_184_lexord__irreflexive, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),Xs2:(list @ A)]: (((! [X4:A]: ((~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X4) @ X4)) @ R))))) => (~ ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Xs2)) @ ((lexord @ A) @ R)))))))).
% 0.26/1.40 thf(fact_185_lexord__Nil__right, axiom, (! [A:$tType,X:(list @ A),R:(set @ ((product_prod @ A) @ A))]: ((~ ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ X) @ (nil @ A))) @ ((lexord @ A) @ R))))))).
% 0.26/1.40 thf(fact_186_heap__top__max, axiom, (! [A:$tType]: (((linorder @ A) => (! [T3:(tree @ A)]: (((T3 != (e @ A)) => (((is_heap @ A) @ T3) => (((val @ A) @ T3) = ((lattic929149872er_Max @ A) @ ((set_mset @ A) @ ((multiset2 @ A) @ T3)))))))))))).
% 0.26/1.40 thf(fact_187_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))))))).
% 0.26/1.40 thf(fact_188_Cons__listrel1__Cons, axiom, (! [A:$tType,X:A,Xs2:(list @ A),Y:A,Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y) @ Ys2))) @ ((listrel1 @ A) @ R)) = (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ R) & (Xs2 = Ys2)) | ((X = Y) & (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((listrel1 @ A) @ R)))))))).
% 0.26/1.40 thf(fact_189_Collection_Oset_Ocong, axiom, (! [A:$tType,B:$tType]: ((((set2 @ B) @ A) = ((set2 @ B) @ A))))).
% 0.26/1.40 thf(fact_190_listrel1I2, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A)),X:A]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((listrel1 @ A) @ R)) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ X) @ Ys2))) @ ((listrel1 @ A) @ R)))))).
% 0.26/1.40 thf(fact_191_not__Nil__listrel1, axiom, (! [A:$tType,Xs2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: ((~ ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (nil @ A)) @ Xs2)) @ ((listrel1 @ A) @ R))))))).
% 0.26/1.40 thf(fact_192_not__listrel1__Nil, axiom, (! [A:$tType,Xs2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: ((~ ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ (nil @ A))) @ ((listrel1 @ A) @ R))))))).
% 0.26/1.40 thf(fact_193_listrel1__mono, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),S:(set @ ((product_prod @ A) @ A))]: (((((ord_less_eq @ (set @ ((product_prod @ A) @ A))) @ R) @ S) => (((ord_less_eq @ (set @ ((product_prod @ (list @ A)) @ (list @ A)))) @ ((listrel1 @ A) @ R)) @ ((listrel1 @ A) @ S)))))).
% 0.26/1.40 thf(fact_194_Cons__listrel1E2, axiom, (! [A:$tType,Xs2:(list @ A),Y:A,Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ (((cons @ A) @ Y) @ Ys2))) @ ((listrel1 @ A) @ R)) => ((! [X4:A]: (((Xs2 = (((cons @ A) @ X4) @ Ys2)) => (~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X4) @ Y)) @ R)))))) => (~ ((! [Zs:(list @ A)]: (((Xs2 = (((cons @ A) @ Y) @ Zs)) => (~ ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Zs) @ Ys2)) @ ((listrel1 @ A) @ R)))))))))))))).
% 0.26/1.40 thf(fact_195_Cons__listrel1E1, axiom, (! [A:$tType,X:A,Xs2:(list @ A),Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X) @ Xs2)) @ Ys2)) @ ((listrel1 @ A) @ R)) => ((! [Y2:A]: (((Ys2 = (((cons @ A) @ Y2) @ Xs2)) => (~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y2)) @ R)))))) => (~ ((! [Zs:(list @ A)]: (((Ys2 = (((cons @ A) @ X) @ Zs)) => (~ ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Zs)) @ ((listrel1 @ A) @ R)))))))))))))).
% 0.26/1.40 thf(fact_196_listrel1I1, axiom, (! [A:$tType,X:A,Y:A,R:(set @ ((product_prod @ A) @ A)),Xs2:(list @ A)]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ R) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((cons @ A) @ X) @ Xs2)) @ (((cons @ A) @ Y) @ Xs2))) @ ((listrel1 @ A) @ R)))))).
% 0.26/1.40 thf(fact_197_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))]: (((! [X4:(list @ A)]: ((Inv @ (Of_list @ X4)))) => ((! [L5:B,M2:A,L4:B]: (((~ ((Is_empty @ L5))) => ((Inv @ L5) => ((((((product_Pair @ A) @ B) @ M2) @ L4) = (Remove_max @ L5)) => (M2 = ((lattic929149872er_Max @ A) @ ((((set2 @ B) @ A) @ Multiset) @ L5)))))))) => ((! [L5:B,M2:A,L4:B]: (((~ ((Is_empty @ L5))) => ((Inv @ L5) => ((((((product_Pair @ A) @ B) @ M2) @ L4) = (Remove_max @ L5)) => ((((add_mset @ A) @ M2) @ (Multiset @ L4)) = (Multiset @ L5))))))) => ((! [L5:B,M2:A,L4:B]: (((~ ((Is_empty @ L5))) => ((Inv @ L5) => ((((((product_Pair @ A) @ B) @ M2) @ L4) = (Remove_max @ L5)) => (Inv @ L4)))))) => (((((((removeMax_axioms @ B) @ A) @ Is_empty) @ Of_list) @ Multiset) @ Remove_max) @ Inv))))))))))).
% 0.26/1.40 thf(fact_198_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)]: (((! [X5:(list @ A)]: ((Inv2 @ (Of_list2 @ X5)))) & ((! [L2:B,M3:A,L6:B]: (((~ ((Is_empty2 @ L2))) => ((Inv2 @ L2) => ((((((product_Pair @ A) @ B) @ M3) @ L6) = (Remove_max2 @ L2)) => (M3 = ((lattic929149872er_Max @ A) @ ((((set2 @ B) @ A) @ Multiset2) @ L2)))))))) & ((! [L2:B,M3:A,L6:B]: (((~ ((Is_empty2 @ L2))) => ((Inv2 @ L2) => ((((((product_Pair @ A) @ B) @ M3) @ L6) = (Remove_max2 @ L2)) => ((((add_mset @ A) @ M3) @ (Multiset2 @ L6)) = (Multiset2 @ L2))))))) & (! [L2:B,M3:A,L6:B]: (((~ ((Is_empty2 @ L2))) => ((Inv2 @ L2) => ((((((product_Pair @ A) @ B) @ M3) @ L6) = (Remove_max2 @ L2)) => (Inv2 @ L6)))))))))))))))).
% 0.26/1.40 thf(fact_199_snoc__listrel1__snoc__iff, axiom, (! [A:$tType,Xs2:(list @ A),X:A,Ys2:(list @ A),Y:A,R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Xs2) @ (((cons @ A) @ X) @ (nil @ A)))) @ (((append @ A) @ Ys2) @ (((cons @ A) @ Y) @ (nil @ A))))) @ ((listrel1 @ A) @ R)) = (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((listrel1 @ A) @ R)) & (X = Y)) | ((Xs2 = Ys2) & (((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ R))))))).
% 0.26/1.40 thf(fact_200_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,L3:B]: ((((((((((removeMax @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ Remove_max) @ Inv) => ((~ ((Is_empty @ L))) => ((Inv @ L) => ((((((product_Pair @ A) @ B) @ M) @ L3) = (Remove_max @ L)) => (M = ((lattic929149872er_Max @ A) @ ((((set2 @ B) @ A) @ Multiset) @ L))))))))))))).
% 0.26/1.40 thf(fact_201_append_Oassoc, axiom, (! [A:$tType,A2:(list @ A),B2:(list @ A),C2:(list @ A)]: (((((append @ A) @ (((append @ A) @ A2) @ B2)) @ C2) = (((append @ A) @ A2) @ (((append @ A) @ B2) @ C2)))))).
% 0.26/1.40 thf(fact_202_append__assoc, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),Zs2:(list @ A)]: (((((append @ A) @ (((append @ A) @ Xs2) @ Ys2)) @ Zs2) = (((append @ A) @ Xs2) @ (((append @ A) @ Ys2) @ Zs2)))))).
% 0.26/1.40 thf(fact_203_append__same__eq, axiom, (! [A:$tType,Ys2:(list @ A),Xs2:(list @ A),Zs2:(list @ A)]: ((((((append @ A) @ Ys2) @ Xs2) = (((append @ A) @ Zs2) @ Xs2)) = (Ys2 = Zs2))))).
% 0.26/1.40 thf(fact_204_same__append__eq, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),Zs2:(list @ A)]: ((((((append @ A) @ Xs2) @ Ys2) = (((append @ A) @ Xs2) @ Zs2)) = (Ys2 = Zs2))))).
% 0.26/1.40 thf(fact_205_append__Nil2, axiom, (! [A:$tType,Xs2:(list @ A)]: (((((append @ A) @ Xs2) @ (nil @ A)) = Xs2)))).
% 0.26/1.40 thf(fact_206_append__self__conv, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A)]: ((((((append @ A) @ Xs2) @ Ys2) = Xs2) = (Ys2 = (nil @ A)))))).
% 0.26/1.40 thf(fact_207_self__append__conv, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A)]: (((Xs2 = (((append @ A) @ Xs2) @ Ys2)) = (Ys2 = (nil @ A)))))).
% 0.26/1.40 thf(fact_208_append__self__conv2, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A)]: ((((((append @ A) @ Xs2) @ Ys2) = Ys2) = (Xs2 = (nil @ A)))))).
% 0.26/1.40 thf(fact_209_self__append__conv2, axiom, (! [A:$tType,Ys2:(list @ A),Xs2:(list @ A)]: (((Ys2 = (((append @ A) @ Xs2) @ Ys2)) = (Xs2 = (nil @ A)))))).
% 0.26/1.40 thf(fact_210_Nil__is__append__conv, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A)]: ((((nil @ A) = (((append @ A) @ Xs2) @ Ys2)) = ((Xs2 = (nil @ A)) & (Ys2 = (nil @ A))))))).
% 0.26/1.40 thf(fact_211_append__is__Nil__conv, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A)]: ((((((append @ A) @ Xs2) @ Ys2) = (nil @ A)) = ((Xs2 = (nil @ A)) & (Ys2 = (nil @ A))))))).
% 0.26/1.40 thf(fact_212_append_Oright__neutral, axiom, (! [A:$tType,A2:(list @ A)]: (((((append @ A) @ A2) @ (nil @ A)) = A2)))).
% 0.26/1.40 thf(fact_213_append1__eq__conv, axiom, (! [A:$tType,Xs2:(list @ A),X:A,Ys2:(list @ A),Y:A]: ((((((append @ A) @ Xs2) @ (((cons @ A) @ X) @ (nil @ A))) = (((append @ A) @ Ys2) @ (((cons @ A) @ Y) @ (nil @ A)))) = ((Xs2 = Ys2) & (X = Y)))))).
% 0.26/1.40 thf(fact_214_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)))))))).
% 0.26/1.40 thf(fact_215_lexord__append__leftI, axiom, (! [A:$tType,U:(list @ A),V2:(list @ A),R:(set @ ((product_prod @ A) @ A)),X:(list @ A)]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ U) @ V2)) @ ((lexord @ A) @ R)) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ X) @ U)) @ (((append @ A) @ X) @ V2))) @ ((lexord @ A) @ R)))))).
% 0.26/1.40 thf(fact_216_rev__nonempty__induct, axiom, (! [A:$tType,Xs2:(list @ A),P:((list @ A) > $o)]: (((Xs2 != (nil @ A)) => ((! [X4:A]: ((P @ (((cons @ A) @ X4) @ (nil @ A))))) => ((! [X4:A,Xs:(list @ A)]: (((Xs != (nil @ A)) => ((P @ Xs) => (P @ (((append @ A) @ Xs) @ (((cons @ A) @ X4) @ (nil @ A)))))))) => (P @ Xs2))))))).
% 0.26/1.40 thf(fact_217_append__eq__Cons__conv, axiom, (! [A:$tType,Ys2:(list @ A),Zs2:(list @ A),X:A,Xs2:(list @ A)]: ((((((append @ A) @ Ys2) @ Zs2) = (((cons @ A) @ X) @ Xs2)) = (((Ys2 = (nil @ A)) & (Zs2 = (((cons @ A) @ X) @ Xs2))) | (? [Ys4:(list @ A)]: (((Ys2 = (((cons @ A) @ X) @ Ys4)) & ((((append @ A) @ Ys4) @ Zs2) = Xs2))))))))).
% 0.26/1.40 thf(fact_218_Cons__eq__append__conv, axiom, (! [A:$tType,X:A,Xs2:(list @ A),Ys2:(list @ A),Zs2:(list @ A)]: ((((((cons @ A) @ X) @ Xs2) = (((append @ A) @ Ys2) @ Zs2)) = (((Ys2 = (nil @ A)) & ((((cons @ A) @ X) @ Xs2) = Zs2)) | (? [Ys4:(list @ A)]: ((((((cons @ A) @ X) @ Ys4) = Ys2) & (Xs2 = (((append @ A) @ Ys4) @ Zs2)))))))))).
% 0.26/1.40 thf(fact_219_rev__exhaust, axiom, (! [A:$tType,Xs2:(list @ A)]: (((Xs2 != (nil @ A)) => (~ ((! [Ys:(list @ A),Y2:A]: ((Xs2 != (((append @ A) @ Ys) @ (((cons @ A) @ Y2) @ (nil @ A)))))))))))).
% 0.26/1.40 thf(fact_220_rev__induct, axiom, (! [A:$tType,P:((list @ A) > $o),Xs2:(list @ A)]: (((P @ (nil @ A)) => ((! [X4:A,Xs:(list @ A)]: (((P @ Xs) => (P @ (((append @ A) @ Xs) @ (((cons @ A) @ X4) @ (nil @ A))))))) => (P @ Xs2)))))).
% 0.26/1.40 thf(fact_221_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,L3:B]: ((((((((((removeMax @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ Remove_max) @ Inv) => ((~ ((Is_empty @ L))) => ((Inv @ L) => ((((((product_Pair @ A) @ B) @ M) @ L3) = (Remove_max @ L)) => (Inv @ L3))))))))))).
% 0.26/1.40 thf(fact_222_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))))))))).
% 0.26/1.40 thf(fact_223_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)))))))).
% 0.26/1.40 thf(fact_224_append__eq__appendI, axiom, (! [A:$tType,Xs2:(list @ A),Xs1:(list @ A),Zs2:(list @ A),Ys2:(list @ A),Us:(list @ A)]: ((((((append @ A) @ Xs2) @ Xs1) = Zs2) => ((Ys2 = (((append @ A) @ Xs1) @ Us)) => ((((append @ A) @ Xs2) @ Ys2) = (((append @ A) @ Zs2) @ Us))))))).
% 0.26/1.40 thf(fact_225_append__eq__append__conv2, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),Zs2:(list @ A),Ts:(list @ A)]: ((((((append @ A) @ Xs2) @ Ys2) = (((append @ A) @ Zs2) @ Ts)) = (? [Us2:(list @ A)]: ((((Xs2 = (((append @ A) @ Zs2) @ Us2)) & ((((append @ A) @ Us2) @ Ys2) = Ts)) | (((((append @ A) @ Xs2) @ Us2) = Zs2) & (Ys2 = (((append @ A) @ Us2) @ Ts)))))))))).
% 0.26/1.40 thf(fact_226_eq__Nil__appendI, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A)]: (((Xs2 = Ys2) => (Xs2 = (((append @ A) @ (nil @ A)) @ Ys2)))))).
% 0.26/1.40 thf(fact_227_append__Nil, axiom, (! [A:$tType,Ys2:(list @ A)]: (((((append @ A) @ (nil @ A)) @ Ys2) = Ys2)))).
% 0.26/1.40 thf(fact_228_append_Oleft__neutral, axiom, (! [A:$tType,A2:(list @ A)]: (((((append @ A) @ (nil @ A)) @ A2) = A2)))).
% 0.26/1.40 thf(fact_229_Cons__eq__appendI, axiom, (! [A:$tType,X:A,Xs1:(list @ A),Ys2:(list @ A),Xs2:(list @ A),Zs2:(list @ A)]: ((((((cons @ A) @ X) @ Xs1) = Ys2) => ((Xs2 = (((append @ A) @ Xs1) @ Zs2)) => ((((cons @ A) @ X) @ Xs2) = (((append @ A) @ Ys2) @ Zs2))))))).
% 0.26/1.40 thf(fact_230_append__Cons, axiom, (! [A:$tType,X:A,Xs2:(list @ A),Ys2:(list @ A)]: (((((append @ A) @ (((cons @ A) @ X) @ Xs2)) @ Ys2) = (((cons @ A) @ X) @ (((append @ A) @ Xs2) @ Ys2)))))).
% 0.26/1.40 thf(fact_231_append__listrel1I, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A)),Us:(list @ A),Vs:(list @ A)]: (((((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((listrel1 @ A) @ R)) & (Us = Vs)) | ((Xs2 = Ys2) & (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Us) @ Vs)) @ ((listrel1 @ A) @ R)))) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Xs2) @ Us)) @ (((append @ A) @ Ys2) @ Vs))) @ ((listrel1 @ A) @ R)))))).
% 0.26/1.40 thf(fact_232_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,L3:B]: ((((((((((removeMax @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ Remove_max) @ Inv) => ((~ ((Is_empty @ L))) => ((Inv @ L) => ((((((product_Pair @ A) @ B) @ M) @ L3) = (Remove_max @ L)) => ((((add_mset @ A) @ M) @ (Multiset @ L3)) = (Multiset @ L)))))))))))).
% 0.26/1.40 thf(fact_233_lexord__append__leftD, axiom, (! [A:$tType,X:(list @ A),U:(list @ A),V2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ X) @ U)) @ (((append @ A) @ X) @ V2))) @ ((lexord @ A) @ R)) => ((! [A3:A]: ((~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A3) @ A3)) @ R))))) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ U) @ V2)) @ ((lexord @ A) @ R))))))).
% 0.26/1.40 thf(fact_234_lexord__append__rightI, axiom, (! [A:$tType,Y:(list @ A),X:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((? [B9:A,Z3:(list @ A)]: ((Y = (((cons @ A) @ B9) @ Z3)))) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ X) @ (((append @ A) @ X) @ Y))) @ ((lexord @ A) @ R)))))).
% 0.26/1.40 thf(fact_235_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))))))))).
% 0.26/1.40 thf(fact_236_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))))))))).
% 0.26/1.40 thf(fact_237_listrel1E, axiom, (! [A:$tType,Xs2:(list @ A),Ys2:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((listrel1 @ A) @ R)) => (~ ((! [X4:A,Y2:A]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X4) @ Y2)) @ R) => (! [Us3:(list @ A),Vs2:(list @ A)]: (((Xs2 = (((append @ A) @ Us3) @ (((cons @ A) @ X4) @ Vs2))) => (Ys2 != (((append @ A) @ Us3) @ (((cons @ A) @ Y2) @ Vs2))))))))))))))).
% 0.26/1.40 thf(fact_238_listrel1I, axiom, (! [A:$tType,X:A,Y:A,R:(set @ ((product_prod @ A) @ A)),Xs2:(list @ A),Us:(list @ A),Vs:(list @ A),Ys2:(list @ A)]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ X) @ Y)) @ R) => ((Xs2 = (((append @ A) @ Us) @ (((cons @ A) @ X) @ Vs))) => ((Ys2 = (((append @ A) @ Us) @ (((cons @ A) @ Y) @ Vs))) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((listrel1 @ A) @ R)))))))).
% 0.26/1.40 thf(fact_239_lexord__append__left__rightI, axiom, (! [A:$tType,A2:A,B2:A,R:(set @ ((product_prod @ A) @ A)),U:(list @ A),X:(list @ A),Y:(list @ A)]: (((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A2) @ B2)) @ R) => (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ U) @ (((cons @ A) @ A2) @ X))) @ (((append @ A) @ U) @ (((cons @ A) @ B2) @ Y)))) @ ((lexord @ A) @ R)))))).
% 0.26/1.40 thf(fact_240_RemoveMax_Ossort_H__dom_Oinducts, 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),X:((product_prod @ B) @ (list @ A)),P:(((product_prod @ B) @ (list @ A)) > $o)]: ((((((((((removeMax @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ Remove_max) @ Inv) => ((((((ssort_dom @ B) @ A) @ Is_empty) @ Remove_max) @ X) => ((! [L5:B,Sl:(list @ A)]: (((! [M5:A,L7:B]: (((~ ((Is_empty @ L5))) => ((((((product_Pair @ A) @ B) @ M5) @ L7) = (Remove_max @ L5)) => (((((ssort_dom @ B) @ A) @ Is_empty) @ Remove_max) @ ((((product_Pair @ B) @ (list @ A)) @ L7) @ (((cons @ A) @ M5) @ Sl))))))) => ((! [M5:A,L7:B]: (((~ ((Is_empty @ L5))) => ((((((product_Pair @ A) @ B) @ M5) @ L7) = (Remove_max @ L5)) => (P @ ((((product_Pair @ B) @ (list @ A)) @ L7) @ (((cons @ A) @ M5) @ Sl))))))) => (P @ ((((product_Pair @ B) @ (list @ A)) @ L5) @ Sl)))))) => (P @ X)))))))))).
% 0.26/1.40 thf(fact_241_RemoveMax_Ossort_H__dom_Ointros, 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),L:B,Sl2:(list @ A)]: ((((((((((removeMax @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ Remove_max) @ Inv) => ((! [M2:A,L4:B]: (((~ ((Is_empty @ L))) => ((((((product_Pair @ A) @ B) @ M2) @ L4) = (Remove_max @ L)) => (((((ssort_dom @ B) @ A) @ Is_empty) @ Remove_max) @ ((((product_Pair @ B) @ (list @ A)) @ L4) @ (((cons @ A) @ M2) @ Sl2))))))) => (((((ssort_dom @ B) @ A) @ Is_empty) @ Remove_max) @ ((((product_Pair @ B) @ (list @ A)) @ L) @ Sl2)))))))))).
% 0.26/1.40 thf(fact_242_RemoveMax_Ossort_H__dom_Ocong, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (((ssort_dom @ B) @ A) = ((ssort_dom @ B) @ A)))))).
% 0.26/1.40 thf(fact_243_RemoveMax_Ossort_H__dom_Ocases, 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),A2:((product_prod @ B) @ (list @ A))]: ((((((((((removeMax @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ Remove_max) @ Inv) => ((((((ssort_dom @ B) @ A) @ Is_empty) @ Remove_max) @ A2) => (~ ((! [L5:B,Sl:(list @ A)]: (((A2 = ((((product_Pair @ B) @ (list @ A)) @ L5) @ Sl)) => (~ (((~ ((Is_empty @ L5))) => (! [M5:A,L7:B]: (((((((product_Pair @ A) @ B) @ M5) @ L7) = (Remove_max @ L5)) => (((((ssort_dom @ B) @ A) @ Is_empty) @ Remove_max) @ ((((product_Pair @ B) @ (list @ A)) @ L7) @ (((cons @ A) @ M5) @ Sl)))))))))))))))))))))).
% 0.26/1.40 thf(fact_244_RemoveMax_Ossort_H__dom_Osimps, 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),A2:((product_prod @ B) @ (list @ A))]: ((((((((((removeMax @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ Remove_max) @ Inv) => ((((((ssort_dom @ B) @ A) @ Is_empty) @ Remove_max) @ A2) = (? [L2:B,Sl3:(list @ A)]: (((A2 = ((((product_Pair @ B) @ (list @ A)) @ L2) @ Sl3)) & (! [X5:A,Y3:B]: (((~ ((Is_empty @ L2))) => ((((((product_Pair @ A) @ B) @ X5) @ Y3) = (Remove_max @ L2)) => (((((ssort_dom @ B) @ A) @ Is_empty) @ Remove_max) @ ((((product_Pair @ B) @ (list @ A)) @ Y3) @ (((cons @ A) @ X5) @ Sl3)))))))))))))))))).
% 0.26/1.40 thf(fact_245_bind__simps_I2_J, axiom, (! [A:$tType,B:$tType,X:B,Xs2:(list @ B),F3:(B > (list @ A))]: ((((((bind @ B) @ A) @ (((cons @ B) @ X) @ Xs2)) @ F3) = (((append @ A) @ (F3 @ X)) @ ((((bind @ B) @ A) @ Xs2) @ F3)))))).
% 0.26/1.40 thf(fact_246_lexord__same__pref__if__irrefl, axiom, (! [A:$tType,R:(set @ ((product_prod @ A) @ A)),Xs2:(list @ A),Ys2:(list @ A),Zs2:(list @ A)]: ((((irrefl @ A) @ R) => ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Xs2) @ Ys2)) @ (((append @ A) @ Xs2) @ Zs2))) @ ((lexord @ A) @ R)) = (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Ys2) @ Zs2)) @ ((lexord @ A) @ R))))))).
% 0.26/1.40 thf(fact_247_bind__simps_I1_J, axiom, (! [B:$tType,A:$tType,F3:(B > (list @ A))]: ((((((bind @ B) @ A) @ (nil @ B)) @ F3) = (nil @ A))))).
% 0.26/1.40 thf(fact_248_irrefl__def, axiom, (! [A:$tType]: (((irrefl @ A) = (^ [R3:(set @ ((product_prod @ A) @ A))]: ((! [A6:A]: ((~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A6) @ A6)) @ R3))))))))))).
% 0.26/1.40 thf(fact_249_irreflI, axiom, (! [A:$tType,R4:(set @ ((product_prod @ A) @ A))]: (((! [A3:A]: ((~ ((((member @ ((product_prod @ A) @ A)) @ ((((product_Pair @ A) @ A) @ A3) @ A3)) @ R4))))) => ((irrefl @ A) @ R4))))).
% 0.26/1.40 thf(fact_250_lexord__irrefl, axiom, (! [A:$tType,R4:(set @ ((product_prod @ A) @ A))]: ((((irrefl @ A) @ R4) => ((irrefl @ (list @ A)) @ ((lexord @ A) @ R4)))))).
% 0.26/1.40 thf(fact_251_lenlex__append2, axiom, (! [A:$tType,R4:(set @ ((product_prod @ A) @ A)),Us:(list @ A),Xs2:(list @ A),Ys2:(list @ A)]: ((((irrefl @ A) @ R4) => ((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (((append @ A) @ Us) @ Xs2)) @ (((append @ A) @ Us) @ Ys2))) @ ((lenlex @ A) @ R4)) = (((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ Xs2) @ Ys2)) @ ((lenlex @ A) @ R4))))))).
% 0.26/1.40 thf(fact_252_RemoveMax_Ossort_HInduct, 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),L:B,P:(B > ((list @ A) > $o)),Sl2:(list @ A)]: ((((((((((removeMax @ B) @ A) @ Empty) @ Is_empty) @ Of_list) @ Multiset) @ Remove_max) @ Inv) => ((Inv @ L) => (((P @ L) @ Sl2) => ((! [L5:B,Sl:(list @ A),M2:A,L4:B]: (((~ ((Is_empty @ L5))) => ((Inv @ L5) => ((((((product_Pair @ A) @ B) @ M2) @ L4) = (Remove_max @ L5)) => (((P @ L5) @ Sl) => ((P @ L4) @ (((cons @ A) @ M2) @ Sl)))))))) => ((P @ Empty) @ ((((((ssort @ B) @ A) @ Is_empty) @ Remove_max) @ L) @ Sl2)))))))))))).
% 0.26/1.40 thf(fact_253_Nil__lenlex__iff1, axiom, (! [A:$tType,Ns:(list @ A),R:(set @ ((product_prod @ A) @ A))]: (((((member @ ((product_prod @ (list @ A)) @ (list @ A))) @ ((((product_Pair @ (list @ A)) @ (list @ A)) @ (nil @ A)) @ Ns)) @ ((lenlex @ A) @ R)) = (Ns != (nil @ A)))))).
% 0.26/1.40 thf(fact_254_RemoveMax_Ossort_H_Ocong, axiom, (! [A:$tType,B:$tType]: (((linorder @ A) => (((ssort @ B) @ A) = ((ssort @ B) @ A)))))).
% 0.26/1.40 thf(tcon_fun___Orderings_Opreorder, axiom, (! [A9:$tType,A10:$tType]: (((preorder @ A10) => (preorder @ (A9 > A10)))))).
% 0.26/1.40 thf(tcon_fun___Orderings_Oorder, axiom, (! [A9:$tType,A10:$tType]: (((order @ A10) => (order @ (A9 > A10)))))).
% 0.26/1.40 thf(tcon_fun___Orderings_Oord, axiom, (! [A9:$tType,A10:$tType]: (((ord @ A10) => (ord @ (A9 > A10)))))).
% 0.26/1.40 thf(tcon_Set_Oset___Orderings_Opreorder_1, axiom, (! [A9:$tType]: ((preorder @ (set @ A9))))).
% 0.26/1.40 thf(tcon_Set_Oset___Orderings_Oorder_2, axiom, (! [A9:$tType]: ((order @ (set @ A9))))).
% 0.26/1.40 thf(tcon_Set_Oset___Orderings_Oord_3, axiom, (! [A9:$tType]: ((ord @ (set @ A9))))).
% 0.26/1.40 thf(tcon_HOL_Obool___Orderings_Opreorder_4, axiom, (preorder @ $o)).
% 0.26/1.40 thf(tcon_HOL_Obool___Orderings_Olinorder, axiom, (linorder @ $o)).
% 0.26/1.40 thf(tcon_HOL_Obool___Orderings_Oorder_5, axiom, (order @ $o)).
% 0.26/1.40 thf(tcon_HOL_Obool___Orderings_Oord_6, axiom, (ord @ $o)).
% 0.26/1.40 thf(tcon_Multiset_Omultiset___Orderings_Opreorder_7, axiom, (! [A9:$tType]: (((preorder @ A9) => (preorder @ (multiset @ A9)))))).
% 0.26/1.40 thf(tcon_Multiset_Omultiset___Orderings_Oorder_8, axiom, (! [A9:$tType]: (((preorder @ A9) => (order @ (multiset @ A9)))))).
% 0.26/1.40 thf(tcon_Multiset_Omultiset___Orderings_Oord_9, axiom, (! [A9:$tType]: (((preorder @ A9) => (ord @ (multiset @ A9)))))).
% 0.26/1.40 thf(conj_0, conjecture, ((heapIm721255937_empty @ b) @ (e @ b))).
% 0.26/1.40 % SZS output end ListOfTHF for /export/starexec/sandbox2/tmp/tmp.RTHQPOqAtM/DTF2DTF15600.p
% 0.26/1.40 ------------------------
% 0.26/1.44 ---- Cleaned THF ---
% 0.26/1.44 thf(ty_t_Product__Type_Oprod,type,
% 0.26/1.44 product_prod: $tType > $tType > $tType ).
% 0.26/1.44
% 0.26/1.44 thf(ty_t_Multiset_Omultiset,type,
% 0.26/1.44 multiset: $tType > $tType ).
% 0.26/1.44
% 0.26/1.44 thf(ty_t_List_Olist,type,
% 0.26/1.44 list: $tType > $tType ).
% 0.26/1.44
% 0.26/1.44 thf(ty_t_Heap_OTree,type,
% 0.26/1.44 tree: $tType > $tType ).
% 0.26/1.44
% 0.26/1.44 thf(ty_t_Set_Oset,type,
% 0.26/1.44 set: $tType > $tType ).
% 0.26/1.44
% 0.26/1.44 thf(ty_tf_b,type,
% 0.26/1.44 b: $tType ).
% 0.26/1.44
% 0.26/1.44 thf(sy_cl_HOL_Otype,type,
% 0.26/1.44 type:
% 0.26/1.44 !>[A: $tType] : $o ).
% 0.26/1.44
% 0.26/1.44 thf(sy_cl_Orderings_Oord,type,
% 0.26/1.44 ord:
% 0.26/1.44 !>[A: $tType] : $o ).
% 0.26/1.44
% 0.26/1.44 thf(sy_cl_Orderings_Oorder,type,
% 0.26/1.44 order:
% 0.26/1.44 !>[A: $tType] : $o ).
% 0.26/1.44
% 0.26/1.44 thf(sy_cl_Orderings_Olinorder,type,
% 0.26/1.44 linorder:
% 0.26/1.44 !>[A: $tType] : $o ).
% 0.26/1.44
% 0.26/1.44 thf(sy_cl_Orderings_Opreorder,type,
% 0.26/1.44 preorder:
% 0.26/1.44 !>[A: $tType] : $o ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oheapify,type,
% 0.26/1.44 heapIm818251801eapify:
% 0.26/1.44 !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Ohs__is__empty,type,
% 0.26/1.44 heapIm721255937_empty:
% 0.26/1.44 !>[A: $tType] : ( ( tree @ A ) > $o ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Ohs__of__list,type,
% 0.26/1.44 heapIm874063447f_list:
% 0.26/1.44 !>[A: $tType] : ( ( list @ A ) > ( tree @ A ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oleft,type,
% 0.26/1.44 heapIm1271749598e_left:
% 0.26/1.44 !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oof__list__tree,type,
% 0.26/1.44 heapIm1912108042t_tree:
% 0.26/1.44 !>[A: $tType] : ( ( list @ A ) > ( tree @ A ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_Oright,type,
% 0.26/1.44 heapIm1434396069_right:
% 0.26/1.44 !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_HeapImperative__Mirabelle__oitemzccmr_OsiftDown,type,
% 0.26/1.44 heapIm748920189ftDown:
% 0.26/1.44 !>[A: $tType] : ( ( tree @ A ) > ( tree @ A ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Heap_OHeap,type,
% 0.26/1.44 heap:
% 0.26/1.44 !>[B: $tType,A: $tType] : ( B > ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( tree @ A ) ) > ( B > ( product_prod @ A @ B ) ) > $o ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Heap_OHeap__axioms,type,
% 0.26/1.44 heap_axioms:
% 0.26/1.44 !>[B: $tType,A: $tType] : ( ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( tree @ A ) ) > ( B > ( product_prod @ A @ B ) ) > $o ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Heap_OTree_OE,type,
% 0.26/1.44 e:
% 0.26/1.44 !>[A: $tType] : ( tree @ A ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Heap_OTree_OT,type,
% 0.26/1.44 t:
% 0.26/1.44 !>[A: $tType] : ( A > ( tree @ A ) > ( tree @ A ) > ( tree @ A ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Heap_OTree_Ocase__Tree,type,
% 0.26/1.44 case_Tree:
% 0.26/1.44 !>[B: $tType,A: $tType] : ( B > ( A > ( tree @ A ) > ( tree @ A ) > B ) > ( tree @ A ) > B ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Heap_OTree_Opred__Tree,type,
% 0.26/1.44 pred_Tree:
% 0.26/1.44 !>[A: $tType] : ( ( A > $o ) > ( tree @ A ) > $o ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Heap_OTree_Orec__Tree,type,
% 0.26/1.44 rec_Tree:
% 0.26/1.44 !>[C: $tType,A: $tType] : ( C > ( A > ( tree @ A ) > ( tree @ A ) > C > C > C ) > ( tree @ A ) > C ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Heap_Oin__tree,type,
% 0.26/1.44 in_tree:
% 0.26/1.44 !>[A: $tType] : ( A > ( tree @ A ) > $o ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Heap_Ois__heap,type,
% 0.26/1.44 is_heap:
% 0.26/1.44 !>[A: $tType] : ( ( tree @ A ) > $o ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Heap_Omultiset,type,
% 0.26/1.44 multiset2:
% 0.26/1.44 !>[A: $tType] : ( ( tree @ A ) > ( multiset @ A ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Heap_Oval,type,
% 0.26/1.44 val:
% 0.26/1.44 !>[A: $tType] : ( ( tree @ A ) > A ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Lattices__Big_Olinorder__class_OMax,type,
% 0.26/1.44 lattic929149872er_Max:
% 0.26/1.44 !>[A: $tType] : ( ( set @ A ) > A ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_List_Oappend,type,
% 0.26/1.44 append:
% 0.26/1.44 !>[A: $tType] : ( ( list @ A ) > ( list @ A ) > ( list @ A ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_List_Obind,type,
% 0.26/1.44 bind:
% 0.26/1.44 !>[A: $tType,B: $tType] : ( ( list @ A ) > ( A > ( list @ B ) ) > ( list @ B ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_List_Oinsert,type,
% 0.26/1.44 insert:
% 0.26/1.44 !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_List_Olenlex,type,
% 0.26/1.44 lenlex:
% 0.26/1.44 !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_List_Olexord,type,
% 0.26/1.44 lexord:
% 0.26/1.44 !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_List_Olist_OCons,type,
% 0.26/1.44 cons:
% 0.26/1.44 !>[A: $tType] : ( A > ( list @ A ) > ( list @ A ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_List_Olist_ONil,type,
% 0.26/1.44 nil:
% 0.26/1.44 !>[A: $tType] : ( list @ A ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_List_Olist__ex1,type,
% 0.26/1.44 list_ex1:
% 0.26/1.44 !>[A: $tType] : ( ( A > $o ) > ( list @ A ) > $o ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_List_Olistrel,type,
% 0.26/1.44 listrel:
% 0.26/1.44 !>[A: $tType,B: $tType] : ( ( set @ ( product_prod @ A @ B ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_List_Olistrel1,type,
% 0.26/1.44 listrel1:
% 0.26/1.44 !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_List_Oproduct__lists,type,
% 0.26/1.44 product_lists:
% 0.26/1.44 !>[A: $tType] : ( ( list @ ( list @ A ) ) > ( list @ ( list @ A ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_List_Osubseqs,type,
% 0.26/1.44 subseqs:
% 0.26/1.44 !>[A: $tType] : ( ( list @ A ) > ( list @ ( list @ A ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Multiset_Oadd__mset,type,
% 0.26/1.44 add_mset:
% 0.26/1.44 !>[A: $tType] : ( A > ( multiset @ A ) > ( multiset @ A ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Multiset_Olinorder__class_Opart,type,
% 0.26/1.44 linorder_part:
% 0.26/1.44 !>[B: $tType,A: $tType] : ( ( B > A ) > A > ( list @ B ) > ( product_prod @ ( list @ B ) @ ( product_prod @ ( list @ B ) @ ( list @ B ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Multiset_Oset__mset,type,
% 0.26/1.44 set_mset:
% 0.26/1.44 !>[A: $tType] : ( ( multiset @ A ) > ( set @ A ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Orderings_Oord__class_Oless__eq,type,
% 0.26/1.44 ord_less_eq:
% 0.26/1.44 !>[A: $tType] : ( A > A > $o ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Product__Type_OPair,type,
% 0.26/1.44 product_Pair:
% 0.26/1.44 !>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Product__Type_Ointernal__case__prod,type,
% 0.26/1.44 produc2004651681e_prod:
% 0.26/1.44 !>[A: $tType,B: $tType,C: $tType] : ( ( A > B > C ) > ( product_prod @ A @ B ) > C ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Product__Type_Oold_Oprod_Orec__prod,type,
% 0.26/1.44 product_rec_prod:
% 0.26/1.44 !>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Relation_Oirrefl,type,
% 0.26/1.44 irrefl:
% 0.26/1.44 !>[A: $tType] : ( ( set @ ( product_prod @ A @ A ) ) > $o ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_RemoveMax_OCollection,type,
% 0.26/1.44 collection:
% 0.26/1.44 !>[B: $tType,A: $tType] : ( B > ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > $o ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_RemoveMax_OCollection_Oset,type,
% 0.26/1.44 set2:
% 0.26/1.44 !>[B: $tType,A: $tType] : ( ( B > ( multiset @ A ) ) > B > ( set @ A ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_RemoveMax_ORemoveMax,type,
% 0.26/1.44 removeMax:
% 0.26/1.44 !>[B: $tType,A: $tType] : ( B > ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( product_prod @ A @ B ) ) > ( B > $o ) > $o ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_RemoveMax_ORemoveMax_Ossort_H,type,
% 0.26/1.44 ssort:
% 0.26/1.44 !>[B: $tType,A: $tType] : ( ( B > $o ) > ( B > ( product_prod @ A @ B ) ) > B > ( list @ A ) > ( list @ A ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_RemoveMax_ORemoveMax_Ossort_H__dom,type,
% 0.26/1.44 ssort_dom:
% 0.26/1.44 !>[B: $tType,A: $tType] : ( ( B > $o ) > ( B > ( product_prod @ A @ B ) ) > ( product_prod @ B @ ( list @ A ) ) > $o ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_RemoveMax_ORemoveMax__axioms,type,
% 0.26/1.44 removeMax_axioms:
% 0.26/1.44 !>[B: $tType,A: $tType] : ( ( B > $o ) > ( ( list @ A ) > B ) > ( B > ( multiset @ A ) ) > ( B > ( product_prod @ A @ B ) ) > ( B > $o ) > $o ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_Set_OCollect,type,
% 0.26/1.44 collect:
% 0.26/1.44 !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(sy_c_member,type,
% 0.26/1.44 member:
% 0.26/1.44 !>[A: $tType] : ( A > ( set @ A ) > $o ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_0_hs__is__empty__def,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( heapIm721255937_empty @ A )
% 0.26/1.44 = ( ^ [T2: tree @ A] :
% 0.26/1.44 ( T2
% 0.26/1.44 = ( e @ A ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_1_heapify_Osimps_I1_J,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ( ( heapIm818251801eapify @ A @ ( e @ A ) )
% 0.26/1.44 = ( e @ A ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_2_siftDown_Osimps_I1_J,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ( ( heapIm748920189ftDown @ A @ ( e @ A ) )
% 0.26/1.44 = ( e @ A ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_3_Tree_Osimps_I4_J,axiom,
% 0.26/1.44 ! [A: $tType,B: $tType,F1: B,F2: A > ( tree @ A ) > ( tree @ A ) > B] :
% 0.26/1.44 ( ( case_Tree @ B @ A @ F1 @ F2 @ ( e @ A ) )
% 0.26/1.44 = F1 ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_4_siftDown_Ocases,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [X: tree @ A] :
% 0.26/1.44 ( ( X
% 0.26/1.44 != ( e @ A ) )
% 0.26/1.44 => ( ! [V: A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) )
% 0.26/1.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) )
% 0.26/1.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 0.26/1.44 => ~ ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) ) ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_5_removeLeaf_Ocases,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [X: tree @ A] :
% 0.26/1.44 ( ! [V: A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) )
% 0.26/1.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) )
% 0.26/1.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 0.26/1.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) )
% 0.26/1.44 => ( ! [V: A,Vd: A,Ve: tree @ A,Vf: tree @ A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( t @ A @ V @ ( t @ A @ Vd @ Ve @ Vf ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 0.26/1.44 => ( X
% 0.26/1.44 = ( e @ A ) ) ) ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_6_removeLeaf_Oinduct,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [P: ( tree @ A ) > $o,A0: tree @ A] :
% 0.26/1.44 ( ! [V: A] : ( P @ ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) )
% 0.26/1.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.26/1.44 ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 0.26/1.44 => ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 0.26/1.44 => ( P @ ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) ) ) )
% 0.26/1.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.26/1.44 ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 0.26/1.44 => ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 0.26/1.44 => ( P @ ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) ) ) )
% 0.26/1.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 0.26/1.44 ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 0.26/1.44 => ( ( P @ ( t @ A @ Va @ Vb @ Vc ) )
% 0.26/1.44 => ( P @ ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) ) ) )
% 0.26/1.44 => ( ! [V: A,Vd: A,Ve: tree @ A,Vf: tree @ A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.26/1.44 ( ( P @ ( t @ A @ Vd @ Ve @ Vf ) )
% 0.26/1.44 => ( ( P @ ( t @ A @ Vd @ Ve @ Vf ) )
% 0.26/1.44 => ( P @ ( t @ A @ V @ ( t @ A @ Vd @ Ve @ Vf ) @ ( t @ A @ Va @ Vb @ Vc ) ) ) ) )
% 0.26/1.44 => ( ( P @ ( e @ A ) )
% 0.26/1.44 => ( P @ A0 ) ) ) ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_7_in__tree_Osimps_I1_J,axiom,
% 0.26/1.44 ! [A: $tType,V2: A] :
% 0.26/1.44 ~ ( in_tree @ A @ V2 @ ( e @ A ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_8_Tree_Osimps_I6_J,axiom,
% 0.26/1.44 ! [A: $tType,C: $tType,F1: C,F2: A > ( tree @ A ) > ( tree @ A ) > C > C > C] :
% 0.26/1.44 ( ( rec_Tree @ C @ A @ F1 @ F2 @ ( e @ A ) )
% 0.26/1.44 = F1 ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_9_Heap_Oas__tree__empty,axiom,
% 0.26/1.44 ! [A: $tType,B: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),T3: B] :
% 0.26/1.44 ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.26/1.44 => ( ( ( As_tree @ T3 )
% 0.26/1.44 = ( e @ A ) )
% 0.26/1.44 = ( Is_empty @ T3 ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_10_Tree_Opred__inject_I1_J,axiom,
% 0.26/1.44 ! [A: $tType,P: A > $o] : ( pred_Tree @ A @ P @ ( e @ A ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_11_of__list__tree_Osimps_I1_J,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ( ( heapIm1912108042t_tree @ A @ ( nil @ A ) )
% 0.26/1.44 = ( e @ A ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_12_is__heap_Osimps_I1_J,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ( is_heap @ A @ ( e @ A ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_13_Tree_Oinject,axiom,
% 0.26/1.44 ! [A: $tType,X21: A,X22: tree @ A,X23: tree @ A,Y21: A,Y22: tree @ A,Y23: tree @ A] :
% 0.26/1.44 ( ( ( t @ A @ X21 @ X22 @ X23 )
% 0.26/1.44 = ( t @ A @ Y21 @ Y22 @ Y23 ) )
% 0.26/1.44 = ( ( X21 = Y21 )
% 0.26/1.44 & ( X22 = Y22 )
% 0.26/1.44 & ( X23 = Y23 ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_14_Tree_Opred__inject_I2_J,axiom,
% 0.26/1.44 ! [A: $tType,P: A > $o,A2: A,Aa: tree @ A,Ab: tree @ A] :
% 0.26/1.44 ( ( pred_Tree @ A @ P @ ( t @ A @ A2 @ Aa @ Ab ) )
% 0.26/1.44 = ( ( P @ A2 )
% 0.26/1.44 & ( pred_Tree @ A @ P @ Aa )
% 0.26/1.44 & ( pred_Tree @ A @ P @ Ab ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_15_Tree_Osimps_I7_J,axiom,
% 0.26/1.44 ! [C: $tType,A: $tType,F1: C,F2: A > ( tree @ A ) > ( tree @ A ) > C > C > C,X21: A,X22: tree @ A,X23: tree @ A] :
% 0.26/1.44 ( ( rec_Tree @ C @ A @ F1 @ F2 @ ( t @ A @ X21 @ X22 @ X23 ) )
% 0.26/1.44 = ( F2 @ X21 @ X22 @ X23 @ ( rec_Tree @ C @ A @ F1 @ F2 @ X22 ) @ ( rec_Tree @ C @ A @ F1 @ F2 @ X23 ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_16_Tree_Osimps_I5_J,axiom,
% 0.26/1.44 ! [B: $tType,A: $tType,F1: B,F2: A > ( tree @ A ) > ( tree @ A ) > B,X21: A,X22: tree @ A,X23: tree @ A] :
% 0.26/1.44 ( ( case_Tree @ B @ A @ F1 @ F2 @ ( t @ A @ X21 @ X22 @ X23 ) )
% 0.26/1.44 = ( F2 @ X21 @ X22 @ X23 ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_17_in__tree_Osimps_I2_J,axiom,
% 0.26/1.44 ! [A: $tType,V2: A,V3: A,L: tree @ A,R: tree @ A] :
% 0.26/1.44 ( ( in_tree @ A @ V2 @ ( t @ A @ V3 @ L @ R ) )
% 0.26/1.44 = ( ( V2 = V3 )
% 0.26/1.44 | ( in_tree @ A @ V2 @ L )
% 0.26/1.44 | ( in_tree @ A @ V2 @ R ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_18_is__heap_Osimps_I2_J,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [V2: A] : ( is_heap @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( e @ A ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_19_heapify_Osimps_I2_J,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [V2: A,L: tree @ A,R: tree @ A] :
% 0.26/1.44 ( ( heapIm818251801eapify @ A @ ( t @ A @ V2 @ L @ R ) )
% 0.26/1.44 = ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm818251801eapify @ A @ L ) @ ( heapIm818251801eapify @ A @ R ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_20_Heap_Ois__heap__of__list,axiom,
% 0.26/1.44 ! [B: $tType,A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [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.26/1.44 ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.26/1.44 => ( is_heap @ A @ ( As_tree @ ( Of_list @ I ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_21_heapify__heap__is__heap,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [T3: tree @ A] : ( is_heap @ A @ ( heapIm818251801eapify @ A @ T3 ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_22_siftDown__in__tree__set,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ( ( in_tree @ A )
% 0.26/1.44 = ( ^ [V4: A,T2: tree @ A] : ( in_tree @ A @ V4 @ ( heapIm748920189ftDown @ A @ T2 ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_23_siftDown__heap__is__heap,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [L: tree @ A,R: tree @ A,T3: tree @ A,V2: A] :
% 0.26/1.44 ( ( is_heap @ A @ L )
% 0.26/1.44 => ( ( is_heap @ A @ R )
% 0.26/1.44 => ( ( T3
% 0.26/1.44 = ( t @ A @ V2 @ L @ R ) )
% 0.26/1.44 => ( is_heap @ A @ ( heapIm748920189ftDown @ A @ T3 ) ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_24_is__heap_Ocases,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [X: tree @ A] :
% 0.26/1.44 ( ( X
% 0.26/1.44 != ( e @ A ) )
% 0.26/1.44 => ( ! [V: A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( t @ A @ V @ ( e @ A ) @ ( e @ A ) ) )
% 0.26/1.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( t @ A @ V @ ( e @ A ) @ ( t @ A @ Va @ Vb @ Vc ) ) )
% 0.26/1.44 => ( ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( e @ A ) ) )
% 0.26/1.44 => ~ ! [V: A,Va: A,Vb: tree @ A,Vc: tree @ A,Vd: A,Ve: tree @ A,Vf: tree @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( t @ A @ V @ ( t @ A @ Va @ Vb @ Vc ) @ ( t @ A @ Vd @ Ve @ Vf ) ) ) ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_25_Tree_Oexhaust,axiom,
% 0.26/1.44 ! [A: $tType,Y: tree @ A] :
% 0.26/1.44 ( ( Y
% 0.26/1.44 != ( e @ A ) )
% 0.26/1.44 => ~ ! [X212: A,X222: tree @ A,X232: tree @ A] :
% 0.26/1.44 ( Y
% 0.26/1.44 != ( t @ A @ X212 @ X222 @ X232 ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_26_Tree_Oinduct,axiom,
% 0.26/1.44 ! [A: $tType,P: ( tree @ A ) > $o,Tree: tree @ A] :
% 0.26/1.44 ( ( P @ ( e @ A ) )
% 0.26/1.44 => ( ! [X1: A,X2: tree @ A,X3: tree @ A] :
% 0.26/1.44 ( ( P @ X2 )
% 0.26/1.44 => ( ( P @ X3 )
% 0.26/1.44 => ( P @ ( t @ A @ X1 @ X2 @ X3 ) ) ) )
% 0.26/1.44 => ( P @ Tree ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_27_Tree_Odistinct_I1_J,axiom,
% 0.26/1.44 ! [A: $tType,X21: A,X22: tree @ A,X23: tree @ A] :
% 0.26/1.44 ( ( e @ A )
% 0.26/1.44 != ( t @ A @ X21 @ X22 @ X23 ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_28_siftDown_Osimps_I2_J,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [V2: A] :
% 0.26/1.44 ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( e @ A ) ) )
% 0.26/1.44 = ( t @ A @ V2 @ ( e @ A ) @ ( e @ A ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_29_hs__of__list__def,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ( ( heapIm874063447f_list @ A )
% 0.26/1.44 = ( ^ [L2: list @ A] : ( heapIm818251801eapify @ A @ ( heapIm1912108042t_tree @ A @ L2 ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_30_siftDown__in__tree,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [T3: tree @ A] :
% 0.26/1.44 ( ( T3
% 0.26/1.44 != ( e @ A ) )
% 0.26/1.44 => ( in_tree @ A @ ( val @ A @ ( heapIm748920189ftDown @ A @ T3 ) ) @ T3 ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_31_of__list__tree_Osimps_I2_J,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [V2: A,Tail: list @ A] :
% 0.26/1.44 ( ( heapIm1912108042t_tree @ A @ ( cons @ A @ V2 @ Tail ) )
% 0.26/1.44 = ( t @ A @ V2 @ ( heapIm1912108042t_tree @ A @ Tail ) @ ( e @ A ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_32_Heap_Oaxioms_I2_J,axiom,
% 0.26/1.44 ! [A: $tType,B: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [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.26/1.44 ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.26/1.44 => ( heap_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_33_Heap_Oremove__max__is__heap,axiom,
% 0.26/1.44 ! [A: $tType,B: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),L: B,M: A,L3: B] :
% 0.26/1.44 ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.26/1.44 => ( ~ ( Is_empty @ L )
% 0.26/1.44 => ( ( is_heap @ A @ ( As_tree @ L ) )
% 0.26/1.44 => ( ( ( product_Pair @ A @ B @ M @ L3 )
% 0.26/1.44 = ( Remove_max @ L ) )
% 0.26/1.44 => ( is_heap @ A @ ( As_tree @ L3 ) ) ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_34_multiset__heapify,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [T3: tree @ A] :
% 0.26/1.44 ( ( multiset2 @ A @ ( heapIm818251801eapify @ A @ T3 ) )
% 0.26/1.44 = ( multiset2 @ A @ T3 ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_35_siftDown__Node,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [T3: tree @ A,V2: A,L: tree @ A,R: tree @ A] :
% 0.26/1.44 ( ( T3
% 0.26/1.44 = ( t @ A @ V2 @ L @ R ) )
% 0.26/1.44 => ? [L4: tree @ A,V5: A,R2: tree @ A] :
% 0.26/1.44 ( ( ( heapIm748920189ftDown @ A @ T3 )
% 0.26/1.44 = ( t @ A @ V5 @ L4 @ R2 ) )
% 0.26/1.44 & ( ord_less_eq @ A @ V2 @ V5 ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_36_left_Osimps,axiom,
% 0.26/1.44 ! [A: $tType,V2: A,L: tree @ A,R: tree @ A] :
% 0.26/1.44 ( ( heapIm1271749598e_left @ A @ ( t @ A @ V2 @ L @ R ) )
% 0.26/1.44 = L ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_37_right_Osimps,axiom,
% 0.26/1.44 ! [A: $tType,V2: A,L: tree @ A,R: tree @ A] :
% 0.26/1.44 ( ( heapIm1434396069_right @ A @ ( t @ A @ V2 @ L @ R ) )
% 0.26/1.44 = R ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_38_Heap_Omultiset,axiom,
% 0.26/1.44 ! [A: $tType,B: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [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.26/1.44 ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.26/1.44 => ( ( Multiset @ L )
% 0.26/1.44 = ( multiset2 @ A @ ( As_tree @ L ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_39_list_Oinject,axiom,
% 0.26/1.44 ! [A: $tType,X21: A,X22: list @ A,Y21: A,Y22: list @ A] :
% 0.26/1.44 ( ( ( cons @ A @ X21 @ X22 )
% 0.26/1.44 = ( cons @ A @ Y21 @ Y22 ) )
% 0.26/1.44 = ( ( X21 = Y21 )
% 0.26/1.44 & ( X22 = Y22 ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_40_shuffles_Ocases,axiom,
% 0.26/1.44 ! [A: $tType,X: product_prod @ ( list @ A ) @ ( list @ A )] :
% 0.26/1.44 ( ! [Ys: list @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ys ) )
% 0.26/1.44 => ( ! [Xs: list @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs @ ( nil @ A ) ) )
% 0.26/1.44 => ~ ! [X4: A,Xs: list @ A,Y2: A,Ys: list @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X4 @ Xs ) @ ( cons @ A @ Y2 @ Ys ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_41_transpose_Ocases,axiom,
% 0.26/1.44 ! [A: $tType,X: list @ ( list @ A )] :
% 0.26/1.44 ( ( X
% 0.26/1.44 != ( nil @ ( list @ A ) ) )
% 0.26/1.44 => ( ! [Xss: list @ ( list @ A )] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( cons @ ( list @ A ) @ ( nil @ A ) @ Xss ) )
% 0.26/1.44 => ~ ! [X4: A,Xs: list @ A,Xss: list @ ( list @ A )] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( cons @ ( list @ A ) @ ( cons @ A @ X4 @ Xs ) @ Xss ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_42_sorted__wrt_Ocases,axiom,
% 0.26/1.44 ! [A: $tType,X: product_prod @ ( A > A > $o ) @ ( list @ A )] :
% 0.26/1.44 ( ! [P2: A > A > $o] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P2 @ ( nil @ A ) ) )
% 0.26/1.44 => ~ ! [P2: A > A > $o,X4: A,Ys: list @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P2 @ ( cons @ A @ X4 @ Ys ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_43_arg__min__list_Ocases,axiom,
% 0.26/1.44 ! [B: $tType,A: $tType] :
% 0.26/1.44 ( ( linorder @ B )
% 0.26/1.44 => ! [X: product_prod @ ( A > B ) @ ( list @ A )] :
% 0.26/1.44 ( ! [F: A > B,X4: A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( product_Pair @ ( A > B ) @ ( list @ A ) @ F @ ( cons @ A @ X4 @ ( nil @ A ) ) ) )
% 0.26/1.44 => ( ! [F: A > B,X4: A,Y2: A,Zs: list @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( product_Pair @ ( A > B ) @ ( list @ A ) @ F @ ( cons @ A @ X4 @ ( cons @ A @ Y2 @ Zs ) ) ) )
% 0.26/1.44 => ~ ! [A3: A > B] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( product_Pair @ ( A > B ) @ ( list @ A ) @ A3 @ ( nil @ A ) ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_44_mem__Collect__eq,axiom,
% 0.26/1.44 ! [A: $tType,A2: A,P: A > $o] :
% 0.26/1.44 ( ( member @ A @ A2 @ ( collect @ A @ P ) )
% 0.26/1.44 = ( P @ A2 ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_45_Collect__mem__eq,axiom,
% 0.26/1.44 ! [A: $tType,A4: set @ A] :
% 0.26/1.44 ( ( collect @ A
% 0.26/1.44 @ ^ [X5: A] : ( member @ A @ X5 @ A4 ) )
% 0.26/1.44 = A4 ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_46_Collect__cong,axiom,
% 0.26/1.44 ! [A: $tType,P: A > $o,Q: A > $o] :
% 0.26/1.44 ( ! [X4: A] :
% 0.26/1.44 ( ( P @ X4 )
% 0.26/1.44 = ( Q @ X4 ) )
% 0.26/1.44 => ( ( collect @ A @ P )
% 0.26/1.44 = ( collect @ A @ Q ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_47_ext,axiom,
% 0.26/1.44 ! [B: $tType,A: $tType,F3: A > B,G: A > B] :
% 0.26/1.44 ( ! [X4: A] :
% 0.26/1.44 ( ( F3 @ X4 )
% 0.26/1.44 = ( G @ X4 ) )
% 0.26/1.44 => ( F3 = G ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_48_successively_Ocases,axiom,
% 0.26/1.44 ! [A: $tType,X: product_prod @ ( A > A > $o ) @ ( list @ A )] :
% 0.26/1.44 ( ! [P2: A > A > $o] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P2 @ ( nil @ A ) ) )
% 0.26/1.44 => ( ! [P2: A > A > $o,X4: A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P2 @ ( cons @ A @ X4 @ ( nil @ A ) ) ) )
% 0.26/1.44 => ~ ! [P2: A > A > $o,X4: A,Y2: A,Xs: list @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( product_Pair @ ( A > A > $o ) @ ( list @ A ) @ P2 @ ( cons @ A @ X4 @ ( cons @ A @ Y2 @ Xs ) ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_49_map__tailrec__rev_Ocases,axiom,
% 0.26/1.44 ! [A: $tType,B: $tType,X: product_prod @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) )] :
% 0.26/1.44 ( ! [F: A > B,Bs: list @ B] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ F @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ Bs ) ) )
% 0.26/1.44 => ~ ! [F: A > B,A3: A,As: list @ A,Bs: list @ B] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( product_Pair @ ( A > B ) @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ F @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ A3 @ As ) @ Bs ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_50_not__Cons__self2,axiom,
% 0.26/1.44 ! [A: $tType,X: A,Xs2: list @ A] :
% 0.26/1.44 ( ( cons @ A @ X @ Xs2 )
% 0.26/1.44 != Xs2 ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_51_strict__sorted_Oinduct,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [P: ( list @ A ) > $o,A0: list @ A] :
% 0.26/1.44 ( ( P @ ( nil @ A ) )
% 0.26/1.44 => ( ! [X4: A,Ys: list @ A] :
% 0.26/1.44 ( ( P @ Ys )
% 0.26/1.44 => ( P @ ( cons @ A @ X4 @ Ys ) ) )
% 0.26/1.44 => ( P @ A0 ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_52_strict__sorted_Ocases,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [X: list @ A] :
% 0.26/1.44 ( ( X
% 0.26/1.44 != ( nil @ A ) )
% 0.26/1.44 => ~ ! [X4: A,Ys: list @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( cons @ A @ X4 @ Ys ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_53_map__tailrec__rev_Oinduct,axiom,
% 0.26/1.44 ! [A: $tType,B: $tType,P: ( A > B ) > ( list @ A ) > ( list @ B ) > $o,A0: A > B,A1: list @ A,A22: list @ B] :
% 0.26/1.44 ( ! [F: A > B,X_1: list @ B] : ( P @ F @ ( nil @ A ) @ X_1 )
% 0.26/1.44 => ( ! [F: A > B,A3: A,As: list @ A,Bs: list @ B] :
% 0.26/1.44 ( ( P @ F @ As @ ( cons @ B @ ( F @ A3 ) @ Bs ) )
% 0.26/1.44 => ( P @ F @ ( cons @ A @ A3 @ As ) @ Bs ) )
% 0.26/1.44 => ( P @ A0 @ A1 @ A22 ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_54_list__nonempty__induct,axiom,
% 0.26/1.44 ! [A: $tType,Xs2: list @ A,P: ( list @ A ) > $o] :
% 0.26/1.44 ( ( Xs2
% 0.26/1.44 != ( nil @ A ) )
% 0.26/1.44 => ( ! [X4: A] : ( P @ ( cons @ A @ X4 @ ( nil @ A ) ) )
% 0.26/1.44 => ( ! [X4: A,Xs: list @ A] :
% 0.26/1.44 ( ( Xs
% 0.26/1.44 != ( nil @ A ) )
% 0.26/1.44 => ( ( P @ Xs )
% 0.26/1.44 => ( P @ ( cons @ A @ X4 @ Xs ) ) ) )
% 0.26/1.44 => ( P @ Xs2 ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_55_successively_Oinduct,axiom,
% 0.26/1.44 ! [A: $tType,P: ( A > A > $o ) > ( list @ A ) > $o,A0: A > A > $o,A1: list @ A] :
% 0.26/1.44 ( ! [P2: A > A > $o] : ( P @ P2 @ ( nil @ A ) )
% 0.26/1.44 => ( ! [P2: A > A > $o,X4: A] : ( P @ P2 @ ( cons @ A @ X4 @ ( nil @ A ) ) )
% 0.26/1.44 => ( ! [P2: A > A > $o,X4: A,Y2: A,Xs: list @ A] :
% 0.26/1.44 ( ( P @ P2 @ ( cons @ A @ Y2 @ Xs ) )
% 0.26/1.44 => ( P @ P2 @ ( cons @ A @ X4 @ ( cons @ A @ Y2 @ Xs ) ) ) )
% 0.26/1.44 => ( P @ A0 @ A1 ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_56_arg__min__list_Oinduct,axiom,
% 0.26/1.44 ! [B: $tType,A: $tType] :
% 0.26/1.44 ( ( linorder @ B )
% 0.26/1.44 => ! [P: ( A > B ) > ( list @ A ) > $o,A0: A > B,A1: list @ A] :
% 0.26/1.44 ( ! [F: A > B,X4: A] : ( P @ F @ ( cons @ A @ X4 @ ( nil @ A ) ) )
% 0.26/1.44 => ( ! [F: A > B,X4: A,Y2: A,Zs: list @ A] :
% 0.26/1.44 ( ( P @ F @ ( cons @ A @ Y2 @ Zs ) )
% 0.26/1.44 => ( P @ F @ ( cons @ A @ X4 @ ( cons @ A @ Y2 @ Zs ) ) ) )
% 0.26/1.44 => ( ! [A3: A > B] : ( P @ A3 @ ( nil @ A ) )
% 0.26/1.44 => ( P @ A0 @ A1 ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_57_remdups__adj_Oinduct,axiom,
% 0.26/1.44 ! [A: $tType,P: ( list @ A ) > $o,A0: list @ A] :
% 0.26/1.44 ( ( P @ ( nil @ A ) )
% 0.26/1.44 => ( ! [X4: A] : ( P @ ( cons @ A @ X4 @ ( nil @ A ) ) )
% 0.26/1.44 => ( ! [X4: A,Y2: A,Xs: list @ A] :
% 0.26/1.44 ( ( ( X4 = Y2 )
% 0.26/1.44 => ( P @ ( cons @ A @ X4 @ Xs ) ) )
% 0.26/1.44 => ( ( ( X4 != Y2 )
% 0.26/1.44 => ( P @ ( cons @ A @ Y2 @ Xs ) ) )
% 0.26/1.44 => ( P @ ( cons @ A @ X4 @ ( cons @ A @ Y2 @ Xs ) ) ) ) )
% 0.26/1.44 => ( P @ A0 ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_58_sorted__wrt_Oinduct,axiom,
% 0.26/1.44 ! [A: $tType,P: ( A > A > $o ) > ( list @ A ) > $o,A0: A > A > $o,A1: list @ A] :
% 0.26/1.44 ( ! [P2: A > A > $o] : ( P @ P2 @ ( nil @ A ) )
% 0.26/1.44 => ( ! [P2: A > A > $o,X4: A,Ys: list @ A] :
% 0.26/1.44 ( ( P @ P2 @ Ys )
% 0.26/1.44 => ( P @ P2 @ ( cons @ A @ X4 @ Ys ) ) )
% 0.26/1.44 => ( P @ A0 @ A1 ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_59_remdups__adj_Ocases,axiom,
% 0.26/1.44 ! [A: $tType,X: list @ A] :
% 0.26/1.44 ( ( X
% 0.26/1.44 != ( nil @ A ) )
% 0.26/1.44 => ( ! [X4: A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( cons @ A @ X4 @ ( nil @ A ) ) )
% 0.26/1.44 => ~ ! [X4: A,Y2: A,Xs: list @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( cons @ A @ X4 @ ( cons @ A @ Y2 @ Xs ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_60_shuffles_Oinduct,axiom,
% 0.26/1.44 ! [A: $tType,P: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 0.26/1.44 ( ! [X_1: list @ A] : ( P @ ( nil @ A ) @ X_1 )
% 0.26/1.44 => ( ! [Xs: list @ A] : ( P @ Xs @ ( nil @ A ) )
% 0.26/1.44 => ( ! [X4: A,Xs: list @ A,Y2: A,Ys: list @ A] :
% 0.26/1.44 ( ( P @ Xs @ ( cons @ A @ Y2 @ Ys ) )
% 0.26/1.44 => ( ( P @ ( cons @ A @ X4 @ Xs ) @ Ys )
% 0.26/1.44 => ( P @ ( cons @ A @ X4 @ Xs ) @ ( cons @ A @ Y2 @ Ys ) ) ) )
% 0.26/1.44 => ( P @ A0 @ A1 ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_61_min__list_Oinduct,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( ord @ A )
% 0.26/1.44 => ! [P: ( list @ A ) > $o,A0: list @ A] :
% 0.26/1.44 ( ! [X4: A,Xs: list @ A] :
% 0.26/1.44 ( ! [X213: A,X223: list @ A] :
% 0.26/1.44 ( ( Xs
% 0.26/1.44 = ( cons @ A @ X213 @ X223 ) )
% 0.26/1.44 => ( P @ Xs ) )
% 0.26/1.44 => ( P @ ( cons @ A @ X4 @ Xs ) ) )
% 0.26/1.44 => ( ( P @ ( nil @ A ) )
% 0.26/1.44 => ( P @ A0 ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_62_min__list_Ocases,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( ord @ A )
% 0.26/1.44 => ! [X: list @ A] :
% 0.26/1.44 ( ! [X4: A,Xs: list @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( cons @ A @ X4 @ Xs ) )
% 0.26/1.44 => ( X
% 0.26/1.44 = ( nil @ A ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_63_induct__list012,axiom,
% 0.26/1.44 ! [A: $tType,P: ( list @ A ) > $o,Xs2: list @ A] :
% 0.26/1.44 ( ( P @ ( nil @ A ) )
% 0.26/1.44 => ( ! [X4: A] : ( P @ ( cons @ A @ X4 @ ( nil @ A ) ) )
% 0.26/1.44 => ( ! [X4: A,Y2: A,Zs: list @ A] :
% 0.26/1.44 ( ( P @ Zs )
% 0.26/1.44 => ( ( P @ ( cons @ A @ Y2 @ Zs ) )
% 0.26/1.44 => ( P @ ( cons @ A @ X4 @ ( cons @ A @ Y2 @ Zs ) ) ) ) )
% 0.26/1.44 => ( P @ Xs2 ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_64_splice_Oinduct,axiom,
% 0.26/1.44 ! [A: $tType,P: ( list @ A ) > ( list @ A ) > $o,A0: list @ A,A1: list @ A] :
% 0.26/1.44 ( ! [X_1: list @ A] : ( P @ ( nil @ A ) @ X_1 )
% 0.26/1.44 => ( ! [X4: A,Xs: list @ A,Ys: list @ A] :
% 0.26/1.44 ( ( P @ Ys @ Xs )
% 0.26/1.44 => ( P @ ( cons @ A @ X4 @ Xs ) @ Ys ) )
% 0.26/1.44 => ( P @ A0 @ A1 ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_65_list__induct2_H,axiom,
% 0.26/1.44 ! [A: $tType,B: $tType,P: ( list @ A ) > ( list @ B ) > $o,Xs2: list @ A,Ys2: list @ B] :
% 0.26/1.44 ( ( P @ ( nil @ A ) @ ( nil @ B ) )
% 0.26/1.44 => ( ! [X4: A,Xs: list @ A] : ( P @ ( cons @ A @ X4 @ Xs ) @ ( nil @ B ) )
% 0.26/1.44 => ( ! [Y2: B,Ys: list @ B] : ( P @ ( nil @ A ) @ ( cons @ B @ Y2 @ Ys ) )
% 0.26/1.44 => ( ! [X4: A,Xs: list @ A,Y2: B,Ys: list @ B] :
% 0.26/1.44 ( ( P @ Xs @ Ys )
% 0.26/1.44 => ( P @ ( cons @ A @ X4 @ Xs ) @ ( cons @ B @ Y2 @ Ys ) ) )
% 0.26/1.44 => ( P @ Xs2 @ Ys2 ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_66_neq__Nil__conv,axiom,
% 0.26/1.44 ! [A: $tType,Xs2: list @ A] :
% 0.26/1.44 ( ( Xs2
% 0.26/1.44 != ( nil @ A ) )
% 0.26/1.44 = ( ? [Y3: A,Ys3: list @ A] :
% 0.26/1.44 ( Xs2
% 0.26/1.44 = ( cons @ A @ Y3 @ Ys3 ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_67_list_Oinducts,axiom,
% 0.26/1.44 ! [A: $tType,P: ( list @ A ) > $o,List: list @ A] :
% 0.26/1.44 ( ( P @ ( nil @ A ) )
% 0.26/1.44 => ( ! [X1: A,X2: list @ A] :
% 0.26/1.44 ( ( P @ X2 )
% 0.26/1.44 => ( P @ ( cons @ A @ X1 @ X2 ) ) )
% 0.26/1.44 => ( P @ List ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_68_list_Oexhaust,axiom,
% 0.26/1.44 ! [A: $tType,Y: list @ A] :
% 0.26/1.44 ( ( Y
% 0.26/1.44 != ( nil @ A ) )
% 0.26/1.44 => ~ ! [X212: A,X222: list @ A] :
% 0.26/1.44 ( Y
% 0.26/1.44 != ( cons @ A @ X212 @ X222 ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_69_list_OdiscI,axiom,
% 0.26/1.44 ! [A: $tType,List: list @ A,X21: A,X22: list @ A] :
% 0.26/1.44 ( ( List
% 0.26/1.44 = ( cons @ A @ X21 @ X22 ) )
% 0.26/1.44 => ( List
% 0.26/1.44 != ( nil @ A ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_70_list_Odistinct_I1_J,axiom,
% 0.26/1.44 ! [A: $tType,X21: A,X22: list @ A] :
% 0.26/1.44 ( ( nil @ A )
% 0.26/1.44 != ( cons @ A @ X21 @ X22 ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_71_Tree_Opred__mono,axiom,
% 0.26/1.44 ! [A: $tType,P: A > $o,Pa: A > $o] :
% 0.26/1.44 ( ( ord_less_eq @ ( A > $o ) @ P @ Pa )
% 0.26/1.44 => ( ord_less_eq @ ( ( tree @ A ) > $o ) @ ( pred_Tree @ A @ P ) @ ( pred_Tree @ A @ Pa ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_72_siftDown_Osimps_I5_J,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [Vd2: A,Ve2: tree @ A,Vf2: tree @ A,Va2: A,Vb2: tree @ A,Vc2: tree @ A,V2: A] :
% 0.26/1.44 ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.26/1.44 => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.26/1.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.26/1.44 = ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) )
% 0.26/1.44 & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.26/1.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.26/1.44 = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) )
% 0.26/1.44 & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.26/1.44 => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 0.26/1.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.26/1.44 = ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) )
% 0.26/1.44 & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 0.26/1.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.26/1.44 = ( t @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) ) ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_73_siftDown_Osimps_I6_J,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [Va2: A,Vb2: tree @ A,Vc2: tree @ A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A,V2: A] :
% 0.26/1.44 ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.26/1.44 => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 0.26/1.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.26/1.44 = ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) )
% 0.26/1.44 & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 0.26/1.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.26/1.44 = ( t @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) )
% 0.26/1.44 & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.26/1.44 => ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.26/1.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.26/1.44 = ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) )
% 0.26/1.44 & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.26/1.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.26/1.44 = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ) ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_74_Heap_Oremove__max__val,axiom,
% 0.26/1.44 ! [A: $tType,B: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),T3: B,M: A,T4: B] :
% 0.26/1.44 ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.26/1.44 => ( ~ ( Is_empty @ T3 )
% 0.26/1.44 => ( ( ( product_Pair @ A @ B @ M @ T4 )
% 0.26/1.44 = ( Remove_max @ T3 ) )
% 0.26/1.44 => ( M
% 0.26/1.44 = ( val @ A @ ( As_tree @ T3 ) ) ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_75_siftDown_Osimps_I3_J,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [Va2: A,Vb2: tree @ A,Vc2: tree @ A,V2: A] :
% 0.26/1.44 ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.26/1.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 0.26/1.44 = ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) ) )
% 0.26/1.44 & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.26/1.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 0.26/1.44 = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) @ ( e @ A ) ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_76_siftDown_Osimps_I4_J,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [Va2: A,Vb2: tree @ A,Vc2: tree @ A,V2: A] :
% 0.26/1.44 ( ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.26/1.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.26/1.44 = ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) )
% 0.26/1.44 & ( ~ ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.26/1.44 => ( ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.26/1.44 = ( t @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( e @ A ) @ ( heapIm748920189ftDown @ A @ ( t @ A @ V2 @ ( heapIm1271749598e_left @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ ( heapIm1434396069_right @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_77_is__heap_Osimps_I5_J,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [V2: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A] :
% 0.26/1.44 ( ( is_heap @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) )
% 0.26/1.44 = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 0.26/1.44 & ( is_heap @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) )
% 0.26/1.44 & ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.26/1.44 & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_78_is__heap_Osimps_I6_J,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [V2: A,Vd2: A,Ve2: tree @ A,Vf2: tree @ A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 0.26/1.44 ( ( is_heap @ A @ ( t @ A @ V2 @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.26/1.44 = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.26/1.44 & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) )
% 0.26/1.44 & ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) @ V2 )
% 0.26/1.44 & ( is_heap @ A @ ( t @ A @ Vd2 @ Ve2 @ Vf2 ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_79_is__heap__max,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [V2: A,T3: tree @ A] :
% 0.26/1.44 ( ( in_tree @ A @ V2 @ T3 )
% 0.26/1.44 => ( ( is_heap @ A @ T3 )
% 0.26/1.44 => ( ord_less_eq @ A @ V2 @ ( val @ A @ T3 ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_80_val_Osimps,axiom,
% 0.26/1.44 ! [A: $tType,V2: A,Uu: tree @ A,Uv: tree @ A] :
% 0.26/1.44 ( ( val @ A @ ( t @ A @ V2 @ Uu @ Uv ) )
% 0.26/1.44 = V2 ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_81_is__heap_Osimps_I3_J,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [V2: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 0.26/1.44 ( ( is_heap @ A @ ( t @ A @ V2 @ ( e @ A ) @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) )
% 0.26/1.44 = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.26/1.44 & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_82_is__heap_Osimps_I4_J,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [V2: A,Va2: A,Vb2: tree @ A,Vc2: tree @ A] :
% 0.26/1.44 ( ( is_heap @ A @ ( t @ A @ V2 @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) @ ( e @ A ) ) )
% 0.26/1.44 = ( ( ord_less_eq @ A @ ( val @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) @ V2 )
% 0.26/1.44 & ( is_heap @ A @ ( t @ A @ Va2 @ Vb2 @ Vc2 ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_83_siftDown__multiset,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [T3: tree @ A] :
% 0.26/1.44 ( ( multiset2 @ A @ ( heapIm748920189ftDown @ A @ T3 ) )
% 0.26/1.44 = ( multiset2 @ A @ T3 ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_84_old_Oprod_Oinject,axiom,
% 0.26/1.44 ! [A: $tType,B: $tType,A2: A,B2: B,A5: A,B3: B] :
% 0.26/1.44 ( ( ( product_Pair @ A @ B @ A2 @ B2 )
% 0.26/1.44 = ( product_Pair @ A @ B @ A5 @ B3 ) )
% 0.26/1.44 = ( ( A2 = A5 )
% 0.26/1.44 & ( B2 = B3 ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_85_prod_Oinject,axiom,
% 0.26/1.44 ! [A: $tType,B: $tType,X12: A,X24: B,Y1: A,Y24: B] :
% 0.26/1.44 ( ( ( product_Pair @ A @ B @ X12 @ X24 )
% 0.26/1.44 = ( product_Pair @ A @ B @ Y1 @ Y24 ) )
% 0.26/1.44 = ( ( X12 = Y1 )
% 0.26/1.44 & ( X24 = Y24 ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_86_order__refl,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( preorder @ A )
% 0.26/1.44 => ! [X: A] : ( ord_less_eq @ A @ X @ X ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_87_Heap__axioms_Ointro,axiom,
% 0.26/1.44 ! [A: $tType,B: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [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.26/1.44 ( ! [L5: B] :
% 0.26/1.44 ( ( Multiset @ L5 )
% 0.26/1.44 = ( multiset2 @ A @ ( As_tree @ L5 ) ) )
% 0.26/1.44 => ( ! [I2: list @ A] : ( is_heap @ A @ ( As_tree @ ( Of_list @ I2 ) ) )
% 0.26/1.44 => ( ! [T5: B] :
% 0.26/1.44 ( ( ( As_tree @ T5 )
% 0.26/1.44 = ( e @ A ) )
% 0.26/1.44 = ( Is_empty @ T5 ) )
% 0.26/1.44 => ( ! [L5: B,M2: A,L4: B] :
% 0.26/1.44 ( ~ ( Is_empty @ L5 )
% 0.26/1.44 => ( ( ( product_Pair @ A @ B @ M2 @ L4 )
% 0.26/1.44 = ( Remove_max @ L5 ) )
% 0.26/1.44 => ( ( add_mset @ A @ M2 @ ( Multiset @ L4 ) )
% 0.26/1.44 = ( Multiset @ L5 ) ) ) )
% 0.26/1.44 => ( ! [L5: B,M2: A,L4: B] :
% 0.26/1.44 ( ~ ( Is_empty @ L5 )
% 0.26/1.44 => ( ( is_heap @ A @ ( As_tree @ L5 ) )
% 0.26/1.44 => ( ( ( product_Pair @ A @ B @ M2 @ L4 )
% 0.26/1.44 = ( Remove_max @ L5 ) )
% 0.26/1.44 => ( is_heap @ A @ ( As_tree @ L4 ) ) ) ) )
% 0.26/1.44 => ( ! [T5: B,M2: A,T6: B] :
% 0.26/1.44 ( ~ ( Is_empty @ T5 )
% 0.26/1.44 => ( ( ( product_Pair @ A @ B @ M2 @ T6 )
% 0.26/1.44 = ( Remove_max @ T5 ) )
% 0.26/1.44 => ( M2
% 0.26/1.44 = ( val @ A @ ( As_tree @ T5 ) ) ) ) )
% 0.26/1.44 => ( heap_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max ) ) ) ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_88_Heap__axioms__def,axiom,
% 0.26/1.44 ! [A: $tType,B: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ( ( heap_axioms @ B @ A )
% 0.26/1.44 = ( ^ [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.26/1.44 ( ! [L2: B] :
% 0.26/1.44 ( ( Multiset2 @ L2 )
% 0.26/1.44 = ( multiset2 @ A @ ( As_tree2 @ L2 ) ) )
% 0.26/1.44 & ! [I3: list @ A] : ( is_heap @ A @ ( As_tree2 @ ( Of_list2 @ I3 ) ) )
% 0.26/1.44 & ! [T2: B] :
% 0.26/1.44 ( ( ( As_tree2 @ T2 )
% 0.26/1.44 = ( e @ A ) )
% 0.26/1.44 = ( Is_empty2 @ T2 ) )
% 0.26/1.44 & ! [L2: B,M3: A,L6: B] :
% 0.26/1.44 ( ~ ( Is_empty2 @ L2 )
% 0.26/1.44 => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 0.26/1.44 = ( Remove_max2 @ L2 ) )
% 0.26/1.44 => ( ( add_mset @ A @ M3 @ ( Multiset2 @ L6 ) )
% 0.26/1.44 = ( Multiset2 @ L2 ) ) ) )
% 0.26/1.44 & ! [L2: B,M3: A,L6: B] :
% 0.26/1.44 ( ~ ( Is_empty2 @ L2 )
% 0.26/1.44 => ( ( is_heap @ A @ ( As_tree2 @ L2 ) )
% 0.26/1.44 => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 0.26/1.44 = ( Remove_max2 @ L2 ) )
% 0.26/1.44 => ( is_heap @ A @ ( As_tree2 @ L6 ) ) ) ) )
% 0.26/1.44 & ! [T2: B,M3: A,T7: B] :
% 0.26/1.44 ( ~ ( Is_empty2 @ T2 )
% 0.26/1.44 => ( ( ( product_Pair @ A @ B @ M3 @ T7 )
% 0.26/1.44 = ( Remove_max2 @ T2 ) )
% 0.26/1.44 => ( M3
% 0.26/1.44 = ( val @ A @ ( As_tree2 @ T2 ) ) ) ) ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_89_subset__eq__mset__impl_Ocases,axiom,
% 0.26/1.44 ! [A: $tType,X: product_prod @ ( list @ A ) @ ( list @ A )] :
% 0.26/1.44 ( ! [Ys: list @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ys ) )
% 0.26/1.44 => ~ ! [X4: A,Xs: list @ A,Ys: list @ A] :
% 0.26/1.44 ( X
% 0.26/1.44 != ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X4 @ Xs ) @ Ys ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_90_insert__Nil,axiom,
% 0.26/1.44 ! [A: $tType,X: A] :
% 0.26/1.44 ( ( insert @ A @ X @ ( nil @ A ) )
% 0.26/1.44 = ( cons @ A @ X @ ( nil @ A ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_91_Heap_Ointro,axiom,
% 0.26/1.44 ! [A: $tType,B: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [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.26/1.44 ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 0.26/1.44 => ( ( heap_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.26/1.44 => ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_92_add__mset__add__mset__same__iff,axiom,
% 0.26/1.44 ! [A: $tType,A2: A,A4: multiset @ A,B4: multiset @ A] :
% 0.26/1.44 ( ( ( add_mset @ A @ A2 @ A4 )
% 0.26/1.44 = ( add_mset @ A @ A2 @ B4 ) )
% 0.26/1.44 = ( A4 = B4 ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_93_multi__self__add__other__not__self,axiom,
% 0.26/1.44 ! [A: $tType,M4: multiset @ A,X: A] :
% 0.26/1.44 ( M4
% 0.26/1.44 != ( add_mset @ A @ X @ M4 ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_94_predicate1I,axiom,
% 0.26/1.44 ! [A: $tType,P: A > $o,Q: A > $o] :
% 0.26/1.44 ( ! [X4: A] :
% 0.26/1.44 ( ( P @ X4 )
% 0.26/1.44 => ( Q @ X4 ) )
% 0.26/1.44 => ( ord_less_eq @ ( A > $o ) @ P @ Q ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_95_rev__predicate1D,axiom,
% 0.26/1.44 ! [A: $tType,P: A > $o,X: A,Q: A > $o] :
% 0.26/1.44 ( ( P @ X )
% 0.26/1.44 => ( ( ord_less_eq @ ( A > $o ) @ P @ Q )
% 0.26/1.44 => ( Q @ X ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_96_predicate1D,axiom,
% 0.26/1.44 ! [A: $tType,P: A > $o,Q: A > $o,X: A] :
% 0.26/1.44 ( ( ord_less_eq @ ( A > $o ) @ P @ Q )
% 0.26/1.44 => ( ( P @ X )
% 0.26/1.44 => ( Q @ X ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_97_add__eq__conv__ex,axiom,
% 0.26/1.44 ! [A: $tType,A2: A,M4: multiset @ A,B2: A,N: multiset @ A] :
% 0.26/1.44 ( ( ( add_mset @ A @ A2 @ M4 )
% 0.26/1.44 = ( add_mset @ A @ B2 @ N ) )
% 0.26/1.44 = ( ( ( M4 = N )
% 0.26/1.44 & ( A2 = B2 ) )
% 0.26/1.44 | ? [K: multiset @ A] :
% 0.26/1.44 ( ( M4
% 0.26/1.44 = ( add_mset @ A @ B2 @ K ) )
% 0.26/1.44 & ( N
% 0.26/1.44 = ( add_mset @ A @ A2 @ K ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_98_add__mset__commute,axiom,
% 0.26/1.44 ! [A: $tType,X: A,Y: A,M4: multiset @ A] :
% 0.26/1.44 ( ( add_mset @ A @ X @ ( add_mset @ A @ Y @ M4 ) )
% 0.26/1.44 = ( add_mset @ A @ Y @ ( add_mset @ A @ X @ M4 ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_99_Heap_Oaxioms_I1_J,axiom,
% 0.26/1.44 ! [A: $tType,B: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [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.26/1.44 ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.26/1.44 => ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_100_Heap_Oremove__max__multiset_H,axiom,
% 0.26/1.44 ! [A: $tType,B: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),As_tree: B > ( tree @ A ),Remove_max: B > ( product_prod @ A @ B ),L: B,M: A,L3: B] :
% 0.26/1.44 ( ( heap @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ As_tree @ Remove_max )
% 0.26/1.44 => ( ~ ( Is_empty @ L )
% 0.26/1.44 => ( ( ( product_Pair @ A @ B @ M @ L3 )
% 0.26/1.44 = ( Remove_max @ L ) )
% 0.26/1.44 => ( ( add_mset @ A @ M @ ( Multiset @ L3 ) )
% 0.26/1.44 = ( Multiset @ L ) ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_101_le__funD,axiom,
% 0.26/1.44 ! [B: $tType,A: $tType] :
% 0.26/1.44 ( ( ord @ B )
% 0.26/1.44 => ! [F3: A > B,G: A > B,X: A] :
% 0.26/1.44 ( ( ord_less_eq @ ( A > B ) @ F3 @ G )
% 0.26/1.44 => ( ord_less_eq @ B @ ( F3 @ X ) @ ( G @ X ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_102_le__funE,axiom,
% 0.26/1.44 ! [B: $tType,A: $tType] :
% 0.26/1.44 ( ( ord @ B )
% 0.26/1.44 => ! [F3: A > B,G: A > B,X: A] :
% 0.26/1.44 ( ( ord_less_eq @ ( A > B ) @ F3 @ G )
% 0.26/1.44 => ( ord_less_eq @ B @ ( F3 @ X ) @ ( G @ X ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_103_le__funI,axiom,
% 0.26/1.44 ! [B: $tType,A: $tType] :
% 0.26/1.44 ( ( ord @ B )
% 0.26/1.44 => ! [F3: A > B,G: A > B] :
% 0.26/1.44 ( ! [X4: A] : ( ord_less_eq @ B @ ( F3 @ X4 ) @ ( G @ X4 ) )
% 0.26/1.44 => ( ord_less_eq @ ( A > B ) @ F3 @ G ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_104_le__fun__def,axiom,
% 0.26/1.44 ! [B: $tType,A: $tType] :
% 0.26/1.44 ( ( ord @ B )
% 0.26/1.44 => ( ( ord_less_eq @ ( A > B ) )
% 0.26/1.44 = ( ^ [F4: A > B,G2: A > B] :
% 0.26/1.44 ! [X5: A] : ( ord_less_eq @ B @ ( F4 @ X5 ) @ ( G2 @ X5 ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_105_order__subst1,axiom,
% 0.26/1.44 ! [A: $tType,B: $tType] :
% 0.26/1.44 ( ( ( order @ B )
% 0.26/1.44 & ( order @ A ) )
% 0.26/1.44 => ! [A2: A,F3: B > A,B2: B,C2: B] :
% 0.26/1.44 ( ( ord_less_eq @ A @ A2 @ ( F3 @ B2 ) )
% 0.26/1.44 => ( ( ord_less_eq @ B @ B2 @ C2 )
% 0.26/1.44 => ( ! [X4: B,Y2: B] :
% 0.26/1.44 ( ( ord_less_eq @ B @ X4 @ Y2 )
% 0.26/1.44 => ( ord_less_eq @ A @ ( F3 @ X4 ) @ ( F3 @ Y2 ) ) )
% 0.26/1.44 => ( ord_less_eq @ A @ A2 @ ( F3 @ C2 ) ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_106_order__subst2,axiom,
% 0.26/1.44 ! [A: $tType,C: $tType] :
% 0.26/1.44 ( ( ( order @ C )
% 0.26/1.44 & ( order @ A ) )
% 0.26/1.44 => ! [A2: A,B2: A,F3: A > C,C2: C] :
% 0.26/1.44 ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.26/1.44 => ( ( ord_less_eq @ C @ ( F3 @ B2 ) @ C2 )
% 0.26/1.44 => ( ! [X4: A,Y2: A] :
% 0.26/1.44 ( ( ord_less_eq @ A @ X4 @ Y2 )
% 0.26/1.44 => ( ord_less_eq @ C @ ( F3 @ X4 ) @ ( F3 @ Y2 ) ) )
% 0.26/1.44 => ( ord_less_eq @ C @ ( F3 @ A2 ) @ C2 ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_107_ord__eq__le__subst,axiom,
% 0.26/1.44 ! [A: $tType,B: $tType] :
% 0.26/1.44 ( ( ( ord @ B )
% 0.26/1.44 & ( ord @ A ) )
% 0.26/1.44 => ! [A2: A,F3: B > A,B2: B,C2: B] :
% 0.26/1.44 ( ( A2
% 0.26/1.44 = ( F3 @ B2 ) )
% 0.26/1.44 => ( ( ord_less_eq @ B @ B2 @ C2 )
% 0.26/1.44 => ( ! [X4: B,Y2: B] :
% 0.26/1.44 ( ( ord_less_eq @ B @ X4 @ Y2 )
% 0.26/1.44 => ( ord_less_eq @ A @ ( F3 @ X4 ) @ ( F3 @ Y2 ) ) )
% 0.26/1.44 => ( ord_less_eq @ A @ A2 @ ( F3 @ C2 ) ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_108_ord__le__eq__subst,axiom,
% 0.26/1.44 ! [A: $tType,B: $tType] :
% 0.26/1.44 ( ( ( ord @ B )
% 0.26/1.44 & ( ord @ A ) )
% 0.26/1.44 => ! [A2: A,B2: A,F3: A > B,C2: B] :
% 0.26/1.44 ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.26/1.44 => ( ( ( F3 @ B2 )
% 0.26/1.44 = C2 )
% 0.26/1.44 => ( ! [X4: A,Y2: A] :
% 0.26/1.44 ( ( ord_less_eq @ A @ X4 @ Y2 )
% 0.26/1.44 => ( ord_less_eq @ B @ ( F3 @ X4 ) @ ( F3 @ Y2 ) ) )
% 0.26/1.44 => ( ord_less_eq @ B @ ( F3 @ A2 ) @ C2 ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_109_eq__iff,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( order @ A )
% 0.26/1.44 => ( ( ^ [Y4: A,Z: A] : ( Y4 = Z ) )
% 0.26/1.44 = ( ^ [X5: A,Y3: A] :
% 0.26/1.44 ( ( ord_less_eq @ A @ X5 @ Y3 )
% 0.26/1.44 & ( ord_less_eq @ A @ Y3 @ X5 ) ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_110_antisym,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( order @ A )
% 0.26/1.44 => ! [X: A,Y: A] :
% 0.26/1.44 ( ( ord_less_eq @ A @ X @ Y )
% 0.26/1.44 => ( ( ord_less_eq @ A @ Y @ X )
% 0.26/1.44 => ( X = Y ) ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_111_linear,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [X: A,Y: A] :
% 0.26/1.44 ( ( ord_less_eq @ A @ X @ Y )
% 0.26/1.44 | ( ord_less_eq @ A @ Y @ X ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_112_eq__refl,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( preorder @ A )
% 0.26/1.44 => ! [X: A,Y: A] :
% 0.26/1.44 ( ( X = Y )
% 0.26/1.44 => ( ord_less_eq @ A @ X @ Y ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_113_le__cases,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( linorder @ A )
% 0.26/1.44 => ! [X: A,Y: A] :
% 0.26/1.44 ( ~ ( ord_less_eq @ A @ X @ Y )
% 0.26/1.44 => ( ord_less_eq @ A @ Y @ X ) ) ) ).
% 0.26/1.44
% 0.26/1.44 thf(fact_114_order_Otrans,axiom,
% 0.26/1.44 ! [A: $tType] :
% 0.26/1.44 ( ( order @ A )
% 0.26/1.44 => ! [A2: A,B2: A,C2: A] :
% 0.26/1.44 ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.26/1.45 => ( ( ord_less_eq @ A @ B2 @ C2 )
% 0.26/1.45 => ( ord_less_eq @ A @ A2 @ C2 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_115_le__cases3,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ! [X: A,Y: A,Z2: A] :
% 0.26/1.45 ( ( ( ord_less_eq @ A @ X @ Y )
% 0.26/1.45 => ~ ( ord_less_eq @ A @ Y @ Z2 ) )
% 0.26/1.45 => ( ( ( ord_less_eq @ A @ Y @ X )
% 0.26/1.45 => ~ ( ord_less_eq @ A @ X @ Z2 ) )
% 0.26/1.45 => ( ( ( ord_less_eq @ A @ X @ Z2 )
% 0.26/1.45 => ~ ( ord_less_eq @ A @ Z2 @ Y ) )
% 0.26/1.45 => ( ( ( ord_less_eq @ A @ Z2 @ Y )
% 0.26/1.45 => ~ ( ord_less_eq @ A @ Y @ X ) )
% 0.26/1.45 => ( ( ( ord_less_eq @ A @ Y @ Z2 )
% 0.26/1.45 => ~ ( ord_less_eq @ A @ Z2 @ X ) )
% 0.26/1.45 => ~ ( ( ord_less_eq @ A @ Z2 @ X )
% 0.26/1.45 => ~ ( ord_less_eq @ A @ X @ Y ) ) ) ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_116_antisym__conv,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( order @ A )
% 0.26/1.45 => ! [Y: A,X: A] :
% 0.26/1.45 ( ( ord_less_eq @ A @ Y @ X )
% 0.26/1.45 => ( ( ord_less_eq @ A @ X @ Y )
% 0.26/1.45 = ( X = Y ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_117_order__class_Oorder_Oeq__iff,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( order @ A )
% 0.26/1.45 => ( ( ^ [Y4: A,Z: A] : ( Y4 = Z ) )
% 0.26/1.45 = ( ^ [A6: A,B5: A] :
% 0.26/1.45 ( ( ord_less_eq @ A @ A6 @ B5 )
% 0.26/1.45 & ( ord_less_eq @ A @ B5 @ A6 ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_118_ord__eq__le__trans,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( ord @ A )
% 0.26/1.45 => ! [A2: A,B2: A,C2: A] :
% 0.26/1.45 ( ( A2 = B2 )
% 0.26/1.45 => ( ( ord_less_eq @ A @ B2 @ C2 )
% 0.26/1.45 => ( ord_less_eq @ A @ A2 @ C2 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_119_ord__le__eq__trans,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( ord @ A )
% 0.26/1.45 => ! [A2: A,B2: A,C2: A] :
% 0.26/1.45 ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.26/1.45 => ( ( B2 = C2 )
% 0.26/1.45 => ( ord_less_eq @ A @ A2 @ C2 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_120_order__class_Oorder_Oantisym,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( order @ A )
% 0.26/1.45 => ! [A2: A,B2: A] :
% 0.26/1.45 ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.26/1.45 => ( ( ord_less_eq @ A @ B2 @ A2 )
% 0.26/1.45 => ( A2 = B2 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_121_order__trans,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( preorder @ A )
% 0.26/1.45 => ! [X: A,Y: A,Z2: A] :
% 0.26/1.45 ( ( ord_less_eq @ A @ X @ Y )
% 0.26/1.45 => ( ( ord_less_eq @ A @ Y @ Z2 )
% 0.26/1.45 => ( ord_less_eq @ A @ X @ Z2 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_122_dual__order_Orefl,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( order @ A )
% 0.26/1.45 => ! [A2: A] : ( ord_less_eq @ A @ A2 @ A2 ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_123_linorder__wlog,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ! [P: A > A > $o,A2: A,B2: A] :
% 0.26/1.45 ( ! [A3: A,B6: A] :
% 0.26/1.45 ( ( ord_less_eq @ A @ A3 @ B6 )
% 0.26/1.45 => ( P @ A3 @ B6 ) )
% 0.26/1.45 => ( ! [A3: A,B6: A] :
% 0.26/1.45 ( ( P @ B6 @ A3 )
% 0.26/1.45 => ( P @ A3 @ B6 ) )
% 0.26/1.45 => ( P @ A2 @ B2 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_124_dual__order_Otrans,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( order @ A )
% 0.26/1.45 => ! [B2: A,A2: A,C2: A] :
% 0.26/1.45 ( ( ord_less_eq @ A @ B2 @ A2 )
% 0.26/1.45 => ( ( ord_less_eq @ A @ C2 @ B2 )
% 0.26/1.45 => ( ord_less_eq @ A @ C2 @ A2 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_125_dual__order_Oeq__iff,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( order @ A )
% 0.26/1.45 => ( ( ^ [Y4: A,Z: A] : ( Y4 = Z ) )
% 0.26/1.45 = ( ^ [A6: A,B5: A] :
% 0.26/1.45 ( ( ord_less_eq @ A @ B5 @ A6 )
% 0.26/1.45 & ( ord_less_eq @ A @ A6 @ B5 ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_126_dual__order_Oantisym,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( order @ A )
% 0.26/1.45 => ! [B2: A,A2: A] :
% 0.26/1.45 ( ( ord_less_eq @ A @ B2 @ A2 )
% 0.26/1.45 => ( ( ord_less_eq @ A @ A2 @ B2 )
% 0.26/1.45 => ( A2 = B2 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_127_surj__pair,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType,P3: product_prod @ A @ B] :
% 0.26/1.45 ? [X4: A,Y2: B] :
% 0.26/1.45 ( P3
% 0.26/1.45 = ( product_Pair @ A @ B @ X4 @ Y2 ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_128_prod__cases,axiom,
% 0.26/1.45 ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P3: product_prod @ A @ B] :
% 0.26/1.45 ( ! [A3: A,B6: B] : ( P @ ( product_Pair @ A @ B @ A3 @ B6 ) )
% 0.26/1.45 => ( P @ P3 ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_129_Pair__inject,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType,A2: A,B2: B,A5: A,B3: B] :
% 0.26/1.45 ( ( ( product_Pair @ A @ B @ A2 @ B2 )
% 0.26/1.45 = ( product_Pair @ A @ B @ A5 @ B3 ) )
% 0.26/1.45 => ~ ( ( A2 = A5 )
% 0.26/1.45 => ( B2 != B3 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_130_prod__cases3,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType,C: $tType,Y: product_prod @ A @ ( product_prod @ B @ C )] :
% 0.26/1.45 ~ ! [A3: A,B6: B,C3: C] :
% 0.26/1.45 ( Y
% 0.26/1.45 != ( product_Pair @ A @ ( product_prod @ B @ C ) @ A3 @ ( product_Pair @ B @ C @ B6 @ C3 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_131_prod__cases4,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType,C: $tType,D: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) )] :
% 0.26/1.45 ~ ! [A3: A,B6: B,C3: C,D2: D] :
% 0.26/1.45 ( Y
% 0.26/1.45 != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A3 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B6 @ ( product_Pair @ C @ D @ C3 @ D2 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_132_prod__cases5,axiom,
% 0.26/1.45 ! [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.26/1.45 ~ ! [A3: A,B6: B,C3: C,D2: D,E2: E] :
% 0.26/1.45 ( Y
% 0.26/1.45 != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A3 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B6 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C3 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_133_prod__cases6,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F5: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F5 ) ) ) )] :
% 0.26/1.45 ~ ! [A3: A,B6: B,C3: C,D2: D,E2: E,F: F5] :
% 0.26/1.45 ( Y
% 0.26/1.45 != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F5 ) ) ) ) @ A3 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F5 ) ) ) @ B6 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F5 ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ F5 ) @ D2 @ ( product_Pair @ E @ F5 @ E2 @ F ) ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_134_prod__cases7,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType,C: $tType,D: $tType,E: $tType,F5: $tType,G3: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) ) ) )] :
% 0.26/1.45 ~ ! [A3: A,B6: B,C3: C,D2: D,E2: E,F: F5,G4: G3] :
% 0.26/1.45 ( Y
% 0.26/1.45 != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) ) ) ) @ A3 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) ) ) @ B6 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F5 @ G3 ) @ E2 @ ( product_Pair @ F5 @ G3 @ F @ G4 ) ) ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_135_prod__induct3,axiom,
% 0.26/1.45 ! [C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ C )] :
% 0.26/1.45 ( ! [A3: A,B6: B,C3: C] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A3 @ ( product_Pair @ B @ C @ B6 @ C3 ) ) )
% 0.26/1.45 => ( P @ X ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_136_prod__induct4,axiom,
% 0.26/1.45 ! [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.26/1.45 ( ! [A3: A,B6: B,C3: C,D2: D] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D ) ) @ A3 @ ( product_Pair @ B @ ( product_prod @ C @ D ) @ B6 @ ( product_Pair @ C @ D @ C3 @ D2 ) ) ) )
% 0.26/1.45 => ( P @ X ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_137_prod__induct5,axiom,
% 0.26/1.45 ! [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.26/1.45 ( ! [A3: A,B6: B,C3: C,D2: D,E2: E] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) ) @ A3 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ E ) ) @ B6 @ ( product_Pair @ C @ ( product_prod @ D @ E ) @ C3 @ ( product_Pair @ D @ E @ D2 @ E2 ) ) ) ) )
% 0.26/1.45 => ( P @ X ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_138_prod__induct6,axiom,
% 0.26/1.45 ! [F5: $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 @ F5 ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F5 ) ) ) )] :
% 0.26/1.45 ( ! [A3: A,B6: B,C3: C,D2: D,E2: E,F: F5] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F5 ) ) ) ) @ A3 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ F5 ) ) ) @ B6 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ F5 ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ F5 ) @ D2 @ ( product_Pair @ E @ F5 @ E2 @ F ) ) ) ) ) )
% 0.26/1.45 => ( P @ X ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_139_prod__induct7,axiom,
% 0.26/1.45 ! [G3: $tType,F5: $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 @ F5 @ G3 ) ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) ) ) )] :
% 0.26/1.45 ( ! [A3: A,B6: B,C3: C,D2: D,E2: E,F: F5,G4: G3] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) ) ) ) @ A3 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) ) ) @ B6 @ ( product_Pair @ C @ ( product_prod @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) ) @ C3 @ ( product_Pair @ D @ ( product_prod @ E @ ( product_prod @ F5 @ G3 ) ) @ D2 @ ( product_Pair @ E @ ( product_prod @ F5 @ G3 ) @ E2 @ ( product_Pair @ F5 @ G3 @ F @ G4 ) ) ) ) ) ) )
% 0.26/1.45 => ( P @ X ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_140_old_Oprod_Oexhaust,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType,Y: product_prod @ A @ B] :
% 0.26/1.45 ~ ! [A3: A,B6: B] :
% 0.26/1.45 ( Y
% 0.26/1.45 != ( product_Pair @ A @ B @ A3 @ B6 ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_141_old_Oprod_Oinducts,axiom,
% 0.26/1.45 ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
% 0.26/1.45 ( ! [A3: A,B6: B] : ( P @ ( product_Pair @ A @ B @ A3 @ B6 ) )
% 0.26/1.45 => ( P @ Prod ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_142_Heap__def,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ( ( heap @ B @ A )
% 0.26/1.45 = ( ^ [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.26/1.45 ( ( collection @ B @ A @ Empty2 @ Is_empty2 @ Of_list2 @ Multiset2 )
% 0.26/1.45 & ( heap_axioms @ B @ A @ Is_empty2 @ Of_list2 @ Multiset2 @ As_tree2 @ Remove_max2 ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_143_old_Oprod_Orec,axiom,
% 0.26/1.45 ! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A2: A,B2: B] :
% 0.26/1.45 ( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A2 @ B2 ) )
% 0.26/1.45 = ( F1 @ A2 @ B2 ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_144_product__lists_Osimps_I1_J,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( product_lists @ A @ ( nil @ ( list @ A ) ) )
% 0.26/1.45 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_145_subseqs_Osimps_I1_J,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( subseqs @ A @ ( nil @ A ) )
% 0.26/1.45 = ( cons @ ( list @ A ) @ ( nil @ A ) @ ( nil @ ( list @ A ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_146_part__code_I1_J,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ! [F3: B > A,Pivot: A] :
% 0.26/1.45 ( ( linorder_part @ B @ A @ F3 @ Pivot @ ( nil @ B ) )
% 0.26/1.45 = ( product_Pair @ ( list @ B ) @ ( product_prod @ ( list @ B ) @ ( list @ B ) ) @ ( nil @ B ) @ ( product_Pair @ ( list @ B ) @ ( list @ B ) @ ( nil @ B ) @ ( nil @ B ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_147_listrel_Oinducts,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType,X12: list @ A,X24: list @ B,R: set @ ( product_prod @ A @ B ),P: ( list @ A ) > ( list @ B ) > $o] :
% 0.26/1.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ X12 @ X24 ) @ ( listrel @ A @ B @ R ) )
% 0.26/1.45 => ( ( P @ ( nil @ A ) @ ( nil @ B ) )
% 0.26/1.45 => ( ! [X4: A,Y2: B,Xs: list @ A,Ys: list @ B] :
% 0.26/1.45 ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y2 ) @ R )
% 0.26/1.45 => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ Ys ) @ ( listrel @ A @ B @ R ) )
% 0.26/1.45 => ( ( P @ Xs @ Ys )
% 0.26/1.45 => ( P @ ( cons @ A @ X4 @ Xs ) @ ( cons @ B @ Y2 @ Ys ) ) ) ) )
% 0.26/1.45 => ( P @ X12 @ X24 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_148_listrel__mono,axiom,
% 0.26/1.45 ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),S: set @ ( product_prod @ A @ B )] :
% 0.26/1.45 ( ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R @ S )
% 0.26/1.45 => ( ord_less_eq @ ( set @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) ) @ ( listrel @ A @ B @ R ) @ ( listrel @ A @ B @ S ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_149_listrel_ONil,axiom,
% 0.26/1.45 ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B )] : ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ ( nil @ B ) ) @ ( listrel @ A @ B @ R ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_150_listrel__Nil1,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType,Xs2: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.26/1.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( nil @ A ) @ Xs2 ) @ ( listrel @ A @ B @ R ) )
% 0.26/1.45 => ( Xs2
% 0.26/1.45 = ( nil @ B ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_151_listrel__Nil2,axiom,
% 0.26/1.45 ! [B: $tType,A: $tType,Xs2: list @ A,R: set @ ( product_prod @ A @ B )] :
% 0.26/1.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ ( nil @ B ) ) @ ( listrel @ A @ B @ R ) )
% 0.26/1.45 => ( Xs2
% 0.26/1.45 = ( nil @ A ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_152_listrel__Cons2,axiom,
% 0.26/1.45 ! [B: $tType,A: $tType,Xs2: list @ A,Y: B,Ys2: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.26/1.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ ( cons @ B @ Y @ Ys2 ) ) @ ( listrel @ A @ B @ R ) )
% 0.26/1.45 => ~ ! [X4: A,Xs: list @ A] :
% 0.26/1.45 ( ( Xs2
% 0.26/1.45 = ( cons @ A @ X4 @ Xs ) )
% 0.26/1.45 => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y ) @ R )
% 0.26/1.45 => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ Ys2 ) @ ( listrel @ A @ B @ R ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_153_listrel__Cons1,axiom,
% 0.26/1.45 ! [B: $tType,A: $tType,Y: A,Ys2: list @ A,Xs2: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.26/1.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ Y @ Ys2 ) @ Xs2 ) @ ( listrel @ A @ B @ R ) )
% 0.26/1.45 => ~ ! [Y2: B,Ys: list @ B] :
% 0.26/1.45 ( ( Xs2
% 0.26/1.45 = ( cons @ B @ Y2 @ Ys ) )
% 0.26/1.45 => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ Y @ Y2 ) @ R )
% 0.26/1.45 => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Ys2 @ Ys ) @ ( listrel @ A @ B @ R ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_154_listrel_OCons,axiom,
% 0.26/1.45 ! [B: $tType,A: $tType,X: A,Y: B,R: set @ ( product_prod @ A @ B ),Xs2: list @ A,Ys2: list @ B] :
% 0.26/1.45 ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X @ Y ) @ R )
% 0.26/1.45 => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs2 @ Ys2 ) @ ( listrel @ A @ B @ R ) )
% 0.26/1.45 => ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ B @ Y @ Ys2 ) ) @ ( listrel @ A @ B @ R ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_155_listrel_Ocases,axiom,
% 0.26/1.45 ! [B: $tType,A: $tType,A1: list @ A,A22: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.26/1.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ A1 @ A22 ) @ ( listrel @ A @ B @ R ) )
% 0.26/1.45 => ( ( ( A1
% 0.26/1.45 = ( nil @ A ) )
% 0.26/1.45 => ( A22
% 0.26/1.45 != ( nil @ B ) ) )
% 0.26/1.45 => ~ ! [X4: A,Y2: B,Xs: list @ A] :
% 0.26/1.45 ( ( A1
% 0.26/1.45 = ( cons @ A @ X4 @ Xs ) )
% 0.26/1.45 => ! [Ys: list @ B] :
% 0.26/1.45 ( ( A22
% 0.26/1.45 = ( cons @ B @ Y2 @ Ys ) )
% 0.26/1.45 => ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y2 ) @ R )
% 0.26/1.45 => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs @ Ys ) @ ( listrel @ A @ B @ R ) ) ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_156_listrel_Osimps,axiom,
% 0.26/1.45 ! [B: $tType,A: $tType,A1: list @ A,A22: list @ B,R: set @ ( product_prod @ A @ B )] :
% 0.26/1.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ A1 @ A22 ) @ ( listrel @ A @ B @ R ) )
% 0.26/1.45 = ( ( ( A1
% 0.26/1.45 = ( nil @ A ) )
% 0.26/1.45 & ( A22
% 0.26/1.45 = ( nil @ B ) ) )
% 0.26/1.45 | ? [X5: A,Y3: B,Xs3: list @ A,Ys3: list @ B] :
% 0.26/1.45 ( ( A1
% 0.26/1.45 = ( cons @ A @ X5 @ Xs3 ) )
% 0.26/1.45 & ( A22
% 0.26/1.45 = ( cons @ B @ Y3 @ Ys3 ) )
% 0.26/1.45 & ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X5 @ Y3 ) @ R )
% 0.26/1.45 & ( member @ ( product_prod @ ( list @ A ) @ ( list @ B ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ B ) @ Xs3 @ Ys3 ) @ ( listrel @ A @ B @ R ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_157_internal__case__prod__conv,axiom,
% 0.26/1.45 ! [B: $tType,A: $tType,C: $tType,C2: B > C > A,A2: B,B2: C] :
% 0.26/1.45 ( ( produc2004651681e_prod @ B @ C @ A @ C2 @ ( product_Pair @ B @ C @ A2 @ B2 ) )
% 0.26/1.45 = ( C2 @ A2 @ B2 ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_158_list__ex1__simps_I1_J,axiom,
% 0.26/1.45 ! [A: $tType,P: A > $o] :
% 0.26/1.45 ~ ( list_ex1 @ A @ P @ ( nil @ A ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_159_Collection_Ois__empty__empty,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType,Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A )] :
% 0.26/1.45 ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 0.26/1.45 => ( Is_empty @ Empty ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_160_Collection_Ois__empty__inj,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType,Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),E3: B] :
% 0.26/1.45 ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 0.26/1.45 => ( ( Is_empty @ E3 )
% 0.26/1.45 => ( E3 = Empty ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_161_subset__antisym,axiom,
% 0.26/1.45 ! [A: $tType,A4: set @ A,B4: set @ A] :
% 0.26/1.45 ( ( ord_less_eq @ ( set @ A ) @ A4 @ B4 )
% 0.26/1.45 => ( ( ord_less_eq @ ( set @ A ) @ B4 @ A4 )
% 0.26/1.45 => ( A4 = B4 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_162_subsetI,axiom,
% 0.26/1.45 ! [A: $tType,A4: set @ A,B4: set @ A] :
% 0.26/1.45 ( ! [X4: A] :
% 0.26/1.45 ( ( member @ A @ X4 @ A4 )
% 0.26/1.45 => ( member @ A @ X4 @ B4 ) )
% 0.26/1.45 => ( ord_less_eq @ ( set @ A ) @ A4 @ B4 ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_163_subrelI,axiom,
% 0.26/1.45 ! [B: $tType,A: $tType,R: set @ ( product_prod @ A @ B ),S: set @ ( product_prod @ A @ B )] :
% 0.26/1.45 ( ! [X4: A,Y2: B] :
% 0.26/1.45 ( ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y2 ) @ R )
% 0.26/1.45 => ( member @ ( product_prod @ A @ B ) @ ( product_Pair @ A @ B @ X4 @ Y2 ) @ S ) )
% 0.26/1.45 => ( ord_less_eq @ ( set @ ( product_prod @ A @ B ) ) @ R @ S ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_164_in__mono,axiom,
% 0.26/1.45 ! [A: $tType,A4: set @ A,B4: set @ A,X: A] :
% 0.26/1.45 ( ( ord_less_eq @ ( set @ A ) @ A4 @ B4 )
% 0.26/1.45 => ( ( member @ A @ X @ A4 )
% 0.26/1.45 => ( member @ A @ X @ B4 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_165_subsetD,axiom,
% 0.26/1.45 ! [A: $tType,A4: set @ A,B4: set @ A,C2: A] :
% 0.26/1.45 ( ( ord_less_eq @ ( set @ A ) @ A4 @ B4 )
% 0.26/1.45 => ( ( member @ A @ C2 @ A4 )
% 0.26/1.45 => ( member @ A @ C2 @ B4 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_166_equalityE,axiom,
% 0.26/1.45 ! [A: $tType,A4: set @ A,B4: set @ A] :
% 0.26/1.45 ( ( A4 = B4 )
% 0.26/1.45 => ~ ( ( ord_less_eq @ ( set @ A ) @ A4 @ B4 )
% 0.26/1.45 => ~ ( ord_less_eq @ ( set @ A ) @ B4 @ A4 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_167_subset__eq,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( ord_less_eq @ ( set @ A ) )
% 0.26/1.45 = ( ^ [A7: set @ A,B7: set @ A] :
% 0.26/1.45 ! [X5: A] :
% 0.26/1.45 ( ( member @ A @ X5 @ A7 )
% 0.26/1.45 => ( member @ A @ X5 @ B7 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_168_equalityD1,axiom,
% 0.26/1.45 ! [A: $tType,A4: set @ A,B4: set @ A] :
% 0.26/1.45 ( ( A4 = B4 )
% 0.26/1.45 => ( ord_less_eq @ ( set @ A ) @ A4 @ B4 ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_169_equalityD2,axiom,
% 0.26/1.45 ! [A: $tType,A4: set @ A,B4: set @ A] :
% 0.26/1.45 ( ( A4 = B4 )
% 0.26/1.45 => ( ord_less_eq @ ( set @ A ) @ B4 @ A4 ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_170_subset__iff,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( ord_less_eq @ ( set @ A ) )
% 0.26/1.45 = ( ^ [A7: set @ A,B7: set @ A] :
% 0.26/1.45 ! [T2: A] :
% 0.26/1.45 ( ( member @ A @ T2 @ A7 )
% 0.26/1.45 => ( member @ A @ T2 @ B7 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_171_subset__refl,axiom,
% 0.26/1.45 ! [A: $tType,A4: set @ A] : ( ord_less_eq @ ( set @ A ) @ A4 @ A4 ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_172_Collect__mono,axiom,
% 0.26/1.45 ! [A: $tType,P: A > $o,Q: A > $o] :
% 0.26/1.45 ( ! [X4: A] :
% 0.26/1.45 ( ( P @ X4 )
% 0.26/1.45 => ( Q @ X4 ) )
% 0.26/1.45 => ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_173_subset__trans,axiom,
% 0.26/1.45 ! [A: $tType,A4: set @ A,B4: set @ A,C4: set @ A] :
% 0.26/1.45 ( ( ord_less_eq @ ( set @ A ) @ A4 @ B4 )
% 0.26/1.45 => ( ( ord_less_eq @ ( set @ A ) @ B4 @ C4 )
% 0.26/1.45 => ( ord_less_eq @ ( set @ A ) @ A4 @ C4 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_174_set__eq__subset,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( ^ [Y4: set @ A,Z: set @ A] : ( Y4 = Z ) )
% 0.26/1.45 = ( ^ [A7: set @ A,B7: set @ A] :
% 0.26/1.45 ( ( ord_less_eq @ ( set @ A ) @ A7 @ B7 )
% 0.26/1.45 & ( ord_less_eq @ ( set @ A ) @ B7 @ A7 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_175_Collect__mono__iff,axiom,
% 0.26/1.45 ! [A: $tType,P: A > $o,Q: A > $o] :
% 0.26/1.45 ( ( ord_less_eq @ ( set @ A ) @ ( collect @ A @ P ) @ ( collect @ A @ Q ) )
% 0.26/1.45 = ( ! [X5: A] :
% 0.26/1.45 ( ( P @ X5 )
% 0.26/1.45 => ( Q @ X5 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_176_lexord__Nil__left,axiom,
% 0.26/1.45 ! [A: $tType,Y: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.26/1.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Y ) @ ( lexord @ A @ R ) )
% 0.26/1.45 = ( ? [A6: A,X5: list @ A] :
% 0.26/1.45 ( Y
% 0.26/1.45 = ( cons @ A @ A6 @ X5 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_177_lexord__cons__cons,axiom,
% 0.26/1.45 ! [A: $tType,A2: A,X: list @ A,B2: A,Y: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.26/1.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ A2 @ X ) @ ( cons @ A @ B2 @ Y ) ) @ ( lexord @ A @ R ) )
% 0.26/1.45 = ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ B2 ) @ R )
% 0.26/1.45 | ( ( A2 = B2 )
% 0.26/1.45 & ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lexord @ A @ R ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_178_heap__top__geq,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ! [A2: A,T3: tree @ A] :
% 0.26/1.45 ( ( member @ A @ A2 @ ( set_mset @ A @ ( multiset2 @ A @ T3 ) ) )
% 0.26/1.45 => ( ( is_heap @ A @ T3 )
% 0.26/1.45 => ( ord_less_eq @ A @ A2 @ ( val @ A @ T3 ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_179_union__single__eq__member,axiom,
% 0.26/1.45 ! [A: $tType,X: A,M4: multiset @ A,N: multiset @ A] :
% 0.26/1.45 ( ( ( add_mset @ A @ X @ M4 )
% 0.26/1.45 = N )
% 0.26/1.45 => ( member @ A @ X @ ( set_mset @ A @ N ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_180_insert__noteq__member,axiom,
% 0.26/1.45 ! [A: $tType,B2: A,B4: multiset @ A,C2: A,C4: multiset @ A] :
% 0.26/1.45 ( ( ( add_mset @ A @ B2 @ B4 )
% 0.26/1.45 = ( add_mset @ A @ C2 @ C4 ) )
% 0.26/1.45 => ( ( B2 != C2 )
% 0.26/1.45 => ( member @ A @ C2 @ ( set_mset @ A @ B4 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_181_multi__member__split,axiom,
% 0.26/1.45 ! [A: $tType,X: A,M4: multiset @ A] :
% 0.26/1.45 ( ( member @ A @ X @ ( set_mset @ A @ M4 ) )
% 0.26/1.45 => ? [A8: multiset @ A] :
% 0.26/1.45 ( M4
% 0.26/1.45 = ( add_mset @ A @ X @ A8 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_182_mset__add,axiom,
% 0.26/1.45 ! [A: $tType,A2: A,A4: multiset @ A] :
% 0.26/1.45 ( ( member @ A @ A2 @ ( set_mset @ A @ A4 ) )
% 0.26/1.45 => ~ ! [B8: multiset @ A] :
% 0.26/1.45 ( A4
% 0.26/1.45 != ( add_mset @ A @ A2 @ B8 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_183_lexord__linear,axiom,
% 0.26/1.45 ! [A: $tType,R: set @ ( product_prod @ A @ A ),X: list @ A,Y: list @ A] :
% 0.26/1.45 ( ! [A3: A,B6: A] :
% 0.26/1.45 ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ B6 ) @ R )
% 0.26/1.45 | ( A3 = B6 )
% 0.26/1.45 | ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ B6 @ A3 ) @ R ) )
% 0.26/1.45 => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ Y ) @ ( lexord @ A @ R ) )
% 0.26/1.45 | ( X = Y )
% 0.26/1.45 | ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Y @ X ) @ ( lexord @ A @ R ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_184_lexord__irreflexive,axiom,
% 0.26/1.45 ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs2: list @ A] :
% 0.26/1.45 ( ! [X4: A] :
% 0.26/1.45 ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X4 @ X4 ) @ R )
% 0.26/1.45 => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Xs2 ) @ ( lexord @ A @ R ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_185_lexord__Nil__right,axiom,
% 0.26/1.45 ! [A: $tType,X: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.26/1.45 ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ ( nil @ A ) ) @ ( lexord @ A @ R ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_186_heap__top__max,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ! [T3: tree @ A] :
% 0.26/1.45 ( ( T3
% 0.26/1.45 != ( e @ A ) )
% 0.26/1.45 => ( ( is_heap @ A @ T3 )
% 0.26/1.45 => ( ( val @ A @ T3 )
% 0.26/1.45 = ( lattic929149872er_Max @ A @ ( set_mset @ A @ ( multiset2 @ A @ T3 ) ) ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_187_Collection_Oset__def,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType,Empty: B,Is_empty: B > $o,Of_list: ( list @ A ) > B,Multiset: B > ( multiset @ A ),L: B] :
% 0.26/1.45 ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 0.26/1.45 => ( ( set2 @ B @ A @ Multiset @ L )
% 0.26/1.45 = ( set_mset @ A @ ( Multiset @ L ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_188_Cons__listrel1__Cons,axiom,
% 0.26/1.45 ! [A: $tType,X: A,Xs2: list @ A,Y: A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.26/1.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y @ Ys2 ) ) @ ( listrel1 @ A @ R ) )
% 0.26/1.45 = ( ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 0.26/1.45 & ( Xs2 = Ys2 ) )
% 0.26/1.45 | ( ( X = Y )
% 0.26/1.45 & ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_189_Collection_Oset_Ocong,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType] :
% 0.26/1.45 ( ( set2 @ B @ A )
% 0.26/1.45 = ( set2 @ B @ A ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_190_listrel1I2,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A ),X: A] :
% 0.26/1.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 0.26/1.45 => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ X @ Ys2 ) ) @ ( listrel1 @ A @ R ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_191_not__Nil__listrel1,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.26/1.45 ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Xs2 ) @ ( listrel1 @ A @ R ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_192_not__listrel1__Nil,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.26/1.45 ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ ( nil @ A ) ) @ ( listrel1 @ A @ R ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_193_listrel1__mono,axiom,
% 0.26/1.45 ! [A: $tType,R: set @ ( product_prod @ A @ A ),S: set @ ( product_prod @ A @ A )] :
% 0.26/1.45 ( ( ord_less_eq @ ( set @ ( product_prod @ A @ A ) ) @ R @ S )
% 0.26/1.45 => ( ord_less_eq @ ( set @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) ) @ ( listrel1 @ A @ R ) @ ( listrel1 @ A @ S ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_194_Cons__listrel1E2,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A,Y: A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.26/1.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ ( cons @ A @ Y @ Ys2 ) ) @ ( listrel1 @ A @ R ) )
% 0.26/1.45 => ( ! [X4: A] :
% 0.26/1.45 ( ( Xs2
% 0.26/1.45 = ( cons @ A @ X4 @ Ys2 ) )
% 0.26/1.45 => ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X4 @ Y ) @ R ) )
% 0.26/1.45 => ~ ! [Zs: list @ A] :
% 0.26/1.45 ( ( Xs2
% 0.26/1.45 = ( cons @ A @ Y @ Zs ) )
% 0.26/1.45 => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Zs @ Ys2 ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_195_Cons__listrel1E1,axiom,
% 0.26/1.45 ! [A: $tType,X: A,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.26/1.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 0.26/1.45 => ( ! [Y2: A] :
% 0.26/1.45 ( ( Ys2
% 0.26/1.45 = ( cons @ A @ Y2 @ Xs2 ) )
% 0.26/1.45 => ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y2 ) @ R ) )
% 0.26/1.45 => ~ ! [Zs: list @ A] :
% 0.26/1.45 ( ( Ys2
% 0.26/1.45 = ( cons @ A @ X @ Zs ) )
% 0.26/1.45 => ~ ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Zs ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_196_listrel1I1,axiom,
% 0.26/1.45 ! [A: $tType,X: A,Y: A,R: set @ ( product_prod @ A @ A ),Xs2: list @ A] :
% 0.26/1.45 ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 0.26/1.45 => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( cons @ A @ X @ Xs2 ) @ ( cons @ A @ Y @ Xs2 ) ) @ ( listrel1 @ A @ R ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_197_RemoveMax__axioms_Ointro,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ! [Inv: B > $o,Of_list: ( list @ A ) > B,Is_empty: B > $o,Remove_max: B > ( product_prod @ A @ B ),Multiset: B > ( multiset @ A )] :
% 0.26/1.45 ( ! [X4: list @ A] : ( Inv @ ( Of_list @ X4 ) )
% 0.26/1.45 => ( ! [L5: B,M2: A,L4: B] :
% 0.26/1.45 ( ~ ( Is_empty @ L5 )
% 0.26/1.45 => ( ( Inv @ L5 )
% 0.26/1.45 => ( ( ( product_Pair @ A @ B @ M2 @ L4 )
% 0.26/1.45 = ( Remove_max @ L5 ) )
% 0.26/1.45 => ( M2
% 0.26/1.45 = ( lattic929149872er_Max @ A @ ( set2 @ B @ A @ Multiset @ L5 ) ) ) ) ) )
% 0.26/1.45 => ( ! [L5: B,M2: A,L4: B] :
% 0.26/1.45 ( ~ ( Is_empty @ L5 )
% 0.26/1.45 => ( ( Inv @ L5 )
% 0.26/1.45 => ( ( ( product_Pair @ A @ B @ M2 @ L4 )
% 0.26/1.45 = ( Remove_max @ L5 ) )
% 0.26/1.45 => ( ( add_mset @ A @ M2 @ ( Multiset @ L4 ) )
% 0.26/1.45 = ( Multiset @ L5 ) ) ) ) )
% 0.26/1.45 => ( ! [L5: B,M2: A,L4: B] :
% 0.26/1.45 ( ~ ( Is_empty @ L5 )
% 0.26/1.45 => ( ( Inv @ L5 )
% 0.26/1.45 => ( ( ( product_Pair @ A @ B @ M2 @ L4 )
% 0.26/1.45 = ( Remove_max @ L5 ) )
% 0.26/1.45 => ( Inv @ L4 ) ) ) )
% 0.26/1.45 => ( removeMax_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv ) ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_198_RemoveMax__axioms__def,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ( ( removeMax_axioms @ B @ A )
% 0.26/1.45 = ( ^ [Is_empty2: B > $o,Of_list2: ( list @ A ) > B,Multiset2: B > ( multiset @ A ),Remove_max2: B > ( product_prod @ A @ B ),Inv2: B > $o] :
% 0.26/1.45 ( ! [X5: list @ A] : ( Inv2 @ ( Of_list2 @ X5 ) )
% 0.26/1.45 & ! [L2: B,M3: A,L6: B] :
% 0.26/1.45 ( ~ ( Is_empty2 @ L2 )
% 0.26/1.45 => ( ( Inv2 @ L2 )
% 0.26/1.45 => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 0.26/1.45 = ( Remove_max2 @ L2 ) )
% 0.26/1.45 => ( M3
% 0.26/1.45 = ( lattic929149872er_Max @ A @ ( set2 @ B @ A @ Multiset2 @ L2 ) ) ) ) ) )
% 0.26/1.45 & ! [L2: B,M3: A,L6: B] :
% 0.26/1.45 ( ~ ( Is_empty2 @ L2 )
% 0.26/1.45 => ( ( Inv2 @ L2 )
% 0.26/1.45 => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 0.26/1.45 = ( Remove_max2 @ L2 ) )
% 0.26/1.45 => ( ( add_mset @ A @ M3 @ ( Multiset2 @ L6 ) )
% 0.26/1.45 = ( Multiset2 @ L2 ) ) ) ) )
% 0.26/1.45 & ! [L2: B,M3: A,L6: B] :
% 0.26/1.45 ( ~ ( Is_empty2 @ L2 )
% 0.26/1.45 => ( ( Inv2 @ L2 )
% 0.26/1.45 => ( ( ( product_Pair @ A @ B @ M3 @ L6 )
% 0.26/1.45 = ( Remove_max2 @ L2 ) )
% 0.26/1.45 => ( Inv2 @ L6 ) ) ) ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_199_snoc__listrel1__snoc__iff,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A,X: A,Ys2: list @ A,Y: A,R: set @ ( product_prod @ A @ A )] :
% 0.26/1.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) ) @ ( append @ A @ Ys2 @ ( cons @ A @ Y @ ( nil @ A ) ) ) ) @ ( listrel1 @ A @ R ) )
% 0.26/1.45 = ( ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 0.26/1.45 & ( X = Y ) )
% 0.26/1.45 | ( ( Xs2 = Ys2 )
% 0.26/1.45 & ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_200_RemoveMax_Oremove__max__max,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ! [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,L3: B] :
% 0.26/1.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/1.45 => ( ~ ( Is_empty @ L )
% 0.26/1.45 => ( ( Inv @ L )
% 0.26/1.45 => ( ( ( product_Pair @ A @ B @ M @ L3 )
% 0.26/1.45 = ( Remove_max @ L ) )
% 0.26/1.45 => ( M
% 0.26/1.45 = ( lattic929149872er_Max @ A @ ( set2 @ B @ A @ Multiset @ L ) ) ) ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_201_append_Oassoc,axiom,
% 0.26/1.45 ! [A: $tType,A2: list @ A,B2: list @ A,C2: list @ A] :
% 0.26/1.45 ( ( append @ A @ ( append @ A @ A2 @ B2 ) @ C2 )
% 0.26/1.45 = ( append @ A @ A2 @ ( append @ A @ B2 @ C2 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_202_append__assoc,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 0.26/1.45 ( ( append @ A @ ( append @ A @ Xs2 @ Ys2 ) @ Zs2 )
% 0.26/1.45 = ( append @ A @ Xs2 @ ( append @ A @ Ys2 @ Zs2 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_203_append__same__eq,axiom,
% 0.26/1.45 ! [A: $tType,Ys2: list @ A,Xs2: list @ A,Zs2: list @ A] :
% 0.26/1.45 ( ( ( append @ A @ Ys2 @ Xs2 )
% 0.26/1.45 = ( append @ A @ Zs2 @ Xs2 ) )
% 0.26/1.45 = ( Ys2 = Zs2 ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_204_same__append__eq,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 0.26/1.45 ( ( ( append @ A @ Xs2 @ Ys2 )
% 0.26/1.45 = ( append @ A @ Xs2 @ Zs2 ) )
% 0.26/1.45 = ( Ys2 = Zs2 ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_205_append__Nil2,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A] :
% 0.26/1.45 ( ( append @ A @ Xs2 @ ( nil @ A ) )
% 0.26/1.45 = Xs2 ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_206_append__self__conv,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.26/1.45 ( ( ( append @ A @ Xs2 @ Ys2 )
% 0.26/1.45 = Xs2 )
% 0.26/1.45 = ( Ys2
% 0.26/1.45 = ( nil @ A ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_207_self__append__conv,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.26/1.45 ( ( Xs2
% 0.26/1.45 = ( append @ A @ Xs2 @ Ys2 ) )
% 0.26/1.45 = ( Ys2
% 0.26/1.45 = ( nil @ A ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_208_append__self__conv2,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.26/1.45 ( ( ( append @ A @ Xs2 @ Ys2 )
% 0.26/1.45 = Ys2 )
% 0.26/1.45 = ( Xs2
% 0.26/1.45 = ( nil @ A ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_209_self__append__conv2,axiom,
% 0.26/1.45 ! [A: $tType,Ys2: list @ A,Xs2: list @ A] :
% 0.26/1.45 ( ( Ys2
% 0.26/1.45 = ( append @ A @ Xs2 @ Ys2 ) )
% 0.26/1.45 = ( Xs2
% 0.26/1.45 = ( nil @ A ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_210_Nil__is__append__conv,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.26/1.45 ( ( ( nil @ A )
% 0.26/1.45 = ( append @ A @ Xs2 @ Ys2 ) )
% 0.26/1.45 = ( ( Xs2
% 0.26/1.45 = ( nil @ A ) )
% 0.26/1.45 & ( Ys2
% 0.26/1.45 = ( nil @ A ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_211_append__is__Nil__conv,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.26/1.45 ( ( ( append @ A @ Xs2 @ Ys2 )
% 0.26/1.45 = ( nil @ A ) )
% 0.26/1.45 = ( ( Xs2
% 0.26/1.45 = ( nil @ A ) )
% 0.26/1.45 & ( Ys2
% 0.26/1.45 = ( nil @ A ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_212_append_Oright__neutral,axiom,
% 0.26/1.45 ! [A: $tType,A2: list @ A] :
% 0.26/1.45 ( ( append @ A @ A2 @ ( nil @ A ) )
% 0.26/1.45 = A2 ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_213_append1__eq__conv,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A,X: A,Ys2: list @ A,Y: A] :
% 0.26/1.45 ( ( ( append @ A @ Xs2 @ ( cons @ A @ X @ ( nil @ A ) ) )
% 0.26/1.45 = ( append @ A @ Ys2 @ ( cons @ A @ Y @ ( nil @ A ) ) ) )
% 0.26/1.45 = ( ( Xs2 = Ys2 )
% 0.26/1.45 & ( X = Y ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_214_RemoveMax_Oaxioms_I2_J,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ! [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.26/1.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/1.45 => ( removeMax_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_215_lexord__append__leftI,axiom,
% 0.26/1.45 ! [A: $tType,U: list @ A,V2: list @ A,R: set @ ( product_prod @ A @ A ),X: list @ A] :
% 0.26/1.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ U @ V2 ) @ ( lexord @ A @ R ) )
% 0.26/1.45 => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ X @ U ) @ ( append @ A @ X @ V2 ) ) @ ( lexord @ A @ R ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_216_rev__nonempty__induct,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A,P: ( list @ A ) > $o] :
% 0.26/1.45 ( ( Xs2
% 0.26/1.45 != ( nil @ A ) )
% 0.26/1.45 => ( ! [X4: A] : ( P @ ( cons @ A @ X4 @ ( nil @ A ) ) )
% 0.26/1.45 => ( ! [X4: A,Xs: list @ A] :
% 0.26/1.45 ( ( Xs
% 0.26/1.45 != ( nil @ A ) )
% 0.26/1.45 => ( ( P @ Xs )
% 0.26/1.45 => ( P @ ( append @ A @ Xs @ ( cons @ A @ X4 @ ( nil @ A ) ) ) ) ) )
% 0.26/1.45 => ( P @ Xs2 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_217_append__eq__Cons__conv,axiom,
% 0.26/1.45 ! [A: $tType,Ys2: list @ A,Zs2: list @ A,X: A,Xs2: list @ A] :
% 0.26/1.45 ( ( ( append @ A @ Ys2 @ Zs2 )
% 0.26/1.45 = ( cons @ A @ X @ Xs2 ) )
% 0.26/1.45 = ( ( ( Ys2
% 0.26/1.45 = ( nil @ A ) )
% 0.26/1.45 & ( Zs2
% 0.26/1.45 = ( cons @ A @ X @ Xs2 ) ) )
% 0.26/1.45 | ? [Ys4: list @ A] :
% 0.26/1.45 ( ( Ys2
% 0.26/1.45 = ( cons @ A @ X @ Ys4 ) )
% 0.26/1.45 & ( ( append @ A @ Ys4 @ Zs2 )
% 0.26/1.45 = Xs2 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_218_Cons__eq__append__conv,axiom,
% 0.26/1.45 ! [A: $tType,X: A,Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 0.26/1.45 ( ( ( cons @ A @ X @ Xs2 )
% 0.26/1.45 = ( append @ A @ Ys2 @ Zs2 ) )
% 0.26/1.45 = ( ( ( Ys2
% 0.26/1.45 = ( nil @ A ) )
% 0.26/1.45 & ( ( cons @ A @ X @ Xs2 )
% 0.26/1.45 = Zs2 ) )
% 0.26/1.45 | ? [Ys4: list @ A] :
% 0.26/1.45 ( ( ( cons @ A @ X @ Ys4 )
% 0.26/1.45 = Ys2 )
% 0.26/1.45 & ( Xs2
% 0.26/1.45 = ( append @ A @ Ys4 @ Zs2 ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_219_rev__exhaust,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A] :
% 0.26/1.45 ( ( Xs2
% 0.26/1.45 != ( nil @ A ) )
% 0.26/1.45 => ~ ! [Ys: list @ A,Y2: A] :
% 0.26/1.45 ( Xs2
% 0.26/1.45 != ( append @ A @ Ys @ ( cons @ A @ Y2 @ ( nil @ A ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_220_rev__induct,axiom,
% 0.26/1.45 ! [A: $tType,P: ( list @ A ) > $o,Xs2: list @ A] :
% 0.26/1.45 ( ( P @ ( nil @ A ) )
% 0.26/1.45 => ( ! [X4: A,Xs: list @ A] :
% 0.26/1.45 ( ( P @ Xs )
% 0.26/1.45 => ( P @ ( append @ A @ Xs @ ( cons @ A @ X4 @ ( nil @ A ) ) ) ) )
% 0.26/1.45 => ( P @ Xs2 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_221_RemoveMax_Oremove__max__inv,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ! [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,L3: B] :
% 0.26/1.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/1.45 => ( ~ ( Is_empty @ L )
% 0.26/1.45 => ( ( Inv @ L )
% 0.26/1.45 => ( ( ( product_Pair @ A @ B @ M @ L3 )
% 0.26/1.45 = ( Remove_max @ L ) )
% 0.26/1.45 => ( Inv @ L3 ) ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_222_RemoveMax_Oof__list__inv,axiom,
% 0.26/1.45 ! [B: $tType,A: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ! [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.26/1.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/1.45 => ( Inv @ ( Of_list @ X ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_223_RemoveMax_Oaxioms_I1_J,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ! [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.26/1.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/1.45 => ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_224_append__eq__appendI,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A,Xs1: list @ A,Zs2: list @ A,Ys2: list @ A,Us: list @ A] :
% 0.26/1.45 ( ( ( append @ A @ Xs2 @ Xs1 )
% 0.26/1.45 = Zs2 )
% 0.26/1.45 => ( ( Ys2
% 0.26/1.45 = ( append @ A @ Xs1 @ Us ) )
% 0.26/1.45 => ( ( append @ A @ Xs2 @ Ys2 )
% 0.26/1.45 = ( append @ A @ Zs2 @ Us ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_225_append__eq__append__conv2,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A,Zs2: list @ A,Ts: list @ A] :
% 0.26/1.45 ( ( ( append @ A @ Xs2 @ Ys2 )
% 0.26/1.45 = ( append @ A @ Zs2 @ Ts ) )
% 0.26/1.45 = ( ? [Us2: list @ A] :
% 0.26/1.45 ( ( ( Xs2
% 0.26/1.45 = ( append @ A @ Zs2 @ Us2 ) )
% 0.26/1.45 & ( ( append @ A @ Us2 @ Ys2 )
% 0.26/1.45 = Ts ) )
% 0.26/1.45 | ( ( ( append @ A @ Xs2 @ Us2 )
% 0.26/1.45 = Zs2 )
% 0.26/1.45 & ( Ys2
% 0.26/1.45 = ( append @ A @ Us2 @ Ts ) ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_226_eq__Nil__appendI,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A] :
% 0.26/1.45 ( ( Xs2 = Ys2 )
% 0.26/1.45 => ( Xs2
% 0.26/1.45 = ( append @ A @ ( nil @ A ) @ Ys2 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_227_append__Nil,axiom,
% 0.26/1.45 ! [A: $tType,Ys2: list @ A] :
% 0.26/1.45 ( ( append @ A @ ( nil @ A ) @ Ys2 )
% 0.26/1.45 = Ys2 ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_228_append_Oleft__neutral,axiom,
% 0.26/1.45 ! [A: $tType,A2: list @ A] :
% 0.26/1.45 ( ( append @ A @ ( nil @ A ) @ A2 )
% 0.26/1.45 = A2 ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_229_Cons__eq__appendI,axiom,
% 0.26/1.45 ! [A: $tType,X: A,Xs1: list @ A,Ys2: list @ A,Xs2: list @ A,Zs2: list @ A] :
% 0.26/1.45 ( ( ( cons @ A @ X @ Xs1 )
% 0.26/1.45 = Ys2 )
% 0.26/1.45 => ( ( Xs2
% 0.26/1.45 = ( append @ A @ Xs1 @ Zs2 ) )
% 0.26/1.45 => ( ( cons @ A @ X @ Xs2 )
% 0.26/1.45 = ( append @ A @ Ys2 @ Zs2 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_230_append__Cons,axiom,
% 0.26/1.45 ! [A: $tType,X: A,Xs2: list @ A,Ys2: list @ A] :
% 0.26/1.45 ( ( append @ A @ ( cons @ A @ X @ Xs2 ) @ Ys2 )
% 0.26/1.45 = ( cons @ A @ X @ ( append @ A @ Xs2 @ Ys2 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_231_append__listrel1I,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A ),Us: list @ A,Vs: list @ A] :
% 0.26/1.45 ( ( ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 0.26/1.45 & ( Us = Vs ) )
% 0.26/1.45 | ( ( Xs2 = Ys2 )
% 0.26/1.45 & ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Us @ Vs ) @ ( listrel1 @ A @ R ) ) ) )
% 0.26/1.45 => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ Us ) @ ( append @ A @ Ys2 @ Vs ) ) @ ( listrel1 @ A @ R ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_232_RemoveMax_Oremove__max__multiset,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ! [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,L3: B] :
% 0.26/1.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/1.45 => ( ~ ( Is_empty @ L )
% 0.26/1.45 => ( ( Inv @ L )
% 0.26/1.45 => ( ( ( product_Pair @ A @ B @ M @ L3 )
% 0.26/1.45 = ( Remove_max @ L ) )
% 0.26/1.45 => ( ( add_mset @ A @ M @ ( Multiset @ L3 ) )
% 0.26/1.45 = ( Multiset @ L ) ) ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_233_lexord__append__leftD,axiom,
% 0.26/1.45 ! [A: $tType,X: list @ A,U: list @ A,V2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.26/1.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ X @ U ) @ ( append @ A @ X @ V2 ) ) @ ( lexord @ A @ R ) )
% 0.26/1.45 => ( ! [A3: A] :
% 0.26/1.45 ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ A3 ) @ R )
% 0.26/1.45 => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ U @ V2 ) @ ( lexord @ A @ R ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_234_lexord__append__rightI,axiom,
% 0.26/1.45 ! [A: $tType,Y: list @ A,X: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.26/1.45 ( ? [B9: A,Z3: list @ A] :
% 0.26/1.45 ( Y
% 0.26/1.45 = ( cons @ A @ B9 @ Z3 ) )
% 0.26/1.45 => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ X @ ( append @ A @ X @ Y ) ) @ ( lexord @ A @ R ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_235_RemoveMax_Ointro,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ! [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.26/1.45 ( ( collection @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset )
% 0.26/1.45 => ( ( removeMax_axioms @ B @ A @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/1.45 => ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_236_RemoveMax__def,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ( ( removeMax @ B @ A )
% 0.26/1.45 = ( ^ [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.26/1.45 ( ( collection @ B @ A @ Empty2 @ Is_empty2 @ Of_list2 @ Multiset2 )
% 0.26/1.45 & ( removeMax_axioms @ B @ A @ Is_empty2 @ Of_list2 @ Multiset2 @ Remove_max2 @ Inv2 ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_237_listrel1E,axiom,
% 0.26/1.45 ! [A: $tType,Xs2: list @ A,Ys2: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.26/1.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) )
% 0.26/1.45 => ~ ! [X4: A,Y2: A] :
% 0.26/1.45 ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X4 @ Y2 ) @ R )
% 0.26/1.45 => ! [Us3: list @ A,Vs2: list @ A] :
% 0.26/1.45 ( ( Xs2
% 0.26/1.45 = ( append @ A @ Us3 @ ( cons @ A @ X4 @ Vs2 ) ) )
% 0.26/1.45 => ( Ys2
% 0.26/1.45 != ( append @ A @ Us3 @ ( cons @ A @ Y2 @ Vs2 ) ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_238_listrel1I,axiom,
% 0.26/1.45 ! [A: $tType,X: A,Y: A,R: set @ ( product_prod @ A @ A ),Xs2: list @ A,Us: list @ A,Vs: list @ A,Ys2: list @ A] :
% 0.26/1.45 ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ X @ Y ) @ R )
% 0.26/1.45 => ( ( Xs2
% 0.26/1.45 = ( append @ A @ Us @ ( cons @ A @ X @ Vs ) ) )
% 0.26/1.45 => ( ( Ys2
% 0.26/1.45 = ( append @ A @ Us @ ( cons @ A @ Y @ Vs ) ) )
% 0.26/1.45 => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( listrel1 @ A @ R ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_239_lexord__append__left__rightI,axiom,
% 0.26/1.45 ! [A: $tType,A2: A,B2: A,R: set @ ( product_prod @ A @ A ),U: list @ A,X: list @ A,Y: list @ A] :
% 0.26/1.45 ( ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A2 @ B2 ) @ R )
% 0.26/1.45 => ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ U @ ( cons @ A @ A2 @ X ) ) @ ( append @ A @ U @ ( cons @ A @ B2 @ Y ) ) ) @ ( lexord @ A @ R ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_240_RemoveMax_Ossort_H__dom_Oinducts,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ! [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: product_prod @ B @ ( list @ A ),P: ( product_prod @ B @ ( list @ A ) ) > $o] :
% 0.26/1.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/1.45 => ( ( ssort_dom @ B @ A @ Is_empty @ Remove_max @ X )
% 0.26/1.45 => ( ! [L5: B,Sl: list @ A] :
% 0.26/1.45 ( ! [M5: A,L7: B] :
% 0.26/1.45 ( ~ ( Is_empty @ L5 )
% 0.26/1.45 => ( ( ( product_Pair @ A @ B @ M5 @ L7 )
% 0.26/1.45 = ( Remove_max @ L5 ) )
% 0.26/1.45 => ( ssort_dom @ B @ A @ Is_empty @ Remove_max @ ( product_Pair @ B @ ( list @ A ) @ L7 @ ( cons @ A @ M5 @ Sl ) ) ) ) )
% 0.26/1.45 => ( ! [M5: A,L7: B] :
% 0.26/1.45 ( ~ ( Is_empty @ L5 )
% 0.26/1.45 => ( ( ( product_Pair @ A @ B @ M5 @ L7 )
% 0.26/1.45 = ( Remove_max @ L5 ) )
% 0.26/1.45 => ( P @ ( product_Pair @ B @ ( list @ A ) @ L7 @ ( cons @ A @ M5 @ Sl ) ) ) ) )
% 0.26/1.45 => ( P @ ( product_Pair @ B @ ( list @ A ) @ L5 @ Sl ) ) ) )
% 0.26/1.45 => ( P @ X ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_241_RemoveMax_Ossort_H__dom_Ointros,axiom,
% 0.26/1.45 ! [B: $tType,A: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ! [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,Sl2: list @ A] :
% 0.26/1.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/1.45 => ( ! [M2: A,L4: B] :
% 0.26/1.45 ( ~ ( Is_empty @ L )
% 0.26/1.45 => ( ( ( product_Pair @ A @ B @ M2 @ L4 )
% 0.26/1.45 = ( Remove_max @ L ) )
% 0.26/1.45 => ( ssort_dom @ B @ A @ Is_empty @ Remove_max @ ( product_Pair @ B @ ( list @ A ) @ L4 @ ( cons @ A @ M2 @ Sl2 ) ) ) ) )
% 0.26/1.45 => ( ssort_dom @ B @ A @ Is_empty @ Remove_max @ ( product_Pair @ B @ ( list @ A ) @ L @ Sl2 ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_242_RemoveMax_Ossort_H__dom_Ocong,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ( ( ssort_dom @ B @ A )
% 0.26/1.45 = ( ssort_dom @ B @ A ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_243_RemoveMax_Ossort_H__dom_Ocases,axiom,
% 0.26/1.45 ! [B: $tType,A: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ! [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,A2: product_prod @ B @ ( list @ A )] :
% 0.26/1.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/1.45 => ( ( ssort_dom @ B @ A @ Is_empty @ Remove_max @ A2 )
% 0.26/1.45 => ~ ! [L5: B,Sl: list @ A] :
% 0.26/1.45 ( ( A2
% 0.26/1.45 = ( product_Pair @ B @ ( list @ A ) @ L5 @ Sl ) )
% 0.26/1.45 => ~ ( ~ ( Is_empty @ L5 )
% 0.26/1.45 => ! [M5: A,L7: B] :
% 0.26/1.45 ( ( ( product_Pair @ A @ B @ M5 @ L7 )
% 0.26/1.45 = ( Remove_max @ L5 ) )
% 0.26/1.45 => ( ssort_dom @ B @ A @ Is_empty @ Remove_max @ ( product_Pair @ B @ ( list @ A ) @ L7 @ ( cons @ A @ M5 @ Sl ) ) ) ) ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_244_RemoveMax_Ossort_H__dom_Osimps,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ! [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,A2: product_prod @ B @ ( list @ A )] :
% 0.26/1.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/1.45 => ( ( ssort_dom @ B @ A @ Is_empty @ Remove_max @ A2 )
% 0.26/1.45 = ( ? [L2: B,Sl3: list @ A] :
% 0.26/1.45 ( ( A2
% 0.26/1.45 = ( product_Pair @ B @ ( list @ A ) @ L2 @ Sl3 ) )
% 0.26/1.45 & ! [X5: A,Y3: B] :
% 0.26/1.45 ( ~ ( Is_empty @ L2 )
% 0.26/1.45 => ( ( ( product_Pair @ A @ B @ X5 @ Y3 )
% 0.26/1.45 = ( Remove_max @ L2 ) )
% 0.26/1.45 => ( ssort_dom @ B @ A @ Is_empty @ Remove_max @ ( product_Pair @ B @ ( list @ A ) @ Y3 @ ( cons @ A @ X5 @ Sl3 ) ) ) ) ) ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_245_bind__simps_I2_J,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType,X: B,Xs2: list @ B,F3: B > ( list @ A )] :
% 0.26/1.45 ( ( bind @ B @ A @ ( cons @ B @ X @ Xs2 ) @ F3 )
% 0.26/1.45 = ( append @ A @ ( F3 @ X ) @ ( bind @ B @ A @ Xs2 @ F3 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_246_lexord__same__pref__if__irrefl,axiom,
% 0.26/1.45 ! [A: $tType,R: set @ ( product_prod @ A @ A ),Xs2: list @ A,Ys2: list @ A,Zs2: list @ A] :
% 0.26/1.45 ( ( irrefl @ A @ R )
% 0.26/1.45 => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Xs2 @ Ys2 ) @ ( append @ A @ Xs2 @ Zs2 ) ) @ ( lexord @ A @ R ) )
% 0.26/1.45 = ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Ys2 @ Zs2 ) @ ( lexord @ A @ R ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_247_bind__simps_I1_J,axiom,
% 0.26/1.45 ! [B: $tType,A: $tType,F3: B > ( list @ A )] :
% 0.26/1.45 ( ( bind @ B @ A @ ( nil @ B ) @ F3 )
% 0.26/1.45 = ( nil @ A ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_248_irrefl__def,axiom,
% 0.26/1.45 ! [A: $tType] :
% 0.26/1.45 ( ( irrefl @ A )
% 0.26/1.45 = ( ^ [R3: set @ ( product_prod @ A @ A )] :
% 0.26/1.45 ! [A6: A] :
% 0.26/1.45 ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A6 @ A6 ) @ R3 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_249_irreflI,axiom,
% 0.26/1.45 ! [A: $tType,R4: set @ ( product_prod @ A @ A )] :
% 0.26/1.45 ( ! [A3: A] :
% 0.26/1.45 ~ ( member @ ( product_prod @ A @ A ) @ ( product_Pair @ A @ A @ A3 @ A3 ) @ R4 )
% 0.26/1.45 => ( irrefl @ A @ R4 ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_250_lexord__irrefl,axiom,
% 0.26/1.45 ! [A: $tType,R4: set @ ( product_prod @ A @ A )] :
% 0.26/1.45 ( ( irrefl @ A @ R4 )
% 0.26/1.45 => ( irrefl @ ( list @ A ) @ ( lexord @ A @ R4 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_251_lenlex__append2,axiom,
% 0.26/1.45 ! [A: $tType,R4: set @ ( product_prod @ A @ A ),Us: list @ A,Xs2: list @ A,Ys2: list @ A] :
% 0.26/1.45 ( ( irrefl @ A @ R4 )
% 0.26/1.45 => ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( append @ A @ Us @ Xs2 ) @ ( append @ A @ Us @ Ys2 ) ) @ ( lenlex @ A @ R4 ) )
% 0.26/1.45 = ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ Xs2 @ Ys2 ) @ ( lenlex @ A @ R4 ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_252_RemoveMax_Ossort_HInduct,axiom,
% 0.26/1.45 ! [B: $tType,A: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ! [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,P: B > ( list @ A ) > $o,Sl2: list @ A] :
% 0.26/1.45 ( ( removeMax @ B @ A @ Empty @ Is_empty @ Of_list @ Multiset @ Remove_max @ Inv )
% 0.26/1.45 => ( ( Inv @ L )
% 0.26/1.45 => ( ( P @ L @ Sl2 )
% 0.26/1.45 => ( ! [L5: B,Sl: list @ A,M2: A,L4: B] :
% 0.26/1.45 ( ~ ( Is_empty @ L5 )
% 0.26/1.45 => ( ( Inv @ L5 )
% 0.26/1.45 => ( ( ( product_Pair @ A @ B @ M2 @ L4 )
% 0.26/1.45 = ( Remove_max @ L5 ) )
% 0.26/1.45 => ( ( P @ L5 @ Sl )
% 0.26/1.45 => ( P @ L4 @ ( cons @ A @ M2 @ Sl ) ) ) ) ) )
% 0.26/1.45 => ( P @ Empty @ ( ssort @ B @ A @ Is_empty @ Remove_max @ L @ Sl2 ) ) ) ) ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_253_Nil__lenlex__iff1,axiom,
% 0.26/1.45 ! [A: $tType,Ns: list @ A,R: set @ ( product_prod @ A @ A )] :
% 0.26/1.45 ( ( member @ ( product_prod @ ( list @ A ) @ ( list @ A ) ) @ ( product_Pair @ ( list @ A ) @ ( list @ A ) @ ( nil @ A ) @ Ns ) @ ( lenlex @ A @ R ) )
% 0.26/1.45 = ( Ns
% 0.26/1.45 != ( nil @ A ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(fact_254_RemoveMax_Ossort_H_Ocong,axiom,
% 0.26/1.45 ! [A: $tType,B: $tType] :
% 0.26/1.45 ( ( linorder @ A )
% 0.26/1.45 => ( ( ssort @ B @ A )
% 0.26/1.45 = ( ssort @ B @ A ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(tcon_fun___Orderings_Opreorder,axiom,
% 0.26/1.45 ! [A9: $tType,A10: $tType] :
% 0.26/1.45 ( ( preorder @ A10 )
% 0.26/1.45 => ( preorder @ ( A9 > A10 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(tcon_fun___Orderings_Oorder,axiom,
% 0.26/1.45 ! [A9: $tType,A10: $tType] :
% 0.26/1.45 ( ( order @ A10 )
% 0.26/1.45 => ( order @ ( A9 > A10 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(tcon_fun___Orderings_Oord,axiom,
% 0.26/1.45 ! [A9: $tType,A10: $tType] :
% 0.26/1.45 ( ( ord @ A10 )
% 0.26/1.45 => ( ord @ ( A9 > A10 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(tcon_Set_Oset___Orderings_Opreorder_1,axiom,
% 0.26/1.45 ! [A9: $tType] : ( preorder @ ( set @ A9 ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(tcon_Set_Oset___Orderings_Oorder_2,axiom,
% 0.26/1.45 ! [A9: $tType] : ( order @ ( set @ A9 ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(tcon_Set_Oset___Orderings_Oord_3,axiom,
% 0.26/1.45 ! [A9: $tType] : ( ord @ ( set @ A9 ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(tcon_HOL_Obool___Orderings_Opreorder_4,axiom,
% 0.26/1.45 preorder @ $o ).
% 0.26/1.45
% 0.26/1.45 thf(tcon_HOL_Obool___Orderings_Olinorder,axiom,
% 0.26/1.45 linorder @ $o ).
% 0.26/1.45
% 0.26/1.45 thf(tcon_HOL_Obool___Orderings_Oorder_5,axiom,
% 0.26/1.45 order @ $o ).
% 0.26/1.45
% 0.26/1.45 thf(tcon_HOL_Obool___Orderings_Oord_6,axiom,
% 0.26/1.45 ord @ $o ).
% 0.26/1.45
% 0.26/1.45 thf(tcon_Multiset_Omultiset___Orderings_Opreorder_7,axiom,
% 0.26/1.45 ! [A9: $tType] :
% 0.26/1.45 ( ( preorder @ A9 )
% 0.26/1.45 => ( preorder @ ( multiset @ A9 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(tcon_Multiset_Omultiset___Orderings_Oorder_8,axiom,
% 0.26/1.45 ! [A9: $tType] :
% 0.26/1.45 ( ( preorder @ A9 )
% 0.26/1.45 => ( order @ ( multiset @ A9 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(tcon_Multiset_Omultiset___Orderings_Oord_9,axiom,
% 0.26/1.45 ! [A9: $tType] :
% 0.26/1.45 ( ( preorder @ A9 )
% 0.26/1.45 => ( ord @ ( multiset @ A9 ) ) ) ).
% 0.26/1.45
% 0.26/1.45 thf(conj_0,conjecture,
% 0.26/1.45 heapIm721255937_empty @ b @ ( e @ b ) ).
% 0.26/1.45 ------------------------
% 0.26/1.47 % (15708)lrs+1002_1:8_bd=off:fd=off:hud=10:tnu=1:i=183:si=on:rtra=on_0 on DTF2THF_15600 for (2999ds/183Mi)
% 0.26/1.48 % (15710)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_15600 for (2999ds/27Mi)
% 0.26/1.48 % (15712)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_15600 for (2999ds/2Mi)
% 0.26/1.48 % (15711)lrs+10_1:1_au=on:inj=on:i=2:si=on:rtra=on_0 on DTF2THF_15600 for (2999ds/2Mi)
% 0.26/1.48 % (15709)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_15600 for (2999ds/4Mi)
% 0.26/1.48 % (15713)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_15600 for (2999ds/275Mi)
% 0.26/1.48 % (15714)lrs+1004_1:128_cond=on:e2e=on:sp=weighted_frequency:i=18:si=on:rtra=on_0 on DTF2THF_15600 for (2999ds/18Mi)
% 0.26/1.48 % (15711)Instruction limit reached!
% 0.26/1.48 % (15711)------------------------------
% 0.26/1.48 % (15711)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 0.26/1.48 % (15712)Instruction limit reached!
% 0.26/1.48 % (15712)------------------------------
% 0.26/1.48 % (15712)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 0.26/1.48 % (15711)Termination reason: Unknown
% 0.26/1.48 % (15711)Termination phase: shuffling
% 0.26/1.48
% 0.26/1.48 % (15711)Memory used [KB]: 1407
% 0.26/1.48 % (15711)Time elapsed: 0.003 s
% 0.26/1.48 % (15711)Instructions burned: 3 (million)
% 0.26/1.48 % (15711)------------------------------
% 0.26/1.48 % (15711)------------------------------
% 0.26/1.48 % (15712)Termination reason: Unknown
% 0.26/1.48 % (15712)Termination phase: shuffling
% 0.26/1.48
% 0.26/1.48 % (15712)Memory used [KB]: 1407
% 0.26/1.48 % (15712)Time elapsed: 0.003 s
% 0.26/1.48 % (15712)Instructions burned: 3 (million)
% 0.26/1.48 % (15712)------------------------------
% 0.26/1.48 % (15712)------------------------------
% 0.26/1.48 % (15709)Instruction limit reached!
% 0.26/1.48 % (15709)------------------------------
% 0.26/1.48 % (15709)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 0.26/1.48 % (15709)Termination reason: Unknown
% 0.26/1.48 % (15709)Termination phase: shuffling
% 0.26/1.48
% 0.26/1.48 % (15709)Memory used [KB]: 1535
% 0.26/1.48 % (15709)Time elapsed: 0.004 s
% 0.26/1.48 % (15709)Instructions burned: 5 (million)
% 0.26/1.48 % (15709)------------------------------
% 0.26/1.48 % (15709)------------------------------
% 0.26/1.49 % (15714)Instruction limit reached!
% 0.26/1.49 % (15714)------------------------------
% 0.26/1.49 % (15714)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 0.26/1.49 % (15714)Termination reason: Unknown
% 0.26/1.49 % (15714)Termination phase: shuffling
% 0.26/1.49
% 0.26/1.49 % (15714)Memory used [KB]: 1791
% 0.26/1.49 % (15714)Time elapsed: 0.011 s
% 0.26/1.49 % (15714)Instructions burned: 19 (million)
% 0.26/1.49 % (15714)------------------------------
% 0.26/1.49 % (15714)------------------------------
% 0.26/1.49 % (15710)Instruction limit reached!
% 0.26/1.49 % (15710)------------------------------
% 0.26/1.49 % (15710)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 0.26/1.49 % (15710)Termination reason: Unknown
% 0.26/1.49 % (15710)Termination phase: shuffling
% 0.26/1.49
% 0.26/1.49 % (15710)Memory used [KB]: 2046
% 0.26/1.49 % (15710)Time elapsed: 0.015 s
% 0.26/1.49 % (15710)Instructions burned: 28 (million)
% 0.26/1.49 % (15710)------------------------------
% 0.26/1.49 % (15710)------------------------------
% 0.26/1.50 % (15715)lrs+10_1:1_bet=on:cnfonf=off:fd=off:hud=5:inj=on:i=3:si=on:rtra=on_0 on DTF2THF_15600 for (2999ds/3Mi)
% 0.26/1.50 % (15716)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_15600 for (2999ds/37Mi)
% 0.26/1.50 % (15717)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_15600 for (2999ds/15Mi)
% 2.95/1.50 % (15715)Instruction limit reached!
% 2.95/1.50 % (15715)------------------------------
% 2.95/1.50 % (15715)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.95/1.50 % (15715)Termination reason: Unknown
% 2.95/1.50 % (15715)Termination phase: shuffling
% 2.95/1.50
% 2.95/1.50 % (15715)Memory used [KB]: 1407
% 2.95/1.50 % (15715)Time elapsed: 0.003 s
% 2.95/1.50 % (15715)Instructions burned: 3 (million)
% 2.95/1.50 % (15715)------------------------------
% 2.95/1.50 % (15715)------------------------------
% 2.95/1.50 % (15718)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_15600 for (2999ds/3Mi)
% 2.95/1.50 % (15717)Instruction limit reached!
% 2.95/1.50 % (15717)------------------------------
% 2.95/1.50 % (15717)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.95/1.50 % (15717)Termination reason: Unknown
% 2.95/1.50 % (15717)Termination phase: shuffling
% 2.95/1.50
% 2.95/1.50 % (15717)Memory used [KB]: 1791
% 2.95/1.50 % (15717)Time elapsed: 0.009 s
% 2.95/1.50 % (15717)Instructions burned: 15 (million)
% 2.95/1.50 % (15717)------------------------------
% 2.95/1.50 % (15717)------------------------------
% 2.95/1.50 % (15718)Instruction limit reached!
% 2.95/1.50 % (15718)------------------------------
% 2.95/1.50 % (15718)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.95/1.50 % (15718)Termination reason: Unknown
% 2.95/1.50 % (15718)Termination phase: shuffling
% 2.95/1.50
% 2.95/1.50 % (15718)Memory used [KB]: 1407
% 2.95/1.50 % (15718)Time elapsed: 0.003 s
% 2.95/1.50 % (15718)Instructions burned: 4 (million)
% 2.95/1.50 % (15718)------------------------------
% 2.95/1.50 % (15718)------------------------------
% 2.95/1.51 % (15719)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_15600 for (2999ds/1041Mi)
% 2.95/1.51 % (15716)Instruction limit reached!
% 2.95/1.51 % (15716)------------------------------
% 2.95/1.51 % (15716)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.95/1.51 % (15716)Termination reason: Unknown
% 2.95/1.51 % (15716)Termination phase: shuffling
% 2.95/1.51
% 2.95/1.51 % (15716)Memory used [KB]: 2174
% 2.95/1.51 % (15716)Time elapsed: 0.019 s
% 2.95/1.51 % (15716)Instructions burned: 38 (million)
% 2.95/1.51 % (15716)------------------------------
% 2.95/1.51 % (15716)------------------------------
% 2.95/1.51 % (15720)lrs+10_1:1_av=off:chr=on:plsq=on:slsq=on:i=7:si=on:rtra=on_0 on DTF2THF_15600 for (2999ds/7Mi)
% 2.95/1.52 % (15713)First to succeed.
% 2.95/1.52 % (15720)Instruction limit reached!
% 2.95/1.52 % (15720)------------------------------
% 2.95/1.52 % (15720)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.95/1.52 % (15720)Termination reason: Unknown
% 2.95/1.52 % (15720)Termination phase: shuffling
% 2.95/1.52
% 2.95/1.52 % (15720)Memory used [KB]: 1663
% 2.95/1.52 % (15720)Time elapsed: 0.005 s
% 2.95/1.52 % (15720)Instructions burned: 7 (million)
% 2.95/1.52 % (15720)------------------------------
% 2.95/1.52 % (15720)------------------------------
% 2.95/1.52 % (15713)Refutation found. Thanks to Tanya!
% 2.95/1.52 % SZS status Theorem for DTF2THF_15600
% 2.95/1.52 % SZS output start Proof for DTF2THF_15600
% 2.95/1.52 thf(type_def_5, type, tree: ($tType) > $tType).
% 2.95/1.52 thf(type_def_7, type, list: ($tType) > $tType).
% 2.95/1.52 thf(type_def_8, type, multiset: ($tType) > $tType).
% 2.95/1.52 thf(type_def_9, type, product_prod: ($tType * $tType) > $tType).
% 2.95/1.52 thf(type_def_10, type, set: ($tType) > $tType).
% 2.95/1.52 thf(type_def_11, type, b: $tType).
% 2.95/1.52 thf(func_def_0, type, product_prod: ($tType * $tType) > $tType).
% 2.95/1.52 thf(func_def_1, type, multiset: ($tType) > $tType).
% 2.95/1.52 thf(func_def_2, type, list: ($tType) > $tType).
% 2.95/1.52 thf(func_def_3, type, tree: ($tType) > $tType).
% 2.95/1.52 thf(func_def_4, type, set: ($tType) > $tType).
% 2.95/1.52 thf(func_def_5, type, b: $tType).
% 2.95/1.52 thf(func_def_6, type, type: !>[X0: $tType]:($o)).
% 2.95/1.52 thf(func_def_7, type, ord: !>[X0: $tType]:($o)).
% 2.95/1.52 thf(func_def_8, type, order: !>[X0: $tType]:($o)).
% 2.95/1.52 thf(func_def_9, type, linorder: !>[X0: $tType]:($o)).
% 2.95/1.52 thf(func_def_10, type, preorder: !>[X0: $tType]:($o)).
% 2.95/1.52 thf(func_def_11, type, heapIm818251801eapify: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_12, type, heapIm721255937_empty: !>[X0: $tType]:(tree @ X0 > $o)).
% 2.95/1.52 thf(func_def_13, type, heapIm874063447f_list: !>[X0: $tType]:(list @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_14, type, heapIm1271749598e_left: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_15, type, heapIm1912108042t_tree: !>[X0: $tType]:(list @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_16, type, heapIm1434396069_right: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_17, type, heapIm748920189ftDown: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_18, type, heap: !>[X0: $tType, X1: $tType]:(X0 > (X0 > $o) > (list @ X1 > X0) > (X0 > multiset @ X1) > (X0 > tree @ X1) > (X0 > product_prod @ X1 @ X0) > $o)).
% 2.95/1.52 thf(func_def_19, type, heap_axioms: !>[X0: $tType, X1: $tType]:((X0 > $o) > (list @ X1 > X0) > (X0 > multiset @ X1) > (X0 > tree @ X1) > (X0 > product_prod @ X1 @ X0) > $o)).
% 2.95/1.52 thf(func_def_20, type, e: !>[X0: $tType]:(tree @ X0)).
% 2.95/1.52 thf(func_def_21, type, t: !>[X0: $tType]:(X0 > tree @ X0 > tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_22, type, case_Tree: !>[X0: $tType, X1: $tType]:(X0 > (X1 > tree @ X1 > tree @ X1 > X0) > tree @ X1 > X0)).
% 2.95/1.52 thf(func_def_23, type, pred_Tree: !>[X0: $tType]:((X0 > $o) > tree @ X0 > $o)).
% 2.95/1.52 thf(func_def_24, type, rec_Tree: !>[X0: $tType, X1: $tType]:(X0 > (X1 > tree @ X1 > tree @ X1 > X0 > X0 > X0) > tree @ X1 > X0)).
% 2.95/1.52 thf(func_def_25, type, in_tree: !>[X0: $tType]:(X0 > tree @ X0 > $o)).
% 2.95/1.52 thf(func_def_26, type, is_heap: !>[X0: $tType]:(tree @ X0 > $o)).
% 2.95/1.52 thf(func_def_27, type, multiset2: !>[X0: $tType]:(tree @ X0 > multiset @ X0)).
% 2.95/1.52 thf(func_def_28, type, val: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_29, type, lattic929149872er_Max: !>[X0: $tType]:(set @ X0 > X0)).
% 2.95/1.52 thf(func_def_30, type, append: !>[X0: $tType]:(list @ X0 > list @ X0 > list @ X0)).
% 2.95/1.52 thf(func_def_31, type, bind: !>[X0: $tType, X1: $tType]:(list @ X0 > (X0 > list @ X1) > list @ X1)).
% 2.95/1.52 thf(func_def_32, type, insert: !>[X0: $tType]:(X0 > list @ X0 > list @ X0)).
% 2.95/1.52 thf(func_def_33, type, lenlex: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > set @ product_prod @ list @ X0 @ list @ X0)).
% 2.95/1.52 thf(func_def_34, type, lexord: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > set @ product_prod @ list @ X0 @ list @ X0)).
% 2.95/1.52 thf(func_def_35, type, cons: !>[X0: $tType]:(X0 > list @ X0 > list @ X0)).
% 2.95/1.52 thf(func_def_36, type, nil: !>[X0: $tType]:(list @ X0)).
% 2.95/1.52 thf(func_def_37, type, list_ex1: !>[X0: $tType]:((X0 > $o) > list @ X0 > $o)).
% 2.95/1.52 thf(func_def_38, type, listrel: !>[X0: $tType, X1: $tType]:(set @ product_prod @ X0 @ X1 > set @ product_prod @ list @ X0 @ list @ X1)).
% 2.95/1.52 thf(func_def_39, type, listrel1: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > set @ product_prod @ list @ X0 @ list @ X0)).
% 2.95/1.52 thf(func_def_40, type, product_lists: !>[X0: $tType]:(list @ list @ X0 > list @ list @ X0)).
% 2.95/1.52 thf(func_def_41, type, subseqs: !>[X0: $tType]:(list @ X0 > list @ list @ X0)).
% 2.95/1.52 thf(func_def_42, type, add_mset: !>[X0: $tType]:(X0 > multiset @ X0 > multiset @ X0)).
% 2.95/1.52 thf(func_def_43, type, linorder_part: !>[X0: $tType, X1: $tType]:((X0 > X1) > X1 > list @ X0 > product_prod @ list @ X0 @ product_prod @ list @ X0 @ list @ X0)).
% 2.95/1.52 thf(func_def_44, type, set_mset: !>[X0: $tType]:(multiset @ X0 > set @ X0)).
% 2.95/1.52 thf(func_def_45, type, ord_less_eq: !>[X0: $tType]:(X0 > X0 > $o)).
% 2.95/1.52 thf(func_def_46, type, product_Pair: !>[X0: $tType, X1: $tType]:(X0 > X1 > product_prod @ X0 @ X1)).
% 2.95/1.52 thf(func_def_47, type, produc2004651681e_prod: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > X2) > product_prod @ X0 @ X1 > X2)).
% 2.95/1.52 thf(func_def_48, type, product_rec_prod: !>[X0: $tType, X1: $tType, X2: $tType]:((X0 > X1 > X2) > product_prod @ X0 @ X1 > X2)).
% 2.95/1.52 thf(func_def_49, type, irrefl: !>[X0: $tType]:(set @ product_prod @ X0 @ X0 > $o)).
% 2.95/1.52 thf(func_def_50, type, collection: !>[X0: $tType, X1: $tType]:(X0 > (X0 > $o) > (list @ X1 > X0) > (X0 > multiset @ X1) > $o)).
% 2.95/1.52 thf(func_def_51, type, set2: !>[X0: $tType, X1: $tType]:((X0 > multiset @ X1) > X0 > set @ X1)).
% 2.95/1.52 thf(func_def_52, type, removeMax: !>[X0: $tType, X1: $tType]:(X0 > (X0 > $o) > (list @ X1 > X0) > (X0 > multiset @ X1) > (X0 > product_prod @ X1 @ X0) > (X0 > $o) > $o)).
% 2.95/1.52 thf(func_def_53, type, ssort: !>[X0: $tType, X1: $tType]:((X0 > $o) > (X0 > product_prod @ X1 @ X0) > X0 > list @ X1 > list @ X1)).
% 2.95/1.52 thf(func_def_54, type, ssort_dom: !>[X0: $tType, X1: $tType]:((X0 > $o) > (X0 > product_prod @ X1 @ X0) > product_prod @ X0 @ list @ X1 > $o)).
% 2.95/1.52 thf(func_def_55, type, removeMax_axioms: !>[X0: $tType, X1: $tType]:((X0 > $o) > (list @ X1 > X0) > (X0 > multiset @ X1) > (X0 > product_prod @ X1 @ X0) > (X0 > $o) > $o)).
% 2.95/1.52 thf(func_def_56, type, collect: !>[X0: $tType]:((X0 > $o) > set @ X0)).
% 2.95/1.52 thf(func_def_57, type, member: !>[X0: $tType]:(X0 > set @ X0 > $o)).
% 2.95/1.52 thf(func_def_74, type, sP0: !>[X0: $tType]:((tree @ X0 > $o) > $o)).
% 2.95/1.52 thf(func_def_75, type, sP1: !>[X0: $tType]:((tree @ X0 > $o) > $o)).
% 2.95/1.52 thf(func_def_76, type, sP2: !>[X0: $tType]:((tree @ X0 > $o) > $o)).
% 2.95/1.52 thf(func_def_77, type, sK3: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.95/1.52 thf(func_def_78, type, sK4: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.95/1.52 thf(func_def_79, type, sK5: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.95/1.52 thf(func_def_80, type, sK6: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_81, type, sK7: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_82, type, sK8: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_83, type, sK9: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_84, type, sK10: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_85, type, sK11: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_86, type, sK12: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_87, type, sK13: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_88, type, sK14: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_89, type, sK15: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_90, type, sK16: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_91, type, sK17: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_92, type, sK18: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_93, type, sK19: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_94, type, sK20: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_95, type, sK21: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_96, type, sK22: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_97, type, sK23: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_98, type, sK24: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_99, type, sK25: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_100, type, sK26: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_101, type, sK27: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_102, type, sK28: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_103, type, sK29: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_104, type, sK30: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_105, type, sK31: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_106, type, sK32: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_107, type, sK33: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_108, type, sK34: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_109, type, sK35: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_110, type, sK36: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_111, type, sK37: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_112, type, sK38: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_113, type, sK39: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_114, type, sK40: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_115, type, sK41: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_116, type, sK42: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_117, type, sK43: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_118, type, sK44: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_119, type, sK45: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_120, type, sK46: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_121, type, sK47: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_122, type, sK48: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_123, type, sK49: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_124, type, sK50: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_125, type, sK51: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_126, type, sK52: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_127, type, sK53: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_128, type, sK54: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_129, type, sK55: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_130, type, sK56: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_131, type, sK57: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_132, type, sK58: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_133, type, sK59: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_134, type, sK60: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_135, type, sK61: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.95/1.52 thf(func_def_136, type, sK62: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.95/1.52 thf(func_def_137, type, sK63: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.95/1.52 thf(func_def_138, type, sK64: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.95/1.52 thf(func_def_139, type, sK65: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.95/1.52 thf(func_def_140, type, sK66: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.95/1.52 thf(func_def_141, type, sK67: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.95/1.52 thf(func_def_142, type, sK68: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.95/1.52 thf(func_def_143, type, sK69: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.95/1.52 thf(func_def_144, type, sK70: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.95/1.52 thf(func_def_145, type, sK71: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.95/1.52 thf(func_def_146, type, sK72: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.95/1.52 thf(func_def_147, type, sK73: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.95/1.52 thf(func_def_148, type, sK74: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.95/1.52 thf(func_def_149, type, sK75: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.95/1.52 thf(func_def_150, type, sK76: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.95/1.52 thf(func_def_151, type, sK77: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.95/1.52 thf(func_def_152, type, sK78: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.95/1.52 thf(func_def_153, type, sK79: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.95/1.52 thf(func_def_154, type, sK80: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.95/1.52 thf(func_def_155, type, sK81: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.95/1.52 thf(func_def_156, type, sK82: !>[X0: $tType]:((tree @ X0 > $o) > tree @ X0)).
% 2.95/1.52 thf(func_def_157, type, sK83: !>[X0: $tType]:((tree @ X0 > $o) > X0)).
% 2.95/1.52 thf(func_def_158, type, sK84: !>[X0: $tType]:(tree @ X0 > X0)).
% 2.95/1.52 thf(func_def_159, type, sK85: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_160, type, sK86: !>[X0: $tType]:(tree @ X0 > tree @ X0)).
% 2.95/1.52 thf(func_def_161, type, sK87: !>[X0: $tType, X1: $tType]:((X1 > X0) > (X1 > X0) > X1)).
% 2.95/1.52 thf(func_def_163, type, ph89: !>[X0: $tType]:(X0)).
% 2.95/1.52 thf(f814,plain,(
% 2.95/1.52 $false),
% 2.95/1.52 inference(trivial_inequality_removal,[status(thm)],[f813])).
% 2.95/1.52 thf(f813,plain,(
% 2.95/1.52 ($true != $true)),
% 2.95/1.52 inference(boolean_simplification,[status(thm)],[f812])).
% 2.95/1.52 thf(f812,plain,(
% 2.95/1.52 ((e @ b = e @ b) != $true)),
% 2.95/1.52 inference(beta_eta_normalization,[status(thm)],[f804])).
% 2.95/1.52 thf(f804,plain,(
% 2.95/1.52 (((^[Y0 : tree @ b]: (e @ b = Y0)) @ e @ b) != $true)),
% 2.95/1.52 inference(definition_unfolding,[status(thm)],[f773,f774])).
% 2.95/1.52 thf(f774,plain,(
% 2.95/1.52 ( ! [X0 : $tType] : ((heapIm721255937_empty @ X0 = (^[Y0 : tree @ X0]: (e @ X0 = Y0)))) )),
% 2.95/1.52 inference(cnf_transformation,[status(thm)],[f353])).
% 2.95/1.52 thf(f353,plain,(
% 2.95/1.52 ! [X0 : $tType] : (heapIm721255937_empty @ X0 = (^[Y0 : tree @ X0]: (e @ X0 = Y0)))),
% 2.95/1.52 inference(fool_elimination,[status(thm)],[f352])).
% 2.95/1.52 thf(f352,plain,(
% 2.95/1.52 ! [X0 : $tType] : ((^[X1 : tree @ X0] : ((e @ X0 = X1))) = heapIm721255937_empty @ X0)),
% 2.95/1.52 inference(rectify,[status(thm)],[f1])).
% 2.95/1.52 thf(f1,axiom,(
% 2.95/1.52 ! [X0 : $tType] : ((^[X4 : tree @ X0] : ((e @ X0 = X4))) = heapIm721255937_empty @ X0)),
% 2.95/1.52 file('/export/starexec/sandbox2/tmp/tmp.RTHQPOqAtM/DTF2THF_15600.p',fact_0_hs__is__empty__def)).
% 2.95/1.52 thf(f773,plain,(
% 2.95/1.52 ((heapIm721255937_empty @ b @ e @ b) != $true)),
% 2.95/1.52 inference(cnf_transformation,[status(thm)],[f706])).
% 2.95/1.52 thf(f706,plain,(
% 2.95/1.52 ((heapIm721255937_empty @ b @ e @ b) != $true)),
% 2.95/1.52 inference(flattening,[status(thm)],[f313])).
% 2.95/1.52 thf(f313,plain,(
% 2.95/1.52 ~((heapIm721255937_empty @ b @ e @ b) = $true)),
% 2.95/1.52 inference(fool_elimination,[status(thm)],[f312])).
% 2.95/1.52 thf(f312,plain,(
% 2.95/1.52 ~(heapIm721255937_empty @ b @ e @ b)),
% 2.95/1.52 inference(rectify,[status(thm)],[f270])).
% 2.95/1.52 thf(f270,negated_conjecture,(
% 2.95/1.52 ~(heapIm721255937_empty @ b @ e @ b)),
% 2.95/1.52 inference(negated_conjecture,[status(cth)],[f269])).
% 2.95/1.52 thf(f269,conjecture,(
% 2.95/1.52 (heapIm721255937_empty @ b @ e @ b)),
% 2.95/1.52 file('/export/starexec/sandbox2/tmp/tmp.RTHQPOqAtM/DTF2THF_15600.p',conj_0)).
% 2.95/1.52 % SZS output end Proof for DTF2THF_15600
% 2.95/1.52 % (15713)------------------------------
% 2.95/1.52 % (15713)Version: Vampire 4.8 (commit 7b44b1c2f on 2025-07-15 09:50:17 +0100)
% 2.95/1.52 % (15713)Termination reason: Refutation
% 2.95/1.52
% 2.95/1.52 % (15713)Memory used [KB]: 6908
% 2.95/1.52 % (15713)Time elapsed: 0.041 s
% 2.95/1.52 % (15713)Instructions burned: 80 (million)
% 2.95/1.52 % (15713)------------------------------
% 2.95/1.52 % (15713)------------------------------
% 2.95/1.52 % (15707)Success in time 0.067 s
%------------------------------------------------------------------------------